diff -Nrcpad gcc-13.2.0/ChangeLog gcc-13.3.0/ChangeLog *** gcc-13.2.0/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,18 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-02 Jakub Jelinek + + PR bootstrap/106472 + * Makefile.tpl (make-postboot-target-dep): New lambda. + Use it to add --enable-bootstrap dependencies of target modules + on other target modules if the latter aren't bootstrapped. + * Makefile.in: Regenerate. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/LAST_UPDATED gcc-13.3.0/LAST_UPDATED *** gcc-13.2.0/LAST_UPDATED Thu Jul 27 08:17:15 2023 --- gcc-13.3.0/LAST_UPDATED Tue May 21 07:49:01 2024 *************** *** 1 **** ! Obtained from git: releases/gcc-13.2.0 revision c891d8dc23e1a46ad9f3e757d09e57b500d40044 --- 1 ---- ! Obtained from git: releases/gcc-13.3.0 revision b71f1de6e9cf7181a288c0f39f9b1ef6580cf5c8 diff -Nrcpad gcc-13.2.0/MD5SUMS gcc-13.3.0/MD5SUMS *** gcc-13.2.0/MD5SUMS Thu Jul 27 08:43:38 2023 --- gcc-13.3.0/MD5SUMS Tue May 21 08:15:57 2024 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-13.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-13.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 *************** c234515d9056662b94af0653f8562888 .dir-l *** 17,23 **** fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! f17f1d70069613f64e9f95bb0e974bd1 ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README --- 17,23 ---- fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 0371abf438ac778f26a2ccda8a29b8f0 ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README *************** fe07f4a77b2b246f67cc5eae162b510e INSTAL *** 31,45 **** cd5076051085f5cff39d8bfe54d1e160 INSTALL/prerequisites.html 2c354642f325b07772e4d3c926b98f79 INSTALL/specific.html 62069886bede1942dc164b60e4e4f62c INSTALL/test.html ! dadd56ae78af90859a5dc25de70e7872 LAST_UPDATED 81b3330d422f3ce1ef8b720dfae35068 MAINTAINERS 2b61ddbd876fa839639a7ca551773426 Makefile.def ! cd4f0a8b49cee46e90b2bc67bea3158e Makefile.in ! 04a743630d1f6ef760bcb6ee98e801d1 Makefile.tpl ! f2f7ce95f8e3cdf89c8ad5b0059bbf0c NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib ! 7b60b473400285c1914f4d39e1b8583b c++tools/ChangeLog 032c26e766fcea31a5d1a469ae7bf9e1 c++tools/Makefile.in edf805e559bf9ecb62db313d2e6edb47 c++tools/config.h.in ccd3498e6b247dfe4e65793a88a27296 c++tools/configure --- 31,45 ---- cd5076051085f5cff39d8bfe54d1e160 INSTALL/prerequisites.html 2c354642f325b07772e4d3c926b98f79 INSTALL/specific.html 62069886bede1942dc164b60e4e4f62c INSTALL/test.html ! a058236ed82b6beb0715da59ef6d535c LAST_UPDATED 81b3330d422f3ce1ef8b720dfae35068 MAINTAINERS 2b61ddbd876fa839639a7ca551773426 Makefile.def ! 5d2d6a74f897f8158d37f5f2ec6877ce Makefile.in ! ee1e4bbc0929b8c8b5030564189dac22 Makefile.tpl ! a6c5f981389252b3302e754762459891 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README a657821f65bab77f4fbf3a75cdee6da9 ar-lib ! 6f49fabaf156e307d600d7ee1cbfd53c c++tools/ChangeLog 032c26e766fcea31a5d1a469ae7bf9e1 c++tools/Makefile.in edf805e559bf9ecb62db313d2e6edb47 c++tools/config.h.in ccd3498e6b247dfe4e65793a88a27296 c++tools/configure *************** ccd3498e6b247dfe4e65793a88a27296 c++too *** 52,58 **** c64564b7c7563dae5ebe016f340c9cd9 config.guess 040359150cf11493f973a46d8a25b06b config.rpath 111d54aa3a3019adbab413c8fb435f22 config.sub ! dfa132eda55872de1294defa295b5f2e config/ChangeLog 0d9cf183f9cbbe5f59796e35831fe774 config/acinclude.m4 6afba47df446a629761ab1aa13a547cf config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 --- 52,58 ---- c64564b7c7563dae5ebe016f340c9cd9 config.guess 040359150cf11493f973a46d8a25b06b config.rpath 111d54aa3a3019adbab413c8fb435f22 config.sub ! 64a4c70a2abbcd3185c8863e6db9aff9 config/ChangeLog 0d9cf183f9cbbe5f59796e35831fe774 config/acinclude.m4 6afba47df446a629761ab1aa13a547cf config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 *************** e2dc6b4fd62b77bff96b7951ef74f78f config *** 154,160 **** 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 4dd4461c381dd94b116f27aa48dbef09 configure 645c07e5dbfc57dcb04d206512423d1e configure.ac ! 3b7b0311f6477d2fbfd039eb0e904d82 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa d6334dc7fdcc1de5203f8b6b62f993c4 contrib/analyze_brprob.py --- 154,160 ---- 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 4dd4461c381dd94b116f27aa48dbef09 configure 645c07e5dbfc57dcb04d206512423d1e configure.ac ! 7a50b70743aeaaaf5cb59c92344f351b contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa d6334dc7fdcc1de5203f8b6b62f993c4 contrib/analyze_brprob.py *************** a960a70b190f65e6a630a69fe24d4d4b contri *** 178,184 **** 3715f4e694176bc70bf5643f5ee3bd11 contrib/config-list.mk 4bb5a9c29969602068c4a6c8d5ef4829 contrib/dg-cmp-results.sh 0be220e91403e88451ddd0efc33c7db3 contrib/dg-extract-results.py ! 82f2cf50ca47d3e41a0b53c4643d9166 contrib/dg-extract-results.sh a661bd2b87df4d1cc8be30f435c52cfe contrib/dg-out-generator.pl d31803126a1e8c0cc212bf7f61d2d9ed contrib/dglib.pm 947bc2db8925f4e9ea4c5c90b832b40b contrib/download_prerequisites --- 178,184 ---- 3715f4e694176bc70bf5643f5ee3bd11 contrib/config-list.mk 4bb5a9c29969602068c4a6c8d5ef4829 contrib/dg-cmp-results.sh 0be220e91403e88451ddd0efc33c7db3 contrib/dg-extract-results.py ! b56a21f2f836ce8361ba1a762277895f contrib/dg-extract-results.sh a661bd2b87df4d1cc8be30f435c52cfe contrib/dg-out-generator.pl d31803126a1e8c0cc212bf7f61d2d9ed contrib/dglib.pm 947bc2db8925f4e9ea4c5c90b832b40b contrib/download_prerequisites *************** f03de2f6492b5449fc1a238b3104c5bc contri *** 209,215 **** e074a10ed2cf3c78e317247bf6208823 contrib/git-fix-changelog.py 5d80e88da5ae83c53513280bcff7c0a1 contrib/git-undescr.sh 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! 045f0b940a6c9882459b3a8a51dbb401 contrib/header-tools/ChangeLog 72d70766ec87033813e1378c5697fa87 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers --- 209,215 ---- e074a10ed2cf3c78e317247bf6208823 contrib/git-fix-changelog.py 5d80e88da5ae83c53513280bcff7c0a1 contrib/git-undescr.sh 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! d1048ba292fc32295f031ba65f85e703 contrib/header-tools/ChangeLog 72d70766ec87033813e1378c5697fa87 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers *************** eedb9aee4fd5829d8ebc95c23a09687a contri *** 234,240 **** cb477dd95d5e602e9b906fc057a1fe16 contrib/prepare_patch.sh bad2b96e4296c0938aab1c646e9ccf33 contrib/prerequisites.md5 4a395ab2dd4d15d66cb0183ec7e7bbd0 contrib/prerequisites.sha512 ! 808599bd0ea6449051c2d539d2f3a558 contrib/reghunt/ChangeLog 562a0a9f9e5cc4e9c95319b727a1df94 contrib/reghunt/bin/gcc-build-full f1c54c76b9d27a6ac0169fe0c8d50f9d contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup --- 234,240 ---- cb477dd95d5e602e9b906fc057a1fe16 contrib/prepare_patch.sh bad2b96e4296c0938aab1c646e9ccf33 contrib/prerequisites.md5 4a395ab2dd4d15d66cb0183ec7e7bbd0 contrib/prerequisites.sha512 ! f86485dbe357891aeb2f8601b5fd55b3 contrib/reghunt/ChangeLog 562a0a9f9e5cc4e9c95319b727a1df94 contrib/reghunt/bin/gcc-build-full f1c54c76b9d27a6ac0169fe0c8d50f9d contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup *************** f251d49dd87647250fcd74dd50b7835f contri *** 293,299 **** e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 5ab23d210571ca1032fc39a44c0f3a26 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 --- 293,299 ---- e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 88a0d987f4fee231ab0fd73a60b52a70 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 *************** e49c998085ca49d5cdd5b1dd744b2e03 contri *** 337,343 **** f896f3b2aae98b892d733dab4575cc66 contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! b7814700f87ba9500919badc1f22daa5 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 337,343 ---- f896f3b2aae98b892d733dab4575cc66 contrib/vimrc da7aeedeb5a86ee6f5982e559a2d6dcc contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! b9486c9e907a77b12aceb78eda91230b fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** baef7ba9b787bf0e8083a807ade166c2 fixinc *** 350,362 **** 77fbad4fc8ec7be3578d045d003446ec fixincludes/fixinc.in 8ca216a7024876b7eb9b8abc30a30775 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! 9781772ed7ad0a77750cdbd1f756f566 fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! 35056e035a592efbda56527fbdd2292d fixincludes/inclhack.def dd5ae70d9f725bcaf2a15212782db49a fixincludes/mkfixinc.sh 516608ac1550577d47f48809bb512629 fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c --- 350,362 ---- 77fbad4fc8ec7be3578d045d003446ec fixincludes/fixinc.in 8ca216a7024876b7eb9b8abc30a30775 fixincludes/fixincl.c adf245e3714f799eafba40af16be8eb5 fixincludes/fixincl.tpl ! 151726f191d5a0e06860812c5209e398 fixincludes/fixincl.x 545875b4fe1c26bc3e1befc75b34e9f5 fixincludes/fixlib.c 620c770139fc32c75b975b614d3156e8 fixincludes/fixlib.h 5b2c1fd3ef9d44fb6beb1a0d45ddd533 fixincludes/fixopts.c ed1415e9dbc8f421fd9288bde0d90ad1 fixincludes/fixtests.c 51e915676df084b64297d3c4fb0d9c18 fixincludes/genfixes ! 453d6cc560fc70e6a0624a4cb1a2fbe1 fixincludes/inclhack.def dd5ae70d9f725bcaf2a15212782db49a fixincludes/mkfixinc.sh 516608ac1550577d47f48809bb512629 fixincludes/mkheaders.in 3aa0563cd682ee61ecd9eb6eea0b0bce fixincludes/procopen.c *************** e1bd28539aceeab13a3028da02f8c4ae fixinc *** 407,413 **** 8ac97a3367b9a99503c5b21430993cd4 fixincludes/tests/base/mach-o/dyld.h dbbbc9ead412bbd125f56bc509994066 fixincludes/tests/base/mach-o/swap.h c48dea510c587eea0b229def965ef77a fixincludes/tests/base/malloc.h ! d312017cecca26f45fb733bb2dbdf8db fixincludes/tests/base/math.h d2cbc665e9046f8acb42c1271592be47 fixincludes/tests/base/net/if.h 98099ff70c675f84c19b58da050f3712 fixincludes/tests/base/net/if_arp.h a911f5fbb127353024e77149fcf90596 fixincludes/tests/base/netdnet/dnetdb.h --- 407,413 ---- 8ac97a3367b9a99503c5b21430993cd4 fixincludes/tests/base/mach-o/dyld.h dbbbc9ead412bbd125f56bc509994066 fixincludes/tests/base/mach-o/swap.h c48dea510c587eea0b229def965ef77a fixincludes/tests/base/malloc.h ! 8caa56e587a1d6f487453f3250c80db8 fixincludes/tests/base/math.h d2cbc665e9046f8acb42c1271592be47 fixincludes/tests/base/net/if.h 98099ff70c675f84c19b58da050f3712 fixincludes/tests/base/net/if_arp.h a911f5fbb127353024e77149fcf90596 fixincludes/tests/base/netdnet/dnetdb.h *************** a22e70b3f29292d0e628450f4bb11e62 fixinc *** 481,492 **** 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 75d75572793b62bdd8ff4d1504e0cb4c fixincludes/tests/base/yvals.h 6593c1e7d0535b989e3b12084f001039 gcc/ABOUT-GCC-NLS ! 480d4e87ea72fcedc6097627dcc01856 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! bb2fbe4a8e8083695dae434cf1d8da33 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 --- 481,492 ---- 8baab8698bb83c6b90ef4091c00ddc1e fixincludes/tests/base/unistd.h 75d75572793b62bdd8ff4d1504e0cb4c fixincludes/tests/base/yvals.h 6593c1e7d0535b989e3b12084f001039 gcc/ABOUT-GCC-NLS ! f222dc4ceb8edc3d7d75d8dbff66b016 gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 0c36b33719eb8472e3d2153bd59c3866 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 *************** fb3fadb88e1d2b3b640cfaaa5ff11780 gcc/Ch *** 521,527 **** 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! 51d03b74dc206e1578aa7dd85ceb204d gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 --- 521,527 ---- 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! 9ea270ed425327ec2070932c39dcc499 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 *************** ec6799501b2eb2923d5de6a66169dbd2 gcc/ON *** 533,539 **** f6d47a542d432aed7e7eaaecb71d3a4c gcc/acinclude.m4 6526979dd900a0b58b7691b478a91fec gcc/aclocal.m4 16a499934b71eb6cf7c0d6899cd6006a gcc/ada/.gitignore ! 016b2117aad5dd29ede8e7c30c79de77 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 --- 533,539 ---- f6d47a542d432aed7e7eaaecb71d3a4c gcc/acinclude.m4 6526979dd900a0b58b7691b478a91fec gcc/aclocal.m4 16a499934b71eb6cf7c0d6899cd6006a gcc/ada/.gitignore ! 8b1045d820fd35f0cc18059b421dba4a gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 *************** a46d69407e1aeacce9b0e18f8c1d3526 gcc/ad *** 621,627 **** 98e4b1c85455e4b4bd4123863802d057 gcc/ada/cal.c 4579d69a42e45e17fc08f2159fed02c7 gcc/ada/casing.adb a5d2684c3fa28eb916f7b7a78892adb3 gcc/ada/casing.ads ! a9eb8d5450714df8e48ff1f8e83bc7f0 gcc/ada/checks.adb 6eb178f5eb724a32f7541210a274ed19 gcc/ada/checks.ads ddd0ea57bd86f9494ea40dde8726a984 gcc/ada/cio.c d1b507d1ceaa7c53d3b70b63676a2990 gcc/ada/clean.adb --- 621,627 ---- 98e4b1c85455e4b4bd4123863802d057 gcc/ada/cal.c 4579d69a42e45e17fc08f2159fed02c7 gcc/ada/casing.adb a5d2684c3fa28eb916f7b7a78892adb3 gcc/ada/casing.ads ! fab092c8827198d39254e71eee1ac030 gcc/ada/checks.adb 6eb178f5eb724a32f7541210a274ed19 gcc/ada/checks.ads ddd0ea57bd86f9494ea40dde8726a984 gcc/ada/cio.c d1b507d1ceaa7c53d3b70b63676a2990 gcc/ada/clean.adb *************** f02792164fd40ec5e9723df166ac5b64 gcc/ad *** 629,635 **** 5f216c96df15ab091d34fff669ec7298 gcc/ada/comperr.adb 9862c4ed9277242e3ff527ec30252dec gcc/ada/comperr.ads fbd23958a6d5c4207e39317e708436ac gcc/ada/config-lang.in ! 30a2c7fb42c3f5f9e94c6da9b4559157 gcc/ada/contracts.adb 997d6387c88313d9c7cafbeebd86f081 gcc/ada/contracts.ads 48a3fc8b80994bbd1ada81db3d683a41 gcc/ada/csets.adb d4dd9b7af14e80bbeaca0dba2e12d567 gcc/ada/csets.ads --- 629,635 ---- 5f216c96df15ab091d34fff669ec7298 gcc/ada/comperr.adb 9862c4ed9277242e3ff527ec30252dec gcc/ada/comperr.ads fbd23958a6d5c4207e39317e708436ac gcc/ada/config-lang.in ! cb5119ea2b97d907441b9dedd2143eee gcc/ada/contracts.adb 997d6387c88313d9c7cafbeebd86f081 gcc/ada/contracts.ads 48a3fc8b80994bbd1ada81db3d683a41 gcc/ada/csets.adb d4dd9b7af14e80bbeaca0dba2e12d567 gcc/ada/csets.ads *************** c7da61a05156d50b4888cdfaae4241d0 gcc/ad *** 682,691 **** 0a025bfec2a94c0fcd11a19d18f6c0c5 gcc/ada/doc/share/gnu_free_documentation_license.rst f1c71b64e1c84e240c7b5aea7331a32a gcc/ada/doc/share/latex_elements.py 90adfcde2feb6d6c090c2b18a1578145 gcc/ada/doc/share/sphinx.sty ! 6882805f8ff6eea088da720bfe5532cd gcc/ada/einfo-utils.adb 27a01636d0a0236e57bc5a8d0f61d22d gcc/ada/einfo-utils.ads e43b0cc77364659177befd1077efa47e gcc/ada/einfo.adb ! d146e0f8a77110d4616a7f4c263e588a gcc/ada/einfo.ads 60245449c2195b151310b2ff839a5b78 gcc/ada/elists.adb f8b698192cf13df98b157df82bbbd82a gcc/ada/elists.ads a2ecaafad1cbda0fb81e66fedd98690a gcc/ada/elists.h --- 682,691 ---- 0a025bfec2a94c0fcd11a19d18f6c0c5 gcc/ada/doc/share/gnu_free_documentation_license.rst f1c71b64e1c84e240c7b5aea7331a32a gcc/ada/doc/share/latex_elements.py 90adfcde2feb6d6c090c2b18a1578145 gcc/ada/doc/share/sphinx.sty ! 1f6f20c442116743184bdd19accdf0a6 gcc/ada/einfo-utils.adb 27a01636d0a0236e57bc5a8d0f61d22d gcc/ada/einfo-utils.ads e43b0cc77364659177befd1077efa47e gcc/ada/einfo.adb ! 600fae23deec843cd95dbc8f9f645ed7 gcc/ada/einfo.ads 60245449c2195b151310b2ff839a5b78 gcc/ada/elists.adb f8b698192cf13df98b157df82bbbd82a gcc/ada/elists.ads a2ecaafad1cbda0fb81e66fedd98690a gcc/ada/elists.h *************** e61587d5186b53b81a9ed49dc6190797 gcc/ad *** 702,708 **** d37cc0a25d34e042d5dea64c9e740a45 gcc/ada/eval_fat.adb f1d86c3f88f5650d8de59f52e9e8083c gcc/ada/eval_fat.ads 3da935b78c544f50a354b87d5e568d41 gcc/ada/exit.c ! 2b8ff94c7516696f0765024145e8c1cf gcc/ada/exp_aggr.adb 3b09213e625a7d78641da4c3f7b1af7e gcc/ada/exp_aggr.ads f692b29add58ef2b71899d01acbc201a gcc/ada/exp_atag.adb 93759d533df63d41d11ae6ad2277af4f gcc/ada/exp_atag.ads --- 702,708 ---- d37cc0a25d34e042d5dea64c9e740a45 gcc/ada/eval_fat.adb f1d86c3f88f5650d8de59f52e9e8083c gcc/ada/eval_fat.ads 3da935b78c544f50a354b87d5e568d41 gcc/ada/exit.c ! f798a78194a2edc741282f62e0e32ea2 gcc/ada/exp_aggr.adb 3b09213e625a7d78641da4c3f7b1af7e gcc/ada/exp_aggr.ads f692b29add58ef2b71899d01acbc201a gcc/ada/exp_atag.adb 93759d533df63d41d11ae6ad2277af4f gcc/ada/exp_atag.ads *************** a9c24cbcffac5d49ea9292aebe5db0c4 gcc/ad *** 719,733 **** da828d4dca65dbb421d61d7faa8d0487 gcc/ada/exp_ch13.ads 1014458fddfddaa600134bdd0b7ee2df gcc/ada/exp_ch2.adb 874379155c2b31c67f54611f40fb4cde gcc/ada/exp_ch2.ads ! 5722ba5eaf680e4a79fb636471c7d22e gcc/ada/exp_ch3.adb d218e87874041895cd5628dbbd8a6666 gcc/ada/exp_ch3.ads ! fb1910b10dc695905e125fbf101f0868 gcc/ada/exp_ch4.adb 6dcf102318099fe9b7d14dd8165a8dd8 gcc/ada/exp_ch4.ads ! fc00621fc781d27e5379343a49641de9 gcc/ada/exp_ch5.adb 523a3e2d742ada054c744993ab53e80e gcc/ada/exp_ch5.ads ! 6f3b9c4fc88f5488bc26d8b482bd87c0 gcc/ada/exp_ch6.adb ! 2aac87fd887c3cfd52393aea7d8e10b7 gcc/ada/exp_ch6.ads ! d86b35388e3337c32b4f8971783bf9aa gcc/ada/exp_ch7.adb 58bed2052a219c0f136e6acab4a327c4 gcc/ada/exp_ch7.ads 4506e0557f75c933e6a8e3ff5714d1f2 gcc/ada/exp_ch8.adb 275bc4f2211aa14d22a900c06a8b4c05 gcc/ada/exp_ch8.ads --- 719,733 ---- da828d4dca65dbb421d61d7faa8d0487 gcc/ada/exp_ch13.ads 1014458fddfddaa600134bdd0b7ee2df gcc/ada/exp_ch2.adb 874379155c2b31c67f54611f40fb4cde gcc/ada/exp_ch2.ads ! f4b7384e5b9b2eaf0e9886f02b7dc4ff gcc/ada/exp_ch3.adb d218e87874041895cd5628dbbd8a6666 gcc/ada/exp_ch3.ads ! 6b921215061814b31ec2952a1a292ff3 gcc/ada/exp_ch4.adb 6dcf102318099fe9b7d14dd8165a8dd8 gcc/ada/exp_ch4.ads ! f89ec33bdcb732ef1e123386cbfd333a gcc/ada/exp_ch5.adb 523a3e2d742ada054c744993ab53e80e gcc/ada/exp_ch5.ads ! fe0fc0b410ddedad01d2e627409ffe82 gcc/ada/exp_ch6.adb ! c767e835c255a548d5f6bd72b17b0dfd gcc/ada/exp_ch6.ads ! 36b5be43f1d1948e9fab0d9c885f2346 gcc/ada/exp_ch7.adb 58bed2052a219c0f136e6acab4a327c4 gcc/ada/exp_ch7.ads 4506e0557f75c933e6a8e3ff5714d1f2 gcc/ada/exp_ch8.adb 275bc4f2211aa14d22a900c06a8b4c05 gcc/ada/exp_ch8.ads *************** fc3f0f1ac573321d7aeaef22b7acb6fb gcc/ad *** 743,751 **** 8fe237a78a35f962f3ee7e105322db64 gcc/ada/exp_dist.ads 60de9154059012d01f876ea302b212e6 gcc/ada/exp_fixd.adb 01f16454a82ef6b2e3853cc096178590 gcc/ada/exp_fixd.ads ! 096e6522f29de35623f2ae8e57c5dcd5 gcc/ada/exp_imgv.adb 897b83459bea3ffce4ed07b3eb134d23 gcc/ada/exp_imgv.ads ! 210c2a0d7e6d1974e681bb7826fcfd92 gcc/ada/exp_intr.adb d1aeeae1258e8e67e9a54adda5962d98 gcc/ada/exp_intr.ads 74626c75ad857f007048ec299fb5e90e gcc/ada/exp_pakd.adb 9a293dcaad9cdae7da20aa663daa0367 gcc/ada/exp_pakd.ads --- 743,751 ---- 8fe237a78a35f962f3ee7e105322db64 gcc/ada/exp_dist.ads 60de9154059012d01f876ea302b212e6 gcc/ada/exp_fixd.adb 01f16454a82ef6b2e3853cc096178590 gcc/ada/exp_fixd.ads ! 85c6d83344535c7a95c611d3f512dbd2 gcc/ada/exp_imgv.adb 897b83459bea3ffce4ed07b3eb134d23 gcc/ada/exp_imgv.ads ! c9cb15d31c16c47098a21fad36ff6309 gcc/ada/exp_intr.adb d1aeeae1258e8e67e9a54adda5962d98 gcc/ada/exp_intr.ads 74626c75ad857f007048ec299fb5e90e gcc/ada/exp_pakd.adb 9a293dcaad9cdae7da20aa663daa0367 gcc/ada/exp_pakd.ads *************** d7b2305cd7daf72574c3e439e9dad5fe gcc/ad *** 765,771 **** 8401d274c26d8ccae635f94df6d80993 gcc/ada/exp_tss.ads f389f2094366b0be1f6243f845940f2b gcc/ada/exp_unst.adb 561664a119ff189f9ac4fa58333fd49d gcc/ada/exp_unst.ads ! 07b7ccfdc010cafcb41ac395dded8392 gcc/ada/exp_util.adb 93549b6bb4f5744b025b146d62187fbe gcc/ada/exp_util.ads 442c80ee20fb5fb9447b3324a7f012d6 gcc/ada/expander.adb 2195225a2f41ae7e918665cc084dbd57 gcc/ada/expander.ads --- 765,771 ---- 8401d274c26d8ccae635f94df6d80993 gcc/ada/exp_tss.ads f389f2094366b0be1f6243f845940f2b gcc/ada/exp_unst.adb 561664a119ff189f9ac4fa58333fd49d gcc/ada/exp_unst.ads ! d84775eec0efbf97bdd55429075f26fe gcc/ada/exp_util.adb 93549b6bb4f5744b025b146d62187fbe gcc/ada/exp_util.ads 442c80ee20fb5fb9447b3324a7f012d6 gcc/ada/expander.adb 2195225a2f41ae7e918665cc084dbd57 gcc/ada/expander.ads *************** da7fc66a925f2cd645d97fa25d48bbe0 gcc/ad *** 780,788 **** 734fea8e20ae1b161f7fb43e06b47664 gcc/ada/fname-uf.ads e39cd04b46b8013d415fad0cbac7f914 gcc/ada/fname.adb 0a66f21e4b0ec91ceb708bcc73195f4c gcc/ada/fname.ads ! e58404b22e02464c1232931e8909f15d gcc/ada/freeze.adb eaa99f30cedb70d373958e90d5383eee gcc/ada/freeze.ads ! 131adcd6d1d265f6fe77b9979ccf7b02 gcc/ada/frontend.adb 2c5de1f52e506a4e1cbddd13168a45e8 gcc/ada/frontend.ads cd59136dcb2d38239991de3af7451df1 gcc/ada/gcc-interface/Make-lang.in 85cb08f87b7710fa60a7a1526e6fd8e1 gcc/ada/gcc-interface/Makefile.in --- 780,788 ---- 734fea8e20ae1b161f7fb43e06b47664 gcc/ada/fname-uf.ads e39cd04b46b8013d415fad0cbac7f914 gcc/ada/fname.adb 0a66f21e4b0ec91ceb708bcc73195f4c gcc/ada/fname.ads ! 1cc5093918e4dd7f7b24f22721206504 gcc/ada/freeze.adb eaa99f30cedb70d373958e90d5383eee gcc/ada/freeze.ads ! dd28a06f650b75c32c4892d13097e54e gcc/ada/frontend.adb 2c5de1f52e506a4e1cbddd13168a45e8 gcc/ada/frontend.ads cd59136dcb2d38239991de3af7451df1 gcc/ada/gcc-interface/Make-lang.in 85cb08f87b7710fa60a7a1526e6fd8e1 gcc/ada/gcc-interface/Makefile.in *************** d69e0fff19957a7b29ee08926fc6f3cf gcc/ad *** 793,799 **** 29e1f3d1ec783849cfedc4ba5b3f86d2 gcc/ada/gcc-interface/ada.h 67dc9599090345bd6fc9fed0361f76ee gcc/ada/gcc-interface/config-lang.in df2ffb467ff9812983d01da40295ec68 gcc/ada/gcc-interface/cuintp.cc ! cf4b7f77a70b65905634251350346d65 gcc/ada/gcc-interface/decl.cc 2e46e3864371bc11eae92e2f030fe9c3 gcc/ada/gcc-interface/gadaint.h 1e23461a8b089b3f96b0eec67b96b60d gcc/ada/gcc-interface/gigi.h 9f177b1d16ab7e6e558ee0eccca943ff gcc/ada/gcc-interface/lang-specs.h --- 793,799 ---- 29e1f3d1ec783849cfedc4ba5b3f86d2 gcc/ada/gcc-interface/ada.h 67dc9599090345bd6fc9fed0361f76ee gcc/ada/gcc-interface/config-lang.in df2ffb467ff9812983d01da40295ec68 gcc/ada/gcc-interface/cuintp.cc ! aea8c529158489b34477d251cba7f642 gcc/ada/gcc-interface/decl.cc 2e46e3864371bc11eae92e2f030fe9c3 gcc/ada/gcc-interface/gadaint.h 1e23461a8b089b3f96b0eec67b96b60d gcc/ada/gcc-interface/gigi.h 9f177b1d16ab7e6e558ee0eccca943ff gcc/ada/gcc-interface/lang-specs.h *************** cf4b7f77a70b65905634251350346d65 gcc/ad *** 801,809 **** 74cf3b6eca660d86a3d825ddc373b3be gcc/ada/gcc-interface/misc.cc 98e36f508f7c769bcd5983c57836e8c7 gcc/ada/gcc-interface/system.ads bfb9a4dce47d966bd926113ec79bd306 gcc/ada/gcc-interface/targtyps.cc ! c44a32286837f883d44111d22ff54326 gcc/ada/gcc-interface/trans.cc ! 6f0095bfbdb857126b89772872fc3ed1 gcc/ada/gcc-interface/utils.cc ! a7f76d974397a6883e148b5faba3827f gcc/ada/gcc-interface/utils2.cc 40e0d992ce6e9be735b40d94c1c1255c gcc/ada/gen_il-fields.ads 6066d153ad6d2f0c2a89e9c170be125c gcc/ada/gen_il-gen-gen_entities.adb 460ae9eaf4c292b48b4616f4dc61e583 gcc/ada/gen_il-gen-gen_nodes.adb --- 801,809 ---- 74cf3b6eca660d86a3d825ddc373b3be gcc/ada/gcc-interface/misc.cc 98e36f508f7c769bcd5983c57836e8c7 gcc/ada/gcc-interface/system.ads bfb9a4dce47d966bd926113ec79bd306 gcc/ada/gcc-interface/targtyps.cc ! 418332cd1100190fe7c1414fca7d36f8 gcc/ada/gcc-interface/trans.cc ! b1dd1628f0263961b7f7d8549d9007b0 gcc/ada/gcc-interface/utils.cc ! efc46a6dc53bb22e1fb621805da96b7f gcc/ada/gcc-interface/utils2.cc 40e0d992ce6e9be735b40d94c1c1255c gcc/ada/gen_il-fields.ads 6066d153ad6d2f0c2a89e9c170be125c gcc/ada/gen_il-gen-gen_entities.adb 460ae9eaf4c292b48b4616f4dc61e583 gcc/ada/gen_il-gen-gen_nodes.adb *************** c9e455822e013448265934f271d26078 gcc/ad *** 863,869 **** 08b6b407fb70ab584d31f060bcfcb85f gcc/ada/indepsw.ads 871c1163606e1886faedec2dedb26ed0 gcc/ada/init.c b8aafb984d33f1d16777ad198afc4b2a gcc/ada/initialize.c ! 870e18c5ce81937d0ddfb05a90fd3ea1 gcc/ada/inline.adb 896a70c60870f1ee662c64fbc5177dcb gcc/ada/inline.ads fc83cdce66c6e2b19b7fee4cf3418e1a gcc/ada/itypes.adb 662aacf4d2de51a18202564379031306 gcc/ada/itypes.ads --- 863,869 ---- 08b6b407fb70ab584d31f060bcfcb85f gcc/ada/indepsw.ads 871c1163606e1886faedec2dedb26ed0 gcc/ada/init.c b8aafb984d33f1d16777ad198afc4b2a gcc/ada/initialize.c ! ed795fa11334e96882b74fd6d1989563 gcc/ada/inline.adb 896a70c60870f1ee662c64fbc5177dcb gcc/ada/inline.ads fc83cdce66c6e2b19b7fee4cf3418e1a gcc/ada/itypes.adb 662aacf4d2de51a18202564379031306 gcc/ada/itypes.ads *************** beeb499d161ef67535137d1d7594e749 gcc/ad *** 2792,2799 **** a9989140d84d82025fa6b5ca95e71a39 gcc/ada/raise.h c04d922b208c3adc140a041145705e55 gcc/ada/repinfo-input.adb b334baaa9a9b96149cbfbb6ce64d1dab gcc/ada/repinfo-input.ads ! 638b0a443c331051c244ad30d42dcb11 gcc/ada/repinfo.adb ! 6989cef8c8854d238ab353fd26ff522f gcc/ada/repinfo.ads e6ce5adad5c56ba067dfe6755141a1c0 gcc/ada/repinfo.h cac48cc4a4d9530bc462b3cd0e212eea gcc/ada/restrict.adb b27c6e8308446f073d73b502cf17e712 gcc/ada/restrict.ads --- 2792,2799 ---- a9989140d84d82025fa6b5ca95e71a39 gcc/ada/raise.h c04d922b208c3adc140a041145705e55 gcc/ada/repinfo-input.adb b334baaa9a9b96149cbfbb6ce64d1dab gcc/ada/repinfo-input.ads ! 5609217cbc37d60a051ca0f41248a7d4 gcc/ada/repinfo.adb ! f7c57f509b1dd7a540874c0b03e00358 gcc/ada/repinfo.ads e6ce5adad5c56ba067dfe6755141a1c0 gcc/ada/repinfo.h cac48cc4a4d9530bc462b3cd0e212eea gcc/ada/restrict.adb b27c6e8308446f073d73b502cf17e712 gcc/ada/restrict.ads *************** dd3c4c7e7bba2fd96ad87555473b1be8 gcc/ad *** 2819,2827 **** c37b5cae64bc71d5b30139e04c31796d gcc/ada/seh_init.c b60f965eb0068f4ef9f60362378b0c9e gcc/ada/sem.adb e70e0fe1deaf9153a4884095d153dd82 gcc/ada/sem.ads ! 0485c822ca845d653ff1c5ed3e84dc6c gcc/ada/sem_aggr.adb bc71ad0491fa61390ba4b31d799b2dae gcc/ada/sem_aggr.ads ! 3f982826a1738412c31f07d70afc68e8 gcc/ada/sem_attr.adb 3d50876170b765a588430f4d1cd04558 gcc/ada/sem_attr.ads 8e42c26d133289bc49008e92fd966b83 gcc/ada/sem_aux.adb 088bd6652821c1edc3b504cc95da3f42 gcc/ada/sem_aux.ads --- 2819,2827 ---- c37b5cae64bc71d5b30139e04c31796d gcc/ada/seh_init.c b60f965eb0068f4ef9f60362378b0c9e gcc/ada/sem.adb e70e0fe1deaf9153a4884095d153dd82 gcc/ada/sem.ads ! 9044b2c904fea0ca89b122ec391975c0 gcc/ada/sem_aggr.adb bc71ad0491fa61390ba4b31d799b2dae gcc/ada/sem_aggr.ads ! aeb43cb4faf5bcec6ef0e0525387f2f0 gcc/ada/sem_attr.adb 3d50876170b765a588430f4d1cd04558 gcc/ada/sem_attr.ads 8e42c26d133289bc49008e92fd966b83 gcc/ada/sem_aux.adb 088bd6652821c1edc3b504cc95da3f42 gcc/ada/sem_aux.ads *************** bc71ad0491fa61390ba4b31d799b2dae gcc/ad *** 2829,2853 **** cb017ef183c47348a71d052d39be4bb0 gcc/ada/sem_case.ads 9410ba5ff97c5701fdccfdaf1dfb7303 gcc/ada/sem_cat.adb 93825171ac85d9e03db3e47c220ff7f9 gcc/ada/sem_cat.ads ! f2c6ce6a625a22419e78b1594dc98c96 gcc/ada/sem_ch10.adb 40f63c56f82085566f13ca50914990e7 gcc/ada/sem_ch10.ads ed28c0c11a48d3eff130c0afc09b7e0f gcc/ada/sem_ch11.adb 3c73933ed4c54ac6090736275b072542 gcc/ada/sem_ch11.ads ! f0a9d27efd2c4562fa3e3aab97dd8a1d gcc/ada/sem_ch12.adb a432065f95efc62fd49d139a9da251c4 gcc/ada/sem_ch12.ads ! 3d0bfbd778ac1442d950f081d52c0bf3 gcc/ada/sem_ch13.adb aaf7cf57dc41bc250bfe241c089cae3e gcc/ada/sem_ch13.ads 927ab853493439ecf619d639e5173bb4 gcc/ada/sem_ch2.adb c4875c3fb6f6e196123c4bee7db7923b gcc/ada/sem_ch2.ads ! 9beb687d00e0f51ad3cf3b3561e61705 gcc/ada/sem_ch3.adb 1fca2e6b2bc36a4d6328c9d96af6cfb3 gcc/ada/sem_ch3.ads ! 79c86ae3b42c5430c31624257e53f05b gcc/ada/sem_ch4.adb ! d0d55b5c7178730b4379dbea4d669abe gcc/ada/sem_ch4.ads c3ad3d10f8b77c300a53661e624021eb gcc/ada/sem_ch5.adb ab69996d3822ad660d28709ab3cf046b gcc/ada/sem_ch5.ads ! 5df18a551da23bdac33c37ed5556b339 gcc/ada/sem_ch6.adb 1880e12d15e4f7a2655d25e1a39eb8c4 gcc/ada/sem_ch6.ads ! e80c2fc0177cad40b56d91fb367bcc52 gcc/ada/sem_ch7.adb ba37c865ac4be0ab3408a156f217b148 gcc/ada/sem_ch7.ads 46d3153cf9f6d1c551a40268bce2b762 gcc/ada/sem_ch8.adb ecd7edf93ca918e3d9736ef3ca4b6529 gcc/ada/sem_ch8.ads --- 2829,2853 ---- cb017ef183c47348a71d052d39be4bb0 gcc/ada/sem_case.ads 9410ba5ff97c5701fdccfdaf1dfb7303 gcc/ada/sem_cat.adb 93825171ac85d9e03db3e47c220ff7f9 gcc/ada/sem_cat.ads ! 13267e1e7c1fbee3c9bd7b8068d00f65 gcc/ada/sem_ch10.adb 40f63c56f82085566f13ca50914990e7 gcc/ada/sem_ch10.ads ed28c0c11a48d3eff130c0afc09b7e0f gcc/ada/sem_ch11.adb 3c73933ed4c54ac6090736275b072542 gcc/ada/sem_ch11.ads ! 02f582d22094eb01c184610f937555e5 gcc/ada/sem_ch12.adb a432065f95efc62fd49d139a9da251c4 gcc/ada/sem_ch12.ads ! 8a298449ee2ee90b45102f7d4eeefb97 gcc/ada/sem_ch13.adb aaf7cf57dc41bc250bfe241c089cae3e gcc/ada/sem_ch13.ads 927ab853493439ecf619d639e5173bb4 gcc/ada/sem_ch2.adb c4875c3fb6f6e196123c4bee7db7923b gcc/ada/sem_ch2.ads ! 93486293773330451c2caae76faaecb3 gcc/ada/sem_ch3.adb 1fca2e6b2bc36a4d6328c9d96af6cfb3 gcc/ada/sem_ch3.ads ! deb6974405ea54141f8107717ebc15b7 gcc/ada/sem_ch4.adb ! 6d1d0171249740f7108b433e1ac5ced3 gcc/ada/sem_ch4.ads c3ad3d10f8b77c300a53661e624021eb gcc/ada/sem_ch5.adb ab69996d3822ad660d28709ab3cf046b gcc/ada/sem_ch5.ads ! 264aacea30c2125472817bda55a6e826 gcc/ada/sem_ch6.adb 1880e12d15e4f7a2655d25e1a39eb8c4 gcc/ada/sem_ch6.ads ! 32f55ca6807c88d61d8274403291747a gcc/ada/sem_ch7.adb ba37c865ac4be0ab3408a156f217b148 gcc/ada/sem_ch7.ads 46d3153cf9f6d1c551a40268bce2b762 gcc/ada/sem_ch8.adb ecd7edf93ca918e3d9736ef3ca4b6529 gcc/ada/sem_ch8.ads *************** ce27239f99361e61d12bb5bdfff0a208 gcc/ad *** 2869,2886 **** dcf2c3ccb5cc555e421ba9893cb3a2c8 gcc/ada/sem_intr.ads cd1485ab473af7619af9b0cdb75ff5f4 gcc/ada/sem_mech.adb 2628f4db0a13a198a497a1438f61ffa9 gcc/ada/sem_mech.ads ! bae94e12c9fdbf4a46f0a050968a1a68 gcc/ada/sem_prag.adb 2fc94fa1637a92b8548fdb0b65fd7bd4 gcc/ada/sem_prag.ads ! c2413e20316a24bc46560204ad3e7df6 gcc/ada/sem_res.adb 8ed4f4454daa145c7fddf86782258422 gcc/ada/sem_res.ads e4b6d1e16b208ca35791c42ee9c3d067 gcc/ada/sem_scil.adb 55301aee52465a299b07b1bb889a8304 gcc/ada/sem_scil.ads f8d57c959d78db9bc3e28697e1ec08ca gcc/ada/sem_smem.adb a8b48863de3b07302a6dded1699bca0f gcc/ada/sem_smem.ads ! e79e4c1e0518e3b9693043d0785d1d17 gcc/ada/sem_type.adb c071d50bf00e96003f25bc610c901949 gcc/ada/sem_type.ads ! b6c39c866362434064a8a73d15d101ed gcc/ada/sem_util.adb ! e0470a8dd81fc3a95a3cd7bf8c3d5a58 gcc/ada/sem_util.ads 3c74440d6680a37e1605e0696651e98b gcc/ada/sem_warn.adb 3ea742e0239d48146217b2888477f742 gcc/ada/sem_warn.ads 515bb2980bf2da708a3a883fa201b105 gcc/ada/set_targ.adb --- 2869,2886 ---- dcf2c3ccb5cc555e421ba9893cb3a2c8 gcc/ada/sem_intr.ads cd1485ab473af7619af9b0cdb75ff5f4 gcc/ada/sem_mech.adb 2628f4db0a13a198a497a1438f61ffa9 gcc/ada/sem_mech.ads ! 0059c1f573176b8af855bd92c9043dbd gcc/ada/sem_prag.adb 2fc94fa1637a92b8548fdb0b65fd7bd4 gcc/ada/sem_prag.ads ! d46d0d1e48ef2fddfed0797985507448 gcc/ada/sem_res.adb 8ed4f4454daa145c7fddf86782258422 gcc/ada/sem_res.ads e4b6d1e16b208ca35791c42ee9c3d067 gcc/ada/sem_scil.adb 55301aee52465a299b07b1bb889a8304 gcc/ada/sem_scil.ads f8d57c959d78db9bc3e28697e1ec08ca gcc/ada/sem_smem.adb a8b48863de3b07302a6dded1699bca0f gcc/ada/sem_smem.ads ! 8ededc1bed121a2e752978773602da9a gcc/ada/sem_type.adb c071d50bf00e96003f25bc610c901949 gcc/ada/sem_type.ads ! 9beab99260d6c3e1688f86daf46762ae gcc/ada/sem_util.adb ! 3f302144d200644a75957c721a2bc55d gcc/ada/sem_util.ads 3c74440d6680a37e1605e0696651e98b gcc/ada/sem_warn.adb 3ea742e0239d48146217b2888477f742 gcc/ada/sem_warn.ads 515bb2980bf2da708a3a883fa201b105 gcc/ada/set_targ.adb *************** e1f9606817a872c9b1770a2950665e17 gcc/al *** 2995,3001 **** e2c04eccc631052e7aa15c27e287e593 gcc/align.h 889f9ffc24064f8ad2fbaf928d50d3e6 gcc/alloc-pool.cc aad6b6421ba955142beb58263efb7ca8 gcc/alloc-pool.h ! 862349cf69e7a85934ac81369c356236 gcc/analyzer/ChangeLog 71cd762fdeee724b494e94ea479c15fa gcc/analyzer/analysis-plan.cc 2400916c9f340c6914b8432d05919cec gcc/analyzer/analysis-plan.h 6084312218152cf76e77ec8df68925c8 gcc/analyzer/analyzer-language.cc --- 2995,3001 ---- e2c04eccc631052e7aa15c27e287e593 gcc/align.h 889f9ffc24064f8ad2fbaf928d50d3e6 gcc/alloc-pool.cc aad6b6421ba955142beb58263efb7ca8 gcc/alloc-pool.h ! 074dec4cd2f14b7a809a1bc58df61c3c gcc/analyzer/ChangeLog 71cd762fdeee724b494e94ea479c15fa gcc/analyzer/analysis-plan.cc 2400916c9f340c6914b8432d05919cec gcc/analyzer/analysis-plan.h 6084312218152cf76e77ec8df68925c8 gcc/analyzer/analyzer-language.cc *************** cded5757047ead6e74730e54e18f7acf gcc/an *** 3017,3035 **** a0e15438ec04b2556ebb112e01e89952 gcc/analyzer/call-info.h 2239ec787fad77a5b6dea3ca6a0620f7 gcc/analyzer/call-string.cc 46d32244c2de1cd5d9bdddd851210e53 gcc/analyzer/call-string.h ! c51d4fb626f56786fce68579af18ec47 gcc/analyzer/call-summary.cc 819c37f4afeb81a9a97415a089000223 gcc/analyzer/call-summary.h ! 8a41323aa257065885bf96dfaf8cb986 gcc/analyzer/checker-event.cc 095f746318c2c0b54322b39483925ef0 gcc/analyzer/checker-event.h d2e0b822c9f7c5bcd0cf55ce1bb05e5c gcc/analyzer/checker-path.cc 9e4c31b74f0c53c83ec54d8b5e5e7fdf gcc/analyzer/checker-path.h 6d1f392b0a7b3ad5fb775709ffd9d9b2 gcc/analyzer/complexity.cc 3c69f624c442f52947d127f78c5f0785 gcc/analyzer/complexity.h ! 89e949f41aa8f2a681b38499fa613a21 gcc/analyzer/constraint-manager.cc ! 409d6fa751305734672adc0510a6dd78 gcc/analyzer/constraint-manager.h 356e8f28d83330404dd8a5b5b891469d gcc/analyzer/diagnostic-manager.cc f77bcbdfbc52ea12a50fef39dd640bc5 gcc/analyzer/diagnostic-manager.h ! 5056bb759da397c6e45974f84d555b21 gcc/analyzer/engine.cc 5fad989c6cf29a58131d954d5e869f6d gcc/analyzer/engine.h b046d01a504b00ed0c8f0209ba0892c2 gcc/analyzer/exploded-graph.h e84037dd3458b141b35f6f718aeb1ca1 gcc/analyzer/feasible-graph.cc --- 3017,3035 ---- a0e15438ec04b2556ebb112e01e89952 gcc/analyzer/call-info.h 2239ec787fad77a5b6dea3ca6a0620f7 gcc/analyzer/call-string.cc 46d32244c2de1cd5d9bdddd851210e53 gcc/analyzer/call-string.h ! 89913734af5f22af4ba9e1c4979031a3 gcc/analyzer/call-summary.cc 819c37f4afeb81a9a97415a089000223 gcc/analyzer/call-summary.h ! c711bbfb5180dda8dd10e3d32cc7d2fe gcc/analyzer/checker-event.cc 095f746318c2c0b54322b39483925ef0 gcc/analyzer/checker-event.h d2e0b822c9f7c5bcd0cf55ce1bb05e5c gcc/analyzer/checker-path.cc 9e4c31b74f0c53c83ec54d8b5e5e7fdf gcc/analyzer/checker-path.h 6d1f392b0a7b3ad5fb775709ffd9d9b2 gcc/analyzer/complexity.cc 3c69f624c442f52947d127f78c5f0785 gcc/analyzer/complexity.h ! a7eba74ad11abd0b266ae534d9ce6faa gcc/analyzer/constraint-manager.cc ! dda47caffa313b30ac756b6fab50d9b5 gcc/analyzer/constraint-manager.h 356e8f28d83330404dd8a5b5b891469d gcc/analyzer/diagnostic-manager.cc f77bcbdfbc52ea12a50fef39dd640bc5 gcc/analyzer/diagnostic-manager.h ! ae0f55c83f0b77f2cef6f01b1616614f gcc/analyzer/engine.cc 5fad989c6cf29a58131d954d5e869f6d gcc/analyzer/engine.h b046d01a504b00ed0c8f0209ba0892c2 gcc/analyzer/exploded-graph.h e84037dd3458b141b35f6f718aeb1ca1 gcc/analyzer/feasible-graph.cc *************** e84037dd3458b141b35f6f718aeb1ca1 gcc/an *** 3037,3046 **** 174e5e626a09974301c14113f7aa2eb4 gcc/analyzer/function-set.cc 8b4b965355b6e6f8078aa2f58733b1c2 gcc/analyzer/function-set.h 88201b6dddc1371f6f47d023a6bf5eeb gcc/analyzer/infinite-recursion.cc ! e1eef3cefe2c5c66ad3a72f4af11df7e gcc/analyzer/inlining-iterator.h 4da22ec289817922154891f28955bbb3 gcc/analyzer/kf-analyzer.cc ed32e24c398ffb49bd829c77b37f9577 gcc/analyzer/kf-lang-cp.cc ! cf25a862be97599133dfce78fa57ee1d gcc/analyzer/kf.cc d24d56ded560a10b2edc0e92d0faaa22 gcc/analyzer/known-function-manager.cc eba4edd647868d36322e7c38bebdde60 gcc/analyzer/known-function-manager.h 3d5c36ce6cdb84c3e3b900f5f2bc06b8 gcc/analyzer/pending-diagnostic.cc --- 3037,3046 ---- 174e5e626a09974301c14113f7aa2eb4 gcc/analyzer/function-set.cc 8b4b965355b6e6f8078aa2f58733b1c2 gcc/analyzer/function-set.h 88201b6dddc1371f6f47d023a6bf5eeb gcc/analyzer/infinite-recursion.cc ! 959a1f04500dce6f583e818a62d6b5a0 gcc/analyzer/inlining-iterator.h 4da22ec289817922154891f28955bbb3 gcc/analyzer/kf-analyzer.cc ed32e24c398ffb49bd829c77b37f9577 gcc/analyzer/kf-lang-cp.cc ! be533eac5ac15ab95562f1cf971cd132 gcc/analyzer/kf.cc d24d56ded560a10b2edc0e92d0faaa22 gcc/analyzer/known-function-manager.cc eba4edd647868d36322e7c38bebdde60 gcc/analyzer/known-function-manager.h 3d5c36ce6cdb84c3e3b900f5f2bc06b8 gcc/analyzer/pending-diagnostic.cc *************** a2282f17682c81de6bbf63bb8faae034 gcc/an *** 3051,3102 **** 212950fc0faff93dd23ba489ec66d3b1 gcc/analyzer/program-state.h 624821064dcb4a4879da1c6f63792920 gcc/analyzer/reachability.h a6d8f7d03a8c67f25d62ce7c28bb017c gcc/analyzer/region-model-asm.cc ! fba261679900e26a6fc2a9626ccb8fc4 gcc/analyzer/region-model-manager.cc cfcffee1211384fccf393a4fd2b2064f gcc/analyzer/region-model-manager.h 6b215a2b0593ce9b93d92bc26c058b55 gcc/analyzer/region-model-reachability.cc bac0ef51d6cb9e568a105621c3595fc3 gcc/analyzer/region-model-reachability.h ! e02011caba2d56a60f9ea6d0bf66b9e8 gcc/analyzer/region-model.cc 82dcc67124a82c84a906aaac246fd168 gcc/analyzer/region-model.h ! a805ae3a5f4e40a3e25c774a087bd08d gcc/analyzer/region.cc ! 080d3e83da6bdaa6d2bb7b433034f044 gcc/analyzer/region.h 4687dc517264a9c9464c3babe9978c1a gcc/analyzer/sm-fd.cc 281c241da80afbc19464d68d9ec58cb4 gcc/analyzer/sm-fd.dot 0a4df09d154ac49bece0fd155d590a45 gcc/analyzer/sm-file.cc 799b0b58cf75d61bdf36a18def9580c8 gcc/analyzer/sm-file.dot ! 5bb98f90fbeece882226e04af09ffe6f gcc/analyzer/sm-malloc.cc bf15e55ffdb8d42d8ea6f33329a44eb1 gcc/analyzer/sm-malloc.dot b621465e0fa31d19e84fc40b460b3264 gcc/analyzer/sm-pattern-test.cc 9f3d09065bd05bf19a476fc5af18c56d gcc/analyzer/sm-sensitive.cc cbab4d229b54b60402326e97cc337f31 gcc/analyzer/sm-signal.cc ! 127173b38b545e9e39145503328d0540 gcc/analyzer/sm-taint.cc 3a191d66e39aaada43bdab4a6908131e gcc/analyzer/sm.cc 1489c45be87c0a2b68d855ed3953ad55 gcc/analyzer/sm.h ! f83ba210d05f5329ca4ca2aeb3a649d7 gcc/analyzer/state-purge.cc 34c1ff5539fdfdcc25afa2c74dd492fd gcc/analyzer/state-purge.h ! ffa9ab3ff70c495547abd4f0990f26af gcc/analyzer/store.cc ! ce1502221a6b4f60b4d68e17e432e0aa gcc/analyzer/store.h ! 4d00a8a1ae1d1e516cfa48dde565b388 gcc/analyzer/supergraph.cc c2f2cde735be8754015b085d20409b06 gcc/analyzer/supergraph.h 8ce4c3c6eb2473c657a3093fa09cbc89 gcc/analyzer/svalue.cc 2b6839e6b48483b78f9f7bbc3e075147 gcc/analyzer/svalue.h 8a66bccea7048ad36db80ad3a60556d0 gcc/analyzer/trimmed-graph.cc 6cc535d62619ab8fe9d621ed17dcebbb gcc/analyzer/trimmed-graph.h ! a9cca2fc577d8b5039354046f9abf62f gcc/analyzer/varargs.cc 47edda2a9e4ad848260206e8228a4ee2 gcc/analyzer/varargs.dot 6062e521f076f3ebecb6b7c10bc9c19c gcc/array-traits.h ! 652c3cf62ea26ccbcbe15d6b09ee9fe6 gcc/asan.cc e88bf1ee507e058adecd43ef10ff557b gcc/asan.h 1116915f4adb131b5451010ff6eb3264 gcc/attr-fnspec.h ! 75403fb1a76ddaafeebf05698a693e98 gcc/attribs.cc 910cd70bc9d3cdcaf432c9d1669b1393 gcc/attribs.h e174b4caa93ad41c4f53efed203ea6a9 gcc/auto-inc-dec.cc 5e297ee0acade8ac97fabe760b5e9ff3 gcc/auto-profile.cc 53e6081015db1da68c92d954c932ac53 gcc/auto-profile.h 340edf75f9fdacfbe681185c549b56e3 gcc/backend.h 2c7acdc49c294ee259cf96681120a757 gcc/basic-block.h ! 0bf2369d106e1b2a0daf5c20b8c18c1a gcc/bb-reorder.cc 3ad42f3195454ddf0ad44aea8bdfa110 gcc/bb-reorder.h ! dcf82fc32dd2e8e29c5853bf4dc6fa1e gcc/bitmap.cc 8b6ce913c0d62cb3d8a7c660be194357 gcc/bitmap.h 294ed61d52ae893dd5c09710fe945aca gcc/btfout.cc bbdd0e6a2c558889d7b99c9e61ca5571 gcc/builtin-attrs.def --- 3051,3102 ---- 212950fc0faff93dd23ba489ec66d3b1 gcc/analyzer/program-state.h 624821064dcb4a4879da1c6f63792920 gcc/analyzer/reachability.h a6d8f7d03a8c67f25d62ce7c28bb017c gcc/analyzer/region-model-asm.cc ! b0266efa2ea70f015deb305d3a2e331c gcc/analyzer/region-model-manager.cc cfcffee1211384fccf393a4fd2b2064f gcc/analyzer/region-model-manager.h 6b215a2b0593ce9b93d92bc26c058b55 gcc/analyzer/region-model-reachability.cc bac0ef51d6cb9e568a105621c3595fc3 gcc/analyzer/region-model-reachability.h ! 2e451d2a41e77acecd74ec42d4c1463f gcc/analyzer/region-model.cc 82dcc67124a82c84a906aaac246fd168 gcc/analyzer/region-model.h ! e68fc020fec2da29df09eb9c26413182 gcc/analyzer/region.cc ! 79beb02f0ae132e1e8189c4cac7280a1 gcc/analyzer/region.h 4687dc517264a9c9464c3babe9978c1a gcc/analyzer/sm-fd.cc 281c241da80afbc19464d68d9ec58cb4 gcc/analyzer/sm-fd.dot 0a4df09d154ac49bece0fd155d590a45 gcc/analyzer/sm-file.cc 799b0b58cf75d61bdf36a18def9580c8 gcc/analyzer/sm-file.dot ! 9cf398dd534b2dfb751b4570a70ad6e4 gcc/analyzer/sm-malloc.cc bf15e55ffdb8d42d8ea6f33329a44eb1 gcc/analyzer/sm-malloc.dot b621465e0fa31d19e84fc40b460b3264 gcc/analyzer/sm-pattern-test.cc 9f3d09065bd05bf19a476fc5af18c56d gcc/analyzer/sm-sensitive.cc cbab4d229b54b60402326e97cc337f31 gcc/analyzer/sm-signal.cc ! 9af35e47de4f90db91252a5bb41437b4 gcc/analyzer/sm-taint.cc 3a191d66e39aaada43bdab4a6908131e gcc/analyzer/sm.cc 1489c45be87c0a2b68d855ed3953ad55 gcc/analyzer/sm.h ! 66cd2430c35dd89129353e387e92aa95 gcc/analyzer/state-purge.cc 34c1ff5539fdfdcc25afa2c74dd492fd gcc/analyzer/state-purge.h ! 6dc0e53b2816ffb53f826dc330c84268 gcc/analyzer/store.cc ! 83f16acbe87af28191f329806f34c235 gcc/analyzer/store.h ! d5e204d269567e7f87dbd108b3534cfe gcc/analyzer/supergraph.cc c2f2cde735be8754015b085d20409b06 gcc/analyzer/supergraph.h 8ce4c3c6eb2473c657a3093fa09cbc89 gcc/analyzer/svalue.cc 2b6839e6b48483b78f9f7bbc3e075147 gcc/analyzer/svalue.h 8a66bccea7048ad36db80ad3a60556d0 gcc/analyzer/trimmed-graph.cc 6cc535d62619ab8fe9d621ed17dcebbb gcc/analyzer/trimmed-graph.h ! eea1d859327444bcf8618ae79eac49a5 gcc/analyzer/varargs.cc 47edda2a9e4ad848260206e8228a4ee2 gcc/analyzer/varargs.dot 6062e521f076f3ebecb6b7c10bc9c19c gcc/array-traits.h ! 14e568d63c7463eaf14e6be370c8042b gcc/asan.cc e88bf1ee507e058adecd43ef10ff557b gcc/asan.h 1116915f4adb131b5451010ff6eb3264 gcc/attr-fnspec.h ! 0893fa1e464a180774d4aa5d518943b5 gcc/attribs.cc 910cd70bc9d3cdcaf432c9d1669b1393 gcc/attribs.h e174b4caa93ad41c4f53efed203ea6a9 gcc/auto-inc-dec.cc 5e297ee0acade8ac97fabe760b5e9ff3 gcc/auto-profile.cc 53e6081015db1da68c92d954c932ac53 gcc/auto-profile.h 340edf75f9fdacfbe681185c549b56e3 gcc/backend.h 2c7acdc49c294ee259cf96681120a757 gcc/basic-block.h ! 4d57eca21a8d5db55d17ff099fb6f725 gcc/bb-reorder.cc 3ad42f3195454ddf0ad44aea8bdfa110 gcc/bb-reorder.h ! 9d55c6e9f0e78e5e96c9050f88e0d78a gcc/bitmap.cc 8b6ce913c0d62cb3d8a7c660be194357 gcc/bitmap.h 294ed61d52ae893dd5c09710fe945aca gcc/btfout.cc bbdd0e6a2c558889d7b99c9e61ca5571 gcc/builtin-attrs.def *************** cd880946aff3cd75bff1d0edafa92c14 gcc/bu *** 3104,3115 **** 8339eabb575538481e84e2e65c7e9384 gcc/builtins.cc 8a86b0c51f15d3cd6813b9c29784719f gcc/builtins.def 92a923d816f64b2130d01c337f74afaa gcc/builtins.h ! 8d979c85cc99f9bed25674a07af3aa84 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes cb2dd3887aec46346c8b6f2e25cd2134 gcc/c-family/c-ada-spec.cc de8eafcdf817fbea182e701f29a59aa1 gcc/c-family/c-ada-spec.h ! 747d2e204f111e041977a8f383beada4 gcc/c-family/c-attribs.cc ! f144232c8e61d31781c975287cc87633 gcc/c-family/c-common.cc 14cc2c078b45b45e351e4ee4453dffe7 gcc/c-family/c-common.def 5dae9e83d3de07bbde587cb0204b8f57 gcc/c-family/c-common.h 71f04ad211b574b2cc40ed074b45e0dd gcc/c-family/c-cppbuiltin.cc --- 3104,3115 ---- 8339eabb575538481e84e2e65c7e9384 gcc/builtins.cc 8a86b0c51f15d3cd6813b9c29784719f gcc/builtins.def 92a923d816f64b2130d01c337f74afaa gcc/builtins.h ! 18a7d32d4e4da13ae11b4a5077805ab5 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes cb2dd3887aec46346c8b6f2e25cd2134 gcc/c-family/c-ada-spec.cc de8eafcdf817fbea182e701f29a59aa1 gcc/c-family/c-ada-spec.h ! 685fbbfc5dd238220e1a87a69c1959f8 gcc/c-family/c-attribs.cc ! 858855870c75d2029a59b182cec44350 gcc/c-family/c-common.cc 14cc2c078b45b45e351e4ee4453dffe7 gcc/c-family/c-common.def 5dae9e83d3de07bbde587cb0204b8f57 gcc/c-family/c-common.h 71f04ad211b574b2cc40ed074b45e0dd gcc/c-family/c-cppbuiltin.cc *************** b45a3a85918a7fc67dd9ed25c98bb687 gcc/c- *** 3119,3133 **** 8601b945674da639ae713c6937e5edb3 gcc/c-family/c-gimplify.cc bf34104a64fd989a22d8b5502f957b44 gcc/c-family/c-indentation.cc 3234ffc53c680057ee5d3ff2ab383d77 gcc/c-family/c-indentation.h ! 078251e9ad9919f61135834da54e90a2 gcc/c-family/c-lex.cc 93df9aa0873ff86ddfffca340dfe26c7 gcc/c-family/c-objc.h 29d42f64cf0379ecb0c46b6edba3f4db gcc/c-family/c-omp.cc 1fe613d2f471ea5e7c5cc28a55b63972 gcc/c-family/c-opts.cc ! 64a297825314ac3a33ed87583c63fc98 gcc/c-family/c-pch.cc 4e954855cc5471cec6e2f92e6029d510 gcc/c-family/c-ppoutput.cc ! e6c5f730dd701ef7973785a7c8deef42 gcc/c-family/c-pragma.cc 291e6dbd1f3ff17d1ba067d22eb8d6c2 gcc/c-family/c-pragma.h ! 3393a82ed74a9d1d9eb122a67a23a694 gcc/c-family/c-pretty-print.cc 41423bec7eaf515748c1e4cb455fd2be gcc/c-family/c-pretty-print.h 0adbeaa3e205c1aba943bdbf75128ec0 gcc/c-family/c-semantics.cc 4db228f8d2a2a8197f03b026c662ced9 gcc/c-family/c-spellcheck.cc --- 3119,3133 ---- 8601b945674da639ae713c6937e5edb3 gcc/c-family/c-gimplify.cc bf34104a64fd989a22d8b5502f957b44 gcc/c-family/c-indentation.cc 3234ffc53c680057ee5d3ff2ab383d77 gcc/c-family/c-indentation.h ! 05ec59058bc76b1bc3848ad44b75b0fb gcc/c-family/c-lex.cc 93df9aa0873ff86ddfffca340dfe26c7 gcc/c-family/c-objc.h 29d42f64cf0379ecb0c46b6edba3f4db gcc/c-family/c-omp.cc 1fe613d2f471ea5e7c5cc28a55b63972 gcc/c-family/c-opts.cc ! 080d2bfa649f3c663483a76620a85ccd gcc/c-family/c-pch.cc 4e954855cc5471cec6e2f92e6029d510 gcc/c-family/c-ppoutput.cc ! bc59ad36d5ab172debe15cae20b50a21 gcc/c-family/c-pragma.cc 291e6dbd1f3ff17d1ba067d22eb8d6c2 gcc/c-family/c-pragma.h ! aae325e44e5de0547f7c4d20ec0b8150 gcc/c-family/c-pretty-print.cc 41423bec7eaf515748c1e4cb455fd2be gcc/c-family/c-pretty-print.h 0adbeaa3e205c1aba943bdbf75128ec0 gcc/c-family/c-semantics.cc 4db228f8d2a2a8197f03b026c662ced9 gcc/c-family/c-spellcheck.cc *************** beb75e8a7cb114d9af708092226dc0ad gcc/c- *** 3144,3154 **** 8ec9a4912d8b3f7d94a11ee04da7517e gcc/c-family/known-headers.h 6b3898853ed0b8ac1c9365f8e0da36bd gcc/c-family/name-hint.h 78725d6bd115506bafd5753f5e1e3cd0 gcc/c-family/stub-objc.cc ! 2f9e500a524636c37d74e2a1d2b02155 gcc/c/ChangeLog 99998984ca5752ab57a30960e8384032 gcc/c/Make-lang.in 5d00d791728697d48bdf1b6e276ce5bb gcc/c/c-aux-info.cc 1c014228ffb2f2191a1ab3cbd03422dc gcc/c/c-convert.cc ! df852b690a75bba89d32592872a61f48 gcc/c/c-decl.cc 1d53fd8d8e52cf57a0005164f40c31b7 gcc/c/c-errors.cc b425749aff683118700bf07ba9eb0653 gcc/c/c-fold.cc 36f1771d9957e6a1622b001a02e07e2c gcc/c/c-lang.cc --- 3144,3154 ---- 8ec9a4912d8b3f7d94a11ee04da7517e gcc/c-family/known-headers.h 6b3898853ed0b8ac1c9365f8e0da36bd gcc/c-family/name-hint.h 78725d6bd115506bafd5753f5e1e3cd0 gcc/c-family/stub-objc.cc ! c34d0d573e3fda8b4fda9c2b2221ed03 gcc/c/ChangeLog 99998984ca5752ab57a30960e8384032 gcc/c/Make-lang.in 5d00d791728697d48bdf1b6e276ce5bb gcc/c/c-aux-info.cc 1c014228ffb2f2191a1ab3cbd03422dc gcc/c/c-convert.cc ! 5e42f5b6b7424e3824139d550a5a1b7f gcc/c/c-decl.cc 1d53fd8d8e52cf57a0005164f40c31b7 gcc/c/c-errors.cc b425749aff683118700bf07ba9eb0653 gcc/c/c-fold.cc 36f1771d9957e6a1622b001a02e07e2c gcc/c/c-lang.cc *************** ab9869768090ce9680785aa66ec30241 gcc/c/ *** 3164,3170 **** 05681ad54ba0d53b5bbfab61b6f033c9 gcc/c/gimple-parser.cc b533a52e577cb5b931c58ea29447e7a3 gcc/c/gimple-parser.h 906b2b6452ced7cb3661999408b82872 gcc/caller-save.cc ! 3c0b3a048a3c3abca678219398795c6c gcc/calls.cc 158b2cc7af4b3645a2fa5d18b0711705 gcc/calls.h 7d2bc64e4484a0e55e1b7844b91204b6 gcc/ccmp.cc 081acff617120e3e3c99bafb4566d3d6 gcc/ccmp.h --- 3164,3170 ---- 05681ad54ba0d53b5bbfab61b6f033c9 gcc/c/gimple-parser.cc b533a52e577cb5b931c58ea29447e7a3 gcc/c/gimple-parser.h 906b2b6452ced7cb3661999408b82872 gcc/caller-save.cc ! b9dbbd8aa274a426a40cb3682d3df482 gcc/calls.cc 158b2cc7af4b3645a2fa5d18b0711705 gcc/calls.h 7d2bc64e4484a0e55e1b7844b91204b6 gcc/ccmp.cc 081acff617120e3e3c99bafb4566d3d6 gcc/ccmp.h *************** d2ee82e91fa150947cec2d680d653ad4 gcc/cf *** 3177,3183 **** 650ab513e0404ac58a19e4200f491d8a gcc/cfgbuild.h f58dfd6d19e5f05cdc84465ac491c541 gcc/cfgcleanup.cc faf5886336423b3c1589e8b8b55f2cec gcc/cfgcleanup.h ! fe6774e694bd837ef62720fe344c1061 gcc/cfgexpand.cc e0f3df5bcd51198c70302a24cfecea78 gcc/cfgexpand.h 8645e0e85a21570658b7cd0f8b66028b gcc/cfghooks.cc 38772c7ea67be80e15630312bda73eba gcc/cfghooks.h --- 3177,3183 ---- 650ab513e0404ac58a19e4200f491d8a gcc/cfgbuild.h f58dfd6d19e5f05cdc84465ac491c541 gcc/cfgcleanup.cc faf5886336423b3c1589e8b8b55f2cec gcc/cfgcleanup.h ! 299977530c2ef928dbad03e9a99b7c27 gcc/cfgexpand.cc e0f3df5bcd51198c70302a24cfecea78 gcc/cfgexpand.h 8645e0e85a21570658b7cd0f8b66028b gcc/cfghooks.cc 38772c7ea67be80e15630312bda73eba gcc/cfghooks.h *************** b5f4ea42b8d9f3a3c90ebad493a090e4 gcc/cf *** 3186,3198 **** c1c032d2fc3eeaf6c0fa41ca7fa43fd6 gcc/cfgloopanal.cc d019cb2ea45f5fa1f8a9cf4c24738ff7 gcc/cfgloopmanip.cc 19dacb8567e06231de7fe4cc82fe63da gcc/cfgloopmanip.h ! a3d3b9e0a19270da863980e32620853b gcc/cfgrtl.cc ! ff0d9982292c281a6b688f5197843d72 gcc/cfgrtl.h ! 7ceb652e154c56d26946dcba0de00024 gcc/cgraph.cc ! 28bcd60d7f5480e7730f95b1b8683af3 gcc/cgraph.h 4adf120975b7f6553fea856b9e4c1622 gcc/cgraphbuild.cc e12eced2454a68c176f1d69ad3c515dc gcc/cgraphclones.cc ! bd7f29e22e5d0cd3a6b598a82053e799 gcc/cgraphunit.cc 40601133406a9a11490ce86068a4e987 gcc/cif-code.def cf7fe7388be54e205514fd0c3032a455 gcc/collect-utils.cc fee34544a58c3b31ff2755596f6bcc79 gcc/collect-utils.h --- 3186,3198 ---- c1c032d2fc3eeaf6c0fa41ca7fa43fd6 gcc/cfgloopanal.cc d019cb2ea45f5fa1f8a9cf4c24738ff7 gcc/cfgloopmanip.cc 19dacb8567e06231de7fe4cc82fe63da gcc/cfgloopmanip.h ! 747aaa45beb48effaf961370d9c062ce gcc/cfgrtl.cc ! da68b1c5283ed68c563e46ff6573c10a gcc/cfgrtl.h ! cc6dcbe93dbe0ec5e0b8f9f17b38f945 gcc/cgraph.cc ! 018a16a4b62363ae44492c72bd779cfa gcc/cgraph.h 4adf120975b7f6553fea856b9e4c1622 gcc/cgraphbuild.cc e12eced2454a68c176f1d69ad3c515dc gcc/cgraphclones.cc ! cc69456dd81e60eab5d0dc055bd1d4e4 gcc/cgraphunit.cc 40601133406a9a11490ce86068a4e987 gcc/cif-code.def cf7fe7388be54e205514fd0c3032a455 gcc/collect-utils.cc fee34544a58c3b31ff2755596f6bcc79 gcc/collect-utils.h *************** a72185fb3571a1a22bbb61fc3b7454f3 gcc/co *** 3202,3210 **** 44030d04130f80c7a8b32788a7d2f5e7 gcc/collect2.h cb80b744e071259c95e671849491dde2 gcc/color-macros.h e2b80b721f5d66e672c4f7978b551172 gcc/combine-stack-adj.cc ! c504f00fff763e20410a1053b7da498b gcc/combine.cc 043cecacdd70fa8fef961a26b00040fa gcc/common.md ! 23f07ab4bf90cbb512abeddcbcb4ed93 gcc/common.opt dbdf1cd9a2b5243c1b082761a4401069 gcc/common/common-target-def.h 259c1705f9cffe9f4cfa777db03f4643 gcc/common/common-target.def af9eb41a9005138a377c5c3228fa354e gcc/common/common-target.h --- 3202,3210 ---- 44030d04130f80c7a8b32788a7d2f5e7 gcc/collect2.h cb80b744e071259c95e671849491dde2 gcc/color-macros.h e2b80b721f5d66e672c4f7978b551172 gcc/combine-stack-adj.cc ! 65048db4426173caef4c09e5d093add7 gcc/combine.cc 043cecacdd70fa8fef961a26b00040fa gcc/common.md ! 434e51870f06b036b8e82feed2edac9a gcc/common.opt dbdf1cd9a2b5243c1b082761a4401069 gcc/common/common-target-def.h 259c1705f9cffe9f4cfa777db03f4643 gcc/common/common-target.def af9eb41a9005138a377c5c3228fa354e gcc/common/common-target.h *************** fc58b748aac3806aacde6dded07976ab gcc/co *** 3214,3220 **** d983944b066a9f91d172e604162aec56 gcc/common/config/alpha/alpha-common.cc cf52ea7bf51ae49e7e06fa2382572eff gcc/common/config/arc/arc-common.cc 84e073cf5e63cefa544a5487559115db gcc/common/config/arm/arm-common.cc ! cd30ab3b2f8d3619c517bbbb11327e90 gcc/common/config/avr/avr-common.cc b6aa06bc7a7bd27c2cb491c7f4fcb99c gcc/common/config/bfin/bfin-common.cc 3f4c33e47f1dd32c6a3941e0d29da768 gcc/common/config/bpf/bpf-common.cc 72f7ae607e7fc2c7741c3c59750bc7de gcc/common/config/c6x/c6x-common.cc --- 3214,3220 ---- d983944b066a9f91d172e604162aec56 gcc/common/config/alpha/alpha-common.cc cf52ea7bf51ae49e7e06fa2382572eff gcc/common/config/arc/arc-common.cc 84e073cf5e63cefa544a5487559115db gcc/common/config/arm/arm-common.cc ! f17742b7e09805e3eaeb1632013bab42 gcc/common/config/avr/avr-common.cc b6aa06bc7a7bd27c2cb491c7f4fcb99c gcc/common/config/bfin/bfin-common.cc 3f4c33e47f1dd32c6a3941e0d29da768 gcc/common/config/bpf/bpf-common.cc 72f7ae607e7fc2c7741c3c59750bc7de gcc/common/config/c6x/c6x-common.cc *************** f5af84006ceedb8b558effab5e966caf gcc/co *** 3226,3233 **** ef4bef6bcc0fd9bc205e0372936e2e9a gcc/common/config/frv/frv-common.cc 92884e3745a520bd79446127d0e0cc1e gcc/common/config/gcn/gcn-common.cc e9b5eb9f763e7c9c37f0cae3b2c2b227 gcc/common/config/h8300/h8300-common.cc ! d21c730dc37786b5299281f83a6d4fd2 gcc/common/config/i386/cpuinfo.h ! 0a78766a448c8a131457f5792fc31ae9 gcc/common/config/i386/i386-common.cc 9cb11e917d5515cc841c70c6b5a47a25 gcc/common/config/i386/i386-cpuinfo.h 4731966ebb40e4a624fc35f7076c0036 gcc/common/config/i386/i386-isas.h dd1706199d92845c343787ef21d4905f gcc/common/config/ia64/ia64-common.cc --- 3226,3233 ---- ef4bef6bcc0fd9bc205e0372936e2e9a gcc/common/config/frv/frv-common.cc 92884e3745a520bd79446127d0e0cc1e gcc/common/config/gcn/gcn-common.cc e9b5eb9f763e7c9c37f0cae3b2c2b227 gcc/common/config/h8300/h8300-common.cc ! c0c48e1d36ea20557753963834a76a5e gcc/common/config/i386/cpuinfo.h ! 018fb2964fc3ab0ef6b656de09bdcfda gcc/common/config/i386/i386-common.cc 9cb11e917d5515cc841c70c6b5a47a25 gcc/common/config/i386/i386-cpuinfo.h 4731966ebb40e4a624fc35f7076c0036 gcc/common/config/i386/i386-isas.h dd1706199d92845c343787ef21d4905f gcc/common/config/ia64/ia64-common.cc *************** bbb86dc26326c9e21536b29093ef0ccd gcc/co *** 3263,3277 **** 08b08b7d10f25136197b98ebe582137e gcc/compare-elim.cc c29a5051809c4038f65af7557c1e9fcd gcc/conditions.h d343cb4b75d4bf1ab6e7001d3ce082eb gcc/config.build ! d336699ad975d8add517758768d7dcdb gcc/config.gcc ! b662bae3a7d9c705974244dea91c4cd2 gcc/config.host ! 8da4fc9ae08876e38bb09cdd25570478 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README ! 6e675f729ec3b60e4084e37271317fd6 gcc/config/aarch64/aarch64-arches.def ! a79eaefe614145186fc7c5df98e8e176 gcc/config/aarch64/aarch64-builtins.cc 5261e48fdbbcfcfec5dd15cc3777a339 gcc/config/aarch64/aarch64-c.cc 2d006aaa471ab025cdc16bfe082c0dad gcc/config/aarch64/aarch64-cc-fusion.cc ! ac2537b14908595ef01f03ea88895736 gcc/config/aarch64/aarch64-cores.def c92fe8de39f59c29808fbc4d06bb296a gcc/config/aarch64/aarch64-cost-tables.h f36cfc0d8235a8638c1c878f0a78f3b9 gcc/config/aarch64/aarch64-d.cc 412f7e5d8e9b61050a72b7115a3b0849 gcc/config/aarch64/aarch64-d.h --- 3263,3277 ---- 08b08b7d10f25136197b98ebe582137e gcc/compare-elim.cc c29a5051809c4038f65af7557c1e9fcd gcc/conditions.h d343cb4b75d4bf1ab6e7001d3ce082eb gcc/config.build ! 49d1756d6274e50b75e419a6563d6d16 gcc/config.gcc ! 0d31f9eb11863dd34b34981d3e4acb3f gcc/config.host ! c1171e5a9223f6f66cb7935c074e16df gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README ! 01652a51b7f1b43b916764306bb9d2e5 gcc/config/aarch64/aarch64-arches.def ! 5f42c31c26ba2ba899445953663c5213 gcc/config/aarch64/aarch64-builtins.cc 5261e48fdbbcfcfec5dd15cc3777a339 gcc/config/aarch64/aarch64-c.cc 2d006aaa471ab025cdc16bfe082c0dad gcc/config/aarch64/aarch64-cc-fusion.cc ! 8460a69a1ba7d2981a1e04415e45aa41 gcc/config/aarch64/aarch64-cores.def c92fe8de39f59c29808fbc4d06bb296a gcc/config/aarch64/aarch64-cost-tables.h f36cfc0d8235a8638c1c878f0a78f3b9 gcc/config/aarch64/aarch64-d.cc 412f7e5d8e9b61050a72b7115a3b0849 gcc/config/aarch64/aarch64-d.h *************** da1c20bb52f8669f737e6852bf618530 gcc/co *** 3288,3294 **** d359a88302c0b2bb716e8b617f4b2350 gcc/config/aarch64/aarch64-option-extensions.def 8bbbeb4756cec87eab1d89246bd01f25 gcc/config/aarch64/aarch64-opts.h 91176342d31ac6307d443997a999b243 gcc/config/aarch64/aarch64-passes.def ! d93b24df2711bc7b43bd4a9fb9089155 gcc/config/aarch64/aarch64-protos.h 23dc6883d113e3276cfc51cd7602663a gcc/config/aarch64/aarch64-simd-builtin-types.def afd3ea5ae83178ba9ef0abc732623c75 gcc/config/aarch64/aarch64-simd-builtins.def a8aad92f02ba8729f4cd1b8b3c4efc5f gcc/config/aarch64/aarch64-simd.md --- 3288,3294 ---- d359a88302c0b2bb716e8b617f4b2350 gcc/config/aarch64/aarch64-option-extensions.def 8bbbeb4756cec87eab1d89246bd01f25 gcc/config/aarch64/aarch64-opts.h 91176342d31ac6307d443997a999b243 gcc/config/aarch64/aarch64-passes.def ! d626f1f61bc2d0cad5551d7bb2666b91 gcc/config/aarch64/aarch64-protos.h 23dc6883d113e3276cfc51cd7602663a gcc/config/aarch64/aarch64-simd-builtin-types.def afd3ea5ae83178ba9ef0abc732623c75 gcc/config/aarch64/aarch64-simd-builtins.def a8aad92f02ba8729f4cd1b8b3c4efc5f gcc/config/aarch64/aarch64-simd.md *************** d944ba1876e827e8299a96fc31433c22 gcc/co *** 3307,3318 **** 4ec15579b7cd3388c4d8eb7117540e35 gcc/config/aarch64/aarch64-sve-builtins.h 1fe26d857090234eb7ecd771b092f5fe gcc/config/aarch64/aarch64-sve.md 539c5094467274e03fa1ea0087d02d65 gcc/config/aarch64/aarch64-sve2.md ! 9f9353410944e1ba22a73985a4dcdd50 gcc/config/aarch64/aarch64-tune.md 59a2e50c10aa66ea9757d8594c3cb6dc gcc/config/aarch64/aarch64-tuning-flags.def 703c876523c318a07e43cdfe4a0a2bee gcc/config/aarch64/aarch64-vxworks.h ! 1581978d68e409820d90a86639f25f94 gcc/config/aarch64/aarch64.cc ! 24d28d2a8356bf6e5b9d5f2df99ba7c9 gcc/config/aarch64/aarch64.h ! 7be653fa598aed3a4004f9c7d74993d8 gcc/config/aarch64/aarch64.md 27b3d58e07a631b044b51b2920e36271 gcc/config/aarch64/aarch64.opt f10e987cf60989a2c0882723035228c8 gcc/config/aarch64/arm_acle.h 037341ded31b1b6e3ab4e48e63f32185 gcc/config/aarch64/arm_bf16.h --- 3307,3318 ---- 4ec15579b7cd3388c4d8eb7117540e35 gcc/config/aarch64/aarch64-sve-builtins.h 1fe26d857090234eb7ecd771b092f5fe gcc/config/aarch64/aarch64-sve.md 539c5094467274e03fa1ea0087d02d65 gcc/config/aarch64/aarch64-sve2.md ! 9c49b804ec0efee3fff0c61aff10304e gcc/config/aarch64/aarch64-tune.md 59a2e50c10aa66ea9757d8594c3cb6dc gcc/config/aarch64/aarch64-tuning-flags.def 703c876523c318a07e43cdfe4a0a2bee gcc/config/aarch64/aarch64-vxworks.h ! 511bae1b285624f4257877ee82f68454 gcc/config/aarch64/aarch64.cc ! ceb8c7931dea9ca79e31bca3dda14bc3 gcc/config/aarch64/aarch64.h ! 191518e0742788a36ce440b94ea9fd7f gcc/config/aarch64/aarch64.md 27b3d58e07a631b044b51b2920e36271 gcc/config/aarch64/aarch64.opt f10e987cf60989a2c0882723035228c8 gcc/config/aarch64/arm_acle.h 037341ded31b1b6e3ab4e48e63f32185 gcc/config/aarch64/arm_bf16.h *************** c89c7b8fec07c5b75e3628a6ee822c1f gcc/co *** 3332,3338 **** 47ed472d8ab7676239a8c2afaee00d0c gcc/config/aarch64/geniterators.sh 02eca4bc365f9478480ced1203a5fbf8 gcc/config/aarch64/gentune.sh 86eaf33edeb885c2c9ae2a9825879e59 gcc/config/aarch64/host-aarch64-darwin.cc ! b638f297b47e48ec8ffd6d671c876392 gcc/config/aarch64/iterators.md 3ffffea8efebe8709a5fb79b70ebef56 gcc/config/aarch64/predicates.md 0cba3aa930062f2526baf26c05de99ce gcc/config/aarch64/rtems.h bfaa30c9cf04a5f4960f9507fb6c93ed gcc/config/aarch64/saphira.md --- 3332,3338 ---- 47ed472d8ab7676239a8c2afaee00d0c gcc/config/aarch64/geniterators.sh 02eca4bc365f9478480ced1203a5fbf8 gcc/config/aarch64/gentune.sh 86eaf33edeb885c2c9ae2a9825879e59 gcc/config/aarch64/host-aarch64-darwin.cc ! cbc20167372d42d8ad4c6b6f5ef3d54e gcc/config/aarch64/iterators.md 3ffffea8efebe8709a5fb79b70ebef56 gcc/config/aarch64/predicates.md 0cba3aa930062f2526baf26c05de99ce gcc/config/aarch64/rtems.h bfaa30c9cf04a5f4960f9507fb6c93ed gcc/config/aarch64/saphira.md *************** f8401c41771320e42d82d904528f30d4 gcc/co *** 3340,3345 **** --- 3340,3346 ---- b13fbbb8bc5ad0779c37bd8922986739 gcc/config/aarch64/t-aarch64-freebsd 1833a05cc15835bd438ca7c0ac5e9a3c gcc/config/aarch64/t-aarch64-linux b13fbbb8bc5ad0779c37bd8922986739 gcc/config/aarch64/t-aarch64-netbsd + b6f016a428d43008eb601016b91c9a91 gcc/config/aarch64/t-aarch64-rtems 257426d7678bfa2fbdd578bf4207e214 gcc/config/aarch64/t-aarch64-vxworks 2671580d2cd97f3bb851ee3ea005d652 gcc/config/aarch64/thunderx.md ed9df866f7edea86e3a9c21812574f51 gcc/config/aarch64/thunderx2t99.md *************** a07ee362a4961e9d41cb0ab83553de74 gcc/co *** 3350,3356 **** 6565aa0e22b20e2a9485e9d3f2e6e71a gcc/config/alpha/alpha-modes.def 53e995fef3331a988f2b320316d159f1 gcc/config/alpha/alpha-passes.def aff485c72ebe107fc7c9599affeb2726 gcc/config/alpha/alpha-protos.h ! 2d35094dc6653a8e437fba42c170ec94 gcc/config/alpha/alpha.cc 446505a9b6a502168faad76aec44808e gcc/config/alpha/alpha.h 3938a9d967b17b9bdfdba71e0d3bcf8e gcc/config/alpha/alpha.md f6ac905f9f792ff6b01903c1e1a9c8c0 gcc/config/alpha/alpha.opt --- 3351,3357 ---- 6565aa0e22b20e2a9485e9d3f2e6e71a gcc/config/alpha/alpha-modes.def 53e995fef3331a988f2b320316d159f1 gcc/config/alpha/alpha-passes.def aff485c72ebe107fc7c9599affeb2726 gcc/config/alpha/alpha-protos.h ! 00e3da44ce94c3dcbffe4749878dcf6c gcc/config/alpha/alpha.cc 446505a9b6a502168faad76aec44808e gcc/config/alpha/alpha.h 3938a9d967b17b9bdfdba71e0d3bcf8e gcc/config/alpha/alpha.md f6ac905f9f792ff6b01903c1e1a9c8c0 gcc/config/alpha/alpha.opt *************** b17178668bfa12ad9307406aca1faace gcc/co *** 3384,3390 **** 0ebbb1becd4dfef7a00df66b7a46e953 gcc/config/arc/arc-protos.h 751b7f6b5b81abb81d75c5af0c3093c7 gcc/config/arc/arc-simd.h 9385817a3443d22f5d8ff389eb2fab65 gcc/config/arc/arc-tables.opt ! 6a27f4df00bf129c2a49154412644c12 gcc/config/arc/arc.cc e1f5520b7247550fb08ef72d131490ab gcc/config/arc/arc.h 8dc7332c9a2687c43ddc1c96d4dab8d1 gcc/config/arc/arc.md cd858ee590fe991287a78c891cf2115c gcc/config/arc/arc.opt --- 3385,3391 ---- 0ebbb1becd4dfef7a00df66b7a46e953 gcc/config/arc/arc-protos.h 751b7f6b5b81abb81d75c5af0c3093c7 gcc/config/arc/arc-simd.h 9385817a3443d22f5d8ff389eb2fab65 gcc/config/arc/arc-tables.opt ! ada0f9b6f9b0f187ca6684b8b6e54706 gcc/config/arc/arc.cc e1f5520b7247550fb08ef72d131490ab gcc/config/arc/arc.h 8dc7332c9a2687c43ddc1c96d4dab8d1 gcc/config/arc/arc.md cd858ee590fe991287a78c891cf2115c gcc/config/arc/arc.opt *************** a66f3c594c6fc329800e3fb836fdfd26 gcc/co *** 3437,3443 **** 604d3b4e6182f09e4a772f53ed92d704 gcc/config/arm/arm-simd-builtin-types.def 0e7b2ceea31abf677030625bec385ac3 gcc/config/arm/arm-tables.opt 5a144b12347f9e5cd1b3b8c2fcf8a8a3 gcc/config/arm/arm-tune.md ! 753a9c781f0df4ee0d1c924d44408ddf gcc/config/arm/arm.cc c14964f7e41f42d7c9bf3b5b0b556ebf gcc/config/arm/arm.h 4b623b84f69c0f93d1212fd10edf4ab5 gcc/config/arm/arm.md cf127021475a9bc9dca6dabb24611b52 gcc/config/arm/arm.opt --- 3438,3444 ---- 604d3b4e6182f09e4a772f53ed92d704 gcc/config/arm/arm-simd-builtin-types.def 0e7b2ceea31abf677030625bec385ac3 gcc/config/arm/arm-tables.opt 5a144b12347f9e5cd1b3b8c2fcf8a8a3 gcc/config/arm/arm-tune.md ! a51c1c5bf4150affc707d8752a363648 gcc/config/arm/arm.cc c14964f7e41f42d7c9bf3b5b0b556ebf gcc/config/arm/arm.h 4b623b84f69c0f93d1212fd10edf4ab5 gcc/config/arm/arm.md cf127021475a9bc9dca6dabb24611b52 gcc/config/arm/arm.opt *************** e2efbd2171ce4a6433002f5b9dabc4e6 gcc/co *** 3502,3508 **** de8cd2160d601b4afb431254b804f705 gcc/config/arm/marvell-pj4.md be508a7c9d8bb071759bff618b2fbc2c gcc/config/arm/mmintrin.h ca8c9182286824ade9c9ea366e90a540 gcc/config/arm/mve.md ! 86236a4f68353237e85467077b85fa66 gcc/config/arm/neon.md e092dc54e5e4e06263edfb3ec84d76af gcc/config/arm/netbsd-eabi.h 6accf4d7d44501880bfd48b1eb70b05e gcc/config/arm/netbsd-elf.h 70de61044d28e1a7d681e20415c69aeb gcc/config/arm/parsecpu.awk --- 3503,3509 ---- de8cd2160d601b4afb431254b804f705 gcc/config/arm/marvell-pj4.md be508a7c9d8bb071759bff618b2fbc2c gcc/config/arm/mmintrin.h ca8c9182286824ade9c9ea366e90a540 gcc/config/arm/mve.md ! 34261e480034458c42d06108151b78d8 gcc/config/arm/neon.md e092dc54e5e4e06263edfb3ec84d76af gcc/config/arm/netbsd-eabi.h 6accf4d7d44501880bfd48b1eb70b05e gcc/config/arm/netbsd-elf.h 70de61044d28e1a7d681e20415c69aeb gcc/config/arm/parsecpu.awk *************** a373ca0dfe835fe420a8d470352225d5 gcc/co *** 3539,3565 **** 19d25b9fb05789a755ec49d65b5d6fcd gcc/config/arm/vxworks.opt 8bb1a840fb87b138c620682ccad6aee4 gcc/config/arm/x-arm 6557b7f6ab628dc278de34a967b55c6f gcc/config/arm/xgene1.md ! c06375fedec56db8bdb1195c9a2080cf gcc/config/avr/avr-arch.h ! 381efaebb87fd07e32734f6e3b160252 gcc/config/avr/avr-c.cc ! e7d437ddab475cde666ae68d62c0e322 gcc/config/avr/avr-devices.cc 1a8dcd65c377e063a63bb97bad385cf3 gcc/config/avr/avr-dimode.md 708f772e2588821bfa91118474a89d0a gcc/config/avr/avr-fixed.md c3ab3d8980033cd869c1c27b318115ce gcc/config/avr/avr-log.cc ! 19333eea3074ad82cd12a01c285f27ba gcc/config/avr/avr-mcus.def 69b36d3d75fa8c748a6f1c843d6888f7 gcc/config/avr/avr-modes.def 9126e9ec7dee9b9d66f6893bb9926647 gcc/config/avr/avr-passes.def ! 7fa305f06b48848dfa8858e3ac47abde gcc/config/avr/avr-protos.h 55c51229f13ced0bdddbfd397c9a57d4 gcc/config/avr/avr-stdint.h ! ed2dc442bc461fed8e66f31f790af833 gcc/config/avr/avr.cc ! 04926666a46570c47a3a09b87eb42001 gcc/config/avr/avr.h ! b5ddce92f2d098d94851468a9024c622 gcc/config/avr/avr.md ! 992bc72e7412c260c381c794091a4a63 gcc/config/avr/avr.opt d5ca1928fb0eef4a39e419faa25782b4 gcc/config/avr/avrlibc.h 82e55abb13cdee932b88cb4c074f76fe gcc/config/avr/builtins.def f0880103f5af621d5051b6b0ef710ba1 gcc/config/avr/constraints.md ! 905139871da55857966ac5fdab9d0ce2 gcc/config/avr/driver-avr.cc 828f146c096d2950c6ab263bc3818e13 gcc/config/avr/elf.h ! eac5e28984d593928e1e3adce65797e4 gcc/config/avr/gen-avr-mmcu-specs.cc bcef8a3e0aed8ec9bca46e7c98959588 gcc/config/avr/gen-avr-mmcu-texi.cc b66a49b68d591a6c0b7af5fc6a368c25 gcc/config/avr/genmultilib.awk bcf32309fb3db2a9d7062f64b15abd3a gcc/config/avr/predicates.md --- 3540,3566 ---- 19d25b9fb05789a755ec49d65b5d6fcd gcc/config/arm/vxworks.opt 8bb1a840fb87b138c620682ccad6aee4 gcc/config/arm/x-arm 6557b7f6ab628dc278de34a967b55c6f gcc/config/arm/xgene1.md ! f4c79e9220e9187c3a843e0a42c1d503 gcc/config/avr/avr-arch.h ! 5ac6143a494b67b2408579331c71c89a gcc/config/avr/avr-c.cc ! 1f1b24bccebced685f22675a39d03550 gcc/config/avr/avr-devices.cc 1a8dcd65c377e063a63bb97bad385cf3 gcc/config/avr/avr-dimode.md 708f772e2588821bfa91118474a89d0a gcc/config/avr/avr-fixed.md c3ab3d8980033cd869c1c27b318115ce gcc/config/avr/avr-log.cc ! 4ae35627becfeb450a7a4a4e9c53d174 gcc/config/avr/avr-mcus.def 69b36d3d75fa8c748a6f1c843d6888f7 gcc/config/avr/avr-modes.def 9126e9ec7dee9b9d66f6893bb9926647 gcc/config/avr/avr-passes.def ! 4f91fbe7424d740dd0cf76ad9f603740 gcc/config/avr/avr-protos.h 55c51229f13ced0bdddbfd397c9a57d4 gcc/config/avr/avr-stdint.h ! b3c430dc7829c2498fa34259687238d7 gcc/config/avr/avr.cc ! 800f7501f0eacfee1c1b717e491085b2 gcc/config/avr/avr.h ! f70d7451deeba4ac71d3e57fedab7cff gcc/config/avr/avr.md ! 154dcf10de2f21666b4516257fbcecd2 gcc/config/avr/avr.opt d5ca1928fb0eef4a39e419faa25782b4 gcc/config/avr/avrlibc.h 82e55abb13cdee932b88cb4c074f76fe gcc/config/avr/builtins.def f0880103f5af621d5051b6b0ef710ba1 gcc/config/avr/constraints.md ! 751bd406a3dcc3e4cc452b962e925114 gcc/config/avr/driver-avr.cc 828f146c096d2950c6ab263bc3818e13 gcc/config/avr/elf.h ! 7dea2902f1765bf0a4a6483fadb36c32 gcc/config/avr/gen-avr-mmcu-specs.cc bcef8a3e0aed8ec9bca46e7c98959588 gcc/config/avr/gen-avr-mmcu-texi.cc b66a49b68d591a6c0b7af5fc6a368c25 gcc/config/avr/genmultilib.awk bcf32309fb3db2a9d7062f64b15abd3a gcc/config/avr/predicates.md *************** ae8bc0ae5e246fa2a41877af651526d8 gcc/co *** 3642,3648 **** 0b1105f80e411c144f1f312a01c2773f gcc/config/csky/csky-linux-elf.h 18d2e2f2ee403a1828b57fea528c3cb7 gcc/config/csky/csky-modes.def 630574afafae23fb6f7f42e147f5dc29 gcc/config/csky/csky-protos.h ! b74854702ea96d0eef4aad4b91153ca3 gcc/config/csky/csky.cc 47808c2a02dce80c47de318fc9cffa2d gcc/config/csky/csky.h feafcdf0bbe3ddd7aa498e86894ec6b7 gcc/config/csky/csky.md 91681a425d4824fe2c0af4a8dfe346f5 gcc/config/csky/csky.opt --- 3643,3649 ---- 0b1105f80e411c144f1f312a01c2773f gcc/config/csky/csky-linux-elf.h 18d2e2f2ee403a1828b57fea528c3cb7 gcc/config/csky/csky-modes.def 630574afafae23fb6f7f42e147f5dc29 gcc/config/csky/csky-protos.h ! ac5894daa75732f20852cf47171b1f6f gcc/config/csky/csky.cc 47808c2a02dce80c47de318fc9cffa2d gcc/config/csky/csky.h feafcdf0bbe3ddd7aa498e86894ec6b7 gcc/config/csky/csky.md 91681a425d4824fe2c0af4a8dfe346f5 gcc/config/csky/csky.opt *************** b62a47b77dccb47ce687a46ca17cec43 gcc/co *** 3669,3678 **** 09733777605726a19bf8f3de69b594e3 gcc/config/darwin-driver.cc 3c146a1c17fda17c760cd5672fb5a5a8 gcc/config/darwin-f.cc 7b2dacd23f2809fe6462e592b6ff5744 gcc/config/darwin-ppc-ldouble-patch.def ! 1cfc3c2a6447cc7e0d196c1d420dae9e gcc/config/darwin-protos.h ! d2485f51f197476f96061c1d9f71080e gcc/config/darwin-sections.def ! 50ad8d2ff561a7c3101c63f983a5ce0b gcc/config/darwin.cc ! fae6ddfcb63d56ff9a3f0252908239f3 gcc/config/darwin.h 2d0c2e46036e1142674c71c1683e5029 gcc/config/darwin.opt e995cbf40e93284ca4ad4576deae0b57 gcc/config/default-c.cc d492599e2fe59e667eb069826c292f25 gcc/config/default-d.cc --- 3670,3679 ---- 09733777605726a19bf8f3de69b594e3 gcc/config/darwin-driver.cc 3c146a1c17fda17c760cd5672fb5a5a8 gcc/config/darwin-f.cc 7b2dacd23f2809fe6462e592b6ff5744 gcc/config/darwin-ppc-ldouble-patch.def ! 39a0c9fb5dd1e1cfc368f3b0778f07f9 gcc/config/darwin-protos.h ! a581ffcfe57fc085bb14fed30225dcf4 gcc/config/darwin-sections.def ! 017d51eec9cabc9e51025a6ced560872 gcc/config/darwin.cc ! ce0b3ff49e038f41e13d855e832b1ef1 gcc/config/darwin.h 2d0c2e46036e1142674c71c1683e5029 gcc/config/darwin.opt e995cbf40e93284ca4ad4576deae0b57 gcc/config/default-c.cc d492599e2fe59e667eb069826c292f25 gcc/config/default-d.cc *************** d492599e2fe59e667eb069826c292f25 gcc/co *** 3685,3691 **** cad5b029cc343d9cb05d771f9ac84a1b gcc/config/epiphany/epiphany-modes.def db54456f1c211b068bdda470918b3bc8 gcc/config/epiphany/epiphany-protos.h 296bc4cc359f43ac66f2fe17a689043f gcc/config/epiphany/epiphany-sched.md ! f76acd88c1b5ce763cd3db90c04f2725 gcc/config/epiphany/epiphany.cc 71fc078aa689775876043486b0000ec3 gcc/config/epiphany/epiphany.h 76326e5b3f7025ac4c2134e4b35f4b57 gcc/config/epiphany/epiphany.md 38fe363624c6b30d36028dc2ba368f7e gcc/config/epiphany/epiphany.opt --- 3686,3692 ---- cad5b029cc343d9cb05d771f9ac84a1b gcc/config/epiphany/epiphany-modes.def db54456f1c211b068bdda470918b3bc8 gcc/config/epiphany/epiphany-protos.h 296bc4cc359f43ac66f2fe17a689043f gcc/config/epiphany/epiphany-sched.md ! bcd1ea07bfd7b3a9321f9ad568ddec73 gcc/config/epiphany/epiphany.cc 71fc078aa689775876043486b0000ec3 gcc/config/epiphany/epiphany.h 76326e5b3f7025ac4c2134e4b35f4b57 gcc/config/epiphany/epiphany.md 38fe363624c6b30d36028dc2ba368f7e gcc/config/epiphany/epiphany.opt *************** e5ef4ff30fbb0c99ea11b937bab6e376 gcc/co *** 3724,3730 **** ad2b138db0b05c40eefe36a45ae7367f gcc/config/frv/t-linux 6954451da0562f1ee357c38b060d2a4f gcc/config/ft32/constraints.md ed9510546d5405bb3dc4cc494450f54c gcc/config/ft32/ft32-protos.h ! d6ed27bf8d610f944e01fa9aa5ba0c4f gcc/config/ft32/ft32.cc cb8580c2d6b14878acffa8fa83e954c5 gcc/config/ft32/ft32.h ba4b2c1b9daf45cfe2685dd3d206d712 gcc/config/ft32/ft32.md f6fa1db6cc84e6686236219594cfb15c gcc/config/ft32/ft32.opt --- 3725,3731 ---- ad2b138db0b05c40eefe36a45ae7367f gcc/config/frv/t-linux 6954451da0562f1ee357c38b060d2a4f gcc/config/ft32/constraints.md ed9510546d5405bb3dc4cc494450f54c gcc/config/ft32/ft32-protos.h ! ca9b64e367c4119a156f2c1ab9fb64f5 gcc/config/ft32/ft32.cc cb8580c2d6b14878acffa8fa83e954c5 gcc/config/ft32/ft32.h ba4b2c1b9daf45cfe2685dd3d206d712 gcc/config/ft32/ft32.md f6fa1db6cc84e6686236219594cfb15c gcc/config/ft32/ft32.opt *************** b2f4aad298263f48f1ac8a7ad50e6f53 gcc/co *** 3801,3807 **** 1e1e5e7dc305e186cdbf59e26f4150d7 gcc/config/i386/amxcomplexintrin.h d66542a1143209ed7ff609cc1351aad2 gcc/config/i386/amxfp16intrin.h f7ec04b3ae6ab0665561d3c64e2a8eb6 gcc/config/i386/amxint8intrin.h ! 58befca760baf6dc42bfba8fd3d6cbea gcc/config/i386/amxtileintrin.h 5ad8113f98b3741dba255479fb0b4c5c gcc/config/i386/athlon.md e34a8bf10542af8efc22acbb32ee2fdd gcc/config/i386/atom.md f15918dfd12bc1857aa07367503167fd gcc/config/i386/att.h --- 3802,3808 ---- 1e1e5e7dc305e186cdbf59e26f4150d7 gcc/config/i386/amxcomplexintrin.h d66542a1143209ed7ff609cc1351aad2 gcc/config/i386/amxfp16intrin.h f7ec04b3ae6ab0665561d3c64e2a8eb6 gcc/config/i386/amxint8intrin.h ! 710bcde235c4c970360614b8d64e43d7 gcc/config/i386/amxtileintrin.h 5ad8113f98b3741dba255479fb0b4c5c gcc/config/i386/athlon.md e34a8bf10542af8efc22acbb32ee2fdd gcc/config/i386/atom.md f15918dfd12bc1857aa07367503167fd gcc/config/i386/att.h *************** b942499d27601a7aba3efdeb5a8d300b gcc/co *** 3876,3882 **** 6382c293f599527a86ff907f0794f4b7 gcc/config/i386/djgpp.h c64ce798db81479c69da1344e38dd450 gcc/config/i386/djgpp.opt 17255f7edc13e66cee8ce104a1a16d7e gcc/config/i386/dragonfly.h ! 89e85ccf9c264c85110d5c7e485c88d6 gcc/config/i386/driver-i386.cc 0db2a1b877b9b70a4f1314795cd9fce4 gcc/config/i386/driver-mingw32.cc 230f254705a227cf2e3e968f01d82187 gcc/config/i386/emmintrin.h 49b2eed6267812453a577bc231736495 gcc/config/i386/enqcmdintrin.h --- 3877,3883 ---- 6382c293f599527a86ff907f0794f4b7 gcc/config/i386/djgpp.h c64ce798db81479c69da1344e38dd450 gcc/config/i386/djgpp.opt 17255f7edc13e66cee8ce104a1a16d7e gcc/config/i386/dragonfly.h ! bcd4f258136d7aafe51093439019d1b4 gcc/config/i386/driver-i386.cc 0db2a1b877b9b70a4f1314795cd9fce4 gcc/config/i386/driver-mingw32.cc 230f254705a227cf2e3e968f01d82187 gcc/config/i386/emmintrin.h 49b2eed6267812453a577bc231736495 gcc/config/i386/enqcmdintrin.h *************** e92e6092340e3f2f41fe23e91d749ca0 gcc/co *** 3905,3931 **** c712f75327bcb8b5d026dfb3dea205df gcc/config/i386/hresetintrin.h 05b81cca7926b1d1ab6ed9ad1de53cf0 gcc/config/i386/i386-builtin-types.awk 3d2082f02d6f85c1c7931b78a04b1f0e gcc/config/i386/i386-builtin-types.def ! e671b7cc0b419ac65a0784a49ea98bd1 gcc/config/i386/i386-builtin.def ! 407d58c3dd343e65eae794d0314e3fd4 gcc/config/i386/i386-builtins.cc 142e87103f036ad8c37d13ec10c7b6e1 gcc/config/i386/i386-builtins.h ! 0f0ae6ff148bdb8fd932e202b6799c47 gcc/config/i386/i386-c.cc 111cfdf2d21796a75b1dc6dad85b1e0b gcc/config/i386/i386-d.cc 8a2fd04b87d1c3d5e2c0f09d28bbbabb gcc/config/i386/i386-d.h ! b1539407f2d48b3d686c4823e1b0c666 gcc/config/i386/i386-expand.cc 41a8f20de760a6af6575dd59a61d9d53 gcc/config/i386/i386-expand.h ! a4dd891e8ef93f95857954aa66c7776e gcc/config/i386/i386-features.cc ! 56fdbfdbc30b14f12e07f1e89723787f gcc/config/i386/i386-features.h fe11cb894ffe7ab98667ab56d2f4723f gcc/config/i386/i386-isa.def 879010cdeb2877b05749acd5f54492a6 gcc/config/i386/i386-modes.def ! f4361fea142eb66ed5a0219f13eb89fe gcc/config/i386/i386-options.cc 003ffbe43bb8f6a09f829ad391579ca5 gcc/config/i386/i386-options.h 7512d54a6f733ab8b39bf9b02c1ba4db gcc/config/i386/i386-opts.h 3d980f6dc86b67acb7d8e5be6c08c589 gcc/config/i386/i386-passes.def 15146e6cff34da8c1205b0df0813ccb0 gcc/config/i386/i386-protos.h ! 4ba84ea255def231270a2abeb9b84812 gcc/config/i386/i386.cc ! f0d519ae01ea2564a3635eab0e2d6030 gcc/config/i386/i386.h ! 31b2704ae1401b3ac5afa22e3e740fa7 gcc/config/i386/i386.md ! 1e4205de1cf322c3e26153b3cd19802c gcc/config/i386/i386.opt faa318618e52a0740019e9aa0764b007 gcc/config/i386/i386elf.h 7c89dc80159b83f67c1fa47a10c88c13 gcc/config/i386/ia32intrin.h e22a6170ba3a96af69f106d6b8906f74 gcc/config/i386/iamcu.h --- 3906,3932 ---- c712f75327bcb8b5d026dfb3dea205df gcc/config/i386/hresetintrin.h 05b81cca7926b1d1ab6ed9ad1de53cf0 gcc/config/i386/i386-builtin-types.awk 3d2082f02d6f85c1c7931b78a04b1f0e gcc/config/i386/i386-builtin-types.def ! a8ac28839c7d3d346b1e07edee526a70 gcc/config/i386/i386-builtin.def ! 5aeccbe19338a2c1a6c4bd4ee786d9a0 gcc/config/i386/i386-builtins.cc 142e87103f036ad8c37d13ec10c7b6e1 gcc/config/i386/i386-builtins.h ! 64e4a1d3829ad46f7ad22764053e20a2 gcc/config/i386/i386-c.cc 111cfdf2d21796a75b1dc6dad85b1e0b gcc/config/i386/i386-d.cc 8a2fd04b87d1c3d5e2c0f09d28bbbabb gcc/config/i386/i386-d.h ! a9b61771dd3c34cffcdd683c471d0ef1 gcc/config/i386/i386-expand.cc 41a8f20de760a6af6575dd59a61d9d53 gcc/config/i386/i386-expand.h ! 9239e5c6dba5eb6506ce40c23c41c768 gcc/config/i386/i386-features.cc ! 1e007dd2e12b7cf3a6530dd879fb3f1c gcc/config/i386/i386-features.h fe11cb894ffe7ab98667ab56d2f4723f gcc/config/i386/i386-isa.def 879010cdeb2877b05749acd5f54492a6 gcc/config/i386/i386-modes.def ! 814e6710b30e55d4bac4485010ee980e gcc/config/i386/i386-options.cc 003ffbe43bb8f6a09f829ad391579ca5 gcc/config/i386/i386-options.h 7512d54a6f733ab8b39bf9b02c1ba4db gcc/config/i386/i386-opts.h 3d980f6dc86b67acb7d8e5be6c08c589 gcc/config/i386/i386-passes.def 15146e6cff34da8c1205b0df0813ccb0 gcc/config/i386/i386-protos.h ! ab5f63810d81dcffcf47900bee13930f gcc/config/i386/i386.cc ! 82696aeca79f77fde118d691062f7df3 gcc/config/i386/i386.h ! 26a0803cd67ae2704cb1bc63aa7605ea gcc/config/i386/i386.md ! c32251e85ab598cb51e89383639566bb gcc/config/i386/i386.opt faa318618e52a0740019e9aa0764b007 gcc/config/i386/i386elf.h 7c89dc80159b83f67c1fa47a10c88c13 gcc/config/i386/ia32intrin.h e22a6170ba3a96af69f106d6b8906f74 gcc/config/i386/iamcu.h *************** ad22c01391693d2c5eb002cb02cb3f83 gcc/co *** 3951,3957 **** 51fa82a0bcb22b2e3517bbf8798aa95b gcc/config/i386/mingw32.h 633776df667177d305a751c611575d8a gcc/config/i386/mm3dnow.h 20fbc82922a421279fbf3edff568d23a gcc/config/i386/mmintrin.h ! 3fcd2ca28eb38e41e4aba49cc9001e72 gcc/config/i386/mmx.md bfa7cf46263456c8ad884141d12b6ef0 gcc/config/i386/movdirintrin.h 4c8a6fb31d927ee7d125479a97ca8967 gcc/config/i386/msformat-c.cc c85dbd71dc69c188d5864af35ecf2292 gcc/config/i386/mwaitintrin.h --- 3952,3958 ---- 51fa82a0bcb22b2e3517bbf8798aa95b gcc/config/i386/mingw32.h 633776df667177d305a751c611575d8a gcc/config/i386/mm3dnow.h 20fbc82922a421279fbf3edff568d23a gcc/config/i386/mmintrin.h ! 9a2211f1a3ce6ed70f76f547830d09db gcc/config/i386/mmx.md bfa7cf46263456c8ad884141d12b6ef0 gcc/config/i386/movdirintrin.h 4c8a6fb31d927ee7d125479a97ca8967 gcc/config/i386/msformat-c.cc c85dbd71dc69c188d5864af35ecf2292 gcc/config/i386/mwaitintrin.h *************** f71c2e5572561a74ea464ac5e46b48e9 gcc/co *** 3984,3990 **** 9ac8a2404b744a4725303bcaa6eb18ee gcc/config/i386/slm.md 78848cd4caaf8dc8240bd6c097488abe gcc/config/i386/smmintrin.h f636ec0022d2efe9257b23fc816e2b32 gcc/config/i386/sol2.h ! e5c7c7026c2f7aba7949eec26e5c8f65 gcc/config/i386/sse.md d5e445dfcfe76b4409b1d6a2115663fc gcc/config/i386/ssemath.h 0547e7c6a1807f6096d1ef483c6f9c13 gcc/config/i386/stringop.def f7ae3b5e53998d952d6de4ec0fa87479 gcc/config/i386/subst.md --- 3985,3991 ---- 9ac8a2404b744a4725303bcaa6eb18ee gcc/config/i386/slm.md 78848cd4caaf8dc8240bd6c097488abe gcc/config/i386/smmintrin.h f636ec0022d2efe9257b23fc816e2b32 gcc/config/i386/sol2.h ! 6f8511ce7e8589402124fe7c27706f97 gcc/config/i386/sse.md d5e445dfcfe76b4409b1d6a2115663fc gcc/config/i386/ssemath.h 0547e7c6a1807f6096d1ef483c6f9c13 gcc/config/i386/stringop.def f7ae3b5e53998d952d6de4ec0fa87479 gcc/config/i386/subst.md *************** ceeba8f332c332a7db03815dd3144457 gcc/co *** 4040,4046 **** cf77688a79e9eb5530fb5a30f8ead444 gcc/config/i386/x86-tune-sched-bd.cc 30bef3dbd64dfc29211a442df4597f25 gcc/config/i386/x86-tune-sched-core.cc 70b97860072bcc5c13ce7ffe8d7c3a7d gcc/config/i386/x86-tune-sched.cc ! 0107ea657920f09fbf2d6b29c32f09f0 gcc/config/i386/x86-tune.def bd48650a48294465d345812ad5e1b4e8 gcc/config/i386/x86gprintrin.h 9bbe408d1dc406ddf72aa175ea24a4ab gcc/config/i386/x86intrin.h 8262b37347a6f221be8fda380c23e595 gcc/config/i386/xm-cygwin.h --- 4041,4047 ---- cf77688a79e9eb5530fb5a30f8ead444 gcc/config/i386/x86-tune-sched-bd.cc 30bef3dbd64dfc29211a442df4597f25 gcc/config/i386/x86-tune-sched-core.cc 70b97860072bcc5c13ce7ffe8d7c3a7d gcc/config/i386/x86-tune-sched.cc ! 241c7859db415e40f23028d633f3d78e gcc/config/i386/x86-tune.def bd48650a48294465d345812ad5e1b4e8 gcc/config/i386/x86gprintrin.h 9bbe408d1dc406ddf72aa175ea24a4ab gcc/config/i386/x86intrin.h 8262b37347a6f221be8fda380c23e595 gcc/config/i386/xm-cygwin.h *************** a9d1d80c40cc6eb8e9a32d54f82dae43 gcc/co *** 4118,4125 **** db93094f0d4b754b9521b7a08ff59eb3 gcc/config/loongarch/generic.md 56ef1e2b8eb28fe4018b37a6a9a6f26e gcc/config/loongarch/genopts/genstr.sh 9ce5785ab5a5194757c33063bafb644b gcc/config/loongarch/genopts/loongarch-strings ! ded350b029380de277251c3b7347583b gcc/config/loongarch/genopts/loongarch.opt.in ! acdb91543627a815a798b11956b07b2a gcc/config/loongarch/gnu-user.h 95ae01096113fe96d619bad8856f42bb gcc/config/loongarch/la464.md 56e5168bbc8e9c193b87fc1920fcfb6d gcc/config/loongarch/larchintrin.h 4931a2a272cc8a3b79988a7d6ccc02c8 gcc/config/loongarch/linux.h --- 4119,4126 ---- db93094f0d4b754b9521b7a08ff59eb3 gcc/config/loongarch/generic.md 56ef1e2b8eb28fe4018b37a6a9a6f26e gcc/config/loongarch/genopts/genstr.sh 9ce5785ab5a5194757c33063bafb644b gcc/config/loongarch/genopts/loongarch-strings ! 09da44df1430e253f4beb583f03f7cbe gcc/config/loongarch/genopts/loongarch.opt.in ! 5341c5bdd0371382ceee5ba116df3a07 gcc/config/loongarch/gnu-user.h 95ae01096113fe96d619bad8856f42bb gcc/config/loongarch/la464.md 56e5168bbc8e9c193b87fc1920fcfb6d gcc/config/loongarch/larchintrin.h 4931a2a272cc8a3b79988a7d6ccc02c8 gcc/config/loongarch/linux.h *************** a5a8ae397bdf9e20c3426ef156508e74 gcc/co *** 4133,4151 **** 2aecf54c515ea3d787acb6c1e7a12179 gcc/config/loongarch/loongarch-driver.h 2e31c78b40b220a07ed80f61efc3dc69 gcc/config/loongarch/loongarch-ftypes.def ae7cfcf36635345c7a6629d3bfbb53d6 gcc/config/loongarch/loongarch-modes.def ! 857bf8095d8124985c2246a77f21991e gcc/config/loongarch/loongarch-opts.cc ! aae7b2afa9f097a27363ba46977609e4 gcc/config/loongarch/loongarch-opts.h ! d46c773909f62a30c91885fbb5ee4416 gcc/config/loongarch/loongarch-protos.h b7e7ae8ebef609fa5b3638fc6d8da01c gcc/config/loongarch/loongarch-str.h 1d43515673828076071c491e3cdd6f1f gcc/config/loongarch/loongarch-tune.h ! 5b2363c74394edf1a424e4a493a039fe gcc/config/loongarch/loongarch.cc ! e446efa41b6eb3b45fecc85334dc92e6 gcc/config/loongarch/loongarch.h ! 19cf02de9955a0da9609da2ca7fa956f gcc/config/loongarch/loongarch.md ! e4801451e4a5033b9051b0387667a75a gcc/config/loongarch/loongarch.opt 2f8826252720e1086662bde87ecbe35f gcc/config/loongarch/predicates.md ! 79e5d3aad1cd3f508decbc918ee4419c gcc/config/loongarch/sync.md b99456ed262c9decb8e975492dece6b9 gcc/config/loongarch/t-linux ! e0de5482d1cfc851b546ea8ca8bc701c gcc/config/loongarch/t-loongarch 9d3e662c86b39e1b1706950c1178e350 gcc/config/lynx.h 23506809f52488ffbf9ff1d84b85d128 gcc/config/lynx.opt 016e52ad546e21ac6239f824ded324fd gcc/config/m32c/addsub.md --- 4134,4152 ---- 2aecf54c515ea3d787acb6c1e7a12179 gcc/config/loongarch/loongarch-driver.h 2e31c78b40b220a07ed80f61efc3dc69 gcc/config/loongarch/loongarch-ftypes.def ae7cfcf36635345c7a6629d3bfbb53d6 gcc/config/loongarch/loongarch-modes.def ! a12887e2d76caaa13e14ecd486af32d8 gcc/config/loongarch/loongarch-opts.cc ! 5a7e634f3067a9d7102737f15a2762c2 gcc/config/loongarch/loongarch-opts.h ! 0a2ea88aa9d8b16199a929903fe1420e gcc/config/loongarch/loongarch-protos.h b7e7ae8ebef609fa5b3638fc6d8da01c gcc/config/loongarch/loongarch-str.h 1d43515673828076071c491e3cdd6f1f gcc/config/loongarch/loongarch-tune.h ! 328984f3a53ba90a960534f688dc4ab4 gcc/config/loongarch/loongarch.cc ! cb6b1ac932dc193c50167e9e3bca4109 gcc/config/loongarch/loongarch.h ! 1092d0af6bbdeeebaf276d6b403a51fc gcc/config/loongarch/loongarch.md ! a9bcbd6c03a77e0c5c0b70d652aa908e gcc/config/loongarch/loongarch.opt 2f8826252720e1086662bde87ecbe35f gcc/config/loongarch/predicates.md ! 9ae896f20aba612b39f17b74e0e88d42 gcc/config/loongarch/sync.md b99456ed262c9decb8e975492dece6b9 gcc/config/loongarch/t-linux ! 2cb1531abdf14df62c1e88e14377d454 gcc/config/loongarch/t-loongarch 9d3e662c86b39e1b1706950c1178e350 gcc/config/lynx.h 23506809f52488ffbf9ff1d84b85d128 gcc/config/lynx.opt 016e52ad546e21ac6239f824ded324fd gcc/config/m32c/addsub.md *************** c2cb241feb926094d5e0edc8f52f5059 gcc/co *** 4173,4179 **** 24b95bb041b11bc328c6069ffbd7b8e3 gcc/config/m32r/little.h 39f2582339f7aa11ed234d4a35de19f1 gcc/config/m32r/m32r-opts.h 41a1134a3b4a3946e232f14d94caccf4 gcc/config/m32r/m32r-protos.h ! 24dc7010c41af14453e91733dd23aa62 gcc/config/m32r/m32r.cc d12d9ac92b1aeb3f9d9091e5ab3cccc9 gcc/config/m32r/m32r.h db7a255449e5ebe9b04b0772a59fe3c1 gcc/config/m32r/m32r.md 48ce6304855bcfc17ade3b3a047f6fbf gcc/config/m32r/m32r.opt --- 4174,4180 ---- 24b95bb041b11bc328c6069ffbd7b8e3 gcc/config/m32r/little.h 39f2582339f7aa11ed234d4a35de19f1 gcc/config/m32r/m32r-opts.h 41a1134a3b4a3946e232f14d94caccf4 gcc/config/m32r/m32r-protos.h ! a5b01e19cca17a8b3c406c238e8df6d6 gcc/config/m32r/m32r.cc d12d9ac92b1aeb3f9d9091e5ab3cccc9 gcc/config/m32r/m32r.h db7a255449e5ebe9b04b0772a59fe3c1 gcc/config/m32r/m32r.md 48ce6304855bcfc17ade3b3a047f6fbf gcc/config/m32r/m32r.opt *************** a7eee6cf039aa12d55e8973ce5e2fded gcc/co *** 4259,4265 **** b8d1296ede02cb613ca1733bd0a067d1 gcc/config/mips/74k.md 417d7beb506d09400408e452ff8eab6d gcc/config/mips/9000.md ef701699babe6b4109ea6eb7ef5a6fed gcc/config/mips/constraints.md ! b295d4052fb03ef383dc8260f7d8f85c gcc/config/mips/driver-native.cc fcf51d35a900789cb92722ab62ac55e1 gcc/config/mips/elf.h 1ecacee3d49cec1177f0cc53654acc57 gcc/config/mips/elfoabi.h f6eb13f4de92ed1a37dfdd87773356d9 gcc/config/mips/elforion.h --- 4260,4266 ---- b8d1296ede02cb613ca1733bd0a067d1 gcc/config/mips/74k.md 417d7beb506d09400408e452ff8eab6d gcc/config/mips/9000.md ef701699babe6b4109ea6eb7ef5a6fed gcc/config/mips/constraints.md ! b0aa0839ae263b96a99f55dfab44dbc4 gcc/config/mips/driver-native.cc fcf51d35a900789cb92722ab62ac55e1 gcc/config/mips/elf.h 1ecacee3d49cec1177f0cc53654acc57 gcc/config/mips/elfoabi.h f6eb13f4de92ed1a37dfdd87773356d9 gcc/config/mips/elforion.h *************** d7c7d648633e3751538d001af47d7dc0 gcc/co *** 4287,4298 **** c2cfe00ae73a68f07ce649b980612c9c gcc/config/mips/mips-fixed.md c08e4bab6c1e75a72083a45020a5b446 gcc/config/mips/mips-ftypes.def 78532a885490fb3a90b0c4a85437f2e1 gcc/config/mips/mips-modes.def ! 95304392ef1c512d3f1d5e81af2ff243 gcc/config/mips/mips-msa.md 30376b626fc9050218641fcde797c92f gcc/config/mips/mips-opts.h b6ef595c9b75af5e5679a8799c944443 gcc/config/mips/mips-protos.h 32ba594f8a210398a1e585dfcc8b1d8d gcc/config/mips/mips-ps-3d.md e0f0f7f5cd3f66adff43ada64fd352e1 gcc/config/mips/mips-tables.opt ! 78bf9e899b0629b2d5c306cdb23f4f35 gcc/config/mips/mips.cc 9e3bffdb2b33a326178eddd2138674d0 gcc/config/mips/mips.h fd1a1985d2fa9e92b6867215ad4b9127 gcc/config/mips/mips.md 3b233a9733cc91ecbf6950b871004528 gcc/config/mips/mips.opt --- 4288,4299 ---- c2cfe00ae73a68f07ce649b980612c9c gcc/config/mips/mips-fixed.md c08e4bab6c1e75a72083a45020a5b446 gcc/config/mips/mips-ftypes.def 78532a885490fb3a90b0c4a85437f2e1 gcc/config/mips/mips-modes.def ! fbe407e03794a9ee607663ce7de6eadb gcc/config/mips/mips-msa.md 30376b626fc9050218641fcde797c92f gcc/config/mips/mips-opts.h b6ef595c9b75af5e5679a8799c944443 gcc/config/mips/mips-protos.h 32ba594f8a210398a1e585dfcc8b1d8d gcc/config/mips/mips-ps-3d.md e0f0f7f5cd3f66adff43ada64fd352e1 gcc/config/mips/mips-tables.opt ! 9afd220cd19c25a7c28103340e9368d5 gcc/config/mips/mips.cc 9e3bffdb2b33a326178eddd2138674d0 gcc/config/mips/mips.h fd1a1985d2fa9e92b6867215ad4b9127 gcc/config/mips/mips.md 3b233a9733cc91ecbf6950b871004528 gcc/config/mips/mips.opt *************** f6513944f4e44ed2f271e3b55aa624ef gcc/co *** 4417,4423 **** b3a05f47ce92fcf67e1c23259289c7f0 gcc/config/nds32/nds32-protos.h f516003b49868c78e5b053cbdfacbe47 gcc/config/nds32/nds32-relax-opt.cc 7c832c3e3db3b050acd25af3276d86c4 gcc/config/nds32/nds32-utils.cc ! 51c69a59782879442ad53c1b616a6814 gcc/config/nds32/nds32.cc 83cd95f8643bbf3041167196ae7e8c3e gcc/config/nds32/nds32.h 52089dac78a46bf66a614efc8b246a08 gcc/config/nds32/nds32.md 422640720fe2f9b6a6b6c66c282d48b3 gcc/config/nds32/nds32.opt --- 4418,4424 ---- b3a05f47ce92fcf67e1c23259289c7f0 gcc/config/nds32/nds32-protos.h f516003b49868c78e5b053cbdfacbe47 gcc/config/nds32/nds32-relax-opt.cc 7c832c3e3db3b050acd25af3276d86c4 gcc/config/nds32/nds32-utils.cc ! 266dc2b4f9ed7df69ff9d2659f39c7ec gcc/config/nds32/nds32.cc 83cd95f8643bbf3041167196ae7e8c3e gcc/config/nds32/nds32.h 52089dac78a46bf66a614efc8b246a08 gcc/config/nds32/nds32.md 422640720fe2f9b6a6b6c66c282d48b3 gcc/config/nds32/nds32.opt *************** df5ddef9ef74666e3c22ef05e2b5d8ba gcc/co *** 4447,4453 **** 5cfb086db47eb08bcd1defead906bfdc gcc/config/nios2/nios2-ldstwm.sml 208172f05ae03bc93b6789b356f8df0e gcc/config/nios2/nios2-opts.h 37a9c078b28b8244f4fcf9ff08a74428 gcc/config/nios2/nios2-protos.h ! 912ac5f9be96872a8f3cef6a9b82b6fb gcc/config/nios2/nios2.cc 4420a3d2bfa12a42c840889a25c8016f gcc/config/nios2/nios2.h 9db5acb3074c4c2fe9b74e98fd9f5a29 gcc/config/nios2/nios2.md 597bd1586f7d01ed24872af4b787f125 gcc/config/nios2/nios2.opt --- 4448,4454 ---- 5cfb086db47eb08bcd1defead906bfdc gcc/config/nios2/nios2-ldstwm.sml 208172f05ae03bc93b6789b356f8df0e gcc/config/nios2/nios2-opts.h 37a9c078b28b8244f4fcf9ff08a74428 gcc/config/nios2/nios2-protos.h ! e9d4a22bd9d22b4ab8bcde1951543c9d gcc/config/nios2/nios2.cc 4420a3d2bfa12a42c840889a25c8016f gcc/config/nios2/nios2.h 9db5acb3074c4c2fe9b74e98fd9f5a29 gcc/config/nios2/nios2.md 597bd1586f7d01ed24872af4b787f125 gcc/config/nios2/nios2.opt *************** b30a2b89233d310f6be15cb46069ae60 gcc/co *** 4515,4523 **** d6ed3ea0b084fce25b744c74274588a5 gcc/config/pa/pa-openbsd.h e90c5d0d138f683915e32d52840e42cc gcc/config/pa/pa-opts.h 6d7f17931666ea98e5793e2f41c93ac3 gcc/config/pa/pa-protos.h ! 055e67a791c0237e361cf7aa8678abc5 gcc/config/pa/pa.cc 948a0f04a993401c0b8969f0c9c708e1 gcc/config/pa/pa.h ! 5f0e46544e13c5c70a90247b685cffe5 gcc/config/pa/pa.md 20ba6e16f7d2cf5e5eb89348793f2610 gcc/config/pa/pa.opt 5268cfc61e7af09cd3b9ba6d2fa3faff gcc/config/pa/pa32-linux.h c14312e902452e23e82cf7aea2550044 gcc/config/pa/pa32-netbsd.h --- 4516,4524 ---- d6ed3ea0b084fce25b744c74274588a5 gcc/config/pa/pa-openbsd.h e90c5d0d138f683915e32d52840e42cc gcc/config/pa/pa-opts.h 6d7f17931666ea98e5793e2f41c93ac3 gcc/config/pa/pa-protos.h ! 9dff82ea6c9a6ed17981cec36379b32e gcc/config/pa/pa.cc 948a0f04a993401c0b8969f0c9c708e1 gcc/config/pa/pa.h ! c55a80f89d2c3f11be94664513a5d702 gcc/config/pa/pa.md 20ba6e16f7d2cf5e5eb89348793f2610 gcc/config/pa/pa.opt 5268cfc61e7af09cd3b9ba6d2fa3faff gcc/config/pa/pa32-linux.h c14312e902452e23e82cf7aea2550044 gcc/config/pa/pa32-netbsd.h *************** e30be5d2c4f7dfa2b6beb305bea2ea12 gcc/co *** 4579,4592 **** f3f94b653d8cecc0249cd794b4c799e0 gcc/config/riscv/riscv-modes.def b72da54e700631e19e0763c290831bd9 gcc/config/riscv/riscv-opts.h dbc1bcb911341ab64939d304e80f5552 gcc/config/riscv/riscv-passes.def ! 6820d64bf12cf021edaca4583e8a17b2 gcc/config/riscv/riscv-protos.h 83bcab9a1e5c3acab0c9b8df5fe07818 gcc/config/riscv/riscv-scalar-crypto.def ad3c79a3cefcfe0857cd6f6b4392ab24 gcc/config/riscv/riscv-selftests.cc 8d8399855655179e1f73eea5741550b0 gcc/config/riscv/riscv-shorten-memrefs.cc e3b04ea19f480d8ad374b844ed5dbb8e gcc/config/riscv/riscv-sr.cc b0810ecd0d08084a321b9b025c6dbcd4 gcc/config/riscv/riscv-subset.h ! 7a76f07f1aac810394eafa4fa12f522e gcc/config/riscv/riscv-v.cc ! 82db10e870bc18dc73a094bbb4e158ec gcc/config/riscv/riscv-vector-builtins-bases.cc 50048c66ba232d8add15b01662a1a0a4 gcc/config/riscv/riscv-vector-builtins-bases.h a12f4965fb6339b5c8085978ead1d5f8 gcc/config/riscv/riscv-vector-builtins-functions.def 2dff81d29e4427dd04f4551d2052f6ca gcc/config/riscv/riscv-vector-builtins-shapes.cc --- 4580,4593 ---- f3f94b653d8cecc0249cd794b4c799e0 gcc/config/riscv/riscv-modes.def b72da54e700631e19e0763c290831bd9 gcc/config/riscv/riscv-opts.h dbc1bcb911341ab64939d304e80f5552 gcc/config/riscv/riscv-passes.def ! 6ab991e2b61677ebc074b4d7d19ec625 gcc/config/riscv/riscv-protos.h 83bcab9a1e5c3acab0c9b8df5fe07818 gcc/config/riscv/riscv-scalar-crypto.def ad3c79a3cefcfe0857cd6f6b4392ab24 gcc/config/riscv/riscv-selftests.cc 8d8399855655179e1f73eea5741550b0 gcc/config/riscv/riscv-shorten-memrefs.cc e3b04ea19f480d8ad374b844ed5dbb8e gcc/config/riscv/riscv-sr.cc b0810ecd0d08084a321b9b025c6dbcd4 gcc/config/riscv/riscv-subset.h ! 7cfbbbde84921c305c21bdf9d59f343f gcc/config/riscv/riscv-v.cc ! 31a192c341d8a70215fbc22f9e06af6b gcc/config/riscv/riscv-vector-builtins-bases.cc 50048c66ba232d8add15b01662a1a0a4 gcc/config/riscv/riscv-vector-builtins-bases.h a12f4965fb6339b5c8085978ead1d5f8 gcc/config/riscv/riscv-vector-builtins-functions.def 2dff81d29e4427dd04f4551d2052f6ca gcc/config/riscv/riscv-vector-builtins-shapes.cc *************** dea62e3acd642311d5bd0e7a98df2b17 gcc/co *** 4596,4620 **** 83bba22dba6d9f4786e80d804e1f312f gcc/config/riscv/riscv-vector-builtins.def 830cfe8061a11b71e18672cc3e8664c4 gcc/config/riscv/riscv-vector-builtins.h 8a86dc06d44baa9e41a9391db5abdcea gcc/config/riscv/riscv-vector-switch.def ! faf8d6d655c64d512ffd8a1d60f8d644 gcc/config/riscv/riscv-vsetvl.cc 8fe843c7d03cb46cc233ba5d894d10d3 gcc/config/riscv/riscv-vsetvl.def ! 4367da9bcb4a7e9b0c992e6bee066af8 gcc/config/riscv/riscv-vsetvl.h ! efbad94825a117c977a76252a555d562 gcc/config/riscv/riscv.cc 2b3c4e370e43ce97c06af8380c289dcc gcc/config/riscv/riscv.h ! 71a0a64843bda989740f74fd7dca641d gcc/config/riscv/riscv.md e8b00efbf2006bd1d55add7e5a1658fd gcc/config/riscv/riscv.opt 1a3b56eb5996b87319935b8b3123e371 gcc/config/riscv/riscv_vector.h ac558403504463a2fadd429bc0dfe20e gcc/config/riscv/rtems.h 462630614e6e7a6209f8f18b6dff0eef gcc/config/riscv/sifive-7.md ! a2f3d38a5263b2b9bcb0d42d591ae93f gcc/config/riscv/sync.md 1c27821991689abdaa7a908a0cc8dfa4 gcc/config/riscv/t-elf-multilib d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux 1ed181a166b1d0e206c4a4e0024cce2a gcc/config/riscv/t-linux-multilib ! 7de892add3c6f26df1abcd91dbdbe42b gcc/config/riscv/t-riscv b46131fe425be428d4d66c8f653f3d13 gcc/config/riscv/t-rtems 97a182737ed075d29be4ab1e848de420 gcc/config/riscv/t-withmultilib 0478f4e79601d91fb8ad8f210b304a7b gcc/config/riscv/t-withmultilib-generator ! 90703af517362babbdd4e7725ed9def2 gcc/config/riscv/thead.cc 3a60f8d771ec97e366fd23d19b081ea5 gcc/config/riscv/thead.md a73a2533a40d109ce2f50ab199b77fa6 gcc/config/riscv/vector-iterators.md 54f69fc9d9408960f28c18b405185f87 gcc/config/riscv/vector.md --- 4597,4621 ---- 83bba22dba6d9f4786e80d804e1f312f gcc/config/riscv/riscv-vector-builtins.def 830cfe8061a11b71e18672cc3e8664c4 gcc/config/riscv/riscv-vector-builtins.h 8a86dc06d44baa9e41a9391db5abdcea gcc/config/riscv/riscv-vector-switch.def ! 7d26c26ff34ea77927e376f7a4dd6520 gcc/config/riscv/riscv-vsetvl.cc 8fe843c7d03cb46cc233ba5d894d10d3 gcc/config/riscv/riscv-vsetvl.def ! 81d14fa5df5f77f7fa3acbdd2532da0e gcc/config/riscv/riscv-vsetvl.h ! 8be7dcb8180c65df22d9c75dfaf8c753 gcc/config/riscv/riscv.cc 2b3c4e370e43ce97c06af8380c289dcc gcc/config/riscv/riscv.h ! 5ab14313554ab48f53e905909801dc40 gcc/config/riscv/riscv.md e8b00efbf2006bd1d55add7e5a1658fd gcc/config/riscv/riscv.opt 1a3b56eb5996b87319935b8b3123e371 gcc/config/riscv/riscv_vector.h ac558403504463a2fadd429bc0dfe20e gcc/config/riscv/rtems.h 462630614e6e7a6209f8f18b6dff0eef gcc/config/riscv/sifive-7.md ! bbf9b35288d5481effe19d3497555734 gcc/config/riscv/sync.md 1c27821991689abdaa7a908a0cc8dfa4 gcc/config/riscv/t-elf-multilib d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux 1ed181a166b1d0e206c4a4e0024cce2a gcc/config/riscv/t-linux-multilib ! a48da5f2c0eca621c8be9a9ac2b0d405 gcc/config/riscv/t-riscv b46131fe425be428d4d66c8f653f3d13 gcc/config/riscv/t-rtems 97a182737ed075d29be4ab1e848de420 gcc/config/riscv/t-withmultilib 0478f4e79601d91fb8ad8f210b304a7b gcc/config/riscv/t-withmultilib-generator ! 3c60f3bce5f62f4325c736380a2b43f4 gcc/config/riscv/thead.cc 3a60f8d771ec97e366fd23d19b081ea5 gcc/config/riscv/thead.md a73a2533a40d109ce2f50ab199b77fa6 gcc/config/riscv/vector-iterators.md 54f69fc9d9408960f28c18b405185f87 gcc/config/riscv/vector.md *************** f5c3ba6395d6eb6177f8c91aabcbd5a6 gcc/co *** 4695,4701 **** f51fdc3939c771f200d9a918380966f1 gcc/config/rs6000/lynx.h 0cc3c5f9101501b8253ce3176c3ffce4 gcc/config/rs6000/milli.exp 389d0bf272bb89e1261c874b7a9ec947 gcc/config/rs6000/mm_malloc.h ! 3633bb3a609730a30cb0663dc7e023ba gcc/config/rs6000/mma.md a789bab758efe38df9cc413c568c5942 gcc/config/rs6000/mmintrin.h 72d5af6a1d84104d21789de53c32483d gcc/config/rs6000/mpc.md 1fe014a70daa2bb4d4641253aa097496 gcc/config/rs6000/netbsd.h --- 4696,4702 ---- f51fdc3939c771f200d9a918380966f1 gcc/config/rs6000/lynx.h 0cc3c5f9101501b8253ce3176c3ffce4 gcc/config/rs6000/milli.exp 389d0bf272bb89e1261c874b7a9ec947 gcc/config/rs6000/mm_malloc.h ! f166019a6afe34553006a474a60c4c09 gcc/config/rs6000/mma.md a789bab758efe38df9cc413c568c5942 gcc/config/rs6000/mmintrin.h 72d5af6a1d84104d21789de53c32483d gcc/config/rs6000/mpc.md 1fe014a70daa2bb4d4641253aa097496 gcc/config/rs6000/netbsd.h *************** d48c95e153ee8f415702b472bc20a02e gcc/co *** 4713,4726 **** 06aa26bfaafcb89d4a99c0e317af4707 gcc/config/rs6000/ppc-asm.h d1baa29d9961c7dc84928daba90fcb81 gcc/config/rs6000/ppc-auxv.h 5e7762217e9facebadb81f105d1bf501 gcc/config/rs6000/ppu_intrinsics.h ! e247c1906b14077d8906d63ed6e1f2d1 gcc/config/rs6000/predicates.md e5a56c67ccfa1b82910448cc8537ca90 gcc/config/rs6000/rbtree.cc 41cca449520459ae09c87c093327fa5d gcc/config/rs6000/rbtree.h ! a51d5702d8cf31a25e01e5edd0fe291a gcc/config/rs6000/rs6000-builtin.cc ac53034bd09fb01f93ea842cf5c909fc gcc/config/rs6000/rs6000-builtins.def ! 5686f83167396f0c581a1c6504b8ae11 gcc/config/rs6000/rs6000-c.cc ! 899b3a930627708fcdae122e3b3285c9 gcc/config/rs6000/rs6000-call.cc ! 6b94f136d45a0d1a0bef9e58fa9c1e15 gcc/config/rs6000/rs6000-cpus.def c4bd99f21aa66eed69bd520b225485ef gcc/config/rs6000/rs6000-d.cc 9ec1220497ad19253e259bcf72531180 gcc/config/rs6000/rs6000-d.h e39af002491bc8a962f6b2f0cc7304de gcc/config/rs6000/rs6000-gen-builtins.cc --- 4714,4727 ---- 06aa26bfaafcb89d4a99c0e317af4707 gcc/config/rs6000/ppc-asm.h d1baa29d9961c7dc84928daba90fcb81 gcc/config/rs6000/ppc-auxv.h 5e7762217e9facebadb81f105d1bf501 gcc/config/rs6000/ppu_intrinsics.h ! d547b88b77b2e82d7e0a856f08b310ac gcc/config/rs6000/predicates.md e5a56c67ccfa1b82910448cc8537ca90 gcc/config/rs6000/rbtree.cc 41cca449520459ae09c87c093327fa5d gcc/config/rs6000/rbtree.h ! 4ad3ad4328c79ff753a9190b682b49fb gcc/config/rs6000/rs6000-builtin.cc ac53034bd09fb01f93ea842cf5c909fc gcc/config/rs6000/rs6000-builtins.def ! ea881c70575ca4e61f23c4c22754ecba gcc/config/rs6000/rs6000-c.cc ! 694d76219041e35b535b99b2ebc1e647 gcc/config/rs6000/rs6000-call.cc ! 67d3a89adef2cdc9c8320ff83e83b63d gcc/config/rs6000/rs6000-cpus.def c4bd99f21aa66eed69bd520b225485ef gcc/config/rs6000/rs6000-d.cc 9ec1220497ad19253e259bcf72531180 gcc/config/rs6000/rs6000-d.h e39af002491bc8a962f6b2f0cc7304de gcc/config/rs6000/rs6000-gen-builtins.cc *************** c153115d2136d49f3f4b6f7477797041 gcc/co *** 4735,4748 **** 63dc1084063d0b0e7ee538d3941b6990 gcc/config/rs6000/rs6000-passes.def 71cb7581d344fb01762cdd080bd833a5 gcc/config/rs6000/rs6000-pcrel-opt.cc 1d69f9a2848499db58524c55c1803b51 gcc/config/rs6000/rs6000-protos.h ! 371fdc38274c8f19c0079d100adc91c4 gcc/config/rs6000/rs6000-string.cc e6df0fb2cf41aa438e44a0a400ced1a4 gcc/config/rs6000/rs6000-tables.opt ! 48e0e542e73b5675a6588a8e6f28893e gcc/config/rs6000/rs6000.cc ! e65fb6f0bfb4b88a346fd3006fb5ea4e gcc/config/rs6000/rs6000.h ! 97e64f94d0089fc5f997d485bad4ab3c gcc/config/rs6000/rs6000.md ! d16831453dc0dec2a796ba21d6f984a9 gcc/config/rs6000/rs6000.opt 1f85593465476dff8f1a05954653d962 gcc/config/rs6000/rs64.md ! dd0028fa69924b6ab77e26d755d5b1e8 gcc/config/rs6000/rtems.h bb9d184abf8f6c8c3765d0979f9c9050 gcc/config/rs6000/secureplt.h fcfeeef0441253402f37264d272c84b5 gcc/config/rs6000/si2vmx.h fa89ac38426979c76ffce6119b4b95e2 gcc/config/rs6000/smmintrin.h --- 4736,4749 ---- 63dc1084063d0b0e7ee538d3941b6990 gcc/config/rs6000/rs6000-passes.def 71cb7581d344fb01762cdd080bd833a5 gcc/config/rs6000/rs6000-pcrel-opt.cc 1d69f9a2848499db58524c55c1803b51 gcc/config/rs6000/rs6000-protos.h ! df23a2df7c06e75bd39c82094b45b9b1 gcc/config/rs6000/rs6000-string.cc e6df0fb2cf41aa438e44a0a400ced1a4 gcc/config/rs6000/rs6000-tables.opt ! 345b02bdbfb1f1f6a24f57474b71f6e1 gcc/config/rs6000/rs6000.cc ! a7446c77f0bab5d43d72b7335e65868f gcc/config/rs6000/rs6000.h ! 6989bcd197d1e8f8524dd7ef318ac43d gcc/config/rs6000/rs6000.md ! 1991c9d8619e7b44de464dadd1d07778 gcc/config/rs6000/rs6000.opt 1f85593465476dff8f1a05954653d962 gcc/config/rs6000/rs64.md ! ce0d432b896bc7b4e10beccd1ffcdff4 gcc/config/rs6000/rtems.h bb9d184abf8f6c8c3765d0979f9c9050 gcc/config/rs6000/secureplt.h fcfeeef0441253402f37264d272c84b5 gcc/config/rs6000/si2vmx.h fa89ac38426979c76ffce6119b4b95e2 gcc/config/rs6000/smmintrin.h *************** f11925c88524d2fd457bf77944da1302 gcc/co *** 4777,4783 **** 11283c3d497b8f9e14d0f7b2e6c767e9 gcc/config/rs6000/tmmintrin.h 8a427618716df54fe24964916961793c gcc/config/rs6000/vec_types.h fc0103d6513257aadfcac62f4c7d98c3 gcc/config/rs6000/vector.md ! 8cd1c651effe3e6c5f3122dd159cd461 gcc/config/rs6000/vsx.md 4d40423d832e238fa189465ab2fed898 gcc/config/rs6000/vxworks.h 71931e4a1a4bd00dded5b5ed4292e9d4 gcc/config/rs6000/vxworksae.h cf7960e5b95d3ca2732d3e96e5f3c80f gcc/config/rs6000/vxworksmils.h --- 4778,4784 ---- 11283c3d497b8f9e14d0f7b2e6c767e9 gcc/config/rs6000/tmmintrin.h 8a427618716df54fe24964916961793c gcc/config/rs6000/vec_types.h fc0103d6513257aadfcac62f4c7d98c3 gcc/config/rs6000/vector.md ! 727798df6556562e61de3e4d025c3125 gcc/config/rs6000/vsx.md 4d40423d832e238fa189465ab2fed898 gcc/config/rs6000/vxworks.h 71931e4a1a4bd00dded5b5ed4292e9d4 gcc/config/rs6000/vxworksae.h cf7960e5b95d3ca2732d3e96e5f3c80f gcc/config/rs6000/vxworksmils.h *************** cceba0c8dc90312627444162a8078239 gcc/co *** 4865,4880 **** edd218d93f2616cdf22e23c86e41f678 gcc/config/sh/sh-mem.cc dafa05de62e4f5bb6c9b7a2ffb7a55df gcc/config/sh/sh-modes.def 4515312140f2002feb7cd75134f2c396 gcc/config/sh/sh-protos.h ! 3cd820b989f5e4714580821c3e0a5372 gcc/config/sh/sh.cc 37b97b8797def6afb72ea964a453eca5 gcc/config/sh/sh.h ! e30fdee87ae4cb265de8b19d52406c3d gcc/config/sh/sh.md b5bc1e3d906715c2267ae3b833e714a8 gcc/config/sh/sh.opt 3a51dff173dae73355e8cad1f8bd5866 gcc/config/sh/sh1.md 8980e2d146877b565a494bb33095eb9e gcc/config/sh/sh4-300.md b852aaa445a59d88a8600a18840b1fd6 gcc/config/sh/sh4.md 64234f0093a2c054203539b8c80dfd9f gcc/config/sh/sh4a.md ece0f82448d83858d029e0b41c3729fa gcc/config/sh/sh_optimize_sett_clrt.cc ! c65adb47c2a81fc24e51464333694208 gcc/config/sh/sh_treg_combine.cc 0c841c3e15c9c85d689edcc70c3c0372 gcc/config/sh/superh.h 06158b0f1e33501120db330d7734228d gcc/config/sh/superh.opt e203b5735f354602d01bbbdbc3a72c60 gcc/config/sh/sync.md --- 4866,4881 ---- edd218d93f2616cdf22e23c86e41f678 gcc/config/sh/sh-mem.cc dafa05de62e4f5bb6c9b7a2ffb7a55df gcc/config/sh/sh-modes.def 4515312140f2002feb7cd75134f2c396 gcc/config/sh/sh-protos.h ! 7ef91c629751307b5a6b3eb24862493b gcc/config/sh/sh.cc 37b97b8797def6afb72ea964a453eca5 gcc/config/sh/sh.h ! cb421e48d5ee6f1a768564c1b2975300 gcc/config/sh/sh.md b5bc1e3d906715c2267ae3b833e714a8 gcc/config/sh/sh.opt 3a51dff173dae73355e8cad1f8bd5866 gcc/config/sh/sh1.md 8980e2d146877b565a494bb33095eb9e gcc/config/sh/sh4-300.md b852aaa445a59d88a8600a18840b1fd6 gcc/config/sh/sh4.md 64234f0093a2c054203539b8c80dfd9f gcc/config/sh/sh4a.md ece0f82448d83858d029e0b41c3729fa gcc/config/sh/sh_optimize_sett_clrt.cc ! bf55fbded672d524889f222f35469e61 gcc/config/sh/sh_treg_combine.cc 0c841c3e15c9c85d689edcc70c3c0372 gcc/config/sh/superh.h 06158b0f1e33501120db330d7734228d gcc/config/sh/superh.opt e203b5735f354602d01bbbdbc3a72c60 gcc/config/sh/sync.md *************** bd3c25f5a3a340605210356043d8a922 gcc/co *** 4925,4937 **** 5fe50014653d9cf16747a02facbd8dda gcc/config/sparc/sparc-opts.h 6df273288aa59b1d947ac95b91451ebf gcc/config/sparc/sparc-passes.def 7cab410d6730137ed7525827eb7dec71 gcc/config/sparc/sparc-protos.h ! 5db45b56679308d5af7de2b5325fc8d2 gcc/config/sparc/sparc.cc 397877923c1572ea23e1df6650c428d9 gcc/config/sparc/sparc.h 21927b300584f83dad232c12e8f5e7c7 gcc/config/sparc/sparc.md a6106b074178cf1b60ed55d350cd9062 gcc/config/sparc/sparc.opt 99b46577eda89f715bc747c3af07c6bb gcc/config/sparc/sparclet.md 7cb40cf452f681faa258fb76bd35a9dc gcc/config/sparc/supersparc.md ! 7d3060af592414a4bb0bb392370e4a95 gcc/config/sparc/sync.md 4e20f9b37d1d1f8fd472aa300f0819e1 gcc/config/sparc/sysv4.h 03a49b7783f24fb0f8c1746c3792a1a3 gcc/config/sparc/t-elf ff942aeffa1f797a7e9198e3f5c80cf7 gcc/config/sparc/t-leon --- 4926,4938 ---- 5fe50014653d9cf16747a02facbd8dda gcc/config/sparc/sparc-opts.h 6df273288aa59b1d947ac95b91451ebf gcc/config/sparc/sparc-passes.def 7cab410d6730137ed7525827eb7dec71 gcc/config/sparc/sparc-protos.h ! 5d31efa5a694529a67e4950d46e736da gcc/config/sparc/sparc.cc 397877923c1572ea23e1df6650c428d9 gcc/config/sparc/sparc.h 21927b300584f83dad232c12e8f5e7c7 gcc/config/sparc/sparc.md a6106b074178cf1b60ed55d350cd9062 gcc/config/sparc/sparc.opt 99b46577eda89f715bc747c3af07c6bb gcc/config/sparc/sparclet.md 7cb40cf452f681faa258fb76bd35a9dc gcc/config/sparc/supersparc.md ! 52c93e5f81140d70628ef4b0c4424ea9 gcc/config/sparc/sync.md 4e20f9b37d1d1f8fd472aa300f0819e1 gcc/config/sparc/sysv4.h 03a49b7783f24fb0f8c1746c3792a1a3 gcc/config/sparc/t-elf ff942aeffa1f797a7e9198e3f5c80cf7 gcc/config/sparc/t-leon *************** c02c2e60a2b7403e97217854b6697545 gcc/co *** 5003,5009 **** 597b2b86de45d65cf90f3e85fea6d187 gcc/config/vax/predicates.md 51cde4f364613aca605ed85aae2bc8f1 gcc/config/vax/vax-modes.def 8f8e1b1a1dc2614e0b2b036dd47fb5bc gcc/config/vax/vax-protos.h ! 1b85e49a822b1e35b2f7d78e1ff2ea68 gcc/config/vax/vax.cc 4a28295dcd9cad1669329908a7982023 gcc/config/vax/vax.h 00059b8f723cd17f61829ad0b035118e gcc/config/vax/vax.md 41d56a166600eba6041cd52c0e1fedfd gcc/config/vax/vax.opt --- 5004,5010 ---- 597b2b86de45d65cf90f3e85fea6d187 gcc/config/vax/predicates.md 51cde4f364613aca605ed85aae2bc8f1 gcc/config/vax/vax-modes.def 8f8e1b1a1dc2614e0b2b036dd47fb5bc gcc/config/vax/vax-protos.h ! b44ad2f7c6bccd8179fbeb0c77a09f40 gcc/config/vax/vax.cc 4a28295dcd9cad1669329908a7982023 gcc/config/vax/vax.h 00059b8f723cd17f61829ad0b035118e gcc/config/vax/vax.md 41d56a166600eba6041cd52c0e1fedfd gcc/config/vax/vax.opt *************** a4baca0de6c668e4a7a0a2d70a4333b2 gcc/co *** 5017,5023 **** 45e46ff334aa42b8d3620d28586f8595 gcc/config/visium/visium-opts.h d9382ccf10982cccc9aa9efc2c0cfa07 gcc/config/visium/visium-passes.def 48b962e0c1f6686e7edb25596596cf88 gcc/config/visium/visium-protos.h ! 7d8b96f6775b61ff68bf1621495f71af gcc/config/visium/visium.cc c2baa5580de52322c5c3aa78fd2f75ee gcc/config/visium/visium.h 614b79d326d85ca3cf807a4173d4aefb gcc/config/visium/visium.md a528e0e6b8b1a9600fc5914330066181 gcc/config/visium/visium.opt --- 5018,5024 ---- 45e46ff334aa42b8d3620d28586f8595 gcc/config/visium/visium-opts.h d9382ccf10982cccc9aa9efc2c0cfa07 gcc/config/visium/visium-passes.def 48b962e0c1f6686e7edb25596596cf88 gcc/config/visium/visium-protos.h ! 7acaed778f3cefc05593f33537eee998 gcc/config/visium/visium.cc c2baa5580de52322c5c3aa78fd2f75ee gcc/config/visium/visium.h 614b79d326d85ca3cf807a4173d4aefb gcc/config/visium/visium.md a528e0e6b8b1a9600fc5914330066181 gcc/config/visium/visium.opt *************** aacbf1e83201eb77692a157d6e3c5f45 gcc/co *** 5076,5083 **** ffa27afe9bfa1c3d0a00c4512eb2c4b5 gcc/config/xtensa/xtensa.h f88fbbab5f3aff39a56b40c7929d2048 gcc/config/xtensa/xtensa.md f10ec7eaade722a89338c0ffe897f9e2 gcc/config/xtensa/xtensa.opt ! 679b5e9e43683c9d55a3322387f7ab5d gcc/configure ! f0d24ec4d54f5ae9dc142db1c09e8dde gcc/configure.ac 229f188a38efc970482185093cf21584 gcc/context.cc 1ad60ec65e12637c35bfaf841220544d gcc/context.h bc123b739cfba026c4d6ce3b43313c55 gcc/convert.cc --- 5077,5084 ---- ffa27afe9bfa1c3d0a00c4512eb2c4b5 gcc/config/xtensa/xtensa.h f88fbbab5f3aff39a56b40c7929d2048 gcc/config/xtensa/xtensa.md f10ec7eaade722a89338c0ffe897f9e2 gcc/config/xtensa/xtensa.opt ! 87b43c907023cfe30b19f2685bbf8c35 gcc/configure ! 6310bc56e32ce72f84b9d1dc10ffecf5 gcc/configure.ac 229f188a38efc970482185093cf21584 gcc/context.cc 1ad60ec65e12637c35bfaf841220544d gcc/context.h bc123b739cfba026c4d6ce3b43313c55 gcc/convert.cc *************** a92be6f532ece352cab8309520cf28f0 gcc/co *** 5087,5093 **** 6614aac0ce8960f693faf880a7560bc5 gcc/coroutine-passes.cc 9d6931fedff9a87a6266d15841579e67 gcc/coverage.cc b964f4291cd58a61a06769149429435f gcc/coverage.h ! 6c257cab94470a84a5be4ae099dcd5de gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 --- 5088,5094 ---- 6614aac0ce8960f693faf880a7560bc5 gcc/coroutine-passes.cc 9d6931fedff9a87a6266d15841579e67 gcc/coverage.cc b964f4291cd58a61a06769149429435f gcc/coverage.h ! bb77bc9456283dc57608572427e4d2ec gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 *************** cb06dcbb3232403bb30ebd0d7d1feae1 gcc/cp *** 5121,5160 **** c1c7801b9b0f379e702a4f6cb83972e7 gcc/cp/ChangeLog.ptr 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa d75ff9438918fb614a4d72f7ca8b08e8 gcc/cp/Make-lang.in ! f75bae2465fe685d86a1237a556df9c1 gcc/cp/call.cc 002c198593210fa169a51ff63dd31f2a gcc/cp/cfns.gperf 896d83eec5aaaa6e6d65eaf91d39d283 gcc/cp/cfns.h ! 5d91035b1ad071a1bc5d395865b048e4 gcc/cp/class.cc b0062ee9c9d42ee91eaf7512f6e1e0be gcc/cp/config-lang.in ! a10a1f95dcb423d06e40820d59f10c1f gcc/cp/constexpr.cc ! 62c5fb7a0e751cb87d4d60216ecec85a gcc/cp/constraint.cc ! 7252037f52ba41e16614c507df7343df gcc/cp/contracts.cc 3fff7a95b0ebd54a1f3f2b2ace365aae gcc/cp/contracts.h 6fb5d560bb71f24a7b95bcc1c3075968 gcc/cp/coroutines.cc ! 1dfbdfc122218e634a79fff96ac660e4 gcc/cp/cp-gimplify.cc 763112e63cfba590bfc20b96b0ea7682 gcc/cp/cp-lang.cc 7e2d55513904b00505ff25684de6b935 gcc/cp/cp-name-hint.h 9f5255a2208bbea4c0b0a31667896ad4 gcc/cp/cp-objcp-common.cc 44864edbff7221ce5b72f9f551fe9269 gcc/cp/cp-objcp-common.h 1ff6ed82de7381c392b01839746c2f74 gcc/cp/cp-trait.def d6887ccac1e3a9dea9c2908ef57ec747 gcc/cp/cp-tree.def ! cd865832f76f5fbb032bd4fe31ce30a4 gcc/cp/cp-tree.h b65da920bdc209a44d1cba37f4a1e4a7 gcc/cp/cp-ubsan.cc 7c8cb89616dfd4228ce7017a63abd999 gcc/cp/cvt.cc ! 19039aafd1782b27e26a94ad2316d35e gcc/cp/cxx-pretty-print.cc e0aeb037cb4d8ca738781ded46d00a5d gcc/cp/cxx-pretty-print.h c1b4ec8db711e8a297a5d4e85d0aeb7e gcc/cp/cxxapi-data.csv ! c81d2b6ccb2c7e61881fbacd500fc0af gcc/cp/decl.cc 04eca9fc6dc327f816ff062ad8e899a5 gcc/cp/decl.h ! 2757764f5578221e1ff34594bcf308a8 gcc/cp/decl2.cc c00489cd7633dcb8caed5defda9fdc95 gcc/cp/dump.cc 1bcab327fe1f6fb1402f82439488dce5 gcc/cp/error.cc ! 2ca4744679ca833e05a3cd3104dea7b9 gcc/cp/except.cc 15a221742a7bc56a599ea1bf93e7e0b0 gcc/cp/expr.cc 281fa9e99941b10d92e580b8d8b19a97 gcc/cp/friend.cc 38d795f01430a0d433f133d955f161f4 gcc/cp/g++spec.cc aae4769663c02dfe48e64b7622706074 gcc/cp/gen-cxxapi-file.py ! 885b70aa6cf13edf98d7591a566d67ff gcc/cp/init.cc 6bd222a6b8cbe1c6cc29ff623d02ab70 gcc/cp/lambda.cc 0c9e7039d9e6c649820e714e1877a4c3 gcc/cp/lang-specs.h f6faa21098c86eb47a6c838ddfcdca1b gcc/cp/lex.cc --- 5122,5161 ---- c1c7801b9b0f379e702a4f6cb83972e7 gcc/cp/ChangeLog.ptr 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa d75ff9438918fb614a4d72f7ca8b08e8 gcc/cp/Make-lang.in ! ec12127a1728ea54bbf497a9af41918b gcc/cp/call.cc 002c198593210fa169a51ff63dd31f2a gcc/cp/cfns.gperf 896d83eec5aaaa6e6d65eaf91d39d283 gcc/cp/cfns.h ! 0b2a03d49770c4eace1cd0be60ee4b69 gcc/cp/class.cc b0062ee9c9d42ee91eaf7512f6e1e0be gcc/cp/config-lang.in ! 3f8ca07280cef3f0bc2ff56a77347cee gcc/cp/constexpr.cc ! c86a86eac49d994369ce26823c3a5da2 gcc/cp/constraint.cc ! 84844f7fa5d484f9d95f78e6da6c51e2 gcc/cp/contracts.cc 3fff7a95b0ebd54a1f3f2b2ace365aae gcc/cp/contracts.h 6fb5d560bb71f24a7b95bcc1c3075968 gcc/cp/coroutines.cc ! ebeaa808f85fa8a261591cd99ad1e7b0 gcc/cp/cp-gimplify.cc 763112e63cfba590bfc20b96b0ea7682 gcc/cp/cp-lang.cc 7e2d55513904b00505ff25684de6b935 gcc/cp/cp-name-hint.h 9f5255a2208bbea4c0b0a31667896ad4 gcc/cp/cp-objcp-common.cc 44864edbff7221ce5b72f9f551fe9269 gcc/cp/cp-objcp-common.h 1ff6ed82de7381c392b01839746c2f74 gcc/cp/cp-trait.def d6887ccac1e3a9dea9c2908ef57ec747 gcc/cp/cp-tree.def ! 49effe4df0b1fb0ce008f9d0f3a46f83 gcc/cp/cp-tree.h b65da920bdc209a44d1cba37f4a1e4a7 gcc/cp/cp-ubsan.cc 7c8cb89616dfd4228ce7017a63abd999 gcc/cp/cvt.cc ! 0f2a998ba44768f9ca6fbf7c608096bb gcc/cp/cxx-pretty-print.cc e0aeb037cb4d8ca738781ded46d00a5d gcc/cp/cxx-pretty-print.h c1b4ec8db711e8a297a5d4e85d0aeb7e gcc/cp/cxxapi-data.csv ! 1c773040c95a2e867c49d5ce900b5650 gcc/cp/decl.cc 04eca9fc6dc327f816ff062ad8e899a5 gcc/cp/decl.h ! 0671577dde455ea68fcde37fb14f8b06 gcc/cp/decl2.cc c00489cd7633dcb8caed5defda9fdc95 gcc/cp/dump.cc 1bcab327fe1f6fb1402f82439488dce5 gcc/cp/error.cc ! 84cc118eb988fc2b48cffcc665159d9c gcc/cp/except.cc 15a221742a7bc56a599ea1bf93e7e0b0 gcc/cp/expr.cc 281fa9e99941b10d92e580b8d8b19a97 gcc/cp/friend.cc 38d795f01430a0d433f133d955f161f4 gcc/cp/g++spec.cc aae4769663c02dfe48e64b7622706074 gcc/cp/gen-cxxapi-file.py ! 7c64a139cba229698f3e116f6bb23759 gcc/cp/init.cc 6bd222a6b8cbe1c6cc29ff623d02ab70 gcc/cp/lambda.cc 0c9e7039d9e6c649820e714e1877a4c3 gcc/cp/lang-specs.h f6faa21098c86eb47a6c838ddfcdca1b gcc/cp/lex.cc *************** f6faa21098c86eb47a6c838ddfcdca1b gcc/cp *** 5163,5186 **** c7cdcc0d91396db6f388061dec91b1bb gcc/cp/mapper-client.cc 73e96c254c4c826c654b7a43099710d0 gcc/cp/mapper-client.h ad0c37db747b2c38777b4746b7e9ccd8 gcc/cp/mapper-resolver.cc ! 911529d3bd5ea82ab15eec9377a74f92 gcc/cp/method.cc e99f1c941daa60c220221a5bef64116b gcc/cp/module.cc 8740c7c9f2fd38589ccc750f2f0a9455 gcc/cp/name-lookup.cc 340bb6c30bc1451bc4e2aee47ac22c19 gcc/cp/name-lookup.h 8cef47f00b2658d60aa8aeac08d34464 gcc/cp/operators.def f85201a1e836c959c5c786648cc6d972 gcc/cp/optimize.cc ! 9c4ee6bcd200a2a8bc0a7628e6ccf53c gcc/cp/parser.cc fbb3d4644cdc4c0c8d47620a0b3a8094 gcc/cp/parser.h ! c24d846d950dad2d56c7ff87aed35883 gcc/cp/pt.cc d03dc5c4f806d6a6841801d7d7d0080c gcc/cp/ptree.cc fe1c482387564398745b4aeef90dacd0 gcc/cp/rtti.cc 28a680085dafc994c4c8136245441f35 gcc/cp/search.cc ! 3a19b64c9f4bca65b58eb13e80d1d6ff gcc/cp/semantics.cc fb2be2f3133f876739c03004015d47f5 gcc/cp/std-name-hint.gperf d26ed61dc964da99efa5bf2bcab640d9 gcc/cp/std-name-hint.h ! 9b4cf266285352571496b1adf2e6e546 gcc/cp/tree.cc 48f7db9af3b30491ed4f238605782993 gcc/cp/type-utils.h ! d1fe36073ff82f15c59bc8e37bfe5fd6 gcc/cp/typeck.cc b1207dce713a8592cfcb8c93046aa983 gcc/cp/typeck2.cc d1622a9e8d6f8df6c5834932b9488b97 gcc/cp/vtable-class-hierarchy.cc 2597401b7544997a7f6e4811a977c2c8 gcc/cppbuiltin.cc --- 5164,5187 ---- c7cdcc0d91396db6f388061dec91b1bb gcc/cp/mapper-client.cc 73e96c254c4c826c654b7a43099710d0 gcc/cp/mapper-client.h ad0c37db747b2c38777b4746b7e9ccd8 gcc/cp/mapper-resolver.cc ! a87e8c8c6f292810c6635b6886f41185 gcc/cp/method.cc e99f1c941daa60c220221a5bef64116b gcc/cp/module.cc 8740c7c9f2fd38589ccc750f2f0a9455 gcc/cp/name-lookup.cc 340bb6c30bc1451bc4e2aee47ac22c19 gcc/cp/name-lookup.h 8cef47f00b2658d60aa8aeac08d34464 gcc/cp/operators.def f85201a1e836c959c5c786648cc6d972 gcc/cp/optimize.cc ! a0344d59ee743b822955878910c7ae88 gcc/cp/parser.cc fbb3d4644cdc4c0c8d47620a0b3a8094 gcc/cp/parser.h ! b47e3d7430e000372d51cc1a61a7d517 gcc/cp/pt.cc d03dc5c4f806d6a6841801d7d7d0080c gcc/cp/ptree.cc fe1c482387564398745b4aeef90dacd0 gcc/cp/rtti.cc 28a680085dafc994c4c8136245441f35 gcc/cp/search.cc ! b623e7998bfd836736ee07ee2506cb51 gcc/cp/semantics.cc fb2be2f3133f876739c03004015d47f5 gcc/cp/std-name-hint.gperf d26ed61dc964da99efa5bf2bcab640d9 gcc/cp/std-name-hint.h ! f702f84b6d0740b12c921e823b821a0b gcc/cp/tree.cc 48f7db9af3b30491ed4f238605782993 gcc/cp/type-utils.h ! c9726c191a0ee80997a9688c5205b786 gcc/cp/typeck.cc b1207dce713a8592cfcb8c93046aa983 gcc/cp/typeck2.cc d1622a9e8d6f8df6c5834932b9488b97 gcc/cp/vtable-class-hierarchy.cc 2597401b7544997a7f6e4811a977c2c8 gcc/cppbuiltin.cc *************** b1e287d0d0732952fad4f20cefc2aa7e gcc/cs *** 5195,5201 **** a667c8581cf5009d6af17f19f1186065 gcc/ctfc.cc 9881edbbb726db4859766d0a32beb6a7 gcc/ctfc.h 744cafae198aaa990e1c303aa66f0504 gcc/ctfout.cc ! 04f22295850b93b5d19656cdc179dbc9 gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 --- 5196,5202 ---- a667c8581cf5009d6af17f19f1186065 gcc/ctfc.cc 9881edbbb726db4859766d0a32beb6a7 gcc/ctfc.h 744cafae198aaa990e1c303aa66f0504 gcc/ctfout.cc ! b1fca2dd052a9ea6069d7e1303834a31 gcc/d/ChangeLog 86f687c485111eedca2eb048294f957e gcc/d/ChangeLog-2006 70ed1c47fd9b3f5dd95055642ed79265 gcc/d/ChangeLog-2007 a7090ab2dd83aa4f44823c17566b83ef gcc/d/ChangeLog-2008 *************** c5d7dbe4d1b63f56eeee925e03e3eaca gcc/d/ *** 5217,5226 **** 426254b45d40584d0597c63f3fd1f889 gcc/d/README.gcc 758e5fe316e70ac29cdf3b2f894655eb gcc/d/config-lang.in 85746b2dfddc127a55b01ebb697bf36d gcc/d/d-attribs.cc ! e5f210f7bf09e2a85096eeaa11306625 gcc/d/d-builtins.cc ! 56dd9f6c16a9b83ebcb1badf5b346dd7 gcc/d/d-codegen.cc 971f4804175b7a391dcd1281695fa5a2 gcc/d/d-compiler.cc ! a357b9fb56358db83da9c1deaea52654 gcc/d/d-convert.cc 93b3db7f73e5e1032c65e1f7ebdd23dd gcc/d/d-ctfloat.cc b983a82870c682654e0b4a768273922d gcc/d/d-diagnostic.cc 35453b303e365085046bccb08e0d9adc gcc/d/d-frontend.cc --- 5218,5227 ---- 426254b45d40584d0597c63f3fd1f889 gcc/d/README.gcc 758e5fe316e70ac29cdf3b2f894655eb gcc/d/config-lang.in 85746b2dfddc127a55b01ebb697bf36d gcc/d/d-attribs.cc ! 8348e5c20fb3ad49d06d69cffb935c47 gcc/d/d-builtins.cc ! c147a5e413aca0c7adf6b23d59d449ec gcc/d/d-codegen.cc 971f4804175b7a391dcd1281695fa5a2 gcc/d/d-compiler.cc ! 6677da531b8c8e5f00f6772e6c4a0ed4 gcc/d/d-convert.cc 93b3db7f73e5e1032c65e1f7ebdd23dd gcc/d/d-ctfloat.cc b983a82870c682654e0b4a768273922d gcc/d/d-diagnostic.cc 35453b303e365085046bccb08e0d9adc gcc/d/d-frontend.cc *************** ce6b33dda672c5a4dd51d395bb584cb5 gcc/d/ *** 5233,5244 **** 185499ceba21feb6f33c538ec84ccc2b gcc/d/d-spec.cc 3d5fc447a9af0885c21b752580606718 gcc/d/d-system.h 702fee3dac729038fda2766339cd7526 gcc/d/d-target-def.h ! 6594f17a5096da1202690c6b82ac5922 gcc/d/d-target.cc 2486691b93c0575a1b386f8a4c476f94 gcc/d/d-target.def 0ef8ddb83bcd9713cc0bc91299edff2c gcc/d/d-target.h df7deb9723aa01d867aaeec5d746c208 gcc/d/d-tree.def ! d5794386bd49a6ff05384866457f490f gcc/d/d-tree.h ! 5dfa8ad57f44a2ccef5f353a14eb0aa2 gcc/d/decl.cc 2d7446d51cf4738aad1c8ceb43174a72 gcc/d/dmd/MERGE 39fa65f9345bb0319180e90c1912a1ae gcc/d/dmd/README.md dde7939f1c35c9e979832ac123e5692f gcc/d/dmd/VERSION --- 5234,5245 ---- 185499ceba21feb6f33c538ec84ccc2b gcc/d/d-spec.cc 3d5fc447a9af0885c21b752580606718 gcc/d/d-system.h 702fee3dac729038fda2766339cd7526 gcc/d/d-target-def.h ! fbc8000ee222d6ad5a0e1c6e84a312d4 gcc/d/d-target.cc 2486691b93c0575a1b386f8a4c476f94 gcc/d/d-target.def 0ef8ddb83bcd9713cc0bc91299edff2c gcc/d/d-target.h df7deb9723aa01d867aaeec5d746c208 gcc/d/d-tree.def ! 8bb261b53d8eeeb70c0c97ed965aacc2 gcc/d/d-tree.h ! be8dd0191d9920057e3ed061f469aeef gcc/d/decl.cc 2d7446d51cf4738aad1c8ceb43174a72 gcc/d/dmd/MERGE 39fa65f9345bb0319180e90c1912a1ae gcc/d/dmd/README.md dde7939f1c35c9e979832ac123e5692f gcc/d/dmd/VERSION *************** c9a7dddb98d89035d4e0853147d7fb06 gcc/d/ *** 5413,5419 **** 0e19f04aef543d4fabb6ec79def5b2df gcc/d/dmd/version.h f9c518566ad51d0492965951bb50bc49 gcc/d/dmd/visitor.d 0479d55eda5ee9de0e2106ae722ad649 gcc/d/dmd/visitor.h ! 4486b7c921a2a18ba53826e75a6c19d7 gcc/d/expr.cc 7c8d068883546d6053ab89a4aa3ad55c gcc/d/gdc.texi 09d8459a6a0334281c058ddbf35b079a gcc/d/implement-d.texi e4c10d0521a4da4ca6e2b2c3f697716c gcc/d/imports.cc --- 5414,5420 ---- 0e19f04aef543d4fabb6ec79def5b2df gcc/d/dmd/version.h f9c518566ad51d0492965951bb50bc49 gcc/d/dmd/visitor.d 0479d55eda5ee9de0e2106ae722ad649 gcc/d/dmd/visitor.h ! b65288e6e53cfaffacca937e6804af3a gcc/d/expr.cc 7c8d068883546d6053ab89a4aa3ad55c gcc/d/gdc.texi 09d8459a6a0334281c058ddbf35b079a gcc/d/implement-d.texi e4c10d0521a4da4ca6e2b2c3f697716c gcc/d/imports.cc *************** f48e7f23e5575562bfba2a7778e519f4 gcc/d/ *** 5422,5433 **** a21521366267b1a7b68ceb6ce15a9246 gcc/d/lang-specs.h 3a84c708114b1f0e47fcf7d131e2b560 gcc/d/lang.opt 170eed96a8d3563a9bcb03ac0fc59cbc gcc/d/longdouble.h ! 2196710b2e6916e3d18e9146321d8b8d gcc/d/modules.cc b1d8cca7f88b3b7a419bdaad940457c0 gcc/d/runtime.cc 7fbf81ad217c5efa6f267572778e7ab8 gcc/d/runtime.def 48b3a4ef1af87b926e52c50d3bc81595 gcc/d/toir.cc 168e3e721d8dc43fb9d250ca847af79a gcc/d/typeinfo.cc ! 105a988a58700c3caab038fb30ba22a1 gcc/d/types.cc accc2d7f211bb139fde71fcb94dbbf92 gcc/data-streamer-in.cc 888eb4c7a007875545f7f89fa223643c gcc/data-streamer-out.cc 047c64792c9f1e60b4b6498df8817c94 gcc/data-streamer.cc --- 5423,5434 ---- a21521366267b1a7b68ceb6ce15a9246 gcc/d/lang-specs.h 3a84c708114b1f0e47fcf7d131e2b560 gcc/d/lang.opt 170eed96a8d3563a9bcb03ac0fc59cbc gcc/d/longdouble.h ! ca14a2291c78c98288cc3bbba9ab63d5 gcc/d/modules.cc b1d8cca7f88b3b7a419bdaad940457c0 gcc/d/runtime.cc 7fbf81ad217c5efa6f267572778e7ab8 gcc/d/runtime.def 48b3a4ef1af87b926e52c50d3bc81595 gcc/d/toir.cc 168e3e721d8dc43fb9d250ca847af79a gcc/d/typeinfo.cc ! 4073f5e4b70d8e8697305fb5544b99f9 gcc/d/types.cc accc2d7f211bb139fde71fcb94dbbf92 gcc/data-streamer-in.cc 888eb4c7a007875545f7f89fa223643c gcc/data-streamer-out.cc 047c64792c9f1e60b4b6498df8817c94 gcc/data-streamer.cc *************** b5cf698f62fc897667ca73b3cf884ea2 gcc/di *** 5461,5473 **** 1ef25caa15e3cb5ab9492b923312e4cc gcc/diagnostic-spec.cc 0aa96cf64ff55c2058c4f77d12b1f9b7 gcc/diagnostic-spec.h aec86f5bdff3085fdd00d7f8271d8bd0 gcc/diagnostic-url.h ! aea92e8e3db548d1fddcbe984981c95d gcc/diagnostic.cc d80c9704cdea98d063f65ef7fae04621 gcc/diagnostic.def e927561ee87ffd471419ab7c04a9c03d gcc/diagnostic.h 768604617d8710f1848e11fd6d4f6713 gcc/digraph.cc 1309ef041fe49676049fddd61225f25e gcc/digraph.h ed4a41716cd834ae3e0120f4e94f21f6 gcc/doc/analyzer.texi ! a7b783d8787a7a0422d75987f7ae4605 gcc/doc/avr-mmcu.texi b55159f9c9fbeadedbd6a971434bef5e gcc/doc/bugreport.texi 97af20afa0c976df424f847ab0e7072d gcc/doc/cfg.texi 8784212b864de1903df4a7574095012f gcc/doc/collect2.texi --- 5462,5474 ---- 1ef25caa15e3cb5ab9492b923312e4cc gcc/diagnostic-spec.cc 0aa96cf64ff55c2058c4f77d12b1f9b7 gcc/diagnostic-spec.h aec86f5bdff3085fdd00d7f8271d8bd0 gcc/diagnostic-url.h ! 5f9e7d5e357718ba41664aa23b032e18 gcc/diagnostic.cc d80c9704cdea98d063f65ef7fae04621 gcc/diagnostic.def e927561ee87ffd471419ab7c04a9c03d gcc/diagnostic.h 768604617d8710f1848e11fd6d4f6713 gcc/digraph.cc 1309ef041fe49676049fddd61225f25e gcc/digraph.h ed4a41716cd834ae3e0120f4e94f21f6 gcc/doc/analyzer.texi ! a867d1bbc22658274c90a78fd6d010c3 gcc/doc/avr-mmcu.texi b55159f9c9fbeadedbd6a971434bef5e gcc/doc/bugreport.texi 97af20afa0c976df424f847ab0e7072d gcc/doc/cfg.texi 8784212b864de1903df4a7574095012f gcc/doc/collect2.texi *************** ab5a29a444213b7a4b7edbae0720adf0 gcc/do *** 5476,5482 **** 8c23b33261e6d434a3bb388d13bf9750 gcc/doc/configterms.texi 41fe29b312b42ee001aa367476b9444e gcc/doc/contrib.texi 42159646cb48b375710fd78e3dd6e6b4 gcc/doc/contribute.texi ! d07fea714f0e50400adcc4362cd75000 gcc/doc/cpp.1 49ae2819f851d04602cabadd39edfe4b gcc/doc/cpp.info 6d296baf9bec85f59c79959e355efb3b gcc/doc/cpp.texi 417eef489bd26f8def602795e86741fa gcc/doc/cppdiropts.texi --- 5477,5483 ---- 8c23b33261e6d434a3bb388d13bf9750 gcc/doc/configterms.texi 41fe29b312b42ee001aa367476b9444e gcc/doc/contrib.texi 42159646cb48b375710fd78e3dd6e6b4 gcc/doc/contribute.texi ! a8e1d7e792b1e9c9e6e58fee4188b0f0 gcc/doc/cpp.1 49ae2819f851d04602cabadd39edfe4b gcc/doc/cpp.info 6d296baf9bec85f59c79959e355efb3b gcc/doc/cpp.texi 417eef489bd26f8def602795e86741fa gcc/doc/cppdiropts.texi *************** d07fea714f0e50400adcc4362cd75000 gcc/do *** 5485,5514 **** 60a3fa41bf1f6e279008366c78cb007c gcc/doc/cppinternals.texi 8d68aa98b0af8010285255a92aea623d gcc/doc/cppopts.texi 50173f3902d3d3c6e3bdb1a4f9044352 gcc/doc/cppwarnopts.texi ! de9f1681bbc35c543ab2490f0e8dd58f gcc/doc/extend.texi 9da857d64fdcfd6b1982a75cf86bc597 gcc/doc/fragments.texi e3892bc4361a803d8c568c54c20cbcd9 gcc/doc/frontends.texi ! 5f6bc7e5c4c521300cd18778b68d8fd2 gcc/doc/fsf-funding.7 ! a18ebe214e53a3965ecff99dc457997d gcc/doc/g++.1 ! a18ebe214e53a3965ecff99dc457997d gcc/doc/gcc.1 ! dff164c803209e063a3a2b114f0ea118 gcc/doc/gcc.info 295291ec7baa70b04da2b1b6ecffee99 gcc/doc/gcc.texi b732036db666d1191019593ac6523278 gcc/doc/gccinstall.info ! 71735687030d23b86525032eba345d28 gcc/doc/gccint.info edc0e7584ec44bfd909e0126057141b2 gcc/doc/gccint.texi ! ca673ae41a2db647e0df20c0b09692ae gcc/doc/gcov-dump.1 8cbf639fe99f374f9e305a031d0d6736 gcc/doc/gcov-dump.texi ! 2014016d36051f6f9cb5a0b6e3c6de0d gcc/doc/gcov-tool.1 a4e8708b41fe686d6ecdc5246226e3e3 gcc/doc/gcov-tool.texi ! df57440b075cc7bcb04de0db151733e7 gcc/doc/gcov.1 ccaf4e1393ac66805b8317145261710e gcc/doc/gcov.texi ! 3c202146fad27388f5ad6ed27eb061ab gcc/doc/generic.texi ! 7b702682c71f720abeeadd60f2699b0b gcc/doc/gfdl.7 ! 4cc8d0399c6575ec328eaefab9c0e5b3 gcc/doc/gfortran.1 5630240c5ef619f03fc1bd750bde7b61 gcc/doc/gimple.texi ! beb3e1a9cc10e38f6c8c8aa22f36d578 gcc/doc/gm2.texi dc4ccd9843d88bc01c909438dabfd6ab gcc/doc/gnu.texi ! fb81f5a2e71fedbf6ce25b1b5a7f9a82 gcc/doc/gpl.7 9c051a6abfe79317ad83904f042d2738 gcc/doc/gty.texi 42ebfb9fc08dafdae427760be5354428 gcc/doc/headerdirs.texi 971cd503a0a7fde3063283de000ba2ea gcc/doc/hostconfig.texi --- 5486,5515 ---- 60a3fa41bf1f6e279008366c78cb007c gcc/doc/cppinternals.texi 8d68aa98b0af8010285255a92aea623d gcc/doc/cppopts.texi 50173f3902d3d3c6e3bdb1a4f9044352 gcc/doc/cppwarnopts.texi ! c9d626cddd1834c0ba5e2873f02457e8 gcc/doc/extend.texi 9da857d64fdcfd6b1982a75cf86bc597 gcc/doc/fragments.texi e3892bc4361a803d8c568c54c20cbcd9 gcc/doc/frontends.texi ! b852f290c51302f498c989ae34ae4f51 gcc/doc/fsf-funding.7 ! e17b8861bdbfbf59ce4f73676768c0e5 gcc/doc/g++.1 ! e17b8861bdbfbf59ce4f73676768c0e5 gcc/doc/gcc.1 ! 60abc80f2940b58eff118acd14da72e0 gcc/doc/gcc.info 295291ec7baa70b04da2b1b6ecffee99 gcc/doc/gcc.texi b732036db666d1191019593ac6523278 gcc/doc/gccinstall.info ! 088501367f66714fa52df3a8ad68e5df gcc/doc/gccint.info edc0e7584ec44bfd909e0126057141b2 gcc/doc/gccint.texi ! 7d753ca9c33d087d4a5d5ce786ade385 gcc/doc/gcov-dump.1 8cbf639fe99f374f9e305a031d0d6736 gcc/doc/gcov-dump.texi ! ddc19da1be3d7e41e50ae0a590b61bd9 gcc/doc/gcov-tool.1 a4e8708b41fe686d6ecdc5246226e3e3 gcc/doc/gcov-tool.texi ! bc47867d4f6d14fa5c4e3b722e455454 gcc/doc/gcov.1 ccaf4e1393ac66805b8317145261710e gcc/doc/gcov.texi ! 87c3d3669bc27263b6c7fc5d7fdd7c28 gcc/doc/generic.texi ! 092f61edeaf91879c1e810d03dfc1e98 gcc/doc/gfdl.7 ! 3bd3cb0bc6bf0810b71430020d7c65ae gcc/doc/gfortran.1 5630240c5ef619f03fc1bd750bde7b61 gcc/doc/gimple.texi ! 8c5e921b4436013be7b3d375620753f6 gcc/doc/gm2.texi dc4ccd9843d88bc01c909438dabfd6ab gcc/doc/gnu.texi ! b19fdf31fc3820291b92af073c841bd6 gcc/doc/gpl.7 9c051a6abfe79317ad83904f042d2738 gcc/doc/gty.texi 42ebfb9fc08dafdae427760be5354428 gcc/doc/headerdirs.texi 971cd503a0a7fde3063283de000ba2ea gcc/doc/hostconfig.texi *************** e9b8122841fbfbbc30fee8ed6613c399 gcc/do *** 5522,5532 **** b4c57b64e59441421fbf276de0639649 gcc/doc/install.texi 0f44cc63abf9b607d1b8880175256326 gcc/doc/install.texi2html 34b99c10f577dd2da256de717941c862 gcc/doc/interface.texi ! 55ad18e9b402499ef9a472b0b6b83c21 gcc/doc/invoke.texi f64676ceacf4c713f83bad704dbc5eaf gcc/doc/languages.texi e36a87d027eabff1a8595ee341342560 gcc/doc/libgcc.texi 8b6fb2575a94998971924157a5cabfd8 gcc/doc/loop.texi ! 33a55b87ecaa69e598e9a8a8c06a6bfe gcc/doc/lto-dump.1 ecfae67b5004f374351f0448f9b764e0 gcc/doc/lto-dump.texi a1c3440fcd17355fcd9956685728338c gcc/doc/lto.texi e215e75acc6a49ab683dd3a4560fb7f8 gcc/doc/makefile.texi --- 5523,5533 ---- b4c57b64e59441421fbf276de0639649 gcc/doc/install.texi 0f44cc63abf9b607d1b8880175256326 gcc/doc/install.texi2html 34b99c10f577dd2da256de717941c862 gcc/doc/interface.texi ! 7185e26012c0f86bde3d7b2b84727445 gcc/doc/invoke.texi f64676ceacf4c713f83bad704dbc5eaf gcc/doc/languages.texi e36a87d027eabff1a8595ee341342560 gcc/doc/libgcc.texi 8b6fb2575a94998971924157a5cabfd8 gcc/doc/loop.texi ! 707c9852b8200182b17ffa5a98efe6b4 gcc/doc/lto-dump.1 ecfae67b5004f374351f0448f9b764e0 gcc/doc/lto-dump.texi a1c3440fcd17355fcd9956685728338c gcc/doc/lto.texi e215e75acc6a49ab683dd3a4560fb7f8 gcc/doc/makefile.texi *************** e2d2927a5d31ebe8d7adacbce711b3b1 gcc/do *** 5539,5545 **** 8723a60f26c67e21edbd8853125a98f8 gcc/doc/plugins.texi 0603ab3940871fa2a55ddbd7c2719eb7 gcc/doc/poly-int.texi 625cf0e114de21441ae7fb94506c91cb gcc/doc/portability.texi ! d1bcaa542a5530c31802110177ee4e8d gcc/doc/rtl.texi cc4bb1ea13d49e12bc658ffbf09bcdb0 gcc/doc/service.texi 37e85dc01252c02dab5f7024a33e19a8 gcc/doc/sourcebuild.texi 0e31025715547eefb8e38f6c42f11582 gcc/doc/standards.texi --- 5540,5546 ---- 8723a60f26c67e21edbd8853125a98f8 gcc/doc/plugins.texi 0603ab3940871fa2a55ddbd7c2719eb7 gcc/doc/poly-int.texi 625cf0e114de21441ae7fb94506c91cb gcc/doc/portability.texi ! 22109e2f1cb4db8e92bd4bae7f82cd2b gcc/doc/rtl.texi cc4bb1ea13d49e12bc658ffbf09bcdb0 gcc/doc/service.texi 37e85dc01252c02dab5f7024a33e19a8 gcc/doc/sourcebuild.texi 0e31025715547eefb8e38f6c42f11582 gcc/doc/standards.texi *************** bcfc3857a75f879ec761a824ae77aa77 gcc/du *** 5565,5571 **** 3aecdcd1ecb4330fb6d35220436b4e16 gcc/dwarf2cfi.cc 4b4d88e890847c2849c8a0dd429ad7d4 gcc/dwarf2ctf.cc 6339307d1a91f4115e2184f117a9152f gcc/dwarf2ctf.h ! 7f8d12e5631f9eddf9b50ea04d175baf gcc/dwarf2out.cc da9eb5f94d9f2537c44626df2e2d0731 gcc/dwarf2out.h 56a3faa5b916a76e3e8e799879bb6f9f gcc/early-remat.cc c916e1e3ac5144157fdf894c31dca957 gcc/edit-context.cc --- 5566,5572 ---- 3aecdcd1ecb4330fb6d35220436b4e16 gcc/dwarf2cfi.cc 4b4d88e890847c2849c8a0dd429ad7d4 gcc/dwarf2ctf.cc 6339307d1a91f4115e2184f117a9152f gcc/dwarf2ctf.h ! 0c2495b127171e6c1515c181ab9240fe gcc/dwarf2out.cc da9eb5f94d9f2537c44626df2e2d0731 gcc/dwarf2out.h 56a3faa5b916a76e3e8e799879bb6f9f gcc/early-remat.cc c916e1e3ac5144157fdf894c31dca957 gcc/edit-context.cc *************** d2189b62c37dd572addf61825a41d344 gcc/ex *** 5584,5590 **** 16380b9326d8ac062959a6a82043cce3 gcc/explow.h aa87fe7a6bdb0d5979cc7df2a1ff6ba2 gcc/expmed.cc 19036d67b94612828e60a36131f73399 gcc/expmed.h ! 2cfe5d01d327199e9105cd745caa6726 gcc/expr.cc a58f8d09aca5337953e4002f8d46ada5 gcc/expr.h cd6cdc4e13b4d3a4a2d3e2b1014be838 gcc/fibonacci_heap.cc cd2c85f077113c6ef641407b8172b6d6 gcc/fibonacci_heap.h --- 5585,5591 ---- 16380b9326d8ac062959a6a82043cce3 gcc/explow.h aa87fe7a6bdb0d5979cc7df2a1ff6ba2 gcc/expmed.cc 19036d67b94612828e60a36131f73399 gcc/expmed.h ! 3bf4610f6c4a28c419e8f9ed167ceb37 gcc/expr.cc a58f8d09aca5337953e4002f8d46ada5 gcc/expr.h cd6cdc4e13b4d3a4a2d3e2b1014be838 gcc/fibonacci_heap.cc cd2c85f077113c6ef641407b8172b6d6 gcc/fibonacci_heap.h *************** fe6768163b0ca6c41fea1719448908eb gcc/fi *** 5599,5607 **** c2dbf831f4bbc53553765214d1b2d674 gcc/flags.h 84632412a9570c311bb6f9944fdacccf gcc/fold-const-call.cc 46538296abcbd26df93f276f5974ec0f gcc/fold-const-call.h ! b8e677fe7dd6c8ce7ce945ea32bf8f6b gcc/fold-const.cc 9dd2c87502c864095a8b942bea07b5f3 gcc/fold-const.h ! bf93f5c1654f47ef8d2ad3dcbcb32c9c gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 --- 5600,5608 ---- c2dbf831f4bbc53553765214d1b2d674 gcc/flags.h 84632412a9570c311bb6f9944fdacccf gcc/fold-const-call.cc 46538296abcbd26df93f276f5974ec0f gcc/fold-const-call.h ! 6472adeb714de6ecdad4ef40c376b945 gcc/fold-const.cc 9dd2c87502c864095a8b942bea07b5f3 gcc/fold-const.h ! 381618e634171ec46fb11e3d2e606c0d gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 *************** d1595b2ed8fb2a33f6ce0dc595f4f33c gcc/fo *** 5625,5635 **** 5c5a825ed06bb99f8fc71a6f8d0872ae gcc/fortran/ChangeLog-2022 9e0636f92243fb9b3480e27cefc96749 gcc/fortran/ChangeLog.ptr a1031ddafa666ce3ade625f41c0dc3f8 gcc/fortran/Make-lang.in ! dbe3c824aa079ab2e1977b69c3311c97 gcc/fortran/arith.cc d725b555490bb7f2cd61f6bcc2c3de67 gcc/fortran/arith.h ! 6862ae7ef2b51d178c04725c07fdbde7 gcc/fortran/array.cc 35e889b2dd5fcf9ccf78e37ed082d6e6 gcc/fortran/bbt.cc ! 767092f3b1a131a42c4a748fafcf0234 gcc/fortran/check.cc ce0a28d639a1a02f929ac8d86d857e84 gcc/fortran/class.cc e3250461219cfa76e4436196538109fc gcc/fortran/config-lang.in 25b8459831a3492589703f8ac166fb8c gcc/fortran/constructor.cc --- 5626,5636 ---- 5c5a825ed06bb99f8fc71a6f8d0872ae gcc/fortran/ChangeLog-2022 9e0636f92243fb9b3480e27cefc96749 gcc/fortran/ChangeLog.ptr a1031ddafa666ce3ade625f41c0dc3f8 gcc/fortran/Make-lang.in ! d5bee359d146b78cacb1cef09ac5102f gcc/fortran/arith.cc d725b555490bb7f2cd61f6bcc2c3de67 gcc/fortran/arith.h ! bae3ddfd77897b5f94b83cad27576c0f gcc/fortran/array.cc 35e889b2dd5fcf9ccf78e37ed082d6e6 gcc/fortran/bbt.cc ! 807fa70f21f149b3b3e27d9942f008b9 gcc/fortran/check.cc ce0a28d639a1a02f929ac8d86d857e84 gcc/fortran/class.cc e3250461219cfa76e4436196538109fc gcc/fortran/config-lang.in 25b8459831a3492589703f8ac166fb8c gcc/fortran/constructor.cc *************** dead8f794e0bc7ece3c9f46a4b9ead58 gcc/fo *** 5639,5659 **** bc8a50172db20622023d7b83c31d7737 gcc/fortran/cpp.h d49d08bf3282ebea910b14cf88b1b5ee gcc/fortran/data.cc 86b2ebfc95645333cba0df8f79638b62 gcc/fortran/data.h ! ee37a420357297794511b72f8c09a0d3 gcc/fortran/decl.cc 92b2a0849ab19332ebb5633d75c3565d gcc/fortran/dependency.cc 528121f9fe625a6b314dd0e4e9601e70 gcc/fortran/dependency.h 638a4c6c1f147853ccf44c5442c876f9 gcc/fortran/dump-parse-tree.cc 75860b58e8a01aadbfb046789efa8a88 gcc/fortran/error.cc ! 3038e63c53d1f1dd9cfe52a34fc936ab gcc/fortran/expr.cc 012392c6483a51939022df7c6de22fbc gcc/fortran/f95-lang.cc ! cb0736e48f79ba7f94783d7501f4a136 gcc/fortran/frontend-passes.cc 5d21a6b2bc38e36e9ce485f9b899cf5d gcc/fortran/gfc-diagnostic.def d428ee96a4c880140da26aec0f107bda gcc/fortran/gfc-internals.texi ! 0a1523a3e11b195dcff11a7f6285808f gcc/fortran/gfortran.h ! ce2c41ac939cc0f893f610988ea3220d gcc/fortran/gfortran.info ! c477697c9380a63ab2bbe06ee3e5e441 gcc/fortran/gfortran.texi 538b040a49c9f6c46cbd59c2a9ce1afd gcc/fortran/gfortranspec.cc ! 920681285743032ca14d49a65dea58aa gcc/fortran/interface.cc fa6aa4009c0eec8232b24902c6900993 gcc/fortran/intrinsic.cc d9000cac276ba162b0a7fcc76c6f8be0 gcc/fortran/intrinsic.h 9c38010b39eaa7dc10c02b510ddd4d20 gcc/fortran/intrinsic.texi --- 5640,5660 ---- bc8a50172db20622023d7b83c31d7737 gcc/fortran/cpp.h d49d08bf3282ebea910b14cf88b1b5ee gcc/fortran/data.cc 86b2ebfc95645333cba0df8f79638b62 gcc/fortran/data.h ! c7f827b3e5ddad19cbe21c7b6f99e7f7 gcc/fortran/decl.cc 92b2a0849ab19332ebb5633d75c3565d gcc/fortran/dependency.cc 528121f9fe625a6b314dd0e4e9601e70 gcc/fortran/dependency.h 638a4c6c1f147853ccf44c5442c876f9 gcc/fortran/dump-parse-tree.cc 75860b58e8a01aadbfb046789efa8a88 gcc/fortran/error.cc ! e65a475d42ecb32ebe0f1c06adbd7fb6 gcc/fortran/expr.cc 012392c6483a51939022df7c6de22fbc gcc/fortran/f95-lang.cc ! 2c46f4a85ebcd58b3bdb7f98f7d0b85c gcc/fortran/frontend-passes.cc 5d21a6b2bc38e36e9ce485f9b899cf5d gcc/fortran/gfc-diagnostic.def d428ee96a4c880140da26aec0f107bda gcc/fortran/gfc-internals.texi ! 54fbcaee3d67948956db7723661d66fd gcc/fortran/gfortran.h ! bbdd5fdc9c27fb3e32e192c6d9ce6e0f gcc/fortran/gfortran.info ! 0da9587d85518945e473eb0045cf3202 gcc/fortran/gfortran.texi 538b040a49c9f6c46cbd59c2a9ce1afd gcc/fortran/gfortranspec.cc ! df9abf2c957c5340f4c65aa85a752b21 gcc/fortran/interface.cc fa6aa4009c0eec8232b24902c6900993 gcc/fortran/intrinsic.cc d9000cac276ba162b0a7fcc76c6f8be0 gcc/fortran/intrinsic.h 9c38010b39eaa7dc10c02b510ddd4d20 gcc/fortran/intrinsic.texi *************** d2a4c5315fb086aeaa125c4b2829a29f gcc/fo *** 5666,5705 **** 5659bf0ae0187cfd21cd8f599d82f98d gcc/fortran/lang-specs.h 92cf8f5887329d298f04e41b7fd4b780 gcc/fortran/lang.opt dfe2708ae1610f0355d4e3f64825ed31 gcc/fortran/libgfortran.h ! 08a1a0779191b3b5841023000ea002fc gcc/fortran/match.cc 6da0bc7042d9bd55ddf1b96015c07579 gcc/fortran/match.h 38fc5448e9ea8b828a44496034ac708e gcc/fortran/matchexp.cc 540b2df11e809f8e922d0bc5b5562d6b gcc/fortran/mathbuiltins.def 7d747e480d55c8abf8c69b45a4d2b572 gcc/fortran/misc.cc ! 9e2b905df5f9fc837a357446869f949e gcc/fortran/module.cc c310fb2cf5f2bb20fbf7f911e7a5b2cc gcc/fortran/openmp.cc 47d8fa5113c1f84c750b8fa73bbc5cfa gcc/fortran/options.cc ! e01b3ff4f9a34a0d8ea09103b65e1480 gcc/fortran/parse.cc b07d21325e9bf64201a6131a3dacb9e2 gcc/fortran/parse.h ! ca3099f4567ce46ee6b30bbbc9cff3c8 gcc/fortran/primary.cc ! 9d1d3bb577046a3f569b564062483a4a gcc/fortran/resolve.cc 4c64219f591caa92c353a8d113120d87 gcc/fortran/scanner.cc 0ea05c5f1f9c27f26a76525f5eed9380 gcc/fortran/scanner.h ! 42ff730746d606955267518dba62febf gcc/fortran/simplify.cc 72519934fee840610460010d9b5e0503 gcc/fortran/st.cc b51ee6b2a9e4f3e8bf69662f69c8f23c gcc/fortran/symbol.cc e99e43daa5fef5f3d2c6dce6be81a683 gcc/fortran/target-memory.cc 70445c82cc8c84eb76adf2a52acad00d gcc/fortran/target-memory.h ! 6adbd8aaf54d330a1738b7b96e95e9fb gcc/fortran/trans-array.cc 23946ddd5d17c204402c44a0b9a00d75 gcc/fortran/trans-array.h 4c2eb969dbee5d6b83074ed09773b70b gcc/fortran/trans-common.cc 45ab297b0b34853431ed0f3c09a63db3 gcc/fortran/trans-const.cc 2825c959ade33ef2a6492d640b05ef8c gcc/fortran/trans-const.h 7c67a63f4b154b22cb30dea7903ab085 gcc/fortran/trans-decl.cc ! 5cdb002ed97ee28c8396dc310e69db89 gcc/fortran/trans-expr.cc ! aa7db01c621f70aaafdec88f841c85a4 gcc/fortran/trans-intrinsic.cc c2777cd0e39ba69462f4cf01549e1001 gcc/fortran/trans-io.cc 4100e048c21085f4f2f9bdb70f4e29a2 gcc/fortran/trans-openmp.cc ! f80e2b35dd9984f23ec5e900639fe3e7 gcc/fortran/trans-stmt.cc 61675b3c591abd1d33f4d00338f84245 gcc/fortran/trans-stmt.h ! b1f95ad84f13bfa7353375c5f77c3998 gcc/fortran/trans-types.cc 5581dfe9c36f8428667284c49aa3d0a8 gcc/fortran/trans-types.h ! c2539b2f896d34768eab33e1666b7ab6 gcc/fortran/trans.cc f816175a2ce44db1f8492faf3a65da0d gcc/fortran/trans.h bae9bee7bfae062bb68f7c3b8d6acdb0 gcc/fortran/trigd_fe.inc 630fb1a9d96d7163a799226c47d93e42 gcc/fortran/types.def --- 5667,5706 ---- 5659bf0ae0187cfd21cd8f599d82f98d gcc/fortran/lang-specs.h 92cf8f5887329d298f04e41b7fd4b780 gcc/fortran/lang.opt dfe2708ae1610f0355d4e3f64825ed31 gcc/fortran/libgfortran.h ! f820f80f97ddcdeff771996b47adc742 gcc/fortran/match.cc 6da0bc7042d9bd55ddf1b96015c07579 gcc/fortran/match.h 38fc5448e9ea8b828a44496034ac708e gcc/fortran/matchexp.cc 540b2df11e809f8e922d0bc5b5562d6b gcc/fortran/mathbuiltins.def 7d747e480d55c8abf8c69b45a4d2b572 gcc/fortran/misc.cc ! c33036651adba2e736f64129207c7d23 gcc/fortran/module.cc c310fb2cf5f2bb20fbf7f911e7a5b2cc gcc/fortran/openmp.cc 47d8fa5113c1f84c750b8fa73bbc5cfa gcc/fortran/options.cc ! 05417d717e262d61c78b736bc93c703d gcc/fortran/parse.cc b07d21325e9bf64201a6131a3dacb9e2 gcc/fortran/parse.h ! 2b974d4b3c5e51da1bf6264790eda9b8 gcc/fortran/primary.cc ! b96796a2a7ec4e1b298aba9b2cdabc19 gcc/fortran/resolve.cc 4c64219f591caa92c353a8d113120d87 gcc/fortran/scanner.cc 0ea05c5f1f9c27f26a76525f5eed9380 gcc/fortran/scanner.h ! 8db2f33af4904b48c239e7b4e2bb147b gcc/fortran/simplify.cc 72519934fee840610460010d9b5e0503 gcc/fortran/st.cc b51ee6b2a9e4f3e8bf69662f69c8f23c gcc/fortran/symbol.cc e99e43daa5fef5f3d2c6dce6be81a683 gcc/fortran/target-memory.cc 70445c82cc8c84eb76adf2a52acad00d gcc/fortran/target-memory.h ! 3030726083eec0092ff22a46e78d484b gcc/fortran/trans-array.cc 23946ddd5d17c204402c44a0b9a00d75 gcc/fortran/trans-array.h 4c2eb969dbee5d6b83074ed09773b70b gcc/fortran/trans-common.cc 45ab297b0b34853431ed0f3c09a63db3 gcc/fortran/trans-const.cc 2825c959ade33ef2a6492d640b05ef8c gcc/fortran/trans-const.h 7c67a63f4b154b22cb30dea7903ab085 gcc/fortran/trans-decl.cc ! 1e27e2b7f34bbaece225b1b9887bc062 gcc/fortran/trans-expr.cc ! 2e6639a9d74a8323454f86e6150b460b gcc/fortran/trans-intrinsic.cc c2777cd0e39ba69462f4cf01549e1001 gcc/fortran/trans-io.cc 4100e048c21085f4f2f9bdb70f4e29a2 gcc/fortran/trans-openmp.cc ! 4fc2017b5296f4ee5fcbacb1b423c38b gcc/fortran/trans-stmt.cc 61675b3c591abd1d33f4d00338f84245 gcc/fortran/trans-stmt.h ! 2e87ee62588873ae7af554ee838b4eaf gcc/fortran/trans-types.cc 5581dfe9c36f8428667284c49aa3d0a8 gcc/fortran/trans-types.h ! 78b4a00c913f103a3f3d18c8c181efd9 gcc/fortran/trans.cc f816175a2ce44db1f8492faf3a65da0d gcc/fortran/trans.h bae9bee7bfae062bb68f7c3b8d6acdb0 gcc/fortran/trigd_fe.inc 630fb1a9d96d7163a799226c47d93e42 gcc/fortran/types.def *************** bae9bee7bfae062bb68f7c3b8d6acdb0 gcc/fo *** 5707,5713 **** 5a80a7008007e116025a7a3c9796fdc0 gcc/function-abi.cc 3a145e6b7f87c4e84c84bbb84f77d201 gcc/function-abi.h 9d3f4e62a09a4f1b7e01c2611985469b gcc/function-tests.cc ! 1b9cd2186d1c1e9b86c956a5673f0aa9 gcc/function.cc 26caa4b20f75c2eb576da5bea538a2bc gcc/function.h 97522e4b206b460428df4f324aa88fe4 gcc/fwprop.cc 8b44f92603525757cdb88056f5f18ca2 gcc/gcc-ar.cc --- 5708,5714 ---- 5a80a7008007e116025a7a3c9796fdc0 gcc/function-abi.cc 3a145e6b7f87c4e84c84bbb84f77d201 gcc/function-abi.h 9d3f4e62a09a4f1b7e01c2611985469b gcc/function-tests.cc ! 0362ec62bbba4b7c063ed14ebfc3e29a gcc/function.cc 26caa4b20f75c2eb576da5bea538a2bc gcc/function.h 97522e4b206b460428df4f324aa88fe4 gcc/fwprop.cc 8b44f92603525757cdb88056f5f18ca2 gcc/gcc-ar.cc *************** f3cd048b40e6a1a1f89bd8ba625eb5a3 gcc/ge *** 5745,5763 **** c95ebf198c7a70ab69714b54f1796482 gcc/genconstants.cc 2b0b291e06d85277dbea1657b030d0d2 gcc/genemit.cc cc162e4b8e4003593f5a6fcfadd4d07e gcc/genenums.cc ! d258b1bcd3dd4ab8eb1bbf09f60dc200 gcc/generic-match-head.cc 368d6797b244786570ddd98e596d1d29 gcc/generic-match.h 7a825a2d078d154675036b7133c6816a gcc/genextract.cc 7dc273587dd4838a57817b211ad1f139 gcc/genflags.cc b6fd297a00cab6b8993690131bc4c0f7 gcc/gengenrtl.cc ! b22f073f4678ae222e2bc01ff7948ecd gcc/gengtype-lex.cc ff24fa6416a039455ff62a41252d6f7b gcc/gengtype-lex.l 91e7a263b28c131771f0c6463ebb1bcb gcc/gengtype-parse.cc 433b94a87abdc5536d0c8d2b097cb669 gcc/gengtype-state.cc 2c09e645967b3f68ada4e18d3dd2d63d gcc/gengtype.cc e0d0f369c0b3561c1811db4cda5ee811 gcc/gengtype.h 681dd3836e8a4b75afc0f76ca76192e4 gcc/genhooks.cc ! a48a6cfafd3fc5f0bc54808ba23fe214 gcc/genmatch.cc c0ed410bbe477ba49f81bddb8761859a gcc/genmddeps.cc 063e980b03cc459fd39e65e4df6e0e8f gcc/genmddump.cc 54fe4a99cfccd066490a5ba47d032ab3 gcc/genmodes.cc --- 5746,5764 ---- c95ebf198c7a70ab69714b54f1796482 gcc/genconstants.cc 2b0b291e06d85277dbea1657b030d0d2 gcc/genemit.cc cc162e4b8e4003593f5a6fcfadd4d07e gcc/genenums.cc ! dd957e5f5e732e49835454d18d409c43 gcc/generic-match-head.cc 368d6797b244786570ddd98e596d1d29 gcc/generic-match.h 7a825a2d078d154675036b7133c6816a gcc/genextract.cc 7dc273587dd4838a57817b211ad1f139 gcc/genflags.cc b6fd297a00cab6b8993690131bc4c0f7 gcc/gengenrtl.cc ! 8b97ff86414cbc89bb60b38c55b77632 gcc/gengtype-lex.cc ff24fa6416a039455ff62a41252d6f7b gcc/gengtype-lex.l 91e7a263b28c131771f0c6463ebb1bcb gcc/gengtype-parse.cc 433b94a87abdc5536d0c8d2b097cb669 gcc/gengtype-state.cc 2c09e645967b3f68ada4e18d3dd2d63d gcc/gengtype.cc e0d0f369c0b3561c1811db4cda5ee811 gcc/gengtype.h 681dd3836e8a4b75afc0f76ca76192e4 gcc/genhooks.cc ! d9ccacc5d1e1405c41b1c0b8e93538b5 gcc/genmatch.cc c0ed410bbe477ba49f81bddb8761859a gcc/genmddeps.cc 063e980b03cc459fd39e65e4df6e0e8f gcc/genmddump.cc 54fe4a99cfccd066490a5ba47d032ab3 gcc/genmodes.cc *************** de97768c4d4323bb137034c8bf3c9ad9 gcc/ge *** 5771,5777 **** 3e95c7746e4b605d3b22047b24a18429 gcc/gensupport.h d1e7a4290ee9f49476e6ca7776d601cf gcc/gentarget-def.cc 3497c1c9f188ae7378e60e5df68973c8 gcc/genversion.cc ! 3a3ac110be12dfd050b63e4b5bcb85d0 gcc/ggc-common.cc 56b94e598841b52eccd3237acd19cd2c gcc/ggc-internal.h 597a6553536f682558b00f2e0ea1e68e gcc/ggc-none.cc 1a7a41c389b096e066ca689404ef77aa gcc/ggc-page.cc --- 5772,5778 ---- 3e95c7746e4b605d3b22047b24a18429 gcc/gensupport.h d1e7a4290ee9f49476e6ca7776d601cf gcc/gentarget-def.cc 3497c1c9f188ae7378e60e5df68973c8 gcc/genversion.cc ! bb02b1349925115ff6734ccdf51e531f gcc/ggc-common.cc 56b94e598841b52eccd3237acd19cd2c gcc/ggc-internal.h 597a6553536f682558b00f2e0ea1e68e gcc/ggc-none.cc 1a7a41c389b096e066ca689404ef77aa gcc/ggc-page.cc *************** e634f1d7185ba18b7409d0caf5dda150 gcc/gi *** 5787,5815 **** 9a9d95793deb7de9860fc0d1215b3390 gcc/gimple-fold.h 7cf98e471595ea406079ac821d418500 gcc/gimple-harden-conditionals.cc ab5c0e8e80c5a594037aa3a03ad791c9 gcc/gimple-if-to-switch.cc ! abbfb806967247261721a1426b3ca8b3 gcc/gimple-isel.cc ! b069e9e3036a5be85f13d7ed6b712446 gcc/gimple-iterator.cc ! 8546ceb8b61e658a5611b91453822fbe gcc/gimple-iterator.h 9cb5accb4acfb52a12c188eb63da85aa gcc/gimple-laddress.cc 72e941e28563893bc3e6b2d86bcd8154 gcc/gimple-loop-interchange.cc 98ac4e2d69f0aa03e94034e43fa19b9c gcc/gimple-loop-jam.cc 4b9a3d495fb62afd583b19545c823417 gcc/gimple-loop-versioning.cc ! e8ae7c4811c6ea1d7ca4300595f6a351 gcc/gimple-low.cc f56d763b660a3269a8502a8976fb3400 gcc/gimple-low.h ! 33016ce950bb4d535a7f5b26e06daa9f gcc/gimple-match-head.cc 81662d1e70874dc5ddebb9cab55de6d7 gcc/gimple-match.h ! 4c2a2863e7bbae1b2523c6d0492da638 gcc/gimple-predicate-analysis.cc 9d5e6300c4a359fcde1abf212245eb5d gcc/gimple-predicate-analysis.h c006b7e8bf1d5bbb53532c7d765a7b5b gcc/gimple-predict.h 254be4975243d1918c2e1e4de2d45f33 gcc/gimple-pretty-print.cc 1f6de5d464fb403c0d90293d38ac4e28 gcc/gimple-pretty-print.h ! 7d19f76dd3504f1be48c003e2e57a12a gcc/gimple-range-cache.cc cd5746fe031b5d538b360fa10b1d17af gcc/gimple-range-cache.h b25199c5ed0e508a53d8475feccb5c61 gcc/gimple-range-edge.cc 63552731dc609ddfd75542482f4ac3f9 gcc/gimple-range-edge.h 026c72667bfbb609f4eb2edd688d7f93 gcc/gimple-range-fold.cc 80a33f217a8462e04c962982e13c342f gcc/gimple-range-fold.h ! e95708c518cce98f2e90ca2b346487c7 gcc/gimple-range-gori.cc 83fa369894ed79484edcd88e46e5ff5d gcc/gimple-range-gori.h 7b1dc20ba60b4caa74daea9f1f124b18 gcc/gimple-range-infer.cc 9f35006871562ecf765135728e0d57c4 gcc/gimple-range-infer.h --- 5788,5816 ---- 9a9d95793deb7de9860fc0d1215b3390 gcc/gimple-fold.h 7cf98e471595ea406079ac821d418500 gcc/gimple-harden-conditionals.cc ab5c0e8e80c5a594037aa3a03ad791c9 gcc/gimple-if-to-switch.cc ! af0a5d375973bf0c61c83fe07c8953f2 gcc/gimple-isel.cc ! 01b268628675b950255b0100e37fe075 gcc/gimple-iterator.cc ! 348a424f3832c9ef4a35f364e4b74bf7 gcc/gimple-iterator.h 9cb5accb4acfb52a12c188eb63da85aa gcc/gimple-laddress.cc 72e941e28563893bc3e6b2d86bcd8154 gcc/gimple-loop-interchange.cc 98ac4e2d69f0aa03e94034e43fa19b9c gcc/gimple-loop-jam.cc 4b9a3d495fb62afd583b19545c823417 gcc/gimple-loop-versioning.cc ! 8c3fc8717df932de0ab2cf09c217d48d gcc/gimple-low.cc f56d763b660a3269a8502a8976fb3400 gcc/gimple-low.h ! 2d81bba48eca8d323f007776e1865490 gcc/gimple-match-head.cc 81662d1e70874dc5ddebb9cab55de6d7 gcc/gimple-match.h ! 6c960fed3fd6e72de3db49e275f38177 gcc/gimple-predicate-analysis.cc 9d5e6300c4a359fcde1abf212245eb5d gcc/gimple-predicate-analysis.h c006b7e8bf1d5bbb53532c7d765a7b5b gcc/gimple-predict.h 254be4975243d1918c2e1e4de2d45f33 gcc/gimple-pretty-print.cc 1f6de5d464fb403c0d90293d38ac4e28 gcc/gimple-pretty-print.h ! a11dc84518ffe22131bef7c5c59fb394 gcc/gimple-range-cache.cc cd5746fe031b5d538b360fa10b1d17af gcc/gimple-range-cache.h b25199c5ed0e508a53d8475feccb5c61 gcc/gimple-range-edge.cc 63552731dc609ddfd75542482f4ac3f9 gcc/gimple-range-edge.h 026c72667bfbb609f4eb2edd688d7f93 gcc/gimple-range-fold.cc 80a33f217a8462e04c962982e13c342f gcc/gimple-range-fold.h ! 630825f89ae6bad2278bb7f7782a3d83 gcc/gimple-range-gori.cc 83fa369894ed79484edcd88e46e5ff5d gcc/gimple-range-gori.h 7b1dc20ba60b4caa74daea9f1f124b18 gcc/gimple-range-infer.cc 9f35006871562ecf765135728e0d57c4 gcc/gimple-range-infer.h *************** a03b4f17862e24c25dc27bd52bf6e4c9 gcc/gi *** 5822,5835 **** 7a8faab9d11d2332278fc21791ee0b3e gcc/gimple-range-trace.h dfa9268a94fe4ee9bba75c8c97f0200d gcc/gimple-range.cc 0976244211621a90be645055605c6daf gcc/gimple-range.h ! 56830cf539b3435d091891bbba95ef6b gcc/gimple-ssa-backprop.cc b3178e7dacab1eeef6f1baaa46a35607 gcc/gimple-ssa-isolate-paths.cc 749a81e49450342357c075a9b79b8992 gcc/gimple-ssa-nonnull-compare.cc 11b5e3a1e0c7638d90da5ecf2cdb04e3 gcc/gimple-ssa-split-paths.cc ! 23b52ef0e64595de3e63ce532ff3c36b gcc/gimple-ssa-sprintf.cc ! 2bcaf4808315c05c9d18f47fdfc47043 gcc/gimple-ssa-store-merging.cc feb1e49f3049b5493cdc6992e835aac8 gcc/gimple-ssa-strength-reduction.cc ! 6092b36acbaecc4d75350ed8a552aaac gcc/gimple-ssa-warn-access.cc 5552bbd93405fe7df3168326c4937c69 gcc/gimple-ssa-warn-access.h 9d79faa40edf139ffdf7d68d1537b0a0 gcc/gimple-ssa-warn-alloca.cc 40441da7b03d2997dffa1122ded5e2f4 gcc/gimple-ssa-warn-restrict.cc --- 5823,5836 ---- 7a8faab9d11d2332278fc21791ee0b3e gcc/gimple-range-trace.h dfa9268a94fe4ee9bba75c8c97f0200d gcc/gimple-range.cc 0976244211621a90be645055605c6daf gcc/gimple-range.h ! 60792107cb2744e47a67954a1847be2c gcc/gimple-ssa-backprop.cc b3178e7dacab1eeef6f1baaa46a35607 gcc/gimple-ssa-isolate-paths.cc 749a81e49450342357c075a9b79b8992 gcc/gimple-ssa-nonnull-compare.cc 11b5e3a1e0c7638d90da5ecf2cdb04e3 gcc/gimple-ssa-split-paths.cc ! e6db658fd173ce4a9dd146d9a796e834 gcc/gimple-ssa-sprintf.cc ! e016c0710a12273d8b8fb58a8e6c0fac gcc/gimple-ssa-store-merging.cc feb1e49f3049b5493cdc6992e835aac8 gcc/gimple-ssa-strength-reduction.cc ! 7b585ce00bb241b37688fa2707dbf689 gcc/gimple-ssa-warn-access.cc 5552bbd93405fe7df3168326c4937c69 gcc/gimple-ssa-warn-access.h 9d79faa40edf139ffdf7d68d1537b0a0 gcc/gimple-ssa-warn-alloca.cc 40441da7b03d2997dffa1122ded5e2f4 gcc/gimple-ssa-warn-restrict.cc *************** cdca7003d337efe5219b5d19f7155bc8 gcc/gi *** 5846,5852 **** bb54e7f3ff9957dcf7b1b10fcd527797 gcc/gimple.h 839b10eca81556c0515395365235a888 gcc/gimplify-me.cc 0a4464e175c1aed6501ea243476b7c6d gcc/gimplify-me.h ! 902365babce99c24f9027e12af9af2b9 gcc/gimplify.cc d0042a88c5e87b0904397052ddc6c33a gcc/gimplify.h 02d1486ff7d3d34b7868801df9534c0e gcc/ginclude/float.h b0ab9b7ae13d3afe6cdbfc24425a93fe gcc/ginclude/iso646.h --- 5847,5853 ---- bb54e7f3ff9957dcf7b1b10fcd527797 gcc/gimple.h 839b10eca81556c0515395365235a888 gcc/gimplify-me.cc 0a4464e175c1aed6501ea243476b7c6d gcc/gimplify-me.h ! d09325a19778a77fd47f9d4f6d621949 gcc/gimplify.cc d0042a88c5e87b0904397052ddc6c33a gcc/gimplify.h 02d1486ff7d3d34b7868801df9534c0e gcc/ginclude/float.h b0ab9b7ae13d3afe6cdbfc24425a93fe gcc/ginclude/iso646.h *************** d805766cac737a191548368792524f9d gcc/gi *** 5863,5869 **** c92410f8fdb1cb95371b72c53ad55b5f gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h 5a3af36f882f0b8588bf6b6d2a2dd6d4 gcc/glimits.h ! 07cf971e6521609dfad2480ce0799f22 gcc/go/ChangeLog 1e68fc87619f2cd82132ed974cbcea92 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 401d2277f19452f5b013534ed200a591 gcc/go/config-lang.in --- 5864,5870 ---- c92410f8fdb1cb95371b72c53ad55b5f gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h 5a3af36f882f0b8588bf6b6d2a2dd6d4 gcc/glimits.h ! 1b82181bc560a382fd0818a6c6480543 gcc/go/ChangeLog 1e68fc87619f2cd82132ed974cbcea92 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 401d2277f19452f5b013534ed200a591 gcc/go/config-lang.in *************** a9a04b1d305b98d74a49acbf3e5875fd gcc/gr *** 5937,5943 **** f1be6fd4e6c8e9573630d044720d16fa gcc/graphite-optimize-isl.cc dd8454618851b4476554c6eeb9aaf88d gcc/graphite-poly.cc 93878ecf34f5b1c3d019172b11d4f4e9 gcc/graphite-scop-detection.cc ! 0100284254f4d9ca3a3e184057d1cf2f gcc/graphite-sese-to-poly.cc 652950f29268d6960416fb24c6fc280a gcc/graphite.cc a36eddb0cf48bade74c308210f722f71 gcc/graphite.h d4187a499dfa40016b23ac9723cc5a2c gcc/graphviz.cc --- 5938,5944 ---- f1be6fd4e6c8e9573630d044720d16fa gcc/graphite-optimize-isl.cc dd8454618851b4476554c6eeb9aaf88d gcc/graphite-poly.cc 93878ecf34f5b1c3d019172b11d4f4e9 gcc/graphite-scop-detection.cc ! 720e6cc29f9928caedc4728e41d272d5 gcc/graphite-sese-to-poly.cc 652950f29268d6960416fb24c6fc280a gcc/graphite.cc a36eddb0cf48bade74c308210f722f71 gcc/graphite.h d4187a499dfa40016b23ac9723cc5a2c gcc/graphviz.cc *************** a5b79003066c0e5bfacf7d9d006f46cd gcc/in *** 5973,5997 **** 8262367501cdedec8b0c9e45caadce43 gcc/incpath.cc a8e3cc8cb723d5ba4f5d1e2f04287f63 gcc/incpath.h cb14e93247326b8ffa6eb712f41e7c27 gcc/init-regs.cc ! 94fbc6d552ff7bbeb71f638d99d2f6e0 gcc/input.cc e5e0ca7e1753fd5d89c8a7736badc975 gcc/input.h d34bbd252c9510b2d967d3c7b17f66bc gcc/insn-addr.h 113e3f5328ae586d49a4d449755c406f gcc/insn-notes.def 5c0f3c404fd37cca65b30f97fbbef8f4 gcc/int-vector-builder.h ! 24233ef42035f96cab80084a3aff40b7 gcc/internal-fn.cc de6d49db609e5109f5b73c4fa39fd732 gcc/internal-fn.def c12e2732707baf23e73a14d0b1b36dfd gcc/internal-fn.h b604200ebd6bbb8075a58d20d96105e3 gcc/intl.cc 2086a023243c1aeb61f8be26da7a72ad gcc/intl.h f1c9645780e7d29c2d852ae147ef5d45 gcc/ipa-comdats.cc ! 9c732e56ba4b30b487ca6714102f4029 gcc/ipa-cp.cc 55517140580887ca4deb8ce1e0321892 gcc/ipa-devirt.cc d454148b5247b81f13abdb82a69ea474 gcc/ipa-fnsummary.cc fb25c569d03784bece5c17aaaaa369c5 gcc/ipa-fnsummary.h 1101fd17ebb3014a7be788f45a328e40 gcc/ipa-free-lang-data.cc ! 462a3856a6c0e71ca1906823c9839a1d gcc/ipa-icf-gimple.cc ! efbca05f610d43f92d4785f0e3c140c2 gcc/ipa-icf-gimple.h ! 309678fae1f677120bd08243a3607eb7 gcc/ipa-icf.cc 7ff31fb3ed107fddec8cfac0849344d3 gcc/ipa-icf.h 104e82a0a369ff3f6b580044a153fe82 gcc/ipa-inline-analysis.cc fc07475faa73a53e202938a58e7cac70 gcc/ipa-inline-transform.cc --- 5974,5998 ---- 8262367501cdedec8b0c9e45caadce43 gcc/incpath.cc a8e3cc8cb723d5ba4f5d1e2f04287f63 gcc/incpath.h cb14e93247326b8ffa6eb712f41e7c27 gcc/init-regs.cc ! b9527e67e3d23bace34c4d31e04f67df gcc/input.cc e5e0ca7e1753fd5d89c8a7736badc975 gcc/input.h d34bbd252c9510b2d967d3c7b17f66bc gcc/insn-addr.h 113e3f5328ae586d49a4d449755c406f gcc/insn-notes.def 5c0f3c404fd37cca65b30f97fbbef8f4 gcc/int-vector-builder.h ! 59d4d914139280f2a1c1f636c2f579b1 gcc/internal-fn.cc de6d49db609e5109f5b73c4fa39fd732 gcc/internal-fn.def c12e2732707baf23e73a14d0b1b36dfd gcc/internal-fn.h b604200ebd6bbb8075a58d20d96105e3 gcc/intl.cc 2086a023243c1aeb61f8be26da7a72ad gcc/intl.h f1c9645780e7d29c2d852ae147ef5d45 gcc/ipa-comdats.cc ! 5f572d6d715e1266d0bf058b735c3ec9 gcc/ipa-cp.cc 55517140580887ca4deb8ce1e0321892 gcc/ipa-devirt.cc d454148b5247b81f13abdb82a69ea474 gcc/ipa-fnsummary.cc fb25c569d03784bece5c17aaaaa369c5 gcc/ipa-fnsummary.h 1101fd17ebb3014a7be788f45a328e40 gcc/ipa-free-lang-data.cc ! 6d21fe3817cab8b23c5fdb962ada6b28 gcc/ipa-icf-gimple.cc ! 28a91c6a01875186812f053d31eef509 gcc/ipa-icf-gimple.h ! 823b6616f611d67125e534b93e42a321 gcc/ipa-icf.cc 7ff31fb3ed107fddec8cfac0849344d3 gcc/ipa-icf.h 104e82a0a369ff3f6b580044a153fe82 gcc/ipa-inline-analysis.cc fc07475faa73a53e202938a58e7cac70 gcc/ipa-inline-transform.cc *************** bf2c8193144d067992fafe66ec1b66c4 gcc/ip *** 6001,6014 **** c4370973ef8ca23676e8dd1782308f9c gcc/ipa-modref-tree.h 2e9275d14ba42dd0fae6f51aa0afb13e gcc/ipa-modref.cc b2fae5a0c725823232307d1ff107c412 gcc/ipa-modref.h ! 9a6d65808b97a3f5554037c6b939f92c gcc/ipa-param-manipulation.cc ! 6380acac9667f5632167649df5974f7a gcc/ipa-param-manipulation.h 7cea60b3666f6942e8ff38e2854bcfc2 gcc/ipa-polymorphic-call.cc eeca019a2a20494b0c27fccd9ffa6e38 gcc/ipa-predicate.cc a37e46df93e9fdd5778f6c479d45c848 gcc/ipa-predicate.h d333e55ebff3f204e5c62a9f85f0b960 gcc/ipa-profile.cc ! b25df447de2481d1a0f98020a97ada6d gcc/ipa-prop.cc ! b7b01a20205d7152cf5e0e90bf5c084b gcc/ipa-prop.h f5f5042251c5cf364068ae7041d1f402 gcc/ipa-pure-const.cc fea3656d7117f5bd9eb678ce7031b9cb gcc/ipa-ref.cc 7083d1fd93928160d417413231e4735e gcc/ipa-ref.h --- 6002,6015 ---- c4370973ef8ca23676e8dd1782308f9c gcc/ipa-modref-tree.h 2e9275d14ba42dd0fae6f51aa0afb13e gcc/ipa-modref.cc b2fae5a0c725823232307d1ff107c412 gcc/ipa-modref.h ! f73a29a76199a719eea19b3d53ed26fe gcc/ipa-param-manipulation.cc ! 0a0833ceaf3d91577600c81d30513737 gcc/ipa-param-manipulation.h 7cea60b3666f6942e8ff38e2854bcfc2 gcc/ipa-polymorphic-call.cc eeca019a2a20494b0c27fccd9ffa6e38 gcc/ipa-predicate.cc a37e46df93e9fdd5778f6c479d45c848 gcc/ipa-predicate.h d333e55ebff3f204e5c62a9f85f0b960 gcc/ipa-profile.cc ! c4f30545b16d1c72736b320f0d062b73 gcc/ipa-prop.cc ! acd05e664b9af90b895688a1182659f3 gcc/ipa-prop.h f5f5042251c5cf364068ae7041d1f402 gcc/ipa-pure-const.cc fea3656d7117f5bd9eb678ce7031b9cb gcc/ipa-ref.cc 7083d1fd93928160d417413231e4735e gcc/ipa-ref.h *************** ca3aaf780b4820c2efb4f99d452eafb2 gcc/ir *** 6031,6039 **** daec5f5daeb40974ee5715d87b784866 gcc/ira.h 794ab6840c05630c3df07341a0f339e5 gcc/is-a.h 83fa9cced7fd3d64ba760bf4dd2f1414 gcc/iterator-utils.h ! c9114f3461393a135ab6b7662c946d41 gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit ! 8476ebeec1b0f434e5468cb887e39ac4 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst 1bbcd8c4c1cbecd0d0207b024f87aec5 gcc/jit/config-lang.in df53fb6b84c435b56ac2cb2727b62b27 gcc/jit/docs/Makefile --- 6032,6040 ---- daec5f5daeb40974ee5715d87b784866 gcc/ira.h 794ab6840c05630c3df07341a0f339e5 gcc/is-a.h 83fa9cced7fd3d64ba760bf4dd2f1414 gcc/iterator-utils.h ! 2fd767b08ca052b06846382ea144dac5 gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit ! 297d5dd1b72e4324f8859997ca274f56 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst 1bbcd8c4c1cbecd0d0207b024f87aec5 gcc/jit/config-lang.in df53fb6b84c435b56ac2cb2727b62b27 gcc/jit/docs/Makefile *************** c4c7449278cafbafd910adefcb0538cb gcc/ji *** 6104,6110 **** 5aa44993b9fb9a380da286eaf9a52748 gcc/jit/jit-logging.h 7c9079754b3b27f9bfff94b5bfcb298f gcc/jit/jit-playback.cc 206bd9ef117c6b84ffd9e2de4b9f54c2 gcc/jit/jit-playback.h ! 87a66ab85309ed684069a427e21d90a9 gcc/jit/jit-recording.cc 79c47ba6c9a2ba79c33c88c791e3e465 gcc/jit/jit-recording.h f39a4947637d7dbbad4e6871f9a348df gcc/jit/jit-result.cc 1f767b235b0f89c05295b429bd1720ba gcc/jit/jit-result.h --- 6105,6111 ---- 5aa44993b9fb9a380da286eaf9a52748 gcc/jit/jit-logging.h 7c9079754b3b27f9bfff94b5bfcb298f gcc/jit/jit-playback.cc 206bd9ef117c6b84ffd9e2de4b9f54c2 gcc/jit/jit-playback.h ! c596b3ad840027db86b407ecb6a88b69 gcc/jit/jit-recording.cc 79c47ba6c9a2ba79c33c88c791e3e465 gcc/jit/jit-recording.h f39a4947637d7dbbad4e6871f9a348df gcc/jit/jit-result.cc 1f767b235b0f89c05295b429bd1720ba gcc/jit/jit-result.h *************** ce484ca24b42d9c19a0e1352c4495caf gcc/ji *** 6115,6120 **** --- 6116,6122 ---- 14640c9c60009896c499dc0765fd8a8a gcc/jit/jit-w32.h d3f9ed6a4ee28f7cb3c35bc9ae793726 gcc/jit/libgccjit++.h 8299f0b9f9464b4973ad243f21909ada gcc/jit/libgccjit.cc + 9a8deb23c12ab4353352d9b7f758f518 gcc/jit/libgccjit.exports b67857e907fb0e92fa5350b5272623c6 gcc/jit/libgccjit.h a4e699235dad75bea459d7cd927a3589 gcc/jit/libgccjit.map a683bef6f6721b574c76acc1efb5050c gcc/jit/notes.txt *************** e2c2b4c29dd562166e457ad5cd9d3ab4 gcc/lc *** 6138,6154 **** 4c49af76db981526de035551f5c2745d gcc/loop-iv.cc fdb910a61276129e6981a007c1cd94f6 gcc/loop-unroll.cc 244bd1ac6f02573201143dcf1a456d36 gcc/loop-unroll.h ! a04cd2beaecdaef5b7019518ca4eeb16 gcc/lower-subreg.cc 0196e3b94cf6fd637ba9f3bf6a314bd5 gcc/lower-subreg.h 1843969b87343439d9591acd32785e25 gcc/lra-assigns.cc 6f8948f5953e4ded18580ae4df9a36f1 gcc/lra-coalesce.cc ! 62366226f7bef6fe22bfd3a1378b0d05 gcc/lra-constraints.cc ! ed3a3ee1d59440bde2427b7b43cf2e6a gcc/lra-eliminations.cc 7c8aeab71bcfacb356aecdcdb7762210 gcc/lra-int.h 399337ad638584d9290158ea06d18de8 gcc/lra-lives.cc bc8532df35c2dd9a4e262d85ed29ffd4 gcc/lra-remat.cc f29a4612195d306e5b22fd456cfb2a91 gcc/lra-spills.cc ! a99c9451bdde633c19f5b521d31b666b gcc/lra.cc e39f5642047f20c01157ff09360cf476 gcc/lra.h 3c0fc2beeb57bc91017e1ef0252f0c2f gcc/lto-cgraph.cc 6fc03350ec53f915e1e4e39ca5122e10 gcc/lto-compress.cc --- 6140,6156 ---- 4c49af76db981526de035551f5c2745d gcc/loop-iv.cc fdb910a61276129e6981a007c1cd94f6 gcc/loop-unroll.cc 244bd1ac6f02573201143dcf1a456d36 gcc/loop-unroll.h ! 9c69c9d4ff29802ee58bb23a80c7d461 gcc/lower-subreg.cc 0196e3b94cf6fd637ba9f3bf6a314bd5 gcc/lower-subreg.h 1843969b87343439d9591acd32785e25 gcc/lra-assigns.cc 6f8948f5953e4ded18580ae4df9a36f1 gcc/lra-coalesce.cc ! e7abca99420529cfac5bbb1e0273dc1b gcc/lra-constraints.cc ! 770e42213cbcd993a445bee76524f8eb gcc/lra-eliminations.cc 7c8aeab71bcfacb356aecdcdb7762210 gcc/lra-int.h 399337ad638584d9290158ea06d18de8 gcc/lra-lives.cc bc8532df35c2dd9a4e262d85ed29ffd4 gcc/lra-remat.cc f29a4612195d306e5b22fd456cfb2a91 gcc/lra-spills.cc ! 292ab755fb0b9a22616cefeb10633fff gcc/lra.cc e39f5642047f20c01157ff09360cf476 gcc/lra.h 3c0fc2beeb57bc91017e1ef0252f0c2f gcc/lto-cgraph.cc 6fc03350ec53f915e1e4e39ca5122e10 gcc/lto-compress.cc *************** aa824edd3a2322925eef8c0e675c646f gcc/lt *** 6160,6168 **** c65f55fed79f6f011c286a8c15d49485 gcc/lto-streamer-in.cc 404aeba9be544810a4471166b3c47865 gcc/lto-streamer-out.cc 84bdf4dde2c999956f004a2cec5fcdfa gcc/lto-streamer.cc ! 6ce0e12c942ed0719e43deb19d3d23e6 gcc/lto-streamer.h ! 99434819bef00f148b682b64adc85f39 gcc/lto-wrapper.cc ! fbc110f99aaa06e945f972e9cb5c2948 gcc/lto/ChangeLog 1c031130b442e688f20c6f97577f6f1c gcc/lto/Make-lang.in 10ec91fabc2cd5424224460087811ade gcc/lto/common.cc 797d875c24181ac44cc33ff020e1b788 gcc/lto/common.h --- 6162,6170 ---- c65f55fed79f6f011c286a8c15d49485 gcc/lto-streamer-in.cc 404aeba9be544810a4471166b3c47865 gcc/lto-streamer-out.cc 84bdf4dde2c999956f004a2cec5fcdfa gcc/lto-streamer.cc ! 4051a87eb8e439afcde2567e10273f08 gcc/lto-streamer.h ! 937c657e2ab15274b95fdb91519d7865 gcc/lto-wrapper.cc ! 0cb939f497c4e8cb4d8976e65286ef88 gcc/lto/ChangeLog 1c031130b442e688f20c6f97577f6f1c gcc/lto/Make-lang.in 10ec91fabc2cd5424224460087811ade gcc/lto/common.cc 797d875c24181ac44cc33ff020e1b788 gcc/lto/common.h *************** e1760b67860124dafbbaf58a3e22c65e gcc/lt *** 6185,6195 **** a8dfb49da43514f61fc1ed162db2447b gcc/m2/COPYING.RUNTIME 8f0e2cd40e05189ec81232da84bd6e1a gcc/m2/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/m2/COPYING3.LIB ! 45a184e5074f9b7920061b3bbebc1baf gcc/m2/ChangeLog ! eef28ac70aaa78bdba9d98972540cd31 gcc/m2/Make-lang.in ! 1e5187a62031df54ee1aa86d3936b27d gcc/m2/Make-maintainer.in 6a74129fda00ca52ba9f953538250c45 gcc/m2/NEWS ! 1259833ae730cd1789960cfceae66ee6 gcc/m2/README eb1599754d7e0e2fb843b249b19aad7c gcc/m2/config-lang.in a988f7b53ad627283964db6f0456f9ab gcc/m2/config-make.in 8a7f8f9d6c83db345c1a8a98cc592b4a gcc/m2/configure --- 6187,6197 ---- a8dfb49da43514f61fc1ed162db2447b gcc/m2/COPYING.RUNTIME 8f0e2cd40e05189ec81232da84bd6e1a gcc/m2/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/m2/COPYING3.LIB ! 3295f74701de6b49f9155e0353322778 gcc/m2/ChangeLog ! 1a9ec7429ed8a5741c53da23303513c2 gcc/m2/Make-lang.in ! ab3d0ce18922488c5090e9e2a293a461 gcc/m2/Make-maintainer.in 6a74129fda00ca52ba9f953538250c45 gcc/m2/NEWS ! 3e6a5f14d741382ac3cffb2b6c8d2ce8 gcc/m2/README eb1599754d7e0e2fb843b249b19aad7c gcc/m2/config-lang.in a988f7b53ad627283964db6f0456f9ab gcc/m2/config-make.in 8a7f8f9d6c83db345c1a8a98cc592b4a gcc/m2/configure *************** f8bf56a5b7fd82eee178d88cbec0c3de gcc/m2 *** 6203,6225 **** 8a0e7cdd30a71137694f3152675e4951 gcc/m2/gm2-compiler/Lists.def 3ad5d736f3ec813addb89e68da25e616 gcc/m2/gm2-compiler/Lists.mod a2d8f762ec5e3244ee19435251593b00 gcc/m2/gm2-compiler/M2ALU.def ! 46a1e5a9cf7f59d54965a0b9677cd5c8 gcc/m2/gm2-compiler/M2ALU.mod 4c18bb997628290bd1f7535d0a503e23 gcc/m2/gm2-compiler/M2AsmUtil.def c632e26c81b95e9b256caad279e218cd gcc/m2/gm2-compiler/M2AsmUtil.mod d71310d044ff8b82fcae64e2194fdb37 gcc/m2/gm2-compiler/M2Base.def 0796b2516ae450771fb80e0a9d68ae74 gcc/m2/gm2-compiler/M2Base.mod ! 0fb619cbf89d2ab62175cc601f2f4fbe gcc/m2/gm2-compiler/M2BasicBlock.def ! 49e6be2cb206cdd20964d5ec36da1c51 gcc/m2/gm2-compiler/M2BasicBlock.mod 6f53570c03f553a74cb90c8ff755f5da gcc/m2/gm2-compiler/M2Batch.def 634cb52bc52b7adaa2975ce83b03f1f9 gcc/m2/gm2-compiler/M2Batch.mod ac30504084574f06338785e69b5f8afd gcc/m2/gm2-compiler/M2Bitset.def e53b71fe64d958a7003c64f59431cf4f gcc/m2/gm2-compiler/M2Bitset.mod ! 9ecc8ed9aa4b533eccaac20367c25210 gcc/m2/gm2-compiler/M2CaseList.def ! 0fb869942bc5b063b624ade0d8fa935e gcc/m2/gm2-compiler/M2CaseList.mod 1bddee8c06ef747acfa18397e352c00b gcc/m2/gm2-compiler/M2Check.def ! 9c169f6d8a6c7b461bc4fe60fcfbbbb4 gcc/m2/gm2-compiler/M2Check.mod 290feedd4647585c8d2b075a035b389d gcc/m2/gm2-compiler/M2Code.def ! 83dc902194f1a2e1f052c67f1571902d gcc/m2/gm2-compiler/M2Code.mod 4e1228915c97ac365d550fc35524928b gcc/m2/gm2-compiler/M2ColorString.def 5120babf0526808316117dba88bff468 gcc/m2/gm2-compiler/M2ColorString.mod 118167f77779572910d32d2d4a4c12a6 gcc/m2/gm2-compiler/M2Comp.def --- 6205,6227 ---- 8a0e7cdd30a71137694f3152675e4951 gcc/m2/gm2-compiler/Lists.def 3ad5d736f3ec813addb89e68da25e616 gcc/m2/gm2-compiler/Lists.mod a2d8f762ec5e3244ee19435251593b00 gcc/m2/gm2-compiler/M2ALU.def ! 19e39d43b189f19253450d5e89aba169 gcc/m2/gm2-compiler/M2ALU.mod 4c18bb997628290bd1f7535d0a503e23 gcc/m2/gm2-compiler/M2AsmUtil.def c632e26c81b95e9b256caad279e218cd gcc/m2/gm2-compiler/M2AsmUtil.mod d71310d044ff8b82fcae64e2194fdb37 gcc/m2/gm2-compiler/M2Base.def 0796b2516ae450771fb80e0a9d68ae74 gcc/m2/gm2-compiler/M2Base.mod ! 612b8c0896ea03751a484b2e6d9eed36 gcc/m2/gm2-compiler/M2BasicBlock.def ! 7f3a538309035d23db4a6ce5aef5f4ec gcc/m2/gm2-compiler/M2BasicBlock.mod 6f53570c03f553a74cb90c8ff755f5da gcc/m2/gm2-compiler/M2Batch.def 634cb52bc52b7adaa2975ce83b03f1f9 gcc/m2/gm2-compiler/M2Batch.mod ac30504084574f06338785e69b5f8afd gcc/m2/gm2-compiler/M2Bitset.def e53b71fe64d958a7003c64f59431cf4f gcc/m2/gm2-compiler/M2Bitset.mod ! 288522c65140fcb63dbcf203c3833b14 gcc/m2/gm2-compiler/M2CaseList.def ! 460ae7cde2c3dc0ccef29fa0d54ab063 gcc/m2/gm2-compiler/M2CaseList.mod 1bddee8c06ef747acfa18397e352c00b gcc/m2/gm2-compiler/M2Check.def ! 111050bd76bb2b9d2da3728374034483 gcc/m2/gm2-compiler/M2Check.mod 290feedd4647585c8d2b075a035b389d gcc/m2/gm2-compiler/M2Code.def ! 5b17fc6dd66212405c0c7d983aeff1ac gcc/m2/gm2-compiler/M2Code.mod 4e1228915c97ac365d550fc35524928b gcc/m2/gm2-compiler/M2ColorString.def 5120babf0526808316117dba88bff468 gcc/m2/gm2-compiler/M2ColorString.mod 118167f77779572910d32d2d4a4c12a6 gcc/m2/gm2-compiler/M2Comp.def *************** c7e6b62713a2bef8eaa93279d5e0743a gcc/m2 *** 6237,6250 **** c53535d2e04d70fcbb452b8d5e3e1ba7 gcc/m2/gm2-compiler/M2Emit.def 76b65ef2361a4fc7b9fe60fe56ce2f73 gcc/m2/gm2-compiler/M2Emit.mod c12ca80675357cb96d258f5b6c3996e1 gcc/m2/gm2-compiler/M2Error.def ! 1be66d95124ef47f09a96283b03d56c8 gcc/m2/gm2-compiler/M2Error.mod bc3e7afbf37fe9ca99868cca44270773 gcc/m2/gm2-compiler/M2EvalSym.def 00c5062e6973c55551e230e8e1ead0bb gcc/m2/gm2-compiler/M2FileName.def b838bd8a17e7170e89decd1b0d33083a gcc/m2/gm2-compiler/M2FileName.mod ! 5b89f7c875b32c173b3ded7bd7e8d11e gcc/m2/gm2-compiler/M2GCCDeclare.def ! 95d8d3ffa4a9ee16ff06fffe5ff19a69 gcc/m2/gm2-compiler/M2GCCDeclare.mod ! 581fef9be9d21b0df045a0fd9d3514b0 gcc/m2/gm2-compiler/M2GenGCC.def ! d6c39d76650c9e694404c2de18f007b6 gcc/m2/gm2-compiler/M2GenGCC.mod 2ed183a1189e5bc8bafa1842e275959e gcc/m2/gm2-compiler/M2Graph.def 584853a747ececb3b3f7cc1e911000df gcc/m2/gm2-compiler/M2Graph.mod 7bcb051229d0115a28be58f01f3181aa gcc/m2/gm2-compiler/M2Lex.def --- 6239,6252 ---- c53535d2e04d70fcbb452b8d5e3e1ba7 gcc/m2/gm2-compiler/M2Emit.def 76b65ef2361a4fc7b9fe60fe56ce2f73 gcc/m2/gm2-compiler/M2Emit.mod c12ca80675357cb96d258f5b6c3996e1 gcc/m2/gm2-compiler/M2Error.def ! 46fd613cbaa08295637da14c8309d8dc gcc/m2/gm2-compiler/M2Error.mod bc3e7afbf37fe9ca99868cca44270773 gcc/m2/gm2-compiler/M2EvalSym.def 00c5062e6973c55551e230e8e1ead0bb gcc/m2/gm2-compiler/M2FileName.def b838bd8a17e7170e89decd1b0d33083a gcc/m2/gm2-compiler/M2FileName.mod ! 9dd307c727b56106a66cfde42dc4ec34 gcc/m2/gm2-compiler/M2GCCDeclare.def ! f3fd9ee963a90fc1b6a9e8edb67a19a6 gcc/m2/gm2-compiler/M2GCCDeclare.mod ! f6374e7189dd9c8fa297f025246a2760 gcc/m2/gm2-compiler/M2GenGCC.def ! 050094e61a20170fbe0a05482fc90f2b gcc/m2/gm2-compiler/M2GenGCC.mod 2ed183a1189e5bc8bafa1842e275959e gcc/m2/gm2-compiler/M2Graph.def 584853a747ececb3b3f7cc1e911000df gcc/m2/gm2-compiler/M2Graph.mod 7bcb051229d0115a28be58f01f3181aa gcc/m2/gm2-compiler/M2Lex.def *************** b3ff1900d33e4b1912c5388c98a4ef5b gcc/m2 *** 6252,6282 **** 6d90d5ed02c9869c6800177d0637f114 gcc/m2/gm2-compiler/M2LexBuf.def 8fcc0d7a4944e11fe60fce6d57a37606 gcc/m2/gm2-compiler/M2LexBuf.mod c65c1c8749ce497ce9490bb0800b702d gcc/m2/gm2-compiler/M2MetaError.def ! f616e44dded481aa1b2f367b5d815294 gcc/m2/gm2-compiler/M2MetaError.mod e3c69c23b26aff99978d6eea6fca3666 gcc/m2/gm2-compiler/M2Optimize.def ! 957016b99d4728d1a725a4c52adcee7f gcc/m2/gm2-compiler/M2Optimize.mod ! fa15d30a34aa13fd38b7a880ccd495d8 gcc/m2/gm2-compiler/M2Options.def ! e6444848d083ceb1b5cff263a34b41b9 gcc/m2/gm2-compiler/M2Options.mod 1106fb38f0213cdf3e0e45c185e2da6f gcc/m2/gm2-compiler/M2Pass.def c072946b43f48549fa9ef6362afdb828 gcc/m2/gm2-compiler/M2Pass.mod e175eb861069caa12d59afe0c38dc80f gcc/m2/gm2-compiler/M2Preprocess.def 2d419c2f4454cb19ab346cff3931f294 gcc/m2/gm2-compiler/M2Preprocess.mod 860a2ae7cbf8faa48ccdfe5a320426d7 gcc/m2/gm2-compiler/M2Printf.def c576f289c892f1f82340f1fc4f81c0df gcc/m2/gm2-compiler/M2Printf.mod ! e45ca747793a958d86f5d7b71a696e5d gcc/m2/gm2-compiler/M2Quads.def ! 236584096c9dbe9cd2b82df6da2e6d20 gcc/m2/gm2-compiler/M2Quads.mod 6c64542046467b30b548dff85413f90f gcc/m2/gm2-compiler/M2Quiet.def 23102502e8c1c2d48478e9e700d05269 gcc/m2/gm2-compiler/M2Quiet.mod 030272e5198550936e59caa21f553081 gcc/m2/gm2-compiler/M2Range.def ! e4937d61f3768b7ef034e50ba279774a gcc/m2/gm2-compiler/M2Range.mod ce5374396d41e6bcf88db36de3037d1c gcc/m2/gm2-compiler/M2Reserved.def 31223b709b0499b24766b0bc7e50571a gcc/m2/gm2-compiler/M2Reserved.mod ed9342d46dccb1fef2e7dd1b2a268c89 gcc/m2/gm2-compiler/M2SSA.def 8f5bb2d2e59edfc3bb287e3d4e16c7eb gcc/m2/gm2-compiler/M2SSA.mod 900e7ad74c6b97131a3d167e1af9e46b gcc/m2/gm2-compiler/M2Scaffold.def 6794c556b884c1e80d67972dcd684e17 gcc/m2/gm2-compiler/M2Scaffold.mod ! 6843444ac2cee909cd2a2e3dc6045412 gcc/m2/gm2-compiler/M2Scope.def ! bfb8ebc2dacf8d79e5c4a1de6b6b2c77 gcc/m2/gm2-compiler/M2Scope.mod 3b55fb27781f848c79a50020ca3423b4 gcc/m2/gm2-compiler/M2Search.def 04b3b465e419394f61c8c9b4d5d7d5c2 gcc/m2/gm2-compiler/M2Search.mod d6aed6b97d7d51f051e44154d33f2579 gcc/m2/gm2-compiler/M2Size.def --- 6254,6284 ---- 6d90d5ed02c9869c6800177d0637f114 gcc/m2/gm2-compiler/M2LexBuf.def 8fcc0d7a4944e11fe60fce6d57a37606 gcc/m2/gm2-compiler/M2LexBuf.mod c65c1c8749ce497ce9490bb0800b702d gcc/m2/gm2-compiler/M2MetaError.def ! 60e983813caabcadbf8a8170623e0e01 gcc/m2/gm2-compiler/M2MetaError.mod e3c69c23b26aff99978d6eea6fca3666 gcc/m2/gm2-compiler/M2Optimize.def ! 01605b368bef4a33bd25d8d59e9eb33d gcc/m2/gm2-compiler/M2Optimize.mod ! 74af506f80ce339fa398dfd948cc9c3e gcc/m2/gm2-compiler/M2Options.def ! 54451ceeb692f0ca08ae54130bf743bb gcc/m2/gm2-compiler/M2Options.mod 1106fb38f0213cdf3e0e45c185e2da6f gcc/m2/gm2-compiler/M2Pass.def c072946b43f48549fa9ef6362afdb828 gcc/m2/gm2-compiler/M2Pass.mod e175eb861069caa12d59afe0c38dc80f gcc/m2/gm2-compiler/M2Preprocess.def 2d419c2f4454cb19ab346cff3931f294 gcc/m2/gm2-compiler/M2Preprocess.mod 860a2ae7cbf8faa48ccdfe5a320426d7 gcc/m2/gm2-compiler/M2Printf.def c576f289c892f1f82340f1fc4f81c0df gcc/m2/gm2-compiler/M2Printf.mod ! 7b17f6afff0c5f147c05d3cd5c203bf2 gcc/m2/gm2-compiler/M2Quads.def ! 52eadb19b63ed4a152c9a14123b7d14f gcc/m2/gm2-compiler/M2Quads.mod 6c64542046467b30b548dff85413f90f gcc/m2/gm2-compiler/M2Quiet.def 23102502e8c1c2d48478e9e700d05269 gcc/m2/gm2-compiler/M2Quiet.mod 030272e5198550936e59caa21f553081 gcc/m2/gm2-compiler/M2Range.def ! 97b1552889f2487bcfc9be43f4b1a7ba gcc/m2/gm2-compiler/M2Range.mod ce5374396d41e6bcf88db36de3037d1c gcc/m2/gm2-compiler/M2Reserved.def 31223b709b0499b24766b0bc7e50571a gcc/m2/gm2-compiler/M2Reserved.mod ed9342d46dccb1fef2e7dd1b2a268c89 gcc/m2/gm2-compiler/M2SSA.def 8f5bb2d2e59edfc3bb287e3d4e16c7eb gcc/m2/gm2-compiler/M2SSA.mod 900e7ad74c6b97131a3d167e1af9e46b gcc/m2/gm2-compiler/M2Scaffold.def 6794c556b884c1e80d67972dcd684e17 gcc/m2/gm2-compiler/M2Scaffold.mod ! 782a934822d3dcef7340c3abbc53f6d0 gcc/m2/gm2-compiler/M2Scope.def ! 59285061660a5157c7542f77746f07b9 gcc/m2/gm2-compiler/M2Scope.mod 3b55fb27781f848c79a50020ca3423b4 gcc/m2/gm2-compiler/M2Search.def 04b3b465e419394f61c8c9b4d5d7d5c2 gcc/m2/gm2-compiler/M2Search.mod d6aed6b97d7d51f051e44154d33f2579 gcc/m2/gm2-compiler/M2Size.def *************** d54ee3b3e58e1a8c2a184a0fa095b469 gcc/m2 *** 6289,6294 **** --- 6291,6298 ---- 9fa59ff3d400f972e94577a82399af48 gcc/m2/gm2-compiler/M2Students.mod 20233ff6f550a64f08b2096624c92e2b gcc/m2/gm2-compiler/M2Swig.def 7b715a2a88466c2a545561d662f266df gcc/m2/gm2-compiler/M2Swig.mod + 29e6a7a01f08121bf446cc73aecd59e2 gcc/m2/gm2-compiler/M2SymInit.def + 8ada1621fd3ff49ce80665944b19f7a3 gcc/m2/gm2-compiler/M2SymInit.mod e1e44b953e68ae3c7d71b9a7b633f9fc gcc/m2/gm2-compiler/M2System.def 636266ac2e9e76be392faa019e964243 gcc/m2/gm2-compiler/M2System.mod 41d8b62d6c09a83361b2f8745b389d3a gcc/m2/gm2-compiler/M2Version.def *************** e1e44b953e68ae3c7d71b9a7b633f9fc gcc/m2 *** 6300,6324 **** e903123c63dbfea2ef561336c8d13f7b gcc/m2/gm2-compiler/Output.mod db47b49ecaf8ec0b3208ffa11df841e8 gcc/m2/gm2-compiler/P0SymBuild.def 9a4ae0de1ea97699a1e1a3be7822173f gcc/m2/gm2-compiler/P0SymBuild.mod ! f37455d1f534411b19f9f064d1ed8f0a gcc/m2/gm2-compiler/P0SyntaxCheck.bnf 159988656fc541e67e4197a92370215e gcc/m2/gm2-compiler/P0SyntaxCheck.def ! e37f2bccf8095deedf5f68e6d7945fd9 gcc/m2/gm2-compiler/P1Build.bnf 2bc327bee69a3075e06af950cf6d92b2 gcc/m2/gm2-compiler/P1Build.def 2b771f8d725bcf31f3e7fca36d4faecd gcc/m2/gm2-compiler/P1SymBuild.def 8a6ce3c0bb8ecdf4418a05676a4e3045 gcc/m2/gm2-compiler/P1SymBuild.mod ! e6c4d5c863f1f3c7cabee1899c0b90af gcc/m2/gm2-compiler/P2Build.bnf b4eb4a45d9d4f2c3be15fa42617d99bd gcc/m2/gm2-compiler/P2Build.def 5a275c7f96e415bd4c60f2f9c4e91703 gcc/m2/gm2-compiler/P2SymBuild.def ! a68567e1bc5a30812df33d33fb42b6e4 gcc/m2/gm2-compiler/P2SymBuild.mod ! 42fda125f761be18ab26c04e614ca158 gcc/m2/gm2-compiler/P3Build.bnf 0e61328237fcaf450191501b161573fa gcc/m2/gm2-compiler/P3Build.def 4e2a315c14f7308d00e36ec05131d5af gcc/m2/gm2-compiler/P3SymBuild.def f4cada80b1f309b56e38b5bc6de3b819 gcc/m2/gm2-compiler/P3SymBuild.mod ! 919554d63fbf50ae873a17dfd8e282f5 gcc/m2/gm2-compiler/PCBuild.bnf 76ab067b99f32eec9ad2f19861ea1077 gcc/m2/gm2-compiler/PCBuild.def 507af5e61ef56254f6ea179ba1732125 gcc/m2/gm2-compiler/PCSymBuild.def ! 73be2bbe51cf66ab70ecdbd16eb0752f gcc/m2/gm2-compiler/PCSymBuild.mod ! 7a1a156be63ec9ac6dcaf5c900826f9a gcc/m2/gm2-compiler/PHBuild.bnf 5eebed3700a811b84ff148edfc48507e gcc/m2/gm2-compiler/PHBuild.def b521bc37b844fd46fdfddcf3d2287f13 gcc/m2/gm2-compiler/PathName.def 96de7226734080944c4bdf83b7dbb0ca gcc/m2/gm2-compiler/PathName.mod --- 6304,6328 ---- e903123c63dbfea2ef561336c8d13f7b gcc/m2/gm2-compiler/Output.mod db47b49ecaf8ec0b3208ffa11df841e8 gcc/m2/gm2-compiler/P0SymBuild.def 9a4ae0de1ea97699a1e1a3be7822173f gcc/m2/gm2-compiler/P0SymBuild.mod ! 242e6cb11b89de6326bf4a278f1045fc gcc/m2/gm2-compiler/P0SyntaxCheck.bnf 159988656fc541e67e4197a92370215e gcc/m2/gm2-compiler/P0SyntaxCheck.def ! 3a64c950446a9b72c89ba689d135b39f gcc/m2/gm2-compiler/P1Build.bnf 2bc327bee69a3075e06af950cf6d92b2 gcc/m2/gm2-compiler/P1Build.def 2b771f8d725bcf31f3e7fca36d4faecd gcc/m2/gm2-compiler/P1SymBuild.def 8a6ce3c0bb8ecdf4418a05676a4e3045 gcc/m2/gm2-compiler/P1SymBuild.mod ! aa072bbe3a8b0e89c3c923b3beab5a6b gcc/m2/gm2-compiler/P2Build.bnf b4eb4a45d9d4f2c3be15fa42617d99bd gcc/m2/gm2-compiler/P2Build.def 5a275c7f96e415bd4c60f2f9c4e91703 gcc/m2/gm2-compiler/P2SymBuild.def ! 940329c259d08c5ec9ee6cccc81a47d8 gcc/m2/gm2-compiler/P2SymBuild.mod ! 926fe3e8e13011e00e997735c03442f4 gcc/m2/gm2-compiler/P3Build.bnf 0e61328237fcaf450191501b161573fa gcc/m2/gm2-compiler/P3Build.def 4e2a315c14f7308d00e36ec05131d5af gcc/m2/gm2-compiler/P3SymBuild.def f4cada80b1f309b56e38b5bc6de3b819 gcc/m2/gm2-compiler/P3SymBuild.mod ! 38220230ec55190bfafc47024e0fb686 gcc/m2/gm2-compiler/PCBuild.bnf 76ab067b99f32eec9ad2f19861ea1077 gcc/m2/gm2-compiler/PCBuild.def 507af5e61ef56254f6ea179ba1732125 gcc/m2/gm2-compiler/PCSymBuild.def ! d2a3b2a3d20f7fb2a7e35466564a24dc gcc/m2/gm2-compiler/PCSymBuild.mod ! c35dff53ef9766c346e1a6eec7b677e2 gcc/m2/gm2-compiler/PHBuild.bnf 5eebed3700a811b84ff148edfc48507e gcc/m2/gm2-compiler/PHBuild.def b521bc37b844fd46fdfddcf3d2287f13 gcc/m2/gm2-compiler/PathName.def 96de7226734080944c4bdf83b7dbb0ca gcc/m2/gm2-compiler/PathName.mod *************** ccb383b502775d121afdb7a53e65b933 gcc/m2 *** 6328,6336 **** 8c995df53f330a0e5a272870a725532c gcc/m2/gm2-compiler/SymbolConversion.def a81a75167edfc8f2197c46d1c7c14b84 gcc/m2/gm2-compiler/SymbolConversion.mod b9739a0ee3a9107c328593c986aae7a0 gcc/m2/gm2-compiler/SymbolKey.def ! 6a3e6657751ccafb60c5b5c22b95e8da gcc/m2/gm2-compiler/SymbolKey.mod ! 0fd412278bb74612892c5c751f098c9e gcc/m2/gm2-compiler/SymbolTable.def ! 966a935c4ba15d92e5a58ca0c7c89ad4 gcc/m2/gm2-compiler/SymbolTable.mod 6ec97d3045588d43d3d5178b69836f74 gcc/m2/gm2-compiler/bnflex.def 48e6abddc0d62652f9f0db44650bff71 gcc/m2/gm2-compiler/bnflex.mod 04ffb53fa523a1dc2d595f086fa9635c gcc/m2/gm2-compiler/cflex.def --- 6332,6340 ---- 8c995df53f330a0e5a272870a725532c gcc/m2/gm2-compiler/SymbolConversion.def a81a75167edfc8f2197c46d1c7c14b84 gcc/m2/gm2-compiler/SymbolConversion.mod b9739a0ee3a9107c328593c986aae7a0 gcc/m2/gm2-compiler/SymbolKey.def ! fae28a13214ecfcb7bbcc2b35b9d0223 gcc/m2/gm2-compiler/SymbolKey.mod ! 2e3a1023dd34eb028c1b6632c3b55be2 gcc/m2/gm2-compiler/SymbolTable.def ! 977e15ad4e6de75d537a235198b965eb gcc/m2/gm2-compiler/SymbolTable.mod 6ec97d3045588d43d3d5178b69836f74 gcc/m2/gm2-compiler/bnflex.def 48e6abddc0d62652f9f0db44650bff71 gcc/m2/gm2-compiler/bnflex.mod 04ffb53fa523a1dc2d595f086fa9635c gcc/m2/gm2-compiler/cflex.def *************** c3ba36c86c9047a833bd2b0b47ef5284 gcc/m2 *** 6342,6349 **** 4bd389913678ce073ee8f420f12ffe3a gcc/m2/gm2-compiler/ppg.mod 4ff5d76d706ef1de0bbdca3ebaff7877 gcc/m2/gm2-gcc/README 499a15b622c6af4999b02c430a73ace8 gcc/m2/gm2-gcc/dynamicstrings.h ! 57fae1bf142ec9d2aee6280dfa9c672b gcc/m2/gm2-gcc/gcc-consolidation.h ! 27cc43b86475a964a4b14f3b6a6addd4 gcc/m2/gm2-gcc/init.cc 4ed608a5d0c03b44ea2a84ed3d0a8a3c gcc/m2/gm2-gcc/init.def 219088b0d7f3a32242195bbc256aefa3 gcc/m2/gm2-gcc/init.h 7f48d6038c5963e7ca3c21825b591a21 gcc/m2/gm2-gcc/m2assert.cc --- 6346,6353 ---- 4bd389913678ce073ee8f420f12ffe3a gcc/m2/gm2-compiler/ppg.mod 4ff5d76d706ef1de0bbdca3ebaff7877 gcc/m2/gm2-gcc/README 499a15b622c6af4999b02c430a73ace8 gcc/m2/gm2-gcc/dynamicstrings.h ! e2b32d1d400331c0cf1b629de078a3a9 gcc/m2/gm2-gcc/gcc-consolidation.h ! a2c3d66195809e40609363e792682155 gcc/m2/gm2-gcc/init.cc 4ed608a5d0c03b44ea2a84ed3d0a8a3c gcc/m2/gm2-gcc/init.def 219088b0d7f3a32242195bbc256aefa3 gcc/m2/gm2-gcc/init.h 7f48d6038c5963e7ca3c21825b591a21 gcc/m2/gm2-gcc/m2assert.cc *************** cd981344174b70ad14e17659fd420028 gcc/m2 *** 6363,6384 **** 784f3b6b4293180b31665b322d50ebac gcc/m2/gm2-gcc/m2convert.cc b4ff6906713a2fcefde47fa9e049663e gcc/m2/gm2-gcc/m2convert.def d542c4187688dd6d3f4c6203c7869b11 gcc/m2/gm2-gcc/m2convert.h ! 4c2d8ec63fcd25d2bd38e06d3435a09b gcc/m2/gm2-gcc/m2decl.cc ! 15c57e1fcb9441186b286414cc733f94 gcc/m2/gm2-gcc/m2decl.def ! 587b7bbf38310c8a74b837671bfc167e gcc/m2/gm2-gcc/m2decl.h c1a94ce50a8866aa560c9b3ede25d8e6 gcc/m2/gm2-gcc/m2except.cc 3efbf405680d327d9937aa805a7742c5 gcc/m2/gm2-gcc/m2except.def 6b4a0f8a1419d29ca2d51fcef30ed5f0 gcc/m2/gm2-gcc/m2except.h ! 209bc8e5ce9a1595213d353f8db678c0 gcc/m2/gm2-gcc/m2expr.cc ! 362d42409f143a7a1892bc03a9d016ce gcc/m2/gm2-gcc/m2expr.def ! 3d3cfc8c39bfaed38ae17b604f312b6f gcc/m2/gm2-gcc/m2expr.h cf93fc26a5bf7be652735df683ae8edf gcc/m2/gm2-gcc/m2linemap.cc fde7d5e80857c6be234b63286ecb1ea4 gcc/m2/gm2-gcc/m2linemap.def 72d2ff1160fa43ac995a93cc8ed301d0 gcc/m2/gm2-gcc/m2linemap.h 2353c2dfcd7e35ff231e5870956a7753 gcc/m2/gm2-gcc/m2misc.cc 96d257b0686aed2488c2220326179b1a gcc/m2/gm2-gcc/m2misc.def 9c14ffd57bc50055379d261c50e5d73f gcc/m2/gm2-gcc/m2misc.h ! 8cf29d1a0f954532c2a906eabcf11918 gcc/m2/gm2-gcc/m2options.h 28b8ea1eeafbd26c37f273e970dea0f4 gcc/m2/gm2-gcc/m2range.h 65770b89c43cec2fe92da4d1fdc6286a gcc/m2/gm2-gcc/m2search.h ffd8f690193f51f2f00e7780a069116a gcc/m2/gm2-gcc/m2statement.cc --- 6367,6388 ---- 784f3b6b4293180b31665b322d50ebac gcc/m2/gm2-gcc/m2convert.cc b4ff6906713a2fcefde47fa9e049663e gcc/m2/gm2-gcc/m2convert.def d542c4187688dd6d3f4c6203c7869b11 gcc/m2/gm2-gcc/m2convert.h ! 83d4ff948bbfd6fb6713e1cc39788ada gcc/m2/gm2-gcc/m2decl.cc ! a23a54d4b1322217de400272e0f6eca7 gcc/m2/gm2-gcc/m2decl.def ! 8825c068a7d038b35169e052ad0191f8 gcc/m2/gm2-gcc/m2decl.h c1a94ce50a8866aa560c9b3ede25d8e6 gcc/m2/gm2-gcc/m2except.cc 3efbf405680d327d9937aa805a7742c5 gcc/m2/gm2-gcc/m2except.def 6b4a0f8a1419d29ca2d51fcef30ed5f0 gcc/m2/gm2-gcc/m2except.h ! be911e5f9e000a9b5137451bf0501980 gcc/m2/gm2-gcc/m2expr.cc ! 6655611b1e8a1e061c6a5cb49e22b5ba gcc/m2/gm2-gcc/m2expr.def ! 06034a93ae39ab5d5766393a223e40a3 gcc/m2/gm2-gcc/m2expr.h cf93fc26a5bf7be652735df683ae8edf gcc/m2/gm2-gcc/m2linemap.cc fde7d5e80857c6be234b63286ecb1ea4 gcc/m2/gm2-gcc/m2linemap.def 72d2ff1160fa43ac995a93cc8ed301d0 gcc/m2/gm2-gcc/m2linemap.h 2353c2dfcd7e35ff231e5870956a7753 gcc/m2/gm2-gcc/m2misc.cc 96d257b0686aed2488c2220326179b1a gcc/m2/gm2-gcc/m2misc.def 9c14ffd57bc50055379d261c50e5d73f gcc/m2/gm2-gcc/m2misc.h ! 0f4322a2cc0fe26849f0290798a9360b gcc/m2/gm2-gcc/m2options.h 28b8ea1eeafbd26c37f273e970dea0f4 gcc/m2/gm2-gcc/m2range.h 65770b89c43cec2fe92da4d1fdc6286a gcc/m2/gm2-gcc/m2search.h ffd8f690193f51f2f00e7780a069116a gcc/m2/gm2-gcc/m2statement.cc *************** cca8ade75d6f99c62d8cff0d4d4c5f20 gcc/m2 *** 6387,6399 **** 9a4a59176339f415ec9422c6f1e4291b gcc/m2/gm2-gcc/m2top.cc c881440990b8612061aefbc41ae86e11 gcc/m2/gm2-gcc/m2top.def 7aa8f8ad24b1dbf4f16434fe7ae3cc7e gcc/m2/gm2-gcc/m2top.h ! 1c9f6764e9aa85fa5da4623e2b9583e7 gcc/m2/gm2-gcc/m2tree.cc c8b9167b2e1a459c25975df54f6ad69d gcc/m2/gm2-gcc/m2tree.def bdfdc5ba787ad40d8a2a2e235d478f20 gcc/m2/gm2-gcc/m2tree.h 263ffead8408e2af85756981e002b365 gcc/m2/gm2-gcc/m2treelib.cc bcfd723553ab9f502170f74c8cf85c00 gcc/m2/gm2-gcc/m2treelib.def 37a5b2891af6d1dc87f386fa1c62ff06 gcc/m2/gm2-gcc/m2treelib.h ! 48d22f8604ee244c3d95f4e4aa40ce02 gcc/m2/gm2-gcc/m2type.cc 8aaff4f014eaa9f9c335f03e804b4b94 gcc/m2/gm2-gcc/m2type.def d2b3393b82a22a65e187048f6ce5e9e7 gcc/m2/gm2-gcc/m2type.h 87266491b24aefec8811d68e57ee1ff7 gcc/m2/gm2-gcc/rtegraph.cc --- 6391,6403 ---- 9a4a59176339f415ec9422c6f1e4291b gcc/m2/gm2-gcc/m2top.cc c881440990b8612061aefbc41ae86e11 gcc/m2/gm2-gcc/m2top.def 7aa8f8ad24b1dbf4f16434fe7ae3cc7e gcc/m2/gm2-gcc/m2top.h ! 6ad03665acf7d0cb3f0f767ba20a0386 gcc/m2/gm2-gcc/m2tree.cc c8b9167b2e1a459c25975df54f6ad69d gcc/m2/gm2-gcc/m2tree.def bdfdc5ba787ad40d8a2a2e235d478f20 gcc/m2/gm2-gcc/m2tree.h 263ffead8408e2af85756981e002b365 gcc/m2/gm2-gcc/m2treelib.cc bcfd723553ab9f502170f74c8cf85c00 gcc/m2/gm2-gcc/m2treelib.def 37a5b2891af6d1dc87f386fa1c62ff06 gcc/m2/gm2-gcc/m2treelib.h ! 860e7fae80b30ba452e39a1d90979d86 gcc/m2/gm2-gcc/m2type.cc 8aaff4f014eaa9f9c335f03e804b4b94 gcc/m2/gm2-gcc/m2type.def d2b3393b82a22a65e187048f6ce5e9e7 gcc/m2/gm2-gcc/m2type.h 87266491b24aefec8811d68e57ee1ff7 gcc/m2/gm2-gcc/rtegraph.cc *************** e70b1c69debf47e6f7923cebf7843699 gcc/m2 *** 6402,6408 **** d5db4a0704741e24958241fe74fd007c gcc/m2/gm2-ici/README 594bedbd8dfe3c5833031592581a2e27 gcc/m2/gm2-ici/m2linemap.c 9220130272f85c698acb2436b170e23a gcc/m2/gm2-internals.texi ! 97a0377fca54edb64087e78909d5cf4a gcc/m2/gm2-lang.cc 9e3e42eb147c35d61614dda2127e4470 gcc/m2/gm2-lang.h 2b1d730bdeb600463475d3bb94f17f12 gcc/m2/gm2-libiberty/README a88120ec3b60093ac6912f4edc03a160 gcc/m2/gm2-libiberty/choosetemp.def --- 6406,6412 ---- d5db4a0704741e24958241fe74fd007c gcc/m2/gm2-ici/README 594bedbd8dfe3c5833031592581a2e27 gcc/m2/gm2-ici/m2linemap.c 9220130272f85c698acb2436b170e23a gcc/m2/gm2-internals.texi ! 9f6cd1cb0eef6f51da167c113d9dfe0a gcc/m2/gm2-lang.cc 9e3e42eb147c35d61614dda2127e4470 gcc/m2/gm2-lang.h 2b1d730bdeb600463475d3bb94f17f12 gcc/m2/gm2-libiberty/README a88120ec3b60093ac6912f4edc03a160 gcc/m2/gm2-libiberty/choosetemp.def *************** b9ef554a88efbec2234a12ebc89a00db gcc/m2 *** 6432,6438 **** f03913f3a65afdb4cd8529b23d1c17da gcc/m2/gm2-libs-coroutines/SYSTEM.def 7fee385db3bf61f156a868627b39c8d5 gcc/m2/gm2-libs-coroutines/SYSTEM.mod 9988bbc2924f5a3342c49dd7cd1a45ab gcc/m2/gm2-libs-coroutines/TimerHandler.def ! 8fba133e638b617c2bca8e7b70011723 gcc/m2/gm2-libs-coroutines/TimerHandler.mod 389f62af2918433359e5d632b9cfa7cb gcc/m2/gm2-libs-iso/COROUTINES.def 1ce5a2f15123c04a5edd246d59a99502 gcc/m2/gm2-libs-iso/COROUTINES.mod b40ce77b637c8356536cc7317b37bd15 gcc/m2/gm2-libs-iso/ChanConsts.def --- 6436,6442 ---- f03913f3a65afdb4cd8529b23d1c17da gcc/m2/gm2-libs-coroutines/SYSTEM.def 7fee385db3bf61f156a868627b39c8d5 gcc/m2/gm2-libs-coroutines/SYSTEM.mod 9988bbc2924f5a3342c49dd7cd1a45ab gcc/m2/gm2-libs-coroutines/TimerHandler.def ! e48b77255df245b655f77f0aaf87c1ea gcc/m2/gm2-libs-coroutines/TimerHandler.mod 389f62af2918433359e5d632b9cfa7cb gcc/m2/gm2-libs-iso/COROUTINES.def 1ce5a2f15123c04a5edd246d59a99502 gcc/m2/gm2-libs-iso/COROUTINES.mod b40ce77b637c8356536cc7317b37bd15 gcc/m2/gm2-libs-iso/ChanConsts.def *************** e5ea2ed3bf2ca24aeda732fb92f74111 gcc/m2 *** 6468,6480 **** 018ee564b5b6d66051cf2ee4c7aea2fc gcc/m2/gm2-libs-iso/LongConv.def dad589a3a3b7729571905838c79ba2bc gcc/m2/gm2-libs-iso/LongConv.mod 4869ce48d2aff46481adb5534764774b gcc/m2/gm2-libs-iso/LongIO.def ! 55dcdd221dc4f65d2dd1a6e03dc3c70c gcc/m2/gm2-libs-iso/LongIO.mod 33a10b599c8fdf13d8d4e1b9b4a2ffc3 gcc/m2/gm2-libs-iso/LongMath.def 50f9902d936149e291e00e0f27e45a92 gcc/m2/gm2-libs-iso/LongMath.mod 8ad351822e38056538ef1e9efe8b5cac gcc/m2/gm2-libs-iso/LongStr.def 08b19f451cf3fbd81aa9a5a4338c1a41 gcc/m2/gm2-libs-iso/LongStr.mod f6937d6aa1bc52ed8e124f14e75844a4 gcc/m2/gm2-libs-iso/LongWholeIO.def ! 5a7235557c0bb7eb0fe53b09e1496f57 gcc/m2/gm2-libs-iso/LongWholeIO.mod 34685287385135c3fbaa60ba1d894854 gcc/m2/gm2-libs-iso/LowLong.def 5d2dcbf01a1b51ef8e87f3dd5eb6b84c gcc/m2/gm2-libs-iso/LowLong.mod 78be5cf8b1f715e70e0c61838c761d10 gcc/m2/gm2-libs-iso/LowReal.def --- 6472,6484 ---- 018ee564b5b6d66051cf2ee4c7aea2fc gcc/m2/gm2-libs-iso/LongConv.def dad589a3a3b7729571905838c79ba2bc gcc/m2/gm2-libs-iso/LongConv.mod 4869ce48d2aff46481adb5534764774b gcc/m2/gm2-libs-iso/LongIO.def ! 051217cede14f3d1fcf80286a8905da2 gcc/m2/gm2-libs-iso/LongIO.mod 33a10b599c8fdf13d8d4e1b9b4a2ffc3 gcc/m2/gm2-libs-iso/LongMath.def 50f9902d936149e291e00e0f27e45a92 gcc/m2/gm2-libs-iso/LongMath.mod 8ad351822e38056538ef1e9efe8b5cac gcc/m2/gm2-libs-iso/LongStr.def 08b19f451cf3fbd81aa9a5a4338c1a41 gcc/m2/gm2-libs-iso/LongStr.mod f6937d6aa1bc52ed8e124f14e75844a4 gcc/m2/gm2-libs-iso/LongWholeIO.def ! 5105f93d0a9a789cc2ff77eab2e5c412 gcc/m2/gm2-libs-iso/LongWholeIO.mod 34685287385135c3fbaa60ba1d894854 gcc/m2/gm2-libs-iso/LowLong.def 5d2dcbf01a1b51ef8e87f3dd5eb6b84c gcc/m2/gm2-libs-iso/LowLong.mod 78be5cf8b1f715e70e0c61838c761d10 gcc/m2/gm2-libs-iso/LowReal.def *************** a7ee6263f890b4331fa80fdd78dc5f55 gcc/m2 *** 6502,6508 **** 7864a4094d3257ae4a3114e9ae01532a gcc/m2/gm2-libs-iso/RTfio.def 0d1cb14e2cab5d84c3af2785f995a84a gcc/m2/gm2-libs-iso/RTfio.mod a97510439fd12aed085753d9bbf3429e gcc/m2/gm2-libs-iso/RTgen.def ! 40a39336ec2af095c24c898b04126507 gcc/m2/gm2-libs-iso/RTgen.mod 89638440b66d0a21eea1fc4d27ba3bba gcc/m2/gm2-libs-iso/RTgenif.def 8ab1ee709c358a302d2c5146ebdc310e gcc/m2/gm2-libs-iso/RTgenif.mod b4454194bee0c3848e6822fb4fd3f9c5 gcc/m2/gm2-libs-iso/RTio.def --- 6506,6512 ---- 7864a4094d3257ae4a3114e9ae01532a gcc/m2/gm2-libs-iso/RTfio.def 0d1cb14e2cab5d84c3af2785f995a84a gcc/m2/gm2-libs-iso/RTfio.mod a97510439fd12aed085753d9bbf3429e gcc/m2/gm2-libs-iso/RTgen.def ! 28178aaccf61e827a4a5f509fb665a32 gcc/m2/gm2-libs-iso/RTgen.mod 89638440b66d0a21eea1fc4d27ba3bba gcc/m2/gm2-libs-iso/RTgenif.def 8ab1ee709c358a302d2c5146ebdc310e gcc/m2/gm2-libs-iso/RTgenif.mod b4454194bee0c3848e6822fb4fd3f9c5 gcc/m2/gm2-libs-iso/RTio.def *************** be35a2dca23ded4a483961d33770d79c gcc/m2 *** 6514,6520 **** df153efe4a594ad9e9d8cca8b83c8df2 gcc/m2/gm2-libs-iso/RealConv.def 4c60347e26ca3232bdc5f3990a11b37f gcc/m2/gm2-libs-iso/RealConv.mod eba391eef02297c03d7a651d6073fc82 gcc/m2/gm2-libs-iso/RealIO.def ! b47a32741f8a11ffe7091f7ca47dd59a gcc/m2/gm2-libs-iso/RealIO.mod 26b3c4e00ec2554e4506a35049bc3f0c gcc/m2/gm2-libs-iso/RealMath.def d5d58ea1bba5453b6e79d96cc359be83 gcc/m2/gm2-libs-iso/RealMath.mod a97765c0f82b53bb50acb8e67e5374e6 gcc/m2/gm2-libs-iso/RealStr.def --- 6518,6524 ---- df153efe4a594ad9e9d8cca8b83c8df2 gcc/m2/gm2-libs-iso/RealConv.def 4c60347e26ca3232bdc5f3990a11b37f gcc/m2/gm2-libs-iso/RealConv.mod eba391eef02297c03d7a651d6073fc82 gcc/m2/gm2-libs-iso/RealIO.def ! 88b32e6b76632431beb290feb1add03b gcc/m2/gm2-libs-iso/RealIO.mod 26b3c4e00ec2554e4506a35049bc3f0c gcc/m2/gm2-libs-iso/RealMath.def d5d58ea1bba5453b6e79d96cc359be83 gcc/m2/gm2-libs-iso/RealMath.mod a97765c0f82b53bb50acb8e67e5374e6 gcc/m2/gm2-libs-iso/RealStr.def *************** e40fdae4d0992bbfc83c127235813e82 gcc/m2 *** 6544,6556 **** cb047c38f5ef851681b19de3902ffebe gcc/m2/gm2-libs-iso/Semaphores.def 39599a5c38d59d5fce374bac8ae1e98d gcc/m2/gm2-libs-iso/Semaphores.mod 0123a3eb7dc065b38800f7157f415c27 gcc/m2/gm2-libs-iso/SeqFile.def ! c9b5f3c956e7f3187223d8cf601b6106 gcc/m2/gm2-libs-iso/SeqFile.mod 5237862b61a823e2927510fbb25fff2e gcc/m2/gm2-libs-iso/ShortComplexMath.def 8f56c7947659859465159f919073386a gcc/m2/gm2-libs-iso/ShortComplexMath.mod 93009686521560cc8f268f51441cf1d1 gcc/m2/gm2-libs-iso/ShortIO.def 395e988ac12137c93c66946e5dc8b81c gcc/m2/gm2-libs-iso/ShortIO.mod 01687494d7989b9a32645dcab016322c gcc/m2/gm2-libs-iso/ShortWholeIO.def ! 4be179f43c7544de70d488ba0bef7fa4 gcc/m2/gm2-libs-iso/ShortWholeIO.mod 2844178f7daffa687028ca7e3fb57971 gcc/m2/gm2-libs-iso/SimpleCipher.def 18d9ea25e9aadc24e2e1f4cccc37524f gcc/m2/gm2-libs-iso/SimpleCipher.mod 8b8a01b2a2ce71ef914ac2c6cc8c3b75 gcc/m2/gm2-libs-iso/StdChans.def --- 6548,6560 ---- cb047c38f5ef851681b19de3902ffebe gcc/m2/gm2-libs-iso/Semaphores.def 39599a5c38d59d5fce374bac8ae1e98d gcc/m2/gm2-libs-iso/Semaphores.mod 0123a3eb7dc065b38800f7157f415c27 gcc/m2/gm2-libs-iso/SeqFile.def ! 99a2ba8faed3daed7f717af040e6fdaa gcc/m2/gm2-libs-iso/SeqFile.mod 5237862b61a823e2927510fbb25fff2e gcc/m2/gm2-libs-iso/ShortComplexMath.def 8f56c7947659859465159f919073386a gcc/m2/gm2-libs-iso/ShortComplexMath.mod 93009686521560cc8f268f51441cf1d1 gcc/m2/gm2-libs-iso/ShortIO.def 395e988ac12137c93c66946e5dc8b81c gcc/m2/gm2-libs-iso/ShortIO.mod 01687494d7989b9a32645dcab016322c gcc/m2/gm2-libs-iso/ShortWholeIO.def ! 6753254d02453a0b22b52eb53b4339f0 gcc/m2/gm2-libs-iso/ShortWholeIO.mod 2844178f7daffa687028ca7e3fb57971 gcc/m2/gm2-libs-iso/SimpleCipher.def 18d9ea25e9aadc24e2e1f4cccc37524f gcc/m2/gm2-libs-iso/SimpleCipher.mod 8b8a01b2a2ce71ef914ac2c6cc8c3b75 gcc/m2/gm2-libs-iso/StdChans.def *************** aab1f63933d28147159620ba6ee38c88 gcc/m2 *** 6562,6582 **** 770d687f2e85505cb261597434d7efd2 gcc/m2/gm2-libs-iso/StringChan.def 16e0c5868d4112cfa5d7e5abb53f80d3 gcc/m2/gm2-libs-iso/StringChan.mod 8f11555f792697e6e70bdabf60c96447 gcc/m2/gm2-libs-iso/Strings.def ! 4b0be966d9adae1964a45a151e8e4f43 gcc/m2/gm2-libs-iso/Strings.mod decb080d52ed383b759f5da725dcc91f gcc/m2/gm2-libs-iso/SysClock.def ! ad97e28b2b5f5901bab3f5981f96b2fe gcc/m2/gm2-libs-iso/SysClock.mod 62d31afe6dbffd3c51bcaa5af7575bcd gcc/m2/gm2-libs-iso/TERMINATION.def d79b7c04c72fcfe51a7aa9eb2ba3b755 gcc/m2/gm2-libs-iso/TERMINATION.mod 665eef372cb297013ff37bc80a4eb66d gcc/m2/gm2-libs-iso/TermFile.def e8f69e9c8ab9b95b79dbe73d127ab56a gcc/m2/gm2-libs-iso/TermFile.mod 3e80217d87e3e0aa014739829f7cc23a gcc/m2/gm2-libs-iso/TextIO.def ! 5f14b6cdf781046b36b503efa9730a6d gcc/m2/gm2-libs-iso/TextIO.mod 63a72ee284f83e558fb34e32fe4cc1fb gcc/m2/gm2-libs-iso/WholeConv.def 7bff7d6ea229e2a85acda75fc121d965 gcc/m2/gm2-libs-iso/WholeConv.mod 108023618e22cb8631ac14d0bf21510a gcc/m2/gm2-libs-iso/WholeIO.def ! aae3176d6c1a767dd377d504977806a0 gcc/m2/gm2-libs-iso/WholeIO.mod a27fdd32dbd31b2e992eceaf29b2fe76 gcc/m2/gm2-libs-iso/WholeStr.def be3b1d273b1a28f7dd7dae905b63ecef gcc/m2/gm2-libs-iso/WholeStr.mod c8686e39fa3d904d0ba435489fa135c1 gcc/m2/gm2-libs-iso/wrapsock.def e90d87cc30a33cfcb39979016544d2cb gcc/m2/gm2-libs-iso/wraptime.def a40ff2314d621e42c52067023b1441d9 gcc/m2/gm2-libs-log/BitBlockOps.def --- 6566,6589 ---- 770d687f2e85505cb261597434d7efd2 gcc/m2/gm2-libs-iso/StringChan.def 16e0c5868d4112cfa5d7e5abb53f80d3 gcc/m2/gm2-libs-iso/StringChan.mod 8f11555f792697e6e70bdabf60c96447 gcc/m2/gm2-libs-iso/Strings.def ! 963d400569b641187d3df90c654f0450 gcc/m2/gm2-libs-iso/Strings.mod decb080d52ed383b759f5da725dcc91f gcc/m2/gm2-libs-iso/SysClock.def ! 2a554726a1e26103f8e6dca30d04e381 gcc/m2/gm2-libs-iso/SysClock.mod 62d31afe6dbffd3c51bcaa5af7575bcd gcc/m2/gm2-libs-iso/TERMINATION.def d79b7c04c72fcfe51a7aa9eb2ba3b755 gcc/m2/gm2-libs-iso/TERMINATION.mod 665eef372cb297013ff37bc80a4eb66d gcc/m2/gm2-libs-iso/TermFile.def e8f69e9c8ab9b95b79dbe73d127ab56a gcc/m2/gm2-libs-iso/TermFile.mod 3e80217d87e3e0aa014739829f7cc23a gcc/m2/gm2-libs-iso/TextIO.def ! 30ee9eef856a26a64443a7c91ac7c90c gcc/m2/gm2-libs-iso/TextIO.mod ! 2d02695e724416d8ab69bc7350a43e38 gcc/m2/gm2-libs-iso/TextUtil.def ! e7a769bbc2ef68aba7fa785b931426ac gcc/m2/gm2-libs-iso/TextUtil.mod 63a72ee284f83e558fb34e32fe4cc1fb gcc/m2/gm2-libs-iso/WholeConv.def 7bff7d6ea229e2a85acda75fc121d965 gcc/m2/gm2-libs-iso/WholeConv.mod 108023618e22cb8631ac14d0bf21510a gcc/m2/gm2-libs-iso/WholeIO.def ! 4770b9e54234ca9c6398658b9c659f56 gcc/m2/gm2-libs-iso/WholeIO.mod a27fdd32dbd31b2e992eceaf29b2fe76 gcc/m2/gm2-libs-iso/WholeStr.def be3b1d273b1a28f7dd7dae905b63ecef gcc/m2/gm2-libs-iso/WholeStr.mod + 79c6b4b0901dc16eb1be529e0ad89000 gcc/m2/gm2-libs-iso/wrapclock.def c8686e39fa3d904d0ba435489fa135c1 gcc/m2/gm2-libs-iso/wrapsock.def e90d87cc30a33cfcb39979016544d2cb gcc/m2/gm2-libs-iso/wraptime.def a40ff2314d621e42c52067023b1441d9 gcc/m2/gm2-libs-log/BitBlockOps.def *************** d2683ec90a5cf945a08811f3dbdf02b7 gcc/m2 *** 6653,6663 **** 64b5538da8ef57c24f003b89eade6aea gcc/m2/gm2-libs/Debug.def d173462bca4d41927b0ab36c5ae08dfe gcc/m2/gm2-libs/Debug.mod 8913e71a5ef3ce1658bef00741a2b339 gcc/m2/gm2-libs/DynamicStrings.def ! 00cde8bad6bba2bd01f58e4e0c136c64 gcc/m2/gm2-libs/DynamicStrings.mod adcc1d27331453eaf3d19b4ff6d3c1ba gcc/m2/gm2-libs/Environment.def 2f27faf82e2a995767655e4cb2715dfd gcc/m2/gm2-libs/Environment.mod ! be75460f688cf4a889a53671132520e7 gcc/m2/gm2-libs/FIO.def ! edac0fdcfd4770c1c16400439bd04514 gcc/m2/gm2-libs/FIO.mod 68e0a0d32bd9639121daf1001db9dd05 gcc/m2/gm2-libs/FormatStrings.def 9c941c9a4855e870fd28651647b745fd gcc/m2/gm2-libs/FormatStrings.mod 78d829b48ef00b8a8d2c016b770628dd gcc/m2/gm2-libs/FpuIO.def --- 6660,6670 ---- 64b5538da8ef57c24f003b89eade6aea gcc/m2/gm2-libs/Debug.def d173462bca4d41927b0ab36c5ae08dfe gcc/m2/gm2-libs/Debug.mod 8913e71a5ef3ce1658bef00741a2b339 gcc/m2/gm2-libs/DynamicStrings.def ! 63cb3f0fdd3573f84c5ef991518c64d5 gcc/m2/gm2-libs/DynamicStrings.mod adcc1d27331453eaf3d19b4ff6d3c1ba gcc/m2/gm2-libs/Environment.def 2f27faf82e2a995767655e4cb2715dfd gcc/m2/gm2-libs/Environment.mod ! 9be8c102b6c291b81666eb688195b415 gcc/m2/gm2-libs/FIO.def ! 45aea4b38e3e52e0d1c32421ea24b6b9 gcc/m2/gm2-libs/FIO.mod 68e0a0d32bd9639121daf1001db9dd05 gcc/m2/gm2-libs/FormatStrings.def 9c941c9a4855e870fd28651647b745fd gcc/m2/gm2-libs/FormatStrings.mod 78d829b48ef00b8a8d2c016b770628dd gcc/m2/gm2-libs/FpuIO.def *************** edac0fdcfd4770c1c16400439bd04514 gcc/m2 *** 6665,6671 **** 9b0045f280b51aee9c91ff00622f2eb1 gcc/m2/gm2-libs/GetOpt.def bc1a4b60d30af5258818aeb6b9419a58 gcc/m2/gm2-libs/GetOpt.mod c10897b480022c6448b615008c9dd188 gcc/m2/gm2-libs/IO.def ! 33e67c89a0e5b347b4b8b1255caefad4 gcc/m2/gm2-libs/IO.mod afd90ce364910d91fa384a463a1dcab9 gcc/m2/gm2-libs/Indexing.def 7f61d60bfe7564507a22f89eeedf2a26 gcc/m2/gm2-libs/Indexing.mod 25611159e0f0b8fcefb26d6d64200c77 gcc/m2/gm2-libs/LMathLib0.def --- 6672,6678 ---- 9b0045f280b51aee9c91ff00622f2eb1 gcc/m2/gm2-libs/GetOpt.def bc1a4b60d30af5258818aeb6b9419a58 gcc/m2/gm2-libs/GetOpt.mod c10897b480022c6448b615008c9dd188 gcc/m2/gm2-libs/IO.def ! db31be31e3ae096b8ea29d2ede97dc96 gcc/m2/gm2-libs/IO.mod afd90ce364910d91fa384a463a1dcab9 gcc/m2/gm2-libs/Indexing.def 7f61d60bfe7564507a22f89eeedf2a26 gcc/m2/gm2-libs/Indexing.mod 25611159e0f0b8fcefb26d6d64200c77 gcc/m2/gm2-libs/LMathLib0.def *************** afd90ce364910d91fa384a463a1dcab9 gcc/m2 *** 6673,6679 **** 9c44b633baf1fbff30ae84fd240f9361 gcc/m2/gm2-libs/LegacyReal.def a3c8371b1b610828abbe89f0cb3866d7 gcc/m2/gm2-libs/LegacyReal.mod 84571cff693fb9fb593d29dacfe88559 gcc/m2/gm2-libs/M2Dependent.def ! d9ddfd1d9bbaf6fa9c3e1ce86144b370 gcc/m2/gm2-libs/M2Dependent.mod 78291d36f3d14a83a3dd6a3ed2687a99 gcc/m2/gm2-libs/M2EXCEPTION.def 5d02fc7f3ba450684d735a822771f5e0 gcc/m2/gm2-libs/M2EXCEPTION.mod 86579db60dd6710d616f8fe6988854d3 gcc/m2/gm2-libs/M2RTS.def --- 6680,6686 ---- 9c44b633baf1fbff30ae84fd240f9361 gcc/m2/gm2-libs/LegacyReal.def a3c8371b1b610828abbe89f0cb3866d7 gcc/m2/gm2-libs/LegacyReal.mod 84571cff693fb9fb593d29dacfe88559 gcc/m2/gm2-libs/M2Dependent.def ! 2a6b6c89b1d046ecee9236e2996a1ba6 gcc/m2/gm2-libs/M2Dependent.mod 78291d36f3d14a83a3dd6a3ed2687a99 gcc/m2/gm2-libs/M2EXCEPTION.def 5d02fc7f3ba450684d735a822771f5e0 gcc/m2/gm2-libs/M2EXCEPTION.mod 86579db60dd6710d616f8fe6988854d3 gcc/m2/gm2-libs/M2RTS.def *************** ebfee068547d24bec77889574ce03cb3 gcc/m2 *** 6743,6749 **** f5e3505ca9e35809b0e816412f6646b2 gcc/m2/gm2-libs/termios.def 2c9b4a2c42506275158fb4edb23fd384 gcc/m2/gm2-libs/wrapc.def ccaa683ba714cdbeafc186000b6c8dd1 gcc/m2/gm2config.aci.in ! 271930c30354b62b9b8260f4262366e9 gcc/m2/gm2spec.cc 40898863b66a4914ce1a79d2636ded72 gcc/m2/gm2version.h b773646bf260ce040f22648140172958 gcc/m2/images/LICENSE.IMG 28628f59c0ab73240ccd25e2be0bcb6a gcc/m2/images/gnu.eps --- 6750,6756 ---- f5e3505ca9e35809b0e816412f6646b2 gcc/m2/gm2-libs/termios.def 2c9b4a2c42506275158fb4edb23fd384 gcc/m2/gm2-libs/wrapc.def ccaa683ba714cdbeafc186000b6c8dd1 gcc/m2/gm2config.aci.in ! 2d2914c10ce300ec8f7f4144a6bf6486 gcc/m2/gm2spec.cc 40898863b66a4914ce1a79d2636ded72 gcc/m2/gm2version.h b773646bf260ce040f22648140172958 gcc/m2/images/LICENSE.IMG 28628f59c0ab73240ccd25e2be0bcb6a gcc/m2/images/gnu.eps *************** d02bb7b852c2149c474702f929b72f2d gcc/m2 *** 6752,6762 **** 2bec82e138e801417f0fbaa5609096b6 gcc/m2/init/mcinit b6886c959d02079a74d01380ece89bd4 gcc/m2/init/ppginit 134ee7ee8b3ce07dfcc9a49f07931a6e gcc/m2/lang-specs.h ! 2f7cdcd252396f4ea8ba72a0c34b800f gcc/m2/lang.opt 4bc145ddc086daeb8716415130839103 gcc/m2/m2-tree.def 5916f095ac4ecbed229327a97396debd gcc/m2/m2-tree.h ! d35ce9754008f6579adc7eed275e8ab3 gcc/m2/m2.flex ! 2102606ee54baae50d1c6a8d12764045 gcc/m2/m2pp.cc 3be1afa2f5f01bab267841426102eff8 gcc/m2/m2pp.h d529b8158b03d8e0825ba5673228ef6f gcc/m2/mc-boot-ch/GBuiltins.cc f079be95a973fca7bf8bd0b8a4ef1e46 gcc/m2/mc-boot-ch/GM2LINK.c --- 6759,6769 ---- 2bec82e138e801417f0fbaa5609096b6 gcc/m2/init/mcinit b6886c959d02079a74d01380ece89bd4 gcc/m2/init/ppginit 134ee7ee8b3ce07dfcc9a49f07931a6e gcc/m2/lang-specs.h ! 22eeeefb6fc6b09bd3ce46da5451bc81 gcc/m2/lang.opt 4bc145ddc086daeb8716415130839103 gcc/m2/m2-tree.def 5916f095ac4ecbed229327a97396debd gcc/m2/m2-tree.h ! bb7e8ad6015fe73f7929b03b7c56c83b gcc/m2/m2.flex ! a485098328befb16d9ce327b3ddf09cc gcc/m2/m2pp.cc 3be1afa2f5f01bab267841426102eff8 gcc/m2/m2pp.h d529b8158b03d8e0825ba5673228ef6f gcc/m2/mc-boot-ch/GBuiltins.cc f079be95a973fca7bf8bd0b8a4ef1e46 gcc/m2/mc-boot-ch/GM2LINK.c *************** d5f1403e3be9867d18d65b78fa47faf6 gcc/m2 *** 6793,6805 **** af72b0909c7ec7d9e8e66f71c849bdd5 gcc/m2/mc-boot/GCmdArgs.h b0bbd0d1098a0ba2256e1150d1272ac0 gcc/m2/mc-boot/GDebug.cc 37d360f7e36fc1da7d7b99fb2a9a1933 gcc/m2/mc-boot/GDebug.h ! d2d0183c0e521aeec97bb6103fcb7a4a gcc/m2/mc-boot/GDynamicStrings.cc 975ef9e0f2667fa71d6c298497a7cbe7 gcc/m2/mc-boot/GDynamicStrings.h bbf43cc6e6be26c48c851cb1122abb3e gcc/m2/mc-boot/GEnvironment.cc 7b0f103d106e0df360747078c19e8008 gcc/m2/mc-boot/GEnvironment.h ! 4fb30e9ba68cc559430a57db83aefb09 gcc/m2/mc-boot/GFIO.cc 06019acc5e8e82cbe0b278ca86fdb442 gcc/m2/mc-boot/GFIO.h ! b4f287539f3c5169dc1ae5a5288cab78 gcc/m2/mc-boot/GFormatStrings.cc b74dfed7b7d79571a34d8200d27ee26d gcc/m2/mc-boot/GFormatStrings.h 23aa96b538e71a24c70592c5beb86841 gcc/m2/mc-boot/GFpuIO.cc b8d8889e96fe71d6fc6e9ffeb58f3a41 gcc/m2/mc-boot/GFpuIO.h --- 6800,6812 ---- af72b0909c7ec7d9e8e66f71c849bdd5 gcc/m2/mc-boot/GCmdArgs.h b0bbd0d1098a0ba2256e1150d1272ac0 gcc/m2/mc-boot/GDebug.cc 37d360f7e36fc1da7d7b99fb2a9a1933 gcc/m2/mc-boot/GDebug.h ! 47ed8bced6a9365235f42427bb8df2ae gcc/m2/mc-boot/GDynamicStrings.cc 975ef9e0f2667fa71d6c298497a7cbe7 gcc/m2/mc-boot/GDynamicStrings.h bbf43cc6e6be26c48c851cb1122abb3e gcc/m2/mc-boot/GEnvironment.cc 7b0f103d106e0df360747078c19e8008 gcc/m2/mc-boot/GEnvironment.h ! c229f2dac905c1790b2f3bf3047b09ac gcc/m2/mc-boot/GFIO.cc 06019acc5e8e82cbe0b278ca86fdb442 gcc/m2/mc-boot/GFIO.h ! 54da8e050186bce84b1983cee7533ca0 gcc/m2/mc-boot/GFormatStrings.cc b74dfed7b7d79571a34d8200d27ee26d gcc/m2/mc-boot/GFormatStrings.h 23aa96b538e71a24c70592c5beb86841 gcc/m2/mc-boot/GFpuIO.cc b8d8889e96fe71d6fc6e9ffeb58f3a41 gcc/m2/mc-boot/GFpuIO.h *************** ba54cf1f658729d1be420cd21e6b3e50 gcc/m2 *** 6807,6834 **** eeff5e8ab0a467da8073f80d0ec4c6a9 gcc/m2/mc-boot/GIO.h 904748eef6b4f4f8dfd50fc791a637ad gcc/m2/mc-boot/GIndexing.cc 4b164b89dbdee73eab0ed6273c126036 gcc/m2/mc-boot/GIndexing.h ! 97268ba25d6412d430eb97221977ef9e gcc/m2/mc-boot/GM2Dependent.cc ! 32cdec1e78a9995a234cd4c2005fdfb7 gcc/m2/mc-boot/GM2Dependent.h fce8e2de853fca049cfd17377d38c3a7 gcc/m2/mc-boot/GM2EXCEPTION.cc 3ef7a33055f85a49626c3fb027c07813 gcc/m2/mc-boot/GM2EXCEPTION.h ! a2498949de306ebf0d0969e9d5eb38d8 gcc/m2/mc-boot/GM2LINK.h ! a3985360fc876c9a51efb84449d84e8c gcc/m2/mc-boot/GM2RTS.cc ! 69befd62c6e065b96c1ad6ba4bde65c8 gcc/m2/mc-boot/GM2RTS.h 2e7e39207972179fe86fa81c899f13e3 gcc/m2/mc-boot/GMemUtils.cc ad2aa0ce416c77acfe2b76e06ead1d9b gcc/m2/mc-boot/GMemUtils.h c37904b4f301a945c68c976b2fa131ec gcc/m2/mc-boot/GNumberIO.cc d7dca9439958a4625a264baf5cb30ad0 gcc/m2/mc-boot/GNumberIO.h 80e57da7c2547561d4e5fd6238d5bf05 gcc/m2/mc-boot/GPushBackInput.cc 1499912a603b94034135cfe4efe8b69b gcc/m2/mc-boot/GPushBackInput.h ! 5e0ab171f4bf9bd08a9dd5db1dc5a8ae gcc/m2/mc-boot/GRTExceptions.cc 00a4693b96b3707173b57a1b692e70f1 gcc/m2/mc-boot/GRTExceptions.h 9f9be1bdb177168567e594e63bca1098 gcc/m2/mc-boot/GRTco.h cbc3df9edfaaff1e81dad348972462d3 gcc/m2/mc-boot/GRTentity.h ! 7e5c2fa1b06e835fa7e0658dd7435537 gcc/m2/mc-boot/GRTint.cc 9db19707d52c687e98dd0836e90892f9 gcc/m2/mc-boot/GRTint.h 5a7456325f6c13a63f43917e154ae48d gcc/m2/mc-boot/GSArgs.cc 0374d0fda535bd35839a23fb9748cd54 gcc/m2/mc-boot/GSArgs.h ! 73a8c5fe0154a2d0e2915e6cc24fc414 gcc/m2/mc-boot/GSFIO.cc 7cf42fb02b8b0cfd52be03c5eebaa715 gcc/m2/mc-boot/GSFIO.h 76c610bf878ecda77dcc18cab4c93d47 gcc/m2/mc-boot/GSYSTEM.h f4d3b1f8e74ab5cd68bf044821e9807b gcc/m2/mc-boot/GSelective.h --- 6814,6840 ---- eeff5e8ab0a467da8073f80d0ec4c6a9 gcc/m2/mc-boot/GIO.h 904748eef6b4f4f8dfd50fc791a637ad gcc/m2/mc-boot/GIndexing.cc 4b164b89dbdee73eab0ed6273c126036 gcc/m2/mc-boot/GIndexing.h ! 14a08303a8fdd315611a9da654ec2e8e gcc/m2/mc-boot/GM2Dependent.cc ! 3b7ac1d7139aed7d066f7a502881a6cf gcc/m2/mc-boot/GM2Dependent.h fce8e2de853fca049cfd17377d38c3a7 gcc/m2/mc-boot/GM2EXCEPTION.cc 3ef7a33055f85a49626c3fb027c07813 gcc/m2/mc-boot/GM2EXCEPTION.h ! 5f28c67a17697bd8ce9b32bf054676fe gcc/m2/mc-boot/GM2RTS.cc ! 1b3118ac76a8112e6b98cbb6ba6d926b gcc/m2/mc-boot/GM2RTS.h 2e7e39207972179fe86fa81c899f13e3 gcc/m2/mc-boot/GMemUtils.cc ad2aa0ce416c77acfe2b76e06ead1d9b gcc/m2/mc-boot/GMemUtils.h c37904b4f301a945c68c976b2fa131ec gcc/m2/mc-boot/GNumberIO.cc d7dca9439958a4625a264baf5cb30ad0 gcc/m2/mc-boot/GNumberIO.h 80e57da7c2547561d4e5fd6238d5bf05 gcc/m2/mc-boot/GPushBackInput.cc 1499912a603b94034135cfe4efe8b69b gcc/m2/mc-boot/GPushBackInput.h ! adb31d3867a725909c04faf731b40310 gcc/m2/mc-boot/GRTExceptions.cc 00a4693b96b3707173b57a1b692e70f1 gcc/m2/mc-boot/GRTExceptions.h 9f9be1bdb177168567e594e63bca1098 gcc/m2/mc-boot/GRTco.h cbc3df9edfaaff1e81dad348972462d3 gcc/m2/mc-boot/GRTentity.h ! 546beaedcc1e4c0fc1a1a14d212d3bbe gcc/m2/mc-boot/GRTint.cc 9db19707d52c687e98dd0836e90892f9 gcc/m2/mc-boot/GRTint.h 5a7456325f6c13a63f43917e154ae48d gcc/m2/mc-boot/GSArgs.cc 0374d0fda535bd35839a23fb9748cd54 gcc/m2/mc-boot/GSArgs.h ! 5d9cce1798ad20928a4e1ea241f2ea71 gcc/m2/mc-boot/GSFIO.cc 7cf42fb02b8b0cfd52be03c5eebaa715 gcc/m2/mc-boot/GSFIO.h 76c610bf878ecda77dcc18cab4c93d47 gcc/m2/mc-boot/GSYSTEM.h f4d3b1f8e74ab5cd68bf044821e9807b gcc/m2/mc-boot/GSelective.h *************** c2b76a0d0505d97727f87772aff69d37 gcc/m2 *** 6842,6848 **** 0c1f8b68ae599ac6c3838fb988cb5045 gcc/m2/mc-boot/GStrIO.h 4decc58668e7136575b60b97faa5d475 gcc/m2/mc-boot/GStrLib.cc b72d1fa8ccc75fc32c6de9bb4c0a4bb4 gcc/m2/mc-boot/GStrLib.h ! cb166ce24a015628def33bc416a0aae0 gcc/m2/mc-boot/GStringConvert.cc 280884233bc94231351093080759a066 gcc/m2/mc-boot/GStringConvert.h 55d56cb42d4701315026296a2e0a3f80 gcc/m2/mc-boot/GSysExceptions.h c3eb9a4c9cb773b5740d158b90a05cef gcc/m2/mc-boot/GSysStorage.cc --- 6848,6854 ---- 0c1f8b68ae599ac6c3838fb988cb5045 gcc/m2/mc-boot/GStrIO.h 4decc58668e7136575b60b97faa5d475 gcc/m2/mc-boot/GStrLib.cc b72d1fa8ccc75fc32c6de9bb4c0a4bb4 gcc/m2/mc-boot/GStrLib.h ! b9f9f58b94232de40bdfb683fd6324dc gcc/m2/mc-boot/GStringConvert.cc 280884233bc94231351093080759a066 gcc/m2/mc-boot/GStringConvert.h 55d56cb42d4701315026296a2e0a3f80 gcc/m2/mc-boot/GSysExceptions.h c3eb9a4c9cb773b5740d158b90a05cef gcc/m2/mc-boot/GSysStorage.cc *************** b83fe6e3fffff61c3db1c47256ab1acb gcc/m2 *** 6852,6858 **** 823bafa37aee847f942c580efcf5330c gcc/m2/mc-boot/GUnixArgs.h 8117ee0032395458c141f82f4795e2ab gcc/m2/mc-boot/Galists.cc 392b1e0c4edc9ddbd6264fd336a26e37 gcc/m2/mc-boot/Galists.h ! d2d6725c2e28f60027c4936f37360ee5 gcc/m2/mc-boot/Gdecl.cc 56b83004d70600b701276f187b5b33e9 gcc/m2/mc-boot/Gdecl.h a19b58d529e7458adbd08320a4b7c2b9 gcc/m2/mc-boot/Gdtoa.h 9ee62c1541b929cc35112061c5ae7e90 gcc/m2/mc-boot/Gerrno.h --- 6858,6864 ---- 823bafa37aee847f942c580efcf5330c gcc/m2/mc-boot/GUnixArgs.h 8117ee0032395458c141f82f4795e2ab gcc/m2/mc-boot/Galists.cc 392b1e0c4edc9ddbd6264fd336a26e37 gcc/m2/mc-boot/Galists.h ! dbb8b1d458355387e1f24277e029ccb1 gcc/m2/mc-boot/Gdecl.cc 56b83004d70600b701276f187b5b33e9 gcc/m2/mc-boot/Gdecl.h a19b58d529e7458adbd08320a4b7c2b9 gcc/m2/mc-boot/Gdtoa.h 9ee62c1541b929cc35112061c5ae7e90 gcc/m2/mc-boot/Gerrno.h *************** bee418b038f1597528675ae0a5270a07 gcc/m2 *** 6987,7085 **** 187b56cc77dd9c0bc2e7867c63e34eaf gcc/m2/mc/varargs.mod e3d909369325324f588ae3844a6d9ca9 gcc/m2/mc/wlists.def 404d6a88948a5f1a85acbd032f6ded93 gcc/m2/mc/wlists.mod ! a31d91d96b7b9ffe2016b112c2aaca3e gcc/m2/pge-boot/GASCII.cc ! 12e3b5b0e23988c12071db1db6ad7d4a gcc/m2/pge-boot/GASCII.h ! 3fd373c754cd419b914717d3fc0fce70 gcc/m2/pge-boot/GArgs.cc ! 7eb9a9ec0febcd1339955900408f27ae gcc/m2/pge-boot/GArgs.h ! e16b6e6bd1a1e741172107599487aa29 gcc/m2/pge-boot/GAssertion.cc ! 2e8de5da383cd9742f3690a97c3d1bfd gcc/m2/pge-boot/GAssertion.h ! 1d5521f864a14683eae4803569c3306c gcc/m2/pge-boot/GBreak.h d0e091cc2a49335ff6a88137851d46ca gcc/m2/pge-boot/GBuiltins.cc ! a56134a09795cf823baca54ccbda0aa5 gcc/m2/pge-boot/GCmdArgs.h ! 16ab45178d3dbd80bad144ea2a04c941 gcc/m2/pge-boot/GDebug.cc ! aa980130a4e42876c6aba1910dafc9cd gcc/m2/pge-boot/GDebug.h ! 32f905a216d3f8d3f5fb8f65c1592bc5 gcc/m2/pge-boot/GDynamicStrings.cc ! ef5c4b70b8ff883dfc423a1c1337b6f5 gcc/m2/pge-boot/GDynamicStrings.h ! 62d7bc5ed9fbca53c458948e7a163037 gcc/m2/pge-boot/GEnvironment.h ! 7b5648913259b3add2e1469efa1048dc gcc/m2/pge-boot/GFIO.cc ! e364c6540b7b56f13c6543061aca863e gcc/m2/pge-boot/GFIO.h ! aa64339f8e05685b10506de5e804fbf7 gcc/m2/pge-boot/GFormatStrings.h ! 17c69ce5ad26ec6d950758e59267770c gcc/m2/pge-boot/GFpuIO.h ! 5f235dac04c8f5bca737f7e0bea6a9ab gcc/m2/pge-boot/GIO.cc ! d86e07f12e63333c02da755a799222b0 gcc/m2/pge-boot/GIO.h ! b3f1d3e6b5ff01ae2cd410d6728d96d6 gcc/m2/pge-boot/GIndexing.cc ! 7d268babe7a564d36af69615fd865ad0 gcc/m2/pge-boot/GIndexing.h ! 6247a65d263073c051b5626593cfbb74 gcc/m2/pge-boot/GLists.cc ! abb3316c842590b5595a7da274e98c2c gcc/m2/pge-boot/GLists.h ! f4984acee3369bfe67c82430581ec5f2 gcc/m2/pge-boot/GM2Dependent.cc ! 346ecd78b960160ce698c1845940b24c gcc/m2/pge-boot/GM2Dependent.h ! afd73419ba275a51d5b10cfbbeb21468 gcc/m2/pge-boot/GM2EXCEPTION.cc ! 0d0959c61cc9764ccb3d1170f9c1c750 gcc/m2/pge-boot/GM2EXCEPTION.h ! f079be95a973fca7bf8bd0b8a4ef1e46 gcc/m2/pge-boot/GM2LINK.cc ! b9edfcb46d50e67f2bc5d3cd49c36be7 gcc/m2/pge-boot/GM2LINK.h ! e74fde70cee4662123f1d40a149aca9d gcc/m2/pge-boot/GM2RTS.cc ! 69d6db185a25a881ec2dc00ae9be67cf gcc/m2/pge-boot/GM2RTS.h ! 0747761765ba899427947f49c5ecb777 gcc/m2/pge-boot/GNameKey.cc ! 4137bda88d004d174f5e9b5165b33d43 gcc/m2/pge-boot/GNameKey.h ! 8ebe161f9b32eb46f871b65317ec516f gcc/m2/pge-boot/GNumberIO.cc ! 53bcfc024356932333e61f9288969135 gcc/m2/pge-boot/GNumberIO.h ! 02bd3ef2a6f7ddede0df7b869406965b gcc/m2/pge-boot/GOutput.cc ! 7fc07aac3951c98753ef8e8bee7ae243 gcc/m2/pge-boot/GOutput.h ! 4eb7708623671a56badaffd6f8b3c7ab gcc/m2/pge-boot/GPushBackInput.cc ! bf98574ff15e0a4dd65d72c20309720b gcc/m2/pge-boot/GPushBackInput.h ! 91104538d6311d7f416b8c458331b3b2 gcc/m2/pge-boot/GRTExceptions.cc ! 127e2466f62c4d90436021be0130717e gcc/m2/pge-boot/GRTExceptions.h 0c9bf751db464271f4957f1fed68f79b gcc/m2/pge-boot/GRTco.cc ! 639c933064353cbf470e2ec89ce46967 gcc/m2/pge-boot/GSArgs.h ! 7f0ce8bb1ee58eae02b66caaf2b7e030 gcc/m2/pge-boot/GSEnvironment.h ! e4f1bad210ae2be27c281ff025ccaeed gcc/m2/pge-boot/GSFIO.cc ! 51a05f5194240a46dde6560a6146568d gcc/m2/pge-boot/GSFIO.h 682e2e2dbe61372993b40254d9c5b1ff gcc/m2/pge-boot/GSYSTEM.cc ! 7a5071fc28edd87118aa8613db88dd16 gcc/m2/pge-boot/GSYSTEM.h ! 66c04c514049a38dc69b953c92a8ff3e gcc/m2/pge-boot/GScan.h e3ee06fe0ec247e8bb5f34f431565af3 gcc/m2/pge-boot/GSelective.cc ! 9a12505896284a2883b5834355f75b0e gcc/m2/pge-boot/GStdIO.cc ! c999493d3e57a78e7989806d1dcf38c2 gcc/m2/pge-boot/GStdIO.h ! 900458edb475f98da9a940d1d8ac2a6b gcc/m2/pge-boot/GStorage.cc ! 29062371ecc4326a5214afe563239472 gcc/m2/pge-boot/GStorage.h ! 0713888f8bc750aa7d6c35362583be57 gcc/m2/pge-boot/GStrCase.cc ! 2ecb4c66a533aa643e60f752326f2026 gcc/m2/pge-boot/GStrCase.h ! 0f9231f9a05b6201a012cd983bdbe377 gcc/m2/pge-boot/GStrIO.cc ! b29988e06ae09971a5eaf1e2d4a80c23 gcc/m2/pge-boot/GStrIO.h ! 5f8a0c23cbb2e0f7e7fbed2388c39949 gcc/m2/pge-boot/GStrLib.cc ! 297fb37e0621abb48825e897eb50e8c5 gcc/m2/pge-boot/GStrLib.h ! 35168e98e601543ff11edfd6d94bf0a3 gcc/m2/pge-boot/GStringConvert.h ! edabc53fc74291ddec8e6ad047cb78ff gcc/m2/pge-boot/GSymbolKey.cc ! 951249943ef21fc3cd97d79d5c147b67 gcc/m2/pge-boot/GSymbolKey.h 83fb71a782c34240cc62ce5714b29098 gcc/m2/pge-boot/GSysExceptions.cc ! 6d97799da56bde7045e88d8bac965388 gcc/m2/pge-boot/GSysExceptions.h ! 7dc5bd3d1fba4e2b7ae2e725135720e2 gcc/m2/pge-boot/GSysStorage.cc ! a9857930f2fca856b2eb85ec24f5969b gcc/m2/pge-boot/GSysStorage.h ! df81ed6e4d2051ab3bdeef10905ba4f1 gcc/m2/pge-boot/GTimeString.h ebeb8d70d500da8ab0e515c9d398c662 gcc/m2/pge-boot/GUnixArgs.cc ! e1e3b125a9e3d32443675d176e3a7914 gcc/m2/pge-boot/GUnixArgs.h 366da8b4793e830b1d5639801cd2ee64 gcc/m2/pge-boot/Gabort.cc ! dea58cd33c1656745ed2d81464a72eac gcc/m2/pge-boot/Gbnflex.cc ! 4089c3cd05276a84afcbda725c6580e5 gcc/m2/pge-boot/Gbnflex.h afe50741aaf469e7a3cce04270f0c25f gcc/m2/pge-boot/Gcbuiltin.cc 99c30faffd1440b23f313848ef99cef6 gcc/m2/pge-boot/Gdtoa.cc ! a7c133b1bd8da00955cc8f8721ef5e49 gcc/m2/pge-boot/Gdtoa.h 822c195e14065d6eae14c189f5df8af4 gcc/m2/pge-boot/Gerrno.cc ! c66892a2033c8812a7ef5a79ade3e40c gcc/m2/pge-boot/Gerrno.h 1b8a482c893da557a0d273b9738666ba gcc/m2/pge-boot/Gldtoa.cc ! 443a875fb27ce0f3ea0e4f1ef02bd04b gcc/m2/pge-boot/Gldtoa.h 590dfc252895f8d1ebff77cbc500d9f9 gcc/m2/pge-boot/Glibc.cc ! 74cfba789938152aed139a905756fcff gcc/m2/pge-boot/Glibc.h 987e0bf92497f63f7744fc3267a4dc62 gcc/m2/pge-boot/Glibm.cc ! a5fa64c13b59b88634182dd4a8007c75 gcc/m2/pge-boot/Glibm.h 1bb0ba964a32244b01a85422a991e3c8 gcc/m2/pge-boot/Gmcrts.cc 80a90c4ca87adbf49344b8ba2b88633a gcc/m2/pge-boot/Gmcrts.h cf651796966b51f2625a9b223cc2d21e gcc/m2/pge-boot/Gnetwork.h ! 3fe312fabde3e732c4c8f0b43b26ee43 gcc/m2/pge-boot/Gpge.cc a29885f518cd099d12454c4db6c8df22 gcc/m2/pge-boot/Gtermios.cc ! 629333318707bf8ab347f43f4cdc0a0e gcc/m2/pge-boot/Gtermios.h 68dbbf49c11244d747df93f1ce4556b0 gcc/m2/pge-boot/Gwrapc.cc ! b3e9929968a41cc65cb0d1415dff629f gcc/m2/pge-boot/Gwrapc.h 32de17e5bdad997b43794d330fc5dae5 gcc/m2/pge-boot/README 61ce245a6e0bca72188bce4133f9fb65 gcc/m2/pge-boot/m2rts.h 8b33b15307e9ec5d5dc5f5ce40ae479b gcc/m2/pge-boot/main.cc --- 6993,7089 ---- 187b56cc77dd9c0bc2e7867c63e34eaf gcc/m2/mc/varargs.mod e3d909369325324f588ae3844a6d9ca9 gcc/m2/mc/wlists.def 404d6a88948a5f1a85acbd032f6ded93 gcc/m2/mc/wlists.mod ! 763e862995ceca24f50f51c9faa2b030 gcc/m2/pge-boot/GASCII.cc ! 7d8d8dcf2c6a24f102a038958575d8ac gcc/m2/pge-boot/GASCII.h ! 7128c20122553d51acc6c8b47f075b6e gcc/m2/pge-boot/GArgs.cc ! 5ab43d14342a211dbaf72f17524e71ad gcc/m2/pge-boot/GArgs.h ! 7d6ec5148828784c6a7e231e9a2e18ba gcc/m2/pge-boot/GAssertion.cc ! f9c5d084f465352a97dc03a8865b11c9 gcc/m2/pge-boot/GAssertion.h ! e4f0c182b812d80ad2fa538e1738a4ba gcc/m2/pge-boot/GBreak.h d0e091cc2a49335ff6a88137851d46ca gcc/m2/pge-boot/GBuiltins.cc ! af72b0909c7ec7d9e8e66f71c849bdd5 gcc/m2/pge-boot/GCmdArgs.h ! be199347d7cb40f96f035fa70fee1adb gcc/m2/pge-boot/GDebug.cc ! 37d360f7e36fc1da7d7b99fb2a9a1933 gcc/m2/pge-boot/GDebug.h ! 9a78daf66cdb023a1e0582a63fa50ab9 gcc/m2/pge-boot/GDynamicStrings.cc ! 975ef9e0f2667fa71d6c298497a7cbe7 gcc/m2/pge-boot/GDynamicStrings.h ! 7b0f103d106e0df360747078c19e8008 gcc/m2/pge-boot/GEnvironment.h ! 92802f16d15071859237417631bf39d7 gcc/m2/pge-boot/GFIO.cc ! 06019acc5e8e82cbe0b278ca86fdb442 gcc/m2/pge-boot/GFIO.h ! b74dfed7b7d79571a34d8200d27ee26d gcc/m2/pge-boot/GFormatStrings.h ! b8d8889e96fe71d6fc6e9ffeb58f3a41 gcc/m2/pge-boot/GFpuIO.h ! d083c93874df46db363153796a261fb4 gcc/m2/pge-boot/GIO.cc ! eeff5e8ab0a467da8073f80d0ec4c6a9 gcc/m2/pge-boot/GIO.h ! 7255f187d9596303a74ef56b218730dd gcc/m2/pge-boot/GIndexing.cc ! d9de3d507aff3be1a5a265d952830f4a gcc/m2/pge-boot/GIndexing.h ! 65daafe48a551d71863b9e5b75244739 gcc/m2/pge-boot/GLists.cc ! 06d8ad2b368715eb33ebbe8faf6226c6 gcc/m2/pge-boot/GLists.h ! 7d689d1a53d35167d94904bcc0ca2025 gcc/m2/pge-boot/GM2Dependent.cc ! 3b7ac1d7139aed7d066f7a502881a6cf gcc/m2/pge-boot/GM2Dependent.h ! 965eda58d6d9b53f64320d40964c64e9 gcc/m2/pge-boot/GM2EXCEPTION.cc ! 3ef7a33055f85a49626c3fb027c07813 gcc/m2/pge-boot/GM2EXCEPTION.h ! 12f3adabdf3f5ba8ef2cb36b1ad26d9b gcc/m2/pge-boot/GM2RTS.cc ! 1b3118ac76a8112e6b98cbb6ba6d926b gcc/m2/pge-boot/GM2RTS.h ! 2ae1f2818649dae41dc0492d6c18560f gcc/m2/pge-boot/GNameKey.cc ! 4d8d0983ecb1d3a5adbce8896e80ee40 gcc/m2/pge-boot/GNameKey.h ! f848344f6c276c9cb8e7b61c43de9933 gcc/m2/pge-boot/GNumberIO.cc ! d7dca9439958a4625a264baf5cb30ad0 gcc/m2/pge-boot/GNumberIO.h ! 34622622de8b376521c71d7b8ce721e3 gcc/m2/pge-boot/GOutput.cc ! 008577b265288e6409a8c1902f491362 gcc/m2/pge-boot/GOutput.h ! 3f8fe4ff007d5037082f3a08b1ee55f7 gcc/m2/pge-boot/GPushBackInput.cc ! 1499912a603b94034135cfe4efe8b69b gcc/m2/pge-boot/GPushBackInput.h ! 7347ebe5a49f19db3b041a5cbf1337db gcc/m2/pge-boot/GRTExceptions.cc ! 00a4693b96b3707173b57a1b692e70f1 gcc/m2/pge-boot/GRTExceptions.h 0c9bf751db464271f4957f1fed68f79b gcc/m2/pge-boot/GRTco.cc ! 0374d0fda535bd35839a23fb9748cd54 gcc/m2/pge-boot/GSArgs.h ! ec57e0fc87f845c2d4bd5bb2ae1009b8 gcc/m2/pge-boot/GSEnvironment.h ! 4acdac3dd130fdd7aabc97b62d646a43 gcc/m2/pge-boot/GSFIO.cc ! 7cf42fb02b8b0cfd52be03c5eebaa715 gcc/m2/pge-boot/GSFIO.h 682e2e2dbe61372993b40254d9c5b1ff gcc/m2/pge-boot/GSYSTEM.cc ! 76c610bf878ecda77dcc18cab4c93d47 gcc/m2/pge-boot/GSYSTEM.h ! ece009e843c18f1f9c52530a2df7a621 gcc/m2/pge-boot/GScan.h e3ee06fe0ec247e8bb5f34f431565af3 gcc/m2/pge-boot/GSelective.cc ! c8eaa4aa60a2efb37110bffa5b3e4713 gcc/m2/pge-boot/GStdIO.cc ! 31f65d8f7e5736a3a971561a158d845c gcc/m2/pge-boot/GStdIO.h ! 52880502a04bd1634e1276f02b4df0c1 gcc/m2/pge-boot/GStorage.cc ! b8e884b1fbfe023dffe4fef41f3d5775 gcc/m2/pge-boot/GStorage.h ! bd7ae1af565524cbda921c871ebd3ff5 gcc/m2/pge-boot/GStrCase.cc ! c2b76a0d0505d97727f87772aff69d37 gcc/m2/pge-boot/GStrCase.h ! 1a6d0f108d3da55eb64e0f55313fbdcd gcc/m2/pge-boot/GStrIO.cc ! 0c1f8b68ae599ac6c3838fb988cb5045 gcc/m2/pge-boot/GStrIO.h ! e2c5e8260032d893764f6cb51c69f57b gcc/m2/pge-boot/GStrLib.cc ! b72d1fa8ccc75fc32c6de9bb4c0a4bb4 gcc/m2/pge-boot/GStrLib.h ! 280884233bc94231351093080759a066 gcc/m2/pge-boot/GStringConvert.h ! f8a9a52e9124caf1e42687f6e82dd781 gcc/m2/pge-boot/GSymbolKey.cc ! 5608dea42f41131788948effb004efff gcc/m2/pge-boot/GSymbolKey.h 83fb71a782c34240cc62ce5714b29098 gcc/m2/pge-boot/GSysExceptions.cc ! 55d56cb42d4701315026296a2e0a3f80 gcc/m2/pge-boot/GSysExceptions.h ! 8c74b0aaead78dc6c68eb0ae72cab436 gcc/m2/pge-boot/GSysStorage.cc ! afb83f5814fe32e48e2ec2e2116324e5 gcc/m2/pge-boot/GSysStorage.h ! b83fe6e3fffff61c3db1c47256ab1acb gcc/m2/pge-boot/GTimeString.h ebeb8d70d500da8ab0e515c9d398c662 gcc/m2/pge-boot/GUnixArgs.cc ! 823bafa37aee847f942c580efcf5330c gcc/m2/pge-boot/GUnixArgs.h 366da8b4793e830b1d5639801cd2ee64 gcc/m2/pge-boot/Gabort.cc ! 651cd0b8d95a5349d152fedb26bf2cab gcc/m2/pge-boot/Gbnflex.cc ! 07739a4f4e311d885743fdc2face1d6a gcc/m2/pge-boot/Gbnflex.h afe50741aaf469e7a3cce04270f0c25f gcc/m2/pge-boot/Gcbuiltin.cc 99c30faffd1440b23f313848ef99cef6 gcc/m2/pge-boot/Gdtoa.cc ! a19b58d529e7458adbd08320a4b7c2b9 gcc/m2/pge-boot/Gdtoa.h 822c195e14065d6eae14c189f5df8af4 gcc/m2/pge-boot/Gerrno.cc ! 9ee62c1541b929cc35112061c5ae7e90 gcc/m2/pge-boot/Gerrno.h 1b8a482c893da557a0d273b9738666ba gcc/m2/pge-boot/Gldtoa.cc ! 4b6a144b65017a814e4dabe9665be10a gcc/m2/pge-boot/Gldtoa.h 590dfc252895f8d1ebff77cbc500d9f9 gcc/m2/pge-boot/Glibc.cc ! 4f07d3bedde0e1f1cc3fdc0dbab3e3e7 gcc/m2/pge-boot/Glibc.h 987e0bf92497f63f7744fc3267a4dc62 gcc/m2/pge-boot/Glibm.cc ! d9e96d42673ba10d01a156dc392d820e gcc/m2/pge-boot/Glibm.h 1bb0ba964a32244b01a85422a991e3c8 gcc/m2/pge-boot/Gmcrts.cc 80a90c4ca87adbf49344b8ba2b88633a gcc/m2/pge-boot/Gmcrts.h cf651796966b51f2625a9b223cc2d21e gcc/m2/pge-boot/Gnetwork.h ! 28490028b56f7ab6a9220fdc3f3dc2a8 gcc/m2/pge-boot/Gpge.cc a29885f518cd099d12454c4db6c8df22 gcc/m2/pge-boot/Gtermios.cc ! 3b34a06fdbe2a83468780c7f747743d8 gcc/m2/pge-boot/Gtermios.h 68dbbf49c11244d747df93f1ce4556b0 gcc/m2/pge-boot/Gwrapc.cc ! 0c156e32adebbf499ef39678abdbee73 gcc/m2/pge-boot/Gwrapc.h 32de17e5bdad997b43794d330fc5dae5 gcc/m2/pge-boot/README 61ce245a6e0bca72188bce4133f9fb65 gcc/m2/pge-boot/m2rts.h 8b33b15307e9ec5d5dc5f5ce40ae479b gcc/m2/pge-boot/main.cc *************** c679c0f088b031992ae7a9af0e444a37 gcc/m2 *** 7090,7102 **** ff2cddc8e82d26e626d51a518f97024d gcc/m2/target-independent/m2/SYSTEM-iso.texi 803e2e2c4293fdba546b2340322ba0ce gcc/m2/target-independent/m2/SYSTEM-pim.texi 8ab0186eb6d526b907b4fa9b698c2259 gcc/m2/target-independent/m2/gm2-ebnf.texi ! 17e6eaf355aab3e2ade6ab373c54ae09 gcc/m2/target-independent/m2/gm2-libs.texi 3eed1eee3be7e4c14fa1d8f611ab2c90 gcc/m2/target-independent/m2/gpl_v3_without_node.texi 90ef5843055db95072a5e0dcaad1e694 gcc/m2/target-independent/readme.txt 7625da2d2347161386e94664ab2ceac9 gcc/m2/tools-src/README 815f4a4ccebfcf06a8890142ac8aca17 gcc/m2/tools-src/boilerplate.py 53e14ee5efd9483f20ac2c71208f84f3 gcc/m2/tools-src/buildpg c33c52aebb020de5414c2bce120606c5 gcc/m2/tools-src/calcpath 28c12fa6f06658127a966f3fa9cecfc7 gcc/m2/tools-src/def2doc.py 144395b707c4bc58b879a0aac1158481 gcc/m2/tools-src/makeSystem bd2a5307db4ad8df1913ab95bfed0690 gcc/m2/tools-src/mklink.c --- 7094,7107 ---- ff2cddc8e82d26e626d51a518f97024d gcc/m2/target-independent/m2/SYSTEM-iso.texi 803e2e2c4293fdba546b2340322ba0ce gcc/m2/target-independent/m2/SYSTEM-pim.texi 8ab0186eb6d526b907b4fa9b698c2259 gcc/m2/target-independent/m2/gm2-ebnf.texi ! 164464bac04d8d5b9588ed71dcf439f7 gcc/m2/target-independent/m2/gm2-libs.texi 3eed1eee3be7e4c14fa1d8f611ab2c90 gcc/m2/target-independent/m2/gpl_v3_without_node.texi 90ef5843055db95072a5e0dcaad1e694 gcc/m2/target-independent/readme.txt 7625da2d2347161386e94664ab2ceac9 gcc/m2/tools-src/README 815f4a4ccebfcf06a8890142ac8aca17 gcc/m2/tools-src/boilerplate.py 53e14ee5efd9483f20ac2c71208f84f3 gcc/m2/tools-src/buildpg c33c52aebb020de5414c2bce120606c5 gcc/m2/tools-src/calcpath + b5d3cf773998ee8a545711efa4b22e04 gcc/m2/tools-src/checkmeta.py 28c12fa6f06658127a966f3fa9cecfc7 gcc/m2/tools-src/def2doc.py 144395b707c4bc58b879a0aac1158481 gcc/m2/tools-src/makeSystem bd2a5307db4ad8df1913ab95bfed0690 gcc/m2/tools-src/mklink.c *************** d26ca7644b0c87e9afba723a82e83ffa gcc/ma *** 7106,7112 **** 020ac57561ab532784bab813afc03f17 gcc/machmode.h f837fae8701f147a459629038cc2f8d1 gcc/main.cc 1f00c2ae711dcf705d2724bc1912adec gcc/make-unique.h ! 1d5ea4bb37f372259c1adb57a7117d0b gcc/match.pd ad32d5a9a041bd32e3123d6caba1f49d gcc/mcf.cc c3df3b1477c180924303d737bff27c46 gcc/mem-stats-traits.h 6682c830fe9e4f4ab3d82e31b7e3aa49 gcc/mem-stats.h --- 7111,7117 ---- 020ac57561ab532784bab813afc03f17 gcc/machmode.h f837fae8701f147a459629038cc2f8d1 gcc/main.cc 1f00c2ae711dcf705d2724bc1912adec gcc/make-unique.h ! 3498ffc9e9d43181ede63b2fff469fb7 gcc/match.pd ad32d5a9a041bd32e3123d6caba1f49d gcc/mcf.cc c3df3b1477c180924303d737bff27c46 gcc/mem-stats-traits.h 6682c830fe9e4f4ab3d82e31b7e3aa49 gcc/mem-stats.h *************** bc246446b97c858bc3cd1ae581f45202 gcc/mo *** 7119,7129 **** 6345379a31fea8924d61d305aae331cb gcc/modulo-sched.cc e180d1930560f600f32938bf307f6af0 gcc/multiple_target.cc a2fed7a2244bb9b0027adc70211df092 gcc/mux-utils.h ! 3e21f8782c73debd9808afb0014fc9f2 gcc/objc/ChangeLog f81a2e6746035c07e9e9dac7756ac658 gcc/objc/Make-lang.in b2ccd327d5f58dcac13e441e7a2e0200 gcc/objc/config-lang.in 8f2dc56b3457df7ec0043be18397a760 gcc/objc/lang-specs.h ! 6ee597eebc36616db22727ff0fb81341 gcc/objc/objc-act.cc 38d47ddeb9eb0844af66c06249c796fd gcc/objc/objc-act.h f6caba7367bd2eb1be06c49651f1cb6b gcc/objc/objc-encoding.cc 73779348c8e405696c4a8fc89dbfbd88 gcc/objc/objc-encoding.h --- 7124,7134 ---- 6345379a31fea8924d61d305aae331cb gcc/modulo-sched.cc e180d1930560f600f32938bf307f6af0 gcc/multiple_target.cc a2fed7a2244bb9b0027adc70211df092 gcc/mux-utils.h ! 45e517e66906ae7197d1a14d401e38d4 gcc/objc/ChangeLog f81a2e6746035c07e9e9dac7756ac658 gcc/objc/Make-lang.in b2ccd327d5f58dcac13e441e7a2e0200 gcc/objc/config-lang.in 8f2dc56b3457df7ec0043be18397a760 gcc/objc/lang-specs.h ! ead6ad319ecaed1d5505a29feb252e98 gcc/objc/objc-act.cc 38d47ddeb9eb0844af66c06249c796fd gcc/objc/objc-act.h f6caba7367bd2eb1be06c49651f1cb6b gcc/objc/objc-encoding.cc 73779348c8e405696c4a8fc89dbfbd88 gcc/objc/objc-encoding.h *************** f6caba7367bd2eb1be06c49651f1cb6b gcc/ob *** 7133,7144 **** ed689f68f303d6ca4885e72aefc9c08a gcc/objc/objc-map.h 357daa77234ff8cb76bc23c61408ab08 gcc/objc/objc-next-metadata-tags.h 31fb9b35924534de1dd817e862e97db9 gcc/objc/objc-next-runtime-abi-01.cc ! d76f1f648440058b726884012dee334e gcc/objc/objc-next-runtime-abi-02.cc d6c198e878e546711874d25453047822 gcc/objc/objc-runtime-hooks.h ! 7821acbc09c6fe959483529e9f3ae10d gcc/objc/objc-runtime-shared-support.cc fda5f7307dfc5b2817741a8e4061e51d gcc/objc/objc-runtime-shared-support.h dca9bc33b5b769910000a9513ae55357 gcc/objc/objc-tree.def ! 035a6ea6b55c67c0fb7b6658b5398e8c gcc/objcp/ChangeLog b96d36f1290b06a5131e5b92d5adb66d gcc/objcp/Make-lang.in 35a444dbc66b72d53307a36f689fb73d gcc/objcp/config-lang.in 637bad28f1f1c9e646083bcda12973f9 gcc/objcp/lang-specs.h --- 7138,7149 ---- ed689f68f303d6ca4885e72aefc9c08a gcc/objc/objc-map.h 357daa77234ff8cb76bc23c61408ab08 gcc/objc/objc-next-metadata-tags.h 31fb9b35924534de1dd817e862e97db9 gcc/objc/objc-next-runtime-abi-01.cc ! 7e53b575ef088eee2b94dc02b3e9dec1 gcc/objc/objc-next-runtime-abi-02.cc d6c198e878e546711874d25453047822 gcc/objc/objc-runtime-hooks.h ! 2cbe9f562d2debb11a2ecdb9b8686267 gcc/objc/objc-runtime-shared-support.cc fda5f7307dfc5b2817741a8e4061e51d gcc/objc/objc-runtime-shared-support.h dca9bc33b5b769910000a9513ae55357 gcc/objc/objc-tree.def ! 44b56ebb3c06cca58ec0bd16d393cd95 gcc/objcp/ChangeLog b96d36f1290b06a5131e5b92d5adb66d gcc/objcp/Make-lang.in 35a444dbc66b72d53307a36f689fb73d gcc/objcp/config-lang.in 637bad28f1f1c9e646083bcda12973f9 gcc/objcp/lang-specs.h *************** dadcfdc4c2674da3bb7172f1bda846a5 gcc/ob *** 7147,7153 **** 37450e1d0a6c6e763d0044f7bd625e1c gcc/objcp/objcp-lang.cc b33ce8e63d322a6dc9496144d93baefb gcc/obstack-utils.h e8768e7bddbebe0721552be034c8a56d gcc/omp-builtins.def ! e58e255dd25cc87c001b000c84595973 gcc/omp-expand.cc b602f2dfec40ed722b5aee2bf7e3e8ac gcc/omp-expand.h e82073a6eb81a0c7e2715dffb046afea gcc/omp-general.cc 009c63d00f91f4e914f53c0ecdee6908 gcc/omp-general.h --- 7152,7158 ---- 37450e1d0a6c6e763d0044f7bd625e1c gcc/objcp/objcp-lang.cc b33ce8e63d322a6dc9496144d93baefb gcc/obstack-utils.h e8768e7bddbebe0721552be034c8a56d gcc/omp-builtins.def ! bebed5d660bdaed4bcd05a8e7a0bd66b gcc/omp-expand.cc b602f2dfec40ed722b5aee2bf7e3e8ac gcc/omp-expand.h e82073a6eb81a0c7e2715dffb046afea gcc/omp-general.cc 009c63d00f91f4e914f53c0ecdee6908 gcc/omp-general.h *************** bddf69ca9602442193ea19533499aa04 gcc/op *** 7167,7173 **** eb42aee5f98f8f74181aaf2a24242868 gcc/opt-read.awk 74e31942cc1d7fd16008890693f3f976 gcc/opt-suggestions.cc 2c7e0eb8c977caade89510a8b6c8f3ba gcc/opt-suggestions.h ! aade09e8dd18cbb6a7850bc51e4b4de1 gcc/optabs-libfuncs.cc 04358f91cfd91036383d359cdf5b049f gcc/optabs-libfuncs.h f8f3df70c36095097945cb03323a693b gcc/optabs-query.cc 74bc067eadc826ac4c141664fff05ae4 gcc/optabs-query.h --- 7172,7178 ---- eb42aee5f98f8f74181aaf2a24242868 gcc/opt-read.awk 74e31942cc1d7fd16008890693f3f976 gcc/opt-suggestions.cc 2c7e0eb8c977caade89510a8b6c8f3ba gcc/opt-suggestions.h ! 196f3d026b80296fbb764fe29e038a33 gcc/optabs-libfuncs.cc 04358f91cfd91036383d359cdf5b049f gcc/optabs-libfuncs.h f8f3df70c36095097945cb03323a693b gcc/optabs-query.cc 74bc067eadc826ac4c141664fff05ae4 gcc/optabs-query.h *************** b7bd0b389d55d860eaef6b9957616899 gcc/op *** 7187,7246 **** 4fdbf157243a5a1f53d3cd5b903ba290 gcc/opts-diagnostic.h 3dc746f8732ba9f90e77f29ed51e1bed gcc/opts-global.cc ba6821f04d884d92f0a7fed9a3232bb3 gcc/opts-jobserver.h ! 3f8ee1fa8366b8fe67bb94bb217ea300 gcc/opts.cc 81e9511e9d8153c5230e3aaa4b257cdc gcc/opts.h cdfe5fd905e3710da59f22318bb32b03 gcc/ordered-hash-map-tests.cc d632bfde05b332853454952189949258 gcc/ordered-hash-map.h 9bb4a835deca56dfd0b9a1c21b5242d5 gcc/output.h ! e5e200ddde4fe3d249e573878068e55c gcc/params.opt 6d5e1909a25f7d21fbdbc4466bfc2f10 gcc/pass_manager.h a5e166ed8d84e4d0e1a8b637fc1e86f4 gcc/passes.cc f79c56de25494e8b3f384aeb3297e5b1 gcc/passes.def e4b251c052d442b33f51258301aaf71f gcc/plugin.cc b7c23a22025fc638936c8776d5141077 gcc/plugin.def 0d98256396aa9909139748326fe2ec5a gcc/plugin.h ! 0481bdbe5b7af83015abd51ba8fc6abb gcc/po/ChangeLog 529a60fd475862c5330245c858e844e1 gcc/po/EXCLUDES e4e35545a1fab9b9decbe9b06b468f72 gcc/po/be.gmo ! 33bff60c13db6df4b785fda4d7c1a88f gcc/po/be.po 526c65acd465c005385d7aa0608f31d9 gcc/po/da.gmo ! 6b57d50f658a05c08895114cfad270dc gcc/po/da.po ! 4d749d0dee87b2855ebab2533b7eb4ce gcc/po/de.gmo ! e8abda7650f3617b2b8ab2a3818c3e91 gcc/po/de.po 189b9d1af87594807b0d0e10036a64c3 gcc/po/el.gmo ! 7a0b32659f9925d4779af418dc037e30 gcc/po/el.po f8c66f2d87931e85c7dbf4b94f461633 gcc/po/es.gmo ! 2b3a8e34cfa385bcfbde79e9854088a7 gcc/po/es.po fcc59da6d201e71a314340459e140b80 gcc/po/exgettext 8ab0131ebe40c0627ccdd0ae4eb2ccc4 gcc/po/fi.gmo ! 9ef6318d9b7fa1cd65405bac3e43ec66 gcc/po/fi.po ! b69952007a6c0b694a2c0132d0975641 gcc/po/fr.gmo ! f1be67944956959b7170235739702ed6 gcc/po/fr.po df7ea335e1fc6e41c7c14462e5ff8e26 gcc/po/gcc.pot ! d4577eb6be47dc8290df0dfbd0145ecd gcc/po/hr.gmo ! dd9e750eae8d56d19c1b493bd4926d80 gcc/po/hr.po 3c1cd9a547de9c7e50fd85d47abb5587 gcc/po/id.gmo ! be02a92175fe8108d4ce1c84debc91b7 gcc/po/id.po cc1f48b6706c3b9ab09d19ef09ca1379 gcc/po/ja.gmo ! 39851284220e72c7987248dcac89cc06 gcc/po/ja.po bbe550748750cc1921f378787759f926 gcc/po/nl.gmo ! f4a2e133afbb6c6c8ae76b8473fcde69 gcc/po/nl.po 21d3a1ecde54b91f1a643a7c2c18c901 gcc/po/ru.gmo ! ee58456fc9a486ec147a622fc22dc952 gcc/po/ru.po 081424ac286147f96e73ec707133e10c gcc/po/sr.gmo ! 915fedf42a22beda3223e5ce8363c781 gcc/po/sr.po ! 3a2c0da7f424c7c115c227a371989a37 gcc/po/sv.gmo ! cab0d0772bf88171747b2580113d5714 gcc/po/sv.po 09b2826254b9f021ec8ebe47a78a2a30 gcc/po/tr.gmo ! d6cfd2bb35ae4e431401b369c27f2328 gcc/po/tr.po ! 3717123acaae95c5d1db919a6222a382 gcc/po/uk.gmo ! 1470e419b1eae1d3cdb649c88c63ca68 gcc/po/uk.po fa8106d896207062355af92b88108420 gcc/po/vi.gmo ! e12b1deb68452b4bdd2ef504153465e9 gcc/po/vi.po ! ee1babd2a362a332e0c4713a846aa62b gcc/po/zh_CN.gmo ! 20ea00da24b95cc53bbdceff46069818 gcc/po/zh_CN.po 26080b5d6659bf16b31d74c084bbe8d2 gcc/po/zh_TW.gmo ! 5731bfd2f98a5282b1b620c325387094 gcc/po/zh_TW.po cbf955d69da4dcc78738dcadff3e0da4 gcc/pointer-query.cc 27a82acfef939a6105653100ca817c22 gcc/pointer-query.h 826e8613602ff66b4826777cca1f0f8c gcc/poly-int-types.h --- 7192,7251 ---- 4fdbf157243a5a1f53d3cd5b903ba290 gcc/opts-diagnostic.h 3dc746f8732ba9f90e77f29ed51e1bed gcc/opts-global.cc ba6821f04d884d92f0a7fed9a3232bb3 gcc/opts-jobserver.h ! eb72cdf41f99c24c1fb27d7f1c733cee gcc/opts.cc 81e9511e9d8153c5230e3aaa4b257cdc gcc/opts.h cdfe5fd905e3710da59f22318bb32b03 gcc/ordered-hash-map-tests.cc d632bfde05b332853454952189949258 gcc/ordered-hash-map.h 9bb4a835deca56dfd0b9a1c21b5242d5 gcc/output.h ! e6322900c0d89069064fee63484afb41 gcc/params.opt 6d5e1909a25f7d21fbdbc4466bfc2f10 gcc/pass_manager.h a5e166ed8d84e4d0e1a8b637fc1e86f4 gcc/passes.cc f79c56de25494e8b3f384aeb3297e5b1 gcc/passes.def e4b251c052d442b33f51258301aaf71f gcc/plugin.cc b7c23a22025fc638936c8776d5141077 gcc/plugin.def 0d98256396aa9909139748326fe2ec5a gcc/plugin.h ! 8e886c720ead9fca326e2d1c8241f5d3 gcc/po/ChangeLog 529a60fd475862c5330245c858e844e1 gcc/po/EXCLUDES e4e35545a1fab9b9decbe9b06b468f72 gcc/po/be.gmo ! 2ba501322d853f2ba4f16e197e60de49 gcc/po/be.po 526c65acd465c005385d7aa0608f31d9 gcc/po/da.gmo ! dabe29c220e8ad6aeae160ee1999c69e gcc/po/da.po ! d39918abbc3d79e054e1b2caa7dfbd33 gcc/po/de.gmo ! 0e6fc6e1a3e3e324d4a95800d941ac5d gcc/po/de.po 189b9d1af87594807b0d0e10036a64c3 gcc/po/el.gmo ! 60da9ffca8ed77da660f5b60b5f2f2e4 gcc/po/el.po f8c66f2d87931e85c7dbf4b94f461633 gcc/po/es.gmo ! 866f56e18e1ecc3173733aa05ac015eb gcc/po/es.po fcc59da6d201e71a314340459e140b80 gcc/po/exgettext 8ab0131ebe40c0627ccdd0ae4eb2ccc4 gcc/po/fi.gmo ! 194403384b90f6f1669d90562de5b60e gcc/po/fi.po ! e9b1ee2255a17fc04812dd0366df1a6d gcc/po/fr.gmo ! c72bef625d77ba402907d3c5240f8b7b gcc/po/fr.po df7ea335e1fc6e41c7c14462e5ff8e26 gcc/po/gcc.pot ! c2cabce77f2459a83441f7bc743b0c32 gcc/po/hr.gmo ! 074f10ba65f9fdc3d5d6dd9f55e7028e gcc/po/hr.po 3c1cd9a547de9c7e50fd85d47abb5587 gcc/po/id.gmo ! e152f33e03d9e477105a086735d0f00f gcc/po/id.po cc1f48b6706c3b9ab09d19ef09ca1379 gcc/po/ja.gmo ! 85936b8435028da666014306b2703067 gcc/po/ja.po bbe550748750cc1921f378787759f926 gcc/po/nl.gmo ! 877b57bf6e5bde3366ce21e3f0f182c9 gcc/po/nl.po 21d3a1ecde54b91f1a643a7c2c18c901 gcc/po/ru.gmo ! f121aaa5c6edfa03803dd58baaa89e71 gcc/po/ru.po 081424ac286147f96e73ec707133e10c gcc/po/sr.gmo ! 1652dd41add7887914a61a70098decc2 gcc/po/sr.po ! 558f1cf2626bb64ae26dac4b1a3b8043 gcc/po/sv.gmo ! 7443d33ba4d6e7cd88728644b2e96709 gcc/po/sv.po 09b2826254b9f021ec8ebe47a78a2a30 gcc/po/tr.gmo ! 2fa1b9b38cd1f785f4c0866794db1d3c gcc/po/tr.po ! 3ffc0fabd13f983ff46251fc66799148 gcc/po/uk.gmo ! d0cb6a3a80c5695fcb3bcf09e57ffcd0 gcc/po/uk.po fa8106d896207062355af92b88108420 gcc/po/vi.gmo ! d106e1f524c9bc71a6317219b4248be3 gcc/po/vi.po ! 760c0f578a13ec82735ea6d715ece0f6 gcc/po/zh_CN.gmo ! b561422731073b68d89df759bdbab101 gcc/po/zh_CN.po 26080b5d6659bf16b31d74c084bbe8d2 gcc/po/zh_TW.gmo ! e787a3b9712d1eb24c32dd0cc731ccbd gcc/po/zh_TW.po cbf955d69da4dcc78738dcadff3e0da4 gcc/pointer-query.cc 27a82acfef939a6105653100ca817c22 gcc/pointer-query.h 826e8613602ff66b4826777cca1f0f8c gcc/poly-int-types.h *************** cd1c1c50e1890c41fc844e7f5c6b03e2 gcc/pr *** 7260,7270 **** e8627c87ea01f9f273bb02b8b6ac82f2 gcc/print-tree.cc 0a1f191186edb9f41a0affc339addd7c gcc/print-tree.h 879605cacbe5b067d1d35cb366994624 gcc/profile-count.cc ! 9a5b08eb9403220d864d191d5b5bc551 gcc/profile-count.h 38675dd56002512bad75809f6c8501b6 gcc/profile.cc 139e817371eff9511cbb43f0f6774b34 gcc/profile.h ! 0c1f75ad85e261e1eee8db01e7b0fd0b gcc/range-op-float.cc ! e8b027dd989122187bd42d87f4c5525d gcc/range-op.cc a97482360b7088e2305d2382195e523a gcc/range-op.h c1360f9d799d927a43938d0fa2197c2f gcc/range.cc 5c498ea82f946739bfa6733b7e379daa gcc/range.h --- 7265,7275 ---- e8627c87ea01f9f273bb02b8b6ac82f2 gcc/print-tree.cc 0a1f191186edb9f41a0affc339addd7c gcc/print-tree.h 879605cacbe5b067d1d35cb366994624 gcc/profile-count.cc ! b7344110e5c574b4be9c320add505c04 gcc/profile-count.h 38675dd56002512bad75809f6c8501b6 gcc/profile.cc 139e817371eff9511cbb43f0f6774b34 gcc/profile.h ! a93f4f4bace3525748617df94d30f69e gcc/range-op-float.cc ! 80e82c3c70b062932694cbf63ac01d67 gcc/range-op.cc a97482360b7088e2305d2382195e523a gcc/range-op.h c1360f9d799d927a43938d0fa2197c2f gcc/range.cc 5c498ea82f946739bfa6733b7e379daa gcc/range.h *************** dd0ae195ddcf06998329b73113a0107a gcc/re *** 7293,7299 **** 2a818cbdbd5406a63c71a18f7ec7809f gcc/reload.cc 2c10603003864024bc233887578ab725 gcc/reload.h a923e6ee5eb5118449aa9c3a9ea1cb2e gcc/reload1.cc ! 26cc4b908ccaca6822b0a682c16343c7 gcc/reorg.cc 8847210067f0ab5a79fd62bbaebad8c2 gcc/resource.cc 5e0f1c136548ffafc06dde7759d0b618 gcc/resource.h d4270c50409d0a37e41e87d9c5ad50b7 gcc/rtl-error.cc --- 7298,7304 ---- 2a818cbdbd5406a63c71a18f7ec7809f gcc/reload.cc 2c10603003864024bc233887578ab725 gcc/reload.h a923e6ee5eb5118449aa9c3a9ea1cb2e gcc/reload1.cc ! 9131f319ac95d928b6107f2d21da3af9 gcc/reorg.cc 8847210067f0ab5a79fd62bbaebad8c2 gcc/resource.cc 5e0f1c136548ffafc06dde7759d0b618 gcc/resource.h d4270c50409d0a37e41e87d9c5ad50b7 gcc/rtl-error.cc *************** e425f0e0c0a3a373e9ced2896d85e43e gcc/rt *** 7303,7309 **** 6bec061fb6c5eec6566ff15977dc17d8 gcc/rtl-ssa/access-utils.h 120254bfa882a101305e0c98ff15b4fc gcc/rtl-ssa/accesses.cc c08484d088fc8c35557aaccdfc898fc6 gcc/rtl-ssa/accesses.h ! d2e4a41a257c31fad56c18d763880a57 gcc/rtl-ssa/blocks.cc b0ec78b49609a46f1aa381fc0b7f9303 gcc/rtl-ssa/blocks.h 9ffa12a479933cf27d86c9ac637d4f52 gcc/rtl-ssa/change-utils.h 3a01c123145a9937cd51e4b22265c18c gcc/rtl-ssa/changes.cc --- 7308,7314 ---- 6bec061fb6c5eec6566ff15977dc17d8 gcc/rtl-ssa/access-utils.h 120254bfa882a101305e0c98ff15b4fc gcc/rtl-ssa/accesses.cc c08484d088fc8c35557aaccdfc898fc6 gcc/rtl-ssa/accesses.h ! 5fbad3e2777a51ee38eb2028e3c81a12 gcc/rtl-ssa/blocks.cc b0ec78b49609a46f1aa381fc0b7f9303 gcc/rtl-ssa/blocks.h 9ffa12a479933cf27d86c9ac637d4f52 gcc/rtl-ssa/change-utils.h 3a01c123145a9937cd51e4b22265c18c gcc/rtl-ssa/changes.cc *************** aee77626ccd631c6244e760ea6512546 gcc/rt *** 7322,7328 **** 6da60f7ec749d1cbf3c21f746d20c664 gcc/rtl.cc 59013392133f50ef45d51c7f46134d1d gcc/rtl.def 47270968f06521df14a2e62a83eafc93 gcc/rtl.h ! db9bdffe7009b10db3c091d1751d8e75 gcc/rtlanal.cc 30abea10709860b810994624ada0576a gcc/rtlanal.h 622683dfa4d77248f393d30dd55e7a56 gcc/rtlhash.cc 8f0d4d09cea60a4cd6b2117d158a7c58 gcc/rtlhash.h --- 7327,7333 ---- 6da60f7ec749d1cbf3c21f746d20c664 gcc/rtl.cc 59013392133f50ef45d51c7f46134d1d gcc/rtl.def 47270968f06521df14a2e62a83eafc93 gcc/rtl.h ! 47d00f83cfb597c51cb0ec6b4c0187bc gcc/rtlanal.cc 30abea10709860b810994624ada0576a gcc/rtlanal.h 622683dfa4d77248f393d30dd55e7a56 gcc/rtlhash.cc 8f0d4d09cea60a4cd6b2117d158a7c58 gcc/rtlhash.h *************** d14e86636104f8e63873d0f94694d4f2 gcc/rt *** 7333,7339 **** c7bcaa81dd77c23ab3a266bcbf9a0dd1 gcc/run-rtl-passes.cc 89d68ba5dc6c7c5c9545c87886d96fa6 gcc/run-rtl-passes.h add9bd82fcec23469a4d0f7df03d9589 gcc/rust/CONTRIBUTING.md ! 7fd2e1749513f278d7975efd96d868f0 gcc/rust/ChangeLog 74b5c91895b4f121d23a07141ee9691c gcc/rust/Make-lang.in 080109fdd25bde98f968ee692c3e0200 gcc/rust/README.md 656ef73d834ec5110c9e15fa59242e41 gcc/rust/ast/rust-ast-dump.cc --- 7338,7344 ---- c7bcaa81dd77c23ab3a266bcbf9a0dd1 gcc/run-rtl-passes.cc 89d68ba5dc6c7c5c9545c87886d96fa6 gcc/run-rtl-passes.h add9bd82fcec23469a4d0f7df03d9589 gcc/rust/CONTRIBUTING.md ! 0f09ad596389ba51e9a29b4bfc5e231a gcc/rust/ChangeLog 74b5c91895b4f121d23a07141ee9691c gcc/rust/Make-lang.in 080109fdd25bde98f968ee692c3e0200 gcc/rust/README.md 656ef73d834ec5110c9e15fa59242e41 gcc/rust/ast/rust-ast-dump.cc *************** f1524cf0a89f8e6d1690c7df47ba1968 gcc/sa *** 7609,7617 **** ff24b1374f95e38aa726226e06ce3460 gcc/sanopt.cc b8397660a0f9df7e2c837560a09cf76f gcc/sbitmap.cc da6c88394baa1765a131b3f0d567ee80 gcc/sbitmap.h ! 8fac49e3be1f450ee261cc0670522836 gcc/sched-deps.cc 883e4c1cfb8d6874ea26101d64a3926d gcc/sched-ebb.cc ! a2867066c9b68c4f0aa66d8b1073b4c7 gcc/sched-int.h a80926315489963f74d8987b9416e022 gcc/sched-rgn.cc e859c7baabb6de874bdaab1771679ce9 gcc/sel-sched-dump.cc bae4a9d59e94a5d088f9d107088f952d gcc/sel-sched-dump.h --- 7614,7622 ---- ff24b1374f95e38aa726226e06ce3460 gcc/sanopt.cc b8397660a0f9df7e2c837560a09cf76f gcc/sbitmap.cc da6c88394baa1765a131b3f0d567ee80 gcc/sbitmap.h ! 96848a969d0ce09ac675f70b7c7f798d gcc/sched-deps.cc 883e4c1cfb8d6874ea26101d64a3926d gcc/sched-ebb.cc ! a292d515aad604101071e9c8d1efb025 gcc/sched-int.h a80926315489963f74d8987b9416e022 gcc/sched-rgn.cc e859c7baabb6de874bdaab1771679ce9 gcc/sel-sched-dump.cc bae4a9d59e94a5d088f9d107088f952d gcc/sel-sched-dump.h *************** e76f38277fc6cee5fbcb63528b2b7bb5 gcc/se *** 7632,7638 **** 26f6d477d9f069a78eda9d06df0d0f87 gcc/shrink-wrap.cc b0025a475f4a0c82ee65a399ca0a034a gcc/shrink-wrap.h bd49798c7ee1511bf4a17309e20fec94 gcc/signop.h ! e847e33394e8d441f78d0e5cc879f285 gcc/simplify-rtx.cc 3cf33b40d96ada5a63a4c5bed4043b03 gcc/sort.cc 6d6a6674cba8b72bf69b2d68045f5254 gcc/sparseset.cc 8e3e166004672f614cbdfd1ebcf014be gcc/sparseset.h --- 7637,7643 ---- 26f6d477d9f069a78eda9d06df0d0f87 gcc/shrink-wrap.cc b0025a475f4a0c82ee65a399ca0a034a gcc/shrink-wrap.h bd49798c7ee1511bf4a17309e20fec94 gcc/signop.h ! 3dde3aa34f926cd3ba3fd96b89b2d94d gcc/simplify-rtx.cc 3cf33b40d96ada5a63a4c5bed4043b03 gcc/sort.cc 6d6a6674cba8b72bf69b2d68045f5254 gcc/sparseset.cc 8e3e166004672f614cbdfd1ebcf014be gcc/sparseset.h *************** d90c8b7c98120173b135aac34ce63406 gcc/su *** 7666,7674 **** e6c15bb100982c366657793f0ba5405f gcc/symtab-clones.h 1c608d3879d04cf211f3aa235f52f971 gcc/symtab-thunks.cc 1df86ebb721c32a31780042b3a5afa4f gcc/symtab-thunks.h ! c97cad962963c47c40c91b80acd45f98 gcc/symtab.cc ff3675d3b97df46f8e1ed96a13ce7dd7 gcc/sync-builtins.def ! ef52228ac63aeed82d7862bfa4730d7c gcc/system.h 744e683ea9d5282ff763bca2bba4f90d gcc/target-def.h e880e2e7aadcca94c17ee3bff654d152 gcc/target-globals.cc a4178410f0dd9596b6066554d292aa02 gcc/target-globals.h --- 7671,7679 ---- e6c15bb100982c366657793f0ba5405f gcc/symtab-clones.h 1c608d3879d04cf211f3aa235f52f971 gcc/symtab-thunks.cc 1df86ebb721c32a31780042b3a5afa4f gcc/symtab-thunks.h ! 5d430915c811c8ef34649ce9ef163f79 gcc/symtab.cc ff3675d3b97df46f8e1ed96a13ce7dd7 gcc/sync-builtins.def ! ee12e84ef05b803a91d679b951df2689 gcc/system.h 744e683ea9d5282ff763bca2bba4f90d gcc/target-def.h e880e2e7aadcca94c17ee3bff654d152 gcc/target-globals.cc a4178410f0dd9596b6066554d292aa02 gcc/target-globals.h *************** b829ed0032c899e107be2db349c913f3 gcc/ta *** 7679,7685 **** 811da275a2b9d3186a6decf96c01b0ed gcc/targhooks.cc edb193a32070c4a7626fb75382def9b9 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! d7a1e24d30b3dc94ca748ece8921a7f8 gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 --- 7684,7690 ---- 811da275a2b9d3186a6decf96c01b0ed gcc/targhooks.cc edb193a32070c4a7626fb75382def9b9 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! 7ce6f8682fe989affc1dd2765d4551fa gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 *************** c51902099b5071373c02eb23d9a61aab gcc/te *** 10330,10335 **** --- 10335,10341 ---- 1465c746ce0da634140bd11994689fb1 gcc/testsuite/c-c++-common/Warray-compare-1.c 86563e27b22c96809703786cd874a440 gcc/testsuite/c-c++-common/Warray-compare-2.c fe25f03fdb469ad245f6cae14480ddad gcc/testsuite/c-c++-common/Wattributes-2.c + 17bdcdb759c07d09c2d4d9895b89253d gcc/testsuite/c-c++-common/Wattributes-3.c e07fdc272a434aa05e75700c13b249b0 gcc/testsuite/c-c++-common/Wattributes.c 66c5aeebcf29f51b19641fb8b159ab7b gcc/testsuite/c-c++-common/Wbidi-chars-1.c 2a90a24dbbfbbcbbfba3080caeecb033 gcc/testsuite/c-c++-common/Wbidi-chars-10.c *************** d53160459fbfc0f3090991a31aba40c4 gcc/te *** 10610,10615 **** --- 10616,10622 ---- e57e6c0daf0a0a792c988d6e94db6eb0 gcc/testsuite/c-c++-common/Wxor-used-as-pow-pr107002-1.c a30e7635b4706892b05aac416de6e298 gcc/testsuite/c-c++-common/Wxor-used-as-pow-pr107002-2.c e104bcfe21abe9fcad2b191ce9dee6c6 gcc/testsuite/c-c++-common/addrtmp.c + 5ef3a3325babbfb588eb3987f336adea gcc/testsuite/c-c++-common/alias-1.c f39ce0b617da5fc9aba69733615ee0de gcc/testsuite/c-c++-common/array-1.c 15b241020a9a5497396b58539b2405ba gcc/testsuite/c-c++-common/array-5.c 9073937bc2452a6045dd4f3c9bc2ce80 gcc/testsuite/c-c++-common/array-6.c *************** fe9ba880903f66a472e33ffd221fe3ee gcc/te *** 10844,10849 **** --- 10851,10857 ---- ffe803dd1d6571e5297ec04cfc1c4adf gcc/testsuite/c-c++-common/cpp/Winvalid-utf8-1.c a1e90535bc74b54612f33869fbdd1191 gcc/testsuite/c-c++-common/cpp/Winvalid-utf8-2.c 92866c1a20bedc78e756dd2271f9d11d gcc/testsuite/c-c++-common/cpp/Winvalid-utf8-3.c + 687c1e4592b3188bd13763778302028a gcc/testsuite/c-c++-common/cpp/Wunknown-pragmas-1.c 62a7104f94454920e2aea21e5d85503a gcc/testsuite/c-c++-common/cpp/counter-2.c 8685d36e43046dc3ae7ce373aa03821c gcc/testsuite/c-c++-common/cpp/counter-3.c c1ad8045fa5ff78965e7e9224f86ee93 gcc/testsuite/c-c++-common/cpp/delimited-escape-seq-1.c *************** bc7567f6dad9c6310388c5b03041c3c6 gcc/te *** 11061,11066 **** --- 11069,11075 ---- 05ec2175ea6dd97bff8a07761d24df05 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c eb3b3149b2a64707ddb3ffcb96b11775 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-2.c 943c6c886af57e82d1f9be77c286f4a3 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c + bcf401329f2fa4c728549b6768f24559 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-pr111700.c 0e87aea25cd7b234e81d5f1ee31d1e21 gcc/testsuite/c-c++-common/diagnostic-format-sarif-file-valid-CP850.c 7ba00026f4502cec45f9e81640ab2978 gcc/testsuite/c-c++-common/diagnostic-units-1.c a3932920c58cae162a8f51b19ff5c460 gcc/testsuite/c-c++-common/diagnostic-units-2.c *************** e35caecbc64e5306c5790ce0f003eff6 gcc/te *** 12264,12269 **** --- 12273,12279 ---- 1048d0e6a3ca80d3b4720a445847e7cb gcc/testsuite/c-c++-common/tsan/tsan_barrier.h 257bcb6e3df922acaf85096287053435 gcc/testsuite/c-c++-common/tsan/volatile.c 3e2de6169eb53b32bfe7a21d0500e2f7 gcc/testsuite/c-c++-common/tsan/write_in_reader_lock.c + 84c5c6a7c74f75d3dfd312144070c911 gcc/testsuite/c-c++-common/ubsan/Wno-attributes-1.c 8d737655fe783ab4170cda3a8b41a7f2 gcc/testsuite/c-c++-common/ubsan/align-1.c f77090a8c54bd7c9695bd1baea42b2ad gcc/testsuite/c-c++-common/ubsan/align-10.c 33e222185e271580e5b1227936c867ca gcc/testsuite/c-c++-common/ubsan/align-2.c *************** dcb530cb7f303a23cd60919969cb794b gcc/te *** 12274,12279 **** --- 12284,12290 ---- a7a38e8a32e9f420307680f9fd7c64d0 gcc/testsuite/c-c++-common/ubsan/align-7.c 30278b21084814925748c526392c249e gcc/testsuite/c-c++-common/ubsan/align-8.c bf3eafbf8ab8751240e00f5411cf7d52 gcc/testsuite/c-c++-common/ubsan/align-9.c + 2c2763c08f4d4b6f2cdb08c58e7ed214 gcc/testsuite/c-c++-common/ubsan/analyzer-ice-pr114408.c 142f93192a848e1ae775dbab610799fa gcc/testsuite/c-c++-common/ubsan/attrib-1.c 695dc9f7bffbf6fa2ec45632f11a74a8 gcc/testsuite/c-c++-common/ubsan/attrib-2.c 3887eb3b39d6bb827c5b762941936069 gcc/testsuite/c-c++-common/ubsan/attrib-3.c *************** e0b17a64f9ea468c8e448df607a7764a gcc/te *** 12393,12398 **** --- 12404,12410 ---- 2d09d34cddcaafa44376e58b570e33c4 gcc/testsuite/c-c++-common/ubsan/pr109107-2.c b07e56faf8b8f61a579155aab9444dd0 gcc/testsuite/c-c++-common/ubsan/pr109107-3.c ccb4daac3853da016aaee9aaef0fb5b0 gcc/testsuite/c-c++-common/ubsan/pr109107-4.c + 24b18a5fd301d7a3be70c2c44bb2a354 gcc/testsuite/c-c++-common/ubsan/pr112727.c 52e44aba0bf4e0682451881391dfc23a gcc/testsuite/c-c++-common/ubsan/pr56917.c bd4ddd65fb143719a5105084239eb4d7 gcc/testsuite/c-c++-common/ubsan/pr56956.c e229f42e8220b3ff0c068855f57a5b9b gcc/testsuite/c-c++-common/ubsan/pr58443-1.c *************** fc3e1038d2ddd359b5ea90ab469aed59 gcc/te *** 13236,13241 **** --- 13248,13254 ---- 27a7858fa5861377320c52cf05cca000 gcc/testsuite/g++.dg/concepts/diagnostic16.C 37fe9bc6efb6073ed748fadad6b16d34 gcc/testsuite/g++.dg/concepts/diagnostic17.C 5eb8e1c2d451af20c10df785a0b37ff7 gcc/testsuite/g++.dg/concepts/diagnostic18.C + 2c6c2bbb5c70ea0348b7a61cc2466bd0 gcc/testsuite/g++.dg/concepts/diagnostic19.C d352f75f268eea6c2a42ba0bacd702bd gcc/testsuite/g++.dg/concepts/diagnostic2.C e13c4d6a598c0e04a760d87586dfb82e gcc/testsuite/g++.dg/concepts/diagnostic3.C 16b69c7102110cf6646baa3518c9f7f6 gcc/testsuite/g++.dg/concepts/diagnostic4.C *************** d61ea23f366dae37350aa0dc5f2b4528 gcc/te *** 13392,13397 **** --- 13405,13411 ---- fd1ebb08a8584706a94c2f3a8341af7c gcc/testsuite/g++.dg/contracts/contracts-post4.C e2590b46b53ec704324172e6e9b19d6e gcc/testsuite/g++.dg/contracts/contracts-post5.C c20bb9e2f528699a697643b507b9d245 gcc/testsuite/g++.dg/contracts/contracts-post6.C + fb5284080761ee0d5cbec4a0b0b466ec gcc/testsuite/g++.dg/contracts/contracts-post7.C 7116878ea39c2a20c71154e676cbcc1e gcc/testsuite/g++.dg/contracts/contracts-pre1.C cff531ab03f42a3534984cf298438fd8 gcc/testsuite/g++.dg/contracts/contracts-pre10.C 87645aaad36fe7c2eb1914d42651396d gcc/testsuite/g++.dg/contracts/contracts-pre2.C *************** cb6c3d1131c86c5625a7a5cd72e4eef3 gcc/te *** 13413,13419 **** d53c0b0fc368bda6e8adfdda351d531e gcc/testsuite/g++.dg/contracts/contracts-redecl8.C a7f4a2fd7bf07439040a7b09cb4c8072 gcc/testsuite/g++.dg/contracts/contracts-tmpl-attr1.C 7c1d45833f1ebd693d4462f114a6d1ca gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C ! 9eada108c4e987678a19363dd058626d gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C 00f7a59ada045702870670d10ee6e9b1 gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C c210cba8e1e324774b6ab401c96deeb0 gcc/testsuite/g++.dg/contracts/contracts1.C cec25083828eb115f962e091a8ae65a6 gcc/testsuite/g++.dg/contracts/contracts10.C --- 13427,13433 ---- d53c0b0fc368bda6e8adfdda351d531e gcc/testsuite/g++.dg/contracts/contracts-redecl8.C a7f4a2fd7bf07439040a7b09cb4c8072 gcc/testsuite/g++.dg/contracts/contracts-tmpl-attr1.C 7c1d45833f1ebd693d4462f114a6d1ca gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C ! 8aa21f26589b4e119f0cbb25c9b9363d gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C 00f7a59ada045702870670d10ee6e9b1 gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C c210cba8e1e324774b6ab401c96deeb0 gcc/testsuite/g++.dg/contracts/contracts1.C cec25083828eb115f962e091a8ae65a6 gcc/testsuite/g++.dg/contracts/contracts10.C *************** ca578f19b2d380be0549cc9c2f904f2e gcc/te *** 13524,13529 **** --- 13538,13546 ---- d8a86369c88b1e698b51da5f95da9c9b gcc/testsuite/g++.dg/conversion/qual3.C eb243a0f27cded7003b7b6eecd96f5d2 gcc/testsuite/g++.dg/conversion/real-to-int1.C 53724dc0cd699d864fc77299b7051204 gcc/testsuite/g++.dg/conversion/ref1.C + 73fa4811a4b520eb8c9a90e81946664f gcc/testsuite/g++.dg/conversion/ref10.C + 8814956216a4da6e964e3d3f16ed2170 gcc/testsuite/g++.dg/conversion/ref11.C + c325c5c80bfeb199bb29605559b24d04 gcc/testsuite/g++.dg/conversion/ref12.C af773a52f134a886314eae7065bee26e gcc/testsuite/g++.dg/conversion/ref2.C b80ab713758c51e69280fe2ae2dee7c9 gcc/testsuite/g++.dg/conversion/ref3.C 407bbe8b3c959a948fc7df986c991e76 gcc/testsuite/g++.dg/conversion/ref4.C *************** acffea557d5dc888edca87b798ec9cf1 gcc/te *** 13993,13998 **** --- 14010,14016 ---- d5f8995eb967b699d6937c5a92465df7 gcc/testsuite/g++.dg/cpp0x/alias-decl-72a.C b363cc23eaa94cfb4d642e0e990d1ff1 gcc/testsuite/g++.dg/cpp0x/alias-decl-73.C 2721f38b2811c2ff06ae54c5c96790df gcc/testsuite/g++.dg/cpp0x/alias-decl-74.C + d4ec52ca85cf03da6e84d3a566290f64 gcc/testsuite/g++.dg/cpp0x/alias-decl-75.C 77aa48fcd9f9b9ffab08fa7ebc5d52e2 gcc/testsuite/g++.dg/cpp0x/alias-decl-8.C 0fea677a266ad89646463d41e4df0566 gcc/testsuite/g++.dg/cpp0x/alias-decl-80296.C 2b0ac9ee7e77902ee76b92dfbfcc37b3 gcc/testsuite/g++.dg/cpp0x/alias-decl-9.C *************** baf44bb3bbcc1b19835fcba0732c07b8 gcc/te *** 14351,14356 **** --- 14369,14376 ---- 39d49ad5520441d592a3a79408382c59 gcc/testsuite/g++.dg/cpp0x/constexpr-empty15.C a275ad66d9fc657917af98f6fe78b474 gcc/testsuite/g++.dg/cpp0x/constexpr-empty16.C 2cb172046684cd137813e8662b4c2325 gcc/testsuite/g++.dg/cpp0x/constexpr-empty17.C + 1dda6c5f67dec4c372ad744e085ef236 gcc/testsuite/g++.dg/cpp0x/constexpr-empty18.C + 054aedeec9b691009657d4b7b0539a17 gcc/testsuite/g++.dg/cpp0x/constexpr-empty19.C aef682375c033fe1283502c7f213d6ca gcc/testsuite/g++.dg/cpp0x/constexpr-empty2.C f2be36db1d24de846eca69288f8e004a gcc/testsuite/g++.dg/cpp0x/constexpr-empty3.C 933cc130bc4ebc33fb81e8901f604e0a gcc/testsuite/g++.dg/cpp0x/constexpr-empty4.C *************** f721bfcd9caf4abf649ecc1b690d4df0 gcc/te *** 14534,14539 **** --- 14554,14560 ---- c715cc77c59c08b4178c8df94944f49a gcc/testsuite/g++.dg/cpp0x/constexpr-template1.C 56e1285a24a4fbdb11978e8af54953ca gcc/testsuite/g++.dg/cpp0x/constexpr-template10.C cf1b5ea6542ce4e4c53d713d22353179 gcc/testsuite/g++.dg/cpp0x/constexpr-template11.C + aaaeccb7a52f45ac74ff808085777c90 gcc/testsuite/g++.dg/cpp0x/constexpr-template12.C 5dc4506a28e07ba88766b1053618ec54 gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C 0bcbbb5fdaa0906b82119d032554061e gcc/testsuite/g++.dg/cpp0x/constexpr-template3.C a05dfbf634e5313455c47b794057b288 gcc/testsuite/g++.dg/cpp0x/constexpr-template4.C *************** be8e4b63955ef6076e0e2cd57b4fd61c gcc/te *** 14562,14567 **** --- 14583,14589 ---- e0a86859c165bfaac8fd8efd9023935b gcc/testsuite/g++.dg/cpp0x/constexpr-union6.C 7229788425547bc1befff78305c473c8 gcc/testsuite/g++.dg/cpp0x/constexpr-union7.C 5d95979f72aa52bb0abbd82d05bf5e53 gcc/testsuite/g++.dg/cpp0x/constexpr-union7a.C + d4cff4827a96cb7f369a338f6559edd2 gcc/testsuite/g++.dg/cpp0x/constexpr-union8.C 9c897128234fa6ab41edf384f11dd381 gcc/testsuite/g++.dg/cpp0x/constexpr-using.C 7a9a83c41c3d2c5f82ac428442905b65 gcc/testsuite/g++.dg/cpp0x/constexpr-using2.C 6dc93e335ab58c26289327a9c7e9d042 gcc/testsuite/g++.dg/cpp0x/constexpr-using3.C *************** f520b3c677602a9f4bb925811947dd27 gcc/te *** 14852,14857 **** --- 14874,14880 ---- 04d281e3cb2c000a5e49e2b16f623027 gcc/testsuite/g++.dg/cpp0x/enum41.C a170374dff8df7695c33c8ced0de6783 gcc/testsuite/g++.dg/cpp0x/enum42.C 04dc1d4fe43005d4de8c5865ec895953 gcc/testsuite/g++.dg/cpp0x/enum43.C + 4e1813e4666829ab26da8e3f6ba055b0 gcc/testsuite/g++.dg/cpp0x/enum44.C 771003df84c0886c950718b7f6d81033 gcc/testsuite/g++.dg/cpp0x/enum5.C 67ec15297186c0dc5b419618c460a2f2 gcc/testsuite/g++.dg/cpp0x/enum6.C 2b0985c5003a3baf1ba60c7c38770636 gcc/testsuite/g++.dg/cpp0x/enum7.C *************** b7c080a9956d13517e0da64ac3f03102 gcc/te *** 15091,15096 **** --- 15114,15121 ---- e81473abf06cde0a1694e5af550d221d gcc/testsuite/g++.dg/cpp0x/initlist-array18.C 8a2d9881631b666080991add59939b20 gcc/testsuite/g++.dg/cpp0x/initlist-array19.C 09f09079c354ad93c3844a14549e0854 gcc/testsuite/g++.dg/cpp0x/initlist-array2.C + d3992440eed37bacf3c1b2c2075afeca gcc/testsuite/g++.dg/cpp0x/initlist-array21.C + 25f21baa02838e20e7b1cb692e279e2f gcc/testsuite/g++.dg/cpp0x/initlist-array22.C 8c888f7ab5cc44480801a14718225380 gcc/testsuite/g++.dg/cpp0x/initlist-array3.C 6c1907913d332611dd16d03002d759f9 gcc/testsuite/g++.dg/cpp0x/initlist-array4.C 8758d8464674d29f4276f8d3ebc899c3 gcc/testsuite/g++.dg/cpp0x/initlist-array5.C *************** e3ec7ab89d20e6ccf50aa92954896f07 gcc/te *** 15136,15141 **** --- 15161,15167 ---- 1b5c7e432be89c3edcbfaad424a2e353 gcc/testsuite/g++.dg/cpp0x/initlist-protected.C fd02e573e3be3d0a146192cd840840a1 gcc/testsuite/g++.dg/cpp0x/initlist-pure.C ba6e21cbf49dfcec1abdc4c1f798637e gcc/testsuite/g++.dg/cpp0x/initlist-ref-2267.C + 0107d86585512dc1e515ac9ce426aaa4 gcc/testsuite/g++.dg/cpp0x/initlist-ref1.C b981bb775821a5230961a162ba38ff43 gcc/testsuite/g++.dg/cpp0x/initlist-template1.C 2c5adc68213f17b3f69e8102a8f14f45 gcc/testsuite/g++.dg/cpp0x/initlist-template2.C f3ae4bc828514dae6bd94cd99286d406 gcc/testsuite/g++.dg/cpp0x/initlist-template3.C *************** cd0880983dc32cb469f470728ae8b22b gcc/te *** 15339,15344 **** --- 15365,15371 ---- 1d85414b94d2d104004fc7341b90a896 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C 26a3a7d7fa8662de4df1454d0f3eea85 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const10.C 692c149205d32e7263c8778ba131c9dc gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11.C + 99ebbe9d836593c488474457d9b14620 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const11a.C 64bc761abc3783521fdfb26f930f3410 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const2.C e513b4dcc45e6063745c03c7c99151fa gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const3.C 1ced7b3231f38cc9948cc247893ffec1 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const4.C *************** b86be1b4c25b3063ddc7e4cb746b89ad gcc/te *** 15677,15682 **** --- 15704,15710 ---- 2dda03c113a688a77ec4d85b02359212 gcc/testsuite/g++.dg/cpp0x/noexcept77.C 640bcc6d84918140414a88703d7920cb gcc/testsuite/g++.dg/cpp0x/noexcept78.C 787befec69c43fcbbbfc00b982170915 gcc/testsuite/g++.dg/cpp0x/noexcept79.C + e944a760f2bcd206b36820c53e03b241 gcc/testsuite/g++.dg/cpp0x/noexcept80.C 3bf83ccb654cedbb57a45851fb14aa9d gcc/testsuite/g++.dg/cpp0x/nolinkage1.C 6b7c91b931bbdacbbffbf9b90a79bc6a gcc/testsuite/g++.dg/cpp0x/nolinkage1.h c92e0eda44dd6b3d74960b249fa5204f gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc *************** e3cfe7135470a51262be752b71c2092b gcc/te *** 16942,16947 **** --- 16970,16977 ---- 14a6242de0a2e59abd4b2ccf95495c91 gcc/testsuite/g++.dg/cpp1y/constexpr-ptrsub1.C 3ebd2f678927c3d6b60ebc749680a96e gcc/testsuite/g++.dg/cpp1y/constexpr-recursion1.C 777febedb9b77383ec600e70a1668eb9 gcc/testsuite/g++.dg/cpp1y/constexpr-ref1.C + 60f807456796c8ef2678ab89851a8dd9 gcc/testsuite/g++.dg/cpp1y/constexpr-reinterpret3.C + 4f2e969a81be7a57cb28aad1fa0f584e gcc/testsuite/g++.dg/cpp1y/constexpr-reinterpret4.C 6688f378d2b0f24307bbda6bfb45a808 gcc/testsuite/g++.dg/cpp1y/constexpr-return1.C 0ddea6e50e190614deb2d4073399abfc gcc/testsuite/g++.dg/cpp1y/constexpr-return2.C 0158e9ac9fca9d7aa70811273fb72c2c gcc/testsuite/g++.dg/cpp1y/constexpr-return3.C *************** d639da3c607ffc3d48291f9c5c18bc46 gcc/te *** 17310,17315 **** --- 17340,17346 ---- 1dc9c54a8befc5d2113798e9e09e288e gcc/testsuite/g++.dg/cpp1y/udlit-empty-string-neg.C ccacbb847e84ca3cc793998faff8def8 gcc/testsuite/g++.dg/cpp1y/udlit-enc-prefix-neg.C 2413c7ebb38fc82e48254c357136c380 gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C + 03a3cb6911276f2352529a6145262827 gcc/testsuite/g++.dg/cpp1y/var-templ-array1.C c7fba078751338c05bbce0c8c274e58d gcc/testsuite/g++.dg/cpp1y/var-templ1.C 99e14acf4b0584c5405849ca2bac0be8 gcc/testsuite/g++.dg/cpp1y/var-templ10.C 32bcaa1bfd0c6e3f30b366f3913aa49b gcc/testsuite/g++.dg/cpp1y/var-templ11.C *************** c7ab12616c35e8ba0c0796618d522c42 gcc/te *** 17390,17395 **** --- 17421,17427 ---- 65e2c5dc982b2101d716a561b1d08003 gcc/testsuite/g++.dg/cpp1y/var-templ78.C b71a7403570a0e5b6ed564f63ee0d523 gcc/testsuite/g++.dg/cpp1y/var-templ79.C 7490ba7f2bf9511118a48f52e8c4ceed gcc/testsuite/g++.dg/cpp1y/var-templ8.C + 7babed4c27249bda4fc60ca9f7b378c0 gcc/testsuite/g++.dg/cpp1y/var-templ85.C c62c3c5ce4dabfb077ffd26896b1d204 gcc/testsuite/g++.dg/cpp1y/var-templ9.C 2e5f8fa912af0b2871356af6f1adbd06 gcc/testsuite/g++.dg/cpp1y/vla-initlist1.C f82f70352e70742cc985b48be0774ebe gcc/testsuite/g++.dg/cpp1y/vla10.C *************** ca10f046e47ea09ba5b87084372f1ce2 gcc/te *** 17426,17431 **** --- 17458,17464 ---- c5e8ac858eac19a1f1f10709e9b49389 gcc/testsuite/g++.dg/cpp1z/aligned-new7.C 1c005f415746635350d5fd1bf3068b93 gcc/testsuite/g++.dg/cpp1z/aligned-new8.C 177df6f1f169137815bb6b89c7a72a37 gcc/testsuite/g++.dg/cpp1z/aligned-new9.C + dea62fa85e86450c80389ea639cb2473 gcc/testsuite/g++.dg/cpp1z/array-prvalue2.C 15f78f24e2133987caada47dbd4501b6 gcc/testsuite/g++.dg/cpp1z/attr-lambda1.C 34121807f233280bd4b9ceb565c64cf6 gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C a6e3099890bf75adfc276a625b3b0e3f gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C *************** e5653327dac59b8fbbaf57941cdf7070 gcc/te *** 17556,17561 **** --- 17589,17595 ---- 72569990a4289b5fd2ca50f289a5457b gcc/testsuite/g++.dg/cpp1z/class-deduction97.C ee498b90c48803ed7e1e39f604107077 gcc/testsuite/g++.dg/cpp1z/class-deduction98.C 196827ac69f45d97751bae8af9fb4549 gcc/testsuite/g++.dg/cpp1z/class-deduction99.C + 3e9e676eea887f9924149728080a4174 gcc/testsuite/g++.dg/cpp1z/constexpr-111284.C d09105e6c1f377543e5514e34d2837cd gcc/testsuite/g++.dg/cpp1z/constexpr-83692.C 6962bfa121a4383ee0b7a8f045abde3f gcc/testsuite/g++.dg/cpp1z/constexpr-84684.C 7417be75f23f5974ec35fe6261395c8c gcc/testsuite/g++.dg/cpp1z/constexpr-89074-1.C *************** d309961f0255b13605cf111efa2b095a gcc/te *** 17570,17575 **** --- 17604,17610 ---- 6a2eb0af9be5a3b73df8e66127a94fd9 gcc/testsuite/g++.dg/cpp1z/constexpr-if-lambda3.C 2746f29337da849f597ad6ce8bbb74c2 gcc/testsuite/g++.dg/cpp1z/constexpr-if-lambda4.C f40b7c3743735802b3e2fa6c768cf560 gcc/testsuite/g++.dg/cpp1z/constexpr-if-lambda5.C + ae7754ba50de7c7210949438f1a4a6bc gcc/testsuite/g++.dg/cpp1z/constexpr-if-lambda6.C b70f4276933d24cd68ae2e047a954ece gcc/testsuite/g++.dg/cpp1z/constexpr-if1.C 1e52ede853069710bb8cc3b5b323de8c gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C 6ad161b09218162d754ac9e397dad17c gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C *************** f52bfa10d1639ecf00dde7f41065a8d5 gcc/te *** 17636,17641 **** --- 17671,17678 ---- 3af36d6e5c42055ea5eb6b8a76c700f9 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda7.C 0cb6ac9bf693d7e79cc037b8bb03c507 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda8.C 6eeb4cc38b29ea107311eb709f951bce gcc/testsuite/g++.dg/cpp1z/constexpr-lambda9.C + c8914ae8ce6f7aff72c03c6bbe0814b1 gcc/testsuite/g++.dg/cpp1z/constexpr-template1.C + e08ebff953f9068d4a60bfd0de23ff1e gcc/testsuite/g++.dg/cpp1z/constexpr-template2.C dc79da7673ed16d15d0d867cdb7fd216 gcc/testsuite/g++.dg/cpp1z/constexpr-tracking-const1.C 2643ce9ed72e4396a1faa18a91011562 gcc/testsuite/g++.dg/cpp1z/conv-tmpl1.C 4478fc173d02354483bdb1dd9fdff5b5 gcc/testsuite/g++.dg/cpp1z/cplusplus.C *************** e6baed7e5941603d690b9c2c737ea663 gcc/te *** 17714,17720 **** 63be3b6d75aa3c2c8088552683d5245e gcc/testsuite/g++.dg/cpp1z/eval-order10.C 3abc6084e572264410718d38beb290bb gcc/testsuite/g++.dg/cpp1z/eval-order11.C bb194d9ce590c9e5e69935ebac0f25e4 gcc/testsuite/g++.dg/cpp1z/eval-order2.C ! 89fdd37f4580457e23eeb34adcf4d4e0 gcc/testsuite/g++.dg/cpp1z/eval-order3.C 6d8d378fedaf65b4cb89952060799280 gcc/testsuite/g++.dg/cpp1z/eval-order4.C 56af6596678e014cdf3ef38d1427358f gcc/testsuite/g++.dg/cpp1z/eval-order5.C f6da488c72cf7236fa560fcdd857f03e gcc/testsuite/g++.dg/cpp1z/eval-order6.C --- 17751,17757 ---- 63be3b6d75aa3c2c8088552683d5245e gcc/testsuite/g++.dg/cpp1z/eval-order10.C 3abc6084e572264410718d38beb290bb gcc/testsuite/g++.dg/cpp1z/eval-order11.C bb194d9ce590c9e5e69935ebac0f25e4 gcc/testsuite/g++.dg/cpp1z/eval-order2.C ! 8b89dee7164b6f4d992706e5b85433f4 gcc/testsuite/g++.dg/cpp1z/eval-order3.C 6d8d378fedaf65b4cb89952060799280 gcc/testsuite/g++.dg/cpp1z/eval-order4.C 56af6596678e014cdf3ef38d1427358f gcc/testsuite/g++.dg/cpp1z/eval-order5.C f6da488c72cf7236fa560fcdd857f03e gcc/testsuite/g++.dg/cpp1z/eval-order6.C *************** fcb976b72ee32e007373a445749a9790 gcc/te *** 17933,17938 **** --- 17970,17976 ---- 5be5d7f2f40f7aea358f9007942afde2 gcc/testsuite/g++.dg/cpp1z/utf8-2a.C 744ee2159e8e7541ebf28afa0155714d gcc/testsuite/g++.dg/cpp1z/utf8-neg.C c307915525471ee8f08e6059faf237d8 gcc/testsuite/g++.dg/cpp1z/utf8.C + f5e5a4ca1e899e3375fda184fe2556a9 gcc/testsuite/g++.dg/cpp1z/variant1.C 96100c9c0eee26169c18c9e98c78acae gcc/testsuite/g++.dg/cpp23/Winvalid-utf8-1.C ab8d769d7df5db81722e76d1b5e07250 gcc/testsuite/g++.dg/cpp23/Winvalid-utf8-10.C 219e4c16bcfde896ae8ad8dce8b3e6b0 gcc/testsuite/g++.dg/cpp23/Winvalid-utf8-11.C *************** b3b323fdea6c9e2f2b6d012d7a438e1f gcc/te *** 17949,17954 **** --- 17987,17993 ---- 19e4e3b00944ad3ecd30a121ea178980 gcc/testsuite/g++.dg/cpp23/attr-assume1.C 50cef13b8381a6236d21785b262b62be gcc/testsuite/g++.dg/cpp23/attr-assume10.C b2bb264b978e8414b90030fb893e3425 gcc/testsuite/g++.dg/cpp23/attr-assume11.C + eb5ce61ff55abd708e41186478faa5e8 gcc/testsuite/g++.dg/cpp23/attr-assume12.C 30f34a5b440747c2315dd732987e6daf gcc/testsuite/g++.dg/cpp23/attr-assume2.C 9444531c46542730746629511362820c gcc/testsuite/g++.dg/cpp23/attr-assume3.C dacec95fc1b9a4769b02ffcc28997c4e gcc/testsuite/g++.dg/cpp23/attr-assume4.C *************** cf5aa0107f8f30f3fff1a4de8babd1c7 gcc/te *** 17965,17970 **** --- 18004,18011 ---- f2780bc5fd525d2709b14d4b73adff01 gcc/testsuite/g++.dg/cpp23/auto-fncast10.C 3204d4ae77e55c08f93f7bedf052d297 gcc/testsuite/g++.dg/cpp23/auto-fncast11.C d132bd3d955db10a4c1bdd4e4fb66f69 gcc/testsuite/g++.dg/cpp23/auto-fncast12.C + c6ad3dc1af7ae5c57b2194ad705be2a4 gcc/testsuite/g++.dg/cpp23/auto-fncast13.C + 5464572dd400e693935b759dd0a5828a gcc/testsuite/g++.dg/cpp23/auto-fncast14.C 76d2964f5d2d58ccec6afc73c59f1b53 gcc/testsuite/g++.dg/cpp23/auto-fncast2.C dda23dff758a778a7ead9dd8b58268fc gcc/testsuite/g++.dg/cpp23/auto-fncast3.C 7f7896e62e131143c799cd8b4ac52168 gcc/testsuite/g++.dg/cpp23/auto-fncast4.C *************** d685ca7f6c3f6496ec36569ed507b984 gcc/te *** 18066,18071 **** --- 18107,18113 ---- 6a29fb1a8a8a0f85beaee3c353a799da gcc/testsuite/g++.dg/cpp23/subscript12.C 1ab0414c49ef59714682c647e1f91f8f gcc/testsuite/g++.dg/cpp23/subscript13.C 126efdb00db3e63cd8b69bac25946a29 gcc/testsuite/g++.dg/cpp23/subscript14.C + b3027b59c30da0a8d6f012df421ad0e3 gcc/testsuite/g++.dg/cpp23/subscript15.C 4fc343553d0042f79bb6999971e7f3f1 gcc/testsuite/g++.dg/cpp23/subscript2.C 5c1847673786b152609b1696a5e8c094 gcc/testsuite/g++.dg/cpp23/subscript3.C 1cc2764b96a62eefc30e464e19cc2483 gcc/testsuite/g++.dg/cpp23/subscript4.C *************** a3d09682b891e46d2909fa15e90968be gcc/te *** 18112,18117 **** --- 18154,18160 ---- 6ef777b34934fa2f70b3248e0ca3f4c0 gcc/testsuite/g++.dg/cpp2a/bit-cast13.C b3285f9f18a8d9542bc46f53e0efd28e gcc/testsuite/g++.dg/cpp2a/bit-cast14.C fc2669bf6c2d9f293b18029e7572dc94 gcc/testsuite/g++.dg/cpp2a/bit-cast15.C + b21ee39782e659d8a55e03a67e8f3d2a gcc/testsuite/g++.dg/cpp2a/bit-cast16.C 1a2fa5e09ce4afea93f8549367941793 gcc/testsuite/g++.dg/cpp2a/bit-cast2.C 4cd9a6c75b7b9c06d500d33a4b70e045 gcc/testsuite/g++.dg/cpp2a/bit-cast3.C 43041147b254e878b1962b35b230ff79 gcc/testsuite/g++.dg/cpp2a/bit-cast4.C *************** d914edd3c3ab496798bf1d77f69b74ea gcc/te *** 18153,18158 **** --- 18196,18203 ---- 2fd45558372c260c94bf1de497adb7a1 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias15.C 2b290838af6505f125234e7318ec4249 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias16.C 00dc21cb0889c2c318f9e0cf9567584b gcc/testsuite/g++.dg/cpp2a/class-deduction-alias17.C + c9138014de29c4f3857469eb5c4790df gcc/testsuite/g++.dg/cpp2a/class-deduction-alias18.C + 942687a68b1710987cbde76d669f6ddb gcc/testsuite/g++.dg/cpp2a/class-deduction-alias19.C 5fc58f05c478c6749c3f3dd4351420b0 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias2.C 2fd0252922ffc9e49528942c28494f78 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias3.C 06de637acc58c0572ef2eb75419e55e3 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias4.C *************** a36328931eee1fbab16d05f42eacf4bd gcc/te *** 18213,18218 **** --- 18258,18264 ---- 8d43f44aae36b8a20d34b07e48caa27e gcc/testsuite/g++.dg/cpp2a/concepts-explicit-inst3.C ec6220905e567a0d8dab4a952fe8c861 gcc/testsuite/g++.dg/cpp2a/concepts-explicit-inst4.C 740230459551566f4362724f116bc96e gcc/testsuite/g++.dg/cpp2a/concepts-explicit-inst5.C + 6d82a90caf0f1273061a731d18cc67e6 gcc/testsuite/g++.dg/cpp2a/concepts-explicit-inst6.C 503fee90026f6e892cef6edc9f26066a gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C 8c6ce7d3a7a3dd1eadb46601b80f9ab1 gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec2.C d3c85c507d4288a8286336935645f41c gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec3.C *************** a6a50b6488710734804c5c75b79b903a gcc/te *** 18227,18239 **** 24a9eaf01cde49642308b85f4d4dcc5e gcc/testsuite/g++.dg/cpp2a/concepts-fn5.C 0f1a6b3b582e8d9538428d983f021ba9 gcc/testsuite/g++.dg/cpp2a/concepts-fn6.C 361e29e28ac51bd246a126bf9582d546 gcc/testsuite/g++.dg/cpp2a/concepts-fn7.C 54600170a553fbe02a4c3cc4c16271ab gcc/testsuite/g++.dg/cpp2a/concepts-fnparm1.C ddf7b3c6cc5b3127a1fb9f8ada7bd1d3 gcc/testsuite/g++.dg/cpp2a/concepts-friend1.C 5a78343a21e95f60a8351427c3e14f59 gcc/testsuite/g++.dg/cpp2a/concepts-friend10.C ! a43f5f4208803d9ed6c5574c442858a6 gcc/testsuite/g++.dg/cpp2a/concepts-friend11.C 9b464178270ccc7b2da3483ef6eb72e3 gcc/testsuite/g++.dg/cpp2a/concepts-friend12.C f48f8abadf7267488e7fc07300b15321 gcc/testsuite/g++.dg/cpp2a/concepts-friend13.C 669a3b82cb1e8c82dff75ea34a1132cb gcc/testsuite/g++.dg/cpp2a/concepts-friend14.C 2fdb3d1a7c3f6a1361b9e8a0700d78f5 gcc/testsuite/g++.dg/cpp2a/concepts-friend2.C 3f315ba7ac021707fcaa518bf77b73e4 gcc/testsuite/g++.dg/cpp2a/concepts-friend3.C ac59cd12de1286d61d74c57276a780ba gcc/testsuite/g++.dg/cpp2a/concepts-friend4.C --- 18273,18289 ---- 24a9eaf01cde49642308b85f4d4dcc5e gcc/testsuite/g++.dg/cpp2a/concepts-fn5.C 0f1a6b3b582e8d9538428d983f021ba9 gcc/testsuite/g++.dg/cpp2a/concepts-fn6.C 361e29e28ac51bd246a126bf9582d546 gcc/testsuite/g++.dg/cpp2a/concepts-fn7.C + d75bf2669acc8817d2d366ec5854068e gcc/testsuite/g++.dg/cpp2a/concepts-fn8.C 54600170a553fbe02a4c3cc4c16271ab gcc/testsuite/g++.dg/cpp2a/concepts-fnparm1.C ddf7b3c6cc5b3127a1fb9f8ada7bd1d3 gcc/testsuite/g++.dg/cpp2a/concepts-friend1.C 5a78343a21e95f60a8351427c3e14f59 gcc/testsuite/g++.dg/cpp2a/concepts-friend10.C ! 3ec8e7a677af3926f42a0878b0e92406 gcc/testsuite/g++.dg/cpp2a/concepts-friend11.C 9b464178270ccc7b2da3483ef6eb72e3 gcc/testsuite/g++.dg/cpp2a/concepts-friend12.C f48f8abadf7267488e7fc07300b15321 gcc/testsuite/g++.dg/cpp2a/concepts-friend13.C 669a3b82cb1e8c82dff75ea34a1132cb gcc/testsuite/g++.dg/cpp2a/concepts-friend14.C + f2bb90a7b95f5ca56f19993dc668ce44 gcc/testsuite/g++.dg/cpp2a/concepts-friend15.C + 78691a3f17811dcdecf47f6df427a97c gcc/testsuite/g++.dg/cpp2a/concepts-friend16.C + 7ecb03f5905c0460a20f5edf81561f98 gcc/testsuite/g++.dg/cpp2a/concepts-friend17.C 2fdb3d1a7c3f6a1361b9e8a0700d78f5 gcc/testsuite/g++.dg/cpp2a/concepts-friend2.C 3f315ba7ac021707fcaa518bf77b73e4 gcc/testsuite/g++.dg/cpp2a/concepts-friend3.C ac59cd12de1286d61d74c57276a780ba gcc/testsuite/g++.dg/cpp2a/concepts-friend4.C *************** af01c600c3ac040f6855ee2ed2bff7bc gcc/te *** 18456,18461 **** --- 18506,18512 ---- af06791c898f789389685e4dd38b3386 gcc/testsuite/g++.dg/cpp2a/concepts-requires32.C ecb5e52db1e00c05c68ecde56b770c71 gcc/testsuite/g++.dg/cpp2a/concepts-requires33.C 3e21a3f313ac75b520a5d812a344b4aa gcc/testsuite/g++.dg/cpp2a/concepts-requires34.C + 1e4ab841f68e67f2c321b5e9d609a128 gcc/testsuite/g++.dg/cpp2a/concepts-requires35.C d3851914c01bf78597e5cb411ed0b3d5 gcc/testsuite/g++.dg/cpp2a/concepts-requires4.C 480013be0f806d0b078176447ae77360 gcc/testsuite/g++.dg/cpp2a/concepts-requires5.C 8ea6ab45de0c359b113c65f1958a54a1 gcc/testsuite/g++.dg/cpp2a/concepts-requires6.C *************** c66c957a03459efed336ab628ac7a020 gcc/te *** 18481,18486 **** --- 18532,18538 ---- 9ff1f88974ac56dba726f1074288f8e9 gcc/testsuite/g++.dg/cpp2a/concepts-template-parm8.C ec9215388b111eac1916dca163b2b4dd gcc/testsuite/g++.dg/cpp2a/concepts-template-parm9.C ee36c7ebc03385f37bcba1c49e06c808 gcc/testsuite/g++.dg/cpp2a/concepts-this1.C + 8fe2b0550580edd7f36bb9d150fad6c4 gcc/testsuite/g++.dg/cpp2a/concepts-throw1.C 39c15f1dc604f714304d144250164089 gcc/testsuite/g++.dg/cpp2a/concepts-traits1.C c9a6ab7bc0f1947e843b9c7150ccb98c gcc/testsuite/g++.dg/cpp2a/concepts-traits2.C c7b62b8031571fb8bca4923e94717551 gcc/testsuite/g++.dg/cpp2a/concepts-traits3.C *************** ac4c42a0f2fd071297e154c82dd3e5cc gcc/te *** 18494,18499 **** --- 18546,18553 ---- e9afe83f998c36b2fb7c1f09347d0bde gcc/testsuite/g++.dg/cpp2a/concepts-ttp2.C 61d4933dc5691f3ec1773e39ad6449b4 gcc/testsuite/g++.dg/cpp2a/concepts-ttp3.C 9fd760dc32683991c1046ee2a7769a0f gcc/testsuite/g++.dg/cpp2a/concepts-ttp4.C + 88c3dc6cebb92ccd4e70aff54871edad gcc/testsuite/g++.dg/cpp2a/concepts-ttp5.C + 14dc8338f97cc1b6792145fdfa5edade gcc/testsuite/g++.dg/cpp2a/concepts-ttp6.C 12bfd0f0b99ab93e9f3c3ea3610ad8db gcc/testsuite/g++.dg/cpp2a/concepts-uneval1.C 728cf90d57c99021cb85c6b8dd9ffa5e gcc/testsuite/g++.dg/cpp2a/concepts-uneval2.C 8ededbbf50406070bfd15b600f7ea746 gcc/testsuite/g++.dg/cpp2a/concepts-uneval3.C *************** f2ad91569581aa3fa670ae32821491f9 gcc/te *** 18799,18804 **** --- 18853,18859 ---- d61cc66863701219edff4cd7fe87ebb9 gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated12.C c158bbb4df76b9867cf177e079c2ce23 gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated13.C bc1c49df918c7bedb2c04165b007f136 gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated14.C + 13b8a2f12e5511e8657e1c29bb0f8073 gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated15.C 4617b7d86ad3299b351c033f194bee8a gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated2.C 73b56ba004639bd18c7c3c95c3bfd080 gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated3.C 5c37b5cacdb70688ac2e90c563d9613c gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated4.C *************** b9a453a0ec01130cf321abf54d07d956 gcc/te *** 18890,18895 **** --- 18945,18951 ---- e95698a38fe4cc0a60b4857fa65742ca gcc/testsuite/g++.dg/cpp2a/no_unique_address12.C dd49d8873bb047040bf7f60deb8f644f gcc/testsuite/g++.dg/cpp2a/no_unique_address13.C 10563ae733ee31b86846cfb852d66d9d gcc/testsuite/g++.dg/cpp2a/no_unique_address14.C + 9c8ff2d9f37699b8813711a0c20c7e07 gcc/testsuite/g++.dg/cpp2a/no_unique_address15.C c94ac6fb1a99bf541b66d604620fa09b gcc/testsuite/g++.dg/cpp2a/no_unique_address2.C 67a61649264fea12fb7cc5c31bc5313e gcc/testsuite/g++.dg/cpp2a/no_unique_address3.C ca2c81baf4111b5e8e15980b5237a344 gcc/testsuite/g++.dg/cpp2a/no_unique_address4.C *************** fbdae3a522cecf4099889d0118532812 gcc/te *** 18965,18976 **** --- 19021,19036 ---- 6ccd34897eb52c520e2152529df77e62 gcc/testsuite/g++.dg/cpp2a/nontype-class57.C 93dcb9437c81d3d44698eef72b4d4541 gcc/testsuite/g++.dg/cpp2a/nontype-class58.C 86d91c051a62b8d9f32d57f4047a6534 gcc/testsuite/g++.dg/cpp2a/nontype-class6.C + 1d298af3c122e40178239ab91b7bf87c gcc/testsuite/g++.dg/cpp2a/nontype-class60.C + 7e5faa11000e061c87ba35da09383a05 gcc/testsuite/g++.dg/cpp2a/nontype-class61.C + 4d07a0b35ca622b38b384c35f09509de gcc/testsuite/g++.dg/cpp2a/nontype-class62.C c78f774590fd68025c389ab4361f5714 gcc/testsuite/g++.dg/cpp2a/nontype-class7.C 44a04e768668501da12fed78805a7d70 gcc/testsuite/g++.dg/cpp2a/nontype-class8.C bae1c36e9d9dcb762070154c47a6b3c3 gcc/testsuite/g++.dg/cpp2a/nontype-class9.C be21ab07ff4b8655deffc37a85075c52 gcc/testsuite/g++.dg/cpp2a/nontype-complex1.C 59cd71252db72b562133526c9a064fa0 gcc/testsuite/g++.dg/cpp2a/nontype-float1.C 2f8860b65ba56ff92047be661cd8beb4 gcc/testsuite/g++.dg/cpp2a/nontype-float2.C + a730b3782d1a47d30c03d5df22dd4c62 gcc/testsuite/g++.dg/cpp2a/nontype-float3.C 8958094420e548b2425f24fcc5fe5fd3 gcc/testsuite/g++.dg/cpp2a/nontype-subob1.C 03bb531700d42cc1b3d2850aaf3f6cd7 gcc/testsuite/g++.dg/cpp2a/nontype-subob2.C de60a968b199113b10c3f84c0d977aa5 gcc/testsuite/g++.dg/cpp2a/paren-init1.C *************** c7c933568cc5b17f6d8dadb7cec8101f gcc/te *** 19047,19052 **** --- 19107,19114 ---- ae3ef3d8cbf3145fa938c567ccc11530 gcc/testsuite/g++.dg/cpp2a/spaceship-eq13.C 38fdc580773803f5236af81425b44d75 gcc/testsuite/g++.dg/cpp2a/spaceship-eq14.C 860fd8754fe18ef03692647820b7142c gcc/testsuite/g++.dg/cpp2a/spaceship-eq15.C + 4f286359dd97839020e6c19de0f2dd05 gcc/testsuite/g++.dg/cpp2a/spaceship-eq16.C + 466e9895fc63c3cc51f38790018adba9 gcc/testsuite/g++.dg/cpp2a/spaceship-eq17.C 35b5b00dc11e88e35813caed81c920fc gcc/testsuite/g++.dg/cpp2a/spaceship-eq1a.C da366bbf37859e5c77c24a8138c72180 gcc/testsuite/g++.dg/cpp2a/spaceship-eq2.C 014a0bac4cef0e90628a5873d11914eb gcc/testsuite/g++.dg/cpp2a/spaceship-eq3.C *************** f63b5565ab0bb6d2125aa5a844f18e62 gcc/te *** 19079,19087 **** 4e73ff4fb43ecf6cf74294bda1fffe61 gcc/testsuite/g++.dg/cpp2a/spaceship-scalar3.C 65d5bce771b3e48a893d1ec638885d3a gcc/testsuite/g++.dg/cpp2a/spaceship-sfinae1.C 44f85774d50950da2270385ce1798644 gcc/testsuite/g++.dg/cpp2a/spaceship-sfinae2.C a1b5541b791ba1834869a1ceeb340ddc gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg1.C e6037687c8367081183d5ad6f709b4a7 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg2.C ! 48cc4340eb8546a39438777b57d87c47 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg3.C 15bc319256750cf3a9caf5d852b30aa1 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg4.C 853bb4d901c7e141b3533566d35db6c5 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg5.C 11ce883df5bfcdc17848d1a182086ec8 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg6.C --- 19141,19150 ---- 4e73ff4fb43ecf6cf74294bda1fffe61 gcc/testsuite/g++.dg/cpp2a/spaceship-scalar3.C 65d5bce771b3e48a893d1ec638885d3a gcc/testsuite/g++.dg/cpp2a/spaceship-sfinae1.C 44f85774d50950da2270385ce1798644 gcc/testsuite/g++.dg/cpp2a/spaceship-sfinae2.C + a10a985355e5b553e7699af391c4bd26 gcc/testsuite/g++.dg/cpp2a/spaceship-sfinae3.C a1b5541b791ba1834869a1ceeb340ddc gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg1.C e6037687c8367081183d5ad6f709b4a7 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg2.C ! f33ebefab5f5462103b17cd15e835bc0 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg3.C 15bc319256750cf3a9caf5d852b30aa1 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg4.C 853bb4d901c7e141b3533566d35db6c5 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg5.C 11ce883df5bfcdc17848d1a182086ec8 gcc/testsuite/g++.dg/cpp2a/spaceship-synth-neg6.C *************** c97b36f101808a4d1b88e966d08df228 gcc/te *** 19291,19297 **** 2c571572a5d9948808d5c737071aa994 gcc/testsuite/g++.dg/debug/dwarf2/pr80234-1.C faf5c36abd2cfa3ad2cff3321cf391cf gcc/testsuite/g++.dg/debug/dwarf2/pr80234-2.C 4ee1bfe8771af7455053744f7fbfacc8 gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C ! 5de08163e6802415b19e2d6aeb632428 gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C 2ccdefbe0960011d93e7b256421df22a gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C d7ed5be36e8ab58d3d73c325b6ec84ab gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C 6bacb72669961d72ae42d4e8ef6f3235 gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C --- 19354,19360 ---- 2c571572a5d9948808d5c737071aa994 gcc/testsuite/g++.dg/debug/dwarf2/pr80234-1.C faf5c36abd2cfa3ad2cff3321cf391cf gcc/testsuite/g++.dg/debug/dwarf2/pr80234-2.C 4ee1bfe8771af7455053744f7fbfacc8 gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C ! 55c05ba87fa91d96f3105fd4979a0d4d gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C 2ccdefbe0960011d93e7b256421df22a gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C d7ed5be36e8ab58d3d73c325b6ec84ab gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C 6bacb72669961d72ae42d4e8ef6f3235 gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C *************** f9722392abd0d8da545dd7e9182420ee gcc/te *** 19469,19474 **** --- 19532,19538 ---- 8dbd673d1ae2e6dd2769c63d1562817e gcc/testsuite/g++.dg/diagnostic/conflicting-specifiers-1.C dc2425cff4a0be5961398d082daeeaf5 gcc/testsuite/g++.dg/diagnostic/constexpr1.C 13461b7c9b3b8e9d46f44892e6c9d868 gcc/testsuite/g++.dg/diagnostic/constexpr2.C + 5f5c4576dd5f9feb1898ccabe6a8ee2b gcc/testsuite/g++.dg/diagnostic/constexpr4.C e824a88234abd039ffea31d13a8e9e42 gcc/testsuite/g++.dg/diagnostic/delete1.C 4a4ed8a805a81f8726e0ba889c68ff19 gcc/testsuite/g++.dg/diagnostic/disable.C 526efa2a8771e0409f39701dd3fc5953 gcc/testsuite/g++.dg/diagnostic/duplicate1.C *************** d38795dc5765c85251d1b51d2837fa65 gcc/te *** 19680,19686 **** 9623b61344d258574a3ed60670199161 gcc/testsuite/g++.dg/eh/ref-temp1.C edd7f2bf186873e0f253e337b7c0baa7 gcc/testsuite/g++.dg/eh/ref-temp2.C a9ed8d0335c982c533cb9ab886ed3a49 gcc/testsuite/g++.dg/eh/registers1.C ! b17a8e37ca2c7024b8fdc3747635ee79 gcc/testsuite/g++.dg/eh/return1.C 10cee1522872b7a635448041c93abb77 gcc/testsuite/g++.dg/eh/scope1.C be5af3c4aa82f74a07dbbdc316e9c02c gcc/testsuite/g++.dg/eh/seh-xmm-unwind.C 25142fe6cff6b7d981b3267f13c2b8ab gcc/testsuite/g++.dg/eh/shadow1.C --- 19744,19752 ---- 9623b61344d258574a3ed60670199161 gcc/testsuite/g++.dg/eh/ref-temp1.C edd7f2bf186873e0f253e337b7c0baa7 gcc/testsuite/g++.dg/eh/ref-temp2.C a9ed8d0335c982c533cb9ab886ed3a49 gcc/testsuite/g++.dg/eh/registers1.C ! efe051fbc8c815684c69526732bddef0 gcc/testsuite/g++.dg/eh/return1.C ! 195393f174c1cbb9a64af2efb4ac325f gcc/testsuite/g++.dg/eh/return2.C ! dc439ae1040bcf10935e1aa092b15f49 gcc/testsuite/g++.dg/eh/return3.C 10cee1522872b7a635448041c93abb77 gcc/testsuite/g++.dg/eh/scope1.C be5af3c4aa82f74a07dbbdc316e9c02c gcc/testsuite/g++.dg/eh/seh-xmm-unwind.C 25142fe6cff6b7d981b3267f13c2b8ab gcc/testsuite/g++.dg/eh/shadow1.C *************** fd9d6b2aeb10f429dd19c2675cd7ac03 gcc/te *** 19712,19717 **** --- 19778,19784 ---- 7549d75346531f9c6ff9ee0763a142b5 gcc/testsuite/g++.dg/eh/throw1.C 7f4aab5cdb2954060fab6ebdbf157a33 gcc/testsuite/g++.dg/eh/throw2.C 45cea983dcee48d4c249758ac270c782 gcc/testsuite/g++.dg/eh/throw3.C + 2d0c14860f41acf7377cc2d392a448aa gcc/testsuite/g++.dg/eh/throw4.C d949616391e9201fe80327c74d26daf0 gcc/testsuite/g++.dg/eh/uncaught1.C 0a4a6e449503f9ebd41b838472d08e86 gcc/testsuite/g++.dg/eh/uncaught2.C 99e4a259aad973b217052ad01fc8c886 gcc/testsuite/g++.dg/eh/uncaught4.C *************** c992ba90cd524ff973d2e06226c41bfa gcc/te *** 20048,20053 **** --- 20115,20121 ---- 44b909112bfd631dd20c4f45f2240f78 gcc/testsuite/g++.dg/ext/attrib65.C 47aaf24b23d70e0a076ba11307265c60 gcc/testsuite/g++.dg/ext/attrib66.C 3ed4e1675c864c91211151c02a6bd033 gcc/testsuite/g++.dg/ext/attrib67.C + 1d6aa4b155d2e2ee76db642f389b5463 gcc/testsuite/g++.dg/ext/attrib68.C 7af1e9265de26187b4a3a3880f99ac11 gcc/testsuite/g++.dg/ext/attrib7.C 23c4a640241391acec5a1fd2c3fa5f25 gcc/testsuite/g++.dg/ext/attrib8.C db629587302d47a98b453a1702e900c9 gcc/testsuite/g++.dg/ext/attrib9.C *************** a06d181d1f37ed4bbf17112c988f9608 gcc/te *** 20285,20290 **** --- 20353,20359 ---- 9e62aa095a73cd8f1f5e3c31669594cd gcc/testsuite/g++.dg/ext/fnname3.C 7201a84abcaa3ac89c91328b3625f57d gcc/testsuite/g++.dg/ext/fnname4.C 60898b718df5cec3ef7222e3b1257e0f gcc/testsuite/g++.dg/ext/fpreg1.C + 698921918c46997aacc89312130201d9 gcc/testsuite/g++.dg/ext/frounding-math1.C 653367c82c3f5a9a42dfc8ce52f23ec3 gcc/testsuite/g++.dg/ext/gnu-inline-anon-namespace.C 3b39aa1a4010d4127a39b9443b421c4c gcc/testsuite/g++.dg/ext/gnu-inline-class-static.C 3e9228fd78fc3a72b584e4e2eaab7d3f gcc/testsuite/g++.dg/ext/gnu-inline-class.C *************** b579998c84a7b6c9374dbdc81f28e45a gcc/te *** 20369,20374 **** --- 20438,20444 ---- ed04365b57dec8b58125996aefe86234 gcc/testsuite/g++.dg/ext/is_constructible4.C dc3385dfd74c1bf2c03d4da78571f637 gcc/testsuite/g++.dg/ext/is_constructible5.C 9553e2b6c2e80320fe1dbc53bb218083 gcc/testsuite/g++.dg/ext/is_constructible6.C + c98f87283f462df05d8fe236ed206312 gcc/testsuite/g++.dg/ext/is_constructible8.C c9c92d18a37f4f8ede2a39a1b3ad62f6 gcc/testsuite/g++.dg/ext/is_convertible1.C 2df355ce84091bec91470e6f49164515 gcc/testsuite/g++.dg/ext/is_convertible2.C 5ba6edf25552f47c87c7d5735f634b3c gcc/testsuite/g++.dg/ext/is_convertible3.C *************** bcf9b6873e48870b8f6014b5da708cd3 gcc/te *** 20452,20457 **** --- 20522,20528 ---- 0932ad5ce3e0455a61e5bd35e5ed587a gcc/testsuite/g++.dg/ext/packed9.C 56ee2161181409d6d60df10ccf5ac2b0 gcc/testsuite/g++.dg/ext/pr106877.C 8ba16c3bb73d54b943f0a1e2cd811ac3 gcc/testsuite/g++.dg/ext/pr109177.C + 219625d5165b1dc19f7c5e8fccd607a5 gcc/testsuite/g++.dg/ext/pr114691.C 210171cdbd9571de1bfd894e6c809efa gcc/testsuite/g++.dg/ext/pr17577.C d017f3273bbed79c882146d070c763a4 gcc/testsuite/g++.dg/ext/pr17577.h eb1830f7b92ca604956f6b57b3a6d3f4 gcc/testsuite/g++.dg/ext/pr27019.C *************** e3920251c1881f799695cd65335b3cac gcc/te *** 20583,20588 **** --- 20654,20660 ---- 265da9fd5c8f508dc7188b306541554d gcc/testsuite/g++.dg/ext/unroll-1.C a7fce0dd60f863364affd6e56b7f245e gcc/testsuite/g++.dg/ext/unroll-2.C 285baa853f6386189859dff27a9a3327 gcc/testsuite/g++.dg/ext/unroll-3.C + d9dee27db71952e589ab6eb7dd4553b7 gcc/testsuite/g++.dg/ext/unroll-5.C cdf5946e18d62c848aa41c2fbcdc39da gcc/testsuite/g++.dg/ext/unsigned-typedef1.C 8e3e51531ba90a4fa918eb6f412fea72 gcc/testsuite/g++.dg/ext/unsigned-typedef2.C 225949987017db14946d9308eb334cc7 gcc/testsuite/g++.dg/ext/unsigned-typedef3.C *************** a7c093e32d8e0cc08e02c3253748979c gcc/te *** 20800,20807 **** 0db2a2956de58970834889c74f43082d gcc/testsuite/g++.dg/gcov/gcov-6.C 6f3a3736784c0de448d6416b0d8f64d8 gcc/testsuite/g++.dg/gcov/gcov-7.C 35c5d8591ad30e9b50844567554d9973 gcc/testsuite/g++.dg/gcov/gcov-8.C ! 1daf1c411209223b51591e3ac9090bfb gcc/testsuite/g++.dg/gcov/gcov-dump-1.C ! 7def4ed5b129018a31fbca4ad8fd6300 gcc/testsuite/g++.dg/gcov/gcov-dump-2.C 10bbabd8392ab7ee5799bc6a14018686 gcc/testsuite/g++.dg/gcov/gcov-threads-1.C 0e21ec89d065c90a7ebbb65071f94fb0 gcc/testsuite/g++.dg/gcov/gcov.exp 6a2ed5ca795d47c333efae7c155c43b1 gcc/testsuite/g++.dg/gcov/gcov.py --- 20872,20879 ---- 0db2a2956de58970834889c74f43082d gcc/testsuite/g++.dg/gcov/gcov-6.C 6f3a3736784c0de448d6416b0d8f64d8 gcc/testsuite/g++.dg/gcov/gcov-7.C 35c5d8591ad30e9b50844567554d9973 gcc/testsuite/g++.dg/gcov/gcov-8.C ! e60d3e80695d06d312beddeaaaa4af1d gcc/testsuite/g++.dg/gcov/gcov-dump-1.C ! 8d7f3725599edc040c38551cce2d1dfb gcc/testsuite/g++.dg/gcov/gcov-dump-2.C 10bbabd8392ab7ee5799bc6a14018686 gcc/testsuite/g++.dg/gcov/gcov-threads-1.C 0e21ec89d065c90a7ebbb65071f94fb0 gcc/testsuite/g++.dg/gcov/gcov.exp 6a2ed5ca795d47c333efae7c155c43b1 gcc/testsuite/g++.dg/gcov/gcov.py *************** c43cd4a90674d630795e0323738e0460 gcc/te *** 21812,21817 **** --- 21884,21890 ---- 7d63c0342d026b9ee4f2ecb03364cefe gcc/testsuite/g++.dg/ipa/pr108110.C 9a257f3564fd42fe9d7e00c5567f89d2 gcc/testsuite/g++.dg/ipa/pr108509.C 9cf2cc98e56a48a7332ea02be0425960 gcc/testsuite/g++.dg/ipa/pr108830.C + e66c84f48f938ed2bb548ce51957afce gcc/testsuite/g++.dg/ipa/pr113757.C 02f3704c0511b2d171c55dbf09c64325 gcc/testsuite/g++.dg/ipa/pr43695.C 5345293723ad062b59b168c319738e1e gcc/testsuite/g++.dg/ipa/pr43812.C b001cbe3dfdeb7d2a1061f024aa08ea4 gcc/testsuite/g++.dg/ipa/pr44372.C *************** da545b524f9533548787d2126af2b0ea gcc/te *** 23754,23759 **** --- 23827,23833 ---- 50ee927cf6fe85c47d711d0cc9801ad4 gcc/testsuite/g++.dg/opt/declone2.C 84173a62fffb1c226cc2366902d47a65 gcc/testsuite/g++.dg/opt/declone3.C 903860d0fe2a846a5f1ee14453b38348 gcc/testsuite/g++.dg/opt/delay-slot-1.C + 9c51a57adb6e8319f94337b65b94a130 gcc/testsuite/g++.dg/opt/delay-slot-2.C fc3765afbe4eece1e37074054bfbd3e4 gcc/testsuite/g++.dg/opt/devirt1.C 7cb068437fa856224557f1c6ec473a59 gcc/testsuite/g++.dg/opt/devirt2.C 18b2fa315be06497f45250bc6b3d0343 gcc/testsuite/g++.dg/opt/devirt3.C *************** b5ea3678b95f88606bb0d37ee1f58a68 gcc/te *** 23847,23852 **** --- 23921,23927 ---- 360692bdb55de35cb68717ceb6c51fd7 gcc/testsuite/g++.dg/opt/nrv2.C b95995f2a1b93421818fb349cdf03d17 gcc/testsuite/g++.dg/opt/nrv20.C 815c4f8d7b5dba8a23289fdf4b87b3c5 gcc/testsuite/g++.dg/opt/nrv21.C + 936df169dd4333b7cef52b2f3f90736e gcc/testsuite/g++.dg/opt/nrv22.C 42adcc800d5d2029a2b831e1453e8f32 gcc/testsuite/g++.dg/opt/nrv3.C b2773b15109a2fc43572a97edf29b236 gcc/testsuite/g++.dg/opt/nrv4.C 13481653ab41a707cb4c4eed2199c57f gcc/testsuite/g++.dg/opt/nrv5.C *************** d9064b328bf2156a9e67df26156ec572 gcc/te *** 25252,25257 **** --- 25327,25336 ---- d41d8cd98f00b204e9800998ecf8427e gcc/testsuite/g++.dg/pch/empty.Hs 0fe6f1480902d6dccb349304faa9020c gcc/testsuite/g++.dg/pch/externc-1.C 51038396a6c08ae383fd050b30653dab gcc/testsuite/g++.dg/pch/externc-1.Hs + 5be7746567e234436e429f155b44a81c gcc/testsuite/g++.dg/pch/line-map-1.C + 29dd06c9a93f1d28d7d1b11b164a7efe gcc/testsuite/g++.dg/pch/line-map-1.Hs + 2c0817d088bccb3d2e72fe1a30899a59 gcc/testsuite/g++.dg/pch/line-map-2.C + 29dd06c9a93f1d28d7d1b11b164a7efe gcc/testsuite/g++.dg/pch/line-map-2.Hs 3456d98b10198c0bf9091088ba05d0f0 gcc/testsuite/g++.dg/pch/local-1.C 1b5d28bf11bae4996001396e1ffe083b gcc/testsuite/g++.dg/pch/local-1.Hs f9271dce9d7980fa8b426246ec2b9126 gcc/testsuite/g++.dg/pch/operator-1.C *************** c5003b8c6cf9e7f47a0e702c383deb3e gcc/te *** 25631,25637 **** d646642e04b6f7a6bb987dddc08a0268 gcc/testsuite/g++.dg/special/initp1.C ae5f6e9b349b6bd54b510d6f4e11eab0 gcc/testsuite/g++.dg/special/initpri1.C 495d2d9e552898de91e04d1536c2d0bc gcc/testsuite/g++.dg/special/initpri2.C ! b190d743d6318c7a50d9f43daca7f3f6 gcc/testsuite/g++.dg/special/initpri3.C 0bf488203688cc3a8da411c5dff908ce gcc/testsuite/g++.dg/spellcheck-c++-11-keyword.C c1046dd316dec6f0b685aa481a1b9387 gcc/testsuite/g++.dg/spellcheck-fields-2.C b57591402d64bc0218597be33d025525 gcc/testsuite/g++.dg/spellcheck-fields.C --- 25710,25716 ---- d646642e04b6f7a6bb987dddc08a0268 gcc/testsuite/g++.dg/special/initp1.C ae5f6e9b349b6bd54b510d6f4e11eab0 gcc/testsuite/g++.dg/special/initpri1.C 495d2d9e552898de91e04d1536c2d0bc gcc/testsuite/g++.dg/special/initpri2.C ! 9475eac5ac93b56d08b936bbdc28bd93 gcc/testsuite/g++.dg/special/initpri3.C 0bf488203688cc3a8da411c5dff908ce gcc/testsuite/g++.dg/spellcheck-c++-11-keyword.C c1046dd316dec6f0b685aa481a1b9387 gcc/testsuite/g++.dg/spellcheck-fields-2.C b57591402d64bc0218597be33d025525 gcc/testsuite/g++.dg/spellcheck-fields.C *************** e93f073f61a42e3c7ad372625dbf5491 gcc/te *** 26975,26980 **** --- 27054,27060 ---- 8fa3e6c96fba6376bb082c7c80573236 gcc/testsuite/g++.dg/template/template-keyword1.C ce80dbc40069cd081d8488c206d6b2a6 gcc/testsuite/g++.dg/template/template-keyword2.C 7a5cfa5591c26dfb9185c5152c9bc9b0 gcc/testsuite/g++.dg/template/template-keyword3.C + 36a70397cd191de4eab2d5c0cd223bb2 gcc/testsuite/g++.dg/template/template-keyword4.C 2633475e196e36c058cf618a862c925f gcc/testsuite/g++.dg/template/this-targ1.C f9dface1543c62e1ed5a293679ac47da gcc/testsuite/g++.dg/template/ttp-derived1.C d295175d2a75128bac0554e17b63735a gcc/testsuite/g++.dg/template/ttp-derived2.C *************** f1061bfe9cbd4c443a0c7f071ebe178b gcc/te *** 27012,27017 **** --- 27092,27098 ---- c9fdebc946ad552adbe984f19d967fb6 gcc/testsuite/g++.dg/template/ttp34b.C 03aefa933585cedfd0df2b9ccf14d362 gcc/testsuite/g++.dg/template/ttp35.C da2a51af53cbc854115bee0af8932ed9 gcc/testsuite/g++.dg/template/ttp36.C + a7bbad1f43c940243d408d03a93859c0 gcc/testsuite/g++.dg/template/ttp38.C ab6711e26bfa413d472fc55475e7cc75 gcc/testsuite/g++.dg/template/ttp4.C 786176b167efb2fb05f5876afccf4ea7 gcc/testsuite/g++.dg/template/ttp5.C ede8e95c1aeeeb0cf1c4cfb0fd860e07 gcc/testsuite/g++.dg/template/ttp6.C *************** fa23934e49741783f674026ff5030aff gcc/te *** 27383,27388 **** --- 27464,27472 ---- 37a8e4f74ae63207e9b1619c6f44a43a gcc/testsuite/g++.dg/torture/pr109262.C e8eff4c0ef885b002db007e536bb99f2 gcc/testsuite/g++.dg/torture/pr109342.C 695916482bd1d276cc3c727b90232254 gcc/testsuite/g++.dg/torture/pr109724.C + 4b7c75dc51b97d5dc81c7e936ff3b460 gcc/testsuite/g++.dg/torture/pr111019.C + 25af1620df0107cd03f275ddc7fd98b6 gcc/testsuite/g++.dg/torture/pr111465.C + f5cb8caa482838045861d5ee18445814 gcc/testsuite/g++.dg/torture/pr113896.C 161154ed9f6193a2a7da119e068c3f3f gcc/testsuite/g++.dg/torture/pr27218.C a84e9fff95df4801f8e582fbc33303b8 gcc/testsuite/g++.dg/torture/pr30252.C e980bf95890544d46879b89f7aa98df6 gcc/testsuite/g++.dg/torture/pr30567.C *************** d53f4a36bfd00298b6b687881aad6861 gcc/te *** 27840,27845 **** --- 27924,27931 ---- 5afe578074ff640a77903318faea8e72 gcc/testsuite/g++.dg/torture/str_empty.C 42e128b3145495bd2df35c3cdcc684ac gcc/testsuite/g++.dg/torture/tail-padding1.C 0b01f7feb325a8c1dfd3c796eab53860 gcc/testsuite/g++.dg/torture/type-generic-1.C + ed87f64357e7fd49760145e5c345491d gcc/testsuite/g++.dg/torture/vector-struct-1.C + 451c0082f351cdec594741735d086495 gcc/testsuite/g++.dg/torture/vector-subaccess-1.C 164b3eb60b0c717428d0673a23922dfc gcc/testsuite/g++.dg/torture/vshuf-16.inc 8fd97d6fa085ab3269af65b200d61e8e gcc/testsuite/g++.dg/torture/vshuf-2.inc b2babbab3621a6f7af5eb2dde02e14e8 gcc/testsuite/g++.dg/torture/vshuf-4.inc *************** bb3b906322f73b1bfddaab3658a0314e gcc/te *** 28298,28303 **** --- 28384,28391 ---- 68c0b9dd93bac5121c5b637904764ca8 gcc/testsuite/g++.dg/vect/pr107766.cc c378ba928bee729112b705d875e7738f gcc/testsuite/g++.dg/vect/pr109573.cc 141b03fd1e88cf3f158c145d30e5418b gcc/testsuite/g++.dg/vect/pr110557.cc + a774f9ba94df372c6d30a93f182668b8 gcc/testsuite/g++.dg/vect/pr112793.cc + 917d9d7e1f7b3dec4bc3be8a0e121df9 gcc/testsuite/g++.dg/vect/pr112961.cc 02ab0e7dea4c30ddeaecb971c0b8241e gcc/testsuite/g++.dg/vect/pr19951.cc e7c5a636a280962b70166d1494223f9c gcc/testsuite/g++.dg/vect/pr21218.cc 9a0a6f56bdb2cc697abc78c901418a19 gcc/testsuite/g++.dg/vect/pr21734_1.cc *************** da3dbc8526151b41f4a741a5d5e51eae gcc/te *** 28606,28611 **** --- 28694,28700 ---- f53b1f90733acd430c8cdf6142c6d0ae gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-5.C 8afe47a7579150c18e697be841db6df5 gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-6.C c6df77cbbce60aad70c6bc987ecd4bd2 gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-7.C + 42429ebb9efa51a442c7b9c8a566923a gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-8.C 3089b7e4a074a4993652acd742390397 gcc/testsuite/g++.dg/warn/Wmismatched-new-delete.C 7729ea0086a47fb6cab7bd9640283fcd gcc/testsuite/g++.dg/warn/Wmismatched-tags-10.C 67285d97432f227bc5e4c7e66666868f gcc/testsuite/g++.dg/warn/Wmismatched-tags-11.C *************** b81dd316dd30881afe998cc16667340f gcc/te *** 28991,28997 **** f62d0efa105434ddb77f8584066aa865 gcc/testsuite/g++.dg/warn/Wunused-var30.C 05ca808832d9fd67738b75a8019ab2d3 gcc/testsuite/g++.dg/warn/Wuse-after-free.C e458d0fab0b37edff03370ba4ad52623 gcc/testsuite/g++.dg/warn/Wuse-after-free2.C ! 86527247d75407802a9c79ab5d36d150 gcc/testsuite/g++.dg/warn/Wuse-after-free3.C 3cfad577c57b131562e2e5cae28cc116 gcc/testsuite/g++.dg/warn/Wuse-after-free4.C 902f05f29c33aa5d562b711128653136 gcc/testsuite/g++.dg/warn/Wuse-after-free5.C 30054c1718881a393d74bb5fa87ea44b gcc/testsuite/g++.dg/warn/Wuseless-cast.C --- 29080,29086 ---- f62d0efa105434ddb77f8584066aa865 gcc/testsuite/g++.dg/warn/Wunused-var30.C 05ca808832d9fd67738b75a8019ab2d3 gcc/testsuite/g++.dg/warn/Wuse-after-free.C e458d0fab0b37edff03370ba4ad52623 gcc/testsuite/g++.dg/warn/Wuse-after-free2.C ! 8d143459f59e4f092e4eed0641ce6507 gcc/testsuite/g++.dg/warn/Wuse-after-free3.C 3cfad577c57b131562e2e5cae28cc116 gcc/testsuite/g++.dg/warn/Wuse-after-free4.C 902f05f29c33aa5d562b711128653136 gcc/testsuite/g++.dg/warn/Wuse-after-free5.C 30054c1718881a393d74bb5fa87ea44b gcc/testsuite/g++.dg/warn/Wuseless-cast.C *************** d53cb2073c8f36697f63dfe19779eb13 gcc/te *** 32528,32535 **** 289a2cbda63899dd34585e1494df70a0 gcc/testsuite/g++.old-deja/old-deja.exp dd6bafc65c209bc20fbbf0343022e050 gcc/testsuite/g++.target/aarch64/aarch64.exp 28dd3cee57c2dbcd3af80dd5c01286d8 gcc/testsuite/g++.target/aarch64/acle/acle.exp ! be936521267575d4dc02c85764f8009c gcc/testsuite/g++.target/aarch64/acle/ls64.C ! fef081bed29cb6fd77ad28016cb9a558 gcc/testsuite/g++.target/aarch64/acle/ls64_lto.C 469c0ad16ca5c5ecc3654919c90dcf62 gcc/testsuite/g++.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp 992600153061bcf9c4f34a765c2c8f7e gcc/testsuite/g++.target/aarch64/advsimd-intrinsics/pr98852.C 323c7e5c5fbc1e627c7630bec9c0ce5c gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C --- 32617,32624 ---- 289a2cbda63899dd34585e1494df70a0 gcc/testsuite/g++.old-deja/old-deja.exp dd6bafc65c209bc20fbbf0343022e050 gcc/testsuite/g++.target/aarch64/aarch64.exp 28dd3cee57c2dbcd3af80dd5c01286d8 gcc/testsuite/g++.target/aarch64/acle/acle.exp ! 0c47cb2c5527e312fc7aa61cb990aca3 gcc/testsuite/g++.target/aarch64/acle/ls64.C ! 74ed4871401ccfa96602343217748d58 gcc/testsuite/g++.target/aarch64/acle/ls64_lto.C 469c0ad16ca5c5ecc3654919c90dcf62 gcc/testsuite/g++.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp 992600153061bcf9c4f34a765c2c8f7e gcc/testsuite/g++.target/aarch64/advsimd-intrinsics/pr98852.C 323c7e5c5fbc1e627c7630bec9c0ce5c gcc/testsuite/g++.target/aarch64/bfloat_cpp_typecheck.C *************** e10a0652aff7df3b5d31aabc5b83fc4e gcc/te *** 32868,32873 **** --- 32957,32966 ---- 67d8378f149029e8703f825a6227065a gcc/testsuite/g++.target/i386/pr108711.C 198bde5a37731f00084d791cde389e8b gcc/testsuite/g++.target/i386/pr108934.C 2a4ccb802022f75d63eec8145d6f1f29 gcc/testsuite/g++.target/i386/pr109676.C + a47169fc44b57b7b3d6ec05df74c336a gcc/testsuite/g++.target/i386/pr110792.C + 7086db1987eae6c4b80f5ef0dbadd48f gcc/testsuite/g++.target/i386/pr111497.C + 51556317586878910157bab09d18703d gcc/testsuite/g++.target/i386/pr111822.C + f0bd5d5c6a67d4e72ffa0abde025c525 gcc/testsuite/g++.target/i386/pr112443.C 55fb67abf6517f92b1a0240d2c06b5c5 gcc/testsuite/g++.target/i386/pr35513-1.C 14dde546e4eefec7aa6d1ac41261cb16 gcc/testsuite/g++.target/i386/pr35513-2.C 1c706f97b6d93c0124dc4a203c98f6d2 gcc/testsuite/g++.target/i386/pr57362.C *************** a621b799eff193996043d9d5462e5c27 gcc/te *** 32915,32920 **** --- 33008,33014 ---- 05e47f652ea4bc7c8df9bae20aaaa2b4 gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C 6d0d9132ecd5c558bd1ec20dcee32d5d gcc/testsuite/g++.target/i386/vec-tmpl1.C d4dcded6122bb77c0450fd18568c030b gcc/testsuite/g++.target/i386/vect-bfloat16-1.C + 8df5f1183de744dc2a3a0c11278caec6 gcc/testsuite/g++.target/loongarch/atomic-cas-int.C 580dcc09db78d63c393f7d3c75b38ada gcc/testsuite/g++.target/loongarch/bytepick.C daf40cbe22c01f26a5655b3c8ce6f5a7 gcc/testsuite/g++.target/loongarch/loongarch.exp 3e379ce66f2b5fd83481c50aad661033 gcc/testsuite/g++.target/loongarch/pr106096.C *************** a873678a5188427c7ceb88e3a408ce84 gcc/te *** 32962,32967 **** --- 33056,33066 ---- bac7601eaf931ebd7c595a2dc9672d64 gcc/testsuite/g++.target/powerpc/pr102024.C 52ec25547d922533a11b2b87bda1ef47 gcc/testsuite/g++.target/powerpc/pr105325.C a786ad78bd3d3301483d3f57c15f4634 gcc/testsuite/g++.target/powerpc/pr105485.C + ea50428d09d0e781698b21023398bfee gcc/testsuite/g++.target/powerpc/pr110741.C + 8ca0dcb511ad4423506f8f334a6092e7 gcc/testsuite/g++.target/powerpc/pr111366.C + 92cbd869a66e265db57a505d568038a0 gcc/testsuite/g++.target/powerpc/pr111367.C + d2c732bc509e2385a06f111c954c2700 gcc/testsuite/g++.target/powerpc/pr111828-1.C + d573b767c2de9d8c280bc5d867cf8c50 gcc/testsuite/g++.target/powerpc/pr111828-2.C 2034aad446ec78a87b23d863575c1d87 gcc/testsuite/g++.target/powerpc/pr65240-1.C ee885d4799df9042b7bb7afcb3882d1e gcc/testsuite/g++.target/powerpc/pr65240-2.C 9bd86a0f5ddd41ef7b331e42e57dcf66 gcc/testsuite/g++.target/powerpc/pr65240-3.C *************** dd402d355ab63a087ccad160409acaa1 gcc/te *** 34097,34102 **** --- 34196,34206 ---- 6531dceb4d0bccc3f89474a26aea0d4a gcc/testsuite/gcc.c-torture/compile/pr108688-1.c 36e883bce8d9951768a9441174da8c4e gcc/testsuite/gcc.c-torture/compile/pr108783.c e0b4886989ab945696b0b58709123573 gcc/testsuite/gcc.c-torture/compile/pr108892.c + bbe3ff8274dae6d3f21cbdb4fa780c91 gcc/testsuite/gcc.c-torture/compile/pr110386-1.c + aac64916588db7f60e87baab1268b8e2 gcc/testsuite/gcc.c-torture/compile/pr110386-2.c + ca66c7f74573d2e86d4d649aa258e0e5 gcc/testsuite/gcc.c-torture/compile/pr111699-1.c + 2e72b534a63c68ecb879a9df0f934950 gcc/testsuite/gcc.c-torture/compile/pr112303.c + 597d2b1dda1b08561fbe83f15c76f510 gcc/testsuite/gcc.c-torture/compile/pr113603.c 33c7141fcf5b1add3ddd2be0100f1f0d gcc/testsuite/gcc.c-torture/compile/pr12517.c ec16b12ab11c499bf321be18ea59da33 gcc/testsuite/gcc.c-torture/compile/pr12578.c 86f3d5cf87d24e97aa663b79f2d0ac5d gcc/testsuite/gcc.c-torture/compile/pr12899.c *************** e6e4bf75b7bfe776a42e2d834c668aa0 gcc/te *** 36042,36047 **** --- 36146,36152 ---- 987c92fc82b6f0a9fcd149cb6983020f gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c 6bd4a57f0b4c4e24ea80bf9291de98ec gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.c c70578fda10ba34906c056f0cfa7d7f4 gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-9.x + 3843677f51ff2d4396417f474e39606f gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-cond-1.c eda53ee18df0e1666f58ac145f30c8bc gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c 89328c997b5c856595f8abbea69ad47a gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.x e97b9ae0938cde281e0f6c40ff726eaa gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp *************** eda9698796bef969bb50e5712208e61b gcc/te *** 36174,36181 **** --- 36279,36299 ---- ee35df6bcc12c95f226b88f0d72b377d gcc/testsuite/gcc.c-torture/execute/pr108498-2.c c8bc63449a253495869d91d5e4176c35 gcc/testsuite/gcc.c-torture/execute/pr109040.c 23cbbe0d93f89048f8d1ce1883e61ac2 gcc/testsuite/gcc.c-torture/execute/pr109778.c + cac0ac2f80f26d97359c398003db0f18 gcc/testsuite/gcc.c-torture/execute/pr109925.c + 656d590b25f1c491ea39b7de2cc2a90c gcc/testsuite/gcc.c-torture/execute/pr110115.c 0c03ba3ca9a1b8b66054261c416e8d93 gcc/testsuite/gcc.c-torture/execute/pr110165-1.c c885de6344b1bb4c74104697511c2dbd gcc/testsuite/gcc.c-torture/execute/pr110166-1.c + 914ecbceb55b6e48b491757423749cee gcc/testsuite/gcc.c-torture/execute/pr110914.c + aba9ca52725540fcc7df1338ac54df7c gcc/testsuite/gcc.c-torture/execute/pr111151.c + 99085a983bbf5c20a4f1986daa3cad4e gcc/testsuite/gcc.c-torture/execute/pr111331-1.c + db337c00bedfc272ed5edbb6acffed7c gcc/testsuite/gcc.c-torture/execute/pr111331-2.c + e7bc1f52654c430d9ceb1acb868fbc20 gcc/testsuite/gcc.c-torture/execute/pr111331-3.c + eefdaed8e6e57c688553667e395d78d3 gcc/testsuite/gcc.c-torture/execute/pr111408.c + 9db3e649786fc47229bef9b14997489f gcc/testsuite/gcc.c-torture/execute/pr111422.c + ecdedbf463fcb6869d2dcb4d5a4b2376 gcc/testsuite/gcc.c-torture/execute/pr112758.c + ce292472e176af7e97b5cfeddc436247 gcc/testsuite/gcc.c-torture/execute/pr114396.c + 7ae9a3b1d760fa818cb4c06f937f3d43 gcc/testsuite/gcc.c-torture/execute/pr114552.c + c9d7810fb25abff9e36f2472a26b7432 gcc/testsuite/gcc.c-torture/execute/pr114965.c 7758cb727d75f4fc1c0e483d503de146 gcc/testsuite/gcc.c-torture/execute/pr15262-1.c 58dc249612dbc918d7fc4010e94deb8d gcc/testsuite/gcc.c-torture/execute/pr15262-2.c d9c36fc850771445c5e4b6ce6dae1a12 gcc/testsuite/gcc.c-torture/execute/pr15262.c *************** fe9cbf88b57bdd9a5bf9c526284225f4 gcc/te *** 36676,36681 **** --- 36794,36800 ---- 4165667509c1985c02a5caebd101614d gcc/testsuite/gcc.c-torture/execute/pr89826.c 53efe1f200d3bec24ed00c280584deca gcc/testsuite/gcc.c-torture/execute/pr90025.c d26cfc42f19ac5e3ce4db452fd94f09a gcc/testsuite/gcc.c-torture/execute/pr90311.c + c711c1278b03225361adbb5c537e298a gcc/testsuite/gcc.c-torture/execute/pr90348.c 5235b3e2d6dd776b53d6a44ba5933a8a gcc/testsuite/gcc.c-torture/execute/pr90949.c 7f239d011b9e98943acdc8e3437ed19c gcc/testsuite/gcc.c-torture/execute/pr91137.c 3d5a788c848a67ade7bd18ab62494a1a gcc/testsuite/gcc.c-torture/execute/pr91450-1.c *************** e273443a6f4eccf5890b6c4d46998324 gcc/te *** 37358,37363 **** --- 37477,37483 ---- 1f871dc63d9bfee79601f4586343f709 gcc/testsuite/gcc.dg/Wfree-nonheap-object-4.c 469e7b8c90d9b200ae40cccf77711ce5 gcc/testsuite/gcc.dg/Wfree-nonheap-object-5.c c19a454bcf29265915e365069507e42a gcc/testsuite/gcc.dg/Wfree-nonheap-object-6.c + 21ef9c0c9671240c9210998eee95b1d8 gcc/testsuite/gcc.dg/Wfree-nonheap-object-7.c 0e3385327ea6f047857fb850694856e1 gcc/testsuite/gcc.dg/Wfree-nonheap-object.c cb738b6ee3ce33cfd417ae097ee81f56 gcc/testsuite/gcc.dg/Wimplicit-fallthrough-1.c ae92a1d93725fe1a5989579c55f7c873 gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c *************** ca39a9bcc32da0de969872e39eec2dcb gcc/te *** 37787,37793 **** acf49c11840dc8bc432c930cb02b389c gcc/testsuite/gcc.dg/analyzer/aliasing-pr106473.c 18fc2a84aecda4ede234a6de9d8690c2 gcc/testsuite/gcc.dg/analyzer/alloca-leak.c 75fcafdd3e3254bbd7067487aac00bb8 gcc/testsuite/gcc.dg/analyzer/allocation-size-1.c ! 883809a543fc00194aa0122fd7885429 gcc/testsuite/gcc.dg/analyzer/allocation-size-2.c c96b0b1881ce3b3626d09a506ac4c405 gcc/testsuite/gcc.dg/analyzer/allocation-size-3.c b9014dde0622543e19db1bd68aadaf4b gcc/testsuite/gcc.dg/analyzer/allocation-size-4.c 2fbe7c43718aa946f2698455261a0c9f gcc/testsuite/gcc.dg/analyzer/allocation-size-5.c --- 37907,37913 ---- acf49c11840dc8bc432c930cb02b389c gcc/testsuite/gcc.dg/analyzer/aliasing-pr106473.c 18fc2a84aecda4ede234a6de9d8690c2 gcc/testsuite/gcc.dg/analyzer/alloca-leak.c 75fcafdd3e3254bbd7067487aac00bb8 gcc/testsuite/gcc.dg/analyzer/allocation-size-1.c ! d990bca292e1dd02d6a5bc94aacb0b2a gcc/testsuite/gcc.dg/analyzer/allocation-size-2.c c96b0b1881ce3b3626d09a506ac4c405 gcc/testsuite/gcc.dg/analyzer/allocation-size-3.c b9014dde0622543e19db1bd68aadaf4b gcc/testsuite/gcc.dg/analyzer/allocation-size-4.c 2fbe7c43718aa946f2698455261a0c9f gcc/testsuite/gcc.dg/analyzer/allocation-size-5.c *************** e1fdaa48444fc5676927bb339608d942 gcc/te *** 37802,37808 **** 6f13c48d287fe59d52b17e51ccd6fca9 gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2a.c 91071d4bdc9f508d03823383cfe8302a gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3.c ddd318f0d7ec18cf56dba10884be8c19 gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3a.c ! 9bf5637bd79b2ee6a8c9d69834c8d2fa gcc/testsuite/gcc.dg/analyzer/analyzer.exp fc965261104eb781f63faa0fe5a3d7b1 gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c 7145b6f3637a739ae894c4e1ebe7ee08 gcc/testsuite/gcc.dg/analyzer/asm-x86-dyndbg-1.c 2d9b7a44f7c158100d74ae0014a15577 gcc/testsuite/gcc.dg/analyzer/asm-x86-dyndbg-2.c --- 37922,37928 ---- 6f13c48d287fe59d52b17e51ccd6fca9 gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2a.c 91071d4bdc9f508d03823383cfe8302a gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3.c ddd318f0d7ec18cf56dba10884be8c19 gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-3a.c ! 0ee16fced4348e3f4b76bac9739de177 gcc/testsuite/gcc.dg/analyzer/analyzer.exp fc965261104eb781f63faa0fe5a3d7b1 gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c 7145b6f3637a739ae894c4e1ebe7ee08 gcc/testsuite/gcc.dg/analyzer/asm-x86-dyndbg-1.c 2d9b7a44f7c158100d74ae0014a15577 gcc/testsuite/gcc.dg/analyzer/asm-x86-dyndbg-2.c *************** a98652f2d06708729de689f5875dcc2c gcc/te *** 37837,37846 **** 5106fcf69d180623a3f99851f20849d0 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107072.c c8b52dd62c1c9d300466183f293ad610 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107158-2.c c217dc0a580b458c80df495d4eabd771 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107158.c a99cd9f5718c9d37aee6aee0294cc872 gcc/testsuite/gcc.dg/analyzer/callbacks-1.c 0b7fa83ab4d00972ea110527aa160a26 gcc/testsuite/gcc.dg/analyzer/callbacks-2.c 054c975de1ad550bc0b3a3000890f5ab gcc/testsuite/gcc.dg/analyzer/callbacks-3.c ! 2c6557a5341ec3d7722179773a3a315f gcc/testsuite/gcc.dg/analyzer/calloc-1.c 2f05fa08e6cfadef4f032f92d90fc335 gcc/testsuite/gcc.dg/analyzer/capacity-1.c 70268e9d3be18e97a3643aa3d912c1a1 gcc/testsuite/gcc.dg/analyzer/capacity-2.c 0ac37e462c4c78f67a1c354ffba96eaf gcc/testsuite/gcc.dg/analyzer/capacity-3.c --- 37957,37967 ---- 5106fcf69d180623a3f99851f20849d0 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107072.c c8b52dd62c1c9d300466183f293ad610 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107158-2.c c217dc0a580b458c80df495d4eabd771 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr107158.c + e26be91157108de0adb52b0969803be1 gcc/testsuite/gcc.dg/analyzer/call-summaries-pr114473.c a99cd9f5718c9d37aee6aee0294cc872 gcc/testsuite/gcc.dg/analyzer/callbacks-1.c 0b7fa83ab4d00972ea110527aa160a26 gcc/testsuite/gcc.dg/analyzer/callbacks-2.c 054c975de1ad550bc0b3a3000890f5ab gcc/testsuite/gcc.dg/analyzer/callbacks-3.c ! a29485e2540de5ad60531d0266273bed gcc/testsuite/gcc.dg/analyzer/calloc-1.c 2f05fa08e6cfadef4f032f92d90fc335 gcc/testsuite/gcc.dg/analyzer/capacity-1.c 70268e9d3be18e97a3643aa3d912c1a1 gcc/testsuite/gcc.dg/analyzer/capacity-2.c 0ac37e462c4c78f67a1c354ffba96eaf gcc/testsuite/gcc.dg/analyzer/capacity-3.c *************** cdf915de6aa445e00b8a320d8b7b09dc gcc/te *** 37853,37859 **** a60083781c2444fc0afb93119adde9cd gcc/testsuite/gcc.dg/analyzer/compound-assignment-2.c ea761a32a87e7dd14f7f4d83472c0e79 gcc/testsuite/gcc.dg/analyzer/compound-assignment-3.c 30287a7a2b8f02421828017087fff16b gcc/testsuite/gcc.dg/analyzer/compound-assignment-4.c ! 8294d8bf908c4d04509527018707d466 gcc/testsuite/gcc.dg/analyzer/compound-assignment-5.c a9211e3f54bc8dd31aed70c7c3f9b905 gcc/testsuite/gcc.dg/analyzer/conditionals-3.c 1c0a20304d7da2a80255211819446599 gcc/testsuite/gcc.dg/analyzer/conditionals-notrans.c 8cfdc88c0b5a96aa0b303a5409085dfc gcc/testsuite/gcc.dg/analyzer/conditionals-trans.c --- 37974,37981 ---- a60083781c2444fc0afb93119adde9cd gcc/testsuite/gcc.dg/analyzer/compound-assignment-2.c ea761a32a87e7dd14f7f4d83472c0e79 gcc/testsuite/gcc.dg/analyzer/compound-assignment-3.c 30287a7a2b8f02421828017087fff16b gcc/testsuite/gcc.dg/analyzer/compound-assignment-4.c ! 00028a81df38fab7bad44d231ebfb6d5 gcc/testsuite/gcc.dg/analyzer/compound-assignment-5.c ! e8c412b9eaf42745a7fc07cc52fd19af gcc/testsuite/gcc.dg/analyzer/compound-assignment-pr112969.c a9211e3f54bc8dd31aed70c7c3f9b905 gcc/testsuite/gcc.dg/analyzer/conditionals-3.c 1c0a20304d7da2a80255211819446599 gcc/testsuite/gcc.dg/analyzer/conditionals-notrans.c 8cfdc88c0b5a96aa0b303a5409085dfc gcc/testsuite/gcc.dg/analyzer/conditionals-trans.c *************** d932e32ee23667f73c2b38527aaef2a9 gcc/te *** 37882,37888 **** ce3825071f0459fd39e18dc4443bc5a7 gcc/testsuite/gcc.dg/analyzer/data-model-5d.c be7aafbe051db1d04fdb6dda26644e29 gcc/testsuite/gcc.dg/analyzer/data-model-7.c e30a91c7d128ee44d4a195e5868ee03a gcc/testsuite/gcc.dg/analyzer/data-model-8.c ! 31f1a32a7438f9e74a61e8b03567a77e gcc/testsuite/gcc.dg/analyzer/data-model-9.c e9598af7814c9b574008795653746252 gcc/testsuite/gcc.dg/analyzer/data-model-path-1.c 7cecbe3ff8f0a8faf72f48437253394d gcc/testsuite/gcc.dg/analyzer/deref-before-check-1.c c983dc0a3824841a4b277a70d4f30c24 gcc/testsuite/gcc.dg/analyzer/deref-before-check-2.c --- 38004,38010 ---- ce3825071f0459fd39e18dc4443bc5a7 gcc/testsuite/gcc.dg/analyzer/data-model-5d.c be7aafbe051db1d04fdb6dda26644e29 gcc/testsuite/gcc.dg/analyzer/data-model-7.c e30a91c7d128ee44d4a195e5868ee03a gcc/testsuite/gcc.dg/analyzer/data-model-8.c ! 2c7de07861c307654f6b81f8ba0df5ff gcc/testsuite/gcc.dg/analyzer/data-model-9.c e9598af7814c9b574008795653746252 gcc/testsuite/gcc.dg/analyzer/data-model-path-1.c 7cecbe3ff8f0a8faf72f48437253394d gcc/testsuite/gcc.dg/analyzer/deref-before-check-1.c c983dc0a3824841a4b277a70d4f30c24 gcc/testsuite/gcc.dg/analyzer/deref-before-check-2.c *************** b5db231f7d5cf3af0c19c514187f18df gcc/te *** 37894,37899 **** --- 38016,38026 ---- 4ecd7c5fb8128c8790fbf6e467e6f447 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr108475-haproxy-tcpcheck.c d73c74c2b29425393e36b683916e3230 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109060-haproxy-cfgparse.c 1bd55ea175c88e72b390562b62790fa2 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109239-linux-bus.c + f22c1d6f613d0a75782bbe2b9985409c gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-1.c + 807d705dfd479d1b4a5733a46e4d6485 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr109251-2.c + 3efd9ef09bb52fe32780b0cf36d7b1d3 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr112790.c + c8a73f41d46e8981bed6ba7c504f0911 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c + 9e78ad2b0dc193d5d9ff12c23ed54093 gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr114408.c 4bb996492235cb81f106826f5610ae8c gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr77425.c d2ac7cdc94dcc7ea5bfd23ed78b9b41a gcc/testsuite/gcc.dg/analyzer/deref-before-check-qemu-qtest_rsp_args.c 64840faa76375f58a4f02239bbee2133 gcc/testsuite/gcc.dg/analyzer/describe-1.c *************** e42c67081cc782a2fbf78edf4ad1187f gcc/te *** 37935,37944 **** 45a9154e54535a9d12b52c509497b185 gcc/testsuite/gcc.dg/analyzer/fd-access-mode-target-headers.c 8d59ae372666083a7d189b26af00ecfc gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c 50636a97d77b8f9987955e13d490394f gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107928.c ! a38fee08e9852e95b40354aaa70aba2b gcc/testsuite/gcc.dg/analyzer/fd-bind.c 2b4e89d6bd86a237296bded464000d70 gcc/testsuite/gcc.dg/analyzer/fd-connect-pr107928.c 33b580122bdc1cca2f8b3460eee00433 gcc/testsuite/gcc.dg/analyzer/fd-connect.c ! afc1d96bb615a5163498b5b8dfafbba6 gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c 827dcc603f79b7aa5453b7b4dfba4665 gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c fc7d8278a1b704c1c5490f68539b33d8 gcc/testsuite/gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c 4f297a71867f6ffe69dc67b324298dba gcc/testsuite/gcc.dg/analyzer/fd-glibc-byte-stream-socket.c --- 38062,38071 ---- 45a9154e54535a9d12b52c509497b185 gcc/testsuite/gcc.dg/analyzer/fd-access-mode-target-headers.c 8d59ae372666083a7d189b26af00ecfc gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c 50636a97d77b8f9987955e13d490394f gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107928.c ! 3391de35648560ffe2d031136831c416 gcc/testsuite/gcc.dg/analyzer/fd-bind.c 2b4e89d6bd86a237296bded464000d70 gcc/testsuite/gcc.dg/analyzer/fd-connect-pr107928.c 33b580122bdc1cca2f8b3460eee00433 gcc/testsuite/gcc.dg/analyzer/fd-connect.c ! 0980fe4947e8f74eb52680d0e4f9341d gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c 827dcc603f79b7aa5453b7b4dfba4665 gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c fc7d8278a1b704c1c5490f68539b33d8 gcc/testsuite/gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c 4f297a71867f6ffe69dc67b324298dba gcc/testsuite/gcc.dg/analyzer/fd-glibc-byte-stream-socket.c *************** edd1e708973b1e8a22d87da59f67e0da gcc/te *** 37946,37962 **** 47a0eeeb0272f76bb1a6de21db1609cc gcc/testsuite/gcc.dg/analyzer/fd-glibc-datagram-socket.c 983aa8eb3b385c301b0f38e058072ad2 gcc/testsuite/gcc.dg/analyzer/fd-glibc-make_named_socket.h dfec44c9516f74c36a586e4fcca16e64 gcc/testsuite/gcc.dg/analyzer/fd-leak-pr108252.c ! 9ffdd6c3aa55a71e867e92ec9be2375e gcc/testsuite/gcc.dg/analyzer/fd-listen.c a177d44130d41a3609c707d32d17d30c gcc/testsuite/gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c fb03bc2fc5f65662c4e60d4569235699 gcc/testsuite/gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c dcb15e6b7d5c3424f3cb08babe7fb63a gcc/testsuite/gcc.dg/analyzer/fd-meaning.c 8fb341e8fe6909ce190ae756b2789975 gcc/testsuite/gcc.dg/analyzer/fd-pr108633.c 420c686f24999848149401ab7c228a3b gcc/testsuite/gcc.dg/analyzer/fd-socket-meaning.c ! 6e101b940d779c01b7726d6d953023a8 gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c ! 47df9afaa31d051e91cf3beb6f8debbf gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c ! 4ba499b0f78a6e19bd5861f949bd704e gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c ! f6f21dc0ea093fa9c7e15e97920aac71 gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c ! 004856011d247a34929f6f0a0cf8ab8d gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c c1e500f74e478290b2358e6a5d237d83 gcc/testsuite/gcc.dg/analyzer/fd-uninit-1.c 0fec3e8bbcc3a193f4e6d57c5f2d57b5 gcc/testsuite/gcc.dg/analyzer/fdump-analyzer-1.c c67fd7150c48c2cbde13c569af42d724 gcc/testsuite/gcc.dg/analyzer/feasibility-1.c --- 38073,38089 ---- 47a0eeeb0272f76bb1a6de21db1609cc gcc/testsuite/gcc.dg/analyzer/fd-glibc-datagram-socket.c 983aa8eb3b385c301b0f38e058072ad2 gcc/testsuite/gcc.dg/analyzer/fd-glibc-make_named_socket.h dfec44c9516f74c36a586e4fcca16e64 gcc/testsuite/gcc.dg/analyzer/fd-leak-pr108252.c ! be1f00da98063e80bf865fc3bf3217d5 gcc/testsuite/gcc.dg/analyzer/fd-listen.c a177d44130d41a3609c707d32d17d30c gcc/testsuite/gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c fb03bc2fc5f65662c4e60d4569235699 gcc/testsuite/gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c dcb15e6b7d5c3424f3cb08babe7fb63a gcc/testsuite/gcc.dg/analyzer/fd-meaning.c 8fb341e8fe6909ce190ae756b2789975 gcc/testsuite/gcc.dg/analyzer/fd-pr108633.c 420c686f24999848149401ab7c228a3b gcc/testsuite/gcc.dg/analyzer/fd-socket-meaning.c ! d8995b9465c25b3e1a9deb626b1b36c3 gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c ! 3c85fffa40e34938dec98e6387305881 gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c ! 0b203af45cd2a629ff9c71166bfa1c2a gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c ! 39625ad9e0d7a4ba548df24a4eb70bd5 gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c ! b342c106c7d549b3e90bf695cd0476f2 gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c c1e500f74e478290b2358e6a5d237d83 gcc/testsuite/gcc.dg/analyzer/fd-uninit-1.c 0fec3e8bbcc3a193f4e6d57c5f2d57b5 gcc/testsuite/gcc.dg/analyzer/fdump-analyzer-1.c c67fd7150c48c2cbde13c569af42d724 gcc/testsuite/gcc.dg/analyzer/feasibility-1.c *************** cd629fc9b87516508b6418bde7e6512b gcc/te *** 37999,38004 **** --- 38126,38132 ---- fda86ff25535c945555b6fc4c394a45e gcc/testsuite/gcc.dg/analyzer/gzio-3.c 826438f921dddc8033a63027fd6280aa gcc/testsuite/gcc.dg/analyzer/gzio-3a.c 95ad79e96dde48a914a9588f08788b19 gcc/testsuite/gcc.dg/analyzer/gzio.c + e1b439caf59bbf930791f644cc2c4443 gcc/testsuite/gcc.dg/analyzer/ice-pr112889.c 9f2287cf880bd04809fe7bc81e052340 gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c ff805313fa956a67f1dc98c3dac09efa gcc/testsuite/gcc.dg/analyzer/infinite-recursion-2.c 34901b2d3bb8a6242b45481f8329dfad gcc/testsuite/gcc.dg/analyzer/infinite-recursion-3.c *************** f2ef41567ee028e2c9a0b2dcc93610d5 gcc/te *** 38137,38143 **** e4cc36b1c03592d61e37db6479bc397d gcc/testsuite/gcc.dg/analyzer/null-deref-pr102671-1.c c52e42e884d37da5eaf5f2b75dbac21b gcc/testsuite/gcc.dg/analyzer/null-deref-pr102671-2.c fdb76ae36384216e00d153014c92f251 gcc/testsuite/gcc.dg/analyzer/null-deref-pr105755.c ! cbe7a2dcfa8b9b5941874902c24dabac gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c 54c0075434c52fc8202c1a96a981138b gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c 42e7e6b578b91216eba64c89c03896bb gcc/testsuite/gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c 4bffaf4df31b8a44852f1708ee5ecdb9 gcc/testsuite/gcc.dg/analyzer/null-deref-pr108806-qemu.c --- 38265,38271 ---- e4cc36b1c03592d61e37db6479bc397d gcc/testsuite/gcc.dg/analyzer/null-deref-pr102671-1.c c52e42e884d37da5eaf5f2b75dbac21b gcc/testsuite/gcc.dg/analyzer/null-deref-pr102671-2.c fdb76ae36384216e00d153014c92f251 gcc/testsuite/gcc.dg/analyzer/null-deref-pr105755.c ! c71155fdb3cb9d46670aa46de3b74997 gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c 54c0075434c52fc8202c1a96a981138b gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early.c 42e7e6b578b91216eba64c89c03896bb gcc/testsuite/gcc.dg/analyzer/null-deref-pr108400-SoftEtherVPN-WebUi.c 4bffaf4df31b8a44852f1708ee5ecdb9 gcc/testsuite/gcc.dg/analyzer/null-deref-pr108806-qemu.c *************** f731f4f8612f8ee22eb1ea13cf0aec0f gcc/te *** 38235,38240 **** --- 38363,38371 ---- 8af52372a76611b936c16a76eb1d0104 gcc/testsuite/gcc.dg/analyzer/pr106539.c cdc8616a7ffe3b90347da98ea49fbe0c gcc/testsuite/gcc.dg/analyzer/pr106845.c 1cceccf471f278322fcfe86b0544b088 gcc/testsuite/gcc.dg/analyzer/pr107345.c + 858a5fcecf63e716063ce04728f4c6c8 gcc/testsuite/gcc.dg/analyzer/pr108171.c + b72b97499794877a51d2dfb2133bb978 gcc/testsuite/gcc.dg/analyzer/pr109577.c + 12cfe5485a3c7938cc01216a44d4866e gcc/testsuite/gcc.dg/analyzer/pr110882.c 4d9dda4c090b351e888380f256fdf703 gcc/testsuite/gcc.dg/analyzer/pr61861.c 242590eedae3d5fb56d59f94b5ce9dbf gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-signed-char.c 3b715088546567d4c2cc30cc26417f11 gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-simplified.c *************** da360e3b0e9156b732e2cd7f740dacb8 gcc/te *** 38284,38290 **** cad22848bbe62237ae68e9fbe69f44e1 gcc/testsuite/gcc.dg/analyzer/pr95240.c d0a6505c532b4244902d3dd3501af977 gcc/testsuite/gcc.dg/analyzer/pr96598.c a18aec5c928fb5cf0238f90bc5890720 gcc/testsuite/gcc.dg/analyzer/pr96611.c ! 8a24df64133f07cf853e0d0f2d909c52 gcc/testsuite/gcc.dg/analyzer/pr96639.c 29816e82bef6bf88156d55346d54b72f gcc/testsuite/gcc.dg/analyzer/pr96642.c 1cc9fc986e0c43dbfa3116f2b887d305 gcc/testsuite/gcc.dg/analyzer/pr96644.c 8122e564ee9470c65abe46b95a4e01e0 gcc/testsuite/gcc.dg/analyzer/pr96646.c --- 38415,38421 ---- cad22848bbe62237ae68e9fbe69f44e1 gcc/testsuite/gcc.dg/analyzer/pr95240.c d0a6505c532b4244902d3dd3501af977 gcc/testsuite/gcc.dg/analyzer/pr96598.c a18aec5c928fb5cf0238f90bc5890720 gcc/testsuite/gcc.dg/analyzer/pr96611.c ! 2e4d6f160244441b5357158b101a38ea gcc/testsuite/gcc.dg/analyzer/pr96639.c 29816e82bef6bf88156d55346d54b72f gcc/testsuite/gcc.dg/analyzer/pr96642.c 1cc9fc986e0c43dbfa3116f2b887d305 gcc/testsuite/gcc.dg/analyzer/pr96644.c 8122e564ee9470c65abe46b95a4e01e0 gcc/testsuite/gcc.dg/analyzer/pr96646.c *************** ad012545a694fac57685010f86ea11d7 gcc/te *** 38349,38354 **** --- 38480,38486 ---- 9a0e6bd4cb78e44f3c6874d389ff719f gcc/testsuite/gcc.dg/analyzer/realloc-3.c 7f9a58dbe3d9e59cd0a8e15a8a931a40 gcc/testsuite/gcc.dg/analyzer/realloc-4.c 992c92f21bf2037b2feff8f20d13814a gcc/testsuite/gcc.dg/analyzer/realloc-5.c + 3c8f1b65330cc56005f883d34f25eab3 gcc/testsuite/gcc.dg/analyzer/realloc-pr110014.c 80fa663011e0905b551ff26c0f4ab6aa gcc/testsuite/gcc.dg/analyzer/refcounting-1.c eb90114c90a666d2fc417737f203862d gcc/testsuite/gcc.dg/analyzer/rhbz1878600.c b7184568f0f50651f8fbd1cffcf54f18 gcc/testsuite/gcc.dg/analyzer/sarif-pr107366.c *************** b76452713c6522655217df51194d0da5 gcc/te *** 38393,38398 **** --- 38525,38532 ---- 16df75a00d60c15ce6e3c88145dc4a52 gcc/testsuite/gcc.dg/analyzer/stdarg-lto-1-a.c 704cf666386e2d20cb2947b0dfd0067a gcc/testsuite/gcc.dg/analyzer/stdarg-lto-1-b.c 222b11a7c333c892c49c4acf13282013 gcc/testsuite/gcc.dg/analyzer/stdarg-lto-1.h + 818c27ce1ec5ec758b463dfb475d5b82 gcc/testsuite/gcc.dg/analyzer/stdarg-pr111289-int.c + 565c27c80630eebb81d83c9cfbd163f5 gcc/testsuite/gcc.dg/analyzer/stdarg-pr111289-ptr.c 6cb68eb8b2eb45ac0544be60f2161e0e gcc/testsuite/gcc.dg/analyzer/stdarg-sentinel-1.c 7c34f9a3c92ba106a890f78970e8464a gcc/testsuite/gcc.dg/analyzer/stdarg-types-1.c 386715a511e63dee39f78737e48a7137 gcc/testsuite/gcc.dg/analyzer/stdarg-types-2.c *************** acc7ba3d31b74a70e29d2deb549157d4 gcc/te *** 38440,38445 **** --- 38574,38580 ---- 284e2308a1ca75b599ea0891b23aaffa gcc/testsuite/gcc.dg/analyzer/taint-assert-system-header.c e9723db028427fdcfd3295084437bc13 gcc/testsuite/gcc.dg/analyzer/taint-assert.c 1964aa2d0d8526b8bb106453ddd3d38c gcc/testsuite/gcc.dg/analyzer/taint-divisor-1.c + fb7485172c1354a56b6dbfb02800c0b5 gcc/testsuite/gcc.dg/analyzer/taint-divisor-2.c 6a05eaa2e2c1e6b090ece3c5fd1f2dec gcc/testsuite/gcc.dg/analyzer/taint-merger.c 989ecfdd65e4e4576e9e4c32ea8989c9 gcc/testsuite/gcc.dg/analyzer/taint-ops.c f5887ea7ae3861689a706041d25fbc2f gcc/testsuite/gcc.dg/analyzer/taint-read-index-1.c *************** c87bfd1f1a20fb1eb27f8f10cab07c9b gcc/te *** 38617,38622 **** --- 38752,38761 ---- b989844b8de5feb2e33ec096aa812ec6 gcc/testsuite/gcc.dg/asan/pr108777-4.c e3f654469966ae1c0b0222fd88742a56 gcc/testsuite/gcc.dg/asan/pr108777-5.c 50f6224f5546a4552995bf584c4638ff gcc/testsuite/gcc.dg/asan/pr108777-6.c + ea1638a3bd1b7f87abc2eda6d730213e gcc/testsuite/gcc.dg/asan/pr110027.c + 26f93981271f9059440b991b53a92413 gcc/testsuite/gcc.dg/asan/pr112709-2.c + e6fb871193af3e998394dba285a504b4 gcc/testsuite/gcc.dg/asan/pr114687.c + 335e527788f5fd39d280e244ac17b3ef gcc/testsuite/gcc.dg/asan/pr114956.c a5e988481cd66b8acf6c610b847cb713 gcc/testsuite/gcc.dg/asan/pr56417.c 0c13e4008bb665f05b030eb42e43183f gcc/testsuite/gcc.dg/asan/pr63845.c 9a45b4bebab3901180dbe2a44efcd070 gcc/testsuite/gcc.dg/asan/pr64170.c *************** b44772fbcd2e08350b35e4dd6946f2a4 gcc/te *** 38819,38824 **** --- 38958,38964 ---- b4a8b630e47887fcd32a48a20c7edabb gcc/testsuite/gcc.dg/attr-assume-3.c b16875f45f28b5a0af6776ba93cb39a9 gcc/testsuite/gcc.dg/attr-assume-4.c 6c976d06223e8872a9662f8343594517 gcc/testsuite/gcc.dg/attr-assume-5.c + 50a6eac6271150e54b682dfcff553751 gcc/testsuite/gcc.dg/attr-assume-6.c 6774f30903239eb0b974c38374bce074 gcc/testsuite/gcc.dg/attr-assume_aligned-1.c 02d7d6aadac12a028dedd724bb71f324 gcc/testsuite/gcc.dg/attr-assume_aligned-2.c 381dde82adbf6ab920a6cf273228f01e gcc/testsuite/gcc.dg/attr-assume_aligned-3.c *************** fcd4572df13af248f922ae7a7c77e6a8 gcc/te *** 39358,39363 **** --- 39498,39510 ---- 3dbfc6cb7eab32d45526a6c027b7c7a2 gcc/testsuite/gcc.dg/c17-version-2.c aeb16ae2682d8d01a1d6120c9de5edfd gcc/testsuite/gcc.dg/c18-version-1.c cd00c6feebac836c0ec488202c21d6a7 gcc/testsuite/gcc.dg/c18-version-2.c + 1f0cc4ddd44ec4024c75890aef2076e2 gcc/testsuite/gcc.dg/c23-attr-syntax-8.c + bfb92457e8b4c3934e626a4651922ca2 gcc/testsuite/gcc.dg/c23-enum-10.c + e13f0b330aa713cbac4b93eb1ac3260c gcc/testsuite/gcc.dg/c23-enum-9.c + c115ab0574e19d4dbcdbf6104d957d6f gcc/testsuite/gcc.dg/c23-stdarg-6.c + baeaba3ea95c0e8dea526efb3880ad11 gcc/testsuite/gcc.dg/c23-stdarg-7.c + a271d144580738671ceba31d72b6733a gcc/testsuite/gcc.dg/c23-stdarg-8.c + 05ef945cebd68a0ff9fbfac148a02c6b gcc/testsuite/gcc.dg/c23-stdarg-9.c e534b0f2e881e50aca6c1f2a52542dc2 gcc/testsuite/gcc.dg/c2x-align-1.c 6fd315ddd7219855d32d6938f5c972be gcc/testsuite/gcc.dg/c2x-align-6.c 1a6078af67236639a20541935b9c1759 gcc/testsuite/gcc.dg/c2x-attr-deprecated-1.c *************** c4152191bf290926b6b747aa4397e015 gcc/te *** 40696,40702 **** f6fc7e2ea2fa3bb9082daec81d56aeff gcc/testsuite/gcc.dg/darwin-comm-1.c 7e6cf48347ff53c1f9c509b921aceb22 gcc/testsuite/gcc.dg/darwin-comm.c b477cca030ba86435b074a334ee9bfd0 gcc/testsuite/gcc.dg/darwin-ld-1.c ! 4ac76811f1a6c80f6dc5191396c37748 gcc/testsuite/gcc.dg/darwin-ld-2.c 9fa876cce008f5a8d26340933a0e3295 gcc/testsuite/gcc.dg/darwin-ld-20040809-1.c e62d76045ed903e34f34747bee80da98 gcc/testsuite/gcc.dg/darwin-ld-20040809-2.c 37137f00ef98856229916ab1efa4960c gcc/testsuite/gcc.dg/darwin-ld-20040828-1.c --- 40843,40849 ---- f6fc7e2ea2fa3bb9082daec81d56aeff gcc/testsuite/gcc.dg/darwin-comm-1.c 7e6cf48347ff53c1f9c509b921aceb22 gcc/testsuite/gcc.dg/darwin-comm.c b477cca030ba86435b074a334ee9bfd0 gcc/testsuite/gcc.dg/darwin-ld-1.c ! 2bf757e63fd40f62dbd7f7ae31ebbf00 gcc/testsuite/gcc.dg/darwin-ld-2.c 9fa876cce008f5a8d26340933a0e3295 gcc/testsuite/gcc.dg/darwin-ld-20040809-1.c e62d76045ed903e34f34747bee80da98 gcc/testsuite/gcc.dg/darwin-ld-20040809-2.c 37137f00ef98856229916ab1efa4960c gcc/testsuite/gcc.dg/darwin-ld-20040828-1.c *************** ee94511375797117140ca777fd1695b1 gcc/te *** 40717,40725 **** 704c9a2dca0a451cca6e5855f7f2347f gcc/testsuite/gcc.dg/darwin-minversion-7.c 5a8b775f8ce1e0cafb8782fbc39b58e4 gcc/testsuite/gcc.dg/darwin-minversion-8.c aa9dfa39c42ef65a88c0a708412fb842 gcc/testsuite/gcc.dg/darwin-minversion-9.c ! 9dbaa15e2b1a56ec7afc29c9929eedab gcc/testsuite/gcc.dg/darwin-minversion-link.c b66bb093837bda7692b73c8aa9711e00 gcc/testsuite/gcc.dg/darwin-sections.c ! 3cfa6daebed9a12884613012f50433e4 gcc/testsuite/gcc.dg/darwin-segaddr.c e3d2d2840d7d23dee7e2cd94e097a114 gcc/testsuite/gcc.dg/darwin-version-1.c 9145b589b54240035dacb7540309d62e gcc/testsuite/gcc.dg/darwin-weakimport-1.c bda7de2e2fd6472aa3ffe7873407e58d gcc/testsuite/gcc.dg/darwin-weakimport-2.c --- 40864,40872 ---- 704c9a2dca0a451cca6e5855f7f2347f gcc/testsuite/gcc.dg/darwin-minversion-7.c 5a8b775f8ce1e0cafb8782fbc39b58e4 gcc/testsuite/gcc.dg/darwin-minversion-8.c aa9dfa39c42ef65a88c0a708412fb842 gcc/testsuite/gcc.dg/darwin-minversion-9.c ! 956d9c5ca31de05aa49da3cb99f3d4ef gcc/testsuite/gcc.dg/darwin-minversion-link.c b66bb093837bda7692b73c8aa9711e00 gcc/testsuite/gcc.dg/darwin-sections.c ! f7857b3d082c7452ee5a60411d5f02bc gcc/testsuite/gcc.dg/darwin-segaddr.c e3d2d2840d7d23dee7e2cd94e097a114 gcc/testsuite/gcc.dg/darwin-version-1.c 9145b589b54240035dacb7540309d62e gcc/testsuite/gcc.dg/darwin-weakimport-1.c bda7de2e2fd6472aa3ffe7873407e58d gcc/testsuite/gcc.dg/darwin-weakimport-2.c *************** f30a377973368d1a41bc4f8e2a0e33e9 gcc/te *** 40905,40911 **** f9ab56344241c22521f8d9245e677c22 gcc/testsuite/gcc.dg/debug/dwarf2/inline1.c 47291ca2a7f639676f2662f2d578253f gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c 8580bd27cd825c8d49e674c9f31c683c gcc/testsuite/gcc.dg/debug/dwarf2/inline3.c ! 586e0e8fb83eb0dc0f5b5a3a5b6236bf gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c cc07cedbdc7f7b69237511da330b487b gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c 40c9e189b7b61e8f4d69ce3f98f98206 gcc/testsuite/gcc.dg/debug/dwarf2/inline6.c e7c46c2fc25b3773b6adcbd27af4b924 gcc/testsuite/gcc.dg/debug/dwarf2/ipa-cp1.c --- 41052,41058 ---- f9ab56344241c22521f8d9245e677c22 gcc/testsuite/gcc.dg/debug/dwarf2/inline1.c 47291ca2a7f639676f2662f2d578253f gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c 8580bd27cd825c8d49e674c9f31c683c gcc/testsuite/gcc.dg/debug/dwarf2/inline3.c ! 975fb826cc6035cfef2a1cad545f8110 gcc/testsuite/gcc.dg/debug/dwarf2/inline4.c cc07cedbdc7f7b69237511da330b487b gcc/testsuite/gcc.dg/debug/dwarf2/inline5.c 40c9e189b7b61e8f4d69ce3f98f98206 gcc/testsuite/gcc.dg/debug/dwarf2/inline6.c e7c46c2fc25b3773b6adcbd27af4b924 gcc/testsuite/gcc.dg/debug/dwarf2/ipa-cp1.c *************** cbcc356a35e8a8665137c7ae64ec5914 gcc/te *** 40919,40924 **** --- 41066,41072 ---- 937e8a07b611d24efb44f969833a3cb8 gcc/testsuite/gcc.dg/debug/dwarf2/omp-fesdr.c 65c779aa27fde2981a8fd2eb1b54c195 gcc/testsuite/gcc.dg/debug/dwarf2/pr100515.c 54b366032eed667161eee7783123c310 gcc/testsuite/gcc.dg/debug/dwarf2/pr103874.c + 5ed4e6ef67f556cf4874685cde9a33d6 gcc/testsuite/gcc.dg/debug/dwarf2/pr111080.c 250736f38c859fc89fb993ad3155eb20 gcc/testsuite/gcc.dg/debug/dwarf2/pr29609-1.c 8f522ee214d1db3d04f240eb20eb4474 gcc/testsuite/gcc.dg/debug/dwarf2/pr29609-2.c 43696edd12f5c0c32058d1ad1012e1e8 gcc/testsuite/gcc.dg/debug/dwarf2/pr31230.c *************** b3f045b532c693bbfb8cfed8c0609564 gcc/te *** 40972,40977 **** --- 41120,41126 ---- 69e64f492a931622722ac6c811569e62 gcc/testsuite/gcc.dg/debug/dwarf2/var2.c d11dcc4e37738beb9e8be03ce7630c35 gcc/testsuite/gcc.dg/debug/enum-1.c 3c2a32917edee1c37607a11e5414fbdf gcc/testsuite/gcc.dg/debug/pr104337.c + 30ce98ab2ad9e598ef0db6491350f738 gcc/testsuite/gcc.dg/debug/pr112718.c bdf39999a5a7a4c7b1459600dff4ff14 gcc/testsuite/gcc.dg/debug/pr16676.c 6f8e864ca7f9c38a79c3578b2c75101b gcc/testsuite/gcc.dg/debug/pr26881.c feb6dc1d570a59982f88a912985ff2fa gcc/testsuite/gcc.dg/debug/pr29558.c *************** a4596c7975a946fa49341b476cdddf3a gcc/te *** 41351,41356 **** --- 41500,41506 ---- 079305f70244f8ded32a0debe8d58694 gcc/testsuite/gcc.dg/float64-typeof.c 8bb9c44d00a4462a62e271afe65395d9 gcc/testsuite/gcc.dg/float64x-align.c 43395d2f36b719cad53a2b34ee0c2822 gcc/testsuite/gcc.dg/float64x-typeof.c + e50dce809881cd3fe916639e85f3e895 gcc/testsuite/gcc.dg/float_opposite_arm-1.c dce4fd47d3f8088f0fcde8e4c014985f gcc/testsuite/gcc.dg/floatn-align.h a7a463105294b90172c7dacacf6dfaab gcc/testsuite/gcc.dg/floatn-arithconv.c bfaa6b3a6e5de108258c8a51ca88aff8 gcc/testsuite/gcc.dg/floatn-errs.c *************** b5fc99d5cd488987e446fd40c88fdcde gcc/te *** 41678,41683 **** --- 41828,41834 ---- 5fad85f6a525ba649eb9b2cc42c89366 gcc/testsuite/gcc.dg/format/proto.c 8e4de68e496a28c03b2a9a568280143e gcc/testsuite/gcc.dg/format/sec-1.c e237ed24e55e62c199105f7dfda9c95c gcc/testsuite/gcc.dg/format/sentinel-1.c + cdc9a2e330436513f266a718b8a79ec6 gcc/testsuite/gcc.dg/format/sentinel-2.c 9cbef1e5751733a4ccc852045f747a93 gcc/testsuite/gcc.dg/format/strfmon-1.c 0580b4faa6d69e15b3dbd3564bef3b03 gcc/testsuite/gcc.dg/format/strfmon-2.c 4e657e701841e398dd65ba221d93dd1d gcc/testsuite/gcc.dg/format/sys_format.c *************** cfde414df06a7d559244461a11116f3a gcc/te *** 41694,41700 **** 8f37924ff2caad55a30fc496f91e6433 gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_2.c 346d72de410a41c1e4c11801d862b639 gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_3.c dfe38eb512efba921d1fc5abef411b1a gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_4.c ! efdf83d01ddd79162b4664860b902b22 gcc/testsuite/gcc.dg/framework-1.c ab168371521010cab0fb40567190798a gcc/testsuite/gcc.dg/framework-2.c 72cddfd9b852c1976438d75d9facbec7 gcc/testsuite/gcc.dg/free-1.c b545fd5015b04774ac8c95c87722bfc2 gcc/testsuite/gcc.dg/free-2.c --- 41845,41851 ---- 8f37924ff2caad55a30fc496f91e6433 gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_2.c 346d72de410a41c1e4c11801d862b639 gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_3.c dfe38eb512efba921d1fc5abef411b1a gcc/testsuite/gcc.dg/fpermitted-flt-eval-methods_4.c ! f986ed8a378006f958f6b3f89b0dd9f5 gcc/testsuite/gcc.dg/framework-1.c ab168371521010cab0fb40567190798a gcc/testsuite/gcc.dg/framework-2.c 72cddfd9b852c1976438d75d9facbec7 gcc/testsuite/gcc.dg/free-1.c b545fd5015b04774ac8c95c87722bfc2 gcc/testsuite/gcc.dg/free-2.c *************** c5acb4eef5addd258e89e51e27d3b449 gcc/te *** 42424,42429 **** --- 42575,42581 ---- 0ef2120f99b756db4c3840219fb2dba8 gcc/testsuite/gcc.dg/graphite/run-id-4.c 16e74d9fa864e530b4b6393475037140 gcc/testsuite/gcc.dg/graphite/run-id-5.c 1c588ffb31c7ec814b9ed9e4581ab286 gcc/testsuite/gcc.dg/graphite/run-id-6.c + 9a410e4d218e3b738541089b7047693c gcc/testsuite/gcc.dg/graphite/run-id-pr114041-2.c e9a658f5e5227ca939ba11864c1a5efc gcc/testsuite/gcc.dg/graphite/run-id-pr42644.c 2190e3f79f26515ff859a51120bf5414 gcc/testsuite/gcc.dg/graphite/run-id-pr46758.c f35ab23a4d1fb41603401e81eba12337 gcc/testsuite/gcc.dg/graphite/run-id-pr47593.c *************** f46dce055fca6bcb88a60d11a0bb710b gcc/te *** 42606,42612 **** 3fcd24000493dccbffcab8d7f571db16 gcc/testsuite/gcc.dg/ifcvt-1.c 788cdc139607df186471194c57393d9b gcc/testsuite/gcc.dg/ifcvt-2.c 1406d8ef80fc3e9a51abb05637775214 gcc/testsuite/gcc.dg/ifcvt-3.c ! bf99da5f144bfa2b93ab29914ca6883c gcc/testsuite/gcc.dg/ifcvt-4.c 851af7bdf70bdcebc1bbfe12c989a445 gcc/testsuite/gcc.dg/ifcvt-5.c 18c54e879b05c8aed2d3ad8ec198fe6d gcc/testsuite/gcc.dg/ifcvt-fabs-1.c 9a6101d4463140bd764616fe8d813f87 gcc/testsuite/gcc.dg/ifelse-1.c --- 42758,42764 ---- 3fcd24000493dccbffcab8d7f571db16 gcc/testsuite/gcc.dg/ifcvt-1.c 788cdc139607df186471194c57393d9b gcc/testsuite/gcc.dg/ifcvt-2.c 1406d8ef80fc3e9a51abb05637775214 gcc/testsuite/gcc.dg/ifcvt-3.c ! c3e8db9e992231697b36c3bd0282686c gcc/testsuite/gcc.dg/ifcvt-4.c 851af7bdf70bdcebc1bbfe12c989a445 gcc/testsuite/gcc.dg/ifcvt-5.c 18c54e879b05c8aed2d3ad8ec198fe6d gcc/testsuite/gcc.dg/ifcvt-fabs-1.c 9a6101d4463140bd764616fe8d813f87 gcc/testsuite/gcc.dg/ifelse-1.c *************** d06f7c5820eb923c44d73fa73e63ee5d gcc/te *** 42778,42784 **** 3f06e49cd636df9de21331230b0e59e0 gcc/testsuite/gcc.dg/ipa/ipa-icf-35.c 4630bb4962c62c86ea5589ff20308a9a gcc/testsuite/gcc.dg/ipa/ipa-icf-36.c ef947bf14a3a516703fe551dea457061 gcc/testsuite/gcc.dg/ipa/ipa-icf-37.c ! 682c8d620b16f64d33f18d73e453a4ae gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c 8d25872a618a0cf64f0d344afe44543a gcc/testsuite/gcc.dg/ipa/ipa-icf-38a.c 554bb9677c9084721bcca9a42daa5b9a gcc/testsuite/gcc.dg/ipa/ipa-icf-39.c 639814886ab7278c2142d218eef816de gcc/testsuite/gcc.dg/ipa/ipa-icf-4.c --- 42930,42936 ---- 3f06e49cd636df9de21331230b0e59e0 gcc/testsuite/gcc.dg/ipa/ipa-icf-35.c 4630bb4962c62c86ea5589ff20308a9a gcc/testsuite/gcc.dg/ipa/ipa-icf-36.c ef947bf14a3a516703fe551dea457061 gcc/testsuite/gcc.dg/ipa/ipa-icf-37.c ! 0848ba2e6621707fb7f0e1ef4099f9cb gcc/testsuite/gcc.dg/ipa/ipa-icf-38.c 8d25872a618a0cf64f0d344afe44543a gcc/testsuite/gcc.dg/ipa/ipa-icf-38a.c 554bb9677c9084721bcca9a42daa5b9a gcc/testsuite/gcc.dg/ipa/ipa-icf-39.c 639814886ab7278c2142d218eef816de gcc/testsuite/gcc.dg/ipa/ipa-icf-4.c *************** e9a270cc0fe29965bd5d3f98375ad921 gcc/te *** 42889,42899 **** --- 43041,43055 ---- e261240fcc7035cd8398f9cbecd10a00 gcc/testsuite/gcc.dg/ipa/pr105639.c d6d366e61e9493a8fc9ad14a2e6f9ba4 gcc/testsuite/gcc.dg/ipa/pr105739.c e53f73d24fa35ba6817e4a5b5d5e4d33 gcc/testsuite/gcc.dg/ipa/pr107640-2.c + 95030383fded4b7071d378fb24eccc10 gcc/testsuite/gcc.dg/ipa/pr108007.c 265ca89bf18d64d019ff7d75ea03f0b7 gcc/testsuite/gcc.dg/ipa/pr108384.c a613ec3a747f862a332859659437e61a gcc/testsuite/gcc.dg/ipa/pr108679.c ec56d4020da1007033149a15637c5de4 gcc/testsuite/gcc.dg/ipa/pr108959.c cf4edb1ce9b073657fc6da0e1310515b gcc/testsuite/gcc.dg/ipa/pr109318.c b70865b06d221ed2025f4fc757d9e20a gcc/testsuite/gcc.dg/ipa/pr110276.c + f741ddb64786110b58c8991c33d44c79 gcc/testsuite/gcc.dg/ipa/pr111571.c + 6cadebd8b42bda8557c5814d0103a2fa gcc/testsuite/gcc.dg/ipa/pr112616.c + b7a69609ea582386c302afd514d8e233 gcc/testsuite/gcc.dg/ipa/pr114247.c 40bd41302666d56c4edf7330db97920e gcc/testsuite/gcc.dg/ipa/pr42706.c e4887053c792f4f78b03804c148839ce gcc/testsuite/gcc.dg/ipa/pr45644.c 6e1b4f2c5d0c0d768778da8e3b7df828 gcc/testsuite/gcc.dg/ipa/pr48195.c *************** b4339b390113a15f56bdeba41587958c gcc/te *** 43150,43156 **** f26f4f4d9973dff3665201724f9dc4c4 gcc/testsuite/gcc.dg/lto/20091006-2_2.c ace7c1ab295298b8db389de962acce4b gcc/testsuite/gcc.dg/lto/20091013-1_0.c f04ef6add169f04f5a01494d3a85f438 gcc/testsuite/gcc.dg/lto/20091013-1_1.c ! c84d0c9aa63f3f77ac404fcc6c98e472 gcc/testsuite/gcc.dg/lto/20091013-1_2.c 3b10f79cd30196caa87ca77c16e13aa1 gcc/testsuite/gcc.dg/lto/20091014-1_0.c 7cf51136e40f296b0c702fa9682478ad gcc/testsuite/gcc.dg/lto/20091015-1_0.c d05ae72bc2da158ccd15c392b0755414 gcc/testsuite/gcc.dg/lto/20091015-1_1.c --- 43306,43312 ---- f26f4f4d9973dff3665201724f9dc4c4 gcc/testsuite/gcc.dg/lto/20091006-2_2.c ace7c1ab295298b8db389de962acce4b gcc/testsuite/gcc.dg/lto/20091013-1_0.c f04ef6add169f04f5a01494d3a85f438 gcc/testsuite/gcc.dg/lto/20091013-1_1.c ! 207b929127cc169ea17cd61eb2df9341 gcc/testsuite/gcc.dg/lto/20091013-1_2.c 3b10f79cd30196caa87ca77c16e13aa1 gcc/testsuite/gcc.dg/lto/20091014-1_0.c 7cf51136e40f296b0c702fa9682478ad gcc/testsuite/gcc.dg/lto/20091015-1_0.c d05ae72bc2da158ccd15c392b0755414 gcc/testsuite/gcc.dg/lto/20091015-1_1.c *************** fe020ff7b4d35a4d3f13e426cbacc4da gcc/te *** 43267,43272 **** --- 43423,43441 ---- 75895ff7058fe9716d776a1c92124f2d gcc/testsuite/gcc.dg/lto/pr108445_1.c ef0b90ba09e6e56d1d655afdcb63cdd4 gcc/testsuite/gcc.dg/lto/pr109778_0.c c3ad752a64c11978f9f2cce0520bf58c gcc/testsuite/gcc.dg/lto/pr109778_1.c + 5a30be7e5faebcb3c788634739d7942d gcc/testsuite/gcc.dg/lto/pr113359-1_0.c + 689493d8859ebd5141c7576ea5812894 gcc/testsuite/gcc.dg/lto/pr113359-1_1.c + 7b2490a53ab05afe844a68c990f18421 gcc/testsuite/gcc.dg/lto/pr113359-2_0.c + 41ee56adafb01df4348c7c69179db19b gcc/testsuite/gcc.dg/lto/pr113359-2_1.c + 82e2344118052c04301038fec390f42d gcc/testsuite/gcc.dg/lto/pr113359-3_0.c + 1f06069ea30d27a1e0fef1294b1bc9dd gcc/testsuite/gcc.dg/lto/pr113359-3_1.c + 4a10953226e8b2bf38c71b31a58873ae gcc/testsuite/gcc.dg/lto/pr113359-4_0.c + 180bf112da9a15f3f5953a72550e8c06 gcc/testsuite/gcc.dg/lto/pr113359-4_1.c + 45aca1e319518dd57f0a7c287a454a94 gcc/testsuite/gcc.dg/lto/pr113359-5_0.c + 6a759ddbca5b12559a1d058104297f87 gcc/testsuite/gcc.dg/lto/pr113359-5_1.c + 19509c8f1bdf98e2ab64c3f9e2c3f584 gcc/testsuite/gcc.dg/lto/pr113907_0.c + 9f07bf819862bc85bb8767d97947d837 gcc/testsuite/gcc.dg/lto/pr113907_1.c + 4d872eeace42ef5001147db36f0eb548 gcc/testsuite/gcc.dg/lto/pr113907_2.c 5192817b2492ca93ffadce3b4a5e4794 gcc/testsuite/gcc.dg/lto/pr27898_0.c c5f48897247dfaec60df4e32beffcd8e gcc/testsuite/gcc.dg/lto/pr27898_1.c 2ad724786bc4b555a7f31e8b3bf164b6 gcc/testsuite/gcc.dg/lto/pr28706_0.c *************** ebb801f97326701c44c33bb719490703 gcc/te *** 43364,43370 **** f67a44e9e2f963084509149bec7655af gcc/testsuite/gcc.dg/lto/pr85248_1.c 282f07e58b4588a8dc30a94934177fbd gcc/testsuite/gcc.dg/lto/pr85870_0.c 0ad0dd21ac624ed6e82cfbb6d23cba67 gcc/testsuite/gcc.dg/lto/pr85870_1.c ! 39b1acb86d4ff0131276667f2bbd4586 gcc/testsuite/gcc.dg/lto/pr88077_0.c 833668f47a5741405cf53fc58d31d1bc gcc/testsuite/gcc.dg/lto/pr88077_1.c c51c424cae679b65a2dc52ea3ddc96d9 gcc/testsuite/gcc.dg/lto/pr88297_0.c 14664c531ea727ce3e6cd733560c6895 gcc/testsuite/gcc.dg/lto/pr88297_1.c --- 43533,43539 ---- f67a44e9e2f963084509149bec7655af gcc/testsuite/gcc.dg/lto/pr85248_1.c 282f07e58b4588a8dc30a94934177fbd gcc/testsuite/gcc.dg/lto/pr85870_0.c 0ad0dd21ac624ed6e82cfbb6d23cba67 gcc/testsuite/gcc.dg/lto/pr85870_1.c ! 7aba7fb94344876cd45a197f9bfe5c20 gcc/testsuite/gcc.dg/lto/pr88077_0.c 833668f47a5741405cf53fc58d31d1bc gcc/testsuite/gcc.dg/lto/pr88077_1.c c51c424cae679b65a2dc52ea3ddc96d9 gcc/testsuite/gcc.dg/lto/pr88297_0.c 14664c531ea727ce3e6cd733560c6895 gcc/testsuite/gcc.dg/lto/pr88297_1.c *************** f1072dd0acb0f7d06b0b1ef593b7b1cc gcc/te *** 43791,43802 **** 08d8bf606d2349825433d688bb7b8259 gcc/testsuite/gcc.dg/pic-4.c 1310eec5a596f6f3f1034c18543936a3 gcc/testsuite/gcc.dg/pic-macro-define.c de302da8d7737a4e96d474e241080339 gcc/testsuite/gcc.dg/pie-1.c ! e85ed22735e235dc5a9457487286d6f0 gcc/testsuite/gcc.dg/pie-2.c a1104a3ff24cf683d1a597e325c9f573 gcc/testsuite/gcc.dg/pie-3.c d9f2439f176b4f73afa0c30baa468855 gcc/testsuite/gcc.dg/pie-4.c 17f4008aaadc7db4f869e804d77d753a gcc/testsuite/gcc.dg/pie-5.c 0debd1544970fb56a2a4a7828bb92d07 gcc/testsuite/gcc.dg/pie-6.c ! df1fb04645820cce9159c1b05e520fc7 gcc/testsuite/gcc.dg/pie-7.c 72712f41dcc921ba1827000fc0809a9c gcc/testsuite/gcc.dg/pie-link.c 000d3a6c8dca7e54f5be771190d10f29 gcc/testsuite/gcc.dg/pie-static-1.c be052bceddbf752586b645bc9e048e9c gcc/testsuite/gcc.dg/pie-static-2.c --- 43960,43971 ---- 08d8bf606d2349825433d688bb7b8259 gcc/testsuite/gcc.dg/pic-4.c 1310eec5a596f6f3f1034c18543936a3 gcc/testsuite/gcc.dg/pic-macro-define.c de302da8d7737a4e96d474e241080339 gcc/testsuite/gcc.dg/pie-1.c ! d3b785ef540cb4e67cd67fada4080a39 gcc/testsuite/gcc.dg/pie-2.c a1104a3ff24cf683d1a597e325c9f573 gcc/testsuite/gcc.dg/pie-3.c d9f2439f176b4f73afa0c30baa468855 gcc/testsuite/gcc.dg/pie-4.c 17f4008aaadc7db4f869e804d77d753a gcc/testsuite/gcc.dg/pie-5.c 0debd1544970fb56a2a4a7828bb92d07 gcc/testsuite/gcc.dg/pie-6.c ! 2db756126636737e343b6e63f0f96fcb gcc/testsuite/gcc.dg/pie-7.c 72712f41dcc921ba1827000fc0809a9c gcc/testsuite/gcc.dg/pie-link.c 000d3a6c8dca7e54f5be771190d10f29 gcc/testsuite/gcc.dg/pie-static-1.c be052bceddbf752586b645bc9e048e9c gcc/testsuite/gcc.dg/pie-static-2.c *************** b05ae8584845daeb59ab2a2d859880ad gcc/te *** 43872,43877 **** --- 44041,44047 ---- 1bf6e41b018b4dbc083435bfec8eca81 gcc/testsuite/gcc.dg/plugin/infoleak-antipatterns-1.c f22c386d32e16704e73e0ad284bf1ad1 gcc/testsuite/gcc.dg/plugin/infoleak-fixit-1.c 02ffae050507325cf99ff537048a6e3c gcc/testsuite/gcc.dg/plugin/infoleak-net-ethtool-ioctl.c + 943dd958fccd6601ad0d896830982ad8 gcc/testsuite/gcc.dg/plugin/infoleak-pr112969.c 1a2a9877b17c3ce0a16c15c88640cc64 gcc/testsuite/gcc.dg/plugin/infoleak-vfio_iommu_type1.c 4644aff4e3d9b41ef0b44eb441b3e574 gcc/testsuite/gcc.dg/plugin/known-fns-1.c d3e84ae842f69911a3ac0ceb96542627 gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c *************** de7a6b85ff1667e6ef4b89117e774f2d gcc/te *** 43886,43892 **** 4905199fc259967af414db22821f7f74 gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.c adbc6d60d6e1474ca93af3b50208e741 gcc/testsuite/gcc.dg/plugin/one_time-test-1.c 91500c30c78de7048ecb72b86a431e80 gcc/testsuite/gcc.dg/plugin/one_time_plugin.c ! 542804f26bfc1222c71283cbfe874800 gcc/testsuite/gcc.dg/plugin/plugin.exp 10b87cc378ff8b6e30ae77af8c669e4b gcc/testsuite/gcc.dg/plugin/plugindir1.c 770fbe5bf2a65884c6120dab4b13a1d4 gcc/testsuite/gcc.dg/plugin/plugindir2.c 5be673fb13573d3689c3cc3dff9f5a2e gcc/testsuite/gcc.dg/plugin/plugindir3.c --- 44056,44062 ---- 4905199fc259967af414db22821f7f74 gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.c adbc6d60d6e1474ca93af3b50208e741 gcc/testsuite/gcc.dg/plugin/one_time-test-1.c 91500c30c78de7048ecb72b86a431e80 gcc/testsuite/gcc.dg/plugin/one_time_plugin.c ! 446e3798efe569b44c5019207df92ea1 gcc/testsuite/gcc.dg/plugin/plugin.exp 10b87cc378ff8b6e30ae77af8c669e4b gcc/testsuite/gcc.dg/plugin/plugindir1.c 770fbe5bf2a65884c6120dab4b13a1d4 gcc/testsuite/gcc.dg/plugin/plugindir2.c 5be673fb13573d3689c3cc3dff9f5a2e gcc/testsuite/gcc.dg/plugin/plugindir3.c *************** cfa158c5ec1ec68947ea7cf84ebac9f7 gcc/te *** 44120,44125 **** --- 44290,44296 ---- 6c079381fc5bea8ba966068e353963c8 gcc/testsuite/gcc.dg/pr105455.c 70752dbf95282e3e1682d161dec96c60 gcc/testsuite/gcc.dg/pr105458.c 8f69648258c8f27361e18186db792348 gcc/testsuite/gcc.dg/pr105461.c + bfec3f2610558e315de99d8027586521 gcc/testsuite/gcc.dg/pr105522.c bd694253207b0e4d0a25d5c16b288b5c gcc/testsuite/gcc.dg/pr105528.c c1c400df202083158ced44d2e89c6c0b gcc/testsuite/gcc.dg/pr105591.c 9e6c2e731a3d7f363d04d35feadca314 gcc/testsuite/gcc.dg/pr105597.c *************** ebccf814e2974ae2d3fef79375fc2a74 gcc/te *** 44167,44172 **** --- 44338,44344 ---- 9ab2aff363e0823d9616d81769d4729d gcc/testsuite/gcc.dg/pr107131.c c16717b833d5db5a9a8e0b0649ed37bf gcc/testsuite/gcc.dg/pr107262.c 4f0d5b8c78199ceef742ba745999898c gcc/testsuite/gcc.dg/pr107300.c + 82f2765c862f6e67c3558ee7cde994d8 gcc/testsuite/gcc.dg/pr107385.c 0215d2ef3b9000a72563a0a5de550edf gcc/testsuite/gcc.dg/pr107389.c e93299ab13ea49e64f3354c006946b72 gcc/testsuite/gcc.dg/pr107505.c 5ad9ea4546fd246fa3030e31b6e8525c gcc/testsuite/gcc.dg/pr107523.c *************** c84c4385dc7b913c1ab044bf620d7696 gcc/te *** 44236,44243 **** --- 44408,44440 ---- 3399ef12e5625e30f72a928ee7afca74 gcc/testsuite/gcc.dg/pr109412.c 86a351ab8a6255c1c7e39f673dcac916 gcc/testsuite/gcc.dg/pr109417.c 761ec38d2e9b593ffd05c4d7af63acfb gcc/testsuite/gcc.dg/pr109583.c + f71ef2b2bdb0cce06fa1243f4928e871 gcc/testsuite/gcc.dg/pr110079.c c63f42682a97d6307d214dda47bb00f9 gcc/testsuite/gcc.dg/pr110731.c + f51a9b458f6acfae6b798994c6f8ead3 gcc/testsuite/gcc.dg/pr110755.c + 7aeeff98686427c2e25aa1b7bb60b7f6 gcc/testsuite/gcc.dg/pr111009.c + 5328040ceef0db656025d09af496f06a gcc/testsuite/gcc.dg/pr111015.c + 475fe022000816b6e696beebf8f5bc37 gcc/testsuite/gcc.dg/pr111039.c + f09a78bba4729691ffb28aad69085816 gcc/testsuite/gcc.dg/pr111070.c + 8a45dfbe070c48845446dc22aab1602b gcc/testsuite/gcc.dg/pr111407.c + 010daf0af0cc91370932a98cc477bc7f gcc/testsuite/gcc.dg/pr111683-1.c + 4f842151b1830fe13f002a8c7d0757c0 gcc/testsuite/gcc.dg/pr111683-2.c + 2e6f2b717172ebff161876d80e0a1ba0 gcc/testsuite/gcc.dg/pr111694.c + 125e2db90bf11679dc30f0d8d1612fd6 gcc/testsuite/gcc.dg/pr112618.c + f97f1cf6ac420452092fc3fba4203574 gcc/testsuite/gcc.dg/pr112733.c + e5517dc2a2e07c9b2472bb545cd5a722 gcc/testsuite/gcc.dg/pr112837.c + 6b73a8d375ddff23d86f9f1c9377f381 gcc/testsuite/gcc.dg/pr112845.c + 68812a8a18bdcb8c9b56b83823f8a853 gcc/testsuite/gcc.dg/pr113013.c + da36c4c045a6839485d1209b636f2fa6 gcc/testsuite/gcc.dg/pr113262.c + e68a7c7f2d1db31e0e0e0a23960975a7 gcc/testsuite/gcc.dg/pr113907-1.c + b200221e1cccaf2dc905de01fccdb601 gcc/testsuite/gcc.dg/pr114090.c + 12ecf3bc0aab66a39903f50c4a6dfc66 gcc/testsuite/gcc.dg/pr114115.c + 5f50cdb1b2a60a511ba8bff25319527f gcc/testsuite/gcc.dg/pr114211.c + 7cd5609790e8cb3ba4ad54ccf122a48a gcc/testsuite/gcc.dg/pr114310.c 860f163dcd0b252ea3f85323bc959a7d gcc/testsuite/gcc.dg/pr11459-1.c + 18db873e30d811e6904623797ead2825 gcc/testsuite/gcc.dg/pr114753.c + 278b6ea6998e142ef9ecea8b30a97701 gcc/testsuite/gcc.dg/pr114768.c + 86c7b688b3835d3cdb63a61f64b1ae73 gcc/testsuite/gcc.dg/pr114876.c + fa53e159fc414cd332dc23393a95dabf gcc/testsuite/gcc.dg/pr114907.c e164a736918661d669864e3645da290c gcc/testsuite/gcc.dg/pr11492.c 3b83403729a3686d25552352bf0c4577 gcc/testsuite/gcc.dg/pr11864-1.c bc5ddfbbc46f4e0cce1629d1b58d3090 gcc/testsuite/gcc.dg/pr12603.c *************** bb5fccf7a55d79a7791b33fabe4c113e gcc/te *** 45158,45164 **** f06d51365d517484132cde7cdec349d9 gcc/testsuite/gcc.dg/pr56727-2.c b93ca323776283280bb9a60242ee3b5c gcc/testsuite/gcc.dg/pr56809.c c190644fa957e1a9b70d4a1173fb83f8 gcc/testsuite/gcc.dg/pr56824.c ! 4f0e0f47263f76400e1e9e51ba922fc5 gcc/testsuite/gcc.dg/pr56837.c f26f8c6b2b3adcb38915f56973447282 gcc/testsuite/gcc.dg/pr56847.c df4b816776f2c4e40c56112e07abeeca gcc/testsuite/gcc.dg/pr56890-1.c 8fe731c15e241e6c041ba662739f3d48 gcc/testsuite/gcc.dg/pr56890-2.c --- 45355,45361 ---- f06d51365d517484132cde7cdec349d9 gcc/testsuite/gcc.dg/pr56727-2.c b93ca323776283280bb9a60242ee3b5c gcc/testsuite/gcc.dg/pr56809.c c190644fa957e1a9b70d4a1173fb83f8 gcc/testsuite/gcc.dg/pr56824.c ! 91d819e653b4d46ff4a7d8d59dfbd578 gcc/testsuite/gcc.dg/pr56837.c f26f8c6b2b3adcb38915f56973447282 gcc/testsuite/gcc.dg/pr56847.c df4b816776f2c4e40c56112e07abeeca gcc/testsuite/gcc.dg/pr56890-1.c 8fe731c15e241e6c041ba662739f3d48 gcc/testsuite/gcc.dg/pr56890-2.c *************** b09000e6104e19c4d2e2e0550272c280 gcc/te *** 45744,45750 **** 8785ee78f0ecce2b7ef647d29d90cf54 gcc/testsuite/gcc.dg/pr83373.c 64ee6bfa410f7c1d30c3d7f63402433b gcc/testsuite/gcc.dg/pr83393.c a6e9e544df8c1540a5957852a45004e8 gcc/testsuite/gcc.dg/pr83396.c ! 4f297789c555b06acff0f263a2de4380 gcc/testsuite/gcc.dg/pr83415.c ff149ef447478fe287d21948bf94820b gcc/testsuite/gcc.dg/pr83419.c d1d24788f9c8caf0192fc3807eb41608 gcc/testsuite/gcc.dg/pr83422.c 4cfcf9fb49e0c6531f60ce19ff899760 gcc/testsuite/gcc.dg/pr83424.c --- 45941,45947 ---- 8785ee78f0ecce2b7ef647d29d90cf54 gcc/testsuite/gcc.dg/pr83373.c 64ee6bfa410f7c1d30c3d7f63402433b gcc/testsuite/gcc.dg/pr83393.c a6e9e544df8c1540a5957852a45004e8 gcc/testsuite/gcc.dg/pr83396.c ! bed17f1377941c87cc77ed606717aeaa gcc/testsuite/gcc.dg/pr83415.c ff149ef447478fe287d21948bf94820b gcc/testsuite/gcc.dg/pr83419.c d1d24788f9c8caf0192fc3807eb41608 gcc/testsuite/gcc.dg/pr83422.c 4cfcf9fb49e0c6531f60ce19ff899760 gcc/testsuite/gcc.dg/pr83424.c *************** e7055b12b2da73125c471ef6e21aec3d gcc/te *** 46381,46386 **** --- 46578,46584 ---- b401e32d0fdcef56538c60685124c8d6 gcc/testsuite/gcc.dg/rtl/aarch64/big-endian-cse-1.c a1925ccc0f69537c243f239b703bd7e1 gcc/testsuite/gcc.dg/rtl/aarch64/missed-pass-error.c c101dc190e024f7cd8e13d412510c399 gcc/testsuite/gcc.dg/rtl/aarch64/multi-subreg-1.c + 1ba71d3525a92b2cd35acab9a03c063e gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c 82921214d686f1804813b91947084109 gcc/testsuite/gcc.dg/rtl/aarch64/pr71779.c 043d0b0c264990e6e6ac1f2827823f1b gcc/testsuite/gcc.dg/rtl/aarch64/rtl-handle-column-numbers.c 770cae6014d989d238db251906e1d55c gcc/testsuite/gcc.dg/rtl/aarch64/subs_adds_sp.c *************** fc94c5cf1382c5cc791f1e082f1bc93b gcc/te *** 46655,46661 **** 4bb868e2d5ae5ad0f471895fe036ce9d gcc/testsuite/gcc.dg/sso/u5.c 6a94b217dd2dc52bd804b559734d7d6d gcc/testsuite/gcc.dg/sso/u6.c aadb80509f82b46b30f6e6764a2e2dd1 gcc/testsuite/gcc.dg/ssp-1.c ! 298fe2c4a920a1453489cedaeaa98ff3 gcc/testsuite/gcc.dg/ssp-2.c b764f892e6c6f673878a4e8da208c16b gcc/testsuite/gcc.dg/ssp-3.c 5843aab6624989ad947aa1f77c816bce gcc/testsuite/gcc.dg/ssp-4.c 70e6f2a4c4d5735002d0b1f7dd18ddd2 gcc/testsuite/gcc.dg/stack-check-10.c --- 46853,46859 ---- 4bb868e2d5ae5ad0f471895fe036ce9d gcc/testsuite/gcc.dg/sso/u5.c 6a94b217dd2dc52bd804b559734d7d6d gcc/testsuite/gcc.dg/sso/u6.c aadb80509f82b46b30f6e6764a2e2dd1 gcc/testsuite/gcc.dg/ssp-1.c ! 07c428d62b7171c3d051c3770f57156c gcc/testsuite/gcc.dg/ssp-2.c b764f892e6c6f673878a4e8da208c16b gcc/testsuite/gcc.dg/ssp-3.c 5843aab6624989ad947aa1f77c816bce gcc/testsuite/gcc.dg/ssp-4.c 70e6f2a4c4d5735002d0b1f7dd18ddd2 gcc/testsuite/gcc.dg/stack-check-10.c *************** eeac37698d62ac42c407cf7ffdab1b4a gcc/te *** 47436,47445 **** --- 47634,47666 ---- ef2b84dc0bce27c12bd12e27c33dd806 gcc/testsuite/gcc.dg/torture/pr109564-2.c 72f322a0e5d8096eb7fa42e2d8fabe7d gcc/testsuite/gcc.dg/torture/pr109585.c f5aad1409cbbb9e3039cb7da55080bc6 gcc/testsuite/gcc.dg/torture/pr109609.c + c68e0fca588779377278aa9e84380d07 gcc/testsuite/gcc.dg/torture/pr110176.c 0c0edd5cb473e3baec880eabda166963 gcc/testsuite/gcc.dg/torture/pr110228.c 2c65ac9bb8c6b6218eb71392ab387879 gcc/testsuite/gcc.dg/torture/pr110298.c + eeafa444e951227833c10234733ef66d gcc/testsuite/gcc.dg/torture/pr110422.c 7df804d5efde0457098ad2b86b9a7447 gcc/testsuite/gcc.dg/torture/pr110556.c aaecc5ca23f58b7071a57eaa96693127 gcc/testsuite/gcc.dg/torture/pr110669.c + 39a13c5ef6e1f4f1fb97ea3cdca7f2f7 gcc/testsuite/gcc.dg/torture/pr110702.c + adcee8c1e5b1ea90af01ed3ee2f5548f gcc/testsuite/gcc.dg/torture/pr110766.c + fd4292c0fcabd728ea0a1a6dbef87843 gcc/testsuite/gcc.dg/torture/pr110799.c + a5aabe56aa9f2db146fb1185eabbfacb gcc/testsuite/gcc.dg/torture/pr111137.c + 880ef8f569f8ceaf9a94d105c12a8f97 gcc/testsuite/gcc.dg/torture/pr111445.c + 6b2965d4ac5485c88aa22c20791498bd gcc/testsuite/gcc.dg/torture/pr111519.c + 9ac3aab221fd38c4d0dda7ec4429c95d gcc/testsuite/gcc.dg/torture/pr111614.c + 404440fd3b4aac03198b518a7e9c5268 gcc/testsuite/gcc.dg/torture/pr111815.c + e289e3514153e0ffe8b5b086904f40c4 gcc/testsuite/gcc.dg/torture/pr111818.c + 5a3dd17b41272920e3804d1b42cba87e gcc/testsuite/gcc.dg/torture/pr111917.c + 1e5a5be4efef1ee222e142fcbc25978e gcc/testsuite/gcc.dg/torture/pr112281-1.c + 3acf5c04c64ba9b942f88c4d8bde666c gcc/testsuite/gcc.dg/torture/pr112281-2.c + 0da1b162b4d30cd723409c71ad927d22 gcc/testsuite/gcc.dg/torture/pr112991.c + 8017656920f66e02201f705044be8aa7 gcc/testsuite/gcc.dg/torture/pr113396.c + 45205268a0626647bba2b5a390bc850c gcc/testsuite/gcc.dg/torture/pr113630.c + a9d12e460bc40c21c3c320bc3fc8b4d8 gcc/testsuite/gcc.dg/torture/pr113831.c + fb3073f1c56c1a4f007ba250839854b9 gcc/testsuite/gcc.dg/torture/pr114070.c + e968b8aa93e5a5203a6c7bf6ce0ab2b7 gcc/testsuite/gcc.dg/torture/pr114203.c + edb26d624826c2089120476194daef30 gcc/testsuite/gcc.dg/torture/pr114246.c + 8ebd93b45204d340baa4a9798f5bcd62 gcc/testsuite/gcc.dg/torture/pr114672.c + 2c68830fdc44dbd18e300f9430c6c89f gcc/testsuite/gcc.dg/torture/pr114787.c ded4330fd1cd52783bd9b1761db038ef gcc/testsuite/gcc.dg/torture/pr16104-1.c fc265ee05da2f29f0e92804661cd1f28 gcc/testsuite/gcc.dg/torture/pr17526.c 01c583edb41b632b835aa892b9c1cb14 gcc/testsuite/gcc.dg/torture/pr17933-1.c *************** fc343ac4dddc2387803c4581508bd355 gcc/te *** 48908,48914 **** 25a22ef7e096aa5c4a5ec323a10eb1ee gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-7.c 3f1747c36bfe6b3fd2235e695edcaa02 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-8.c 1d89c967b03259c101cc6401b07d1648 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-9.c ! d2a6a7bf2644a7942988c7239b51410f gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c d0e4c342e2ad48131871ec279be2f9c3 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-10.c 75bb54d18f7c1eeb0e52d94f6f0e0a2d gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-11.c c7f97a6e2a77945ebe161e237b31e840 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-12.c --- 49129,49135 ---- 25a22ef7e096aa5c4a5ec323a10eb1ee gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-7.c 3f1747c36bfe6b3fd2235e695edcaa02 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-8.c 1d89c967b03259c101cc6401b07d1648 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-9.c ! 5489a7071de3715549debe15cc684b48 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c d0e4c342e2ad48131871ec279be2f9c3 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-10.c 75bb54d18f7c1eeb0e52d94f6f0e0a2d gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-11.c c7f97a6e2a77945ebe161e237b31e840 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-12.c *************** ba0f756770b2c8c27b5698876e3038d6 gcc/te *** 49502,49507 **** --- 49723,49732 ---- 486e83eb732ae374266e81bf0ad91d4c gcc/testsuite/gcc.dg/tree-ssa/pr108684-1.c 9a57b932241f72e62ecf6645de5034e9 gcc/testsuite/gcc.dg/tree-ssa/pr109031-1.c 3e53d598753ed4660dbeb6be7795b42e gcc/testsuite/gcc.dg/tree-ssa/pr109031-2.c + c6848ef9d4a9873e77016b18db0eef64 gcc/testsuite/gcc.dg/tree-ssa/pr111583-1.c + 96d52de11a445b7c87980804cd19320b gcc/testsuite/gcc.dg/tree-ssa/pr111583-2.c + 30191e7f04d08f0b42092e36965a3c63 gcc/testsuite/gcc.dg/tree-ssa/pr111967.c + 91ab942db3d3d13291ae97a65be94e36 gcc/testsuite/gcc.dg/tree-ssa/pr113993.c 78e6c5fe63f7305009c8a79840fe20dc gcc/testsuite/gcc.dg/tree-ssa/pr13146.c eab19e0c04884cd782c9879cbe292109 gcc/testsuite/gcc.dg/tree-ssa/pr14341.c 9945ed7002a5f7d4918e8ff5eb4cb647 gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c *************** bb62f82a973334db1c0ebf75b17bcdf8 gcc/te *** 50819,50824 **** --- 51044,51050 ---- 22eb0b8eeae794a6956326b2c9383fb2 gcc/testsuite/gcc.dg/trunc-1.c 0986037c6e0724a89f8308100f3f920f gcc/testsuite/gcc.dg/tsan/atomic-fence.c c0761616b56e6c13ccfbf05810c3ad42 gcc/testsuite/gcc.dg/tsan/pr106984.c + 93c01dbb8a77851bfbe99fc7c806d056 gcc/testsuite/gcc.dg/tsan/pr111736.c 66723ae098123069493e416708ef5146 gcc/testsuite/gcc.dg/tsan/pr88017.c dcc8ff133faffd3fe561dfe431569a07 gcc/testsuite/gcc.dg/tsan/pr88030.c de40a1e950c75128048b75517e728603 gcc/testsuite/gcc.dg/tsan/pr90208-1.c *************** dc95648d25ed66b53703856ca8bf9c89 gcc/te *** 50874,50879 **** --- 51100,51109 ---- cefdc2a9eb13f2095c81dff3665fcbe2 gcc/testsuite/gcc.dg/ubsan/pr107183.c 50f54783636f7e63e2f5702bfd228de0 gcc/testsuite/gcc.dg/ubsan/pr107668.c 4111deb3a8958abcc5c35e4fb6d09931 gcc/testsuite/gcc.dg/ubsan/pr108995.c + 3d891ede9caa6aed55954898e1974cef gcc/testsuite/gcc.dg/ubsan/pr111736.c + 5ecc4a818796a17622dbe25b368725ec gcc/testsuite/gcc.dg/ubsan/pr112709-1.c + f7352e346071f20c88b4cda3aefaf007 gcc/testsuite/gcc.dg/ubsan/pr112709-2.c + 9d35f4aafed7065254d5bcbd8e4b3469 gcc/testsuite/gcc.dg/ubsan/pr113012.c 8b53119c2975ba4eb7e0a8a3f21049bc gcc/testsuite/gcc.dg/ubsan/pr63690.c 7a3b89a11b570c0d6817707c745a9fba gcc/testsuite/gcc.dg/ubsan/pr67279.c c9a455b03d901e306e1836d50e9e37d6 gcc/testsuite/gcc.dg/ubsan/pr67662.c *************** e2b774abf8d7e4cc810bee5ab597c4cc gcc/te *** 51012,51017 **** --- 51242,51249 ---- d302509e7e4d06b47b78ba3214c7fc0e gcc/testsuite/gcc.dg/uninit-pr106881.c bb6370e51fdfc71eb406f2d9d7e1f004 gcc/testsuite/gcc.dg/uninit-pr107839.c 10779a14525372affcb25a7e7209e309 gcc/testsuite/gcc.dg/uninit-pr108547.c + a0d21e844c69e57b42877341fb99cf0d gcc/testsuite/gcc.dg/uninit-pr111397.c + 499c474f28073285766d0bb22cfa9e09 gcc/testsuite/gcc.dg/uninit-pr111489.c 58c1fce493b489aff04e0b2f66635e90 gcc/testsuite/gcc.dg/uninit-pr19430-2.c 79f653fd913dfd35f07e5b3890168e74 gcc/testsuite/gcc.dg/uninit-pr19430-O0.c 0ba39e72d317abfcfd3703541b7f8a41 gcc/testsuite/gcc.dg/uninit-pr19430.c *************** c8ed8e9e4250f08b918c56bfef4b7a7f gcc/te *** 51264,51270 **** 0e8f57e36bc8448e80035b833a363fe7 gcc/testsuite/gcc.dg/vect/bb-slp-layout-16.c 43e9ffb9410d050942d09e445ee46ffa gcc/testsuite/gcc.dg/vect/bb-slp-layout-17.c 3afdb69243343b45ef93e502063ebf7e gcc/testsuite/gcc.dg/vect/bb-slp-layout-18.c ! cb45a80ec54e79ec32e9eb3b3ab3ff58 gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c 55c6129299ee94434b97edc3312d1563 gcc/testsuite/gcc.dg/vect/bb-slp-layout-2.c 9e1acf425f12a0a63d6844e356ebdb18 gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c d14dd3c8c51616e1a7455ce0faa962c7 gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c --- 51496,51502 ---- 0e8f57e36bc8448e80035b833a363fe7 gcc/testsuite/gcc.dg/vect/bb-slp-layout-16.c 43e9ffb9410d050942d09e445ee46ffa gcc/testsuite/gcc.dg/vect/bb-slp-layout-17.c 3afdb69243343b45ef93e502063ebf7e gcc/testsuite/gcc.dg/vect/bb-slp-layout-18.c ! f5ab06f78f896f3a5f8c5603e80a4eb5 gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c 55c6129299ee94434b97edc3312d1563 gcc/testsuite/gcc.dg/vect/bb-slp-layout-2.c 9e1acf425f12a0a63d6844e356ebdb18 gcc/testsuite/gcc.dg/vect/bb-slp-layout-20.c d14dd3c8c51616e1a7455ce0faa962c7 gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c *************** cf1f520661c5242475d0a36f640664dd gcc/te *** 51291,51296 **** --- 51523,51529 ---- 5295b6a2a7e93bc6dfe10ebdd01406b8 gcc/testsuite/gcc.dg/vect/bb-slp-pr103800.c be86bc81622216478087ebb0eb3b5c80 gcc/testsuite/gcc.dg/vect/bb-slp-pr104240.c 272eb771300120bc0b0190d7c82879d6 gcc/testsuite/gcc.dg/vect/bb-slp-pr106019.c + 70f6ab93795e7362efbb766199500951 gcc/testsuite/gcc.dg/vect/bb-slp-pr114799.c 3fdbb9f95d28ae07799a0c2627ff805d gcc/testsuite/gcc.dg/vect/bb-slp-pr54400.c 5472e7bf338627077f4e6ce8cce9944e gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c 416b7cfbbbbca3664b53c4942dfd6f6d gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c *************** e131976da53307331b69c03e9c64cc4a gcc/te *** 51603,51608 **** --- 51836,51848 ---- bce13fdf2ea61a0bc1886470eed1bf60 gcc/testsuite/gcc.dg/vect/pr109473.c aa0a603e6aee5b8a3fd3463354c9bf10 gcc/testsuite/gcc.dg/vect/pr109502.c 61caac1f4435045879dd40b08cc7fcec gcc/testsuite/gcc.dg/vect/pr110381.c + 6fe7a9f8a10f6b62e25fc4c1fa96deff gcc/testsuite/gcc.dg/vect/pr111764.c + 9386a649786af115ac3366d153cb1ece gcc/testsuite/gcc.dg/vect/pr111882.c + 769cf4bfcb97c43ac962799ae8d222c5 gcc/testsuite/gcc.dg/vect/pr112505.c + f2ad143cd940fa42deda153f442d29b2 gcc/testsuite/gcc.dg/vect/pr114027.c + ae8b389a68778f9cfdd3436253d31b14 gcc/testsuite/gcc.dg/vect/pr114231.c + 0079bcebbbf82f5487b36b4f2e1532ef gcc/testsuite/gcc.dg/vect/pr114485.c + c0f0ed71d5889d42079442a4cdca8181 gcc/testsuite/gcc.dg/vect/pr114733.c 42d48d2ecd5682545b12ac42f879a831 gcc/testsuite/gcc.dg/vect/pr16105.c 231c99dba9475fe09525bbf6f4374124 gcc/testsuite/gcc.dg/vect/pr18308.c 3aed50f38aa86c4915d6e4b3cef91287 gcc/testsuite/gcc.dg/vect/pr18400.c *************** d1b21b9400153596e0d058bf048e9911 gcc/te *** 52104,52110 **** 3581110ad2b3af27f54b41f9364c1e14 gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c c98bf5e8cdb13d002ce5b474539328d2 gcc/testsuite/gcc.dg/vect/tree-vect.h e89cc050a04f95cc194e9469aa72808f gcc/testsuite/gcc.dg/vect/tsvc/license.txt ! a7d3e97da65f4dfe42449b901cf9215b gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h 9f6419b4c50931a4103f67c8213f8a60 gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s000.c f17c1a09c018fb8c535cbda72ebac53e gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s111.c 2173284143ca43e8bbe2dce3ebb0db1a gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s1111.c --- 52344,52350 ---- 3581110ad2b3af27f54b41f9364c1e14 gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c c98bf5e8cdb13d002ce5b474539328d2 gcc/testsuite/gcc.dg/vect/tree-vect.h e89cc050a04f95cc194e9469aa72808f gcc/testsuite/gcc.dg/vect/tsvc/license.txt ! 363cb209ee5d9f032eaef1783bf32df0 gcc/testsuite/gcc.dg/vect/tsvc/tsvc.h 9f6419b4c50931a4103f67c8213f8a60 gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s000.c f17c1a09c018fb8c535cbda72ebac53e gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s111.c 2173284143ca43e8bbe2dce3ebb0db1a gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s1111.c *************** c38511a26575a66a65ddd31d3bc229da gcc/te *** 52717,52722 **** --- 52957,52963 ---- 0a0e7b7396e78408cb66cc38d9e15cd1 gcc/testsuite/gcc.dg/vect/vect-peel-4-epilogue.c dce179d9539fcb48637e8e9c102da26c gcc/testsuite/gcc.dg/vect/vect-peel-4-src.c 39723945c19c26c57adf66d889eabb98 gcc/testsuite/gcc.dg/vect/vect-peel-4.c + 94bda84899e2683692deba382167aa8e gcc/testsuite/gcc.dg/vect/vect-pr114375.c 4d57df9e3b3522c9f1a6707c05f1da45 gcc/testsuite/gcc.dg/vect/vect-pr69848.c 3a3a316ff2f2496494ecb0bd77d61aad gcc/testsuite/gcc.dg/vect/vect-pre-interact.c bcf8d4d938304b75cfe5af73ef6b191b gcc/testsuite/gcc.dg/vect/vect-profile-1.c *************** c400cc0e03e4317110d582fdba04ace0 gcc/te *** 53267,53279 **** 0c8ac613f2d2a35706fd7c8b7b16a1a9 gcc/testsuite/gcc.misc-tests/gcov-11.c eee8f00567cf54ebbed65a4f71c7d314 gcc/testsuite/gcc.misc-tests/gcov-12.c 1aac355a176cb811b951b73ea58ef6c7 gcc/testsuite/gcc.misc-tests/gcov-13.c ! 91c5005b1b38df67c1f35c1fa5ed34b7 gcc/testsuite/gcc.misc-tests/gcov-14.c a7fcf55fbb07ad31be551305d543313e gcc/testsuite/gcc.misc-tests/gcov-15.c a19cb340410a6420dbacef02fec4bcd8 gcc/testsuite/gcc.misc-tests/gcov-16.c 90ae2485842728f278e979faa45ad805 gcc/testsuite/gcc.misc-tests/gcov-17.c 70c6f6b4d1974332d8e93bc9a3457028 gcc/testsuite/gcc.misc-tests/gcov-18.c 26d3ee0bab7bc8a86b5239d64728101d gcc/testsuite/gcc.misc-tests/gcov-1a.c 7a8ab4c1f62f1462575863cae613404b gcc/testsuite/gcc.misc-tests/gcov-2.c c71219d95b56b360f999cbe8dd8b9109 gcc/testsuite/gcc.misc-tests/gcov-3.c 5031c27c248f452d2706615b860fc3f3 gcc/testsuite/gcc.misc-tests/gcov-4.c 7d9bedbf8aa7d7ba724d6149406ba528 gcc/testsuite/gcc.misc-tests/gcov-4b.c --- 53508,53521 ---- 0c8ac613f2d2a35706fd7c8b7b16a1a9 gcc/testsuite/gcc.misc-tests/gcov-11.c eee8f00567cf54ebbed65a4f71c7d314 gcc/testsuite/gcc.misc-tests/gcov-12.c 1aac355a176cb811b951b73ea58ef6c7 gcc/testsuite/gcc.misc-tests/gcov-13.c ! a95cd74daf7751d37ad0e80b754f3ef8 gcc/testsuite/gcc.misc-tests/gcov-14.c a7fcf55fbb07ad31be551305d543313e gcc/testsuite/gcc.misc-tests/gcov-15.c a19cb340410a6420dbacef02fec4bcd8 gcc/testsuite/gcc.misc-tests/gcov-16.c 90ae2485842728f278e979faa45ad805 gcc/testsuite/gcc.misc-tests/gcov-17.c 70c6f6b4d1974332d8e93bc9a3457028 gcc/testsuite/gcc.misc-tests/gcov-18.c 26d3ee0bab7bc8a86b5239d64728101d gcc/testsuite/gcc.misc-tests/gcov-1a.c 7a8ab4c1f62f1462575863cae613404b gcc/testsuite/gcc.misc-tests/gcov-2.c + 632a8cbb04146bcb82659d2a9419f3cd gcc/testsuite/gcc.misc-tests/gcov-24.c c71219d95b56b360f999cbe8dd8b9109 gcc/testsuite/gcc.misc-tests/gcov-3.c 5031c27c248f452d2706615b860fc3f3 gcc/testsuite/gcc.misc-tests/gcov-4.c 7d9bedbf8aa7d7ba724d6149406ba528 gcc/testsuite/gcc.misc-tests/gcov-4b.c *************** b45579fdac6008721502ddecb5df29d8 gcc/te *** 53312,53318 **** 92659b9776e29c1afd5a8d7925e58798 gcc/testsuite/gcc.misc-tests/mg-2.exp fb7a4e029ce05eea8ba0f03f9033caa2 gcc/testsuite/gcc.misc-tests/mg.c 93ec1896f85ca8262070fca6ea519197 gcc/testsuite/gcc.misc-tests/mg.exp ! fa03e2d2bac3733688489904e8bcfe65 gcc/testsuite/gcc.misc-tests/options.exp d8ce66444739ddb9416e222f7d05151a gcc/testsuite/gcc.misc-tests/output.exp 69d9b561b303bd96e74ea417f73e1ac5 gcc/testsuite/gcc.misc-tests/outputs-0.c 773736389c2fb248099dd6dcee0ddb6b gcc/testsuite/gcc.misc-tests/outputs-1.c --- 53554,53560 ---- 92659b9776e29c1afd5a8d7925e58798 gcc/testsuite/gcc.misc-tests/mg-2.exp fb7a4e029ce05eea8ba0f03f9033caa2 gcc/testsuite/gcc.misc-tests/mg.c 93ec1896f85ca8262070fca6ea519197 gcc/testsuite/gcc.misc-tests/mg.exp ! d3ad0f1d989b05d0e715a3bfd66653a9 gcc/testsuite/gcc.misc-tests/options.exp d8ce66444739ddb9416e222f7d05151a gcc/testsuite/gcc.misc-tests/output.exp 69d9b561b303bd96e74ea417f73e1ac5 gcc/testsuite/gcc.misc-tests/outputs-0.c 773736389c2fb248099dd6dcee0ddb6b gcc/testsuite/gcc.misc-tests/outputs-1.c *************** ccf5175907998c0c871634fd51ca889f gcc/te *** 53482,53488 **** 1c5b2165b1d114daea4683d247a75998 gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b-3.c fa1ccdd20a958a2e7bc98028d2b2a9f0 gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b.c 1ffa16c70b659d0b3a7b52c3c3f51adb gcc/testsuite/gcc.target/aarch64/acle/ls64_ld_st_o0.c ! 9875fbc47f91e6e679897f9e122f5c0a gcc/testsuite/gcc.target/aarch64/acle/ls64_lto.c 16fffb65ffb6236dc8280f6dbd45b120 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b-2.c 97d4553a6c2fe6ee3d781f1d446bcd13 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b.c 75d2799589f92d6d9e81a786b103d9b9 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64bv-2.c --- 53724,53730 ---- 1c5b2165b1d114daea4683d247a75998 gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b-3.c fa1ccdd20a958a2e7bc98028d2b2a9f0 gcc/testsuite/gcc.target/aarch64/acle/ls64_ld64b.c 1ffa16c70b659d0b3a7b52c3c3f51adb gcc/testsuite/gcc.target/aarch64/acle/ls64_ld_st_o0.c ! b266fdbac7924755e5e70677609f129c gcc/testsuite/gcc.target/aarch64/acle/ls64_lto.c 16fffb65ffb6236dc8280f6dbd45b120 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b-2.c 97d4553a6c2fe6ee3d781f1d446bcd13 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64b.c 75d2799589f92d6d9e81a786b103d9b9 gcc/testsuite/gcc.target/aarch64/acle/ls64_st64bv-2.c *************** a9efd5e0ebc228f128308006c2db9c2b gcc/te *** 53494,53504 **** ff3a09d9afde293ac1598cb7530ead9d gcc/testsuite/gcc.target/aarch64/acle/memtag_1.c 722af47b92a99bf8f052eb56ae7c0c5e gcc/testsuite/gcc.target/aarch64/acle/memtag_2.c e2be4748443bb6caa176b86d28972388 gcc/testsuite/gcc.target/aarch64/acle/memtag_3.c 1d797526b5b45f0f4e3526be82bb2af3 gcc/testsuite/gcc.target/aarch64/acle/pauth_def.c 4f75ca7b0d38f756a18d8f9574e56fd4 gcc/testsuite/gcc.target/aarch64/acle/pmull64.c 7891d663249f27cbe3e8c65142207451 gcc/testsuite/gcc.target/aarch64/acle/pr108140.c ! 65e8ac291dbd38bf3de7003fd4621829 gcc/testsuite/gcc.target/aarch64/acle/pr110100.c ! e496c7fdebdf15ca4d829243a7bbfa8f gcc/testsuite/gcc.target/aarch64/acle/pr110132.c 59a572a57e0172b2d647b53aaa71b73b gcc/testsuite/gcc.target/aarch64/acle/rintnzx_1.c 0d5ba16c2924cc1abd60d5f6e84bb892 gcc/testsuite/gcc.target/aarch64/acle/rng_1.c cb84d7d74821259d1a47775dd18c13c8 gcc/testsuite/gcc.target/aarch64/acle/rng_2.c --- 53736,53747 ---- ff3a09d9afde293ac1598cb7530ead9d gcc/testsuite/gcc.target/aarch64/acle/memtag_1.c 722af47b92a99bf8f052eb56ae7c0c5e gcc/testsuite/gcc.target/aarch64/acle/memtag_2.c e2be4748443bb6caa176b86d28972388 gcc/testsuite/gcc.target/aarch64/acle/memtag_3.c + 80e71befec8aee6a1de511bb177d338e gcc/testsuite/gcc.target/aarch64/acle/memtag_4.c 1d797526b5b45f0f4e3526be82bb2af3 gcc/testsuite/gcc.target/aarch64/acle/pauth_def.c 4f75ca7b0d38f756a18d8f9574e56fd4 gcc/testsuite/gcc.target/aarch64/acle/pmull64.c 7891d663249f27cbe3e8c65142207451 gcc/testsuite/gcc.target/aarch64/acle/pr108140.c ! e15fb874d0ae7c74f74b2eb5bd8f8bf3 gcc/testsuite/gcc.target/aarch64/acle/pr110100.c ! 9effc18b2bce4cad72da3e28af5e9e4f gcc/testsuite/gcc.target/aarch64/acle/pr110132.c 59a572a57e0172b2d647b53aaa71b73b gcc/testsuite/gcc.target/aarch64/acle/rintnzx_1.c 0d5ba16c2924cc1abd60d5f6e84bb892 gcc/testsuite/gcc.target/aarch64/acle/rng_1.c cb84d7d74821259d1a47775dd18c13c8 gcc/testsuite/gcc.target/aarch64/acle/rng_2.c *************** da228c5bd8eba6a5793d1df393f9c8d1 gcc/te *** 54477,54483 **** 0bcc3ab641e2e6d78c1c1d5a7daf7a65 gcc/testsuite/gcc.target/aarch64/ldp_stp_q.c 9e522133a644add5316916a419c9e2d7 gcc/testsuite/gcc.target/aarch64/ldp_stp_q_disable.c 2e89613bc3014a7c541e4842fef81025 gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_1.c ! 29215c380dc3c39d0bb516b829dd0503 gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c cc9a9ea2da09d4b15bb44f3466819c58 gcc/testsuite/gcc.target/aarch64/ldp_vec_64_1.c d8fad0a193deddeb2e504f247f0e1721 gcc/testsuite/gcc.target/aarch64/ldp_vec_v2sf.c 1457863fb2c6fad305de6653fab4b7ae gcc/testsuite/gcc.target/aarch64/ldp_vec_v2si.c --- 54720,54726 ---- 0bcc3ab641e2e6d78c1c1d5a7daf7a65 gcc/testsuite/gcc.target/aarch64/ldp_stp_q.c 9e522133a644add5316916a419c9e2d7 gcc/testsuite/gcc.target/aarch64/ldp_stp_q_disable.c 2e89613bc3014a7c541e4842fef81025 gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_1.c ! 51bb10f532df4bc6978cee31e584b6ec gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c cc9a9ea2da09d4b15bb44f3466819c58 gcc/testsuite/gcc.target/aarch64/ldp_vec_64_1.c d8fad0a193deddeb2e504f247f0e1721 gcc/testsuite/gcc.target/aarch64/ldp_vec_v2sf.c 1457863fb2c6fad305de6653fab4b7ae gcc/testsuite/gcc.target/aarch64/ldp_vec_v2si.c *************** cb35ae597b395ee5d00d96a082dfbd6a gcc/te *** 54531,54537 **** 838782f1efd4baefc000469e9fa89394 gcc/testsuite/gcc.target/aarch64/mops_1.c 1a56fe0cba4f9ce878a71c556244fa39 gcc/testsuite/gcc.target/aarch64/mops_2.c 9e207cc04909dc52e63cc6c37858b5e4 gcc/testsuite/gcc.target/aarch64/mops_3.c ! 50151365e68fe7717c740c37be863cc2 gcc/testsuite/gcc.target/aarch64/mops_4.c fd48ccb944d2f2990e98c181bd06ec24 gcc/testsuite/gcc.target/aarch64/mops_5.c 6b6269dcfa6bceb701b7943ad5703be6 gcc/testsuite/gcc.target/aarch64/mops_6.c a3777fac4759dcd3290aa64c1d8c180e gcc/testsuite/gcc.target/aarch64/mops_7.c --- 54774,54780 ---- 838782f1efd4baefc000469e9fa89394 gcc/testsuite/gcc.target/aarch64/mops_1.c 1a56fe0cba4f9ce878a71c556244fa39 gcc/testsuite/gcc.target/aarch64/mops_2.c 9e207cc04909dc52e63cc6c37858b5e4 gcc/testsuite/gcc.target/aarch64/mops_3.c ! 4f70f13ba5254fb500f72a9e35ec9b20 gcc/testsuite/gcc.target/aarch64/mops_4.c fd48ccb944d2f2990e98c181bd06ec24 gcc/testsuite/gcc.target/aarch64/mops_5.c 6b6269dcfa6bceb701b7943ad5703be6 gcc/testsuite/gcc.target/aarch64/mops_6.c a3777fac4759dcd3290aa64c1d8c180e gcc/testsuite/gcc.target/aarch64/mops_7.c *************** face3a8c6631236fedad3dce5526b762 gcc/te *** 54585,54590 **** --- 54828,54834 ---- fb19dd57034e67da13f2a5b22815fcc5 gcc/testsuite/gcc.target/aarch64/no-inline-lrint_1.c 56f1cae94d74d605f3127ff54df58e5e gcc/testsuite/gcc.target/aarch64/no-inline-lrint_2.c 9567b5cb1744b0c5a301604d3a25bbc2 gcc/testsuite/gcc.target/aarch64/no-inline-lrint_3.c + b716a0213aba89c759289668d57ef9cd gcc/testsuite/gcc.target/aarch64/no_merge_trunc_signed_zero.c 13a63494139cde5273b13f2e4eb58493 gcc/testsuite/gcc.target/aarch64/nofp_1.c b0e90aa46397bdde3bb349cc558012c7 gcc/testsuite/gcc.target/aarch64/nofp_2.c 31192c5ad4b7d30f5e3a3f25a5e74741 gcc/testsuite/gcc.target/aarch64/noplt_1.c *************** a7d8042acc2272e21686f52da76e42f1 gcc/te *** 54669,54674 **** --- 54913,54920 ---- c06d3b2030bc06f25071cbc162980592 gcc/testsuite/gcc.target/aarch64/pr109072_1.c 96db4199e6f01de5b5bc5f1e5545c2e2 gcc/testsuite/gcc.target/aarch64/pr109072_2.c c0b04f74adb90213a554c87f602b9139 gcc/testsuite/gcc.target/aarch64/pr109661-1.c + 7506b184bf1ad4df113825935c38bf26 gcc/testsuite/gcc.target/aarch64/pr112787.c + 5c93b32021bd32ca40c9fb5ec6a30f04 gcc/testsuite/gcc.target/aarch64/pr113552.c 9adb42733d9f5e2b1f2dbb364b62100d gcc/testsuite/gcc.target/aarch64/pr37780_1.c e668fb9e0d32efadd671247467dc90db gcc/testsuite/gcc.target/aarch64/pr58460.c 9023f817c07ddec673c5b546525fc184 gcc/testsuite/gcc.target/aarch64/pr60034.c *************** c45bc47433163208f0aec414ada73705 gcc/te *** 54768,54774 **** 18c52a2faa4e83538abeef107e3b4d8a gcc/testsuite/gcc.target/aarch64/pr99873_3.c 5e9a238ae88bfc957497e635ed104144 gcc/testsuite/gcc.target/aarch64/pr99988.c 7647e74954bed1df0b5452c86dc7806b gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c ! dc70336a2a022f10ec27787e628c5113 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_2.c 1802b716a6dff570eaf8df2688efe1dd gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_3.c 823557554938ddb59a20f60c31dc3e22 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c --- 55014,55020 ---- 18c52a2faa4e83538abeef107e3b4d8a gcc/testsuite/gcc.target/aarch64/pr99873_3.c 5e9a238ae88bfc957497e635ed104144 gcc/testsuite/gcc.target/aarch64/pr99988.c 7647e74954bed1df0b5452c86dc7806b gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c ! be30d927e2df67d4fe2786d0d026bbaa gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_2.c 1802b716a6dff570eaf8df2688efe1dd gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_3.c 823557554938ddb59a20f60c31dc3e22 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c *************** b452d4c86751bd11bf03b8ca21d25bf4 gcc/te *** 54817,54826 **** e35638303a0cd435f199e6e2d3d6e7c6 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_2.c 426a463bcea5af95b04b1d22b1bbacc9 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_3.c a363537d70052012f4777fd050c01616 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_4.c ! f98a0bd31791e270aac8fc6102a9e140 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c ! a0d0870973f0fcaae1c5cec0042ef105 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c ! a02965d358c103b08e6c3e285f93010b gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c ! 529e67315e902787ce0d0009ef247545 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c a165f88ed1988f9840bbb02ea02df7de gcc/testsuite/gcc.target/aarch64/shift_and_operator-1.c 8944288dbff8e1e27c9948e6640f93d5 gcc/testsuite/gcc.target/aarch64/shift_wide_invalid_1.c 82788cbb043cb268dfa4db7129b0952a gcc/testsuite/gcc.target/aarch64/shl-combine-2.c --- 55063,55072 ---- e35638303a0cd435f199e6e2d3d6e7c6 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_2.c 426a463bcea5af95b04b1d22b1bbacc9 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_3.c a363537d70052012f4777fd050c01616 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_4.c ! 15ab2e89615616e6256107a14fec5826 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c ! 50727fb397c1155a47819bce866a95bf gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c ! 02194799b94f05acf17b63ab5c06347f gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c ! 18c96dea861729b7500d35a579132122 gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c a165f88ed1988f9840bbb02ea02df7de gcc/testsuite/gcc.target/aarch64/shift_and_operator-1.c 8944288dbff8e1e27c9948e6640f93d5 gcc/testsuite/gcc.target/aarch64/shift_wide_invalid_1.c 82788cbb043cb268dfa4db7129b0952a gcc/testsuite/gcc.target/aarch64/shl-combine-2.c *************** d8cba6fbd72082d21194a1854f6c2dfc gcc/te *** 55282,55288 **** eb612e50dff956594dedc023c01c005d gcc/testsuite/gcc.target/aarch64/simd/vzipu8.x 91d02599c3437c09a7b9841ceadb46bf gcc/testsuite/gcc.target/aarch64/simd/vzipu8_1.c 9ed21057ed9603af458520370acef207 gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-2.c ! a1bb40eab16d5f5dfc6b73cc362bd351 gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c e24e752cdfaae08d96c7ec56c0ef75fd gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute.c 96b414deb2ef664ef0e319c9d099a140 gcc/testsuite/gcc.target/aarch64/singleton_intrinsics_1.c 1720e6906e4df69467a464d77453cbb9 gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c --- 55528,55534 ---- eb612e50dff956594dedc023c01c005d gcc/testsuite/gcc.target/aarch64/simd/vzipu8.x 91d02599c3437c09a7b9841ceadb46bf gcc/testsuite/gcc.target/aarch64/simd/vzipu8_1.c 9ed21057ed9603af458520370acef207 gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-2.c ! d1a781848976d72dd29ad2008392d1ea gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute-3.c e24e752cdfaae08d96c7ec56c0ef75fd gcc/testsuite/gcc.target/aarch64/simd_pcs_attribute.c 96b414deb2ef664ef0e319c9d099a140 gcc/testsuite/gcc.target/aarch64/singleton_intrinsics_1.c 1720e6906e4df69467a464d77453cbb9 gcc/testsuite/gcc.target/aarch64/sisd-shft-neg_1.c *************** ab9816f0fa89b01232ba9f7ffc945eb7 gcc/te *** 55307,55313 **** 629a0fab295e3148bdcbcb6e3dff688f gcc/testsuite/gcc.target/aarch64/ssadv16qi-dotprod.c 88329a328a41e05702fc92b943fbf480 gcc/testsuite/gcc.target/aarch64/ssadv16qi.c 512465aa769914ac35eb1d0a4232a211 gcc/testsuite/gcc.target/aarch64/sshr64_1.c ! af60056026451e6dee0380e795ebc86d gcc/testsuite/gcc.target/aarch64/stack-check-12.c e6c55af3adf3650fb4b27beafb000634 gcc/testsuite/gcc.target/aarch64/stack-check-13.c fac6f931983e67baa339968698f4c2e5 gcc/testsuite/gcc.target/aarch64/stack-check-14.c 609f20baadbd661d2a0f815cf84a41e4 gcc/testsuite/gcc.target/aarch64/stack-check-15.c --- 55553,55559 ---- 629a0fab295e3148bdcbcb6e3dff688f gcc/testsuite/gcc.target/aarch64/ssadv16qi-dotprod.c 88329a328a41e05702fc92b943fbf480 gcc/testsuite/gcc.target/aarch64/ssadv16qi.c 512465aa769914ac35eb1d0a4232a211 gcc/testsuite/gcc.target/aarch64/sshr64_1.c ! 73e2f511da95fb645c83b17b6f51d1e7 gcc/testsuite/gcc.target/aarch64/stack-check-12.c e6c55af3adf3650fb4b27beafb000634 gcc/testsuite/gcc.target/aarch64/stack-check-13.c fac6f931983e67baa339968698f4c2e5 gcc/testsuite/gcc.target/aarch64/stack-check-14.c 609f20baadbd661d2a0f815cf84a41e4 gcc/testsuite/gcc.target/aarch64/stack-check-15.c *************** a39fffcb877f065fdd23dfa57eee91ff gcc/te *** 55327,55346 **** c2a30320545955ae7a4bcbbb006591c0 gcc/testsuite/gcc.target/aarch64/stack-check-cfa-3.c 65bc395ce81a82844cf56c9c527ed62e gcc/testsuite/gcc.target/aarch64/stack-check-prologue-1.c e1809e82f25f94c4d0945a9220fc235e gcc/testsuite/gcc.target/aarch64/stack-check-prologue-10.c ! ee374121d8e3b134daa646b8dc500bd5 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c ! b6d24cc44c0ae841eedac19bb3b71ae7 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c ! 09c97a9c7acb1e945b98e857a57d5d78 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c ! 8ae74d3437f7d43d17cfac17632d942f gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c ! ed8a92c22bb4c356e72a00b75da4bccd gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c f60705b79c18983e5449cb2640888da9 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-16.c ! 7df002241fabdd43166a078456b9af79 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c 4d593b97a712f1c1b227372e57c2b116 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-3.c dbd54994dcdef6b44b1f3378ddd01e83 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-4.c ! 4f9b39e7a10dd2ede8a5c7b35f2e98ff gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c ! b6a86e4539e956f55a82711f45a28e1d gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c db832f8fa7442c0229f0a35d0ea8ff1a gcc/testsuite/gcc.target/aarch64/stack-check-prologue-7.c ! 1c66e19d708f5eddf69f4222a5f56863 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c ! bf1b4163311ce1666bdf27103c7c7f54 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c 6cc96f2ff91ce012328dc2190416bdf3 gcc/testsuite/gcc.target/aarch64/stack-check-prologue.h a45adf8dc3cf3437c984bded22857527 gcc/testsuite/gcc.target/aarch64/stack-checking.c 15daf3ca2e93cf9884e5c8e104e8a765 gcc/testsuite/gcc.target/aarch64/stack-protector-1.c --- 55573,55596 ---- c2a30320545955ae7a4bcbbb006591c0 gcc/testsuite/gcc.target/aarch64/stack-check-cfa-3.c 65bc395ce81a82844cf56c9c527ed62e gcc/testsuite/gcc.target/aarch64/stack-check-prologue-1.c e1809e82f25f94c4d0945a9220fc235e gcc/testsuite/gcc.target/aarch64/stack-check-prologue-10.c ! ea15e4a67a836541f5115dc1a0c34975 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c ! ac3db2399e343bf6aa97e54c57df82ad gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c ! 121164ab67b14b90a8a60c008ddeb606 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c ! 4b3b5b4b9dfbf8ee2d314d73efa96a36 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c ! e996cd8c829a02c64b035caa943ddf85 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c f60705b79c18983e5449cb2640888da9 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-16.c ! 88257f5a4ca972bb5e1bc6a5a4eca89e gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c ! 14d0d8388a620d2cf045430fae29bb5b gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c ! 6ccb0fbe36746268e24f8912f1eabee6 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c ! d7433841ac09c91656c5bb63b8e8a09a gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c ! 3615b928f50ecd37b55bccdd18e7b615 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-20.c 4d593b97a712f1c1b227372e57c2b116 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-3.c dbd54994dcdef6b44b1f3378ddd01e83 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-4.c ! f4a154bf65900f64fd155fb1f95ddd80 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c ! dfe2ec70e3cd8e2d7a4f8eb9dfaea6b8 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c db832f8fa7442c0229f0a35d0ea8ff1a gcc/testsuite/gcc.target/aarch64/stack-check-prologue-7.c ! 988588363cc30be9cddf2458225188e6 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c ! 2c3556ebdc422d8a3e548e01b23c4371 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c 6cc96f2ff91ce012328dc2190416bdf3 gcc/testsuite/gcc.target/aarch64/stack-check-prologue.h a45adf8dc3cf3437c984bded22857527 gcc/testsuite/gcc.target/aarch64/stack-checking.c 15daf3ca2e93cf9884e5c8e104e8a765 gcc/testsuite/gcc.target/aarch64/stack-protector-1.c *************** e13154393d19a49196906480b6d2d4bc gcc/te *** 55350,55355 **** --- 55600,55607 ---- 3367dd14de391b1bd4bcf779e76b539d gcc/testsuite/gcc.target/aarch64/stack-protector-5.c e01a1f1b04b18c2fe9d9ae7868f0e844 gcc/testsuite/gcc.target/aarch64/stack-protector-6.c a27709d027d6c6481721a51a678b65ed gcc/testsuite/gcc.target/aarch64/stack-protector-7.c + ecbce9b7301b6ddc08bd87f89762b3cd gcc/testsuite/gcc.target/aarch64/stack-protector-8.c + bd965202297cac63c28f20a2183eb2e2 gcc/testsuite/gcc.target/aarch64/stack-protector-9.c e60080b5e2fe845d07811566ce955b35 gcc/testsuite/gcc.target/aarch64/store-pair-1.c fc9240608ee0f16e1f1c3b227052460b gcc/testsuite/gcc.target/aarch64/store_lane0_str_1.c 187e9a28ba40c7239e3291680f4edd90 gcc/testsuite/gcc.target/aarch64/store_lane_spill_1.c *************** e79a454266487377a5fe47ecfa638d07 gcc/te *** 57899,57905 **** f3fc0d43f234493b5b9ce5a5503f8808 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c e9b154bc8367ff38eb536d7d7192db9a gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_256.c e24fbdf33e77d28819c9e81e53b35801 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_512.c ! 51ecf8b206f222d4d7bcad650be74d53 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c f2456a359f3821da1bc28f9a5f7e556e gcc/testsuite/gcc.target/aarch64/sve/pcs/struct.h 3bdedaf042ffb29eabe08512390ff3b9 gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_1024.c 80cff442b432ccbde3e763ee004ba5cb gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_128.c --- 58151,58157 ---- f3fc0d43f234493b5b9ce5a5503f8808 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c e9b154bc8367ff38eb536d7d7192db9a gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_256.c e24fbdf33e77d28819c9e81e53b35801 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_512.c ! 467df00c49d5cdd5a0904a0d794a6d10 gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c f2456a359f3821da1bc28f9a5f7e556e gcc/testsuite/gcc.target/aarch64/sve/pcs/struct.h 3bdedaf042ffb29eabe08512390ff3b9 gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_1024.c 80cff442b432ccbde3e763ee004ba5cb gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_128.c *************** e63ee9a8151c9691caadc8fcc81bbf26 gcc/te *** 57957,57962 **** --- 58209,58215 ---- fca208aba0269c8218d4736a10ac6a83 gcc/testsuite/gcc.target/aarch64/sve/pr109176.c 72b392d1da91fcaa10ed39874a05eb04 gcc/testsuite/gcc.target/aarch64/sve/pr109254.c bc4cb512648e75cde04a28680b1c4a89 gcc/testsuite/gcc.target/aarch64/sve/pr109505.c + ea42d07119e6d0bf4a13e781c6d1367d gcc/testsuite/gcc.target/aarch64/sve/pr110280.c 7e2aaf0806edd37415079b5c2e48b66c gcc/testsuite/gcc.target/aarch64/sve/pr81003.c 00b752a6e175de8b1a300df08f275461 gcc/testsuite/gcc.target/aarch64/sve/pr87563.c c56eeba71ad463673a1bdb30e7a94863 gcc/testsuite/gcc.target/aarch64/sve/pr87815.c *************** b1c8f3af47e9cea755b055cce544806c gcc/te *** 57980,57985 **** --- 58233,58239 ---- a21cb5077461cbf23ca054f7c89a9bd8 gcc/testsuite/gcc.target/aarch64/sve/pr97092.c 0bd0c11c70979d74de80fd698161a3be gcc/testsuite/gcc.target/aarch64/sve/pr97141.c 551b93da908927fd5461395f52ee36cf gcc/testsuite/gcc.target/aarch64/sve/pr97144.c + 52c6ecc9bb5839481a0b9229b539e8f3 gcc/testsuite/gcc.target/aarch64/sve/pr97696.c feaaf48c5bd3e12bf1024ebc5d6dfdfa gcc/testsuite/gcc.target/aarch64/sve/pr98119.c 6c0e94c363caf9e62df35ea98b4918ed gcc/testsuite/gcc.target/aarch64/sve/pr98177-1.c e64000c150bb204c31dca884ee33dd4f gcc/testsuite/gcc.target/aarch64/sve/pr98177-2.c *************** a85a20601345f1048cc1b6fe0c73f504 gcc/te *** 58179,58185 **** 64c09fe1827d21d05e175a6943a2d427 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22_run.c 19cf1f19dd08d6d04808bd1f0773a7ce gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c 23a9863cd6eacac9f7376a55c013460c gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23_run.c ! 02e008c0ae3619e8c52012ed54eebbb1 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c 8fc0784710a38cd83d666e4753cf4cec gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24_run.c 065471df9040c5f345e64b575e067e38 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_25.c 8585a6e5cc9377355b604e2185a211c2 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_26.c --- 58433,58439 ---- 64c09fe1827d21d05e175a6943a2d427 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22_run.c 19cf1f19dd08d6d04808bd1f0773a7ce gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c 23a9863cd6eacac9f7376a55c013460c gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23_run.c ! bf9922f4aff21ba2afb86af56429c5e3 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c 8fc0784710a38cd83d666e4753cf4cec gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24_run.c 065471df9040c5f345e64b575e067e38 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_25.c 8585a6e5cc9377355b604e2185a211c2 gcc/testsuite/gcc.target/aarch64/sve/struct_vect_26.c *************** bc008dc088ecbe464d13cb4de9d4a7b0 gcc/te *** 59242,59263 **** 013d0ca8f75b2646d5054bdae523ed20 gcc/testsuite/gcc.target/aarch64/test-ptr-arg-on-stack-1.c 7857fd1254ec0bf2ed2f024fd3613f67 gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c 31965ecddde4343efeb7055681ec2ee1 gcc/testsuite/gcc.target/aarch64/test_fp_attribute_2.c ! 83c03cc9513699a7fa7c7ca610bc7783 gcc/testsuite/gcc.target/aarch64/test_frame_1.c ! 7af8e47c04246b91387f8ab1dea107d9 gcc/testsuite/gcc.target/aarch64/test_frame_10.c ! 1266f5f8d41e600d6d9011d551c7375f gcc/testsuite/gcc.target/aarch64/test_frame_11.c cfed1de6c3a12e6d1bfaaba77c0e7100 gcc/testsuite/gcc.target/aarch64/test_frame_12.c ! c59c91f159013d73cdf4d699b8f4ae48 gcc/testsuite/gcc.target/aarch64/test_frame_13.c a5e6b722f4144697d90e30cfabaee788 gcc/testsuite/gcc.target/aarch64/test_frame_14.c ! 9880f8a846f56405c1be761252ad78b7 gcc/testsuite/gcc.target/aarch64/test_frame_15.c 6c5bce43d2093b676bcbc3084394efb0 gcc/testsuite/gcc.target/aarch64/test_frame_16.c 1558cee3b358a4686101166d3efa7561 gcc/testsuite/gcc.target/aarch64/test_frame_17.c ! d559354500ea93464e9f09bbad4b19a9 gcc/testsuite/gcc.target/aarch64/test_frame_2.c 3b6dc13fe4d40fc07c0288cb31d3cfc5 gcc/testsuite/gcc.target/aarch64/test_frame_3.c ! 49c58d65bf066f19f7a62fd4998f8a83 gcc/testsuite/gcc.target/aarch64/test_frame_4.c 0e8919c68871104fabfa2063b32a4595 gcc/testsuite/gcc.target/aarch64/test_frame_5.c ! 9c88da56ab2ded7e1dc2345148397c78 gcc/testsuite/gcc.target/aarch64/test_frame_6.c ! ca52d8bac43d6f8cd9d06d72159b621c gcc/testsuite/gcc.target/aarch64/test_frame_7.c ! fe11cf3fb0485d759d8d4bf326b15cd1 gcc/testsuite/gcc.target/aarch64/test_frame_8.c 2448073ffbe1d605c9ff8c449a4ab04c gcc/testsuite/gcc.target/aarch64/test_frame_9.c e305e52e017cd5650701a9b9bac24e7e gcc/testsuite/gcc.target/aarch64/test_frame_common.h f981bb5d7ae1c0cf6fecfb1807c0d512 gcc/testsuite/gcc.target/aarch64/thunderxloadpair.c --- 59496,59517 ---- 013d0ca8f75b2646d5054bdae523ed20 gcc/testsuite/gcc.target/aarch64/test-ptr-arg-on-stack-1.c 7857fd1254ec0bf2ed2f024fd3613f67 gcc/testsuite/gcc.target/aarch64/test_fp_attribute_1.c 31965ecddde4343efeb7055681ec2ee1 gcc/testsuite/gcc.target/aarch64/test_fp_attribute_2.c ! dc7d2ac6c51e791d407a7bb38065e280 gcc/testsuite/gcc.target/aarch64/test_frame_1.c ! f67525e8d4a50347e00a7a719da2ed7f gcc/testsuite/gcc.target/aarch64/test_frame_10.c ! 3279df7180e60c4111accafccdc9b8e0 gcc/testsuite/gcc.target/aarch64/test_frame_11.c cfed1de6c3a12e6d1bfaaba77c0e7100 gcc/testsuite/gcc.target/aarch64/test_frame_12.c ! 5ef6a40d4a61c0bca17e054d0e571af7 gcc/testsuite/gcc.target/aarch64/test_frame_13.c a5e6b722f4144697d90e30cfabaee788 gcc/testsuite/gcc.target/aarch64/test_frame_14.c ! 576b76733224038c69565bcbe03d9f46 gcc/testsuite/gcc.target/aarch64/test_frame_15.c 6c5bce43d2093b676bcbc3084394efb0 gcc/testsuite/gcc.target/aarch64/test_frame_16.c 1558cee3b358a4686101166d3efa7561 gcc/testsuite/gcc.target/aarch64/test_frame_17.c ! 8a66691b2c94cb8c7f39f3af42ca0ef6 gcc/testsuite/gcc.target/aarch64/test_frame_2.c 3b6dc13fe4d40fc07c0288cb31d3cfc5 gcc/testsuite/gcc.target/aarch64/test_frame_3.c ! 1dd34e34165169301daacb276ec49844 gcc/testsuite/gcc.target/aarch64/test_frame_4.c 0e8919c68871104fabfa2063b32a4595 gcc/testsuite/gcc.target/aarch64/test_frame_5.c ! 76147f92dc2edd7c8af4da9703361f58 gcc/testsuite/gcc.target/aarch64/test_frame_6.c ! 0eee87b24397988496ccf7aed33ee387 gcc/testsuite/gcc.target/aarch64/test_frame_7.c ! 5cff3820ab838755eba034e080cfb5a6 gcc/testsuite/gcc.target/aarch64/test_frame_8.c 2448073ffbe1d605c9ff8c449a4ab04c gcc/testsuite/gcc.target/aarch64/test_frame_9.c e305e52e017cd5650701a9b9bac24e7e gcc/testsuite/gcc.target/aarch64/test_frame_common.h f981bb5d7ae1c0cf6fecfb1807c0d512 gcc/testsuite/gcc.target/aarch64/thunderxloadpair.c *************** a2ccf9bfd1d0bb840b23c25e1bdec31c gcc/te *** 59272,59277 **** --- 59526,59532 ---- d7ac99c012df73ffbde36998316bf1ef gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c fc2eb8ac52faed5fba0a017b858d4ae4 gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c 8a43a90457a76e1e8f6951c362fed0e0 gcc/testsuite/gcc.target/aarch64/torture/aarch64-torture.exp + 4036d83a59b4adcf9e8a4cf5a291d22e gcc/testsuite/gcc.target/aarch64/torture/pr111677.c 5266ac107a73e3ee1d1f44e1cda7d9f2 gcc/testsuite/gcc.target/aarch64/torture/simd-abi-1.c 9c3416db2fc04c3f91b03ecae15e943e gcc/testsuite/gcc.target/aarch64/torture/simd-abi-10.c df55bfe2c1ce46074b19b4566cedeef4 gcc/testsuite/gcc.target/aarch64/torture/simd-abi-11.c *************** ce1fe2059d8e263b0f3d889cb1392892 gcc/te *** 59992,59997 **** --- 60247,60254 ---- a29c7dfe0255ba24ca52aa9293640971 gcc/testsuite/gcc.target/arm/cmse/cmse-8.x ce946170746cf737bca71ec699014fef gcc/testsuite/gcc.target/arm/cmse/cmse-9.c 397473f1a48c5b6f6bd4381804634aad gcc/testsuite/gcc.target/arm/cmse/cmse.exp + 68589fe6cc14ec6e535b037c8db589b9 gcc/testsuite/gcc.target/arm/cmse/extend-param.c + 448776b3a969f181f903853f8b701bca gcc/testsuite/gcc.target/arm/cmse/extend-return.c 6e9c9a777c4a333e2bdba95bdaf23364 gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c c540adef0c0a8fc3e8e03fee5f712683 gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c 727ae9b55594654191b60afa67ad5094 gcc/testsuite/gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c *************** bce9be46a9e956c5fcc66bfb68691f0f gcc/te *** 62752,62757 **** --- 63009,63015 ---- 92d7537f3966988f20d05b94977b3beb gcc/testsuite/gcc.target/arm/neon-modes-3.c 4e0cca6bc39f2d3cecf9ea72ec4b0d52 gcc/testsuite/gcc.target/arm/neon-nested-apcs.c 7783093cce901b3a47068de662227a6b gcc/testsuite/gcc.target/arm/neon-offset-1.c + 2f0d808ded25a27c867026ac6296d1b9 gcc/testsuite/gcc.target/arm/neon-recip-div-1.c 1f48b8fad239c5f29804610f9f08ce99 gcc/testsuite/gcc.target/arm/neon-reload-class.c 79e2b86f1be68bc1014fb6b480d5322f gcc/testsuite/gcc.target/arm/neon-thumb2-move.c add75049520bb3c0c677317469ccb57e gcc/testsuite/gcc.target/arm/neon-vadds64.c *************** c75ed40c88ef10849c23f953624d1ae2 gcc/te *** 63465,63470 **** --- 63723,63729 ---- 5c6680598a83083cd8ee0c39ad5821bf gcc/testsuite/gcc.target/arm/wmul-bitfield-2.c a1131491d67160098e775860b91e3021 gcc/testsuite/gcc.target/arm/xor-and.c 79a594a642e89de4c3a753867b50cf54 gcc/testsuite/gcc.target/arm/xordi3-opt.c + c80b20e750ebef437da2bce443dea236 gcc/testsuite/gcc.target/avr/attribute-io.h f337da365ccbbfcebc72092316840c27 gcc/testsuite/gcc.target/avr/avr.exp a6701935d18c8ed062555c8a48454bc9 gcc/testsuite/gcc.target/avr/dev-specific-rmw.c 2028ceccf9f97e5e84e9adf6beb7597e gcc/testsuite/gcc.target/avr/exit-abort.h *************** a6701935d18c8ed062555c8a48454bc9 gcc/te *** 63473,63482 **** --- 63732,63749 ---- 421d2b9b36fa2496dce05d129d2c352b gcc/testsuite/gcc.target/avr/mmcu/pr58545.c 8172209b564aa8049ce5758eac60cc46 gcc/testsuite/gcc.target/avr/mmcu/tiny-caller-save.c 80cabd0a89ca2c48055ae61bc82b633e gcc/testsuite/gcc.target/avr/mmcu/tiny-memx.c + b4a62998a3bf2398dc7d70146c73de72 gcc/testsuite/gcc.target/avr/pr105523.c + f8477bcb4f0897df97ce12509813078f gcc/testsuite/gcc.target/avr/pr112952-0.c + 7f4851ba862178ebdd33c37d9afb8e90 gcc/testsuite/gcc.target/avr/pr112952-1.c + cbbdbc1f2e5f1be9d84964c49c4e1d8a gcc/testsuite/gcc.target/avr/pr112952-2.c + 4c2e6ef3904adf4a21d13daa991d00c8 gcc/testsuite/gcc.target/avr/pr112952-3.c + b336e6f4d1af14f79b0e9e2451c8046e gcc/testsuite/gcc.target/avr/pr114981-powil.c 2931177f4aeff49d531d5474224448f6 gcc/testsuite/gcc.target/avr/pr46779-1.c 572dc228e08385a1db0fcbab66dbaa4e gcc/testsuite/gcc.target/avr/pr46779-2.c d92831f37e30237d1dc568f585e4c2c9 gcc/testsuite/gcc.target/avr/pr50739.c cab5109a6b7fdff7f863acba217c057c gcc/testsuite/gcc.target/avr/pr52472.c + 6f5a28bde8d91d55f2fd3fe10e026cef gcc/testsuite/gcc.target/avr/pr53372-1.c + fb60f18e3cab672ed7e9b2968349217b gcc/testsuite/gcc.target/avr/pr53372-2.c e0e1e2e0021b9ad7de197bd200536621 gcc/testsuite/gcc.target/avr/pr54816.c efcda82866c9de5c520a07c8b80a5a00 gcc/testsuite/gcc.target/avr/pr60040-1.c 378bd094630b756ab3a99b367485434b gcc/testsuite/gcc.target/avr/pr60040-2.c *************** ab53af0eb6dbfe2791a8ac1bbaf0c11f gcc/te *** 63550,63555 **** --- 63817,63823 ---- 5f3be2dbb82f715c14a1a41fff447a60 gcc/testsuite/gcc.target/avr/torture/pr77326.c 4fbef28c5655476b160563b7732f35f0 gcc/testsuite/gcc.target/avr/torture/pr83729.c 3f60045ba7f9c20a87591727f9e0b7f1 gcc/testsuite/gcc.target/avr/torture/pr83801.c + 52eb2c2bb002e59b07281c8efa4702fb gcc/testsuite/gcc.target/avr/torture/pr92606.c 21a45d34960ba9567b9f2483d22c843f gcc/testsuite/gcc.target/avr/torture/progmem-1.c 564c71a894aff68e98d5c4a6db2b47ae gcc/testsuite/gcc.target/avr/torture/progmem-1.cpp 126473a2f2a291f65eeb2dca66b500b2 gcc/testsuite/gcc.target/avr/torture/sat-hr-plus-minus.c *************** a8ab966558faa138830cc3e75dbe4464 gcc/te *** 64382,64387 **** --- 64650,64656 ---- fc50af06e61cf9d13887f2fe515b0e27 gcc/testsuite/gcc.target/i386/amxint8-dpbuud-2.c 4e7e8638f4652613beb251daa4730463 gcc/testsuite/gcc.target/i386/amxtile-2.c a455baf8f9990eb7494164842dce7c91 gcc/testsuite/gcc.target/i386/amxtile-3.c + 84fc02cc52ddc8bdd53d77902c0176fb gcc/testsuite/gcc.target/i386/amxtile-4.c 8e7fab1b3f5c89155f09aabb59da8382 gcc/testsuite/gcc.target/i386/amxtile-asmatt-1.c 2629a435840ab211444b4a2af4563d8d gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c 000edc038d71c16eb844c26f6d7f2f53 gcc/testsuite/gcc.target/i386/and-1.c *************** a5901d33285892facee8dbfe287ce0d1 gcc/te *** 65041,65051 **** ea08c4d81609e53332974756983fe0c2 gcc/testsuite/gcc.target/i386/avx2-cvt-2.c 396a1c94edbd7736dc717b5af4f86d14 gcc/testsuite/gcc.target/i386/avx2-dest-false-dep-for-glc.c aaabb27f441033ad22d615277a666b93 gcc/testsuite/gcc.target/i386/avx2-gather-1.c ! 193500dbe679e3b0106077cb94dcd659 gcc/testsuite/gcc.target/i386/avx2-gather-2.c e6fb48367ac48aab006ff09ee7205b7f gcc/testsuite/gcc.target/i386/avx2-gather-3.c 74c386970583ffac555d2320df839c1b gcc/testsuite/gcc.target/i386/avx2-gather-4.c b10dfe874c7de4330090cb5b58ccddda gcc/testsuite/gcc.target/i386/avx2-gather-5.c ! bab8d3346cd39524a79bf0922698f8dc gcc/testsuite/gcc.target/i386/avx2-gather-6.c 5bab3385f59413b4ac1d08b312a04c67 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-1.c 61279c227c143e8c3c052c2ba1d0e226 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-2.c 025259b149283dd7aa44783815197ac4 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-3.c --- 65310,65320 ---- ea08c4d81609e53332974756983fe0c2 gcc/testsuite/gcc.target/i386/avx2-cvt-2.c 396a1c94edbd7736dc717b5af4f86d14 gcc/testsuite/gcc.target/i386/avx2-dest-false-dep-for-glc.c aaabb27f441033ad22d615277a666b93 gcc/testsuite/gcc.target/i386/avx2-gather-1.c ! 9a1f20db8a24cf28261761ea84f4920a gcc/testsuite/gcc.target/i386/avx2-gather-2.c e6fb48367ac48aab006ff09ee7205b7f gcc/testsuite/gcc.target/i386/avx2-gather-3.c 74c386970583ffac555d2320df839c1b gcc/testsuite/gcc.target/i386/avx2-gather-4.c b10dfe874c7de4330090cb5b58ccddda gcc/testsuite/gcc.target/i386/avx2-gather-5.c ! ccba4fe76fbee89c17997a3eca46d604 gcc/testsuite/gcc.target/i386/avx2-gather-6.c 5bab3385f59413b4ac1d08b312a04c67 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-1.c 61279c227c143e8c3c052c2ba1d0e226 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-2.c 025259b149283dd7aa44783815197ac4 gcc/testsuite/gcc.target/i386/avx2-i32gatherd-3.c *************** dc7877a60c094039a172aa23afb1e37c gcc/te *** 66241,66246 **** --- 66510,66516 ---- 45a98ac2d84ae154c61e3e1ce84c17eb gcc/testsuite/gcc.target/i386/avx512f-pr101896.c ce0cad9f4c5da96b0d07d2029604250c gcc/testsuite/gcc.target/i386/avx512f-pr103750-1.c 1d9114b974ef8241068b2ece25e00b2e gcc/testsuite/gcc.target/i386/avx512f-pr103750-2.c + 9a6936f1815277f15801196159007f44 gcc/testsuite/gcc.target/i386/avx512f-pr114566.c 88877c518076ecdec1dba128743ad627 gcc/testsuite/gcc.target/i386/avx512f-pr57233.c 0272e0fc54cb34ee03db4b0027dbec3d gcc/testsuite/gcc.target/i386/avx512f-pr63594-1.c 381f53de01f1e9893e6903d9fac40b87 gcc/testsuite/gcc.target/i386/avx512f-pr63594-2.c *************** f5e2d9cb20058374157f0683dddeff73 gcc/te *** 66262,66272 **** 33ef0191b116f2207f8cae72da53f074 gcc/testsuite/gcc.target/i386/avx512f-pr85177.c 44b94a02b283cd9b531e1679a63bb550 gcc/testsuite/gcc.target/i386/avx512f-pr85255.c 91d1cf3389554e9095c24e2d0922e5ce gcc/testsuite/gcc.target/i386/avx512f-pr85832.c ! 8755bbd1991d543ed8238049d8c8dd38 gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c bfe1b42fed4f27d06a2686cddbd8c3c0 gcc/testsuite/gcc.target/i386/avx512f-pr88464-2.c 7438f166ed28ad4498da4b5077b71181 gcc/testsuite/gcc.target/i386/avx512f-pr88464-3.c da0186580868c5f1ebd96d179687ae26 gcc/testsuite/gcc.target/i386/avx512f-pr88464-4.c ! 6bc4181653baf587b37d974277810ee5 gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c 15e278dd63e5ac145f6c67f833a47cf2 gcc/testsuite/gcc.target/i386/avx512f-pr88464-6.c fbb4eb7430260d94966d2091a7204617 gcc/testsuite/gcc.target/i386/avx512f-pr88464-7.c a2908de260a59647ee69aa2e1e318a8b gcc/testsuite/gcc.target/i386/avx512f-pr88464-8.c --- 66532,66542 ---- 33ef0191b116f2207f8cae72da53f074 gcc/testsuite/gcc.target/i386/avx512f-pr85177.c 44b94a02b283cd9b531e1679a63bb550 gcc/testsuite/gcc.target/i386/avx512f-pr85255.c 91d1cf3389554e9095c24e2d0922e5ce gcc/testsuite/gcc.target/i386/avx512f-pr85832.c ! c1c9be5c000ba09322d1bcaed3d61241 gcc/testsuite/gcc.target/i386/avx512f-pr88464-1.c bfe1b42fed4f27d06a2686cddbd8c3c0 gcc/testsuite/gcc.target/i386/avx512f-pr88464-2.c 7438f166ed28ad4498da4b5077b71181 gcc/testsuite/gcc.target/i386/avx512f-pr88464-3.c da0186580868c5f1ebd96d179687ae26 gcc/testsuite/gcc.target/i386/avx512f-pr88464-4.c ! d3d0db87e65534dc95ebeafc29f6eb13 gcc/testsuite/gcc.target/i386/avx512f-pr88464-5.c 15e278dd63e5ac145f6c67f833a47cf2 gcc/testsuite/gcc.target/i386/avx512f-pr88464-6.c fbb4eb7430260d94966d2091a7204617 gcc/testsuite/gcc.target/i386/avx512f-pr88464-7.c a2908de260a59647ee69aa2e1e318a8b gcc/testsuite/gcc.target/i386/avx512f-pr88464-8.c *************** e3cc31b3308cdb56423451f2cd8c2a00 gcc/te *** 67555,67576 **** 0fe6ef0c597e472d3e4d732c54448a91 gcc/testsuite/gcc.target/i386/avx512vl-pr85832.c 22c31bf03678131c3d0a583fba1ee269 gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c dd0303ef457dc2b0fdc13d8c6e3f9345 gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c ! 2f9574eab62f05e192ea2ec667f3169a gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c 39601a1f18d6f833823d29236463df8c gcc/testsuite/gcc.target/i386/avx512vl-pr88464-10.c ! eca8146b34153f093d3ae43d4ffec4ee gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c 90010aa28415b8ef8b837a85aeaf6256 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-12.c 47d67b7a934bfd1a79e1141deacdd525 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-13.c 6811e4896e4da5ef69f652fb2a3e7715 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-14.c b21314a51f62c382ba0199f1b8adf2bb gcc/testsuite/gcc.target/i386/avx512vl-pr88464-15.c 358b025054514a4ae1275fcceaa36667 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-16.c fc0518ef4725b34153f0e37bdcb0a2d3 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-2.c ! da252c14fc71905221513689897c1026 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c cc3ed6589d4b7dc894bcddb5723a20be gcc/testsuite/gcc.target/i386/avx512vl-pr88464-4.c 73410dddfff0383c686500f838991335 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-5.c 03455808cfb1c0b507621b77fee871ba gcc/testsuite/gcc.target/i386/avx512vl-pr88464-6.c 48216c7fa5105b8c80d52a41661ff0c8 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-7.c 433b8f377654ed9d9083111df5ded23a gcc/testsuite/gcc.target/i386/avx512vl-pr88464-8.c ! d83d1465cecd57a6282539266e56f304 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c a211ab10a3faac2cd055fdacc95d4e1d gcc/testsuite/gcc.target/i386/avx512vl-pr88513-1.c 06cabf563581814176556ba2a1b73501 gcc/testsuite/gcc.target/i386/avx512vl-pr88513-2.c 3695b4f8bd527469e884b72d9a1b8f41 gcc/testsuite/gcc.target/i386/avx512vl-pr88513-3.c --- 67825,67846 ---- 0fe6ef0c597e472d3e4d732c54448a91 gcc/testsuite/gcc.target/i386/avx512vl-pr85832.c 22c31bf03678131c3d0a583fba1ee269 gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c dd0303ef457dc2b0fdc13d8c6e3f9345 gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c ! 30e7e4c7f248a8349d72262db59905b6 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c 39601a1f18d6f833823d29236463df8c gcc/testsuite/gcc.target/i386/avx512vl-pr88464-10.c ! d295a2038bd58f73a24b4afff4544e6f gcc/testsuite/gcc.target/i386/avx512vl-pr88464-11.c 90010aa28415b8ef8b837a85aeaf6256 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-12.c 47d67b7a934bfd1a79e1141deacdd525 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-13.c 6811e4896e4da5ef69f652fb2a3e7715 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-14.c b21314a51f62c382ba0199f1b8adf2bb gcc/testsuite/gcc.target/i386/avx512vl-pr88464-15.c 358b025054514a4ae1275fcceaa36667 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-16.c fc0518ef4725b34153f0e37bdcb0a2d3 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-2.c ! 98caed71eec15644727965520faa59fd gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c cc3ed6589d4b7dc894bcddb5723a20be gcc/testsuite/gcc.target/i386/avx512vl-pr88464-4.c 73410dddfff0383c686500f838991335 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-5.c 03455808cfb1c0b507621b77fee871ba gcc/testsuite/gcc.target/i386/avx512vl-pr88464-6.c 48216c7fa5105b8c80d52a41661ff0c8 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-7.c 433b8f377654ed9d9083111df5ded23a gcc/testsuite/gcc.target/i386/avx512vl-pr88464-8.c ! b7a84ab3dd62d3cbb53acf2c4c116a82 gcc/testsuite/gcc.target/i386/avx512vl-pr88464-9.c a211ab10a3faac2cd055fdacc95d4e1d gcc/testsuite/gcc.target/i386/avx512vl-pr88513-1.c 06cabf563581814176556ba2a1b73501 gcc/testsuite/gcc.target/i386/avx512vl-pr88513-2.c 3695b4f8bd527469e884b72d9a1b8f41 gcc/testsuite/gcc.target/i386/avx512vl-pr88513-3.c *************** a2db1599502ab18d8be9008240a5479f gcc/te *** 69345,69351 **** b4bca83d8c5eb66cc3b76c908b3d3d01 gcc/testsuite/gcc.target/i386/pr100865-9b.c 0e777948f43f406fb25b7236272ef276 gcc/testsuite/gcc.target/i386/pr100865-9c.c 92347818baf371677943e85e6acf1cb2 gcc/testsuite/gcc.target/i386/pr100887.c ! 1bc38c498cc637c99a48d91d8c5545b8 gcc/testsuite/gcc.target/i386/pr100936.c 988b04066631a4c959820d4ced9f5e39 gcc/testsuite/gcc.target/i386/pr100951.c 0f1a3e79d17305cf67121bb850f8bbee gcc/testsuite/gcc.target/i386/pr101021-1.c d1dc5c84e88280386be51fbb5bbe9542 gcc/testsuite/gcc.target/i386/pr101021-2.c --- 69615,69621 ---- b4bca83d8c5eb66cc3b76c908b3d3d01 gcc/testsuite/gcc.target/i386/pr100865-9b.c 0e777948f43f406fb25b7236272ef276 gcc/testsuite/gcc.target/i386/pr100865-9c.c 92347818baf371677943e85e6acf1cb2 gcc/testsuite/gcc.target/i386/pr100887.c ! 71d6b9b3a9303f1619b5e004899cb385 gcc/testsuite/gcc.target/i386/pr100936.c 988b04066631a4c959820d4ced9f5e39 gcc/testsuite/gcc.target/i386/pr100951.c 0f1a3e79d17305cf67121bb850f8bbee gcc/testsuite/gcc.target/i386/pr101021-1.c d1dc5c84e88280386be51fbb5bbe9542 gcc/testsuite/gcc.target/i386/pr101021-2.c *************** b1c903e2b37cfb9b2f060a009b3b4219 gcc/te *** 69448,69455 **** a44a12bfc869662533e31a5506badb47 gcc/testsuite/gcc.target/i386/pr103069-4.c 45c8bf67cae0f4d4cd78e718c7e3f2eb gcc/testsuite/gcc.target/i386/pr103074.c 3c046813d3772127c2fb4a817b636b16 gcc/testsuite/gcc.target/i386/pr103097.c ! 5ca3ad8301019ec3134b62c9354d4773 gcc/testsuite/gcc.target/i386/pr103144-mul-1.c ! b3bbd6ffde93886f859abdcc885dcd18 gcc/testsuite/gcc.target/i386/pr103144-mul-2.c 618e2eb0d569357f9280d4d1d6908740 gcc/testsuite/gcc.target/i386/pr103144-neg-1.c 96936763b96a30ad61e7cc0bfdf47519 gcc/testsuite/gcc.target/i386/pr103144-neg-2.c 0bcf66b0bd59812ba14aa080080dd122 gcc/testsuite/gcc.target/i386/pr103144-shift-1.c --- 69718,69725 ---- a44a12bfc869662533e31a5506badb47 gcc/testsuite/gcc.target/i386/pr103069-4.c 45c8bf67cae0f4d4cd78e718c7e3f2eb gcc/testsuite/gcc.target/i386/pr103074.c 3c046813d3772127c2fb4a817b636b16 gcc/testsuite/gcc.target/i386/pr103097.c ! cfe263127394a0977c5049a8006cc11d gcc/testsuite/gcc.target/i386/pr103144-mul-1.c ! b7ab7b1910a521aee543373d4aeaaba9 gcc/testsuite/gcc.target/i386/pr103144-mul-2.c 618e2eb0d569357f9280d4d1d6908740 gcc/testsuite/gcc.target/i386/pr103144-neg-1.c 96936763b96a30ad61e7cc0bfdf47519 gcc/testsuite/gcc.target/i386/pr103144-neg-2.c 0bcf66b0bd59812ba14aa080080dd122 gcc/testsuite/gcc.target/i386/pr103144-shift-1.c *************** a892cf5449c572594d9ac500ec2178bc gcc/te *** 69584,69594 **** 4ae7c694596b4d8b84d1d2e01c54c21c gcc/testsuite/gcc.target/i386/pr105253.c dfc3f83604e6883a02d821c48a3ad632 gcc/testsuite/gcc.target/i386/pr105338.c 011c836b7c20d989a4885bbe1ca245b7 gcc/testsuite/gcc.target/i386/pr105354-1.c ! af9539d60e2dd11a0e3e3f8e78f0e9ae gcc/testsuite/gcc.target/i386/pr105354-2.c 2a5473f87bb2410849bfe5418a5abeb6 gcc/testsuite/gcc.target/i386/pr105367.c 3e59623d82099b9b3e3d1ea99c8157e9 gcc/testsuite/gcc.target/i386/pr105493.c faa2789fb55d0b7bb1e08f48501c285d gcc/testsuite/gcc.target/i386/pr105513-1.c ! db0abcfd3877faa33b33aa19a57352a5 gcc/testsuite/gcc.target/i386/pr105554.c abdcac20a85ff356a7103baf30c2cad2 gcc/testsuite/gcc.target/i386/pr105587.c 1c991f69922d2409520cabb4c80c0b51 gcc/testsuite/gcc.target/i386/pr105624.c d3054d00843266f8c2d242966d899040 gcc/testsuite/gcc.target/i386/pr105668.c --- 69854,69864 ---- 4ae7c694596b4d8b84d1d2e01c54c21c gcc/testsuite/gcc.target/i386/pr105253.c dfc3f83604e6883a02d821c48a3ad632 gcc/testsuite/gcc.target/i386/pr105338.c 011c836b7c20d989a4885bbe1ca245b7 gcc/testsuite/gcc.target/i386/pr105354-1.c ! 1d7fb996d2968bda606469734db8f081 gcc/testsuite/gcc.target/i386/pr105354-2.c 2a5473f87bb2410849bfe5418a5abeb6 gcc/testsuite/gcc.target/i386/pr105367.c 3e59623d82099b9b3e3d1ea99c8157e9 gcc/testsuite/gcc.target/i386/pr105493.c faa2789fb55d0b7bb1e08f48501c285d gcc/testsuite/gcc.target/i386/pr105513-1.c ! 8515bef5344a20c9dafa2d780bab4b57 gcc/testsuite/gcc.target/i386/pr105554.c abdcac20a85ff356a7103baf30c2cad2 gcc/testsuite/gcc.target/i386/pr105587.c 1c991f69922d2409520cabb4c80c0b51 gcc/testsuite/gcc.target/i386/pr105624.c d3054d00843266f8c2d242966d899040 gcc/testsuite/gcc.target/i386/pr105668.c *************** e00380cd123a9ea3429ab36047aa6624 gcc/te *** 69722,69730 **** --- 69992,70025 ---- f2961b113a187971d8c265513b16a3a5 gcc/testsuite/gcc.target/i386/pr11001-strlen-2.c 27f57729aea057bdb268886140eaba10 gcc/testsuite/gcc.target/i386/pr11001-strlen-3.c f562385a23a792c182758e4565e2e1a0 gcc/testsuite/gcc.target/i386/pr110108-2.c + ae133b6a6857ca5bc2e95a272e01f447 gcc/testsuite/gcc.target/i386/pr110170-3.c 5d3322fc19dcfb45977b7e950b6b7abd gcc/testsuite/gcc.target/i386/pr110206.c a9e9b13ffffb6326bdaaf3a4037cac8b gcc/testsuite/gcc.target/i386/pr110227.c 7f0cde3ec2fdeaca91525ac49787aa22 gcc/testsuite/gcc.target/i386/pr110309.c + 2ba5d433c622303def352cc3d13ed930 gcc/testsuite/gcc.target/i386/pr110792.c + 9f4b24b8710ca01983411725919ea553 gcc/testsuite/gcc.target/i386/pr111127.c + 9355c41ef1e78b70305475dee4bed5c8 gcc/testsuite/gcc.target/i386/pr111306.c + 1459550770245224c9edce111674e4e5 gcc/testsuite/gcc.target/i386/pr111340.c + 83c1fd77f5c5b1d08ae6f047d224f609 gcc/testsuite/gcc.target/i386/pr111736.c + b43e8c56c9033d4c1f8d39f742aab4d4 gcc/testsuite/gcc.target/i386/pr111820-1.c + 603eaebdbc5d49ed79685f9993d08daa gcc/testsuite/gcc.target/i386/pr111820-2.c + a02b7dbda2cbde55631a6de0c782cb06 gcc/testsuite/gcc.target/i386/pr111820-3.c + d639374a10f845f4130a83222b9ee43c gcc/testsuite/gcc.target/i386/pr112495.c + 35a8999d2b193e394aa0f2a62dc658b2 gcc/testsuite/gcc.target/i386/pr112496.c + 1601f8939826f2a25f2d128d43833970 gcc/testsuite/gcc.target/i386/pr112672.c + cee904627dd8919025dea0c6817c07d5 gcc/testsuite/gcc.target/i386/pr112891-2.c + 008137751ea4cc5c732bf09733a5c5d3 gcc/testsuite/gcc.target/i386/pr112891.c + 985d15f4237e366d808d224318b78cb2 gcc/testsuite/gcc.target/i386/pr113122-1.c + d150e8020454e98754c7dabfd41ad2ea gcc/testsuite/gcc.target/i386/pr113122-2.c + 122f757ff15551df2a5ee4ba2135d85f gcc/testsuite/gcc.target/i386/pr113122-3.c + 2f2dbd2c371a9961cb21196f2ee6f88d gcc/testsuite/gcc.target/i386/pr113122-4.c + 4b607a87f64fa4cdb46c07d556b6c89f gcc/testsuite/gcc.target/i386/pr113622-1.c + 32961cbf15615c89045042f8ad2ac064 gcc/testsuite/gcc.target/i386/pr113656.c + d0e5711b97afe1b1990bb5e2ae02b3a6 gcc/testsuite/gcc.target/i386/pr113670.c + 04b5ce89d67e35431c960a773e44688c gcc/testsuite/gcc.target/i386/pr113921.c + f561e51e21b70027e9a545f161c78a39 gcc/testsuite/gcc.target/i386/pr114184.c + d2e40d7bd7109a0b57be13dfeec77fe6 gcc/testsuite/gcc.target/i386/pr114339.c + 624a387ab1cfd526aa46778b8c3cbf5f gcc/testsuite/gcc.target/i386/pr114415.c 991b7f7f44e28179f98bb458fdb69ea6 gcc/testsuite/gcc.target/i386/pr11877-2.c e7f6a568e551d3786797d6f56294b949 gcc/testsuite/gcc.target/i386/pr11877.c b03b1d817538a863277c823b5e4cdf75 gcc/testsuite/gcc.target/i386/pr12092-1.c *************** e3721c52844753536ca549f71e61f954 gcc/te *** 71081,71088 **** 40a7ef6fb3bcabb2e6a14793769e9983 gcc/testsuite/gcc.target/i386/pr88470.c d09b03236b7aad3cf25c32ccea767d74 gcc/testsuite/gcc.target/i386/pr88521.c 5dbead610a1dd7e77af25c77972ddac1 gcc/testsuite/gcc.target/i386/pr88531-1a.c ! 555df29348deb23102cde1e8c8e7388a gcc/testsuite/gcc.target/i386/pr88531-1b.c ! 32a862e24930734825f74ccb5cd04fdc gcc/testsuite/gcc.target/i386/pr88531-1c.c 019c39c7d098cf7f5069489447de5cf8 gcc/testsuite/gcc.target/i386/pr88531-2a.c e86f2defc250de76fe2280f190250a40 gcc/testsuite/gcc.target/i386/pr88531-2b.c 197ea43338868f67bcf03c0a230ffe75 gcc/testsuite/gcc.target/i386/pr88531-2c.c --- 71376,71383 ---- 40a7ef6fb3bcabb2e6a14793769e9983 gcc/testsuite/gcc.target/i386/pr88470.c d09b03236b7aad3cf25c32ccea767d74 gcc/testsuite/gcc.target/i386/pr88521.c 5dbead610a1dd7e77af25c77972ddac1 gcc/testsuite/gcc.target/i386/pr88531-1a.c ! 093e38278aff880d894eac88351c1e71 gcc/testsuite/gcc.target/i386/pr88531-1b.c ! b4ea0253a4a44cae7ea592ca115c81cb gcc/testsuite/gcc.target/i386/pr88531-1c.c 019c39c7d098cf7f5069489447de5cf8 gcc/testsuite/gcc.target/i386/pr88531-2a.c e86f2defc250de76fe2280f190250a40 gcc/testsuite/gcc.target/i386/pr88531-2b.c 197ea43338868f67bcf03c0a230ffe75 gcc/testsuite/gcc.target/i386/pr88531-2c.c *************** b4038cdeb4eee7cf1074de1cead1d1b5 gcc/te *** 72011,72016 **** --- 72306,72313 ---- d1e0ff73b10eb61ca8fa06128a453ef9 gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c 308fe64b1fe9bf78b6b4ed03b89a6c2f gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c 5a4b1b55ad120b0697aa2b141f831dcc gcc/testsuite/gcc.target/i386/sse2-por-1.c + 42b0a030864c4e7c12b6c80d6c8ae276 gcc/testsuite/gcc.target/i386/sse2-pr112816-2.c + f25ef90e2173390dbb01786ae8576e29 gcc/testsuite/gcc.target/i386/sse2-pr112816.c 749703f860d7a5cb18e2328329fb1c71 gcc/testsuite/gcc.target/i386/sse2-pr39821.c bdbcd892d3f88fe1d7a07a2122cb928d gcc/testsuite/gcc.target/i386/sse2-pr57233.c ab93046758268c8e3106f1bed7d4e8a5 gcc/testsuite/gcc.target/i386/sse2-pr63594-1.c *************** ab4a753420c7cc112326b8711285358c gcc/te *** 72707,72718 **** --- 73004,73018 ---- 432baf56ded24535d315bd2e867a8be3 gcc/testsuite/gcc.target/loongarch/attr-model-2.c f9bd26f98b04e99789925370214a2a06 gcc/testsuite/gcc.target/loongarch/attr-model-diag.c b0da33fc443024e77c7b605056bff4ae gcc/testsuite/gcc.target/loongarch/attr-model-test.c + ca8ab2fdd097231be9dd3f7bfdcebb7b gcc/testsuite/gcc.target/loongarch/builtin_thread_pointer.c + 00fd27046cb10694212b8b3aa9811204 gcc/testsuite/gcc.target/loongarch/cas-acquire.c 2ea39544bfe26567ec668ca7a33a8a5e gcc/testsuite/gcc.target/loongarch/direct-extern-1.c b4c0f3fd4670da4309e2a028316c3c4c gcc/testsuite/gcc.target/loongarch/direct-extern-2.c 1dfea9ab319ea08d9da234c41d4b88e7 gcc/testsuite/gcc.target/loongarch/div-1.c 82faab3f51217ce0561916dde4f4f801 gcc/testsuite/gcc.target/loongarch/div-2.c 7247cc240dabb3c9514ba4b0a07278c5 gcc/testsuite/gcc.target/loongarch/div-3.c adc95e9ab59294f8040ec17904b73569 gcc/testsuite/gcc.target/loongarch/div-4.c + 40042c7bbd496ecf64b96ae4ff1f8fdc gcc/testsuite/gcc.target/loongarch/eh_return-normal-return.c ddf9ecd0daf6d14ef98de40e7fd68f34 gcc/testsuite/gcc.target/loongarch/fcopysign.c 256bb0a8b0fff1f225a70fa39849ccd6 gcc/testsuite/gcc.target/loongarch/flogb.c c9d08bb72896d9b4861ce4073ec5e57f gcc/testsuite/gcc.target/loongarch/flt-abi-isa-1.c *************** bceca9004faa6729357ac4757f81b563 gcc/te *** 74180,74188 **** 2b0169ca798a1ab2ef548ccc6466fa75 gcc/testsuite/gcc.target/powerpc/cfuged-0.c 3f04d51f3229d580c7e3475221fac283 gcc/testsuite/gcc.target/powerpc/cfuged-1.c 4c1e1ec241d7a8a123436d0d1e5ad8e9 gcc/testsuite/gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c ! 88a65f2c70356d30873b9e3fbf14bd02 gcc/testsuite/gcc.target/powerpc/clone1.c b8e6c9f8968f2606ab8c45e4bae3d807 gcc/testsuite/gcc.target/powerpc/clone2.c ! 3f03cede40acb0331345348ac7486253 gcc/testsuite/gcc.target/powerpc/clone3.c df3bb7789b2e14f68bc9eb0b7af53cea gcc/testsuite/gcc.target/powerpc/cmpb-1.c a31afc98fa8da142eae0a79235d01462 gcc/testsuite/gcc.target/powerpc/cmpb-2.c 46f5ec685c2730e6e034d52190e348d3 gcc/testsuite/gcc.target/powerpc/cmpb-3.c --- 74480,74488 ---- 2b0169ca798a1ab2ef548ccc6466fa75 gcc/testsuite/gcc.target/powerpc/cfuged-0.c 3f04d51f3229d580c7e3475221fac283 gcc/testsuite/gcc.target/powerpc/cfuged-1.c 4c1e1ec241d7a8a123436d0d1e5ad8e9 gcc/testsuite/gcc.target/powerpc/check-builtin-vec_rlnm-runnable.c ! 689f90f1711f6d467fe0891512aa4482 gcc/testsuite/gcc.target/powerpc/clone1.c b8e6c9f8968f2606ab8c45e4bae3d807 gcc/testsuite/gcc.target/powerpc/clone2.c ! 53805374917dfb0695aa66ad55f2cc0a gcc/testsuite/gcc.target/powerpc/clone3.c df3bb7789b2e14f68bc9eb0b7af53cea gcc/testsuite/gcc.target/powerpc/cmpb-1.c a31afc98fa8da142eae0a79235d01462 gcc/testsuite/gcc.target/powerpc/cmpb-2.c 46f5ec685c2730e6e034d52190e348d3 gcc/testsuite/gcc.target/powerpc/cmpb-3.c *************** a415b80ac7d3605461a355a307f12336 gcc/te *** 74741,74748 **** 758a89dcb12764d68855b09f85e3a355 gcc/testsuite/gcc.target/powerpc/mmx-punpcklbw-1.c bc09ccd31ca386dda15202c6adf9371a gcc/testsuite/gcc.target/powerpc/mmx-punpckldq-1.c 44ea7227a4af1aed1643b840469d076d gcc/testsuite/gcc.target/powerpc/mmx-punpcklwd-1.c ! 180bf46e92dd9c837dbbc9cb04dd70c9 gcc/testsuite/gcc.target/powerpc/mod-1.c ! f86f87dd7c82f05785a8e530a4718235 gcc/testsuite/gcc.target/powerpc/mod-2.c e7f24c5bcf4677a0ae7a8fdcd1aeff80 gcc/testsuite/gcc.target/powerpc/mod-no_copy.c fed2453600d3a45ca2a5679c322ff194 gcc/testsuite/gcc.target/powerpc/mod-peephole.c b3bf87376bd60d32d00ef203e1cf7d6e gcc/testsuite/gcc.target/powerpc/mod-vectorize.c --- 75041,75048 ---- 758a89dcb12764d68855b09f85e3a355 gcc/testsuite/gcc.target/powerpc/mmx-punpcklbw-1.c bc09ccd31ca386dda15202c6adf9371a gcc/testsuite/gcc.target/powerpc/mmx-punpckldq-1.c 44ea7227a4af1aed1643b840469d076d gcc/testsuite/gcc.target/powerpc/mmx-punpcklwd-1.c ! 727ad93993ba39773cf01458fedef7c1 gcc/testsuite/gcc.target/powerpc/mod-1.c ! 2832a9d4f2590d3b9c3fdf8c23e24efc gcc/testsuite/gcc.target/powerpc/mod-2.c e7f24c5bcf4677a0ae7a8fdcd1aeff80 gcc/testsuite/gcc.target/powerpc/mod-no_copy.c fed2453600d3a45ca2a5679c322ff194 gcc/testsuite/gcc.target/powerpc/mod-peephole.c b3bf87376bd60d32d00ef203e1cf7d6e gcc/testsuite/gcc.target/powerpc/mod-vectorize.c *************** b96c1a1a69bfb6f4e16a5153a31d50f7 gcc/te *** 74771,74777 **** 8146fa4167bbb25230a315064dba5646 gcc/testsuite/gcc.target/powerpc/p10-bifs-vectorize-1.h 0eb8d7ac53ad9776863e302b1988e792 gcc/testsuite/gcc.target/powerpc/p10-bifs-vectorize-run-1.c 9c56caddea7ae0680f831cbc5cf18478 gcc/testsuite/gcc.target/powerpc/p10-identify.c ! 01797cdaaa29a1c3b7afa60542008236 gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c 7780b667e143b7a27c0d0e2bd81ed8e4 gcc/testsuite/gcc.target/powerpc/p10_vec_xl_sext.c 6b3fcb3de6af2c0b3ca86ded91487247 gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst-v2.c 54ba74546331eea6e76dd0101295232f gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c --- 75071,75077 ---- 8146fa4167bbb25230a315064dba5646 gcc/testsuite/gcc.target/powerpc/p10-bifs-vectorize-1.h 0eb8d7ac53ad9776863e302b1988e792 gcc/testsuite/gcc.target/powerpc/p10-bifs-vectorize-run-1.c 9c56caddea7ae0680f831cbc5cf18478 gcc/testsuite/gcc.target/powerpc/p10-identify.c ! 05222dfc42774b4f3acc94610419905e gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c 7780b667e143b7a27c0d0e2bd81ed8e4 gcc/testsuite/gcc.target/powerpc/p10_vec_xl_sext.c 6b3fcb3de6af2c0b3ca86ded91487247 gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst-v2.c 54ba74546331eea6e76dd0101295232f gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c *************** be09a09453e3025da575fddc32110640 gcc/te *** 75074,75079 **** --- 75374,75384 ---- d746d0fb9156720298fa3c2071023bbf gcc/testsuite/gcc.target/powerpc/pr109932-1.c d746d0fb9156720298fa3c2071023bbf gcc/testsuite/gcc.target/powerpc/pr109932-2.c 30266f999ed968f6bfdc98dae3651704 gcc/testsuite/gcc.target/powerpc/pr110011.c + 0fc82ebefb1ad802aeb7fce96c922091 gcc/testsuite/gcc.target/powerpc/pr110411-1.c + 39880b05b13efbac2f1002f1730f701b gcc/testsuite/gcc.target/powerpc/pr110411-2.c + c610c8d7cbb111b72025bba844602bd8 gcc/testsuite/gcc.target/powerpc/pr111380-1.c + 68b71977f7a24a5a6b3cb45a7941649a gcc/testsuite/gcc.target/powerpc/pr111380-2.c + b61eff89fa46bd55405a0700c83058dd gcc/testsuite/gcc.target/powerpc/pr113950.c c2f6d6cf82ef4931619d09e10a0a72aa gcc/testsuite/gcc.target/powerpc/pr16155.c 396ae287e72ecdda51bb3157818030a9 gcc/testsuite/gcc.target/powerpc/pr16286.c 198d8a69d2887e8fadcb050d90e21aa6 gcc/testsuite/gcc.target/powerpc/pr16458-1.c *************** a3fcebbcc49f4e8e80184966262e4f7c gcc/te *** 75324,75329 **** --- 75629,75635 ---- 96eb5b3fd3f2812a018f01fd63b67f9b gcc/testsuite/gcc.target/powerpc/pr88188-2.c 9489612e4380ce85494a409bef20f69a gcc/testsuite/gcc.target/powerpc/pr88188.c c75be0752698828e9a2843ce4464f296 gcc/testsuite/gcc.target/powerpc/pr88233.c + d2a99b9ff1da1e8d8120a3524731b2a5 gcc/testsuite/gcc.target/powerpc/pr88309.c 21d3c2767889f61719f3852cb79cdc5a gcc/testsuite/gcc.target/powerpc/pr88457.c edfc72e0b8e112e31e108fe03527f11f gcc/testsuite/gcc.target/powerpc/pr88845.c dd95a2250e2db6dba5532882d6c626fd gcc/testsuite/gcc.target/powerpc/pr88965.c *************** a07b15408dfcb7108da14ce215101920 gcc/te *** 75372,75377 **** --- 75678,75684 ---- f296eca9a733cf4bb4e198a3539e8cec gcc/testsuite/gcc.target/powerpc/pr96506-1.c 4057c480103b8c0cc29c131c3ab7cc50 gcc/testsuite/gcc.target/powerpc/pr96506-2.c 713c433c1e5c80361a865ab817cd27b1 gcc/testsuite/gcc.target/powerpc/pr96530.c + 3af685337838b80c79ee574f658c90cc gcc/testsuite/gcc.target/powerpc/pr96762.c 7586cf00c4e30dcc232464c012e42760 gcc/testsuite/gcc.target/powerpc/pr96787-1.c 6ea7fa7b0623f6ebd9652c5acea96884 gcc/testsuite/gcc.target/powerpc/pr96787-2.c 54d85fa08f775bccdcae07e834cb4364 gcc/testsuite/gcc.target/powerpc/pr96808.c *************** e02c101f5cebe3d8dfa298413197b1a7 gcc/te *** 75407,75412 **** --- 75714,75725 ---- 9fc46dc795793c68c68bcda62ba3bb06 gcc/testsuite/gcc.target/powerpc/pragma_power7.c 45affca437d2aa50cc215daff62e39c1 gcc/testsuite/gcc.target/powerpc/pragma_power8.c 62a405efa072f55c32f9a0806d8b7864 gcc/testsuite/gcc.target/powerpc/pragma_power9.c + dd58427154af8c0e48b89c68e7b990b6 gcc/testsuite/gcc.target/powerpc/predefine-p7-novsx.c + c99f3d7c3678eb974f17a9b2be94967f gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec-novsx.c + 17bbe3e953d2757e7a9bd15587a8e0df gcc/testsuite/gcc.target/powerpc/predefine-p8-noaltivec.c + fb4cb3b55f779a8de1bb7d7d81b8e375 gcc/testsuite/gcc.target/powerpc/predefine-p8-novsx.c + 1c332ef8081d846326294ca260db1f44 gcc/testsuite/gcc.target/powerpc/predefine-p8-pragma-vsx.c + fd92078433cbb9d31fe530ccf8b4d53d gcc/testsuite/gcc.target/powerpc/predefine-p9-novsx.c 3d5b95888852df8700894887dd8bfb69 gcc/testsuite/gcc.target/powerpc/prefix-add.c 22fb944e0690c3907fb29d60c970351a gcc/testsuite/gcc.target/powerpc/prefix-di-constant.c 8db875e0cffec64424eec6fa93ff403b gcc/testsuite/gcc.target/powerpc/prefix-ds-dq.c *************** dad38917ecea549937413c9cd3a59371 gcc/te *** 76458,76463 **** --- 76771,76804 ---- 4ad91f5205e504cc55e820e0db68a469 gcc/testsuite/gcc.target/riscv/_Float16-zhinxmin-2.c db63dce5cb81a9322d507198be4afe2b gcc/testsuite/gcc.target/riscv/_Float16-zhinxmin-3.c 3ff3e986a97f4269e8ce353c4d141360 gcc/testsuite/gcc.target/riscv/_Float16.c + 0048222c3214659a102f8943c028e251 gcc/testsuite/gcc.target/riscv/amo-table-a-6-amo-add-1.c + 06a5cf226b82a4160ef7067e31d4be15 gcc/testsuite/gcc.target/riscv/amo-table-a-6-amo-add-2.c + 5b11b65ac96ad60d4d8a0ba99017e945 gcc/testsuite/gcc.target/riscv/amo-table-a-6-amo-add-3.c + 7354dc7329da0228c6207452d3153f8c gcc/testsuite/gcc.target/riscv/amo-table-a-6-amo-add-4.c + 2004c80a74b2f833fc0b49288652e696 gcc/testsuite/gcc.target/riscv/amo-table-a-6-amo-add-5.c + 2da74a8111cf2a0ccbf219e75b58bf76 gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-1.c + 049f2d9cf5ad44012364af1fd3bfd3a0 gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-2.c + 57913bccade0431d0eb55301bd413c66 gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-3.c + a1132f7ca124fdb851a8693eabf421a3 gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-4.c + 76a9e3aadcd551b1a75ad054d6ac1e96 gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-5.c + a380666faafddbbe6f4182960362330b gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-6.c + 6803c24c057b65c61385c8e11e0847cb gcc/testsuite/gcc.target/riscv/amo-table-a-6-compare-exchange-7.c + f25d927dce4cde94a5289aad8b6b047a gcc/testsuite/gcc.target/riscv/amo-table-a-6-fence-1.c + 53da7d77a0adaf4f0d1a5d7c4136769a gcc/testsuite/gcc.target/riscv/amo-table-a-6-fence-2.c + 0e86e9ea5504f7a54357083c389e26fe gcc/testsuite/gcc.target/riscv/amo-table-a-6-fence-3.c + 4303c6cf102ec47c1e8aecfc356b6220 gcc/testsuite/gcc.target/riscv/amo-table-a-6-fence-4.c + 679dc69db0dd80c41a22f3b30e87e75d gcc/testsuite/gcc.target/riscv/amo-table-a-6-fence-5.c + 126b2edcbd0a7bab16944dc3b8d4df68 gcc/testsuite/gcc.target/riscv/amo-table-a-6-load-1.c + 1f2f0af2d1d1a6c6d8a28068665aa518 gcc/testsuite/gcc.target/riscv/amo-table-a-6-load-2.c + 9bb3c708ebe6b0227625d12d6df74b5e gcc/testsuite/gcc.target/riscv/amo-table-a-6-load-3.c + b8b11fc19be4c9f16bb6d02570ad339c gcc/testsuite/gcc.target/riscv/amo-table-a-6-store-1.c + 64ab66e58baf9a9a71d68751d9bf495e gcc/testsuite/gcc.target/riscv/amo-table-a-6-store-2.c + e34265623dff1b098c30c6811c401145 gcc/testsuite/gcc.target/riscv/amo-table-a-6-store-compat-3.c + 8e2371939f5cb67783036d3832828911 gcc/testsuite/gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c + 0e003a959365e61ce6194435e11658c3 gcc/testsuite/gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c + 7152af93ecf11ed856f3037f13448cc4 gcc/testsuite/gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c + e86ac14a541e2daba2f524620e80c7a6 gcc/testsuite/gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c + a6e1c23b73abb295315326de9c127cbf gcc/testsuite/gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c d0db5e2267389a1185e58b9406371ee4 gcc/testsuite/gcc.target/riscv/arch-1.c 3b7707b06c4df57de1fbf8812c8df071 gcc/testsuite/gcc.target/riscv/arch-10.c ec7f5ab1f99ea69345d1e5ac8e166932 gcc/testsuite/gcc.target/riscv/arch-11.c *************** b353e25bf8c050c9bb23e150b537ad4a gcc/te *** 76468,76474 **** 8c74fded78ad83fce8b9cc3868c85702 gcc/testsuite/gcc.target/riscv/arch-16.c 6f8090b93cd463d74214942e95716715 gcc/testsuite/gcc.target/riscv/arch-17.c e8df073c7b4dc1500bc1b56aebb64125 gcc/testsuite/gcc.target/riscv/arch-18.c ! bdf6e671a35ce62da3862697db65e753 gcc/testsuite/gcc.target/riscv/arch-19.c 07c54de88d120fb9d5f2cb208bd8ebcf gcc/testsuite/gcc.target/riscv/arch-2.c acb7dcb6bf251bf541bd328345825a0f gcc/testsuite/gcc.target/riscv/arch-3.c a7fd98a8530a5994fa6594c79ed33fc5 gcc/testsuite/gcc.target/riscv/arch-4.c --- 76809,76815 ---- 8c74fded78ad83fce8b9cc3868c85702 gcc/testsuite/gcc.target/riscv/arch-16.c 6f8090b93cd463d74214942e95716715 gcc/testsuite/gcc.target/riscv/arch-17.c e8df073c7b4dc1500bc1b56aebb64125 gcc/testsuite/gcc.target/riscv/arch-18.c ! 3cb693da5f0ad251087876b29cc0a617 gcc/testsuite/gcc.target/riscv/arch-19.c 07c54de88d120fb9d5f2cb208bd8ebcf gcc/testsuite/gcc.target/riscv/arch-2.c acb7dcb6bf251bf541bd328345825a0f gcc/testsuite/gcc.target/riscv/arch-3.c a7fd98a8530a5994fa6594c79ed33fc5 gcc/testsuite/gcc.target/riscv/arch-4.c *************** ec6ec43c9e76076efb0caf7fd6975bd5 gcc/te *** 76566,76572 **** --- 76907,76916 ---- 5201d6361bb5315fd35a51ff807d7115 gcc/testsuite/gcc.target/riscv/pr107786.c d84dbc7cecc66316cc6e095e4da62b30 gcc/testsuite/gcc.target/riscv/pr108987.c 2dff48c2cbadd1b5f5afb4808e4eadff gcc/testsuite/gcc.target/riscv/pr109508.c + 15f456db6fb5e46494c853d4c141ca96 gcc/testsuite/gcc.target/riscv/pr113095.c + ef588c023f4aba7b77e02fe6afe13376 gcc/testsuite/gcc.target/riscv/pr114130.c 10400130cc47973d43925669f3c795ed gcc/testsuite/gcc.target/riscv/pr84660.c + d0bc2826c32a584c39586e1efc3830d5 gcc/testsuite/gcc.target/riscv/pr89835.c 287e116d84e5eca39a410aca336f89b1 gcc/testsuite/gcc.target/riscv/pr93202.c 01c8227bf1b5efa52e434a407c33930d gcc/testsuite/gcc.target/riscv/pr93304.c f95453a04d25316c015010a3d66699b8 gcc/testsuite/gcc.target/riscv/pr95252.c *************** b7fff0dcab7fdef2f655cc4a09e22a67 gcc/te *** 76605,76610 **** --- 76949,76955 ---- fab4d2fa332615f40a97719626ec05ac gcc/testsuite/gcc.target/riscv/ret-1.c 1bdaef92e9c1a523c9f2808c30b27034 gcc/testsuite/gcc.target/riscv/riscv.exp 6c06251f46956faed6e5b540e9ab010f gcc/testsuite/gcc.target/riscv/rv32-load-64bit-constant.c + 5e75fc6ae813fde66888597b1fe4999c gcc/testsuite/gcc.target/riscv/rvv/autovec/pr114734.c f3772720103b7015f51fee95e5d294ea gcc/testsuite/gcc.target/riscv/rvv/base/abi-1.c 6ba19fed5c959266c0b391b99f5c338e gcc/testsuite/gcc.target/riscv/rvv/base/abi-2.c 79df4b147a8c962b142cfd7748451769 gcc/testsuite/gcc.target/riscv/rvv/base/abi-3.c *************** f181bbabda2838bf06773fa6a4994ed2 gcc/te *** 76845,76855 **** --- 77190,77204 ---- d83d871fd46ba7b8f2aab7967f5ba049 gcc/testsuite/gcc.target/riscv/rvv/base/pr109479-5.c ee09eca4cd8eb6ecb824b7eacc075068 gcc/testsuite/gcc.target/riscv/rvv/base/pr109479-6.c 185f7c3e9c87c3e119932441e4f92b9f gcc/testsuite/gcc.target/riscv/rvv/base/pr109535.c + 9ac0882f07a701a1563294ac9cbd0684 gcc/testsuite/gcc.target/riscv/rvv/base/pr111412.c + a1198476a168109993822177d132b0d1 gcc/testsuite/gcc.target/riscv/rvv/base/pr111935.c c804a0fabb820aad63370b0a038cf47a gcc/testsuite/gcc.target/riscv/rvv/base/pragma-1.c 101f4c473acff10d55020431a73f7ca9 gcc/testsuite/gcc.target/riscv/rvv/base/pragma-2.c f2a7c0ac32100a9bfa19647d4c2134f8 gcc/testsuite/gcc.target/riscv/rvv/base/pragma-3.c 979e78c5ed1d2ba91a46584480362b26 gcc/testsuite/gcc.target/riscv/rvv/base/riscv_vector.h d2d2e9fe0f87d34014cb558f4e5f1add gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-1.c + 8aa545f9295be5af5cb79ed082a48e21 gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-10.c + 3b3515c3019248bd47a7c7458e48a018 gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-11.c f0ef727ad421676bfc8524d445606492 gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-2.c 6c7cdecd10fb8854fb71be95c2dd58c6 gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-3.c 8c21b304dcf8bfcea2ca1180cbeec2d2 gcc/testsuite/gcc.target/riscv/rvv/base/scalar_move-4.c *************** cbc1ef68a39770e18309f1b2c9ab7db7 gcc/te *** 76896,76901 **** --- 77245,77256 ---- 02e7d50b5fb12f944b9afc426178af51 gcc/testsuite/gcc.target/riscv/rvv/base/user-5.c 1f02e86934525ff05992c9fcc88fd48a gcc/testsuite/gcc.target/riscv/rvv/base/user-6.c 5d33efd776de379270a693a7f842dde5 gcc/testsuite/gcc.target/riscv/rvv/base/vlenb-1.c + 4cfd50a9c438a73924f8539d4383580d gcc/testsuite/gcc.target/riscv/rvv/base/vslide1down-1.c + ddc4ff56f58f918154e9b63de0e8bccc gcc/testsuite/gcc.target/riscv/rvv/base/vslide1down-2.c + 76a6a3da08f0914a2d119286ff9160d8 gcc/testsuite/gcc.target/riscv/rvv/base/vslide1down-3.c + 9d24e0deb736c3c9b17f5bb2a0a68e5c gcc/testsuite/gcc.target/riscv/rvv/base/vslide1up-1.c + 47393f2f670b93306e900a7fd1b73e9d gcc/testsuite/gcc.target/riscv/rvv/base/vslide1up-2.c + e79224c8da65498cfb7030da460d6b91 gcc/testsuite/gcc.target/riscv/rvv/base/vslide1up-3.c ca5aa1738c25fb0d043d454c19d9c97c gcc/testsuite/gcc.target/riscv/rvv/rvv.exp 285305cd7953cf2cabe0a4cc1b898121 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c 4b5b4534e3089791a73b9a8cf87c3ff6 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c *************** c5560f1f8999bfa18ab4f2f0d119bb16 gcc/te *** 76991,77010 **** 796463a847c77ef839f0684a68e61b9f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-76.c 917f71c31d8bf2d5bfc3d0fb98633c91 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-77.c 5e1ae57316930c51af9784e9bd1387b1 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-78.c ! 2090de7d209018eada15a2c7dae527aa gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-79.c 2f262f8972c41f77ec4a3c6c6ee3cd3e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-8.c ! fba78836e09fcc2af635ce2c308a16bb gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-80.c 8f56909fce07b0d9c12d5d433613dcbc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-81.c 87748ecbb0fe8632692bd5db27b00751 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-82.c b2486458349848c4bca58876982aefe2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-83.c 5abf8be4718ed0c17c82545b39218833 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-84.c 81b52d356bb3432353c45ec0c41c1ca7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-85.c ! 431a8b5c9077f5e1096664b384890d6c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-86.c ! ca7e8d156d0bb86c68c251dedb789c68 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-87.c ! 95b5e50659a5d252ff02dfd10d6af0c7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-88.c ! 19629779e23c6de9f7f1c9747648a059 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-89.c e7c82b20323459f6b2210aadce4e879d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-9.c ! 718f15b60b9a5620f911fbc321849dc2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-90.c 330e45620d4a1dc62bc889947c13f8a9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-91.c 6068a669c5c1ae7adc6a2d378cf58070 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-92.c 4f6f036b9ca8580af618b960abc2adb8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-93.c --- 77346,77365 ---- 796463a847c77ef839f0684a68e61b9f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-76.c 917f71c31d8bf2d5bfc3d0fb98633c91 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-77.c 5e1ae57316930c51af9784e9bd1387b1 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-78.c ! 171a8db3dd6bf06ee79da49b682b0bd7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-79.c 2f262f8972c41f77ec4a3c6c6ee3cd3e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-8.c ! d7e29a76d30441515aad1ec743959d49 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-80.c 8f56909fce07b0d9c12d5d433613dcbc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-81.c 87748ecbb0fe8632692bd5db27b00751 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-82.c b2486458349848c4bca58876982aefe2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-83.c 5abf8be4718ed0c17c82545b39218833 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-84.c 81b52d356bb3432353c45ec0c41c1ca7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-85.c ! 5048d6e254228b81564ca7743b1d9302 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-86.c ! c02f2d9b8832b79908962f5d2f89c565 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-87.c ! 735e4904c4c70e4a937ba3e4f8fa8455 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-88.c ! d49e063d46b648688611c6c4437618c8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-89.c e7c82b20323459f6b2210aadce4e879d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-9.c ! 288635edc275526eb148a600f9e44c46 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-90.c 330e45620d4a1dc62bc889947c13f8a9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-91.c 6068a669c5c1ae7adc6a2d378cf58070 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-92.c 4f6f036b9ca8580af618b960abc2adb8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/avl_single-93.c *************** fc42786a48f30a95b0aa2552f60845f0 gcc/te *** 77061,77068 **** 705bfb13f27b4cec2aa9023c2b083749 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/imm_switch-9.c 048cf6bf1d5733af6537f6eccfb61549 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr109399.c a1e7dbb39ebd6128145b6f15ed8c1dd2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr109547.c 979e78c5ed1d2ba91a46584480362b26 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/riscv_vector.h ! 43222f020a3d499731c953a12e53eacd gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c e784089ee6a1f060eacee1982ed1f7db gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c ebaf1c67b650c4f5ab06ad92657d7b9b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c 4f2a6e9a0f005f8a989a9e6e0923e66a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c --- 77416,77426 ---- 705bfb13f27b4cec2aa9023c2b083749 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/imm_switch-9.c 048cf6bf1d5733af6537f6eccfb61549 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr109399.c a1e7dbb39ebd6128145b6f15ed8c1dd2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr109547.c + 7a2ed6bd9e81eaae8bb92caa16f5bb15 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr111234.c + 80809ebf710cbe20a0e8c2aad7adfd72 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr114172.c + 4a0f223688b98495613518b1ffe9276d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr114747.c 979e78c5ed1d2ba91a46584480362b26 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/riscv_vector.h ! f11760e94ffe3b732af68755b14f9aac gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c e784089ee6a1f060eacee1982ed1f7db gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c ebaf1c67b650c4f5ab06ad92657d7b9b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c 4f2a6e9a0f005f8a989a9e6e0923e66a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c *************** b858428a388301741cd16fcf44e14b3d gcc/te *** 77073,77101 **** 052163e13c11a989da19f69c5483bc69 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c d3f8bfd09ff66883f9f5b2ea5abddd34 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c 79eeb1b5ac993a7dc7555c7ebbb4a62a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c ! 784cfa9ea057f94f6ade470d423b41b8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c 052163e13c11a989da19f69c5483bc69 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c 50db33f3c6f67e1e76ac882e3fe88fdb gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c bd6b4166776589d38578534fdb462c5e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c 3535b26e3a1b52b5d0c62d828e073357 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c ! fb813efb57521219581dc15b334e166a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c ! a3e7c66f828a15a0d1bff652a646f332 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c ! cf3bbc56dee842efb700c82de6f445cc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c a60e9c0abdff4a2b670038c01dad001c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c c3e8c12157effde2c0828aae10c8ded9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c 0f03896425e96f2a731c273a9e789819 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c ! 699bd2000c8931689d2a39f270ea02d8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c 444c847247181076f570df33b89b775e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c 59d824b59f6f977e82ff9fec944724aa gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c fd7a489b379cbc355b9c0517415bc76b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c 4e40c93c4a4ba66ad97b6d904155d48f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c 22f5234a47ff16ec46cf68cc6d1263ee gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c b3088ae1d08a56007f0a3b4025a0bfe3 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c ! 107071f1f23f9b2bfeebff2f2aef136e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c fe69a1f13ed56c9319b19189d2c5d03c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c 4cbde9c696f4f47e2e112b46834d445d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c 4a216119bd78633d62ca26d65072e411 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c ! f6dc998862f42d8d36b9f67a201b6749 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c bbbdb5eef3d195df54834ded7a7480b0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c a8d69c2863bc49303123e0c9281a3854 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c b9629a9c4e5728ec35d8896fae770417 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c --- 77431,77459 ---- 052163e13c11a989da19f69c5483bc69 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c d3f8bfd09ff66883f9f5b2ea5abddd34 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c 79eeb1b5ac993a7dc7555c7ebbb4a62a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c ! e359eede1f4d754c36acbd5dde30c566 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c 052163e13c11a989da19f69c5483bc69 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c 50db33f3c6f67e1e76ac882e3fe88fdb gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c bd6b4166776589d38578534fdb462c5e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c 3535b26e3a1b52b5d0c62d828e073357 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c ! 8de32e26d889dbb612b6c7f33ca2e20e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c ! b58f4013aea7bbde015738c2a0b88b6d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c ! 5d4761c78bdceba94189f60889ea294a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c a60e9c0abdff4a2b670038c01dad001c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c c3e8c12157effde2c0828aae10c8ded9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c 0f03896425e96f2a731c273a9e789819 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c ! 905f655c3b4a02ace955472cbcd63586 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c 444c847247181076f570df33b89b775e gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c 59d824b59f6f977e82ff9fec944724aa gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c fd7a489b379cbc355b9c0517415bc76b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c 4e40c93c4a4ba66ad97b6d904155d48f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c 22f5234a47ff16ec46cf68cc6d1263ee gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c b3088ae1d08a56007f0a3b4025a0bfe3 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c ! 239583f85fcfff14255740dfae2147ea gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c fe69a1f13ed56c9319b19189d2c5d03c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c 4cbde9c696f4f47e2e112b46834d445d gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c 4a216119bd78633d62ca26d65072e411 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c ! ec14f78b70386f5961952de98dee8d65 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c bbbdb5eef3d195df54834ded7a7480b0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c a8d69c2863bc49303123e0c9281a3854 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c b9629a9c4e5728ec35d8896fae770417 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c *************** ba8f559a7cb7a1cbb00e7a9065b775d9 gcc/te *** 77151,77157 **** 5afb418823759cc30edb6345e149f935 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c 6eadbc3f970862a48b93b52a27dc87a0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c 9fc5619b5620271a844b688027b73d26 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c ! 3c7ea45503d41e8482783e8b1997e6e2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c 1b3592e301087861b43413e8d32e97fe gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c 46d9ccf190a37af9fc1ed98eadd21e46 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c f78bd912542139439bb9e24d6adea4c2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c --- 77509,77515 ---- 5afb418823759cc30edb6345e149f935 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c 6eadbc3f970862a48b93b52a27dc87a0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c 9fc5619b5620271a844b688027b73d26 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c ! 7b407cb853c7cd0e3c50a920971e9787 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c 1b3592e301087861b43413e8d32e97fe gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c 46d9ccf190a37af9fc1ed98eadd21e46 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c f78bd912542139439bb9e24d6adea4c2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c *************** b26000e9c0a5bb541868bbef1474f436 gcc/te *** 77242,77250 **** 5c5fb8c6cc3dd7fe6ed1ed9c07afa635 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c e28b3ffa46225b818e1a02acc5fdb8b7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c 52459ca489398dc10434def9c200a56a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c ! 2d66afd9c448f735c7677ec46172bd6b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c ! 614fc2d7a8da25c8d56c5e81c331677c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c ! 5e205a0bb7eebd9477ad944ab5f580ec gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c 672232e2a88ca96b6865a7cef6e30a9a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c 70ef5c4f8b5ef06345cd1d6648ed1b5b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c c595191ca3cf0334e24eb76663819cf6 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c --- 77600,77608 ---- 5c5fb8c6cc3dd7fe6ed1ed9c07afa635 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c e28b3ffa46225b818e1a02acc5fdb8b7 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c 52459ca489398dc10434def9c200a56a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c ! ea2f51b79fa82b91bb114cd7892058c0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c ! 3f110007d9dcfe337a273ebf2d146abe gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c ! 46860b4a605befef8546da1651ec3453 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c 672232e2a88ca96b6865a7cef6e30a9a gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c 70ef5c4f8b5ef06345cd1d6648ed1b5b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c c595191ca3cf0334e24eb76663819cf6 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c *************** db6df5dcb43e00a72a21a975269f78dd gcc/te *** 77253,77259 **** 4d8f7e4e2d1982d7a261d11693713291 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c e0642f45de21c682c835326574f4af73 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c e0642f45de21c682c835326574f4af73 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c ! b58923db12984b032da500569f3e9608 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-1.c 8dbce6c07ab27566e362127d76f4ec3b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-10.c fc9ffbceb45276433055433ab5cccde8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-11.c fb343d69256d9274eb511b85996546af gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-12.c --- 77611,77617 ---- 4d8f7e4e2d1982d7a261d11693713291 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c e0642f45de21c682c835326574f4af73 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c e0642f45de21c682c835326574f4af73 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c ! dd8fd6b148e084df7144ac26b922c036 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-1.c 8dbce6c07ab27566e362127d76f4ec3b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-10.c fc9ffbceb45276433055433ab5cccde8 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-11.c fb343d69256d9274eb511b85996546af gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-12.c *************** d35453338039c171b25f8fbac411f023 gcc/te *** 77268,77277 **** 907ee14805809864e49ba4e89fdff507 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-20.c 7ea20a959dae59f4ea42c25acfe09c7b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-3.c 86a36c3856d47f9bc8d6faa45301210c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-4.c ! b3a8d3baaacfd44c7be817dce26936fc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-5.c ! 18a55800c38a323938308baad4dcb2c1 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-6.c ! 053f99474f5703428adbe8504fef4d98 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-7.c ! 4d0028da0a021add7d87a6b11853fd79 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-8.c c6c2a079ad0777dfb406f3bc0ddfc0bc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-9.c aa81391fc854ad47770a38a28d058507 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c d1e3c702d09d49be6ad72763837f11e2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c --- 77626,77635 ---- 907ee14805809864e49ba4e89fdff507 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-20.c 7ea20a959dae59f4ea42c25acfe09c7b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-3.c 86a36c3856d47f9bc8d6faa45301210c gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-4.c ! ad53147ae39ee1209cc70279faa0c48b gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-5.c ! 06d51ace5bfd9c938d352531b239cab4 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-6.c ! 81e45696bdf73258ca945fedc30a50f0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-7.c ! b9110271d49a810b9cbef8bad34c8cba gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-8.c c6c2a079ad0777dfb406f3bc0ddfc0bc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvl-9.c aa81391fc854ad47770a38a28d058507 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c d1e3c702d09d49be6ad72763837f11e2 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c *************** aceea3b8111b8a3217df3cc3b361af30 gcc/te *** 77284,77293 **** 75a834de6cdf18b939b4be0dffff9fe4 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c b03b6b1a414d3cfd938a9571d381faee gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c 451ac88183eb65e5a95f5acbef6ed959 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c ! e19ce86bf9d3ed75b1dfbe415ab052bc gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c 7ba004379b11477bd041d22935c65ff9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c 3172223a8bccaf65edbbcfce4ed6115f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c ! 32684c2ed3248afb813730a093cd2ca6 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c 0e31fa4843c79c3ccbd113e156fad449 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c 0b94170e938a6626be3f3d497d25f3f5 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c 29b336d6fc945bdebe4205750de2dbd4 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c --- 77642,77651 ---- 75a834de6cdf18b939b4be0dffff9fe4 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c b03b6b1a414d3cfd938a9571d381faee gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c 451ac88183eb65e5a95f5acbef6ed959 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c ! 1f6a133c3132a6cd8a11300e639345b0 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c 7ba004379b11477bd041d22935c65ff9 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c 3172223a8bccaf65edbbcfce4ed6115f gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c ! 390d89cee05645f284e8f473addbb762 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c 0e31fa4843c79c3ccbd113e156fad449 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c 0b94170e938a6626be3f3d497d25f3f5 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c 29b336d6fc945bdebe4205750de2dbd4 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c *************** c08993fb3b1eec219ac8ae53cc03597e gcc/te *** 77302,77307 **** --- 77660,77666 ---- e235c279f7ce15f9087254bf97918762 gcc/testsuite/gcc.target/riscv/save-restore-7.c 88dbe500ee71e24bf3a5827524daa6a6 gcc/testsuite/gcc.target/riscv/save-restore-8.c ca1e563124a7035c98d86fadbdd1371d gcc/testsuite/gcc.target/riscv/save-restore-9.c + 4dcd496e7b91e399f9727124426c49df gcc/testsuite/gcc.target/riscv/sfb.c 5fcf0b559c722cc3ed68b1ddfc2e1622 gcc/testsuite/gcc.target/riscv/sge.c af2cd5ac59fa1b5f6b8381db83629b16 gcc/testsuite/gcc.target/riscv/sgeu.c 763d05548f04a56e951795e6503a810c gcc/testsuite/gcc.target/riscv/shift-and-1.c *************** d509ef7215df7a85f46d6cbdc8018e22 gcc/te *** 79304,79309 **** --- 79663,79669 ---- 753f5121640aa2d9e67d4f235bed8d2b gcc/testsuite/gdc.dg/imports/pr108050/mod2.d b0fb7628aa04803e7405378e8ff66d8c gcc/testsuite/gdc.dg/imports/pr108050/package.d c1371b9d51218c700b58595265d42b2d gcc/testsuite/gdc.dg/imports/pr108877a.d + 9485d0785daa621b682e2b2f40ada8b1 gcc/testsuite/gdc.dg/imports/pr113125.d 7ae8eee97923fab094ae5ca5a1eca902 gcc/testsuite/gdc.dg/imports/pr92216.d 8120e5c267785a8c8b8eb099660e9a14 gcc/testsuite/gdc.dg/intrinsics.d 242a471b046e60438681d9b34060435b gcc/testsuite/gdc.dg/lto/lto.exp *************** a9a8e149ae5d411f067a1e0312491f4d gcc/te *** 79344,79349 **** --- 79704,79714 ---- f0bb47c02bfbb905cf063586cccf248d gcc/testsuite/gdc.dg/pr110514b.d 5c59d3e98036f128b405b1247659bb7f gcc/testsuite/gdc.dg/pr110514c.d 7124a74c780cc3de82649fa56120e037 gcc/testsuite/gdc.dg/pr110514d.d + 65d0d00a4d68ddc7476ea00fc7bcf91a gcc/testsuite/gdc.dg/pr110712.d + 5bf4c18033711e862e1b35b2017684a3 gcc/testsuite/gdc.dg/pr112270.d + a2d402e0596a4abb1dc6e25b11e9aa9c gcc/testsuite/gdc.dg/pr112285.d + 83f6a6a53d8587bd4243109d22d0b9f5 gcc/testsuite/gdc.dg/pr112290.d + 9b63f428c6cdc3f7abd69df6a3077880 gcc/testsuite/gdc.dg/pr113125.d d32aa8ed5ea10931be4ddb5bb9e863d8 gcc/testsuite/gdc.dg/pr89017.d 53fa8db94d4ca3fc9ba83769733dc0e7 gcc/testsuite/gdc.dg/pr89041.d 6c316b13f71ea31fcada56b58a41ebd1 gcc/testsuite/gdc.dg/pr89042a.d *************** ff744a0a8c5876d35d04359a49ff0f84 gcc/te *** 79471,79476 **** --- 79836,79843 ---- 1a8b304f6e334e6a55c02413ae1ffbff gcc/testsuite/gdc.dg/torture/pr110406.d 827ebe506781bb2fabf9411464081efe gcc/testsuite/gdc.dg/torture/pr110516a.d de9193ce38f7ef3ee1cc3a94fc8a92dc gcc/testsuite/gdc.dg/torture/pr110516b.d + ad67c2aef0ecf01677e58695b0cc5d36 gcc/testsuite/gdc.dg/torture/pr113758.d + c3a3fcac804266bf984aad50e1f84157 gcc/testsuite/gdc.dg/torture/pr114171.d 580aadb24b666799e25f1f02ef3b7bbb gcc/testsuite/gdc.dg/torture/pr92309.d d5626e21f8cdc22799175cb6adfddfd6 gcc/testsuite/gdc.dg/torture/pr94424.d ae5b279461655f243d767b80a6d0bc1b gcc/testsuite/gdc.dg/torture/pr94777b.d *************** daabe595b61af45fef53af1e4537fb53 gcc/te *** 80138,80144 **** 97cf4856aa8990a0fe28a6aabadd9a23 gcc/testsuite/gdc.test/compilable/pr9374.d 7d64317f6d15dac75cff6ccb494e7ef9 gcc/testsuite/gdc.test/compilable/pr9383.d c87c15c1a87df8b9292800c22fb9d727 gcc/testsuite/gdc.test/compilable/pr9471.d ! 94597a8ad6d65c7f6a4f6e4b87c1e96d gcc/testsuite/gdc.test/compilable/previewin.d 600189166a802a0fdc956497de7efadd gcc/testsuite/gdc.test/compilable/protattr.d 20b93d64c0f1a131967d443511e7bb0c gcc/testsuite/gdc.test/compilable/protection.d cb143d7698f10438d8c8cf1f61f40f48 gcc/testsuite/gdc.test/compilable/protection/aggregate/mod14275.d --- 80505,80511 ---- 97cf4856aa8990a0fe28a6aabadd9a23 gcc/testsuite/gdc.test/compilable/pr9374.d 7d64317f6d15dac75cff6ccb494e7ef9 gcc/testsuite/gdc.test/compilable/pr9383.d c87c15c1a87df8b9292800c22fb9d727 gcc/testsuite/gdc.test/compilable/pr9471.d ! 2026505b4c5299ff0ad966add4ef2d4e gcc/testsuite/gdc.test/compilable/previewin.d 600189166a802a0fdc956497de7efadd gcc/testsuite/gdc.test/compilable/protattr.d 20b93d64c0f1a131967d443511e7bb0c gcc/testsuite/gdc.test/compilable/protection.d cb143d7698f10438d8c8cf1f61f40f48 gcc/testsuite/gdc.test/compilable/protection/aggregate/mod14275.d *************** bd4118fd768f3467307efc9602103e4c gcc/te *** 83485,83492 **** 5bf2af08f2cfa8d41242dd6a637a7d09 gcc/testsuite/gfortran.dg/allocate_with_source_22.f03 38cc9fdec67f82f032977fc8ad612b4c gcc/testsuite/gfortran.dg/allocate_with_source_23.f03 b1a373e9e419d53e737be3282523545d gcc/testsuite/gfortran.dg/allocate_with_source_24.f90 ! 31836f6ed153d10e8afd2831a52015e7 gcc/testsuite/gfortran.dg/allocate_with_source_25.f90 f27e65cbaa74101ffeaa1c5d321f9f84 gcc/testsuite/gfortran.dg/allocate_with_source_26.f90 8cd7bcf0efad3a6d0e1f5b5492a6cdf7 gcc/testsuite/gfortran.dg/allocate_with_source_3.f90 6e6cc1fe5ed4f0f5c650bc8b6e0634b0 gcc/testsuite/gfortran.dg/allocate_with_source_4.f90 6df025374b593e0339c7b746700d109e gcc/testsuite/gfortran.dg/allocate_with_source_5.f90 --- 83852,83861 ---- 5bf2af08f2cfa8d41242dd6a637a7d09 gcc/testsuite/gfortran.dg/allocate_with_source_22.f03 38cc9fdec67f82f032977fc8ad612b4c gcc/testsuite/gfortran.dg/allocate_with_source_23.f03 b1a373e9e419d53e737be3282523545d gcc/testsuite/gfortran.dg/allocate_with_source_24.f90 ! f0618b11a21d03826df78d5c6b9cb863 gcc/testsuite/gfortran.dg/allocate_with_source_25.f90 f27e65cbaa74101ffeaa1c5d321f9f84 gcc/testsuite/gfortran.dg/allocate_with_source_26.f90 + 38e19991aabdffdc81e84c14648b7da3 gcc/testsuite/gfortran.dg/allocate_with_source_27.f90 + bf834ed2e7b3a4fdc0884e37ef74f79c gcc/testsuite/gfortran.dg/allocate_with_source_28.f90 8cd7bcf0efad3a6d0e1f5b5492a6cdf7 gcc/testsuite/gfortran.dg/allocate_with_source_3.f90 6e6cc1fe5ed4f0f5c650bc8b6e0634b0 gcc/testsuite/gfortran.dg/allocate_with_source_4.f90 6df025374b593e0339c7b746700d109e gcc/testsuite/gfortran.dg/allocate_with_source_5.f90 *************** e1bf720c8b98d36e88fa0076e1648f6c gcc/te *** 83576,83581 **** --- 83945,83952 ---- 3130a308b1d1471577ea44bf582c1bec gcc/testsuite/gfortran.dg/arith_divide_no_check.f 9f88f5ececa8e91571e1a769c9375575 gcc/testsuite/gfortran.dg/arithmetic_if.f90 24b0244474414332a99316c4dd5ae1c4 gcc/testsuite/gfortran.dg/arithmetic_overflow_1.f90 + 2f2e149faf63056b04ee297a55fc63eb gcc/testsuite/gfortran.dg/arithmetic_overflow_2.f90 + d8210c12388b205cb2b9135a95c054c0 gcc/testsuite/gfortran.dg/arithmetic_overflow_3.f90 a9062c0997ab4b5ad27ce315aa0297b6 gcc/testsuite/gfortran.dg/array_1.f90 273b15994d9555f1b73c7cfac1fe3512 gcc/testsuite/gfortran.dg/array_2.f90 05a8e8fe320b8ec1d79b799c4d7a8693 gcc/testsuite/gfortran.dg/array_3.f90 *************** c73b6100086b4db74c5f70aa2b7a9af6 gcc/te *** 83788,83794 **** 0203f4cea50a77f1e902a5cab76071cc gcc/testsuite/gfortran.dg/associate_51.f90 9227f9deb3946ff1f97accf4b6250ac7 gcc/testsuite/gfortran.dg/associate_52.f90 c00a8dd4766b03f7af8034f983b17dae gcc/testsuite/gfortran.dg/associate_53.f90 ! 1ef13794d19d5e1db5cd12f4d0d15e2b gcc/testsuite/gfortran.dg/associate_54.f90 a33adc54f6651cbed7e49f420e779c05 gcc/testsuite/gfortran.dg/associate_55.f90 e266ed6fc3d13470e97d022451deea4e gcc/testsuite/gfortran.dg/associate_56.f90 0dd4c19a8ee9b0815baed4922597d206 gcc/testsuite/gfortran.dg/associate_57.f90 --- 84159,84165 ---- 0203f4cea50a77f1e902a5cab76071cc gcc/testsuite/gfortran.dg/associate_51.f90 9227f9deb3946ff1f97accf4b6250ac7 gcc/testsuite/gfortran.dg/associate_52.f90 c00a8dd4766b03f7af8034f983b17dae gcc/testsuite/gfortran.dg/associate_53.f90 ! 0d8e2541ccff50f3ccdc418379d875b5 gcc/testsuite/gfortran.dg/associate_54.f90 a33adc54f6651cbed7e49f420e779c05 gcc/testsuite/gfortran.dg/associate_55.f90 e266ed6fc3d13470e97d022451deea4e gcc/testsuite/gfortran.dg/associate_56.f90 0dd4c19a8ee9b0815baed4922597d206 gcc/testsuite/gfortran.dg/associate_57.f90 *************** e266ed6fc3d13470e97d022451deea4e gcc/te *** 83796,83801 **** --- 84167,84173 ---- 825eaf5925a60c0372e9123d34b7b9cf gcc/testsuite/gfortran.dg/associate_59.f90 fe80c25bfc4d1e630472420bac3dc836 gcc/testsuite/gfortran.dg/associate_6.f03 e9397925a65e83d2a17ebe43551198a1 gcc/testsuite/gfortran.dg/associate_60.f90 + 2381f00179da895cbcdcd70c1f3ab8e6 gcc/testsuite/gfortran.dg/associate_62.f90 ac2154aefe0a4ce981b3fa252235e2dd gcc/testsuite/gfortran.dg/associate_7.f03 3c2206420bb8717914aa447789b5f079 gcc/testsuite/gfortran.dg/associate_8.f03 0406413659a92c10d44ed1f1576987b9 gcc/testsuite/gfortran.dg/associate_9.f03 *************** bcbf9fad4afb806903e19c6e3defccbd gcc/te *** 83837,83843 **** c024a7d3605725f398283d3e6351a637 gcc/testsuite/gfortran.dg/assumed_len.f90 4ea579a901f2ba867f7acca09b97b2d8 gcc/testsuite/gfortran.dg/assumed_present.f90 553be15ef977f991d775c0fd75e2cf7d gcc/testsuite/gfortran.dg/assumed_rank_1.f90 ! 1b4b7864496f1def7c7b47799a0f5ad1 gcc/testsuite/gfortran.dg/assumed_rank_10.f90 902ad8d66d78f508c5a7a8e21a177906 gcc/testsuite/gfortran.dg/assumed_rank_11.f90 7b5ed633a8322cf6570abdcd1f341dad gcc/testsuite/gfortran.dg/assumed_rank_12.f90 93ff0ad792c55f57799a102080fa1412 gcc/testsuite/gfortran.dg/assumed_rank_13.f90 --- 84209,84215 ---- c024a7d3605725f398283d3e6351a637 gcc/testsuite/gfortran.dg/assumed_len.f90 4ea579a901f2ba867f7acca09b97b2d8 gcc/testsuite/gfortran.dg/assumed_present.f90 553be15ef977f991d775c0fd75e2cf7d gcc/testsuite/gfortran.dg/assumed_rank_1.f90 ! 593ff93dc858f1b225edb727134ccc09 gcc/testsuite/gfortran.dg/assumed_rank_10.f90 902ad8d66d78f508c5a7a8e21a177906 gcc/testsuite/gfortran.dg/assumed_rank_11.f90 7b5ed633a8322cf6570abdcd1f341dad gcc/testsuite/gfortran.dg/assumed_rank_12.f90 93ff0ad792c55f57799a102080fa1412 gcc/testsuite/gfortran.dg/assumed_rank_13.f90 *************** a97591ca0f7ec68f4a27f9437d09cb92 gcc/te *** 83860,83868 **** d3b33ae7c97fb128d15b3a49e16aa06e gcc/testsuite/gfortran.dg/assumed_rank_5.f90 99409441ba2b365b6496267b1c1ae7c6 gcc/testsuite/gfortran.dg/assumed_rank_6.f90 82cb316b995fa88f4a4f25413f990b72 gcc/testsuite/gfortran.dg/assumed_rank_7.f90 ! 9c427600c048a9ea99e32ddd2a6796c1 gcc/testsuite/gfortran.dg/assumed_rank_8.f90 acebc3b5f82cb5b3adb2dfc611ab18a6 gcc/testsuite/gfortran.dg/assumed_rank_8_c.c ! d5695486fe6a7bb7d94e2599ecc5ec1a gcc/testsuite/gfortran.dg/assumed_rank_9.f90 9307e994084b547ff359d8f128f2c63b gcc/testsuite/gfortran.dg/assumed_rank_bounds_1.f90 a84a4ce73143d7e316b39e8a3f0d48c8 gcc/testsuite/gfortran.dg/assumed_rank_bounds_2.f90 2397eab56d11f9cff183e45fba1aa162 gcc/testsuite/gfortran.dg/assumed_rank_bounds_3.f90 --- 84232,84240 ---- d3b33ae7c97fb128d15b3a49e16aa06e gcc/testsuite/gfortran.dg/assumed_rank_5.f90 99409441ba2b365b6496267b1c1ae7c6 gcc/testsuite/gfortran.dg/assumed_rank_6.f90 82cb316b995fa88f4a4f25413f990b72 gcc/testsuite/gfortran.dg/assumed_rank_7.f90 ! effd3453cc8711ca9a0754df0fb3b697 gcc/testsuite/gfortran.dg/assumed_rank_8.f90 acebc3b5f82cb5b3adb2dfc611ab18a6 gcc/testsuite/gfortran.dg/assumed_rank_8_c.c ! 233aea4642867e9f37e75fa9765f5a53 gcc/testsuite/gfortran.dg/assumed_rank_9.f90 9307e994084b547ff359d8f128f2c63b gcc/testsuite/gfortran.dg/assumed_rank_bounds_1.f90 a84a4ce73143d7e316b39e8a3f0d48c8 gcc/testsuite/gfortran.dg/assumed_rank_bounds_2.f90 2397eab56d11f9cff183e45fba1aa162 gcc/testsuite/gfortran.dg/assumed_rank_bounds_3.f90 *************** aaa14d6b1495ceba3d81c88a0d4874c5 gcc/te *** 83884,83889 **** --- 84256,84262 ---- 6196ee8a3a5f8e7bc5fb5032beb824b8 gcc/testsuite/gfortran.dg/assumed_type_14.f90 1e502a6ae56ba9a10c513dd1bb955b6f gcc/testsuite/gfortran.dg/assumed_type_16.f90 05cb5d7dd6f73991a107f383f8378940 gcc/testsuite/gfortran.dg/assumed_type_17.f90 + 07bbf825b4bd7ca5e597ea3fc27ecad4 gcc/testsuite/gfortran.dg/assumed_type_18.f90 344877f098e4c4d5e54723572dcff5b8 gcc/testsuite/gfortran.dg/assumed_type_2.f90 e7b3eba9964feebc5c27a78154c7b547 gcc/testsuite/gfortran.dg/assumed_type_2a.f90 27b0b5ad82abb1d06990db9025f0c992 gcc/testsuite/gfortran.dg/assumed_type_3.f90 *************** be8936d928c2cd968e9d77975d4626be gcc/te *** 83997,84002 **** --- 84370,84376 ---- cb20c6d9ff58740bc410a0d861435a4d gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03 cb9ccf001da2d7d1cf77a7d2e9ebeed2 gcc/testsuite/gfortran.dg/bind_c_module.f90 74a4370d67a610f90e4eed4db0901687 gcc/testsuite/gfortran.dg/bind_c_optional-1.f90 + dcfb880f6e48b5a52c799d3d15727d0f gcc/testsuite/gfortran.dg/bind_c_optional-2.f90 fe8c5e542693077295c21e4aaab6c998 gcc/testsuite/gfortran.dg/bind_c_procs.f03 55687585265263f1b2e68929e4c12de3 gcc/testsuite/gfortran.dg/bind_c_procs_2.f90 67f38e9de2f12b98af2d4078c0fbac44 gcc/testsuite/gfortran.dg/bind_c_procs_3.f90 *************** ceda0022b0324d13515320cbc5635d79 gcc/te *** 84824,84829 **** --- 85198,85205 ---- 72674e7da2e86dedff70420da3d45132 gcc/testsuite/gfortran.dg/coarray/alloc_comp_3.f90 734994954589fd9c52a0f9f5e65df97a gcc/testsuite/gfortran.dg/coarray/alloc_comp_4.f90 5b5ec82dd29e86e4e8c1ffdcc8f1fff4 gcc/testsuite/gfortran.dg/coarray/alloc_comp_5.f90 + 8b5117dc7ef6ac2ef489d65c72c69eca gcc/testsuite/gfortran.dg/coarray/alloc_comp_6.f90 + c3ff223c334c03e16db45ce26e2eea4a gcc/testsuite/gfortran.dg/coarray/alloc_comp_7.f90 0383efb987613ad7ba5897bf853a7c3d gcc/testsuite/gfortran.dg/coarray/allocate_errgmsg.f90 51ba06c48080eb24ae44aa2f80ce06e7 gcc/testsuite/gfortran.dg/coarray/array_temporary-1.f90 360f9437516a1e9e5cdfcc0773038d80 gcc/testsuite/gfortran.dg/coarray/array_temporary.f90 *************** be78a9a8d107997dfb6a26a694e767f6 gcc/te *** 85020,85028 **** 7c19739bc10d458b120fb0ab4ca4dbf2 gcc/testsuite/gfortran.dg/coarray_poly_3.f90 83e23744ec4b7e3e2b0115d1c8949dc6 gcc/testsuite/gfortran.dg/coarray_poly_4.f90 c36ce428dcaec854709426fbefc380b0 gcc/testsuite/gfortran.dg/coarray_poly_5.f90 ! ae191d945f94558bf67bd86a9035dc26 gcc/testsuite/gfortran.dg/coarray_poly_6.f90 ! 5e2ee8605be13759d0fb3c20d655c64c gcc/testsuite/gfortran.dg/coarray_poly_7.f90 ! fc7ba8781070ef3c0da1ee4929b801e4 gcc/testsuite/gfortran.dg/coarray_poly_8.f90 4a4a75de4af949451d8e1d1beaf8318c gcc/testsuite/gfortran.dg/coarray_poly_9.f90 ec4bb6022b07b7f8cb9cc0cbc6b36d3f gcc/testsuite/gfortran.dg/coarray_ptr_comp_1.f08 7653a4686829bd63b9b7a535c8b7c035 gcc/testsuite/gfortran.dg/coarray_ptr_comp_2.f08 --- 85396,85404 ---- 7c19739bc10d458b120fb0ab4ca4dbf2 gcc/testsuite/gfortran.dg/coarray_poly_3.f90 83e23744ec4b7e3e2b0115d1c8949dc6 gcc/testsuite/gfortran.dg/coarray_poly_4.f90 c36ce428dcaec854709426fbefc380b0 gcc/testsuite/gfortran.dg/coarray_poly_5.f90 ! aeaa6630b4a7fdbf728d1ac6c3330841 gcc/testsuite/gfortran.dg/coarray_poly_6.f90 ! d11ef8bb7536503099921eebfd2332b1 gcc/testsuite/gfortran.dg/coarray_poly_7.f90 ! 35805debcf262207e1ddfcac6614145f gcc/testsuite/gfortran.dg/coarray_poly_8.f90 4a4a75de4af949451d8e1d1beaf8318c gcc/testsuite/gfortran.dg/coarray_poly_9.f90 ec4bb6022b07b7f8cb9cc0cbc6b36d3f gcc/testsuite/gfortran.dg/coarray_ptr_comp_1.f08 7653a4686829bd63b9b7a535c8b7c035 gcc/testsuite/gfortran.dg/coarray_ptr_comp_2.f08 *************** b3bd24f0c174a1694bc02107df47994b gcc/te *** 85123,85128 **** --- 85499,85505 ---- d679116c9da43355228e413e4d728bf6 gcc/testsuite/gfortran.dg/contiguous_10.f90 cb50185eaf87f5357dad5873642eec33 gcc/testsuite/gfortran.dg/contiguous_11.f90 68eb9244ed2d584beb39fffd7e64f96d gcc/testsuite/gfortran.dg/contiguous_12.f90 + 8621637c284842966acb59cdbfe4e51a gcc/testsuite/gfortran.dg/contiguous_15.f90 9975df3f787a3eaea63dd5664ff235eb gcc/testsuite/gfortran.dg/contiguous_2.f90 a59d0430a52a3cf47c280856725dee23 gcc/testsuite/gfortran.dg/contiguous_3.f90 b81d56e35fe81ed4c9f6f67cca8a0ab2 gcc/testsuite/gfortran.dg/contiguous_4.f90 *************** b85f62a13d3cc36bdf0f22f1d532889f gcc/te *** 85205,85215 **** --- 85582,85594 ---- 433440f2bc7400a428ec319b70a4c7c4 gcc/testsuite/gfortran.dg/data_initialized.f90 f7e6506db3e2a2cf1acda6f7ed5bb367 gcc/testsuite/gfortran.dg/data_initialized_2.f90 7c629d12ce2ea9831030b62a2361a453 gcc/testsuite/gfortran.dg/data_initialized_3.f90 + f2645f1fb686b434b8e069203f77e6d5 gcc/testsuite/gfortran.dg/data_initialized_4.f90 f46c4682d75c7544431499a708875e0d gcc/testsuite/gfortran.dg/data_inquiry_ref.f90 fec356f784a1836f74f3dfdcc2aef50a gcc/testsuite/gfortran.dg/data_invalid.f90 75c2602db09095225b6558bf5ee7a00d gcc/testsuite/gfortran.dg/data_namelist_conflict.f90 bca7e4fe42af4bdc8c5dce540cb962e5 gcc/testsuite/gfortran.dg/data_pointer_1.f90 9d3ff2b5b9a7538d379089fe08ecb0b3 gcc/testsuite/gfortran.dg/data_pointer_2.f90 + a2552f985f60c37bffc14327b45be315 gcc/testsuite/gfortran.dg/data_pointer_3.f90 20f92cb056c2de7e78393cf1bd92793a gcc/testsuite/gfortran.dg/data_stmt_pointer.f90 ea42e7a04380338a9946ffc999ea6767 gcc/testsuite/gfortran.dg/data_substring.f90 503918b2128c29daa249b849ffe01756 gcc/testsuite/gfortran.dg/data_value_1.f90 *************** a1e709d7c93853353c0797ba2949dca8 gcc/te *** 85512,85518 **** e5f02b68e5aa2fee50c3ff70ad3d8f97 gcc/testsuite/gfortran.dg/derived_comp_array_ref_5.f90 026bd8fa710214d25691eae8c1dbcdfd gcc/testsuite/gfortran.dg/derived_comp_array_ref_6.f90 0bee796fdb071ab50d5faf5c678fefa5 gcc/testsuite/gfortran.dg/derived_comp_array_ref_7.f90 ! 3ac6e6c4ed41e85971024e19ad69e6a1 gcc/testsuite/gfortran.dg/derived_comp_array_ref_8.f90 568b11dc7307172904079506d19d6593 gcc/testsuite/gfortran.dg/derived_constructor_char_1.f90 36d65cd99e01688bd380279fd0c74558 gcc/testsuite/gfortran.dg/derived_constructor_char_2.f90 3c2f8f5e24883308b8a24313e9e5df89 gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 --- 85891,85897 ---- e5f02b68e5aa2fee50c3ff70ad3d8f97 gcc/testsuite/gfortran.dg/derived_comp_array_ref_5.f90 026bd8fa710214d25691eae8c1dbcdfd gcc/testsuite/gfortran.dg/derived_comp_array_ref_6.f90 0bee796fdb071ab50d5faf5c678fefa5 gcc/testsuite/gfortran.dg/derived_comp_array_ref_7.f90 ! 9fbdd747401a2ec50f066475c79222bc gcc/testsuite/gfortran.dg/derived_comp_array_ref_8.f90 568b11dc7307172904079506d19d6593 gcc/testsuite/gfortran.dg/derived_constructor_char_1.f90 36d65cd99e01688bd380279fd0c74558 gcc/testsuite/gfortran.dg/derived_constructor_char_2.f90 3c2f8f5e24883308b8a24313e9e5df89 gcc/testsuite/gfortran.dg/derived_constructor_char_3.f90 *************** eb787080d1b25dcd7c85df0cf60869bd gcc/te *** 85640,85646 **** 3135c1f8094a7fd54090c6099d491b2a gcc/testsuite/gfortran.dg/dtio_22.f90 4be521506e4eeeef4204dc7184c8f719 gcc/testsuite/gfortran.dg/dtio_23.f90 f10c4681bf625e46adae521a3de13a48 gcc/testsuite/gfortran.dg/dtio_24.f90 ! 827cd017720b8fdbd993d27445c97ab8 gcc/testsuite/gfortran.dg/dtio_25.f90 3c65210cfd6b0cb280ecfe12c8c6cffb gcc/testsuite/gfortran.dg/dtio_26.f03 351e22361863f45f993c69f71231e1c0 gcc/testsuite/gfortran.dg/dtio_27.f90 8a8e9807b9e54dfdb05a6e8214e7ed3f gcc/testsuite/gfortran.dg/dtio_28.f03 --- 86019,86025 ---- 3135c1f8094a7fd54090c6099d491b2a gcc/testsuite/gfortran.dg/dtio_22.f90 4be521506e4eeeef4204dc7184c8f719 gcc/testsuite/gfortran.dg/dtio_23.f90 f10c4681bf625e46adae521a3de13a48 gcc/testsuite/gfortran.dg/dtio_24.f90 ! d48243012f6a55569afe528c5626f666 gcc/testsuite/gfortran.dg/dtio_25.f90 3c65210cfd6b0cb280ecfe12c8c6cffb gcc/testsuite/gfortran.dg/dtio_26.f03 351e22361863f45f993c69f71231e1c0 gcc/testsuite/gfortran.dg/dtio_27.f90 8a8e9807b9e54dfdb05a6e8214e7ed3f gcc/testsuite/gfortran.dg/dtio_28.f03 *************** d9520d95c876e1ae6b037f5ed029efce gcc/te *** 85962,85968 **** 8a73305eb3c76b586a4aeaa5568c2141 gcc/testsuite/gfortran.dg/finalize_35.f90 62a846c35f5cb5673b42af4d9466d4f3 gcc/testsuite/gfortran.dg/finalize_36.f90 60b07a38d00e8fc7487b8796bb375fd8 gcc/testsuite/gfortran.dg/finalize_37.f90 ! 96c4f734e3e19a9c3ff8cb8a66664274 gcc/testsuite/gfortran.dg/finalize_38.f90 217213daad5b48c8e5866bfd9731f97e gcc/testsuite/gfortran.dg/finalize_38a.f90 2ab22bce3d134ad2987aa4b4bb7ef3d9 gcc/testsuite/gfortran.dg/finalize_39.f90 92b4ca27645d88cb11543d720382b004 gcc/testsuite/gfortran.dg/finalize_4.f03 --- 86341,86347 ---- 8a73305eb3c76b586a4aeaa5568c2141 gcc/testsuite/gfortran.dg/finalize_35.f90 62a846c35f5cb5673b42af4d9466d4f3 gcc/testsuite/gfortran.dg/finalize_36.f90 60b07a38d00e8fc7487b8796bb375fd8 gcc/testsuite/gfortran.dg/finalize_37.f90 ! c519dc3fa8065bbab5b9bff10c1e7c35 gcc/testsuite/gfortran.dg/finalize_38.f90 217213daad5b48c8e5866bfd9731f97e gcc/testsuite/gfortran.dg/finalize_38a.f90 2ab22bce3d134ad2987aa4b4bb7ef3d9 gcc/testsuite/gfortran.dg/finalize_39.f90 92b4ca27645d88cb11543d720382b004 gcc/testsuite/gfortran.dg/finalize_4.f03 *************** ce817f495edb0ac306d6ae1052014e67 gcc/te *** 85980,85985 **** --- 86359,86367 ---- 943565988d4c8c053eef9a3f493da851 gcc/testsuite/gfortran.dg/finalize_50.f90 27c7e8db83d3d5fb88321d8d6a0376c8 gcc/testsuite/gfortran.dg/finalize_51.f90 8c70f52870dfe9912aff6274fcff3e3d gcc/testsuite/gfortran.dg/finalize_52.f90 + 1a5bc1047ebef5fd584a1a70750ddd9c gcc/testsuite/gfortran.dg/finalize_54.f90 + e3f8979302c39ffbf6c7c03d08fc1562 gcc/testsuite/gfortran.dg/finalize_55.f90 + 4a82b3bd0b6fd8d978b3278deeaf8249 gcc/testsuite/gfortran.dg/finalize_56.f90 00394d3b18b9e094a6751225fef04a51 gcc/testsuite/gfortran.dg/finalize_6.f90 520ae6cd723f43e02411aa72bb807bb5 gcc/testsuite/gfortran.dg/finalize_7.f03 a1de3ecdc32a070009986504b0fcaf97 gcc/testsuite/gfortran.dg/finalize_8.f03 *************** ad113b663dcbe1c9a79e2203e68339e7 gcc/te *** 86009,86015 **** b2ba93bac651f0f62538e07b87d7f60c gcc/testsuite/gfortran.dg/fmt_en_ru.f90 8ac1bee54a149101a7b26f7eef88b1cf gcc/testsuite/gfortran.dg/fmt_en_rz.f90 51f4c68b5c689084070ee71c915fb347 gcc/testsuite/gfortran.dg/fmt_error.f90 ! 03f1c9b164aab3720c1c3c08a8e496a4 gcc/testsuite/gfortran.dg/fmt_error_10.f 4cc40888a17d146df1ece1cfbc9da885 gcc/testsuite/gfortran.dg/fmt_error_11.f03 f0ca55042d3247d09d7bc304c059cc3a gcc/testsuite/gfortran.dg/fmt_error_2.f90 08714edf3b0ddedeaaa8832ea4399b48 gcc/testsuite/gfortran.dg/fmt_error_3.f90 --- 86391,86397 ---- b2ba93bac651f0f62538e07b87d7f60c gcc/testsuite/gfortran.dg/fmt_en_ru.f90 8ac1bee54a149101a7b26f7eef88b1cf gcc/testsuite/gfortran.dg/fmt_en_rz.f90 51f4c68b5c689084070ee71c915fb347 gcc/testsuite/gfortran.dg/fmt_error.f90 ! b95d99d2316fd9982bd82df8f1886832 gcc/testsuite/gfortran.dg/fmt_error_10.f 4cc40888a17d146df1ece1cfbc9da885 gcc/testsuite/gfortran.dg/fmt_error_11.f03 f0ca55042d3247d09d7bc304c059cc3a gcc/testsuite/gfortran.dg/fmt_error_2.f90 08714edf3b0ddedeaaa8832ea4399b48 gcc/testsuite/gfortran.dg/fmt_error_3.f90 *************** edeec1fe2488c7117f56e10734af03dc gcc/te *** 86862,86867 **** --- 87244,87250 ---- 697c52a53eea166cade44a3f935b8caf gcc/testsuite/gfortran.dg/gomp/pr107214-7.f90 1474c5a5881d7047f1212bc8cfb8ef92 gcc/testsuite/gfortran.dg/gomp/pr107214-8.f90 3beded12a494129bebcc732d85089896 gcc/testsuite/gfortran.dg/gomp/pr107214.f90 + 616305573acc701769497c1eee637edc gcc/testsuite/gfortran.dg/gomp/pr114825.f90 9a6817790a272cd8153d4303d324c00f gcc/testsuite/gfortran.dg/gomp/pr26224.f d2c74a71f2bea0005d853821e6f0142c gcc/testsuite/gfortran.dg/gomp/pr27573.f90 a65c4577a606ba1bdab50e690b269b04 gcc/testsuite/gfortran.dg/gomp/pr29759.f90 *************** b75cb93f87f099ad715aceb9cb7b1bf2 gcc/te *** 87348,87353 **** --- 87731,87737 ---- 156dc7e9c954310ba5c74c0fbcaa4f42 gcc/testsuite/gfortran.dg/implied_do_io_5.f90 1f7a9307002a1f0f2a5f8eb76998dcda gcc/testsuite/gfortran.dg/implied_do_io_6.f90 2b548a8a46da28ac4ce23e2509a886fc gcc/testsuite/gfortran.dg/implied_do_io_7.f90 + 1b11291348a686162c0e48c6b1b5cd66 gcc/testsuite/gfortran.dg/implied_do_io_8.f90 a8761a2aaffb7680e80dcad5eceada12 gcc/testsuite/gfortran.dg/implied_shape_1.f08 f9528d7042bf84bf037d6e2b109272ec gcc/testsuite/gfortran.dg/implied_shape_2.f90 1b2b68c816459c1a9395771e9851de87 gcc/testsuite/gfortran.dg/implied_shape_3.f08 *************** ae3f6e29ad3108163b5c5c6a5f70ef7c gcc/te *** 87780,87791 **** --- 88164,88177 ---- 65578194d2c2e1ef90aec0d448b2955a gcc/testsuite/gfortran.dg/is_contiguous_1.f90 ce08d00725a7d8d4e9547e8bf55eaa4b gcc/testsuite/gfortran.dg/is_contiguous_2.f90 b6282b55783f0b1b931571f793113587 gcc/testsuite/gfortran.dg/is_contiguous_3.f90 + d64f2f360e5963a4bea9642fa7bf28c2 gcc/testsuite/gfortran.dg/is_contiguous_4.f90 765cb2ca72a98a43c69ea99a61aa0a59 gcc/testsuite/gfortran.dg/is_iostat_end_eor_1.f90 ca491b51342a862f4f525db35073fe93 gcc/testsuite/gfortran.dg/is_iostat_end_eor_2.f90 e29de44a3798652da0c04b03153d2639 gcc/testsuite/gfortran.dg/ishft_1.f90 0a74286818476489377027f29708812a gcc/testsuite/gfortran.dg/ishft_2.f90 a704846ad082c08266e269b9c6a39a3d gcc/testsuite/gfortran.dg/ishft_3.f90 13f9f64101cfcb8d1baba18ecd855ce4 gcc/testsuite/gfortran.dg/ishft_4.f90 + b6c30f1adc5d688dfb9ab58bdc43171a gcc/testsuite/gfortran.dg/ishftc_optional_size_1.f90 62aecfdc07793ea93cdf8d9654582a14 gcc/testsuite/gfortran.dg/isnan_1.f90 f39075a4eb79900707ebbe3cbae40d8b gcc/testsuite/gfortran.dg/isnan_2.f90 339b2ac7960a6a700c8bc790f867edbb gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 *************** e972ad6e0a543eb12481e61ddb341c93 gcc/te *** 88109,88115 **** 2b10e892941663b283421e581e64fe9f gcc/testsuite/gfortran.dg/missing_optional_dummy_4.f90 9bf3b913fc6553f2af000ca472ab43c0 gcc/testsuite/gfortran.dg/missing_optional_dummy_5.f90 f4a04eaac2f92e22133750d908216513 gcc/testsuite/gfortran.dg/missing_optional_dummy_6.f90 ! 4e02ae2b2f2c08c31926450c8e09b054 gcc/testsuite/gfortran.dg/missing_optional_dummy_6a.f90 53cf202b76cef1a0ef4407f2b23bd971 gcc/testsuite/gfortran.dg/missing_parens_1.f90 27588883c00e0436a67ce824817657b8 gcc/testsuite/gfortran.dg/missing_parens_2.f90 39267eb2a7da9bb2c75e76503586d534 gcc/testsuite/gfortran.dg/mixed_io_1.c --- 88495,88501 ---- 2b10e892941663b283421e581e64fe9f gcc/testsuite/gfortran.dg/missing_optional_dummy_4.f90 9bf3b913fc6553f2af000ca472ab43c0 gcc/testsuite/gfortran.dg/missing_optional_dummy_5.f90 f4a04eaac2f92e22133750d908216513 gcc/testsuite/gfortran.dg/missing_optional_dummy_6.f90 ! 6deea4a95c6f69fc25bf524b580dfe58 gcc/testsuite/gfortran.dg/missing_optional_dummy_6a.f90 53cf202b76cef1a0ef4407f2b23bd971 gcc/testsuite/gfortran.dg/missing_parens_1.f90 27588883c00e0436a67ce824817657b8 gcc/testsuite/gfortran.dg/missing_parens_2.f90 39267eb2a7da9bb2c75e76503586d534 gcc/testsuite/gfortran.dg/mixed_io_1.c *************** f87b0ba9a1d145bf3c643d6d97d9f423 gcc/te *** 88240,88246 **** 0fa400c8c61efbd1c07cce6a3b9d0913 gcc/testsuite/gfortran.dg/namelist_54.f90 4c693b5864894ede36e23f9a46c8dbe1 gcc/testsuite/gfortran.dg/namelist_55.f90 f681477f489c74c44d4984c74a9a68f7 gcc/testsuite/gfortran.dg/namelist_56.f90 ! 604aa3807835e381fb22953902a19f00 gcc/testsuite/gfortran.dg/namelist_57.f90 b92381025912fb51f31e49e111d1104f gcc/testsuite/gfortran.dg/namelist_58.f90 30309b4743fae315372faf0662922f6e gcc/testsuite/gfortran.dg/namelist_59.f90 dc5afe095c6bafe14f1418a9207cdfdc gcc/testsuite/gfortran.dg/namelist_60.f90 --- 88626,88632 ---- 0fa400c8c61efbd1c07cce6a3b9d0913 gcc/testsuite/gfortran.dg/namelist_54.f90 4c693b5864894ede36e23f9a46c8dbe1 gcc/testsuite/gfortran.dg/namelist_55.f90 f681477f489c74c44d4984c74a9a68f7 gcc/testsuite/gfortran.dg/namelist_56.f90 ! 7661d2e2a48f56a900d2fd467b483d05 gcc/testsuite/gfortran.dg/namelist_57.f90 b92381025912fb51f31e49e111d1104f gcc/testsuite/gfortran.dg/namelist_58.f90 30309b4743fae315372faf0662922f6e gcc/testsuite/gfortran.dg/namelist_59.f90 dc5afe095c6bafe14f1418a9207cdfdc gcc/testsuite/gfortran.dg/namelist_60.f90 *************** dc5afe095c6bafe14f1418a9207cdfdc gcc/te *** 88248,88254 **** 63a9903ac7050fbcb5fceab5d99940cc gcc/testsuite/gfortran.dg/namelist_62.f90 1a77f58a5bbe7ab3ea11e337a4ff5baf gcc/testsuite/gfortran.dg/namelist_63.f90 5bd96770b043ad2d447feb6b67068201 gcc/testsuite/gfortran.dg/namelist_64.f90 ! a6028f8edf2fe30f2feafd17fb317448 gcc/testsuite/gfortran.dg/namelist_65.f90 41f2464d86e65ebe0eaf5dd31c37c4d3 gcc/testsuite/gfortran.dg/namelist_66.f90 fff1dec1ff55e7f0c4df6b2c87f63cf6 gcc/testsuite/gfortran.dg/namelist_67.f90 be4372cc3bf01909c31f2a6fa02bc23a gcc/testsuite/gfortran.dg/namelist_68.f90 --- 88634,88640 ---- 63a9903ac7050fbcb5fceab5d99940cc gcc/testsuite/gfortran.dg/namelist_62.f90 1a77f58a5bbe7ab3ea11e337a4ff5baf gcc/testsuite/gfortran.dg/namelist_63.f90 5bd96770b043ad2d447feb6b67068201 gcc/testsuite/gfortran.dg/namelist_64.f90 ! c8da85190952b8adcfcc8524cd7199fd gcc/testsuite/gfortran.dg/namelist_65.f90 41f2464d86e65ebe0eaf5dd31c37c4d3 gcc/testsuite/gfortran.dg/namelist_66.f90 fff1dec1ff55e7f0c4df6b2c87f63cf6 gcc/testsuite/gfortran.dg/namelist_67.f90 be4372cc3bf01909c31f2a6fa02bc23a gcc/testsuite/gfortran.dg/namelist_68.f90 *************** f1e3cfba25a768bf7f9073932a36c7db gcc/te *** 88387,88396 **** fb9d6abbd9b9049c00ee6e992d1a8859 gcc/testsuite/gfortran.dg/null_actual.f90 c7884979306076731054566268cfb979 gcc/testsuite/gfortran.dg/null_actual_2.f90 84b898ed35bd484e690bcec9cd9f1724 gcc/testsuite/gfortran.dg/null_actual_3.f90 eb6af590881f3e995fc6b2c78089f277 gcc/testsuite/gfortran.dg/nullify_1.f f202e3843710f9492560538fa53c3847 gcc/testsuite/gfortran.dg/nullify_2.f90 768d37ebff7930db8f8a99ac16b90d32 gcc/testsuite/gfortran.dg/nullify_3.f90 ! 5917ff71bf25a141d882878e441dc15d gcc/testsuite/gfortran.dg/nullify_4.f90 bcf5d721d90103bd1208f8548c93c54e gcc/testsuite/gfortran.dg/num_images_1.f90 2b630ef1ec72104833ded7049a1347a1 gcc/testsuite/gfortran.dg/o_fast_stacksize.f90 97d9003b405f5e3d56a941b54189717c gcc/testsuite/gfortran.dg/old_style_init.f90 --- 88773,88784 ---- fb9d6abbd9b9049c00ee6e992d1a8859 gcc/testsuite/gfortran.dg/null_actual.f90 c7884979306076731054566268cfb979 gcc/testsuite/gfortran.dg/null_actual_2.f90 84b898ed35bd484e690bcec9cd9f1724 gcc/testsuite/gfortran.dg/null_actual_3.f90 + bbcecb3dd7b522bf990cb1a6a99c4092 gcc/testsuite/gfortran.dg/null_actual_4.f90 + 1f2b6a4386b97d00a37b2b95f3b09e91 gcc/testsuite/gfortran.dg/null_actual_5.f90 eb6af590881f3e995fc6b2c78089f277 gcc/testsuite/gfortran.dg/nullify_1.f f202e3843710f9492560538fa53c3847 gcc/testsuite/gfortran.dg/nullify_2.f90 768d37ebff7930db8f8a99ac16b90d32 gcc/testsuite/gfortran.dg/nullify_3.f90 ! 3f59630d77d85f381c44bc0119d513ee gcc/testsuite/gfortran.dg/nullify_4.f90 bcf5d721d90103bd1208f8548c93c54e gcc/testsuite/gfortran.dg/num_images_1.f90 2b630ef1ec72104833ded7049a1347a1 gcc/testsuite/gfortran.dg/o_fast_stacksize.f90 97d9003b405f5e3d56a941b54189717c gcc/testsuite/gfortran.dg/old_style_init.f90 *************** dc830156fd059262dfdfc8f67c581256 gcc/te *** 88440,88445 **** --- 88828,88834 ---- ba5fab0a3379b1d0cdf3afb12ac1dd20 gcc/testsuite/gfortran.dg/optional_assumed_charlen_1.f90 565d3cf43ead99f60b2380c4b021a5b8 gcc/testsuite/gfortran.dg/optional_assumed_charlen_2.f90 f676bdc486e460e9520582c3779a664a gcc/testsuite/gfortran.dg/optional_class_1.f90 + 2e386aa2ca80e5661a6ea49062a40b23 gcc/testsuite/gfortran.dg/optional_deferred_char_1.f90 7fedb812261e488372bc4439b553156f gcc/testsuite/gfortran.dg/optional_dim.f90 d14391d3ef215e7090f2482b1fb51242 gcc/testsuite/gfortran.dg/optional_dim_2.f90 4e39e84a6993508e47f3307461b281b8 gcc/testsuite/gfortran.dg/optional_dim_3.f90 *************** f67cfd0ae4d38f1ca5dc8d7f6e954087 gcc/te *** 88527,88532 **** --- 88916,88922 ---- 1f42496cb72089bef450a6df6a13c299 gcc/testsuite/gfortran.dg/pdt_30.f90 d586eb557b29a67b9fa981d71d443c8b gcc/testsuite/gfortran.dg/pdt_31.f03 e5bda49b00d9e9f9b204003142ebb089 gcc/testsuite/gfortran.dg/pdt_32.f03 + a7f1b97a8aa1c6a2bd8968ace7c2f8a9 gcc/testsuite/gfortran.dg/pdt_33.f03 9779f8b6736c414d2620a7f8234f3e40 gcc/testsuite/gfortran.dg/pdt_4.f03 65d2ad728417ad3174fc1ce2b51a458d gcc/testsuite/gfortran.dg/pdt_6.f03 d2c9dae0c6e2385c5712aba8e12a70ba gcc/testsuite/gfortran.dg/pdt_7.f03 *************** f4aaac7aac9367d9adf2efb9ee95ee74 gcc/te *** 88589,88595 **** 3c38f9677dcc8f4e2c42a0fd0cdeaa1d gcc/testsuite/gfortran.dg/pointer_init_3.f90 3247bb0ee74a49cfeb46ba67cba9f540 gcc/testsuite/gfortran.dg/pointer_init_4.f90 caa2926d7c04c6e94cd297a75e4b5b27 gcc/testsuite/gfortran.dg/pointer_init_5.f90 ! 859dd7c2364c1c9047201cb2598f2828 gcc/testsuite/gfortran.dg/pointer_init_6.f90 04a911b96a459127d681989557ce10aa gcc/testsuite/gfortran.dg/pointer_init_7.f90 34debb190232d7a7d7ce70fab69c74a1 gcc/testsuite/gfortran.dg/pointer_init_8.f90 ae06d6761f5e36e2c2e46067aa089b8e gcc/testsuite/gfortran.dg/pointer_init_9.f90 --- 88979,88985 ---- 3c38f9677dcc8f4e2c42a0fd0cdeaa1d gcc/testsuite/gfortran.dg/pointer_init_3.f90 3247bb0ee74a49cfeb46ba67cba9f540 gcc/testsuite/gfortran.dg/pointer_init_4.f90 caa2926d7c04c6e94cd297a75e4b5b27 gcc/testsuite/gfortran.dg/pointer_init_5.f90 ! eaaaba556287aabe0b6479c87a095df3 gcc/testsuite/gfortran.dg/pointer_init_6.f90 04a911b96a459127d681989557ce10aa gcc/testsuite/gfortran.dg/pointer_init_7.f90 34debb190232d7a7d7ce70fab69c74a1 gcc/testsuite/gfortran.dg/pointer_init_8.f90 ae06d6761f5e36e2c2e46067aa089b8e gcc/testsuite/gfortran.dg/pointer_init_9.f90 *************** e13b5dd50c332ea865cb6fabb5f79f29 gcc/te *** 88632,88653 **** fc0ae38e4fdc2d7761aba57181c97b51 gcc/testsuite/gfortran.dg/pr100551.f90 17f130e627232745d6279696b6984514 gcc/testsuite/gfortran.dg/pr100949.f90 3838974931fe610997470a0a7f2e3a97 gcc/testsuite/gfortran.dg/pr100950.f90 3d43a9a1b6205e1b7de2551cccb26868 gcc/testsuite/gfortran.dg/pr101026.f 18df1dbd6fd284336b8f22ec7ec7ba5b gcc/testsuite/gfortran.dg/pr101121.f 00eaff2aeb07d3b9bbb1b67083921aaf gcc/testsuite/gfortran.dg/pr101158.f90 8e40caa9023b2b568477f8b0a6586cd9 gcc/testsuite/gfortran.dg/pr101264.f90 9f2647b912cfcf8002d65aa022175300 gcc/testsuite/gfortran.dg/pr101267.f90 515f43ee1c3a7f37818b2b4bd6abedd7 gcc/testsuite/gfortran.dg/pr101327.f90 ! 215e51d0e3da3316aa6f9d992ac2c7d7 gcc/testsuite/gfortran.dg/pr101329.f90 afe21b866be9162c6b654dc6771e6ead gcc/testsuite/gfortran.dg/pr101514.f90 07e5cf776d8ec123397377da02e784fb gcc/testsuite/gfortran.dg/pr101536.f90 43d1631cdea391ffd9bdb8fc395a7ae5 gcc/testsuite/gfortran.dg/pr101762.f90 9689aaf0cb9d6642b812ab9cd61eff8a gcc/testsuite/gfortran.dg/pr102180.f90 75ccec9005d1d4a2d9ed0cea1bf10434 gcc/testsuite/gfortran.dg/pr102332.f90 1dd53d463caf1e16e47d0fe9cbf2309f gcc/testsuite/gfortran.dg/pr102366.f90 fc5031b16be6a0dc4152f151793f4acb gcc/testsuite/gfortran.dg/pr102458.f90 cbd40bc334c217d37c198b1f27373810 gcc/testsuite/gfortran.dg/pr102458b.f90 09759ba73ae30c3a54be532d97b7f526 gcc/testsuite/gfortran.dg/pr102520.f90 c081e1f510a2d68ec176356111dab188 gcc/testsuite/gfortran.dg/pr102685.f90 d99cea26823109c0bb853b42df152999 gcc/testsuite/gfortran.dg/pr102715.f90 f28998ba16e7a78633a9de3d5eaf0667 gcc/testsuite/gfortran.dg/pr102816.f90 --- 89022,89048 ---- fc0ae38e4fdc2d7761aba57181c97b51 gcc/testsuite/gfortran.dg/pr100551.f90 17f130e627232745d6279696b6984514 gcc/testsuite/gfortran.dg/pr100949.f90 3838974931fe610997470a0a7f2e3a97 gcc/testsuite/gfortran.dg/pr100950.f90 + bd85853c23b25f6e0f0a43e2fb0dd907 gcc/testsuite/gfortran.dg/pr100988.f90 3d43a9a1b6205e1b7de2551cccb26868 gcc/testsuite/gfortran.dg/pr101026.f 18df1dbd6fd284336b8f22ec7ec7ba5b gcc/testsuite/gfortran.dg/pr101121.f 00eaff2aeb07d3b9bbb1b67083921aaf gcc/testsuite/gfortran.dg/pr101158.f90 8e40caa9023b2b568477f8b0a6586cd9 gcc/testsuite/gfortran.dg/pr101264.f90 9f2647b912cfcf8002d65aa022175300 gcc/testsuite/gfortran.dg/pr101267.f90 515f43ee1c3a7f37818b2b4bd6abedd7 gcc/testsuite/gfortran.dg/pr101327.f90 ! 5f313e258f1ed6c76274dff3e05fedd8 gcc/testsuite/gfortran.dg/pr101329.f90 afe21b866be9162c6b654dc6771e6ead gcc/testsuite/gfortran.dg/pr101514.f90 07e5cf776d8ec123397377da02e784fb gcc/testsuite/gfortran.dg/pr101536.f90 43d1631cdea391ffd9bdb8fc395a7ae5 gcc/testsuite/gfortran.dg/pr101762.f90 + 60b567c7d7ad324a503b66f4236191b3 gcc/testsuite/gfortran.dg/pr102109.f90 + 0405bf1e277db07b43b4182f840ed352 gcc/testsuite/gfortran.dg/pr102112.f90 9689aaf0cb9d6642b812ab9cd61eff8a gcc/testsuite/gfortran.dg/pr102180.f90 + 47ed02e060fe8963c8b302d989d30b44 gcc/testsuite/gfortran.dg/pr102190.f90 75ccec9005d1d4a2d9ed0cea1bf10434 gcc/testsuite/gfortran.dg/pr102332.f90 1dd53d463caf1e16e47d0fe9cbf2309f gcc/testsuite/gfortran.dg/pr102366.f90 fc5031b16be6a0dc4152f151793f4acb gcc/testsuite/gfortran.dg/pr102458.f90 cbd40bc334c217d37c198b1f27373810 gcc/testsuite/gfortran.dg/pr102458b.f90 09759ba73ae30c3a54be532d97b7f526 gcc/testsuite/gfortran.dg/pr102520.f90 + 107263fe1c86ee042c855774a2b8e242 gcc/testsuite/gfortran.dg/pr102532.f90 c081e1f510a2d68ec176356111dab188 gcc/testsuite/gfortran.dg/pr102685.f90 d99cea26823109c0bb853b42df152999 gcc/testsuite/gfortran.dg/pr102715.f90 f28998ba16e7a78633a9de3d5eaf0667 gcc/testsuite/gfortran.dg/pr102816.f90 *************** e83cb447f532a018a571c0eb3b9813ac gcc/te *** 88670,88675 **** --- 89065,89072 ---- 529d8c5aafc7e0dd0a65860ed5f85bcf gcc/testsuite/gfortran.dg/pr103691.f90 448c7638e7741c015d95260e6491d8fa gcc/testsuite/gfortran.dg/pr103692.f90 7880bd79a12dd5ee034f461bbaebed02 gcc/testsuite/gfortran.dg/pr103694.f90 + 8af96c30a623abf7d639ba532fd9c9ac gcc/testsuite/gfortran.dg/pr103715.f90 + c44f10e51915699bd10aa414c56da370 gcc/testsuite/gfortran.dg/pr103716.f90 b46bd97116489e6e683fb2b742d3b37e gcc/testsuite/gfortran.dg/pr103779.f90 3a28632a1496231fb208ccbe80ac9bc8 gcc/testsuite/gfortran.dg/pr103898.f90 9c2a780c1ca6904bb5164e252d9e5455 gcc/testsuite/gfortran.dg/pr104210.f90 *************** f2033aa803ce0a0763522fb821b7bdf6 gcc/te *** 88685,88692 **** --- 89082,89091 ---- 5583f00ff0e962663dc178214a50e6ad gcc/testsuite/gfortran.dg/pr104572.f90 0d8084e6020a7001ebdb9b59d688556e gcc/testsuite/gfortran.dg/pr104716.f 7a5b7a18d621b5e1b9d04b73e259ddd4 gcc/testsuite/gfortran.dg/pr104849.f90 + 35a7804825dacf412e34e3f973b467f1 gcc/testsuite/gfortran.dg/pr104908.f90 ff052278fd65d5823600af4550f5eae7 gcc/testsuite/gfortran.dg/pr105205.f90 22283af469347d85bd1fe4dae42939a3 gcc/testsuite/gfortran.dg/pr105230.f90 + d7a956964080feaa84755b3114519005 gcc/testsuite/gfortran.dg/pr105473.f90 ace309aa44f1d37b7e1187c47c4975be gcc/testsuite/gfortran.dg/pr105501.f90 04437d9e5ce70eee9f187cabd7a3ae39 gcc/testsuite/gfortran.dg/pr105633.f90 d4e9f09fafa1c1f5e009aedb22732715 gcc/testsuite/gfortran.dg/pr105954.f90 *************** d4b65efea892e3a54acdb92a298fc582 gcc/te *** 88703,88714 **** e1ccca85dc432ca649742c05520157d9 gcc/testsuite/gfortran.dg/pr106945.f90 a9c6ba4d14cec93cd2edec54fda6a916 gcc/testsuite/gfortran.dg/pr106985.f90 eb96b826eeaf84f157c8635706721d40 gcc/testsuite/gfortran.dg/pr106986.f90 293833a63c0715043c2da0695b562529 gcc/testsuite/gfortran.dg/pr107000.f90 11beaeea87162696e195837c5224fa2d gcc/testsuite/gfortran.dg/pr107054.f90 c4d7488c55ed95fdd366e1d607735be4 gcc/testsuite/gfortran.dg/pr107215.f90 0c85e934fee80db329fffa3cf0e140bd gcc/testsuite/gfortran.dg/pr107217.f90 80a2d8da8f29115c11882e70f115c5f5 gcc/testsuite/gfortran.dg/pr107272.f90 ! 4bf79fd79798c56c4dfc83d4cd395f09 gcc/testsuite/gfortran.dg/pr107397.f90 e45d8c5020d3980e1bbf2af1d8f09cb1 gcc/testsuite/gfortran.dg/pr107423.f90 d0708141a211387ec4b726fd1cc6fb1e gcc/testsuite/gfortran.dg/pr107559.f90 73d50a07b85e295eded116a82c6f2a41 gcc/testsuite/gfortran.dg/pr107577.f90 --- 89102,89114 ---- e1ccca85dc432ca649742c05520157d9 gcc/testsuite/gfortran.dg/pr106945.f90 a9c6ba4d14cec93cd2edec54fda6a916 gcc/testsuite/gfortran.dg/pr106985.f90 eb96b826eeaf84f157c8635706721d40 gcc/testsuite/gfortran.dg/pr106986.f90 + 054c58cb24c0bee4ea0b5fcf3cdbf86d gcc/testsuite/gfortran.dg/pr106999.f90 293833a63c0715043c2da0695b562529 gcc/testsuite/gfortran.dg/pr107000.f90 11beaeea87162696e195837c5224fa2d gcc/testsuite/gfortran.dg/pr107054.f90 c4d7488c55ed95fdd366e1d607735be4 gcc/testsuite/gfortran.dg/pr107215.f90 0c85e934fee80db329fffa3cf0e140bd gcc/testsuite/gfortran.dg/pr107217.f90 80a2d8da8f29115c11882e70f115c5f5 gcc/testsuite/gfortran.dg/pr107272.f90 ! 7bf1462b79c3092315b66457dbab371c gcc/testsuite/gfortran.dg/pr107397.f90 e45d8c5020d3980e1bbf2af1d8f09cb1 gcc/testsuite/gfortran.dg/pr107423.f90 d0708141a211387ec4b726fd1cc6fb1e gcc/testsuite/gfortran.dg/pr107559.f90 73d50a07b85e295eded116a82c6f2a41 gcc/testsuite/gfortran.dg/pr107577.f90 *************** bb19038b0b7c42c6403475e34570ae3d gcc/te *** 88732,88739 **** --- 89132,89155 ---- a367beafff806aa88b45192d28091201 gcc/testsuite/gfortran.dg/pr108529.f90 89000eec5be4848c1ee9f28782affc5d gcc/testsuite/gfortran.dg/pr108544.f90 ff15b9a6b62e2f00e552b437eece42bf gcc/testsuite/gfortran.dg/pr108592.f90 + 7f1da97161aa1f82490b1a5323dd6fba gcc/testsuite/gfortran.dg/pr108961.f90 8f9de055ba3027b7ae59405bcbee699f gcc/testsuite/gfortran.dg/pr109209.f90 b7b6edb61862ad55069c70c4744ad157 gcc/testsuite/gfortran.dg/pr109265.f90 + 05aad7d3d7d82955070028e39fdf28af gcc/testsuite/gfortran.dg/pr109358.f90 + f2965c649a5f8dcb271f4f49f656cfff gcc/testsuite/gfortran.dg/pr109948.f90 + 898c3ea8360d1452c5f815b15dc6f6f8 gcc/testsuite/gfortran.dg/pr110221.f + 73c24aa3bc97b0687036c0da0f6bf2b2 gcc/testsuite/gfortran.dg/pr111022.f90 + 6176c5192c44068787a0e803e38dacbd gcc/testsuite/gfortran.dg/pr111880.f90 + f715b6386f4a20f6cad01cbb51dffd3b gcc/testsuite/gfortran.dg/pr112316.f90 + aa358931bdcdffc331e74ec0c69f4a2a gcc/testsuite/gfortran.dg/pr112407a.f90 + 75beb8de36fb348963c6214f20178363 gcc/testsuite/gfortran.dg/pr112407b.f90 + 57f789001fbff5df460557a54ec241a4 gcc/testsuite/gfortran.dg/pr113956.f90 + b90d3cad8caadc96fae5e6ac9b101803 gcc/testsuite/gfortran.dg/pr114012.f90 + d832d83a7f0305ed5af20dce6be24b4b gcc/testsuite/gfortran.dg/pr114304-2.f90 + 439f95a81137197be61b0747f76ecd0f gcc/testsuite/gfortran.dg/pr114304.f90 + e91d746b0b9de2b6ed5529fb46921a0b gcc/testsuite/gfortran.dg/pr114535d.f90 + 60e9f03f051c282f39e48a14c058f5de gcc/testsuite/gfortran.dg/pr114535iv.f90 + d3d77a4c149cf5358eb97935171795fb gcc/testsuite/gfortran.dg/pr114739.f90 984f8307f36d56a0b48b5acce2dd5eb5 gcc/testsuite/gfortran.dg/pr12884.f 64075248b9d1bffd6f380bb4e2a6eae0 gcc/testsuite/gfortran.dg/pr15129.f90 e9cbd51db4e16292fc5dd1fead2e5a49 gcc/testsuite/gfortran.dg/pr15140.f90 *************** c37cf579044bfef981cfa2ddcb25a453 gcc/te *** 89026,89031 **** --- 89442,89448 ---- 7ade9a557f491731cdaf5490b032e03f gcc/testsuite/gfortran.dg/pr67614.f90 0cd5be3bc19d66df1e0bf874a3458016 gcc/testsuite/gfortran.dg/pr67615.f90 0bfa6e741c486d27fbd1d68e80ab467d gcc/testsuite/gfortran.dg/pr67616.f90 + bb2e1b79d50592d1323e1df12ea217d2 gcc/testsuite/gfortran.dg/pr67740.f90 f7b255646efb403e4fd6d6c4c721b6c6 gcc/testsuite/gfortran.dg/pr67802.f90 9cfe60384f2e4f1cbec4ea41ea7e4e44 gcc/testsuite/gfortran.dg/pr67803.f90 63f85252504511c380cbe33f58073c38 gcc/testsuite/gfortran.dg/pr67804.f90 *************** f15d85cfec6e3cdd76e6667f5c30ef44 gcc/te *** 89045,89050 **** --- 89462,89468 ---- 72204a8f7a7d531531023b6f9efc86ff gcc/testsuite/gfortran.dg/pr68151.f90 919a27f3a4cfbc08b7e864601ba56e0f gcc/testsuite/gfortran.dg/pr68153.f90 763b223410c19c6e68bea4f15ed3fef6 gcc/testsuite/gfortran.dg/pr68154.f90 + f2004272f00b33fb0145bc4d738fbd9f gcc/testsuite/gfortran.dg/pr68155.f90 c0ada255b8d4b02a2bf3f62ec3fd9223 gcc/testsuite/gfortran.dg/pr68224.f90 4239cbc5229572dbb1b8db5b9e534c59 gcc/testsuite/gfortran.dg/pr68227.f90 9b3855eb7267f08dfbb31622bb7ccd2f gcc/testsuite/gfortran.dg/pr68251.f90 *************** ea36174db4fefe6bbe58d8c899d770f6 gcc/te *** 89250,89256 **** 299cd4b3cd8f981657d37f9d6063d080 gcc/testsuite/gfortran.dg/pr88072.f90 f2f69037301e6e901e6d032542873c68 gcc/testsuite/gfortran.dg/pr88116_1.f90 99c41c8c4fc876568fd7e4f16f44a112 gcc/testsuite/gfortran.dg/pr88116_2.f90 ! be2e4039f25dfb8ddb1d209b44b9ca1a gcc/testsuite/gfortran.dg/pr88138.f90 26a8b12bb3643c1cd5f28f77f51cd045 gcc/testsuite/gfortran.dg/pr88148.f90 a554e5d57f7bc7a8d1b99acfd01fdaa9 gcc/testsuite/gfortran.dg/pr88155.f90 86722bed377c20abe3aeeff940fd433d gcc/testsuite/gfortran.dg/pr88169_1.f90 --- 89668,89674 ---- 299cd4b3cd8f981657d37f9d6063d080 gcc/testsuite/gfortran.dg/pr88072.f90 f2f69037301e6e901e6d032542873c68 gcc/testsuite/gfortran.dg/pr88116_1.f90 99c41c8c4fc876568fd7e4f16f44a112 gcc/testsuite/gfortran.dg/pr88116_2.f90 ! 722913544c7c88e06a6a0faa72993b6a gcc/testsuite/gfortran.dg/pr88138.f90 26a8b12bb3643c1cd5f28f77f51cd045 gcc/testsuite/gfortran.dg/pr88148.f90 a554e5d57f7bc7a8d1b99acfd01fdaa9 gcc/testsuite/gfortran.dg/pr88155.f90 86722bed377c20abe3aeeff940fd433d gcc/testsuite/gfortran.dg/pr88169_1.f90 *************** be4f5532cbaa58d083d822b627ffe5de gcc/te *** 89282,89287 **** --- 89700,89706 ---- eb191e16157f03cba56fb00422bb2852 gcc/testsuite/gfortran.dg/pr89266.f90 2726f9a132f249a727072d95e5f0aee3 gcc/testsuite/gfortran.dg/pr89344.f90 a93655d239d2dec9eca10adffc8e918f gcc/testsuite/gfortran.dg/pr89451.f90 + ec2b325aa671386611e60b1194beab21 gcc/testsuite/gfortran.dg/pr89462.f90 3d3ae675ea53199229afe3e1ab0a247a gcc/testsuite/gfortran.dg/pr89492.f90 f5fd6e3fa110d4cb66c18b37bf885f26 gcc/testsuite/gfortran.dg/pr89574.f90 3f3f46dc6e7ecbe8d1b98921221b16ec gcc/testsuite/gfortran.dg/pr89646.f90 *************** f5fd6e3fa110d4cb66c18b37bf885f26 gcc/te *** 89289,89296 **** 7ebf7d753067f8fb33a012241af298a7 gcc/testsuite/gfortran.dg/pr89664.f90 51110a6eedd6a04c8d24b1221f417a4c gcc/testsuite/gfortran.dg/pr89943_1.f90 c8b61ebc8563f334c25fcd70c0534f36 gcc/testsuite/gfortran.dg/pr89943_2.f90 ! 06b2d802f5d95257d8ae61d2b9c466d0 gcc/testsuite/gfortran.dg/pr89943_3.f90 ! 76252e955978550643d5d0dc6f7e78e4 gcc/testsuite/gfortran.dg/pr89943_4.f90 831d5fcec1de1ef5c5b043098058d7a8 gcc/testsuite/gfortran.dg/pr89956.f90 f93d3cf614a3e39cf100823554d1a638 gcc/testsuite/gfortran.dg/pr90002.f90 b4b80d372198c955d7e61bb3acdc89e1 gcc/testsuite/gfortran.dg/pr90021.f90 --- 89708,89715 ---- 7ebf7d753067f8fb33a012241af298a7 gcc/testsuite/gfortran.dg/pr89664.f90 51110a6eedd6a04c8d24b1221f417a4c gcc/testsuite/gfortran.dg/pr89943_1.f90 c8b61ebc8563f334c25fcd70c0534f36 gcc/testsuite/gfortran.dg/pr89943_2.f90 ! af61ebc1a556ae2b9d4b71efd216ca88 gcc/testsuite/gfortran.dg/pr89943_3.f90 ! 144e6e7adcaa47ba26138bcf270ed91e gcc/testsuite/gfortran.dg/pr89943_4.f90 831d5fcec1de1ef5c5b043098058d7a8 gcc/testsuite/gfortran.dg/pr89956.f90 f93d3cf614a3e39cf100823554d1a638 gcc/testsuite/gfortran.dg/pr90002.f90 b4b80d372198c955d7e61bb3acdc89e1 gcc/testsuite/gfortran.dg/pr90021.f90 *************** cd47c5f771e296971301643af5583dfa gcc/te *** 89352,89357 **** --- 89771,89777 ---- 9e6b24c3fb5c77a7500ceae8f3990258 gcc/testsuite/gfortran.dg/pr92208.f90 8623fdd6c6daabe9a4f011dbfe739aa7 gcc/testsuite/gfortran.dg/pr92277.f90 f9f3f23d1f0e555393704aacc1883399 gcc/testsuite/gfortran.dg/pr92537.f90 + 046e4aaa6db5ee0c20856d4a366b6343 gcc/testsuite/gfortran.dg/pr92586.f90 7383008a151433faa521410955d94a9f gcc/testsuite/gfortran.dg/pr92629.f90 4f42dad4b149f18ca843630273713f7d gcc/testsuite/gfortran.dg/pr92781.f90 4dd22e19ac67028e19b5789647a9a64b gcc/testsuite/gfortran.dg/pr92874.f90 *************** e5dc7b9c0011583d289357ca67906106 gcc/te *** 89384,89389 **** --- 89804,89810 ---- e0fe2bc5bc29092b239eac7f6bd6642a gcc/testsuite/gfortran.dg/pr93601.f90 7fba8006db48550444d5426908e7bd21 gcc/testsuite/gfortran.dg/pr93603.f90 7eccbef6ebf6b0e510ef57d5a859de0f gcc/testsuite/gfortran.dg/pr93604.f90 + 2c5913a12b155a423343994addcd98f9 gcc/testsuite/gfortran.dg/pr93678.f90 3a950099baf4b594b439137360e76929 gcc/testsuite/gfortran.dg/pr93685_1.f90 54e6c162457d096a85a702a7d61bb2c6 gcc/testsuite/gfortran.dg/pr93685_2.f90 72a93ce5a3a0e7f069659dbadadfb4a9 gcc/testsuite/gfortran.dg/pr93686_1.f90 *************** d56be000adb4e5f4b724c408cb3ef497 gcc/te *** 89467,89474 **** 2524ffbe2910a6b3473a3c31d7998a36 gcc/testsuite/gfortran.dg/pr96436_10.f90 d5903f6b335e4ec014953d7d04a5333d gcc/testsuite/gfortran.dg/pr96436_2.f90 dde1a77e8079263845b0f3cd32842e75 gcc/testsuite/gfortran.dg/pr96436_3.f90 ! 02a8a94ac1a66a3c9a1b93f9c6b284c3 gcc/testsuite/gfortran.dg/pr96436_4.f90 ! 5a404e04f183d1606f19184be398549b gcc/testsuite/gfortran.dg/pr96436_5.f90 bb672f4853167965dbd2fb64d85d3a06 gcc/testsuite/gfortran.dg/pr96436_6.f90 aee380fea7e3e2a16dae6bf8d81c92f5 gcc/testsuite/gfortran.dg/pr96436_7.f90 1cb7ddf98a011abb0604916e9800bcd8 gcc/testsuite/gfortran.dg/pr96436_8.f90 --- 89888,89895 ---- 2524ffbe2910a6b3473a3c31d7998a36 gcc/testsuite/gfortran.dg/pr96436_10.f90 d5903f6b335e4ec014953d7d04a5333d gcc/testsuite/gfortran.dg/pr96436_2.f90 dde1a77e8079263845b0f3cd32842e75 gcc/testsuite/gfortran.dg/pr96436_3.f90 ! 3c131319a4ec01e581295df53116f78a gcc/testsuite/gfortran.dg/pr96436_4.f90 ! e32640ff3b1830463b0d782d066a4c7d gcc/testsuite/gfortran.dg/pr96436_5.f90 bb672f4853167965dbd2fb64d85d3a06 gcc/testsuite/gfortran.dg/pr96436_6.f90 aee380fea7e3e2a16dae6bf8d81c92f5 gcc/testsuite/gfortran.dg/pr96436_7.f90 1cb7ddf98a011abb0604916e9800bcd8 gcc/testsuite/gfortran.dg/pr96436_8.f90 *************** c308feb04384f4d499a6fd6368791b62 gcc/te *** 89498,89503 **** --- 89919,89925 ---- ab9d92c634833928d03c56d815ba4f69 gcc/testsuite/gfortran.dg/pr99060.f90 c4cc8ded91592083a4019a67d9837e2c gcc/testsuite/gfortran.dg/pr99112.f90 2b316ebb5f0c34f4b1c5764c77c3e824 gcc/testsuite/gfortran.dg/pr99204.f90 + c1e1a627c969a4eaba98c5c4ee3966e7 gcc/testsuite/gfortran.dg/pr99326.f90 fa725ab0822c092ba2f3733d9d76757d gcc/testsuite/gfortran.dg/pr99349.f90 c6196744dcddad274ab914969ad9e6d3 gcc/testsuite/gfortran.dg/pr99545.f90 d2a694e27e64b57361e7aee533fcd3c3 gcc/testsuite/gfortran.dg/pr99602.f90 *************** a50ed014f3fd628f8e8e8e09f44f8c0f gcc/te *** 89616,89621 **** --- 90038,90044 ---- 43ca301c170d61a34b8db85b8fcd1d84 gcc/testsuite/gfortran.dg/proc_ptr_50.f90 2bdbfb5616cc946bcc711233f9deb135 gcc/testsuite/gfortran.dg/proc_ptr_51.f90 a2ab49b1f709afa3cf1c9284d4576fa9 gcc/testsuite/gfortran.dg/proc_ptr_52.f90 + 3850d6d46514853aa3728e5e82d5c382 gcc/testsuite/gfortran.dg/proc_ptr_53.f90 aa07bccd48fbde93e47db111bac1ce8c gcc/testsuite/gfortran.dg/proc_ptr_6.f90 3648c097522ae5858550c7d7776afd28 gcc/testsuite/gfortran.dg/proc_ptr_7.c fe310c69dfb181cb04f271dad6a3f1d5 gcc/testsuite/gfortran.dg/proc_ptr_7.f90 *************** c75d4858dc637cf3362d7fd34a2b2c12 gcc/te *** 89672,89677 **** --- 90095,90101 ---- 301350ead67fb8e45886f0d873e81b06 gcc/testsuite/gfortran.dg/proc_ptr_comp_50.f90 0dd95ef147a026dc2d07a5c91995c129 gcc/testsuite/gfortran.dg/proc_ptr_comp_51.f90 15621b2f611d0a300724f72e8f740877 gcc/testsuite/gfortran.dg/proc_ptr_comp_52.f90 + f0c1367506dcd47dc7a8083c794d8222 gcc/testsuite/gfortran.dg/proc_ptr_comp_53.f90 0a5c35e1c686199c602eb079c1609d62 gcc/testsuite/gfortran.dg/proc_ptr_comp_6.f90 f41c3a8af3a63f5aef54c294fa8cd9c5 gcc/testsuite/gfortran.dg/proc_ptr_comp_7.f90 d3e8e56011aae6c4a66fe7865f87061c gcc/testsuite/gfortran.dg/proc_ptr_comp_8.f90 *************** b432d7fb6a6aa41a4117f93a3fb4acb3 gcc/te *** 90527,90532 **** --- 90951,90957 ---- a9c38f145300eee1aaca2ccee4d418fd gcc/testsuite/gfortran.dg/typed_subroutine_1.f90 5fcbccbbe6f25c7610a63673951af1d0 gcc/testsuite/gfortran.dg/ubound_1.f90 3487e8fcd11181a286e307cf481c7df0 gcc/testsuite/gfortran.dg/ubsan/bind-c-intent-out-2.f90 + 5cc6a12dda884ede65175d2892af6333 gcc/testsuite/gfortran.dg/ubsan/missing_optional_dummy_8.f90 ddea8e97d88b939147b22730616832d2 gcc/testsuite/gfortran.dg/ubsan/pr101624.f90 e291127c769443ec31b3cab6dcce2f99 gcc/testsuite/gfortran.dg/ubsan/pr106062.f90 4d40bcc833ec02a5fae4fb72038e3f14 gcc/testsuite/gfortran.dg/ubsan/ubsan.exp *************** b901a88b454d7825c0db0571e62c9944 gcc/te *** 90622,90627 **** --- 91047,91053 ---- aa0dfadd71d3f03426fb0f846d07e63b gcc/testsuite/gfortran.dg/use_29.f90 9ca8384adf4fc331598e3bcd1cbb8ffe gcc/testsuite/gfortran.dg/use_3.f90 e3915d16f4c6f728ab91bc8f9638bf61 gcc/testsuite/gfortran.dg/use_30.f90 + 38dd8041fc441aa36819446520a45884 gcc/testsuite/gfortran.dg/use_31.f90 0c64a8a6f9a898ee90f8cccc71a7f782 gcc/testsuite/gfortran.dg/use_4.f90 4e842fdc63e80db58b1de3e5a39f4573 gcc/testsuite/gfortran.dg/use_5.f90 3ccf2307581a4141eac7b094a0461b40 gcc/testsuite/gfortran.dg/use_6.f90 *************** bba5c2c089f258e8640ba52dab163abe gcc/te *** 90731,90736 **** --- 91157,91163 ---- ca55d89300492a406b4293654a75c058 gcc/testsuite/gfortran.dg/vect/pr106253.f 151833a2475cd28c993b813d478c8b37 gcc/testsuite/gfortran.dg/vect/pr107254.f90 777b852dc009b4634413ed078253b5e8 gcc/testsuite/gfortran.dg/vect/pr108979.f90 + 7e36b2b10502091bcb389f5834b42c96 gcc/testsuite/gfortran.dg/vect/pr114736.f90 a17cb1ab891a5af3471298da97331dda gcc/testsuite/gfortran.dg/vect/pr19049.f90 fdb4a5f5d5eff2fd75822f14875bd776 gcc/testsuite/gfortran.dg/vect/pr32377.f90 bbb6998ea100c6c2039976c6446a0c10 gcc/testsuite/gfortran.dg/vect/pr32380.f *************** a276e704774544b67f696562f2ca037a gcc/te *** 90967,90972 **** --- 91394,91400 ---- 86f79727a2585651e7f8988e8f2b9b6b gcc/testsuite/gfortran.dg/zero_sized_10.f90 c0423f9b0066ce87e8fda46c325b7ca4 gcc/testsuite/gfortran.dg/zero_sized_11.f90 5ac215a1fd95c4a4b04a0e4caa74e1af gcc/testsuite/gfortran.dg/zero_sized_12.f90 + 0237e4d29dbdcfb8914291cfb47e8c0b gcc/testsuite/gfortran.dg/zero_sized_13.f90 82cb77b03b04cc723c296fae7e290ae1 gcc/testsuite/gfortran.dg/zero_sized_14.f90 95d9c7895aef1aaaa375f07d1b28a860 gcc/testsuite/gfortran.dg/zero_sized_15.f90 0f1a8c7977a278e2a345da387450d769 gcc/testsuite/gfortran.dg/zero_sized_2.f90 *************** cca4ea2150705794b6f66dc505e31741 gcc/te *** 91346,91352 **** --- 91774,91782 ---- 7ff877fbb045b88c74f5a99a6777a3de gcc/testsuite/gm2/coroutines/pim/run/pass/testiotransfer.mod 8bd9ea367942a49eaf640de32e64f0ee gcc/testsuite/gm2/coroutines/pim/run/pass/testtransfer.mod d6adcb8a3ecd322645053f435759b3e1 gcc/testsuite/gm2/cpp/fail/another.h + 7cfa64e40d9b8ef9b4e164ebfa1beb09 gcc/testsuite/gm2/cpp/fail/cpp-fail.exp ad849e5f7ccb276b6be3b793da79a630 gcc/testsuite/gm2/cpp/fail/fail1.mod + e1ca93bb3583f891bc978bc57373eb69 gcc/testsuite/gm2/cpp/fail/foocpp.mod 14633206acb34dffbebcd5db43dd7229 gcc/testsuite/gm2/cpp/longcard2.mod 6ee77d1f3bced323a9c3a5ac371d3edb gcc/testsuite/gm2/cpp/longstrimp.mod cf65d09dda713bbf29dd8228b5d8f1ba gcc/testsuite/gm2/cpp/pass/arrayhuge.mod *************** d6faec56a77a81badbef07619cac4623 gcc/te *** 91525,91530 **** --- 91955,91962 ---- e9a2009d44fdbd3ac42d7b6cb091fe43 gcc/testsuite/gm2/embedded/pass/varataddress2.mod 45d007240ca856abf7290af776bc5a3e gcc/testsuite/gm2/embedded/pass/varataddress3.mod 72cdcb20fb0bc304b6450b4687e2c716 gcc/testsuite/gm2/errors/fail/array1.mod + 6d0f8deec5adfc5c2125e7c8d2a415d3 gcc/testsuite/gm2/errors/fail/badabs.mod + 05d2a716595855b76c013e8a190bca43 gcc/testsuite/gm2/errors/fail/badenum.mod 4b934d4c7b65834470d0b4d42b1d55a4 gcc/testsuite/gm2/errors/fail/badexpr.mod 604ba73cefe9cef918e32fc0a4222473 gcc/testsuite/gm2/errors/fail/badfor.mod 5df468079bdaff39ae193d84b106a403 gcc/testsuite/gm2/errors/fail/badhigh.mod *************** a0ccef882546315d1efff7d610ac9876 gcc/te *** 91638,91643 **** --- 92070,92079 ---- e922016cce09163608fcd19b3f6574e5 gcc/testsuite/gm2/exceptions/run/pass/mycpp.def a8136cdc04cc8b9ee85754bb8cb08606 gcc/testsuite/gm2/exceptions/run/pass/mym2.mod 1d60661b2177000cd107e28eecf48a91 gcc/testsuite/gm2/exceptions/run/pass/mym2a.mod + c36f144657b66105670873deba74b140 gcc/testsuite/gm2/extensions/asm/fail/extensions-asm-fail.exp + 66d869d3a212a05904024189be0caeeb gcc/testsuite/gm2/extensions/asm/fail/stressreturn.mod + 4f0b43c9da16c211b62d729295856854 gcc/testsuite/gm2/extensions/asm/pass/extensions-asm-pass.exp + 93e20b4d7415ef76dce2ab514fb459e9 gcc/testsuite/gm2/extensions/asm/pass/fooasm.mod a077c5772713ae8df581262f31eb41b6 gcc/testsuite/gm2/extensions/pass/align.mod 96abb4f2cd136d007d8d37ecbbbee744 gcc/testsuite/gm2/extensions/pass/align2.mod 00d60d08e77e65820b6a58dd0a771ce8 gcc/testsuite/gm2/extensions/pass/card16p.mod *************** e33c60fd3ac7a38f872e338f9a718f81 gcc/te *** 91741,91747 **** 2c2021fe25b158b9d6384aa1f94820be gcc/testsuite/gm2/iso/analysis/fail/noreturn.mod 5a3e9a4a9089931344916866a14fe3c6 gcc/testsuite/gm2/iso/analysis/fail/returnvalue.mod 8e731a1c7867a36e9ee26de3938f03cf gcc/testsuite/gm2/iso/analysis/fail/staticarray.mod ! 2b66e42816724ad42f8f960914142c1a gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp 437990ba3723c0f4b1dbcdddb2cc37cc gcc/testsuite/gm2/iso/check/fail/modulusoverflow.mod 52d1a8cb2fc648e4f76b6d73d7270a57 gcc/testsuite/gm2/iso/extended-opaque/pass/iso-extended-opaque-pass.exp b45afeaab70f1f8a13e0efe9b2520a3c gcc/testsuite/gm2/iso/extended-opaque/pass/stressset.def --- 92177,92183 ---- 2c2021fe25b158b9d6384aa1f94820be gcc/testsuite/gm2/iso/analysis/fail/noreturn.mod 5a3e9a4a9089931344916866a14fe3c6 gcc/testsuite/gm2/iso/analysis/fail/returnvalue.mod 8e731a1c7867a36e9ee26de3938f03cf gcc/testsuite/gm2/iso/analysis/fail/staticarray.mod ! 6db2beec6e65b74719ec820ddee55a68 gcc/testsuite/gm2/iso/check/fail/iso-check-fail.exp 437990ba3723c0f4b1dbcdddb2cc37cc gcc/testsuite/gm2/iso/check/fail/modulusoverflow.mod 52d1a8cb2fc648e4f76b6d73d7270a57 gcc/testsuite/gm2/iso/extended-opaque/pass/iso-extended-opaque-pass.exp b45afeaab70f1f8a13e0efe9b2520a3c gcc/testsuite/gm2/iso/extended-opaque/pass/stressset.def *************** dd860aba1682b0a72c1480ccf6adf17f gcc/te *** 91804,91809 **** --- 92240,92247 ---- 05f94c162c8834ea7d5e2195dfc91372 gcc/testsuite/gm2/iso/pass/constructor5.mod ceb9263854583e4281eba6f4f243b08f gcc/testsuite/gm2/iso/pass/constructor6.mod b2886388ec602bee4d15ac4312db8e06 gcc/testsuite/gm2/iso/pass/constsize4.mod + f330fb2285eaaa5f5b20f84ad7e0edc7 gcc/testsuite/gm2/iso/pass/constvec.mod + ee41216e13dd953ee144ca99d349b1c8 gcc/testsuite/gm2/iso/pass/constvec2.mod 9e26320e98a2493f1d4c1d9a0ee486d4 gcc/testsuite/gm2/iso/pass/delim.mod 14b1c8dfb0129ea08182a7e929acba7e gcc/testsuite/gm2/iso/pass/delim2.mod 06b0baf6718be827434fe1beb451da51 gcc/testsuite/gm2/iso/pass/enummodule.mod *************** b608ff9e7423b8fdeb8fd6a83709a0fd gcc/te *** 91853,91858 **** --- 92291,92297 ---- ee63f51af90a190018b96e17aa2c2443 gcc/testsuite/gm2/iso/run/pass/constructor1.mod 4196c0d5e4d26c006a27e937a231c7cb gcc/testsuite/gm2/iso/run/pass/constructor2.mod 7b2fcdc6261cbefe83d48f9a7e242eda gcc/testsuite/gm2/iso/run/pass/conststrarray.mod + 4dfe8fae139497f03d3adba7f0cfd5ac gcc/testsuite/gm2/iso/run/pass/constvec3.mod 47411b6568e03dac16a9864783269f5a gcc/testsuite/gm2/iso/run/pass/contimer.mod 242408544a85a41bde4331e2cdc43cbd gcc/testsuite/gm2/iso/run/pass/except.c 9aa061ffb83b605de1bedd862a17d511 gcc/testsuite/gm2/iso/run/pass/except2.mod *************** bd84b85a4aea039cace1cdb2c47ad316 gcc/te *** 91873,91878 **** --- 92312,92318 ---- 53e603c239ad4622684dde9c1e8421fb gcc/testsuite/gm2/iso/run/pass/long3.mod 3e9aea64035e591be34ca0f395c7db6e gcc/testsuite/gm2/iso/run/pass/long4.c a41aa2876a78259fcb150b4c9acea2bc gcc/testsuite/gm2/iso/run/pass/long4.mod + 29c3102f3a86cf0e1c66641bd3bab00a gcc/testsuite/gm2/iso/run/pass/m2date.mod eecc4d338e2a2a888d615b86ee87929e gcc/testsuite/gm2/iso/run/pass/minmax.mod e011dc8b55ca1eab0785cef2ccdbf70e gcc/testsuite/gm2/iso/run/pass/modulus.mod 65216817410e2be29939a9fa49eb5014 gcc/testsuite/gm2/iso/run/pass/nestediso.mod *************** ac46225adaf10940cda4fe816a959fae gcc/te *** 91897,91902 **** --- 92337,92344 ---- 16c27bfa440aa6625203fa682eb0abc2 gcc/testsuite/gm2/iso/run/pass/t1.cpp 16aea3bbcc34c8fd20153cc663287042 gcc/testsuite/gm2/iso/run/pass/testLength.mod 31f73a7b9921b81db0836fefb79b1a18 gcc/testsuite/gm2/iso/run/pass/testarray.mod + 4d7687bca068e2077f170b6c8590e9e6 gcc/testsuite/gm2/iso/run/pass/testclock.mod + 8b34e4874d9f5cb694efcb8924f36ea9 gcc/testsuite/gm2/iso/run/pass/testclock2.mod 7bf6b9debcb93e4d790de77b832f7e02 gcc/testsuite/gm2/iso/run/pass/testgeneric.mod 2099fa3a5b7dcee8b0ecac40aba33545 gcc/testsuite/gm2/iso/run/pass/testlarge.mod b0965c512d33d48ba22ab6ec0cbb43e1 gcc/testsuite/gm2/iso/run/pass/testsystem.mod *************** eede0c581979969aea0b76b074615eb7 gcc/te *** 91944,91959 **** --- 92386,92405 ---- 68baefe452621d636165c7627f8fe3f1 gcc/testsuite/gm2/isolib/run/pass/realconv.mod 7a82b793fe5bff4bdea68a1eff97b46d gcc/testsuite/gm2/isolib/run/pass/realconv2.mod ffe3859b8cbbed7ff7dedbdc8ba61bdf gcc/testsuite/gm2/isolib/run/pass/realstr.mod + 3cbddbc021a2ffd0c27fd9d14cb0b6d7 gcc/testsuite/gm2/isolib/run/pass/seqappend.mod 443c40937dbf55c93e28bda7293d92f9 gcc/testsuite/gm2/isolib/run/pass/sigfig.mod + f9ceb5c30759365763fecbe5f99b1cac gcc/testsuite/gm2/isolib/run/pass/skiplinetest.mod f9fbb418b92d420ebb3f6a854efc8622 gcc/testsuite/gm2/isolib/run/pass/stringreal2.mod e98acdda8385726dbc5cb5a3390a50c8 gcc/testsuite/gm2/isolib/run/pass/termfile.mod-disabled dc2a1d9cbb699aea2bb0228df7dc3bab gcc/testsuite/gm2/isolib/run/pass/testappend.mod + 44b0706459af32f2fcae978eb612d24a gcc/testsuite/gm2/isolib/run/pass/testdelete.mod 3c2b8785cd9a160a4d9c0557e6712778 gcc/testsuite/gm2/isolib/run/pass/testinput c52fa331117eec4f92c2d39dc4aebd31 gcc/testsuite/gm2/isolib/run/pass/testio.mod 440f50991d6576420a0c429b4325688c gcc/testsuite/gm2/isolib/run/pass/testio2.mod a0258029a47ea22b2a2b407eee876964 gcc/testsuite/gm2/isolib/run/pass/testmem.mod b0db180b49d8a548d336623cfa95886b gcc/testsuite/gm2/isolib/run/pass/testmem2.mod 4cb5e85fdcafc58f3b09f42c156b108c gcc/testsuite/gm2/isolib/run/pass/testnumber + d156266b63dbf06a30dd66b760aac7b3 gcc/testsuite/gm2/isolib/run/pass/testreadint.mod 6c6edbd10f860aaf9371f352826b9106 gcc/testsuite/gm2/isolib/run/pass/tiny.mod d090d3879801d41d7c6558ac9d7a72a7 gcc/testsuite/gm2/isolib/run/pass/tiny2.mod 05532bafc054ae01df9117b40867ddab gcc/testsuite/gm2/isolib/run/pass/tiny3.mod *************** db7436cc6948424e65700d7b6597862f gcc/te *** 92012,92017 **** --- 92458,92464 ---- 06e24a2d59b14219f627f48df32c5901 gcc/testsuite/gm2/pim/fail/badparam2.mod c0a1e7a398973481be6f30c11eee5bae gcc/testsuite/gm2/pim/fail/badtype.mod 3005117cf02eff524c88b0f70386ab9c gcc/testsuite/gm2/pim/fail/badtypes.mod + 339039fa4de08c0d18a74fb830b428c9 gcc/testsuite/gm2/pim/fail/badxproc.mod 32a338cbfd9aab52ae0e22a277304859 gcc/testsuite/gm2/pim/fail/bits.mod 2560330c2c220899292051f64787da55 gcc/testsuite/gm2/pim/fail/bits2.mod 9ec960da3d55a2f6364f7233f5a8d76f gcc/testsuite/gm2/pim/fail/bits3.mod *************** b8a4b703630278841a4e9c5abedc18d4 gcc/te *** 92030,92044 **** 4df60ae154b7faa7f6de3b7b7408bd61 gcc/testsuite/gm2/pim/fail/expression.mod 69c2ed682fb94fb926da925d15f00d94 gcc/testsuite/gm2/pim/fail/expression2.mod c08ed0a5562d22ab62d13213541fcf63 gcc/testsuite/gm2/pim/fail/expression3.mod 5aa9ea61b8279a2548ef04550b219d9c gcc/testsuite/gm2/pim/fail/func.mod 3b65ab060215799682e0e1ee641110ab gcc/testsuite/gm2/pim/fail/good.def d923e158bb4304b26276fbaa8e50d9a4 gcc/testsuite/gm2/pim/fail/good.mod d0fe89691db5ca3450f7ad712cc5ee70 gcc/testsuite/gm2/pim/fail/import.mod a4172d6ddd591491bdf158fd3ba334ac gcc/testsuite/gm2/pim/fail/inserttok.def 00e66be53b6ccc6d6f2ff968655ce82a gcc/testsuite/gm2/pim/fail/inserttok.mod e4f3aa03a13772a61311e3a621c5815d gcc/testsuite/gm2/pim/fail/integer.mod 0a240b36d3db47443f0a95e22c855a93 gcc/testsuite/gm2/pim/fail/keyword.mod ! 2a103d82e8ed64d00ca674e4f1a0b91f gcc/testsuite/gm2/pim/fail/largeconst.mod 854f0526c0528a9407b98defcad3ca6e gcc/testsuite/gm2/pim/fail/longtypes2.mod b427db0884d2f8b091058ee61533c919 gcc/testsuite/gm2/pim/fail/longtypes3.mod 2d926c0f64b0b9703c54fb09f436ce2f gcc/testsuite/gm2/pim/fail/multisetf.mod --- 92477,92494 ---- 4df60ae154b7faa7f6de3b7b7408bd61 gcc/testsuite/gm2/pim/fail/expression.mod 69c2ed682fb94fb926da925d15f00d94 gcc/testsuite/gm2/pim/fail/expression2.mod c08ed0a5562d22ab62d13213541fcf63 gcc/testsuite/gm2/pim/fail/expression3.mod + 5449317cc1e8981eb58899e0ea3bd6af gcc/testsuite/gm2/pim/fail/foovaltype.mod 5aa9ea61b8279a2548ef04550b219d9c gcc/testsuite/gm2/pim/fail/func.mod 3b65ab060215799682e0e1ee641110ab gcc/testsuite/gm2/pim/fail/good.def d923e158bb4304b26276fbaa8e50d9a4 gcc/testsuite/gm2/pim/fail/good.mod + 7c57e05e47bb0f1a3586d50ba50e60ec gcc/testsuite/gm2/pim/fail/highice.mod d0fe89691db5ca3450f7ad712cc5ee70 gcc/testsuite/gm2/pim/fail/import.mod a4172d6ddd591491bdf158fd3ba334ac gcc/testsuite/gm2/pim/fail/inserttok.def 00e66be53b6ccc6d6f2ff968655ce82a gcc/testsuite/gm2/pim/fail/inserttok.mod e4f3aa03a13772a61311e3a621c5815d gcc/testsuite/gm2/pim/fail/integer.mod 0a240b36d3db47443f0a95e22c855a93 gcc/testsuite/gm2/pim/fail/keyword.mod ! d15f2e8c4f7eb28fc7b687d8e5be5f2f gcc/testsuite/gm2/pim/fail/largeconst.mod ! 55608db177d8466daecbf5dcbee3e22e gcc/testsuite/gm2/pim/fail/largeconst2.mod 854f0526c0528a9407b98defcad3ca6e gcc/testsuite/gm2/pim/fail/longtypes2.mod b427db0884d2f8b091058ee61533c919 gcc/testsuite/gm2/pim/fail/longtypes3.mod 2d926c0f64b0b9703c54fb09f436ce2f gcc/testsuite/gm2/pim/fail/multisetf.mod *************** aabcce2ae6fcf461e4dc47ece6490255 gcc/te *** 92179,92184 **** --- 92629,92635 ---- 6ff4d5415dc6f9c665ed24a5806ebb8a gcc/testsuite/gm2/pim/pass/filesystem.mod 21e7254f8c3a907135e26aea9abad47f gcc/testsuite/gm2/pim/pass/foo.mod d1d27d2d63c6c5064aba34a58efe74b3 gcc/testsuite/gm2/pim/pass/foo2.mod + 519ac1b6b2f9994fc011779a417ac94a gcc/testsuite/gm2/pim/pass/fooasm3.mod 56286f2c3e92e15a7825618ae140091a gcc/testsuite/gm2/pim/pass/for1.mod a1c6c93cfe8fff16854d0c7e5cc45fbf gcc/testsuite/gm2/pim/pass/function.mod ad0050bee37026a93c829a61da2f0938 gcc/testsuite/gm2/pim/pass/function2.mod *************** eee2391736f958281bd80a26c06eaa1e gcc/te *** 92298,92304 **** 4687686c1c7a8ec91eb97578d12ef6b8 gcc/testsuite/gm2/pim/pass/proctype3.mod 7db4181faa89b7e33e59bac0d42c5f24 gcc/testsuite/gm2/pim/pass/proctype4.mod 2764c22b17e3aed35cc1e1ad098d8948 gcc/testsuite/gm2/pim/pass/program.mod ! 8425d8f3740cfa4a292981fd35acb509 gcc/testsuite/gm2/pim/pass/program2.mod 0e9623407815284f4c06e29defecb203 gcc/testsuite/gm2/pim/pass/ptrarray.mod 0304569045d8cb7150bff529f14fdb39 gcc/testsuite/gm2/pim/pass/ptrarray2.mod 55ea4ffb039720c977f13f532dea66dd gcc/testsuite/gm2/pim/pass/ptrarray3.mod --- 92749,92755 ---- 4687686c1c7a8ec91eb97578d12ef6b8 gcc/testsuite/gm2/pim/pass/proctype3.mod 7db4181faa89b7e33e59bac0d42c5f24 gcc/testsuite/gm2/pim/pass/proctype4.mod 2764c22b17e3aed35cc1e1ad098d8948 gcc/testsuite/gm2/pim/pass/program.mod ! 604837a21a2d2c291ba8aa91137a590b gcc/testsuite/gm2/pim/pass/program2.mod 0e9623407815284f4c06e29defecb203 gcc/testsuite/gm2/pim/pass/ptrarray.mod 0304569045d8cb7150bff529f14fdb39 gcc/testsuite/gm2/pim/pass/ptrarray2.mod 55ea4ffb039720c977f13f532dea66dd gcc/testsuite/gm2/pim/pass/ptrarray3.mod *************** d9a4def1ccfcda9fbef0383ed9a3b0a3 gcc/te *** 92586,92591 **** --- 93037,93043 ---- 0cbc37d7e762518b7f6d455ead438f80 gcc/testsuite/gm2/pim/run/pass/For7.mod 04d57da643f54908625d1f724647e763 gcc/testsuite/gm2/pim/run/pass/For8.mod fbe9a7212d06b46b726582400168a73f gcc/testsuite/gm2/pim/run/pass/For9.mod + b52b75b5ff8bd343a4eb5f7529d6507f gcc/testsuite/gm2/pim/run/pass/ForChar.mod e2cb78c087de5624bde513f2686cd8fa gcc/testsuite/gm2/pim/run/pass/FpuIOBug.mod 83e11f28bc0633f791c5e4435fb753ba gcc/testsuite/gm2/pim/run/pass/MaxReal.mod 2572598f54cbc67cd25de7200d8a37fa gcc/testsuite/gm2/pim/run/pass/MaxReal2.mod *************** daeeb87f8b14aaebb849dabfea9ff648 gcc/te *** 92607,92612 **** --- 93059,93065 ---- 199ec2b67b0445364db02e277a78b82e gcc/testsuite/gm2/pim/run/pass/cycles.mod 1622f782f23cd9f51ef818ad4217d78e gcc/testsuite/gm2/pim/run/pass/dec.mod 769a3770b8556984cb7dd5767fe495c4 gcc/testsuite/gm2/pim/run/pass/enums.mod + 48fff98d72182c48cae09f908a945a87 gcc/testsuite/gm2/pim/run/pass/hightests.mod 2a1d41c511ebdf0b8eec1237f33882bc gcc/testsuite/gm2/pim/run/pass/incsubrange.def 8cc1599f3ba358d8eeb8188bd228a417 gcc/testsuite/gm2/pim/run/pass/incsubrange.mod fb0f4ab006d1f132d650f6071fed6a67 gcc/testsuite/gm2/pim/run/pass/index3.mod *************** b434571f14dc637407f321e185093bce gcc/te *** 92718,92723 **** --- 93171,93177 ---- 94e872e38c7828c388ce3c4a5cfd3ca3 gcc/testsuite/gm2/pimlib/run/pass/longreal.mod 7df889d2afddd18c06a4470a9d97ecc4 gcc/testsuite/gm2/pimlib/run/pass/pimlib-run-pass.exp 19fbabb90573435e066566857d602ff9 gcc/testsuite/gm2/pimlib/run/pass/test.c + 248b32cb4654932e670ca1f4528b0e6d gcc/testsuite/gm2/pimlib/run/pass/testfiobinary.mod 03835ac6724df96b735b599622c5ed72 gcc/testsuite/gm2/pimlib/run/pass/testreal.mod 6cd4e8bb0e0f2f90962a1667f6d2c50f gcc/testsuite/gm2/pimlib/run/pass/testreal2.mod 15b6dac89ee25f9c41909c8cab7033a9 gcc/testsuite/gm2/pimlib/run/pass/testreal4.mod *************** fef7514015c435a016141edea74b252b gcc/te *** 92878,92890 **** d93ffac451cd75883d648722d233fc4f gcc/testsuite/gm2/sets/run/pass/simple5.mod 594bd0e14f8f6503d309d3c360587994 gcc/testsuite/gm2/sets/run/pass/simple6.mod 05150f7878189d0ba7f261bdc7948b19 gcc/testsuite/gm2/sets/run/pass/simple7.mod ! dce4180a60c2b4ab273d16f07a59bf41 gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp d089057a33f33fb7304bbbda81e00fd7 gcc/testsuite/gm2/switches/auto-init/fail/uninitptr.mod f456a6791fc712e654ace802ea0ba82e gcc/testsuite/gm2/switches/auto-init/fail/uninitptr2.mod 6c2959b3a298ed63cf8087ab405d07e0 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflow.mod 65038913196bbd28bc621c8c346d2069 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflow2.mod 7b9c6c074a99b5f66a8cf38970c1e0f5 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflowdiv1.mod ! 8c6232343a9ebe712b7e73dee5792fb6 gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp e332f2ba335c0a731b80079b2cf9ddf0 gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod e283398d4a517282e0059697755a072d gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod 834ecc488f96254c596246d22a138c0a gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod --- 93332,93349 ---- d93ffac451cd75883d648722d233fc4f gcc/testsuite/gm2/sets/run/pass/simple5.mod 594bd0e14f8f6503d309d3c360587994 gcc/testsuite/gm2/sets/run/pass/simple6.mod 05150f7878189d0ba7f261bdc7948b19 gcc/testsuite/gm2/sets/run/pass/simple7.mod ! fcfa33799d2c02fca7ca1839c54ee78e gcc/testsuite/gm2/switches/auto-init/fail/switches-auto-init-fail.exp d089057a33f33fb7304bbbda81e00fd7 gcc/testsuite/gm2/switches/auto-init/fail/uninitptr.mod f456a6791fc712e654ace802ea0ba82e gcc/testsuite/gm2/switches/auto-init/fail/uninitptr2.mod + 749d2746e2cfc0db0ae110e31f393d8d gcc/testsuite/gm2/switches/case/fail/missingclause.mod + 5fa583c9531d38431800ac706801578b gcc/testsuite/gm2/switches/case/fail/switches-case-fail.exp + ff6bf63fd7a630738aded841db2ca752 gcc/testsuite/gm2/switches/case/pass/enumcase.mod + 1ec4f1e5bafeb1b485de0a23ce02c028 gcc/testsuite/gm2/switches/case/pass/enumcase2.mod + 396cdf1aac1acd4336f92b6198f36fe6 gcc/testsuite/gm2/switches/case/pass/switches-case-pass.exp 6c2959b3a298ed63cf8087ab405d07e0 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflow.mod 65038913196bbd28bc621c8c346d2069 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflow2.mod 7b9c6c074a99b5f66a8cf38970c1e0f5 gcc/testsuite/gm2/switches/check-all/pim2/fail/overflowdiv1.mod ! 16fac6741d37fe3f9f59802351c91847 gcc/testsuite/gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp e332f2ba335c0a731b80079b2cf9ddf0 gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod e283398d4a517282e0059697755a072d gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod 834ecc488f96254c596246d22a138c0a gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod *************** e283398d4a517282e0059697755a072d gcc/te *** 92892,92898 **** b717bcfde2bcfe90ea5ba8cdb1237f59 gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod 190cfdb6525cb056fb456816b0c036bc gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod 09be0149a04322801741c914a98294fa gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/lowdiv.mod ! d3c417401df59cc7b346c477d18889c4 gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp b382803722a54461a8581f1bd2121d42 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/divceil.mod 02092642b381dd16440e79664b464913 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/highdiv.mod cd2288cf3e5b70a29fa839336dc110a6 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/modulus.mod --- 93351,93357 ---- b717bcfde2bcfe90ea5ba8cdb1237f59 gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod 190cfdb6525cb056fb456816b0c036bc gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod 09be0149a04322801741c914a98294fa gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/lowdiv.mod ! f2d52e75e094f06d006af66d12049aff gcc/testsuite/gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp b382803722a54461a8581f1bd2121d42 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/divceil.mod 02092642b381dd16440e79664b464913 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/highdiv.mod cd2288cf3e5b70a29fa839336dc110a6 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/modulus.mod *************** afd5f57bb803a371d6b8000f8692d515 gcc/te *** 92909,92915 **** da3036157616ae62f9409f17d4aa3258 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin8.def fa0566c6a1309518349d4fb78760be47 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin8.mod c2258f9fc9b3e7e051c16329751e2ecf gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin9.mod ! 3a5d0472b3952d0b2e727b6db8507559 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp a658c122170cf5c993cd4b05572890c6 gcc/testsuite/gm2/switches/check-all/run/fail/cardrange.mod 796082576932e91c1bafd24e7b5c0322 gcc/testsuite/gm2/switches/check-all/run/fail/cardrange2.mod bc4ce1cc7e196800ee185c42245e108e gcc/testsuite/gm2/switches/check-all/run/fail/cardrange3.mod --- 93368,93374 ---- da3036157616ae62f9409f17d4aa3258 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin8.def fa0566c6a1309518349d4fb78760be47 gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin8.mod c2258f9fc9b3e7e051c16329751e2ecf gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/plugin9.mod ! 67b0083ac623684b0be25b662fd83b7f gcc/testsuite/gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp a658c122170cf5c993cd4b05572890c6 gcc/testsuite/gm2/switches/check-all/run/fail/cardrange.mod 796082576932e91c1bafd24e7b5c0322 gcc/testsuite/gm2/switches/check-all/run/fail/cardrange2.mod bc4ce1cc7e196800ee185c42245e108e gcc/testsuite/gm2/switches/check-all/run/fail/cardrange3.mod *************** c614f2bf36f76d40b66a85136a485450 gcc/te *** 92976,92981 **** --- 93435,93491 ---- 3a517fef09b36f6af522a00f6bb54d70 gcc/testsuite/gm2/switches/pim4/run/pass/modulus.mod b58ba2aab7402cfa77be0fa158531bd0 gcc/testsuite/gm2/switches/pim4/run/pass/modulus2.mod 9854bd5fc10351531c5aabfea5b44684 gcc/testsuite/gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp + 28c8626586a9f9b4615e6438a5bec649 gcc/testsuite/gm2/switches/uninit-variable-checking/cascade/fail/cascadedif.mod + e716a835cf32774799a1c8563b056f54 gcc/testsuite/gm2/switches/uninit-variable-checking/cascade/fail/switches-uninit-variable-checking-cascade-fail.exp + 2abc251461e1aa7cd8abf42dad810c09 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/switches-uninit-variable-checking-fail.exp + 6310ec328a140f2558608309168e6be4 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testinit.mod + fda84bc80cda3914158ba6c42a60c194 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testlarge.mod + d80e43beb8b1bb959db1e176cd7d2e91 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testlarge2.mod + d86b990efdfbf2b656742dc2eef08721 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testrecinit.mod + 1920bee281e9c8cbec5974066ee85d06 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testrecinit2.mod + 8a1d63d3740eb97c7329818da4ab690e gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testrecinit5.mod + 758da2e7e0c45b3a2d71782fa0752a63 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testsmallrec.mod + 7f4cc8066643691b32db349cfa959e39 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testsmallrec2.mod + f902f7f67149b3d22b0e05161c81639b gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testsmallvec.mod + db78dcd397acbda56f9fdbe46db5c95a gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testvarinit.mod + 80076ea9663c7e1de21ff6fa5e038e38 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testwithnoptr.mod + fc500fe91b9e17b32f11bb39148bfde8 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testwithptr.mod + 355cff59d76cf15202550d2987a94e84 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testwithptr2.mod + 67b6fff2c48f331b8c841c06f6cbe554 gcc/testsuite/gm2/switches/uninit-variable-checking/fail/testwithptr3.mod + e57db779220b698b12ed09ef48bd5ae4 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/assignparam.mod + b24257a6443291c1487b526516826c43 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/switches-uninit-variable-checking-pass.exp + 2a5f55481a691b80c20eeab5056edd08 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testrecinit3.mod + 4eb735be281d434a629efa45cca56975 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testrecinit5.mod + ce78e4a2e2e90bd7686173525fa4a816 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testsmallrec.mod + 1bcd0a9b297d310e640c7f96e738543d gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testsmallrec2.mod + 249337ae5698265f7567719166b5031c gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testvarinit.mod + 983f47f2aba987e46aac4d84cfb0ce78 gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testwithptr.mod + 322b15858f421696bef05552d686a83c gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testwithptr2.mod + 4b408be653b22012cea202444cae25cd gcc/testsuite/gm2/switches/uninit-variable-checking/pass/testwithptr3.mod + 852b4075b6606cbf6203ca0bfdbea4ce gcc/testsuite/gm2/switches/uninit-variable-checking/pass/tiny.mod + 460b8778a174b7c7db2d6ab614e31666 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/switches-uninit-variable-checking-procedures-fail.exp + 14fa65201d2eaf644eeb9cc3c08caeaf gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testdispose.mod + 933c90a544cea11206f010568f10fb0c gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testdispose2.mod + feca2278c7a93de24a2a5f69313cd838 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testdispose3.mod + 1b96a5e5f65d5f37a870293920566dcb gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testdispose4.mod + 89252d6c974ba4422cb1d30b28e3444c gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew.mod + 213221082823f8f8a10fccad60464082 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew2.mod + c98bcc995b6aa9427fb931a2707e9c29 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew3.mod + aa1a3e1ed1546b033eb76c0e3d1f72b9 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew4.mod + 50ee46e96f29aa270d6b4e5a1435f444 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew5.mod + aaeea2ebbdb4989a022b406ea73c0a89 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnew6.mod + 139cc58179e858447d14d40729713785 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testnil.mod + a9844c4e2f11c74b0ff3203f5313692f gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/fail/testptrptr.mod + abb996caf5d571a6c718699c4db13786 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/assignparam2.mod + 2afec44e888fb3fcc9ed9965eeb26d97 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/switches-uninit-variable-checking-procedures-pass.exp + 68b7d1cb191d8e60c6e64d2699c5ca3b gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testdispose3.mod + f96078a2945372b7af2eb7aa9e817995 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testdispose4.mod + 7be5a6178b17ee5817efc406b438095f gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testnew5.mod + 46faf460024b96cb13825ce1eb8c636a gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testnew6.mod + 78f27ebb3cf0727a9f37e91141e97763 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testparamlvalue.mod + cf720b48a6a554fbbe7351df1884745e gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testparamrvalue.mod + 90ed2a0243b5ba8ae80afccb2618ec40 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testproc.mod + fb9ebcb42d97c3c0a41d6cc930036ba6 gcc/testsuite/gm2/switches/uninit-variable-checking/procedures/pass/testptrptr.mod 2c439af31b3c4c4dce8526b98bc75c75 gcc/testsuite/gm2/switches/whole-program/pass/run/hello.mod a5577432f39738e430bd88cb60de19e3 gcc/testsuite/gm2/switches/whole-program/pass/run/hello2.mod de7648d0bfa041d32e6aa7e8f430a178 gcc/testsuite/gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp *************** ad2a054aea75840d3ecf97c2faa0f183 gcc/te *** 93028,93033 **** --- 93538,93544 ---- 1406779a63f2f66b35098f98ca1b272a gcc/testsuite/gnat.dg/abstract_state1.ads f8aa1b9b6d8605d6d8f8640d0af378d3 gcc/testsuite/gnat.dg/abstract_with_anonymous_result.adb 1ab0ba269ad1e4ee5cc0b2651374a2a5 gcc/testsuite/gnat.dg/access1.adb + 6d63d89266459501cbab795f893986a6 gcc/testsuite/gnat.dg/access10.adb 943026829386ee6566add3daafeab5a1 gcc/testsuite/gnat.dg/access2.adb 2fa4700bffd8945e6a0f90d0475d0d69 gcc/testsuite/gnat.dg/access3.adb 85a2981071298449aa62b8862bba17d1 gcc/testsuite/gnat.dg/access3.ads *************** abba62f9bedc808bb4435567f740ed28 gcc/te *** 93311,93316 **** --- 93822,93830 ---- a126edfdd72e5c579e8ef99056d093bd gcc/testsuite/gnat.dg/bip_overlay.ads 6044ac207f7472a4725aeb0f351b7051 gcc/testsuite/gnat.dg/bip_prim_func.adb e37d448c1ef40f326dbf7f65021cb6d5 gcc/testsuite/gnat.dg/bip_prim_func.ads + d3a79c17a99a36c62666b0e69795de4f gcc/testsuite/gnat.dg/bip_prim_func2.adb + d49a2afbafe8ec71c4d0749c29147809 gcc/testsuite/gnat.dg/bip_prim_func2_pkg.adb + ef2f50d5f8f74ff2821493b8c88b75a8 gcc/testsuite/gnat.dg/bip_prim_func2_pkg.ads 0cfc57dcf11c79225db374798267933f gcc/testsuite/gnat.dg/bit_order1.adb 09119b3b3872c06a7d771250d604aa6a gcc/testsuite/gnat.dg/bit_packed_array1.adb e8282cbb5b4e1f34cd877cbc49a9c29d gcc/testsuite/gnat.dg/bit_packed_array1.ads *************** f9299b514c5c25293c940907f5a4059d gcc/te *** 94320,94325 **** --- 94834,94844 ---- edbbd0b00edd7e8662b7c3b2dafa9ede gcc/testsuite/gnat.dg/opt100_pkg.ads 10a0551b52bce90d1789f22706f6c06a gcc/testsuite/gnat.dg/opt101.adb 805db462cc2219ddb2a90de1363e866d gcc/testsuite/gnat.dg/opt101_pkg.ads + e3943d4860baba3dd60a559ec3b4df36 gcc/testsuite/gnat.dg/opt102.adb + 50eeb5fbd50f6dc17baedbc5abb804d4 gcc/testsuite/gnat.dg/opt102_pkg.adb + 858a5d2e6efff052115969f794debc69 gcc/testsuite/gnat.dg/opt102_pkg.ads + 337a806a6dd1106b843af17238d34b5b gcc/testsuite/gnat.dg/opt104.adb + 7ee5b6675114982998270619932802bf gcc/testsuite/gnat.dg/opt104.ads 5d50fb38b1ab84c39760906cb103c522 gcc/testsuite/gnat.dg/opt10_pkg.ads 603264d4afdd2fd2174ea9c4cf4653ed gcc/testsuite/gnat.dg/opt11.adb 53160585b3a5d820b653e1e0d5f14c75 gcc/testsuite/gnat.dg/opt11.ads *************** f3429f34adffc8bdea29c62318bbaca5 gcc/te *** 94630,94635 **** --- 95149,95155 ---- bfd951f08498fce7551e86b55e6d2ac3 gcc/testsuite/gnat.dg/predicate13.ads 56f5e4c67732ce94802a427f1ba725b4 gcc/testsuite/gnat.dg/predicate14.adb 87259b1c34db44581ee72ed85285a720 gcc/testsuite/gnat.dg/predicate14.ads + a82cac3594ba22e63f0c9ecf8839521f gcc/testsuite/gnat.dg/predicate15.adb 98656679a5dd8965b27cb10a0871426e gcc/testsuite/gnat.dg/predicate2-containers.ads cd331caa5287b813c3fc2421aa5bf64b gcc/testsuite/gnat.dg/predicate2-project-name_values.ads a7858dfab3659f60abb1ca21bca1863e gcc/testsuite/gnat.dg/predicate2-project-registry-attribute.ads *************** b028802f236df04a9a038de337a5c2dc gcc/te *** 94861,94866 **** --- 95381,95387 ---- 03d5230a50a20391e0238f6841dcaf91 gcc/testsuite/gnat.dg/specs/ai_116.ads 7d85593bd2feb29192cd8b150c52dde2 gcc/testsuite/gnat.dg/specs/alignment1.ads db9002fdffbd11c6e835ef0c4498b353 gcc/testsuite/gnat.dg/specs/alignment2.ads + c92a0b8d6f3b784f2e9169f486b6ed6c gcc/testsuite/gnat.dg/specs/anon4.ads 618e7c90ac781c992b7ebddc98d98640 gcc/testsuite/gnat.dg/specs/array1.ads abe14a1ac8ff19714a07b9e460b5fa25 gcc/testsuite/gnat.dg/specs/array2.ads 14136d47dc533d20d89e8d5247fcfc0b gcc/testsuite/gnat.dg/specs/array3.ads *************** e9400740e9c9b40bb4da23c840d60a4e gcc/te *** 95384,95389 **** --- 95905,95913 ---- 2a80cd9d79a2211498b9098873988b99 gcc/testsuite/gnat.dg/varsize3_pkg1.ads 76579acc09a2f8f0607f8fc2e0ebf727 gcc/testsuite/gnat.dg/varsize3_pkg2.ads 6591a0959a5acd0eb22e76a4334deda6 gcc/testsuite/gnat.dg/varsize3_pkg3.ads + 4ae356def2518f00f7715d23974f1c0e gcc/testsuite/gnat.dg/varsize4.adb + 07ce0052ebca8f1f930dd1780a210ec2 gcc/testsuite/gnat.dg/varsize4.ads + baf7f4a3d0c42677667707dbf4f0a7f7 gcc/testsuite/gnat.dg/varsize4_pkg.ads d9ec23ac3512e257b33927c47c0394e2 gcc/testsuite/gnat.dg/vect1.adb 0717701347aab30e21961df79e6703b1 gcc/testsuite/gnat.dg/vect1.ads bced6ddbbb98e340411eba5bf191c0eb gcc/testsuite/gnat.dg/vect10.adb *************** d19a0449bac1fb497429a88904f3d658 gcc/te *** 97501,97507 **** 38e97f454caf88626c8bd5c84285fb07 gcc/testsuite/jit.dg/all-non-failing-tests.h 7bc42e89ae77872c8fc581b4babf1832 gcc/testsuite/jit.dg/create-code-for-hello-world-executable.h 6599d673695ac45c69f897e7b9643cdb gcc/testsuite/jit.dg/harness.h ! c3b5a87cb24b18d5a584f92e61d9cbab gcc/testsuite/jit.dg/jit.exp 3fd6900c9d1d0edd53191542d96ffcec gcc/testsuite/jit.dg/test-accessing-bitfield.c 790dcf4e4a5c3dce84639ef815265f21 gcc/testsuite/jit.dg/test-accessing-struct.c 60caef14bfb482627a962469a4524fce gcc/testsuite/jit.dg/test-accessing-union.c --- 98025,98031 ---- 38e97f454caf88626c8bd5c84285fb07 gcc/testsuite/jit.dg/all-non-failing-tests.h 7bc42e89ae77872c8fc581b4babf1832 gcc/testsuite/jit.dg/create-code-for-hello-world-executable.h 6599d673695ac45c69f897e7b9643cdb gcc/testsuite/jit.dg/harness.h ! 9b6e63d70c95153b72179ce0005a078d gcc/testsuite/jit.dg/jit.exp 3fd6900c9d1d0edd53191542d96ffcec gcc/testsuite/jit.dg/test-accessing-bitfield.c 790dcf4e4a5c3dce84639ef815265f21 gcc/testsuite/jit.dg/test-accessing-struct.c 60caef14bfb482627a962469a4524fce gcc/testsuite/jit.dg/test-accessing-union.c *************** d54d9ac81ba5a3c223a7638ade50667e gcc/te *** 97614,97620 **** 136909b4e2c9dd4206e002a48198e9da gcc/testsuite/jit.dg/test-error-unrecognized-dump.c f8978b292e5e62e13f742d863657bb61 gcc/testsuite/jit.dg/test-error-unterminated-block.c 5b31d534f052cfc632c1a4b686c1e42b gcc/testsuite/jit.dg/test-error-value-not-a-numeric-type.c ! 5be5a0e5a03af3100553d0b07aed16b4 gcc/testsuite/jit.dg/test-expressions.c 44cf4655232716bc3eb5c9980e013f50 gcc/testsuite/jit.dg/test-extra-options.c 508ef06cfdebd3bf557407d14af15f2b gcc/testsuite/jit.dg/test-factorial-must-tail-call.c b02011c7edbcfca8dfb3bd46815567fc gcc/testsuite/jit.dg/test-factorial.c --- 98138,98144 ---- 136909b4e2c9dd4206e002a48198e9da gcc/testsuite/jit.dg/test-error-unrecognized-dump.c f8978b292e5e62e13f742d863657bb61 gcc/testsuite/jit.dg/test-error-unterminated-block.c 5b31d534f052cfc632c1a4b686c1e42b gcc/testsuite/jit.dg/test-error-value-not-a-numeric-type.c ! 5322444003bb7e3d514fca3cd9c951b3 gcc/testsuite/jit.dg/test-expressions.c 44cf4655232716bc3eb5c9980e013f50 gcc/testsuite/jit.dg/test-extra-options.c 508ef06cfdebd3bf557407d14af15f2b gcc/testsuite/jit.dg/test-factorial-must-tail-call.c b02011c7edbcfca8dfb3bd46815567fc gcc/testsuite/jit.dg/test-factorial.c *************** b02011c7edbcfca8dfb3bd46815567fc gcc/te *** 97624,97630 **** 6eaf152cbbd78ca034b5acc55db9a308 gcc/testsuite/jit.dg/test-global-init-rvalue.c 1da38d55df3045d75370957a17d7cbc1 gcc/testsuite/jit.dg/test-global-set-initializer.c 84606b0daf7effa1be60975ee90658d3 gcc/testsuite/jit.dg/test-hello-world.c ! e240f78f9d25dd2fc5fe93f144d8a4ce gcc/testsuite/jit.dg/test-link-section-assembler.c 282cb9f2d6f6d4287ac88a6e77bd3aa9 gcc/testsuite/jit.dg/test-linked-list.c 6fd5f4e5a344608608f62d434dfbad85 gcc/testsuite/jit.dg/test-local-init-rvalue.c 98ebb9b31736f32dab268c122c5d8d2d gcc/testsuite/jit.dg/test-long-names.c --- 98148,98154 ---- 6eaf152cbbd78ca034b5acc55db9a308 gcc/testsuite/jit.dg/test-global-init-rvalue.c 1da38d55df3045d75370957a17d7cbc1 gcc/testsuite/jit.dg/test-global-set-initializer.c 84606b0daf7effa1be60975ee90658d3 gcc/testsuite/jit.dg/test-hello-world.c ! e3f305b93559c865a49c727867b1c4bf gcc/testsuite/jit.dg/test-link-section-assembler.c 282cb9f2d6f6d4287ac88a6e77bd3aa9 gcc/testsuite/jit.dg/test-linked-list.c 6fd5f4e5a344608608f62d434dfbad85 gcc/testsuite/jit.dg/test-local-init-rvalue.c 98ebb9b31736f32dab268c122c5d8d2d gcc/testsuite/jit.dg/test-long-names.c *************** df424c268791473ace062ef873c388e2 gcc/te *** 97644,97650 **** 22ffc0e44111996fcb0ebd653190c983 gcc/testsuite/jit.dg/test-reflection.c 38693c5e37ab7f738ee4f05bc4688ec0 gcc/testsuite/jit.dg/test-register-variable.c 2819f51a64e319d697134a1319b760b1 gcc/testsuite/jit.dg/test-returning-function-ptr.c ! 00b7c9c55c8b7e6d14d1ad75ad07e5a7 gcc/testsuite/jit.dg/test-setting-alignment.c c8398a3f73dd4b289b3b1e611cb3bf23 gcc/testsuite/jit.dg/test-string-literal.c 0ad799327d6cf83f94f71c26fc490f61 gcc/testsuite/jit.dg/test-sum-of-squares.c bca3f58a8fb9ee1db76c5883c6d533f3 gcc/testsuite/jit.dg/test-switch.c --- 98168,98174 ---- 22ffc0e44111996fcb0ebd653190c983 gcc/testsuite/jit.dg/test-reflection.c 38693c5e37ab7f738ee4f05bc4688ec0 gcc/testsuite/jit.dg/test-register-variable.c 2819f51a64e319d697134a1319b760b1 gcc/testsuite/jit.dg/test-returning-function-ptr.c ! a5626b9d860be98a2945e6db0103eb86 gcc/testsuite/jit.dg/test-setting-alignment.c c8398a3f73dd4b289b3b1e611cb3bf23 gcc/testsuite/jit.dg/test-string-literal.c 0ad799327d6cf83f94f71c26fc490f61 gcc/testsuite/jit.dg/test-sum-of-squares.c bca3f58a8fb9ee1db76c5883c6d533f3 gcc/testsuite/jit.dg/test-switch.c *************** aa1a9744fe32138a966f03d5dfc22541 gcc/te *** 97688,97694 **** 66192f2d835f72f9e0f50ce956d8f995 gcc/testsuite/lib/gm2-dg.exp 511af82e7784b79930a99ed264ee4c75 gcc/testsuite/lib/gm2-simple.exp 0fbcd8f9a1d131320112a60524ba11db gcc/testsuite/lib/gm2-torture.exp ! 76cced7f2241cdf8adc6015a8832ff50 gcc/testsuite/lib/gm2.exp a77eb2ae0a7376bf33d355a4714553ea gcc/testsuite/lib/gnat-dg.exp b4ae06eef6b4887b9ed689af978d27c3 gcc/testsuite/lib/gnat.exp 53bb5e228778a22ee832e582b423c29f gcc/testsuite/lib/go-dg.exp --- 98212,98218 ---- 66192f2d835f72f9e0f50ce956d8f995 gcc/testsuite/lib/gm2-dg.exp 511af82e7784b79930a99ed264ee4c75 gcc/testsuite/lib/gm2-simple.exp 0fbcd8f9a1d131320112a60524ba11db gcc/testsuite/lib/gm2-torture.exp ! 07fe5aff395d6ff3aeef68e2cf99b423 gcc/testsuite/lib/gm2.exp a77eb2ae0a7376bf33d355a4714553ea gcc/testsuite/lib/gnat-dg.exp b4ae06eef6b4887b9ed689af978d27c3 gcc/testsuite/lib/gnat.exp 53bb5e228778a22ee832e582b423c29f gcc/testsuite/lib/go-dg.exp *************** e020b68426183241592d8d9e6fc099b4 gcc/te *** 97725,97731 **** b295a72c05b831c76c031b8e2eb4d3b2 gcc/testsuite/lib/scanwpaipa.exp 193dff75973e9817b77d076cd499f3fa gcc/testsuite/lib/target-libpath.exp 3d3f2e71aead61b3117d14eb7bbd4a01 gcc/testsuite/lib/target-supports-dg.exp ! 41863fce407d5e6b71952ef92f155b5c gcc/testsuite/lib/target-supports.exp 7e0169745cc1fb5c7a32430931fd5493 gcc/testsuite/lib/target-utils.exp 60311806ad83bff4ff32a9473e1b70f2 gcc/testsuite/lib/timeout-dg.exp b097a1276df72ba56dc546dc3859883c gcc/testsuite/lib/timeout.exp --- 98249,98255 ---- b295a72c05b831c76c031b8e2eb4d3b2 gcc/testsuite/lib/scanwpaipa.exp 193dff75973e9817b77d076cd499f3fa gcc/testsuite/lib/target-libpath.exp 3d3f2e71aead61b3117d14eb7bbd4a01 gcc/testsuite/lib/target-supports-dg.exp ! 9447bb1b109192cb1b1c2aed092ec46e gcc/testsuite/lib/target-supports.exp 7e0169745cc1fb5c7a32430931fd5493 gcc/testsuite/lib/target-utils.exp 60311806ad83bff4ff32a9473e1b70f2 gcc/testsuite/lib/timeout-dg.exp b097a1276df72ba56dc546dc3859883c gcc/testsuite/lib/timeout.exp *************** df8e1651432977636bf9ca64823f6609 gcc/te *** 97809,97815 **** ff09985655f304be699aaf3b8ac7d0c6 gcc/testsuite/obj-c++.dg/empty-private-1.mm 64ae66c53d490094dd3c153f9c4a9c75 gcc/testsuite/obj-c++.dg/encode-1-next.mm 575f87323105c855ece3eec6c673cfb0 gcc/testsuite/obj-c++.dg/encode-1.mm ! 7d7e6fc99c392bf563fae8bf357cc835 gcc/testsuite/obj-c++.dg/encode-10.mm 4067b5ccc3ec6ec182e59982034a88a4 gcc/testsuite/obj-c++.dg/encode-2.mm c4e0785b4aee1c468f74005c33931f44 gcc/testsuite/obj-c++.dg/encode-3.mm 3e70d4ed3f63678d5b05f4488150f57b gcc/testsuite/obj-c++.dg/encode-4.mm --- 98333,98339 ---- ff09985655f304be699aaf3b8ac7d0c6 gcc/testsuite/obj-c++.dg/empty-private-1.mm 64ae66c53d490094dd3c153f9c4a9c75 gcc/testsuite/obj-c++.dg/encode-1-next.mm 575f87323105c855ece3eec6c673cfb0 gcc/testsuite/obj-c++.dg/encode-1.mm ! e4d16fff8957aa01b40df6db83660e61 gcc/testsuite/obj-c++.dg/encode-10.mm 4067b5ccc3ec6ec182e59982034a88a4 gcc/testsuite/obj-c++.dg/encode-2.mm c4e0785b4aee1c468f74005c33931f44 gcc/testsuite/obj-c++.dg/encode-3.mm 3e70d4ed3f63678d5b05f4488150f57b gcc/testsuite/obj-c++.dg/encode-4.mm *************** edc8405f3beeb6923d529479e62f98be gcc/te *** 97817,97823 **** d1824307e85027695c7f1f621635962f gcc/testsuite/obj-c++.dg/encode-6.mm e8f3db69a8847b70c8bc969edd78dbb2 gcc/testsuite/obj-c++.dg/encode-7.mm 7a1184e853bc44d526f960ab5978e148 gcc/testsuite/obj-c++.dg/encode-8.mm ! e01e96d007a042cff730ba43b17850f5 gcc/testsuite/obj-c++.dg/encode-9.mm e5b9f9a44ce01382be2feb246ccb5ad4 gcc/testsuite/obj-c++.dg/enhanced-proto-1.mm 407cf4a13a526188246e3f874ce7ac48 gcc/testsuite/obj-c++.dg/enhanced-proto-2.mm 3f2a93d293bef7fad64048537a3de594 gcc/testsuite/obj-c++.dg/except-1.mm --- 98341,98347 ---- d1824307e85027695c7f1f621635962f gcc/testsuite/obj-c++.dg/encode-6.mm e8f3db69a8847b70c8bc969edd78dbb2 gcc/testsuite/obj-c++.dg/encode-7.mm 7a1184e853bc44d526f960ab5978e148 gcc/testsuite/obj-c++.dg/encode-8.mm ! adb80618556ad5fbbf92001a241e0d74 gcc/testsuite/obj-c++.dg/encode-9.mm e5b9f9a44ce01382be2feb246ccb5ad4 gcc/testsuite/obj-c++.dg/enhanced-proto-1.mm 407cf4a13a526188246e3f874ce7ac48 gcc/testsuite/obj-c++.dg/enhanced-proto-2.mm 3f2a93d293bef7fad64048537a3de594 gcc/testsuite/obj-c++.dg/except-1.mm *************** e16387e01018d3d54a2f32822682dac1 gcc/te *** 98148,98154 **** 4f3dd54a0c640d2b15ee1f79a8f18369 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h 54ffd1bfa79cf5dc99b3df101a7cd2e6 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h 68c1d47ef6919edabb48b6f50f1a237d gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h ! dc1b5416df768725686ab6df95dc7a40 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h 5696d61d4f4781658d55b84d5095e034 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h 6b38d99bc66484db832fe9f58f7b8c5b gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h b029cb9e81a51e8cdb7b9fbfdd1644a8 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h --- 98672,98678 ---- 4f3dd54a0c640d2b15ee1f79a8f18369 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h 54ffd1bfa79cf5dc99b3df101a7cd2e6 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h 68c1d47ef6919edabb48b6f50f1a237d gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h ! 45941cd12df99357b4e75b6362c3612a gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h 5696d61d4f4781658d55b84d5095e034 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h 6b38d99bc66484db832fe9f58f7b8c5b gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h b029cb9e81a51e8cdb7b9fbfdd1644a8 gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h *************** e42076aeff1c5ac155a88db5b1993d38 gcc/te *** 99525,99531 **** 7b5ae87732b851947543a679d27a5fb3 gcc/timevar.cc c0d0ded25bef349cbc939387fd1c67b1 gcc/timevar.def cba5406970f4fb4e80232452b05c95b1 gcc/timevar.h ! 089b74fd0c31135da96b5499c9fa83d9 gcc/toplev.cc a661528cf07e076cca4056e693ad0d3d gcc/toplev.h 7803b8d793f6737688010076577fcd6a gcc/tracer.cc 97a1500e75b12216a540682db201b58d gcc/tracer.h --- 100049,100055 ---- 7b5ae87732b851947543a679d27a5fb3 gcc/timevar.cc c0d0ded25bef349cbc939387fd1c67b1 gcc/timevar.def cba5406970f4fb4e80232452b05c95b1 gcc/timevar.h ! ae7464a547ec347fc9184a89ea6db5a5 gcc/toplev.cc a661528cf07e076cca4056e693ad0d3d gcc/toplev.h 7803b8d793f6737688010076577fcd6a gcc/tracer.cc 97a1500e75b12216a540682db201b58d gcc/tracer.h *************** f94e7e93a949cf8bbb4daed6f2adcefe gcc/tr *** 99533,99540 **** 41f165f234cc64d36b07d87290ce6d0a gcc/trans-mem.h 08f249c7fa2dbee7c097b1ee10aca886 gcc/tree-affine.cc af4dad4e7c08b9fb38895d9d5c6480a5 gcc/tree-affine.h ! 290b7c97096aeb17e6958b50e0b9f8ac gcc/tree-call-cdce.cc ! 1390ccdba5548fdf75b296e764a5576f gcc/tree-cfg.cc 2921805a6732bc91a8722618d4189584 gcc/tree-cfg.h 02211b0e40626f889cfc27d57f80db1e gcc/tree-cfgcleanup.cc a027071bbc28b44a8697ab0a322059e7 gcc/tree-cfgcleanup.h --- 100057,100064 ---- 41f165f234cc64d36b07d87290ce6d0a gcc/trans-mem.h 08f249c7fa2dbee7c097b1ee10aca886 gcc/tree-affine.cc af4dad4e7c08b9fb38895d9d5c6480a5 gcc/tree-affine.h ! 2b98aa251dc483dea477bbf0374214a9 gcc/tree-call-cdce.cc ! 4652b828a80ab53030290170193c4378 gcc/tree-cfg.cc 2921805a6732bc91a8722618d4189584 gcc/tree-cfg.h 02211b0e40626f889cfc27d57f80db1e gcc/tree-cfgcleanup.cc a027071bbc28b44a8697ab0a322059e7 gcc/tree-cfgcleanup.h *************** cd9d9a63ed5b22b1082f8a0388f82674 gcc/tr *** 99542,99550 **** 36c8667090105100455277b131b1db62 gcc/tree-chrec.h 5d1fcefce8e08d4c308c542ec7e6597b gcc/tree-complex.cc 9a5b72989d74c0d97cbb0289e27a677c gcc/tree-core.h ! 77b663a3009eaacb6e3c4b1ca858bf02 gcc/tree-data-ref.cc bc11b118ba0b8bafdf4ce00928b10bc0 gcc/tree-data-ref.h ! 08f53ded2a5af061fef20cec84aad09f gcc/tree-dfa.cc 25b2344a8a870f7c9c3a04df1cd70c27 gcc/tree-dfa.h d16a160b0b68fdd695ee06d0079d3794 gcc/tree-diagnostic-client-data-hooks.cc d60980db50f3098666d091a61b3fe65b gcc/tree-diagnostic-path.cc --- 100066,100074 ---- 36c8667090105100455277b131b1db62 gcc/tree-chrec.h 5d1fcefce8e08d4c308c542ec7e6597b gcc/tree-complex.cc 9a5b72989d74c0d97cbb0289e27a677c gcc/tree-core.h ! e9973d95dfe0ba3726a25fb41974386e gcc/tree-data-ref.cc bc11b118ba0b8bafdf4ce00928b10bc0 gcc/tree-data-ref.h ! 0f6be79143e064ba60962a4042d43122 gcc/tree-dfa.cc 25b2344a8a870f7c9c3a04df1cd70c27 gcc/tree-dfa.h d16a160b0b68fdd695ee06d0079d3794 gcc/tree-diagnostic-client-data-hooks.cc d60980db50f3098666d091a61b3fe65b gcc/tree-diagnostic-path.cc *************** ca4884c3aef6befeb84abe15b95ed221 gcc/tr *** 99557,99565 **** 27041cf11105e487781bc6230f204232 gcc/tree-emutls.cc 582c0d8e240fd276fd28bed9cfa593f3 gcc/tree-hash-traits.h 51a9944253ec880d2fcefce4f457fd81 gcc/tree-hasher.h ! e4a6ecae43de709ace9ae68810d1630b gcc/tree-if-conv.cc d827a40245726bb17d7019eeb50733a5 gcc/tree-if-conv.h ! adcafe1ef96add79062e708012e9ed39 gcc/tree-inline.cc 05a54334040842ce3f2e8586d3d67b76 gcc/tree-inline.h 9cfa0b6fbd2cdc3d42b9a6a68ee42ef5 gcc/tree-into-ssa.cc f1fe226578aba70864fab526bf69c25b gcc/tree-into-ssa.h --- 100081,100089 ---- 27041cf11105e487781bc6230f204232 gcc/tree-emutls.cc 582c0d8e240fd276fd28bed9cfa593f3 gcc/tree-hash-traits.h 51a9944253ec880d2fcefce4f457fd81 gcc/tree-hasher.h ! 78fa3cebebb0b245d407fee8b0b7c5d8 gcc/tree-if-conv.cc d827a40245726bb17d7019eeb50733a5 gcc/tree-if-conv.h ! a11a3ff641a3bdf2ea8af5ddeccc6530 gcc/tree-inline.cc 05a54334040842ce3f2e8586d3d67b76 gcc/tree-inline.h 9cfa0b6fbd2cdc3d42b9a6a68ee42ef5 gcc/tree-into-ssa.cc f1fe226578aba70864fab526bf69c25b gcc/tree-into-ssa.h *************** f1fe226578aba70864fab526bf69c25b gcc/tr *** 99567,99577 **** ccda522d2791061d143ed10d67ebb8ab gcc/tree-iterator.h 478753fdfe072165d600af5c8bd4a83e gcc/tree-logical-location.cc aa8406f5353334e06321a4bfde913f90 gcc/tree-logical-location.h ! 9b4f9bb5a6d88db3ec59b57d59d38677 gcc/tree-loop-distribution.cc ! 15295d542eb661859030da31bda0be01 gcc/tree-nested.cc 9bba957c6a1ab17bb89c93f7fe4f63df gcc/tree-nested.h f08dc5d3e5c244c9f3d0921a13600db5 gcc/tree-nrv.cc ! 6ed38938ee1207f0caf0532ed48096db gcc/tree-object-size.cc bfa736bad94c583d64422b6c456d417c gcc/tree-object-size.h 3e0aa973134ed4274a15d14bb99f4705 gcc/tree-outof-ssa.cc 68b06a88c5e019fa02e2cc89cc51aae9 gcc/tree-outof-ssa.h --- 100091,100101 ---- ccda522d2791061d143ed10d67ebb8ab gcc/tree-iterator.h 478753fdfe072165d600af5c8bd4a83e gcc/tree-logical-location.cc aa8406f5353334e06321a4bfde913f90 gcc/tree-logical-location.h ! 066ebbb1e8baf2fd2a688050c78e7e84 gcc/tree-loop-distribution.cc ! 4ab7af103ce3eb3d3e4ae5c7181a3141 gcc/tree-nested.cc 9bba957c6a1ab17bb89c93f7fe4f63df gcc/tree-nested.h f08dc5d3e5c244c9f3d0921a13600db5 gcc/tree-nrv.cc ! a8b5a8b393e29bc66eabece825727e6e gcc/tree-object-size.cc bfa736bad94c583d64422b6c456d417c gcc/tree-object-size.h 3e0aa973134ed4274a15d14bb99f4705 gcc/tree-outof-ssa.cc 68b06a88c5e019fa02e2cc89cc51aae9 gcc/tree-outof-ssa.h *************** bfa736bad94c583d64422b6c456d417c gcc/tr *** 99580,99593 **** 0235b0de35a9a46d6154c88ddde7e696 gcc/tree-pass.h fd97119195b3960fa164a7f25fdf701c gcc/tree-phinodes.cc a454429f57d8839090a7ec73abbfa772 gcc/tree-phinodes.h ! 0dcf744147072ec57b2a14224c27375e gcc/tree-predcom.cc edd6c1f313befbbd0943aa5df67a8379 gcc/tree-pretty-print.cc feca017a2b8993f6879429c3b7fa9740 gcc/tree-pretty-print.h ! f8b70ab22f78140c8947312c3b354d03 gcc/tree-profile.cc ! dda6c83c005f2952f7c1209f6653cd1a gcc/tree-scalar-evolution.cc b8223329488a4001552728350c5dbbef gcc/tree-scalar-evolution.h ! c2df56d68ee41fda11029015f9ed8983 gcc/tree-sra.cc ! 6db24ca9af258c4e5e9e0d1ac2f3eab3 gcc/tree-sra.h 931fca6fc15298fa1f2021f8e4f2ed8d gcc/tree-ssa-address.cc c37e139873f3e8da2fffefa09903ee42 gcc/tree-ssa-address.h a8390868d15220dfcd12e320402468a6 gcc/tree-ssa-alias-compare.h --- 100104,100117 ---- 0235b0de35a9a46d6154c88ddde7e696 gcc/tree-pass.h fd97119195b3960fa164a7f25fdf701c gcc/tree-phinodes.cc a454429f57d8839090a7ec73abbfa772 gcc/tree-phinodes.h ! 7a3548ab3f4e3dc99df6f885c81721ca gcc/tree-predcom.cc edd6c1f313befbbd0943aa5df67a8379 gcc/tree-pretty-print.cc feca017a2b8993f6879429c3b7fa9740 gcc/tree-pretty-print.h ! 13e933e748d0799695ef67be87740769 gcc/tree-profile.cc ! 835e107c7d950e109cab7dc47dd27a51 gcc/tree-scalar-evolution.cc b8223329488a4001552728350c5dbbef gcc/tree-scalar-evolution.h ! 68e8f3ae9e325c7e9e869432d7610cfb gcc/tree-sra.cc ! 1f7981f8ac0c98c7d1acb674035e2c16 gcc/tree-sra.h 931fca6fc15298fa1f2021f8e4f2ed8d gcc/tree-ssa-address.cc c37e139873f3e8da2fffefa09903ee42 gcc/tree-ssa-address.h a8390868d15220dfcd12e320402468a6 gcc/tree-ssa-alias-compare.h *************** da67de91badb3e7882b0f0f56a67670e gcc/tr *** 99602,99644 **** e36c0da1e5dc257d4ccff9c24043d7fc gcc/tree-ssa-dce.h 2064fb92d4753ce421275bb80258341c gcc/tree-ssa-dom.cc aba207ac671bbe2380e556429ad21a00 gcc/tree-ssa-dom.h ! 13c07152f09d5ce2c73a9d34e7d72411 gcc/tree-ssa-dse.cc 9fe4418350cac32811c9ed2ed8de371f gcc/tree-ssa-dse.h ! ae2446450a30a79444e06732def33edc gcc/tree-ssa-forwprop.cc ! da27ff68b23449f9233459cf219ef043 gcc/tree-ssa-ifcombine.cc e5c556ba07b04f0f9890c0d4618c716e gcc/tree-ssa-live.cc d68a110616d98e6c023567d2239e4e13 gcc/tree-ssa-live.h 286a1abc75a2657034c3ff16b07e46cb gcc/tree-ssa-loop-ch.cc ! b102c7772d38f100630524793fdfff60 gcc/tree-ssa-loop-im.cc e167c39b8e8961b4e66068ab4f68bed2 gcc/tree-ssa-loop-ivcanon.cc ! d96c0b137ff41eb3f2254d688ff296d9 gcc/tree-ssa-loop-ivopts.cc 370a3d6606f97b793ee8a94e17f8a1f5 gcc/tree-ssa-loop-ivopts.h aa498fcb0de83e00d2d79464ed4fa669 gcc/tree-ssa-loop-manip.cc c10dc1a11bed8461c36db2d370f534b6 gcc/tree-ssa-loop-manip.h ! 89f69f13c2626beeb6af6c07fe5412eb gcc/tree-ssa-loop-niter.cc 63e23177ceb0e06f07092e962fb6ec1e gcc/tree-ssa-loop-niter.h ! 7beaa815285383a0694609b5111001d4 gcc/tree-ssa-loop-prefetch.cc 8d00446e723fdc157e179d58c825952a gcc/tree-ssa-loop-split.cc ! f4fc7da5dacf985f0c7680cbfc847ce4 gcc/tree-ssa-loop-unswitch.cc e2040b0e641b28b006e48fb2094500e2 gcc/tree-ssa-loop.cc 943d41105325f8de1cdae2b4faf2dd0a gcc/tree-ssa-loop.h ! 0b112fd64e26a68450f15b1d2c5a83da gcc/tree-ssa-math-opts.cc e9484a6f5b1f9056c6681cedce910ed4 gcc/tree-ssa-math-opts.h 918abd54b699b48204a42158c4379381 gcc/tree-ssa-operands.cc 0db421e827039fe3c4f796b4c7600c52 gcc/tree-ssa-operands.h ! a615d9179acd7a122b8931f9915246c6 gcc/tree-ssa-phiopt.cc 731542d52a45ac5f609554aee9faf6dd gcc/tree-ssa-phiprop.cc ! 72bd5304b46d512e33b953cc6cfee392 gcc/tree-ssa-pre.cc ! 77bffb73ae67d967a61a09b2df054e8a gcc/tree-ssa-propagate.cc 658e45ca3c1c387fbd4e8bf835de1acd gcc/tree-ssa-propagate.h ! cca43e1e9a4d2e13640b918e451f740b gcc/tree-ssa-reassoc.cc 3d6728ab6aa97921854f86b5d2116c3d gcc/tree-ssa-reassoc.h ! a88bd8c53a3c02e6f5e4a90573fef512 gcc/tree-ssa-sccvn.cc ! 700d7aa95b7fd675d86a154973faabe8 gcc/tree-ssa-sccvn.h 0dd72fccd9280ac160f5ac770517ee10 gcc/tree-ssa-scopedtables.cc bdda02f8f5872266cc26122c45c7d248 gcc/tree-ssa-scopedtables.h c46fe59d6ead2c7ed06d10742f701799 gcc/tree-ssa-sink.cc ! a2d1c394e3122e9c8f85a5f127a036e5 gcc/tree-ssa-strlen.cc cae334e8d7f57adf439062af515c28ae gcc/tree-ssa-strlen.h aa41b31722276367122b7a66b67c737c gcc/tree-ssa-structalias.cc ede21d1664bb37be5cafde80cb42a6ff gcc/tree-ssa-tail-merge.cc --- 100126,100168 ---- e36c0da1e5dc257d4ccff9c24043d7fc gcc/tree-ssa-dce.h 2064fb92d4753ce421275bb80258341c gcc/tree-ssa-dom.cc aba207ac671bbe2380e556429ad21a00 gcc/tree-ssa-dom.h ! 96193370d3840ed2faa499783b5b1028 gcc/tree-ssa-dse.cc 9fe4418350cac32811c9ed2ed8de371f gcc/tree-ssa-dse.h ! 3e8c5cda4491861954032e31c7f3f139 gcc/tree-ssa-forwprop.cc ! 567c30a8d9160fdcd286536c8e4a553e gcc/tree-ssa-ifcombine.cc e5c556ba07b04f0f9890c0d4618c716e gcc/tree-ssa-live.cc d68a110616d98e6c023567d2239e4e13 gcc/tree-ssa-live.h 286a1abc75a2657034c3ff16b07e46cb gcc/tree-ssa-loop-ch.cc ! 82db0d5ee7e3891957928ab4770ad9df gcc/tree-ssa-loop-im.cc e167c39b8e8961b4e66068ab4f68bed2 gcc/tree-ssa-loop-ivcanon.cc ! fe68c2998f9a92ecc09cff3dbadfc827 gcc/tree-ssa-loop-ivopts.cc 370a3d6606f97b793ee8a94e17f8a1f5 gcc/tree-ssa-loop-ivopts.h aa498fcb0de83e00d2d79464ed4fa669 gcc/tree-ssa-loop-manip.cc c10dc1a11bed8461c36db2d370f534b6 gcc/tree-ssa-loop-manip.h ! b80f43bc54f84fc0838859d56980364a gcc/tree-ssa-loop-niter.cc 63e23177ceb0e06f07092e962fb6ec1e gcc/tree-ssa-loop-niter.h ! 29515e41d02e46edeeede5dbddecc177 gcc/tree-ssa-loop-prefetch.cc 8d00446e723fdc157e179d58c825952a gcc/tree-ssa-loop-split.cc ! 26df2fae62e7d250256c7f2b30015278 gcc/tree-ssa-loop-unswitch.cc e2040b0e641b28b006e48fb2094500e2 gcc/tree-ssa-loop.cc 943d41105325f8de1cdae2b4faf2dd0a gcc/tree-ssa-loop.h ! 576b94b194874eb083ba0b791d6a2494 gcc/tree-ssa-math-opts.cc e9484a6f5b1f9056c6681cedce910ed4 gcc/tree-ssa-math-opts.h 918abd54b699b48204a42158c4379381 gcc/tree-ssa-operands.cc 0db421e827039fe3c4f796b4c7600c52 gcc/tree-ssa-operands.h ! 10341b5c6a2c1032f229530c1b341271 gcc/tree-ssa-phiopt.cc 731542d52a45ac5f609554aee9faf6dd gcc/tree-ssa-phiprop.cc ! a14874d21e39e1817f9c1d2ec93a9cfe gcc/tree-ssa-pre.cc ! 92e37073a834f5e59681947910d76467 gcc/tree-ssa-propagate.cc 658e45ca3c1c387fbd4e8bf835de1acd gcc/tree-ssa-propagate.h ! 0e65a4fb28abfdc989e09484443d8cda gcc/tree-ssa-reassoc.cc 3d6728ab6aa97921854f86b5d2116c3d gcc/tree-ssa-reassoc.h ! bec4f7e27c1b500341ef89b99eccc170 gcc/tree-ssa-sccvn.cc ! 1c663c39e61b7e64cbea685db2598475 gcc/tree-ssa-sccvn.h 0dd72fccd9280ac160f5ac770517ee10 gcc/tree-ssa-scopedtables.cc bdda02f8f5872266cc26122c45c7d248 gcc/tree-ssa-scopedtables.h c46fe59d6ead2c7ed06d10742f701799 gcc/tree-ssa-sink.cc ! d9ce4edd899f7df0f6f508ed3e8c8b90 gcc/tree-ssa-strlen.cc cae334e8d7f57adf439062af515c28ae gcc/tree-ssa-strlen.h aa41b31722276367122b7a66b67c737c gcc/tree-ssa-structalias.cc ede21d1664bb37be5cafde80cb42a6ff gcc/tree-ssa-tail-merge.cc *************** ae3a1dc45c510377c6acedecbc823d32 gcc/tr *** 99647,99657 **** a199afc3c0cb77a15c36952ce742bcbb gcc/tree-ssa-threadbackward.cc dca90803e2154a166a0a1b0eb2c2689c gcc/tree-ssa-threadedge.cc ac4c7ef64fae79629a0ea0c741c25ba7 gcc/tree-ssa-threadedge.h ! d7e10a85f4b24d9190b4fb574fb503eb gcc/tree-ssa-threadupdate.cc 52eb7df5e9ebd417f62e6b8d01ce878a gcc/tree-ssa-threadupdate.h 17e2ec9603a80d2276f05853965d8d70 gcc/tree-ssa-uncprop.cc ! 4bf1c7bd14057182c8501448ef2d12e7 gcc/tree-ssa-uninit.cc ! 07a32c2c98deea1a165c9c205e09b410 gcc/tree-ssa.cc ed13c4549041c596b249948a9d4583a3 gcc/tree-ssa.h 4e799d8e730086c4d3788890d70f6cff gcc/tree-ssanames.cc b238783d1764a95333811500c3144a7c gcc/tree-ssanames.h --- 100171,100181 ---- a199afc3c0cb77a15c36952ce742bcbb gcc/tree-ssa-threadbackward.cc dca90803e2154a166a0a1b0eb2c2689c gcc/tree-ssa-threadedge.cc ac4c7ef64fae79629a0ea0c741c25ba7 gcc/tree-ssa-threadedge.h ! 0ff11fc237a93ed2bacd68dbcf39644f gcc/tree-ssa-threadupdate.cc 52eb7df5e9ebd417f62e6b8d01ce878a gcc/tree-ssa-threadupdate.h 17e2ec9603a80d2276f05853965d8d70 gcc/tree-ssa-uncprop.cc ! 161e75112e3d7ecfdd17ce0f10bdc83d gcc/tree-ssa-uninit.cc ! 5c97cbcf8fb3ee3f1914e5814c64042d gcc/tree-ssa.cc ed13c4549041c596b249948a9d4583a3 gcc/tree-ssa.h 4e799d8e730086c4d3788890d70f6cff gcc/tree-ssanames.cc b238783d1764a95333811500c3144a7c gcc/tree-ssanames.h *************** ad22fabedd9c85512941d6537188dcdc gcc/tr *** 99664,99696 **** 55b4d99428849459155be80d762f91a7 gcc/tree-switch-conversion.cc 7c63c2566792c75263e89aad9dbdd648 gcc/tree-switch-conversion.h a4918516d4e0d24a0f05be8cdde5d93f gcc/tree-tailcall.cc ! 0c41122c60698e413f5b01fb42c9dd81 gcc/tree-vect-data-refs.cc ! 67081a9bd16abb8826b1d787edf80df7 gcc/tree-vect-generic.cc ! dcba5449e012c6f6941a8e2c48e46f75 gcc/tree-vect-loop-manip.cc ! 33376e9686c1ea6a40ae52b258c6601b gcc/tree-vect-loop.cc 0c1ce9b0be82bf22ade71d648ef1ffe7 gcc/tree-vect-patterns.cc b2d8890f59e3b9eaa4fce183bf5f75be gcc/tree-vect-slp-patterns.cc ! a60a316e2f35269441cfdbaa83bb067b gcc/tree-vect-slp.cc ! 0f76236c09fd30c63cf86943f93231c9 gcc/tree-vect-stmts.cc 9ed16219bf6ab97b79539fb1bca89485 gcc/tree-vector-builder.cc 672861a6f3b4ede253a47c708e10856d gcc/tree-vector-builder.h 6aa65afe715f0a1a0aeb28eec7a7931c gcc/tree-vectorizer.cc 273e2d8b40a81cd971fbfbf62d964bfa gcc/tree-vectorizer.h 77cb16f595a988710bcea28078cf75a3 gcc/tree-vrp.cc 1506b4121fe3a1f91b7dce7fd11903b1 gcc/tree-vrp.h ! 31f6a8fa956c3f7b2be63a455405007f gcc/tree.cc 90cbee0521eed701cdda38cb80c79c9a gcc/tree.def fe516d7c8d021430db52ce4066099c2c gcc/tree.h 1bc8e733e733c31e894ea8e9911dc5c0 gcc/treestruct.def 0339b546acdb2e9ee921ff13c97646ce gcc/tristate.cc bed18fb33b65339128107e69ef48793c gcc/tristate.h ! b7d9721b32108aa7ecb230808c325092 gcc/tsan.cc 01c10e5628835da3fe84a5d0b35db703 gcc/tsan.h d583fab067d805f6faa3a0c843de7b9c gcc/tsystem.h fcb65b893faa201083a06dbdeab0d943 gcc/typeclass.h 7bb7945cafc3b8f490163c395ae34a14 gcc/typed-splay-tree.cc 6b94f4f6cbec65970fd2b161eaddf0c6 gcc/typed-splay-tree.h ! f01b913f70418860ec8424779fc09d35 gcc/ubsan.cc 42de1b0b3ffabde0a54387be6e2b87b9 gcc/ubsan.h 13e4856f601fb192ec89efc7f04f9b21 gcc/valtrack.cc b9e4a4b10a8dd4e13e216336646d9cfe gcc/valtrack.h --- 100188,100220 ---- 55b4d99428849459155be80d762f91a7 gcc/tree-switch-conversion.cc 7c63c2566792c75263e89aad9dbdd648 gcc/tree-switch-conversion.h a4918516d4e0d24a0f05be8cdde5d93f gcc/tree-tailcall.cc ! 10451d43754b22d671c1e121913d7013 gcc/tree-vect-data-refs.cc ! 412520523308236f49087cb7a3f02c6d gcc/tree-vect-generic.cc ! c45157ab0aed55ef9c76715a91e9ec64 gcc/tree-vect-loop-manip.cc ! 72ad2a873f642129a2a36a11caa406ee gcc/tree-vect-loop.cc 0c1ce9b0be82bf22ade71d648ef1ffe7 gcc/tree-vect-patterns.cc b2d8890f59e3b9eaa4fce183bf5f75be gcc/tree-vect-slp-patterns.cc ! 8d7d301d5ac66ee1194e221b5aae1e20 gcc/tree-vect-slp.cc ! 3d095602bcdb15501da338c556db6819 gcc/tree-vect-stmts.cc 9ed16219bf6ab97b79539fb1bca89485 gcc/tree-vector-builder.cc 672861a6f3b4ede253a47c708e10856d gcc/tree-vector-builder.h 6aa65afe715f0a1a0aeb28eec7a7931c gcc/tree-vectorizer.cc 273e2d8b40a81cd971fbfbf62d964bfa gcc/tree-vectorizer.h 77cb16f595a988710bcea28078cf75a3 gcc/tree-vrp.cc 1506b4121fe3a1f91b7dce7fd11903b1 gcc/tree-vrp.h ! 1b4a06e747310e7e17f17867e44fc008 gcc/tree.cc 90cbee0521eed701cdda38cb80c79c9a gcc/tree.def fe516d7c8d021430db52ce4066099c2c gcc/tree.h 1bc8e733e733c31e894ea8e9911dc5c0 gcc/treestruct.def 0339b546acdb2e9ee921ff13c97646ce gcc/tristate.cc bed18fb33b65339128107e69ef48793c gcc/tristate.h ! def4277ab61228a8f0452775e1454ecc gcc/tsan.cc 01c10e5628835da3fe84a5d0b35db703 gcc/tsan.h d583fab067d805f6faa3a0c843de7b9c gcc/tsystem.h fcb65b893faa201083a06dbdeab0d943 gcc/typeclass.h 7bb7945cafc3b8f490163c395ae34a14 gcc/typed-splay-tree.cc 6b94f4f6cbec65970fd2b161eaddf0c6 gcc/typed-splay-tree.h ! e29a797aefc747dd87e10c62aa2eabc6 gcc/ubsan.cc 42de1b0b3ffabde0a54387be6e2b87b9 gcc/ubsan.h 13e4856f601fb192ec89efc7f04f9b21 gcc/valtrack.cc b9e4a4b10a8dd4e13e216336646d9cfe gcc/valtrack.h *************** eaf2f0aeb4ab13c534f4cab90292864c gcc/va *** 99703,99715 **** 6d7424fd4f502efc4caa8d830af3cc8a gcc/value-range-pretty-print.cc cc2c1890bdcf636e36bcdd23285dd304 gcc/value-range-pretty-print.h e6184a6abb9af9d66b052e39e9f5fa34 gcc/value-range-storage.cc ! 2e33407cfaf888fff0465c8bd2a4681c gcc/value-range-storage.h ! a0a993372b1a01c0f54a4e54bd8cb53f gcc/value-range.cc ! 3dc135ab3e996248c40770dba5f3fa54 gcc/value-range.h ! 2c8570b18ae8aed5c1c57271d6997641 gcc/value-relation.cc ! 94eb969fb3e3b7179a221cf59909c632 gcc/value-relation.h e31285175438a68675780b419cf964ec gcc/var-tracking.cc ! 95cb2cdf812ccd8f2675b7efce4a7eaa gcc/varasm.cc a801df1efea35850028f5ec3cc36b36d gcc/varasm.h dc419bc01226f41334020c39be67d5cb gcc/varpool.cc 05234e0f40aa8065b424e1ce1f6801fc gcc/vec-perm-indices.cc --- 100227,100239 ---- 6d7424fd4f502efc4caa8d830af3cc8a gcc/value-range-pretty-print.cc cc2c1890bdcf636e36bcdd23285dd304 gcc/value-range-pretty-print.h e6184a6abb9af9d66b052e39e9f5fa34 gcc/value-range-storage.cc ! 1127df135ad647ce7accd976a6d0768b gcc/value-range-storage.h ! c2c57668339f82e23b02160aa96816c0 gcc/value-range.cc ! c557a2ad003ef8de2d230d1dd92e20d6 gcc/value-range.h ! e102b0f38013046bea428c1347577c4e gcc/value-relation.cc ! 4d6e7c80d58e26a86b0f46f81d4fe33c gcc/value-relation.h e31285175438a68675780b419cf964ec gcc/var-tracking.cc ! c8c1864460f57d50251367428d53ac66 gcc/varasm.cc a801df1efea35850028f5ec3cc36b36d gcc/varasm.h dc419bc01226f41334020c39be67d5cb gcc/varpool.cc 05234e0f40aa8065b424e1ce1f6801fc gcc/vec-perm-indices.cc *************** ebc3498f02b086ce0e67eab6a6fece3f gcc/wi *** 99731,99741 **** ebf250cf9194edd780d532a486554dee gcc/wide-int.cc 0eb153be091e6f61b9b03c8fd72336d1 gcc/wide-int.h 83081f4aecfcb23b16fa34e4109aa61a gcc/xcoff.h ! 7a2a06b6eff78ee53ec362e7562877b5 gnattools/ChangeLog 3e149f46f7f39c4f49e3e3449af997a3 gnattools/Makefile.in 612bff48e9d0bfce4a8a8b2ce0e136ae gnattools/configure 5904825aa8ada9f931733a205c8ed847 gnattools/configure.ac ! dbc2b1f4f1bbf9701741c768d3c62549 gotools/ChangeLog 5d56cc28c41dee982565dd2bb6835d75 gotools/Makefile.am 1b3e301307fb3c8ef2e668e88e9da768 gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README --- 100255,100265 ---- ebf250cf9194edd780d532a486554dee gcc/wide-int.cc 0eb153be091e6f61b9b03c8fd72336d1 gcc/wide-int.h 83081f4aecfcb23b16fa34e4109aa61a gcc/xcoff.h ! 3234b3876c4671347a98d98093866f27 gnattools/ChangeLog 3e149f46f7f39c4f49e3e3449af997a3 gnattools/Makefile.in 612bff48e9d0bfce4a8a8b2ce0e136ae gnattools/configure 5904825aa8ada9f931733a205c8ed847 gnattools/configure.ac ! 8c6c9a62acd25de79620014d7910cc01 gotools/ChangeLog 5d56cc28c41dee982565dd2bb6835d75 gotools/Makefile.am 1b3e301307fb3c8ef2e668e88e9da768 gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README *************** c4e8176c1964a5ebe0a55900f2141299 gotool *** 99746,99752 **** eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! bc21b3c0991eb3acb34a54b04de786b6 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit 0ff2b24587f14124d511aab046079147 include/ansidecl.h --- 100270,100276 ---- eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! b926be477d686767ad9ec5dca8e3fb83 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit 0ff2b24587f14124d511aab046079147 include/ansidecl.h *************** b6bc18ff7e3681049201bc69010936b9 includ *** 99796,99802 **** 5b7dc4eb0d130a5e69585036ec952a8b include/xtensa-config.h 7c9ba9d93474d91c7467ed1f1ed2f088 include/xtensa-dynconfig.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! 05f5d1af16444d04afb27058d152326c intl/ChangeLog a5f61a727ebbc9d02c42160796629b91 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 100320,100326 ---- 5b7dc4eb0d130a5e69585036ec952a8b include/xtensa-config.h 7c9ba9d93474d91c7467ed1f1ed2f088 include/xtensa-dynconfig.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! a1eaaa0b5ed3a5b30c8ed7e7f152530f intl/ChangeLog a5f61a727ebbc9d02c42160796629b91 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** ec38b8a64a735196854a8f7d76b79a78 intl/p *** 99839,99850 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 9538b0b5b81b8963605f2f004a196ae4 libada/ChangeLog dca5ce4eb1363d83b4ad5b9a53945d40 libada/Makefile.in c84521662479d4955e33fae0dded80b9 libada/configure a7a500814e0b8f1c0566431969ec0b61 libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! ee2cb9387763819299f8c5f0c9e4e0b6 libatomic/ChangeLog 341eb3cfc5416fe2e8b441ba30b064d3 libatomic/Makefile.am 4b64390f7024f015eef3741123d570bd libatomic/Makefile.in 04a8eb275561484cf0d6f8c459a38177 libatomic/acinclude.m4 --- 100363,100374 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! ee1807e265d93d14515b94c88b5824d2 libada/ChangeLog dca5ce4eb1363d83b4ad5b9a53945d40 libada/Makefile.in c84521662479d4955e33fae0dded80b9 libada/configure a7a500814e0b8f1c0566431969ec0b61 libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! a029f476c4ad1bed7375a7503bfaf286 libatomic/ChangeLog 341eb3cfc5416fe2e8b441ba30b064d3 libatomic/Makefile.am 4b64390f7024f015eef3741123d570bd libatomic/Makefile.in 04a8eb275561484cf0d6f8c459a38177 libatomic/acinclude.m4 *************** c03a072efac9b30f8f8429ac52fd246b libato *** 99940,99946 **** 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! 59ba5410f867c8df1ff5c9b4fa9b4015 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 5431de88dcbaf345c8d41207e69831ed libbacktrace/Makefile.am 8a9d07c55aa13be8dcb16f5cdfae20f0 libbacktrace/Makefile.in --- 100464,100470 ---- 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! 31d564c6e0d566573c7288dde0b1f3d8 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit 5431de88dcbaf345c8d41207e69831ed libbacktrace/Makefile.am 8a9d07c55aa13be8dcb16f5cdfae20f0 libbacktrace/Makefile.in *************** a37f48eb7af8f0adfd0a41fe23b724c9 libbac *** 99987,99995 **** 4424e7196573814ed5e4c457e50d8d1f libbacktrace/unknown.c 76cdbe058a9c0696677a153471f234ab libbacktrace/xcoff.c 7f1f78dcf5b2c12c7827ec55b61d90ac libbacktrace/xztest.c ! b1d9a7864039f67c0ea043f66fc245a3 libbacktrace/zstdtest.c 586b56fbae916b5d8c89226d03eecbec libbacktrace/ztest.c ! 927b166bfbf6379546d1013c81febed4 libcc1/ChangeLog d780af7af66b50fb66c1bcf6745b61e2 libcc1/Makefile.am 4c0714d9e0254b52de979d8acb09c146 libcc1/Makefile.in b39668f1b706dbfe7203b3cfa277b792 libcc1/aclocal.m4 --- 100511,100519 ---- 4424e7196573814ed5e4c457e50d8d1f libbacktrace/unknown.c 76cdbe058a9c0696677a153471f234ab libbacktrace/xcoff.c 7f1f78dcf5b2c12c7827ec55b61d90ac libbacktrace/xztest.c ! d7bb81957a672df5fc5249dbec0877ec libbacktrace/zstdtest.c 586b56fbae916b5d8c89226d03eecbec libbacktrace/ztest.c ! 77cba6979712b292d173c891ed4a2b08 libcc1/ChangeLog d780af7af66b50fb66c1bcf6745b61e2 libcc1/Makefile.am 4c0714d9e0254b52de979d8acb09c146 libcc1/Makefile.in b39668f1b706dbfe7203b3cfa277b792 libcc1/aclocal.m4 *************** fe3255e35221a66fd5a3267d5287be3f libcc1 *** 100011,100020 **** 474b40d1a2337b3af30e4c614858b3a9 libcc1/gdbctx.hh 4ca29136d56d93b1cb0d1a8f3c93cb31 libcc1/libcc1.cc 99b3a25ce17ed584d9f0aa42b4713938 libcc1/libcc1.sym ! d1c2ecdfdd74a6aa838e5d0ac1b1eaab libcc1/libcc1plugin.cc 75503db6a0981a95d9c29d9607b29380 libcc1/libcc1plugin.sym 97c8659eb769a3c0ef10ce0aa9bf138c libcc1/libcp1.cc ! 6552d1f347ddc1a41118a602ec339fd4 libcc1/libcp1plugin.cc 75503db6a0981a95d9c29d9607b29380 libcc1/libcp1plugin.sym c5fbe5f178819ac678538def0b070f6e libcc1/marshall-cp.hh 435466b41dd35ae53922063a863d20fa libcc1/marshall.cc --- 100535,100544 ---- 474b40d1a2337b3af30e4c614858b3a9 libcc1/gdbctx.hh 4ca29136d56d93b1cb0d1a8f3c93cb31 libcc1/libcc1.cc 99b3a25ce17ed584d9f0aa42b4713938 libcc1/libcc1.sym ! fdaf03c864d094e977bb43d303aa0ca9 libcc1/libcc1plugin.cc 75503db6a0981a95d9c29d9607b29380 libcc1/libcc1plugin.sym 97c8659eb769a3c0ef10ce0aa9bf138c libcc1/libcp1.cc ! ea2ec8a3642162c8586930f5ab6acd4c libcc1/libcp1plugin.cc 75503db6a0981a95d9c29d9607b29380 libcc1/libcp1plugin.sym c5fbe5f178819ac678538def0b070f6e libcc1/marshall-cp.hh 435466b41dd35ae53922063a863d20fa libcc1/marshall.cc *************** d0eb9eb0a1908e5adeca21c5333cca67 libcc1 *** 100026,100032 **** 8e32b4f309146e8842db7a077d77be28 libcody/CMakeLists.txt c96a56ec7f0400e30e99a9aa445e0425 libcody/CODING.md b5243c8c76fc965a409394a30679e613 libcody/CONTRIB.md ! f2d790cecab302de14e793d66e6e9273 libcody/ChangeLog 86d3f3a95c324c9479bd8986968f4327 libcody/LICENSE ba83ee39cdf97b35fb51d4f39880aa89 libcody/Makefile.in ca1c6fe3df5427016005ce753c73d454 libcody/README.md --- 100550,100556 ---- 8e32b4f309146e8842db7a077d77be28 libcody/CMakeLists.txt c96a56ec7f0400e30e99a9aa445e0425 libcody/CODING.md b5243c8c76fc965a409394a30679e613 libcody/CONTRIB.md ! 728ecf1f4ab27ee5be10b0bb8a6a892c libcody/ChangeLog 86d3f3a95c324c9479bd8986968f4327 libcody/LICENSE ba83ee39cdf97b35fb51d4f39880aa89 libcody/Makefile.in ca1c6fe3df5427016005ce753c73d454 libcody/README.md *************** cffdeae41b78da05839b193e90188f55 libcod *** 100045,100051 **** 6419dfc879387358e95288142e569914 libcody/packet.cc 688ece05c8b9d378b3df186808162e76 libcody/resolver.cc b1f3850fc5ac62999d1e124aa6f76531 libcody/server.cc ! 37d594eeb38a0fa7de07f7d0ed11c3c8 libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit c0a6ef2c7117069e80a305c7adaf1650 libcpp/Makefile.in 9d15bb14e9ac1a74366e673ea260722e libcpp/aclocal.m4 --- 100569,100575 ---- 6419dfc879387358e95288142e569914 libcody/packet.cc 688ece05c8b9d378b3df186808162e76 libcody/resolver.cc b1f3850fc5ac62999d1e124aa6f76531 libcody/server.cc ! beb13a934a307a8b1f6a22ecb8764dd5 libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit c0a6ef2c7117069e80a305c7adaf1650 libcpp/Makefile.in 9d15bb14e9ac1a74366e673ea260722e libcpp/aclocal.m4 *************** b441038d72bbfe5d18a0535fe9862846 libcpp *** 100059,100071 **** af5a15f7fb14aee661358d76d317e81e libcpp/files.cc a91fac880a6d16a6c8bbbe6c25e2d8ac libcpp/generated_cpp_wcwidth.h 111fc904696e6294b16734dc26cf7cb1 libcpp/identifiers.cc ! b5b49aa3751b8f8af89e3cc0d0ce0815 libcpp/include/cpplib.h 87e8fe9078561ac2e3c82a93795be1b7 libcpp/include/line-map.h 2c6f3e0894ec1a970c2d175f674fb5cd libcpp/include/mkdeps.h fdb620c15e6f934b317e2311ee26683e libcpp/include/symtab.h 72502fd7910efaafd6e57090d597fb21 libcpp/init.cc 9b75a240393d9ded89f1f53f8bde743e libcpp/internal.h ! 464cc416baf80a017099625c34edb795 libcpp/lex.cc 9069946f6da4520e2be3263aba1fc15b libcpp/line-map.cc 46a07100f95f5e354c7e25cd19d26884 libcpp/location-example.txt ff413cbf5d61faa394a5ab2ef711257d libcpp/macro.cc --- 100583,100595 ---- af5a15f7fb14aee661358d76d317e81e libcpp/files.cc a91fac880a6d16a6c8bbbe6c25e2d8ac libcpp/generated_cpp_wcwidth.h 111fc904696e6294b16734dc26cf7cb1 libcpp/identifiers.cc ! 4e693c1a191e0751af9c7bf5f3d68c4c libcpp/include/cpplib.h 87e8fe9078561ac2e3c82a93795be1b7 libcpp/include/line-map.h 2c6f3e0894ec1a970c2d175f674fb5cd libcpp/include/mkdeps.h fdb620c15e6f934b317e2311ee26683e libcpp/include/symtab.h 72502fd7910efaafd6e57090d597fb21 libcpp/init.cc 9b75a240393d9ded89f1f53f8bde743e libcpp/internal.h ! dafb1678aedc8ed0aabfdd6405959d2f libcpp/lex.cc 9069946f6da4520e2be3263aba1fc15b libcpp/line-map.cc 46a07100f95f5e354c7e25cd19d26884 libcpp/location-example.txt ff413cbf5d61faa394a5ab2ef711257d libcpp/macro.cc *************** ab776697d1c83f80b45ce82ce889ce27 libcpp *** 100073,100079 **** 8200bcdbc955945f7651606e2f838c81 libcpp/makeuname2c.cc 5db6ce86211354562c9ae6339d3716ea libcpp/mkdeps.cc d127e0980eecd90c5bbb6bcad6d44d9d libcpp/pch.cc ! cc817a25a4e7b30047384dad979138d3 libcpp/po/ChangeLog 768453cca0d8c0e2666a269e0aff862b libcpp/po/be.gmo a2192a718d535196be1091cf9c6c2ff5 libcpp/po/be.po 6d54c123e102174620d1738492df73d5 libcpp/po/ca.gmo --- 100597,100603 ---- 8200bcdbc955945f7651606e2f838c81 libcpp/makeuname2c.cc 5db6ce86211354562c9ae6339d3716ea libcpp/mkdeps.cc d127e0980eecd90c5bbb6bcad6d44d9d libcpp/pch.cc ! 33dcf22ada8ea8b3d02f23affe665a56 libcpp/po/ChangeLog 768453cca0d8c0e2666a269e0aff862b libcpp/po/be.gmo a2192a718d535196be1091cf9c6c2ff5 libcpp/po/be.po 6d54c123e102174620d1738492df73d5 libcpp/po/ca.gmo *************** d45cfd418abb46cfdbba624667399ae9 libcpp *** 100128,100134 **** 1bc7c82d10193a95f2d52ac65a96b194 libcpp/ucnid.tab ac39f0cc87f289263a76afc28c45d47b libcpp/uname2c.h a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! 2614db65c3802a20cec266a404a5efd3 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit c940ed5e883906ebe7e673a41403f6a8 libdecnumber/Makefile.in 2a70099a79e40a57a666d5430a5e2529 libdecnumber/aclocal.m4 --- 100652,100658 ---- 1bc7c82d10193a95f2d52ac65a96b194 libcpp/ucnid.tab ac39f0cc87f289263a76afc28c45d47b libcpp/uname2c.h a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! cc4ecb0bb16f340eff9653cf49be3665 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit c940ed5e883906ebe7e673a41403f6a8 libdecnumber/Makefile.in 2a70099a79e40a57a666d5430a5e2529 libdecnumber/aclocal.m4 *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 100192,100198 **** 5c5101362d0b5ad6cce073da470594f8 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h 055606b47e85369c5d003f6e3a1b657e libffi/.gitattributes ! f82a3c2df08425b910557cebc4068183 libffi/ChangeLog 0e38ead823643c45765e5fe55e7ab16b libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 --- 100716,100722 ---- 5c5101362d0b5ad6cce073da470594f8 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h 055606b47e85369c5d003f6e3a1b657e libffi/.gitattributes ! 586c0b97cafb6512a72e38a0290bd340 libffi/ChangeLog 0e38ead823643c45765e5fe55e7ab16b libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 *************** a3eb5dee2788fe0a6c42502ba658eddd libffi *** 100585,100593 **** 0f3c94e520870e194cf525de7ec404dc libffi/testsuite/libffi.go/ffitest.h 6cfb66c1c00023abb2c2276d85f16e77 libffi/testsuite/libffi.go/go.exp 189dc193fd0e627a2d55b2e84871edc5 libffi/testsuite/libffi.go/static-chain.h ! 13bafa1b47338e3e7fb58ae6eec33789 libgcc/ChangeLog dbe2f0a8ebc3b4337505e8aafc2e59e6 libgcc/Makefile.in ! c63d5f8986f7f545e48ee9c9208dced7 libgcc/config.host 312fccd8251056a36e26bad71f9cfaa2 libgcc/config.in 65f4c5be67642a2f7d2323a197380435 libgcc/config/aarch64/aarch64-unwind.h bb23301cb30f10c0745c9333199557ae libgcc/config/aarch64/crtfastmath.c --- 101109,101117 ---- 0f3c94e520870e194cf525de7ec404dc libffi/testsuite/libffi.go/ffitest.h 6cfb66c1c00023abb2c2276d85f16e77 libffi/testsuite/libffi.go/go.exp 189dc193fd0e627a2d55b2e84871edc5 libffi/testsuite/libffi.go/static-chain.h ! abbc05b83bea328ad98078530d18aa63 libgcc/ChangeLog dbe2f0a8ebc3b4337505e8aafc2e59e6 libgcc/Makefile.in ! 91d32ac9ac139b4db00764d4627c5efa libgcc/config.host 312fccd8251056a36e26bad71f9cfaa2 libgcc/config.in 65f4c5be67642a2f7d2323a197380435 libgcc/config/aarch64/aarch64-unwind.h bb23301cb30f10c0745c9333199557ae libgcc/config/aarch64/crtfastmath.c *************** b4a7bc66f716e7b4e76aa9c12ce29fe9 libgcc *** 100710,100734 **** ba477da614cd8ceb4bde4fd2a8b5f910 libgcc/config/arm/unwind-arm.h d3a9f35aa3368d1b42549e9f573b7f19 libgcc/config/avr/avr-lib.h 95b3824b310a6185dc0defac4bc9a2c9 libgcc/config/avr/lib1funcs-fixed.S ! dd58ff2d0a7950fec0f1fc713e67f536 libgcc/config/avr/lib1funcs.S 622f81485f02d0eac2caaafa7d3a2fd1 libgcc/config/avr/lib2-object.mk 624dc6fc660cb976b810335b3730ec59 libgcc/config/avr/lib2funcs.c ! 140198a5b8fcef5ddacc238d26b31fbf libgcc/config/avr/libf7/ChangeLog ! 7a907af2b419359eddacd21ef365b518 libgcc/config/avr/libf7/asm-defs.h ! 0b54a2cbfebb93a4e1bddfa3600d6f0b libgcc/config/avr/libf7/f7-renames.h ec0383052925c464decb1bfdeaa5c95c libgcc/config/avr/libf7/f7-wraps.h c0d4a5a9b2844505ec941ff60cae008f libgcc/config/avr/libf7/f7renames.sh 8df828b3d2faf7a35d58170a9bafa333 libgcc/config/avr/libf7/f7wraps.sh 929b89a7da7c3071631792a97bbda961 libgcc/config/avr/libf7/libf7-array.def 5d9def53110ec07e8f29e66d593d758f libgcc/config/avr/libf7/libf7-asm-object.mk ! fd505152bbef801d838c7d84e78dacfa libgcc/config/avr/libf7/libf7-asm.sx 6b4886ae302fca1fa733831066c5c830 libgcc/config/avr/libf7/libf7-c-object.mk ! 9e2660f882f79c124c85b8732a55464e libgcc/config/avr/libf7/libf7-common.mk ! 22a6654e1e46da63e602fe4dbfd05acd libgcc/config/avr/libf7/libf7-const.def be57c709e03ea165307e79182d605104 libgcc/config/avr/libf7/libf7-constdef.h ! b74616c89546aca4cc33959d35b7e1ca libgcc/config/avr/libf7/libf7.c ! fef9940191af160113b68abfe2800b5b libgcc/config/avr/libf7/libf7.h ! d8d51231243f1139dbb6a828e2340c67 libgcc/config/avr/libf7/t-libf7 bf9360cfc14e0b0129af5560893f374e libgcc/config/avr/libf7/t-libf7-math 761826027ebb1cfbb089d23904494606 libgcc/config/avr/libf7/t-libf7-math-symbols 70e4f62a264a98b6818c49fed71fa5bb libgcc/config/avr/t-avr --- 101234,101258 ---- ba477da614cd8ceb4bde4fd2a8b5f910 libgcc/config/arm/unwind-arm.h d3a9f35aa3368d1b42549e9f573b7f19 libgcc/config/avr/avr-lib.h 95b3824b310a6185dc0defac4bc9a2c9 libgcc/config/avr/lib1funcs-fixed.S ! 660f8302d8422ba8cf16712c84a2bde0 libgcc/config/avr/lib1funcs.S 622f81485f02d0eac2caaafa7d3a2fd1 libgcc/config/avr/lib2-object.mk 624dc6fc660cb976b810335b3730ec59 libgcc/config/avr/lib2funcs.c ! 9d9229a51f143cc3de266fe7d87ec77d libgcc/config/avr/libf7/ChangeLog ! 69b1e41bdec3b286de0827697e4b6acd libgcc/config/avr/libf7/asm-defs.h ! 434f68c401e93814081ae499ba72ffaf libgcc/config/avr/libf7/f7-renames.h ec0383052925c464decb1bfdeaa5c95c libgcc/config/avr/libf7/f7-wraps.h c0d4a5a9b2844505ec941ff60cae008f libgcc/config/avr/libf7/f7renames.sh 8df828b3d2faf7a35d58170a9bafa333 libgcc/config/avr/libf7/f7wraps.sh 929b89a7da7c3071631792a97bbda961 libgcc/config/avr/libf7/libf7-array.def 5d9def53110ec07e8f29e66d593d758f libgcc/config/avr/libf7/libf7-asm-object.mk ! 103b94d807e255f7a98d28b6f6d9e24f libgcc/config/avr/libf7/libf7-asm.sx 6b4886ae302fca1fa733831066c5c830 libgcc/config/avr/libf7/libf7-c-object.mk ! 47dccabf16372b55fb7154bd70ce141f libgcc/config/avr/libf7/libf7-common.mk ! abb1c90068e1f456d0639bcaa1cc4a94 libgcc/config/avr/libf7/libf7-const.def be57c709e03ea165307e79182d605104 libgcc/config/avr/libf7/libf7-constdef.h ! 424c1c5d2ea745ccabf8ccfc22e5eea2 libgcc/config/avr/libf7/libf7.c ! ca86a4c7e23f8a5616f937c913d8e5bf libgcc/config/avr/libf7/libf7.h ! 606c568e8f2d692bc5762eaba8d8e7b0 libgcc/config/avr/libf7/t-libf7 bf9360cfc14e0b0129af5560893f374e libgcc/config/avr/libf7/t-libf7-math 761826027ebb1cfbb089d23904494606 libgcc/config/avr/libf7/t-libf7-math-symbols 70e4f62a264a98b6818c49fed71fa5bb libgcc/config/avr/t-avr *************** b2bae7d1485916fbd96e39ba1ae73348 libgcc *** 100911,100917 **** bc4639dab4172a19295c61958b038fb4 libgcc/config/i386/freebsd-unwind.h 87086d5e96ad5e40148989bd426cf896 libgcc/config/i386/gnu-unwind.h 6bbf7495590f9d76c4af93d86f0c9f21 libgcc/config/i386/gthr-mcf.h ! 5bca575659d1e259a73d8fe225809fbc libgcc/config/i386/gthr-win32-cond.c bdc92aace39e7e8abcb5663d3b4071a9 libgcc/config/i386/gthr-win32-thread.c fcb93c23c3d1e2f6554734a3eeca61d7 libgcc/config/i386/gthr-win32.c 02809995c4682d40a14aabf0ff07eea9 libgcc/config/i386/gthr-win32.h --- 101435,101441 ---- bc4639dab4172a19295c61958b038fb4 libgcc/config/i386/freebsd-unwind.h 87086d5e96ad5e40148989bd426cf896 libgcc/config/i386/gnu-unwind.h 6bbf7495590f9d76c4af93d86f0c9f21 libgcc/config/i386/gthr-mcf.h ! f20bb6a3c800204f91f7f1304af8253f libgcc/config/i386/gthr-win32-cond.c bdc92aace39e7e8abcb5663d3b4071a9 libgcc/config/i386/gthr-win32-thread.c fcb93c23c3d1e2f6554734a3eeca61d7 libgcc/config/i386/gthr-win32.c 02809995c4682d40a14aabf0ff07eea9 libgcc/config/i386/gthr-win32.h *************** b3c219e3fe7be0926b9c45521b07ca2a libgcc *** 101006,101012 **** d528fa6fb472c8cbd6b9df08a8d0a244 libgcc/config/ia64/vms-unwind.h f998607b97eeae6d2a3d1e10128c7cb1 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 097cb232e884794ff38a91e774034588 libgcc/config/libbid/ChangeLog e354955f92ec07ad37a62cd940b9001b libgcc/config/libbid/_addsub_dd.c b89183791201be7d372019b758b007bb libgcc/config/libbid/_addsub_sd.c a4d88b5941b22be078d1fb782e621350 libgcc/config/libbid/_addsub_td.c --- 101530,101536 ---- d528fa6fb472c8cbd6b9df08a8d0a244 libgcc/config/ia64/vms-unwind.h f998607b97eeae6d2a3d1e10128c7cb1 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! b9837c52c1a0b242d3a4d64d3aef1824 libgcc/config/libbid/ChangeLog e354955f92ec07ad37a62cd940b9001b libgcc/config/libbid/_addsub_dd.c b89183791201be7d372019b758b007bb libgcc/config/libbid/_addsub_sd.c a4d88b5941b22be078d1fb782e621350 libgcc/config/libbid/_addsub_td.c *************** f123ad4c2edc39368b70ae86afd7248b libgcc *** 101609,101615 **** 3ff9a33b0388d96bc738cbce6b20c9b7 libgcc/config/pru/pru-divmod.h 721dc9f555aa85a9282c1df17ec3be5c libgcc/config/pru/sfp-machine.h 3596dec6c8a69f09a2011858f1b32d8f libgcc/config/pru/t-pru ! 18ab764da89e60e2709eb23c0470e4e3 libgcc/config/riscv/atomic.c d61879f5ed9372bd52bba7f21bb79dbc libgcc/config/riscv/crti.S 0485c6e233af87295472bb7a9f2767e0 libgcc/config/riscv/crtn.S aa8a969c2a30e16bab5df961caf743ba libgcc/config/riscv/div.S --- 102133,102139 ---- 3ff9a33b0388d96bc738cbce6b20c9b7 libgcc/config/pru/pru-divmod.h 721dc9f555aa85a9282c1df17ec3be5c libgcc/config/pru/sfp-machine.h 3596dec6c8a69f09a2011858f1b32d8f libgcc/config/pru/t-pru ! 565cae196db97af799c523b6c64a2853 libgcc/config/riscv/atomic.c d61879f5ed9372bd52bba7f21bb79dbc libgcc/config/riscv/crti.S 0485c6e233af87295472bb7a9f2767e0 libgcc/config/riscv/crtn.S aa8a969c2a30e16bab5df961caf743ba libgcc/config/riscv/div.S *************** f2ea71a36a0e8dbac0e3a473ed3ed2dd libgcc *** 101619,101624 **** --- 102143,102149 ---- 154fb9c32be5892ba5503866244aedb4 libgcc/config/riscv/riscv-asm.h 7daff6324247ddae40f21f08df3c1701 libgcc/config/riscv/save-restore.S ed808b1bb28de330127d99cb740ae36c libgcc/config/riscv/sfp-machine.h + 6a8be20744258bc3c31a34df112164ce libgcc/config/riscv/t-crtstuff c42f201dbf0dcdfa26d4e52583c32f53 libgcc/config/riscv/t-elf 02fdd22ff5d39903f17ad235a8fe0f65 libgcc/config/riscv/t-elf32 02fdd22ff5d39903f17ad235a8fe0f65 libgcc/config/riscv/t-elf64 *************** c52111328a177e0b1addfc9d6d294923 libgcc *** 102085,102092 **** 31b15a852af79aea6a26219bbf10ae04 libgcc/unwind-dw2-btree.h 2cb9cc7b172c9e705a5ddcd8eb85b84a libgcc/unwind-dw2-execute_cfa.h aca8a62f2fbdbe43c1346aee0c0a45d8 libgcc/unwind-dw2-fde-compat.c ! e1a07fb0bf4d6d0a5e0503355020bb43 libgcc/unwind-dw2-fde-dip.c ! b81a4eda3371e273d6f7682495dba42a libgcc/unwind-dw2-fde.c 2805dd79f7787bebf804068689732eca libgcc/unwind-dw2-fde.h 1760739d02ea98fda2d071d0a4699a45 libgcc/unwind-dw2.c e15f35b4faa50d07cae1c696695455ef libgcc/unwind-dw2.h --- 102610,102617 ---- 31b15a852af79aea6a26219bbf10ae04 libgcc/unwind-dw2-btree.h 2cb9cc7b172c9e705a5ddcd8eb85b84a libgcc/unwind-dw2-execute_cfa.h aca8a62f2fbdbe43c1346aee0c0a45d8 libgcc/unwind-dw2-fde-compat.c ! b692b7b9c6ddcbd8540373af0f341850 libgcc/unwind-dw2-fde-dip.c ! 57ef65c45c24a38addbf851e34ca253a libgcc/unwind-dw2-fde.c 2805dd79f7787bebf804068689732eca libgcc/unwind-dw2-fde.h 1760739d02ea98fda2d071d0a4699a45 libgcc/unwind-dw2.c e15f35b4faa50d07cae1c696695455ef libgcc/unwind-dw2.h *************** bc0d3012b8b7835b6369ac8efc9b08a8 libgcc *** 102099,102105 **** afca86d4e2ebcbd002c0967889bca65c libgcc/vtv_end_preinit.c 120570d3d00f2719ceb16accb59b9502 libgcc/vtv_start.c 0c268e8e6df76a1dc94c1bc709707a5a libgcc/vtv_start_preinit.c ! 30d4055fb1f24a0ebe59a877e4c12388 libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 --- 102624,102630 ---- afca86d4e2ebcbd002c0967889bca65c libgcc/vtv_end_preinit.c 120570d3d00f2719ceb16accb59b9502 libgcc/vtv_start.c 0c268e8e6df76a1dc94c1bc709707a5a libgcc/vtv_start_preinit.c ! 0a41dd6146b71dafb41eefedb514f723 libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 *************** ad8b102099f5f45ee836866f9a742a5c libgfo *** 102912,102937 **** 66964cb155034a9b124cc896a64cc195 libgfortran/io/fbuf.c e8a82519140086a4f34ce14b57b1ce90 libgfortran/io/fbuf.h 48d3df371c134dfb2f04efa7d5104c51 libgfortran/io/file_pos.c ! 16778be619d549705acb78758af2fd9b libgfortran/io/format.c ! ee05f48372d74baceb1fb54b2b50c832 libgfortran/io/format.h a5541fce7a5e3f8a69bc0480d92c129b libgfortran/io/inquire.c cd4169badc2339fe24a7465ca43d789d libgfortran/io/intrinsics.c 808e3a1682657a86ca0d777fc2680768 libgfortran/io/io.h ! d98019f00b3643e63acac73bc2696ae9 libgfortran/io/list_read.c 83f3764bdb26963a0c41c9a668b47ac1 libgfortran/io/lock.c a6a41fb6ed430bb4daec3b2c6eae5311 libgfortran/io/open.c ! 429fe237654386e3d9642334699673eb libgfortran/io/read.c 151028bef9920ae54d7041229d57a56b libgfortran/io/size_from_kind.c ! 3dd8163bf57f72420976e2199daebb18 libgfortran/io/transfer.c 230abe73ca1541ce53b5a04141b10c6a libgfortran/io/transfer128.c 7a913d3cb266981506ba0355e56bead4 libgfortran/io/unit.c e9904579373944fe08e9ac334b25196e libgfortran/io/unix.c 159cdda10e2bebf81f0dbbffe6a63cdc libgfortran/io/unix.h ! fbdd549ecbc64ec4308a96867f5a6b7d libgfortran/io/write.c ! 52eab6322a32f50d2131f6defc809395 libgfortran/io/write_float.def cb353200a9c6bc5f14e02a6270aabb2a libgfortran/kinds-override.h 5e0c3d0f15d82ea2ad36e268784c82bd libgfortran/libgfortran.h ! 0acddc63592eb50916263aa49d35efe9 libgfortran/libgfortran.spec.in dc1a87f5ed3520558b0fe9f43e4f5ba8 libgfortran/libtool-version 406df9adff3eb4f13893daddd1cee4e8 libgfortran/m4/all.m4 32c7ed205b580526e92f9560a02a71e5 libgfortran/m4/any.m4 --- 103437,103462 ---- 66964cb155034a9b124cc896a64cc195 libgfortran/io/fbuf.c e8a82519140086a4f34ce14b57b1ce90 libgfortran/io/fbuf.h 48d3df371c134dfb2f04efa7d5104c51 libgfortran/io/file_pos.c ! 4a5f6e99d21a287feb7d46f0001ec302 libgfortran/io/format.c ! 7b8fac3905dd0e7ef36be514f40cc170 libgfortran/io/format.h a5541fce7a5e3f8a69bc0480d92c129b libgfortran/io/inquire.c cd4169badc2339fe24a7465ca43d789d libgfortran/io/intrinsics.c 808e3a1682657a86ca0d777fc2680768 libgfortran/io/io.h ! a9a8b4a786fdae16b2fdedac8488d631 libgfortran/io/list_read.c 83f3764bdb26963a0c41c9a668b47ac1 libgfortran/io/lock.c a6a41fb6ed430bb4daec3b2c6eae5311 libgfortran/io/open.c ! 330bdd146eff662ade55905b3a339685 libgfortran/io/read.c 151028bef9920ae54d7041229d57a56b libgfortran/io/size_from_kind.c ! 947919269ce9bdd4649bf9a32702c805 libgfortran/io/transfer.c 230abe73ca1541ce53b5a04141b10c6a libgfortran/io/transfer128.c 7a913d3cb266981506ba0355e56bead4 libgfortran/io/unit.c e9904579373944fe08e9ac334b25196e libgfortran/io/unix.c 159cdda10e2bebf81f0dbbffe6a63cdc libgfortran/io/unix.h ! 3c79671cfa66f03cc086c572c3eab288 libgfortran/io/write.c ! 0feab7d22027b463cc4dee81edb8e5c5 libgfortran/io/write_float.def cb353200a9c6bc5f14e02a6270aabb2a libgfortran/kinds-override.h 5e0c3d0f15d82ea2ad36e268784c82bd libgfortran/libgfortran.h ! 387b6182fc5961d2910eba8861402578 libgfortran/libgfortran.spec.in dc1a87f5ed3520558b0fe9f43e4f5ba8 libgfortran/libtool-version 406df9adff3eb4f13893daddd1cee4e8 libgfortran/m4/all.m4 32c7ed205b580526e92f9560a02a71e5 libgfortran/m4/any.m4 *************** c87426032ff9745d21a72b2252600951 libgfo *** 103021,103052 **** f8ec0c7cb3d2eabb48625cdc600708a9 libgfortran/runtime/select_inc.c 55fd2fd3b90bb8261a9398449ad6368d libgfortran/runtime/stop.c 69ebfc81af9a19cab0a2e3014118803a libgfortran/runtime/string.c ! 7e718ffb2839f556addbcff5b51e59af libgm2/ChangeLog 8bb8d5e70d5876414059d98f12750d6c libgm2/Makefile.am ! 5e4e23cb881b813a205daf6267226c02 libgm2/Makefile.in ! f01c32771907a48f7b24b2d90ca336bc libgm2/aclocal.m4 ! 60344c1b0c482e7f8038c1bfafe18c6e libgm2/config.h.in ! e6cf1406f1932aa0604d29f6cb340c77 libgm2/configure ! 0608b1b0bf5c572556b8f1b7a25db6ae libgm2/configure.ac ! 486fff39ba5311d5eec3de64121743de libgm2/libm2cor/KeyBoardLEDs.cc ! 5bd6074297abc94cfff5e603e5d48a8c libgm2/libm2cor/Makefile.am ! 239448a2cd0f3d6389cf896d0e0a3e4a libgm2/libm2cor/Makefile.in 256f893d9141ee50fb703d08f0c7ce3a libgm2/libm2iso/ChanConsts.h 1f06a5aa78117852f125ffe8c8925116 libgm2/libm2iso/ErrnoCategory.cc ! 9ae4210e81fddd084076406afceed2d8 libgm2/libm2iso/Makefile.am ! 4e874d366ea9eea1da1d91014741ddc6 libgm2/libm2iso/Makefile.in 4b10df779974459cd3d6567e6f4bfd3e libgm2/libm2iso/RTco.cc 60e20d4966763ff532153264c355ec8f libgm2/libm2iso/m2rts.h e3037b97506181892bc760a12d9c5f69 libgm2/libm2iso/wrapsock.c ! 826933392e21b0d0df6a5a7cc4dce7b4 libgm2/libm2iso/wraptime.cc eb003ee7f1b2cf1972500be967c4d5eb libgm2/libm2log/Break.c ! 925f2af91166fd282835d954d136960b libgm2/libm2log/Makefile.am ! 23b57a90795bae018b1cc04335d734f5 libgm2/libm2log/Makefile.in 73ca96b0d4ebc77c69852077445bf2d3 libgm2/libm2min/Makefile.am ! f20aa94e7e4e13c41d9b27f04da7a2ba libgm2/libm2min/Makefile.in a9f05e5da997bab66d457b3be2773189 libgm2/libm2min/libc.c ! f72ce205d3d21004cfe27c0113f1cf00 libgm2/libm2pim/Makefile.am ! 577db7bd3fae257f9694ba7264490eaf libgm2/libm2pim/Makefile.in 944531ee3e0d441b1c7209ac2c2355eb libgm2/libm2pim/Selective.cc 635915386732139700506c42de8b469d libgm2/libm2pim/SysExceptions.cc 04512543e0711f8f6f6e1fb2a995330e libgm2/libm2pim/UnixArgs.cc --- 103546,103578 ---- f8ec0c7cb3d2eabb48625cdc600708a9 libgfortran/runtime/select_inc.c 55fd2fd3b90bb8261a9398449ad6368d libgfortran/runtime/stop.c 69ebfc81af9a19cab0a2e3014118803a libgfortran/runtime/string.c ! c517bed94a7b44f82e6abf42135d711b libgm2/ChangeLog 8bb8d5e70d5876414059d98f12750d6c libgm2/Makefile.am ! e4a52ca01185338bc95a587a7e240123 libgm2/Makefile.in ! 6f403a61e058e0ec6bc551e0d8d28a77 libgm2/aclocal.m4 ! a3539e69ba0b1f58ab3e36b45319b962 libgm2/config.h.in ! dcee7fb71ec5002bbf2625a9f139efc3 libgm2/configure ! 61b20eb3c82f298be91db539e0e0934b libgm2/configure.ac ! e1d9b2ee0c56e976eed0b017f8389674 libgm2/libm2cor/KeyBoardLEDs.cc ! 79f6d9b5511991c314c9c405b5071e9d libgm2/libm2cor/Makefile.am ! 7cebea74cff03c77c866c830fd1710fe libgm2/libm2cor/Makefile.in 256f893d9141ee50fb703d08f0c7ce3a libgm2/libm2iso/ChanConsts.h 1f06a5aa78117852f125ffe8c8925116 libgm2/libm2iso/ErrnoCategory.cc ! 085187f13b8ca753723f097369dba516 libgm2/libm2iso/Makefile.am ! db2267523872c4f7c5a44ba9198bcd46 libgm2/libm2iso/Makefile.in 4b10df779974459cd3d6567e6f4bfd3e libgm2/libm2iso/RTco.cc 60e20d4966763ff532153264c355ec8f libgm2/libm2iso/m2rts.h + 35efe721a1e8ab4641972d77edc4cdc6 libgm2/libm2iso/wrapclock.cc e3037b97506181892bc760a12d9c5f69 libgm2/libm2iso/wrapsock.c ! dfac13ff9a1e6088f7858a2004d4074d libgm2/libm2iso/wraptime.cc eb003ee7f1b2cf1972500be967c4d5eb libgm2/libm2log/Break.c ! 23295d6100ffbc54cdc59f7137e8047a libgm2/libm2log/Makefile.am ! d05d86ca19b91a1b7c94124e8971f106 libgm2/libm2log/Makefile.in 73ca96b0d4ebc77c69852077445bf2d3 libgm2/libm2min/Makefile.am ! 06ef559e5f1b427b0c021680ad69c19b libgm2/libm2min/Makefile.in a9f05e5da997bab66d457b3be2773189 libgm2/libm2min/libc.c ! 47a7e47f2ab4787be31f054785b200f5 libgm2/libm2pim/Makefile.am ! 12213b0019f0a74e8a79819f36037a19 libgm2/libm2pim/Makefile.in 944531ee3e0d441b1c7209ac2c2355eb libgm2/libm2pim/Selective.cc 635915386732139700506c42de8b469d libgm2/libm2pim/SysExceptions.cc 04512543e0711f8f6f6e1fb2a995330e libgm2/libm2pim/UnixArgs.cc *************** e3e86019491a40bd4f45424d7ce11037 libgo/ *** 108554,108560 **** c5574d106d35be5d94e80301b0855ada libgo/testsuite/libgo-test-support.exp.in bf162aa572f7b96b25dbd2b027845d32 libgo/testsuite/libgo.testmain/testmain.exp cc9d2a0e34e31ba866a8caf9f46f48f3 libgomp/.gitattributes ! 76f607d3e3adbdd5e4cea07de9360bfe libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 8126886ecbd94666cc701e26bf9d7ec7 libgomp/Makefile.am 54dac50e0dd75535eabeac324da5d027 libgomp/Makefile.in --- 109080,109086 ---- c5574d106d35be5d94e80301b0855ada libgo/testsuite/libgo-test-support.exp.in bf162aa572f7b96b25dbd2b027845d32 libgo/testsuite/libgo.testmain/testmain.exp cc9d2a0e34e31ba866a8caf9f46f48f3 libgomp/.gitattributes ! 285eb4900aedea8c245b59ed126fb91e libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 8126886ecbd94666cc701e26bf9d7ec7 libgomp/Makefile.am 54dac50e0dd75535eabeac324da5d027 libgomp/Makefile.in *************** a12f17fee1529934e1337f4082a25826 libgom *** 108674,108684 **** efc434763cbe71b67359f1858f6c9480 libgomp/config/rtems/sem.c dc0894d2543322b185ccacab808c54a2 libgomp/config/rtems/sem.h af41d1d04a4112345554ca8b8a072ed9 libgomp/config/t-aix ! 5bce7b82e8fa34911daebfde870fb08e libgomp/configure ! 98d0226a1b3c323e7aad843f476291c6 libgomp/configure.ac df326a12f33954a095cf171bc51c7067 libgomp/configure.tgt d00073656a1133511cc3ebac2bfdd88f libgomp/critical.c ! 4aa61eb42769de2a2a431240bbe7e4a5 libgomp/env.c f96307b472c52dd869d0f0a313d9b7a5 libgomp/error.c cd0e0c5429d3151ad5cc94cb76a9dd28 libgomp/fortran.c 6b3988d901dfbecfcadc0ac9ffb1cc27 libgomp/hashtab.h --- 109200,109210 ---- efc434763cbe71b67359f1858f6c9480 libgomp/config/rtems/sem.c dc0894d2543322b185ccacab808c54a2 libgomp/config/rtems/sem.h af41d1d04a4112345554ca8b8a072ed9 libgomp/config/t-aix ! e18278aba482de8a8e5427f37d7f1b40 libgomp/configure ! 00cde2fa4f3df681996b438acff2a0ae libgomp/configure.ac df326a12f33954a095cf171bc51c7067 libgomp/configure.tgt d00073656a1133511cc3ebac2bfdd88f libgomp/critical.c ! 3016ac11a54a02451d14aa59ee70915e libgomp/env.c f96307b472c52dd869d0f0a313d9b7a5 libgomp/error.c cd0e0c5429d3151ad5cc94cb76a9dd28 libgomp/fortran.c 6b3988d901dfbecfcadc0ac9ffb1cc27 libgomp/hashtab.h *************** bddf1919febc77ab73283f66e954b61e libgom *** 108843,108848 **** --- 109369,109375 ---- 3f755c96f4b692988ea0d1ddeef1ca9b libgomp/testsuite/libgomp.c++/parallel-1.C 918bd233ad318b00f080ec4f186b4ee1 libgomp/testsuite/libgomp.c++/pr108180.C 47f9fb4165180e335283fecf1a9cd061 libgomp/testsuite/libgomp.c++/pr108286.C + 2b5f66e459a48cd1cbeb9dc42d3b751e libgomp/testsuite/libgomp.c++/pr114572.C c57d4e906a72b08e5f49bef40306b63f libgomp/testsuite/libgomp.c++/pr24455-1.C e922df8c56b5c5885b9aa8d370725ea9 libgomp/testsuite/libgomp.c++/pr24455.C ebbf9a13ba035141ba01b3281fd27fea libgomp/testsuite/libgomp.c++/pr26691.C *************** dffc3aabaa5b2461aa560fc66c80c0fe libgom *** 109104,109109 **** --- 109631,109637 ---- f959c1fe9d94d7321dbc7b419eefe7a7 libgomp/testsuite/libgomp.c-c++-common/monotonic-1.c cc6abf61b301e17286872d6d76d483c0 libgomp/testsuite/libgomp.c-c++-common/monotonic-2.c 1c4ec2975c3dc84ae293e87a285260b4 libgomp/testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c + 83daaaf005b81e8c9d1f407ac1c30136 libgomp/testsuite/libgomp.c-c++-common/non-rect-loop-1.c d9c974865c1c03b48fac0231e028a7be libgomp/testsuite/libgomp.c-c++-common/nonmonotonic-1.c 214e7bba3d270a6822e2e6161f05981b libgomp/testsuite/libgomp.c-c++-common/nonmonotonic-2.c 857b86f8109e8843b901fc93bce4c8a8 libgomp/testsuite/libgomp.c-c++-common/nothing-1.c *************** e8a3245c095430c8ef2413afe2ee4c48 libgom *** 110812,110818 **** b409f1646a05495747142fadf3690e0c libgomp/work.c 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 3f8e7be77c4383491a02d74698cd1d9d libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit fa93bac944903a228f11c248e20425c1 libiberty/Makefile.in 8b93d0e0369daed24e2260ccfd102eb3 libiberty/README --- 111340,111346 ---- b409f1646a05495747142fadf3690e0c libgomp/work.c 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 9e0254a96742cf828e9da174657f9e5a libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit fa93bac944903a228f11c248e20425c1 libiberty/Makefile.in 8b93d0e0369daed24e2260ccfd102eb3 libiberty/README *************** e52d95644dc6f186070f349a5903ca72 libibe *** 110979,110985 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 23f92e212cd9d0aa705c4291d15b1b1d libiberty/xstrndup.c 3d5f811c995181239208230e3fb986c9 libiberty/xvasprintf.c ! 22fff72ea589263800a272d07972f678 libitm/ChangeLog a9df0726c501bf71a46f426068e8fc9f libitm/Makefile.am 06bb67375770bbbe550b5708624ed9d8 libitm/Makefile.in b0ef0123257ddf33dc8877750e9d701f libitm/aatree.cc --- 111507,111513 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 23f92e212cd9d0aa705c4291d15b1b1d libiberty/xstrndup.c 3d5f811c995181239208230e3fb986c9 libiberty/xvasprintf.c ! fedbf1573bb49b616cbed2868f506315 libitm/ChangeLog a9df0726c501bf71a46f426068e8fc9f libitm/Makefile.am 06bb67375770bbbe550b5708624ed9d8 libitm/Makefile.in b0ef0123257ddf33dc8877750e9d701f libitm/aatree.cc *************** b4e503ecfdccc9f13da8f73eeb6f23a9 libitm *** 111089,111095 **** ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c a197d6f8af1f2c34ee3acbd225b506dc libitm/useraction.cc 18405e5244b1dc4579b93b5ac7e2fd64 libitm/util.cc ! 2985546fa19f1ff705eaff195223e3a5 libobjc/ChangeLog 0f2cc07c6f5697c9ea864715931006d2 libobjc/Makefile.in dacc3eacefeae25b7b2440b3744216c3 libobjc/NXConstStr.m 1ce3e10a7cd87c690040cc7e049c4771 libobjc/Object.m --- 111617,111623 ---- ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c a197d6f8af1f2c34ee3acbd225b506dc libitm/useraction.cc 18405e5244b1dc4579b93b5ac7e2fd64 libitm/util.cc ! 78ed3764cf7d03dd00411a466f763b08 libobjc/ChangeLog 0f2cc07c6f5697c9ea864715931006d2 libobjc/Makefile.in dacc3eacefeae25b7b2440b3744216c3 libobjc/NXConstStr.m 1ce3e10a7cd87c690040cc7e049c4771 libobjc/Object.m *************** f73dc5b4bd6ccb056fedbcc20afbb42e libobj *** 111146,111152 **** 4315de5775daa14dcb27acf8981e900b libobjc/selector.c 76858dbd60cea84725adf102503b0caf libobjc/sendmsg.c 07a2d7242871d2ccd937ab58211f029a libobjc/thr.c ! 9cad92bd677cdd8ae5af820e2bd6b9f6 libphobos/ChangeLog 94c5ad2e83438058486ba0c7c2fba0ab libphobos/Makefile.am 138fba343eb20a167ee2f5240bb53f27 libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc --- 111674,111680 ---- 4315de5775daa14dcb27acf8981e900b libobjc/selector.c 76858dbd60cea84725adf102503b0caf libobjc/sendmsg.c 07a2d7242871d2ccd937ab58211f029a libobjc/thr.c ! e7537fa77cf9d9e955457259f3bf4cba libphobos/ChangeLog 94c5ad2e83438058486ba0c7c2fba0ab libphobos/Makefile.am 138fba343eb20a167ee2f5240bb53f27 libphobos/Makefile.in ee88c20a7744a2305503e1670f3b7889 libphobos/README.gcc *************** fbb3c30724cb241010afacb0505c53e7 libpho *** 111155,111161 **** 4923b1152206303a26c7dfb87f5de315 libphobos/config.h.in 2a7da53393c7ac4e7d7b120f939f4abb libphobos/configure c8692ecfddc51256a49f22096c2c2335 libphobos/configure.ac ! 11ef678118fa0743c5f73d089dfb558b libphobos/configure.tgt 04bef1902aef470aee5ea39c14c9529d libphobos/d_rules.am e4224ccaecb14d942c71d31bef20d78c libphobos/libdruntime/LICENSE.txt 2d7446d51cf4738aad1c8ceb43174a72 libphobos/libdruntime/MERGE --- 111683,111689 ---- 4923b1152206303a26c7dfb87f5de315 libphobos/config.h.in 2a7da53393c7ac4e7d7b120f939f4abb libphobos/configure c8692ecfddc51256a49f22096c2c2335 libphobos/configure.ac ! 5401a27c56bfc7c225627c0a4ce1d766 libphobos/configure.tgt 04bef1902aef470aee5ea39c14c9529d libphobos/d_rules.am e4224ccaecb14d942c71d31bef20d78c libphobos/libdruntime/LICENSE.txt 2d7446d51cf4738aad1c8ceb43174a72 libphobos/libdruntime/MERGE *************** bba877e4f056859d54de1b796d3f8906 libpho *** 111178,111184 **** 49d61e2bb179d74c692b97a61a0bd2ff libphobos/libdruntime/core/bitop.d 4a82ffb16f497f908bf37f14173450ca libphobos/libdruntime/core/builtins.d 46c8a565a874deb70d23572b5b8f97bf libphobos/libdruntime/core/checkedint.d ! 65888ef4aad1d54fb695240315ae2472 libphobos/libdruntime/core/cpuid.d c67e61b22e0cca97ca3f28f74342ccac libphobos/libdruntime/core/demangle.d 068107d7afe04f5cae199f72ac22c830 libphobos/libdruntime/core/exception.d 456fa1344c86d322f867cb4b1736b33a libphobos/libdruntime/core/factory.d --- 111706,111712 ---- 49d61e2bb179d74c692b97a61a0bd2ff libphobos/libdruntime/core/bitop.d 4a82ffb16f497f908bf37f14173450ca libphobos/libdruntime/core/builtins.d 46c8a565a874deb70d23572b5b8f97bf libphobos/libdruntime/core/checkedint.d ! f66c95a1c52dcb4ce1690741bcf7b282 libphobos/libdruntime/core/cpuid.d c67e61b22e0cca97ca3f28f74342ccac libphobos/libdruntime/core/demangle.d 068107d7afe04f5cae199f72ac22c830 libphobos/libdruntime/core/exception.d 456fa1344c86d322f867cb4b1736b33a libphobos/libdruntime/core/factory.d *************** d3ca33295a3a7d8dce98defab11dd626 libpho *** 111997,112003 **** 020279de8eacb878931ae40833bd6508 libphobos/testsuite/libphobos.unittest/unittest.exp bf9a9859c3d5e0581c756501aefba7b9 libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! b7fc5610b062539a2d88968964804b05 libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 644a78a01d94abe28b364eaa21142d82 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 --- 112525,112531 ---- 020279de8eacb878931ae40833bd6508 libphobos/testsuite/libphobos.unittest/unittest.exp bf9a9859c3d5e0581c756501aefba7b9 libphobos/testsuite/testsuite_flags.in a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! 0256472d9bbc777c67e5c443356c1bd9 libquadmath/ChangeLog 4696eddf264dd090e144b4849b0a6d91 libquadmath/Makefile.am 644a78a01d94abe28b364eaa21142d82 libquadmath/Makefile.in d9afbc1f1e04c7e461265ff9323cc6f4 libquadmath/acinclude.m4 *************** f82ab3e76785fdb6583fcc500defddc5 libqua *** 112119,112126 **** dccfb932e7a4ec8c89731a6c7a7a9b82 libquadmath/printf/mul.c 1cfc3bffd2c94cb06e55b49841dc8f7f libquadmath/printf/mul_1.c f387f032d813cca837e7cf5477e2f6d5 libquadmath/printf/mul_n.c ! 155ece2d5e94e8539083ccfb4779c856 libquadmath/printf/printf_fp.c ! d372c1026983b3d0a5d2fca4a2ff5226 libquadmath/printf/printf_fphex.c e1960c6cccb78a5a2d60bdfe428c9d1b libquadmath/printf/quadmath-printf.c 793f681760a8266fc2adf2810355df6a libquadmath/printf/quadmath-printf.h 4d100ac07c5c1c4033ef4b9f60c96605 libquadmath/printf/rshift.c --- 112647,112654 ---- dccfb932e7a4ec8c89731a6c7a7a9b82 libquadmath/printf/mul.c 1cfc3bffd2c94cb06e55b49841dc8f7f libquadmath/printf/mul_1.c f387f032d813cca837e7cf5477e2f6d5 libquadmath/printf/mul_n.c ! 8f689c2eecdac18dd2ba0d5492bfcd5d libquadmath/printf/printf_fp.c ! 9bc3ff4862b4fe31d0be46abc64a8bc4 libquadmath/printf/printf_fphex.c e1960c6cccb78a5a2d60bdfe428c9d1b libquadmath/printf/quadmath-printf.c 793f681760a8266fc2adf2810355df6a libquadmath/printf/quadmath-printf.h 4d100ac07c5c1c4033ef4b9f60c96605 libquadmath/printf/rshift.c *************** e0bd9b8669e44ec6010f92da1d5188ad libqua *** 112137,112143 **** af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! dac57504e02c60e0be1a7b17227b468b libsanitizer/ChangeLog 63916ba64a3cfa7ce2809fb46ab38597 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 29e193ebd43391db91cd7be26d8cd169 libsanitizer/LOCAL_PATCHES --- 112665,112671 ---- af84fa5118f4adec8393614994e1c4d6 libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c 12c73a846f7668d29de720bd79502bef libquadmath/update-quadmath.py ! b9b3b7b373d3b9516ba51a6155844c99 libsanitizer/ChangeLog 63916ba64a3cfa7ce2809fb46ab38597 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT 29e193ebd43391db91cd7be26d8cd169 libsanitizer/LOCAL_PATCHES *************** bf15e54f8c49d6dbf0b70f17a2bbab18 libsan *** 112466,112472 **** e03880b98c21fda906a2dd64018acd29 libsanitizer/sanitizer_common/sanitizer_stacktrace_libcdep.cpp 1f45e6f9f3928ddb98146ab114a09d9c libsanitizer/sanitizer_common/sanitizer_stacktrace_printer.cpp 48a3ae33d0047b239ce6108de3b21f01 libsanitizer/sanitizer_common/sanitizer_stacktrace_printer.h ! 3f54427e1b0f2a4b31b739360733f3e9 libsanitizer/sanitizer_common/sanitizer_stacktrace_sparc.cpp 76324ac84f5eb512c3e2351dbfd9ce24 libsanitizer/sanitizer_common/sanitizer_stoptheworld.h c1faa837dd50d9ad2162751a200fa58b libsanitizer/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp 60c0888eff94b59773f87548c52f756a libsanitizer/sanitizer_common/sanitizer_stoptheworld_fuchsia.h --- 112994,113000 ---- e03880b98c21fda906a2dd64018acd29 libsanitizer/sanitizer_common/sanitizer_stacktrace_libcdep.cpp 1f45e6f9f3928ddb98146ab114a09d9c libsanitizer/sanitizer_common/sanitizer_stacktrace_printer.cpp 48a3ae33d0047b239ce6108de3b21f01 libsanitizer/sanitizer_common/sanitizer_stacktrace_printer.h ! 970bd85f99e504e1b5effed9862cc9c5 libsanitizer/sanitizer_common/sanitizer_stacktrace_sparc.cpp 76324ac84f5eb512c3e2351dbfd9ce24 libsanitizer/sanitizer_common/sanitizer_stoptheworld.h c1faa837dd50d9ad2162751a200fa58b libsanitizer/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp 60c0888eff94b59773f87548c52f756a libsanitizer/sanitizer_common/sanitizer_stoptheworld_fuchsia.h *************** f337f2c9c679c772ddff2564c1e814e5 libsan *** 112505,112511 **** 067a90198acd4ef92494bee073c0e1bc libsanitizer/sanitizer_common/sanitizer_tls_get_addr.h daf0a3ec50a14c09b41741865f11e807 libsanitizer/sanitizer_common/sanitizer_type_traits.cpp c7100b0c25734fc3c76d5416db5be325 libsanitizer/sanitizer_common/sanitizer_type_traits.h ! 3d9b2d310c6cd51902430a2eca4a3928 libsanitizer/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp c81b4e41a8e4b42c37701357d1273b78 libsanitizer/sanitizer_common/sanitizer_unwind_win.cpp c6626ead5ce5eff397b6675bbf291cde libsanitizer/sanitizer_common/sanitizer_vector.h b940992ba798c2ba2e2c2e09e5593eac libsanitizer/sanitizer_common/sanitizer_win.cpp --- 113033,113039 ---- 067a90198acd4ef92494bee073c0e1bc libsanitizer/sanitizer_common/sanitizer_tls_get_addr.h daf0a3ec50a14c09b41741865f11e807 libsanitizer/sanitizer_common/sanitizer_type_traits.cpp c7100b0c25734fc3c76d5416db5be325 libsanitizer/sanitizer_common/sanitizer_type_traits.h ! 8b294afb5681a0b6adddd1dc224e8eb3 libsanitizer/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp c81b4e41a8e4b42c37701357d1273b78 libsanitizer/sanitizer_common/sanitizer_unwind_win.cpp c6626ead5ce5eff397b6675bbf291cde libsanitizer/sanitizer_common/sanitizer_vector.h b940992ba798c2ba2e2c2e09e5593eac libsanitizer/sanitizer_common/sanitizer_win.cpp *************** bd58abd803667b3373381b6bb1b68f1b libsan *** 112618,112624 **** 545e91fffb8d4987ca5d1c0054aadd11 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp e9c85349d92ab1a6b66d0872077acd3b libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp 72f297f487b6bb9db917cce361192c28 libsanitizer/ubsan/ubsan_win_weak_interception.cpp ! cdcbdf9c8be0585cfb43fabbaf7e4d37 libssp/ChangeLog e2f3818fe9d994ce13d0ce070a7d329b libssp/Makefile.am b56958cdc5828ca811c35bbf479b3a09 libssp/Makefile.in f6f6c804e40e3a3ef407d3d13fafb6c0 libssp/aclocal.m4 --- 113146,113152 ---- 545e91fffb8d4987ca5d1c0054aadd11 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp e9c85349d92ab1a6b66d0872077acd3b libsanitizer/ubsan/ubsan_win_dynamic_runtime_thunk.cpp 72f297f487b6bb9db917cce361192c28 libsanitizer/ubsan/ubsan_win_weak_interception.cpp ! ca3fedf03e52f58bd9deac754d069010 libssp/ChangeLog e2f3818fe9d994ce13d0ce070a7d329b libssp/Makefile.am b56958cdc5828ca811c35bbf479b3a09 libssp/Makefile.in f6f6c804e40e3a3ef407d3d13fafb6c0 libssp/aclocal.m4 *************** c265574887f4390ecccd1073ee5c0190 libssp *** 112647,112653 **** 02470b541ab713bd1bfb8e6787e65f2c libssp/strncpy-chk.c 8a7a0719ef45cb3ae0041192eac8d550 libssp/vsnprintf-chk.c d662ba7536e1bd06226d47b1a7f1f4e2 libssp/vsprintf-chk.c ! c4b72fd7fbc8f557f4c5d95ca5f8ae15 libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 --- 113175,113181 ---- 02470b541ab713bd1bfb8e6787e65f2c libssp/strncpy-chk.c 8a7a0719ef45cb3ae0041192eac8d550 libssp/vsnprintf-chk.c d662ba7536e1bd06226d47b1a7f1f4e2 libssp/vsprintf-chk.c ! d059d550b8c1ff19ee31d9d3106d2dba libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 *************** a8f4290dba5b481ad426148a03c75dd0 libstd *** 112676,112713 **** 8f935bcf0a7cef1820d590f10ba666e0 libstdc++-v3/Makefile.am 48e09ad461c04a859ea424488ccf5f25 libstdc++-v3/Makefile.in f372af73db4ac0ad88e43199e1f29e08 libstdc++-v3/README ! e00554a21161ae898b7a1892025afca9 libstdc++-v3/acinclude.m4 13f29ef95664bfe876c83f7743ca504d libstdc++-v3/aclocal.m4 ! 7fb8d907f8ee053483daa02dd8e691b2 libstdc++-v3/config.h.in dbe719d2ffb42b6b243512fe87e49072 libstdc++-v3/config/abi/compatibility.h ! fa2a770d9ffb45de790e1a500b3c2cf1 libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt 730569c0ef38f6e6322b3c4ac65253ce libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt 0b13b889ce8ed4728a7ff2f2eba7f27e libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt 3564a8198041594b04f35e13701fdb53 libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt ! a6e819eb7418e2cbe4a9b17c9b1c2635 libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt ! 46afe8d5679c5a75d0e9d14855e769bc libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt ! 0c8dac7e76e576d005cdf56503f9772d libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt 01500b319bb297b4059106c465b92567 libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt ! d020e1cff95ed5856e1b1fcaf7209f2f libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt 61308215d393f11169ace76935f2b034 libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt 725325d7b24195d1e6374ce4e24afdb0 libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt 907face03890009654193fc67fa4e427 libstdc++-v3/config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt 1a34bda2bb4c3a576335343c0a4a9377 libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt 0fe1ef0ffda9bb3ad933875c2afb1354 libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt 0fe1ef0ffda9bb3ad933875c2afb1354 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt ! 15dc91e59b5e657f831115944ae21b78 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt ! b411d2629146eb07e56ba9fb98d39df4 libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt ! 687247f22261b55a004a1fc0f0d291f7 libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt ! 0fd0d63fab1386c19322a2b474839a87 libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt cc65678819ec7ff06eaeed8b1a5455eb libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt ! e03d818332a5d182e33a11b3697a9962 libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt ! 328b307c950426e3a15f05dfa3565a25 libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt ebf1c408e326c18c0c1f337bc5108fae libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt c224a11f9b7b76848462bffd472b20c2 libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt ! 0c8dac7e76e576d005cdf56503f9772d libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt ! 7165c8a9874b26141af6c41927d4b34c libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt 483a11b93ae0da31d1f2f6470d4e7578 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver 2963416ded826008141b34874eb2486e libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver --- 113204,113241 ---- 8f935bcf0a7cef1820d590f10ba666e0 libstdc++-v3/Makefile.am 48e09ad461c04a859ea424488ccf5f25 libstdc++-v3/Makefile.in f372af73db4ac0ad88e43199e1f29e08 libstdc++-v3/README ! 97b52e1b3e25b17be33966380fd4e289 libstdc++-v3/acinclude.m4 13f29ef95664bfe876c83f7743ca504d libstdc++-v3/aclocal.m4 ! 71abdb358e55c1697456f1d0db6694f4 libstdc++-v3/config.h.in dbe719d2ffb42b6b243512fe87e49072 libstdc++-v3/config/abi/compatibility.h ! cec6d34c230f78424e5b88d5918096ff libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt 730569c0ef38f6e6322b3c4ac65253ce libstdc++-v3/config/abi/post/alpha-linux-gnu/baseline_symbols.txt 0b13b889ce8ed4728a7ff2f2eba7f27e libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt 3564a8198041594b04f35e13701fdb53 libstdc++-v3/config/abi/post/i386-linux-gnu/baseline_symbols.txt ! 907df1b337fbde564d25fd9addfd5b1d libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt ! 6ba5e20f8153aafabe12e923d4161968 libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt ! f219ee86f924a82cb46d532497df73bf libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt 01500b319bb297b4059106c465b92567 libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt ! 5b49be2ef639a42e4b146f208d0af133 libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt 61308215d393f11169ace76935f2b034 libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt 725325d7b24195d1e6374ce4e24afdb0 libstdc++-v3/config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt 907face03890009654193fc67fa4e427 libstdc++-v3/config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt 1a34bda2bb4c3a576335343c0a4a9377 libstdc++-v3/config/abi/post/mips64-linux-gnu/baseline_symbols.txt 0fe1ef0ffda9bb3ad933875c2afb1354 libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt 0fe1ef0ffda9bb3ad933875c2afb1354 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt ! e4c394a58dd00486c0bffe2d442e2596 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt ! ab3ea493eb97b2622589319b9ad0514e libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt ! 5877eb8710a6fbcb1af7eabd882e7c4d libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt 3ec228e0d9301df0938cba4a7fb94374 libstdc++-v3/config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt ! 7e8e1ab9c0858409454ba5a9455ed430 libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt cc65678819ec7ff06eaeed8b1a5455eb libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt ! 1fc0609161b7ae964ebae8cddd6285c7 libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt ! 8a09b5f78addb37ffc94232c8bc68cb7 libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt ebf1c408e326c18c0c1f337bc5108fae libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt c224a11f9b7b76848462bffd472b20c2 libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt ! f219ee86f924a82cb46d532497df73bf libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt ! c0cfb0c796baf0b1c6a8e682fde6f1ed libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt 483a11b93ae0da31d1f2f6470d4e7578 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver 2963416ded826008141b34874eb2486e libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver *************** c164c601e952178705c49357c46929b1 libstd *** 112867,112874 **** 88829ac417697de6fbc89e7077167668 libstdc++-v3/config/os/vxworks/ctype_configure_char.cc 2e42197ec5d9567a84a1069dc2a1bab3 libstdc++-v3/config/os/vxworks/ctype_inline.h fcfb034722a9543debf35ed340716876 libstdc++-v3/config/os/vxworks/os_defines.h ! c00d3d4756b5985d3906c9780617317e libstdc++-v3/configure ! 0b861982482be04a392b51cc0c540ebb libstdc++-v3/configure.ac 47ef67fb6f3fafc3f01a86a267dfeb82 libstdc++-v3/configure.host 450cc52f6f6f0abf59940662504c450e libstdc++-v3/crossconfig.m4 aedbb1de1dc942434f2d23b8971c0b6f libstdc++-v3/doc/Makefile.am --- 113395,113402 ---- 88829ac417697de6fbc89e7077167668 libstdc++-v3/config/os/vxworks/ctype_configure_char.cc 2e42197ec5d9567a84a1069dc2a1bab3 libstdc++-v3/config/os/vxworks/ctype_inline.h fcfb034722a9543debf35ed340716876 libstdc++-v3/config/os/vxworks/os_defines.h ! d14e4b919642ca3b797214ec732920c1 libstdc++-v3/configure ! 5cd10c9cfb6accf9f587af8ab659acad libstdc++-v3/configure.ac 47ef67fb6f3fafc3f01a86a267dfeb82 libstdc++-v3/configure.host 450cc52f6f6f0abf59940662504c450e libstdc++-v3/crossconfig.m4 aedbb1de1dc942434f2d23b8971c0b6f libstdc++-v3/doc/Makefile.am *************** d7249eb4d31bd107d0b09ea3c80cb723 libstd *** 112963,112978 **** 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 ! 4bb8af3ced69d53e356f904b6e6be4ff libstdc++-v3/doc/html/index.html 62925196d824e20c496c37ac4fbc4215 libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html ! ac9c9c28dab5efbaee0a881c837c1b5e libstdc++-v3/doc/html/manual/api.html ! 7313e97fae5e735a3cb50b92bf3f7785 libstdc++-v3/doc/html/manual/appendix.html ! 2b187a5e453d470d2cd19fb657d91539 libstdc++-v3/doc/html/manual/appendix_contributing.html 23038a3eb57967596dd7dc4f944e55e6 libstdc++-v3/doc/html/manual/appendix_free.html 7bedd2c8f6a4683546db552dc3e8261f libstdc++-v3/doc/html/manual/appendix_gfdl.html 502f9b7267830b21cb88745d060faacf libstdc++-v3/doc/html/manual/appendix_gpl.html ! 52cc877635ca261941c7f9c120e8d5d8 libstdc++-v3/doc/html/manual/appendix_porting.html ac3612f72ad76b3796526d161b19db59 libstdc++-v3/doc/html/manual/associative.html b8ac9fc2f2cfcaed0450c79e2fb01569 libstdc++-v3/doc/html/manual/atomics.html d30e8a474595941b24a6493ad08f78d9 libstdc++-v3/doc/html/manual/backwards.html --- 113491,113506 ---- 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 ! 625efc86360b3cc5168c5168c6a19706 libstdc++-v3/doc/html/index.html 62925196d824e20c496c37ac4fbc4215 libstdc++-v3/doc/html/manual/abi.html 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html ! 53be92d5dc6b55da6d64c3a62b120f5e libstdc++-v3/doc/html/manual/api.html ! cae42c74365059906619c1dd199023e5 libstdc++-v3/doc/html/manual/appendix.html ! 349dd21397f799989e513b2c3c7b44d4 libstdc++-v3/doc/html/manual/appendix_contributing.html 23038a3eb57967596dd7dc4f944e55e6 libstdc++-v3/doc/html/manual/appendix_free.html 7bedd2c8f6a4683546db552dc3e8261f libstdc++-v3/doc/html/manual/appendix_gfdl.html 502f9b7267830b21cb88745d060faacf libstdc++-v3/doc/html/manual/appendix_gpl.html ! c4fd385c751c9f4b36e014c156fac2d1 libstdc++-v3/doc/html/manual/appendix_porting.html ac3612f72ad76b3796526d161b19db59 libstdc++-v3/doc/html/manual/associative.html b8ac9fc2f2cfcaed0450c79e2fb01569 libstdc++-v3/doc/html/manual/atomics.html d30e8a474595941b24a6493ad08f78d9 libstdc++-v3/doc/html/manual/backwards.html *************** c60c6ae778d5dedae24ac21abf948bdb libstd *** 112981,112987 **** 6095fbb12cc581b2614870b42ad0e8b0 libstdc++-v3/doc/html/manual/bugs.html cc3700f2fde50987f186f23abf98a7b1 libstdc++-v3/doc/html/manual/concept_checking.html f3a54a6315d716742603d33f454f2c19 libstdc++-v3/doc/html/manual/concurrency.html ! a7c52aa886ef299346acb22c19799454 libstdc++-v3/doc/html/manual/configure.html af4e79b9e55fd023eeb0459df34a4a82 libstdc++-v3/doc/html/manual/containers.html c7e40c1085e414b3b4d5896db4013205 libstdc++-v3/doc/html/manual/containers_and_c.html 2b78750eb3e29b38e12b7ed1ba8ee8b8 libstdc++-v3/doc/html/manual/debug.html --- 113509,113515 ---- 6095fbb12cc581b2614870b42ad0e8b0 libstdc++-v3/doc/html/manual/bugs.html cc3700f2fde50987f186f23abf98a7b1 libstdc++-v3/doc/html/manual/concept_checking.html f3a54a6315d716742603d33f454f2c19 libstdc++-v3/doc/html/manual/concurrency.html ! e4aaeef0b98cb4c49ee46b83c543ca34 libstdc++-v3/doc/html/manual/configure.html af4e79b9e55fd023eeb0459df34a4a82 libstdc++-v3/doc/html/manual/containers.html c7e40c1085e414b3b4d5896db4013205 libstdc++-v3/doc/html/manual/containers_and_c.html 2b78750eb3e29b38e12b7ed1ba8ee8b8 libstdc++-v3/doc/html/manual/debug.html *************** afcc2751dae09e088abc1e3175cb94cc libstd *** 113010,113016 **** 76cac108e21e304b7607196fb5245e00 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 ! a3858d043af99a73689f6db83b66ed57 libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html b1c1fa7bf6c8cbf798960537e735cf07 libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html --- 113538,113544 ---- 76cac108e21e304b7607196fb5245e00 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 ! e02cfbe446e35d852bedc16b9306d881 libstdc++-v3/doc/html/manual/index.html 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html b1c1fa7bf6c8cbf798960537e735cf07 libstdc++-v3/doc/html/manual/intro.html 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html *************** dc012f6bbeb24332ca023dc15d6da9cf libstd *** 113046,113068 **** d55e182adbf08772ec85b18d390b0dbb libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html 0e9a02c563561ad32d5b24fd930bf8f5 libstdc++-v3/doc/html/manual/profile_mode_impl.html ffceba0f3c20f451f9753c101c0fa634 libstdc++-v3/doc/html/manual/setup.html ! f82628740b7b95e95da49ce234a05bca libstdc++-v3/doc/html/manual/source_code_style.html f875f3f4cddfe4fee6aff2308ccb4563 libstdc++-v3/doc/html/manual/source_design_notes.html 391422dd4f4cdbd4d764a952a0f345e6 libstdc++-v3/doc/html/manual/source_organization.html ! 768a1bb6b726c39f73a860785d5a4d89 libstdc++-v3/doc/html/manual/status.html ea0c531c09fa230f346f8ba700961e4a libstdc++-v3/doc/html/manual/std_contents.html dbb5f81a9e8864374fbb835eaa4e8b0d libstdc++-v3/doc/html/manual/streambufs.html 47e6a6ef4752e7c7e3ecb2a4948a7514 libstdc++-v3/doc/html/manual/strings.html 4fceea62121ba1fe214414a7506d385e libstdc++-v3/doc/html/manual/stringstreams.html 52f0c68b15c7a2b6e098bcfb8da0094b libstdc++-v3/doc/html/manual/support.html fcdceeabf3a95117ea22e93a0354e564 libstdc++-v3/doc/html/manual/termination.html ! e83103446a003be8efeaba99fcd84194 libstdc++-v3/doc/html/manual/test.html c39b927efcec5ac84139c1490c8ef320 libstdc++-v3/doc/html/manual/traits.html 530b96535baacfe35df2e65f9dfe7efc libstdc++-v3/doc/html/manual/unordered_associative.html ! 22ac593adaa2927f35783feea96a1677 libstdc++-v3/doc/html/manual/using.html a98d94ba8ccfb620e98ebfe01192e61e libstdc++-v3/doc/html/manual/using_concurrency.html 79fb9de4a4c89a913a76e1828500499d libstdc++-v3/doc/html/manual/using_dual_abi.html ! 6b216fcce25cefeab611e43ed77fd12e libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html 90f1ace0e51461f3caa15a913228c521 libstdc++-v3/doc/html/manual/using_exceptions.html 8fc6625206a4feba33ced5fa38ab3af8 libstdc++-v3/doc/html/manual/using_headers.html c1e8d8c0d84363807d41edeb82e9dbfc libstdc++-v3/doc/html/manual/using_macros.html --- 113574,113596 ---- d55e182adbf08772ec85b18d390b0dbb libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html 0e9a02c563561ad32d5b24fd930bf8f5 libstdc++-v3/doc/html/manual/profile_mode_impl.html ffceba0f3c20f451f9753c101c0fa634 libstdc++-v3/doc/html/manual/setup.html ! 01c6fb78afa342def6da44376b90a890 libstdc++-v3/doc/html/manual/source_code_style.html f875f3f4cddfe4fee6aff2308ccb4563 libstdc++-v3/doc/html/manual/source_design_notes.html 391422dd4f4cdbd4d764a952a0f345e6 libstdc++-v3/doc/html/manual/source_organization.html ! 38e10bc2d50653a3cb7e24195313d92f libstdc++-v3/doc/html/manual/status.html ea0c531c09fa230f346f8ba700961e4a libstdc++-v3/doc/html/manual/std_contents.html dbb5f81a9e8864374fbb835eaa4e8b0d libstdc++-v3/doc/html/manual/streambufs.html 47e6a6ef4752e7c7e3ecb2a4948a7514 libstdc++-v3/doc/html/manual/strings.html 4fceea62121ba1fe214414a7506d385e libstdc++-v3/doc/html/manual/stringstreams.html 52f0c68b15c7a2b6e098bcfb8da0094b libstdc++-v3/doc/html/manual/support.html fcdceeabf3a95117ea22e93a0354e564 libstdc++-v3/doc/html/manual/termination.html ! 4506d82a2b758f7152eaa50cab8c7bba libstdc++-v3/doc/html/manual/test.html c39b927efcec5ac84139c1490c8ef320 libstdc++-v3/doc/html/manual/traits.html 530b96535baacfe35df2e65f9dfe7efc libstdc++-v3/doc/html/manual/unordered_associative.html ! ecfecbbb6dd2ff762607d2cb36083c1d libstdc++-v3/doc/html/manual/using.html a98d94ba8ccfb620e98ebfe01192e61e libstdc++-v3/doc/html/manual/using_concurrency.html 79fb9de4a4c89a913a76e1828500499d libstdc++-v3/doc/html/manual/using_dual_abi.html ! a372b01a93ca1beeb843a1440bd25cdd libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html 90f1ace0e51461f3caa15a913228c521 libstdc++-v3/doc/html/manual/using_exceptions.html 8fc6625206a4feba33ced5fa38ab3af8 libstdc++-v3/doc/html/manual/using_headers.html c1e8d8c0d84363807d41edeb82e9dbfc libstdc++-v3/doc/html/manual/using_macros.html *************** df705f3839120dcb896e9839cf3404d0 libstd *** 113256,113262 **** f2b698ac9c16af780200a31809e68c05 libstdc++-v3/doc/xml/manual/abi.xml c1d775ba87be90b85044162eab59a66c libstdc++-v3/doc/xml/manual/algorithms.xml 14c656cb14d8e0a60b8817d8934d7766 libstdc++-v3/doc/xml/manual/allocator.xml ! 90fdf7df16449b79819bf6e3219cc5d2 libstdc++-v3/doc/xml/manual/appendix_contributing.xml 11e0fd62db5b93db462f3c54750904ec libstdc++-v3/doc/xml/manual/appendix_free.xml 0e37b1b056c89ad8cd7ef98f9924284c libstdc++-v3/doc/xml/manual/appendix_porting.xml 5139cfc8fdaabd93b5aa7362de789702 libstdc++-v3/doc/xml/manual/atomics.xml --- 113784,113790 ---- f2b698ac9c16af780200a31809e68c05 libstdc++-v3/doc/xml/manual/abi.xml c1d775ba87be90b85044162eab59a66c libstdc++-v3/doc/xml/manual/algorithms.xml 14c656cb14d8e0a60b8817d8934d7766 libstdc++-v3/doc/xml/manual/allocator.xml ! 7bdfafe644aa63fec22160e7cc582eb3 libstdc++-v3/doc/xml/manual/appendix_contributing.xml 11e0fd62db5b93db462f3c54750904ec libstdc++-v3/doc/xml/manual/appendix_free.xml 0e37b1b056c89ad8cd7ef98f9924284c libstdc++-v3/doc/xml/manual/appendix_porting.xml 5139cfc8fdaabd93b5aa7362de789702 libstdc++-v3/doc/xml/manual/atomics.xml *************** e184d827d7fb559037041e81118936cb libstd *** 113267,113280 **** 8f13cae7ea80bc018b87b4ff8de7e3cf libstdc++-v3/doc/xml/manual/codecvt.xml af3361d0d0af961859ec0346c38ac8c8 libstdc++-v3/doc/xml/manual/concurrency.xml 86f27306f8b76aebd69ea92641fd2c94 libstdc++-v3/doc/xml/manual/concurrency_extensions.xml ! fb13f31444f30ec3d49bfee72f52cee0 libstdc++-v3/doc/xml/manual/configure.xml 0af07cc2460e288292186ea8149169ee libstdc++-v3/doc/xml/manual/containers.xml d08c687d9520b2f9d8dd6d973cca9e6a libstdc++-v3/doc/xml/manual/ctype.xml abf083b50c6a5992ed45fd74c564ce42 libstdc++-v3/doc/xml/manual/debug.xml c38bf467401b65722356772cdf4d064b libstdc++-v3/doc/xml/manual/debug_mode.xml f320f25003678cca910f09ba54c923fc libstdc++-v3/doc/xml/manual/diagnostics.xml c7467f13981c47fc740c948b16a42a53 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ! e6cb48a9c8b4df910d53bf7b8508235f libstdc++-v3/doc/xml/manual/evolution.xml 137276d6eb0bbaf6563b8319770dc747 libstdc++-v3/doc/xml/manual/extensions.xml 7f1864c7f3c3b2bfde84b7086be97ca7 libstdc++-v3/doc/xml/manual/internals.xml 7dd90360d3e28e9f8aa299d81e4234c7 libstdc++-v3/doc/xml/manual/intro.xml --- 113795,113808 ---- 8f13cae7ea80bc018b87b4ff8de7e3cf libstdc++-v3/doc/xml/manual/codecvt.xml af3361d0d0af961859ec0346c38ac8c8 libstdc++-v3/doc/xml/manual/concurrency.xml 86f27306f8b76aebd69ea92641fd2c94 libstdc++-v3/doc/xml/manual/concurrency_extensions.xml ! c814233bae2af79cc1273d72145d497c libstdc++-v3/doc/xml/manual/configure.xml 0af07cc2460e288292186ea8149169ee libstdc++-v3/doc/xml/manual/containers.xml d08c687d9520b2f9d8dd6d973cca9e6a libstdc++-v3/doc/xml/manual/ctype.xml abf083b50c6a5992ed45fd74c564ce42 libstdc++-v3/doc/xml/manual/debug.xml c38bf467401b65722356772cdf4d064b libstdc++-v3/doc/xml/manual/debug_mode.xml f320f25003678cca910f09ba54c923fc libstdc++-v3/doc/xml/manual/diagnostics.xml c7467f13981c47fc740c948b16a42a53 libstdc++-v3/doc/xml/manual/documentation_hacking.xml ! e93feff3499d469f746714f539549e5f libstdc++-v3/doc/xml/manual/evolution.xml 137276d6eb0bbaf6563b8319770dc747 libstdc++-v3/doc/xml/manual/extensions.xml 7f1864c7f3c3b2bfde84b7086be97ca7 libstdc++-v3/doc/xml/manual/internals.xml 7dd90360d3e28e9f8aa299d81e4234c7 libstdc++-v3/doc/xml/manual/intro.xml *************** cd6d12f87a30d3b85d80833476c19995 libstd *** 113291,113317 **** f25986e96331b9ee671b4fe62ab33a1c libstdc++-v3/doc/xml/manual/prerequisites.xml ab6d91afc9a36e19a6524c6ca834170a libstdc++-v3/doc/xml/manual/shared_ptr.xml d7f222c42325cd44eadad2c59eef7e6f libstdc++-v3/doc/xml/manual/spine.xml ! 21b4ad60404b59dfe18632c7f5a6d317 libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! dd1868c982334898ded3dfccd6630034 libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! bc1b095a202e3144ab26eccfbe5c7d5b libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! 3db9528acbf4618028bf64cec00ff113 libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! c80ba44d96cd938ff376c426453aab8b libstdc++-v3/doc/xml/manual/status_cxx2020.xml ! 51214bfe6323bf5943402eaed924c87e libstdc++-v3/doc/xml/manual/status_cxx2023.xml e12241b98a6c1e835b7b1d1bb31761ca libstdc++-v3/doc/xml/manual/status_cxxis29124.xml ! b68740adf6b2050af454bcd3fceb6fd5 libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 0b3c686ccfbe056f383714351bf5c272 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 49334f70b9df9a3f9b81e04a418e8066 libstdc++-v3/doc/xml/manual/strings.xml 2b80feb1b53a8d0895a292620ec430b2 libstdc++-v3/doc/xml/manual/support.xml ! 5d2ddc339bb3f30f471747bc41795b38 libstdc++-v3/doc/xml/manual/test.xml e2e099be3dd6a4b7a940a7232635ee2c libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml ! a7afe1028c10edb92120d0955c908cdd libstdc++-v3/doc/xml/manual/using.xml 8b2ecaf4e0a66bc6db1724038373671a libstdc++-v3/doc/xml/manual/using_exceptions.xml 74a5acaa32b3d223bd413c1bb5b69ac6 libstdc++-v3/doc/xml/manual/utilities.xml 0c8bbf7c330217f862dd4871a5ba88d0 libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 42d14268f2b16c54a6bc2f71538a838c libstdc++-v3/fragment.am ! ec4742ec79289d8610d3b623024bfc65 libstdc++-v3/include/Makefile.am ! e87263502efcb2ae872c9697b0b289f2 libstdc++-v3/include/Makefile.in 635fa963aca5bb732d67d0a6cf123d49 libstdc++-v3/include/backward/auto_ptr.h 3891b4a9a440e23e9dbeb63ad4a574a8 libstdc++-v3/include/backward/backward_warning.h e02493032a8d5d253583cbe07c20929d libstdc++-v3/include/backward/binders.h --- 113819,113845 ---- f25986e96331b9ee671b4fe62ab33a1c libstdc++-v3/doc/xml/manual/prerequisites.xml ab6d91afc9a36e19a6524c6ca834170a libstdc++-v3/doc/xml/manual/shared_ptr.xml d7f222c42325cd44eadad2c59eef7e6f libstdc++-v3/doc/xml/manual/spine.xml ! 771a0435ad3ba95fddbd89a287b0bc1a libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! 04fb25fd727e021e3810c7ccde4d89ca libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! 708d5465f3f43ba013bb710a025f9997 libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! 5959c45f31d87132a1bc2ebb44e6077b libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! 291ed67ecefdbadd1de1d8c1475832af libstdc++-v3/doc/xml/manual/status_cxx2020.xml ! d5ba1429aea50cd5ee84e7912579da72 libstdc++-v3/doc/xml/manual/status_cxx2023.xml e12241b98a6c1e835b7b1d1bb31761ca libstdc++-v3/doc/xml/manual/status_cxxis29124.xml ! 4ff8e2cf783a5175985ae3ef1db7940d libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 3bde59a9cc218b08c6510f5247349dc2 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 49334f70b9df9a3f9b81e04a418e8066 libstdc++-v3/doc/xml/manual/strings.xml 2b80feb1b53a8d0895a292620ec430b2 libstdc++-v3/doc/xml/manual/support.xml ! eccf4425a72a8b7f78470723176803db libstdc++-v3/doc/xml/manual/test.xml e2e099be3dd6a4b7a940a7232635ee2c libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml ! 8bdf3d05092df5ba07699d293887542a libstdc++-v3/doc/xml/manual/using.xml 8b2ecaf4e0a66bc6db1724038373671a libstdc++-v3/doc/xml/manual/using_exceptions.xml 74a5acaa32b3d223bd413c1bb5b69ac6 libstdc++-v3/doc/xml/manual/utilities.xml 0c8bbf7c330217f862dd4871a5ba88d0 libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in 42d14268f2b16c54a6bc2f71538a838c libstdc++-v3/fragment.am ! a99b52ac4523a2856bcdd197440e7fab libstdc++-v3/include/Makefile.am ! bb3695020dfc5f8b6630db038a1a9aea libstdc++-v3/include/Makefile.in 635fa963aca5bb732d67d0a6cf123d49 libstdc++-v3/include/backward/auto_ptr.h 3891b4a9a440e23e9dbeb63ad4a574a8 libstdc++-v3/include/backward/backward_warning.h e02493032a8d5d253583cbe07c20929d libstdc++-v3/include/backward/binders.h *************** e02493032a8d5d253583cbe07c20929d libstd *** 113320,113345 **** f2a02916dfbcc5c872e82dee57cc995e libstdc++-v3/include/backward/hash_set cce6f84ea2420e7014deec8f87d193d3 libstdc++-v3/include/backward/hashtable.h b02f5606f63dce8874cb7b42b6fffd42 libstdc++-v3/include/backward/strstream ! b9130337fad9e31ee542b0c97f3ed728 libstdc++-v3/include/bits/algorithmfwd.h 0e756c493e3d685fa91b69d63d8b7d9c libstdc++-v3/include/bits/align.h ! f1cfcec42ff2f2b11ea8cee83ec34d8e libstdc++-v3/include/bits/alloc_traits.h b7a02d402cc5dc3b5900e144b1443bb7 libstdc++-v3/include/bits/allocated_ptr.h ! 9139beb5391dac1421727b85e114b3d4 libstdc++-v3/include/bits/allocator.h c5174ab6282ecbeced42a602ef71aa54 libstdc++-v3/include/bits/atomic_base.h 32bb2eb4f10336b3a7bbcbcb3e7b2697 libstdc++-v3/include/bits/atomic_futex.h 10c6f59884b2d39c8bfaeb46e55b914d libstdc++-v3/include/bits/atomic_timed_wait.h ! 38c23d13fc3665d7eee0a9afcf8bc17d libstdc++-v3/include/bits/atomic_wait.h 7a572f1436f9b069a82a366cd364af5c libstdc++-v3/include/bits/basic_ios.h f72ffffc3ea2a2cb85b705217a116e9e libstdc++-v3/include/bits/basic_ios.tcc ! 5ba76bcbe261eddc373a34f29e1f0bf1 libstdc++-v3/include/bits/basic_string.h ! f085a90a42ab42aeca05166fb827f795 libstdc++-v3/include/bits/basic_string.tcc 12d210ea7f6b7aff57c126940f016d55 libstdc++-v3/include/bits/boost_concept_check.h 588d77b5caf0f9ab703289024f7faf88 libstdc++-v3/include/bits/c++0x_warning.h 0db914ce3afb935ae5ae23a1f37308c8 libstdc++-v3/include/bits/c++config ! 2baac6346fbf3360f5a1e579226373f9 libstdc++-v3/include/bits/char_traits.h 0a14bf55d3849f91b6f272370226f0b8 libstdc++-v3/include/bits/charconv.h ! 4ac4d19930df81feee96a015879eb626 libstdc++-v3/include/bits/chrono.h ! 336606d5376d498361aa5024ea8bb29e libstdc++-v3/include/bits/chrono_io.h 99228a8561efb5af08fdf896e792dbd3 libstdc++-v3/include/bits/codecvt.h 02b297f22d933704022d62bb998083b6 libstdc++-v3/include/bits/concept_check.h ab05c0fac3a44588f6ca1f197b7758d2 libstdc++-v3/include/bits/cow_string.h --- 113848,113873 ---- f2a02916dfbcc5c872e82dee57cc995e libstdc++-v3/include/backward/hash_set cce6f84ea2420e7014deec8f87d193d3 libstdc++-v3/include/backward/hashtable.h b02f5606f63dce8874cb7b42b6fffd42 libstdc++-v3/include/backward/strstream ! 3b94af0106584bba4f35fe93c0533c74 libstdc++-v3/include/bits/algorithmfwd.h 0e756c493e3d685fa91b69d63d8b7d9c libstdc++-v3/include/bits/align.h ! ba5569b3568669c1c77efc18640dd1aa libstdc++-v3/include/bits/alloc_traits.h b7a02d402cc5dc3b5900e144b1443bb7 libstdc++-v3/include/bits/allocated_ptr.h ! 9c5b773ad00830bea46f2a8fa4ac22e7 libstdc++-v3/include/bits/allocator.h c5174ab6282ecbeced42a602ef71aa54 libstdc++-v3/include/bits/atomic_base.h 32bb2eb4f10336b3a7bbcbcb3e7b2697 libstdc++-v3/include/bits/atomic_futex.h 10c6f59884b2d39c8bfaeb46e55b914d libstdc++-v3/include/bits/atomic_timed_wait.h ! d365c012b1cfe6ca40197bca4b8e9abe libstdc++-v3/include/bits/atomic_wait.h 7a572f1436f9b069a82a366cd364af5c libstdc++-v3/include/bits/basic_ios.h f72ffffc3ea2a2cb85b705217a116e9e libstdc++-v3/include/bits/basic_ios.tcc ! 15ebc9646635613a992794065eddba61 libstdc++-v3/include/bits/basic_string.h ! 9e86f840e9d2da76f6ca15673d268d93 libstdc++-v3/include/bits/basic_string.tcc 12d210ea7f6b7aff57c126940f016d55 libstdc++-v3/include/bits/boost_concept_check.h 588d77b5caf0f9ab703289024f7faf88 libstdc++-v3/include/bits/c++0x_warning.h 0db914ce3afb935ae5ae23a1f37308c8 libstdc++-v3/include/bits/c++config ! 7f47148b0e13c75cb1ca1385d6ba2b3e libstdc++-v3/include/bits/char_traits.h 0a14bf55d3849f91b6f272370226f0b8 libstdc++-v3/include/bits/charconv.h ! a26ba7aaa694d8aeb87258e9cd78db1d libstdc++-v3/include/bits/chrono.h ! c9cb671d5a943207974e081664d4944c libstdc++-v3/include/bits/chrono_io.h 99228a8561efb5af08fdf896e792dbd3 libstdc++-v3/include/bits/codecvt.h 02b297f22d933704022d62bb998083b6 libstdc++-v3/include/bits/concept_check.h ab05c0fac3a44588f6ca1f197b7758d2 libstdc++-v3/include/bits/cow_string.h *************** dd2d6ad4ef742a835282ef7c20df17d0 libstd *** 113349,113355 **** 9fbde52831f934ca63d09c817fe5f7b3 libstdc++-v3/include/bits/erase_if.h 68f726da90926f2730fc257270d717cd libstdc++-v3/include/bits/forward_list.h fc266b1bf548f2445b990be5c7f574c1 libstdc++-v3/include/bits/forward_list.tcc ! 2af8f48444832a4c4873667893973b8f libstdc++-v3/include/bits/fs_dir.h 01a4d96f29ae6ac0bb84541df306c3f5 libstdc++-v3/include/bits/fs_fwd.h 254fcd2d0a399cb31596c75aa676ce58 libstdc++-v3/include/bits/fs_ops.h 1be3cfd07ce0d4556bd52594ab337b7f libstdc++-v3/include/bits/fs_path.h --- 113877,113883 ---- 9fbde52831f934ca63d09c817fe5f7b3 libstdc++-v3/include/bits/erase_if.h 68f726da90926f2730fc257270d717cd libstdc++-v3/include/bits/forward_list.h fc266b1bf548f2445b990be5c7f574c1 libstdc++-v3/include/bits/forward_list.tcc ! b0bd8700601834f8e0122eb103c2a3a6 libstdc++-v3/include/bits/fs_dir.h 01a4d96f29ae6ac0bb84541df306c3f5 libstdc++-v3/include/bits/fs_fwd.h 254fcd2d0a399cb31596c75aa676ce58 libstdc++-v3/include/bits/fs_ops.h 1be3cfd07ce0d4556bd52594ab337b7f libstdc++-v3/include/bits/fs_path.h *************** fc266b1bf548f2445b990be5c7f574c1 libstd *** 113358,113371 **** fed35fb4e12ff04f01f0125e66325dd6 libstdc++-v3/include/bits/functional_hash.h fd5665870d6f833cfe3af7154f1e95a7 libstdc++-v3/include/bits/gslice.h a4d667ef5d5bd526eb81a380ad0b14d3 libstdc++-v3/include/bits/gslice_array.h ! 7a1aea0765c5d3eda38245a20aa5ebc1 libstdc++-v3/include/bits/hashtable.h ! b6c1da481fe1c72cbec1f18e66f2bb2c libstdc++-v3/include/bits/hashtable_policy.h db128d77b5e73ac628f1a9af7bc9fad0 libstdc++-v3/include/bits/indirect_array.h 5c9dfe0c12f9c609716ed80b27ea7473 libstdc++-v3/include/bits/invoke.h 9f9c18891605c48f576cee879c306254 libstdc++-v3/include/bits/ios_base.h 0177f2702bc5b9d1cdc7b9049c8fdd12 libstdc++-v3/include/bits/istream.tcc 5b445142c28567ca98b97173b85f1d53 libstdc++-v3/include/bits/iterator_concepts.h ! d91ae1b601584d4c765d50f9d9b86877 libstdc++-v3/include/bits/list.tcc 56f636f54833b560098a6de5754d02b7 libstdc++-v3/include/bits/locale_classes.h 28d76b82765840e78ee58ecb42681e63 libstdc++-v3/include/bits/locale_classes.tcc 76da2539cfe743d42345c63e0e514a00 libstdc++-v3/include/bits/locale_conv.h --- 113886,113899 ---- fed35fb4e12ff04f01f0125e66325dd6 libstdc++-v3/include/bits/functional_hash.h fd5665870d6f833cfe3af7154f1e95a7 libstdc++-v3/include/bits/gslice.h a4d667ef5d5bd526eb81a380ad0b14d3 libstdc++-v3/include/bits/gslice_array.h ! 0f9e2cd62fdac1fa9e234550d89e7ed2 libstdc++-v3/include/bits/hashtable.h ! 2497138cf51c7ec677ba7e4e1eca69fa libstdc++-v3/include/bits/hashtable_policy.h db128d77b5e73ac628f1a9af7bc9fad0 libstdc++-v3/include/bits/indirect_array.h 5c9dfe0c12f9c609716ed80b27ea7473 libstdc++-v3/include/bits/invoke.h 9f9c18891605c48f576cee879c306254 libstdc++-v3/include/bits/ios_base.h 0177f2702bc5b9d1cdc7b9049c8fdd12 libstdc++-v3/include/bits/istream.tcc 5b445142c28567ca98b97173b85f1d53 libstdc++-v3/include/bits/iterator_concepts.h ! 0456c62eaa10cb4e168d79d026a57de2 libstdc++-v3/include/bits/list.tcc 56f636f54833b560098a6de5754d02b7 libstdc++-v3/include/bits/locale_classes.h 28d76b82765840e78ee58ecb42681e63 libstdc++-v3/include/bits/locale_classes.tcc 76da2539cfe743d42345c63e0e514a00 libstdc++-v3/include/bits/locale_conv.h *************** f91bfefc8ffc8275f1860208a7ce4598 libstd *** 113381,113388 **** 7b351469ff54ea35e3e585733ed01c68 libstdc++-v3/include/bits/mofunc_impl.h 666aabd4a7b2d63fc1081b35311b7ac1 libstdc++-v3/include/bits/move.h 12f5ad319cadf9071cacd4f73057d844 libstdc++-v3/include/bits/move_only_function.h ! 4921ed78c50fb48b72f1f3cf83ff21b4 libstdc++-v3/include/bits/new_allocator.h ! c45efc1e3d5bde191ce4d0e6a41a4d76 libstdc++-v3/include/bits/node_handle.h 805d48778212d7bcf6e4201f891f03ca libstdc++-v3/include/bits/ostream.tcc acc3c5b842d22ae52e5f0a6713275fef libstdc++-v3/include/bits/ostream_insert.h ea9f3638ad1b48ca29f5994d80c71708 libstdc++-v3/include/bits/parse_numbers.h --- 113909,113916 ---- 7b351469ff54ea35e3e585733ed01c68 libstdc++-v3/include/bits/mofunc_impl.h 666aabd4a7b2d63fc1081b35311b7ac1 libstdc++-v3/include/bits/move.h 12f5ad319cadf9071cacd4f73057d844 libstdc++-v3/include/bits/move_only_function.h ! c7892ebb1170c1f49c5be98396a83230 libstdc++-v3/include/bits/new_allocator.h ! 0ab91b18b69100cacedda0df4d54f8ee libstdc++-v3/include/bits/node_handle.h 805d48778212d7bcf6e4201f891f03ca libstdc++-v3/include/bits/ostream.tcc acc3c5b842d22ae52e5f0a6713275fef libstdc++-v3/include/bits/ostream_insert.h ea9f3638ad1b48ca29f5994d80c71708 libstdc++-v3/include/bits/parse_numbers.h *************** ea9f3638ad1b48ca29f5994d80c71708 libstd *** 113391,113404 **** 36ff2fd79ae09b6c831df559a05ae8eb libstdc++-v3/include/bits/ptr_traits.h 0184ab6ad97abb6526c6afb48391ba22 libstdc++-v3/include/bits/quoted_string.h 5063de5afefced00ecaace4d45d034d3 libstdc++-v3/include/bits/random.h ! 222630b6321850e2882d0ff38972aa5c libstdc++-v3/include/bits/random.tcc 473f8f1ef247a71477d517401689f0c9 libstdc++-v3/include/bits/range_access.h 77d322c823055aabe8ffa990d70b0c26 libstdc++-v3/include/bits/ranges_algo.h 0456f04c77137db2972b340487b1fdea libstdc++-v3/include/bits/ranges_algobase.h 12a76c1b7d1a0d2fa1d155693458e373 libstdc++-v3/include/bits/ranges_base.h 130f0e54de161dc32742e62f03e44704 libstdc++-v3/include/bits/ranges_cmp.h 0169a884ede559c4f97d0f92430da167 libstdc++-v3/include/bits/ranges_uninitialized.h ! 34444684a042aadccb63e64d0fa438b2 libstdc++-v3/include/bits/ranges_util.h 5f28e5a597b4b84858ca077d118b7655 libstdc++-v3/include/bits/refwrap.h 6578fe4f222b797a9819bac2fff076aa libstdc++-v3/include/bits/regex.h 2715eb7a43f808404c2629768d926ff1 libstdc++-v3/include/bits/regex.tcc --- 113919,113932 ---- 36ff2fd79ae09b6c831df559a05ae8eb libstdc++-v3/include/bits/ptr_traits.h 0184ab6ad97abb6526c6afb48391ba22 libstdc++-v3/include/bits/quoted_string.h 5063de5afefced00ecaace4d45d034d3 libstdc++-v3/include/bits/random.h ! 09901fcf0de4c3ba0d6a0dfd023607b9 libstdc++-v3/include/bits/random.tcc 473f8f1ef247a71477d517401689f0c9 libstdc++-v3/include/bits/range_access.h 77d322c823055aabe8ffa990d70b0c26 libstdc++-v3/include/bits/ranges_algo.h 0456f04c77137db2972b340487b1fdea libstdc++-v3/include/bits/ranges_algobase.h 12a76c1b7d1a0d2fa1d155693458e373 libstdc++-v3/include/bits/ranges_base.h 130f0e54de161dc32742e62f03e44704 libstdc++-v3/include/bits/ranges_cmp.h 0169a884ede559c4f97d0f92430da167 libstdc++-v3/include/bits/ranges_uninitialized.h ! e6057e846a1b5c1c8e373a852009b429 libstdc++-v3/include/bits/ranges_util.h 5f28e5a597b4b84858ca077d118b7655 libstdc++-v3/include/bits/refwrap.h 6578fe4f222b797a9819bac2fff076aa libstdc++-v3/include/bits/regex.h 2715eb7a43f808404c2629768d926ff1 libstdc++-v3/include/bits/regex.tcc *************** d0185a0935bbce160f36ba8d07fd7679 libstd *** 113409,113421 **** 41be9061647eafed77fbf93815faa644 libstdc++-v3/include/bits/regex_constants.h bab03b51484604b9075a12c146b15eb9 libstdc++-v3/include/bits/regex_error.h 75b4257f33f37b2ac04f26c53d930a26 libstdc++-v3/include/bits/regex_executor.h ! 14dbdcdaec3890108fba3aef355789df libstdc++-v3/include/bits/regex_executor.tcc b77e7d0e1af22b4c76f3a1b1a9445393 libstdc++-v3/include/bits/regex_scanner.h c63271fac886a0347ae54d09ec615a70 libstdc++-v3/include/bits/regex_scanner.tcc 22a9676313472917eaaccc27ddfb10f4 libstdc++-v3/include/bits/requires_hosted.h d4ab3a218dd86e5f987bcd411be99642 libstdc++-v3/include/bits/semaphore_base.h aa7b516414d2b32705387e26d6fa52da libstdc++-v3/include/bits/shared_ptr.h ! 30e67fe91731f9a6c511f791766c768a libstdc++-v3/include/bits/shared_ptr_atomic.h 398b697f034a380e2062e59e71a6eec9 libstdc++-v3/include/bits/shared_ptr_base.h 70168d829c78bb22a3de01f9da622f52 libstdc++-v3/include/bits/slice_array.h 19fe23e6a7a34cff22e75da635190a85 libstdc++-v3/include/bits/specfun.h --- 113937,113949 ---- 41be9061647eafed77fbf93815faa644 libstdc++-v3/include/bits/regex_constants.h bab03b51484604b9075a12c146b15eb9 libstdc++-v3/include/bits/regex_error.h 75b4257f33f37b2ac04f26c53d930a26 libstdc++-v3/include/bits/regex_executor.h ! ac618decb7226835e4295e8b110a0328 libstdc++-v3/include/bits/regex_executor.tcc b77e7d0e1af22b4c76f3a1b1a9445393 libstdc++-v3/include/bits/regex_scanner.h c63271fac886a0347ae54d09ec615a70 libstdc++-v3/include/bits/regex_scanner.tcc 22a9676313472917eaaccc27ddfb10f4 libstdc++-v3/include/bits/requires_hosted.h d4ab3a218dd86e5f987bcd411be99642 libstdc++-v3/include/bits/semaphore_base.h aa7b516414d2b32705387e26d6fa52da libstdc++-v3/include/bits/shared_ptr.h ! 8d97d19a65806c0e81b6f50221951b57 libstdc++-v3/include/bits/shared_ptr_atomic.h 398b697f034a380e2062e59e71a6eec9 libstdc++-v3/include/bits/shared_ptr_base.h 70168d829c78bb22a3de01f9da622f52 libstdc++-v3/include/bits/slice_array.h 19fe23e6a7a34cff22e75da635190a85 libstdc++-v3/include/bits/specfun.h *************** f5db8c25a45bb53faa4affdc482ec0ae libstd *** 113424,113439 **** 80c90a384e0540ce68e8451a654f1d10 libstdc++-v3/include/bits/std_function.h 770389d971a766c2fdea04f25b48103f libstdc++-v3/include/bits/std_mutex.h f7dbdb00cb5664fe06868cb519c18fbf libstdc++-v3/include/bits/std_thread.h ! 4008687bfe5dfc31a7ae3d57fd975993 libstdc++-v3/include/bits/stl_algo.h ! a9bee4b1f5b494c37859c53ca0446881 libstdc++-v3/include/bits/stl_algobase.h ! c25d72cc5cf8e5f25333defbd1cb6166 libstdc++-v3/include/bits/stl_bvector.h 2692aca002018b5b1663c464dddaf63f libstdc++-v3/include/bits/stl_construct.h e4d39faab9dc5e3419435581d6869651 libstdc++-v3/include/bits/stl_deque.h 60507e6d5f3434ae5ce86363f622a178 libstdc++-v3/include/bits/stl_function.h f1a151d37c2259f38ae9f3bb60c184cc libstdc++-v3/include/bits/stl_heap.h ! 5062fe07d9dcd501f4b20e56129c7f5f libstdc++-v3/include/bits/stl_iterator.h a98431c50c8cf6faa3d9b03f2ae47efb libstdc++-v3/include/bits/stl_iterator_base_funcs.h ! d99cab7e3480e3ba45cbc780e43d1a90 libstdc++-v3/include/bits/stl_iterator_base_types.h fb63f540eb43cc83f3b74a25a0038a07 libstdc++-v3/include/bits/stl_list.h c4df460e330dbfd383b0f347b37e5c6e libstdc++-v3/include/bits/stl_map.h acfce1940d41d37560494851676d5991 libstdc++-v3/include/bits/stl_multimap.h --- 113952,113967 ---- 80c90a384e0540ce68e8451a654f1d10 libstdc++-v3/include/bits/std_function.h 770389d971a766c2fdea04f25b48103f libstdc++-v3/include/bits/std_mutex.h f7dbdb00cb5664fe06868cb519c18fbf libstdc++-v3/include/bits/std_thread.h ! 5be391a12793142550786b0bb50e6138 libstdc++-v3/include/bits/stl_algo.h ! 443f7678e66a208008b30b4fe6575fc7 libstdc++-v3/include/bits/stl_algobase.h ! fe211f2fb904e83c5ef954a7e1af3d49 libstdc++-v3/include/bits/stl_bvector.h 2692aca002018b5b1663c464dddaf63f libstdc++-v3/include/bits/stl_construct.h e4d39faab9dc5e3419435581d6869651 libstdc++-v3/include/bits/stl_deque.h 60507e6d5f3434ae5ce86363f622a178 libstdc++-v3/include/bits/stl_function.h f1a151d37c2259f38ae9f3bb60c184cc libstdc++-v3/include/bits/stl_heap.h ! 078d2c6e40695db2f690aeaa2795d719 libstdc++-v3/include/bits/stl_iterator.h a98431c50c8cf6faa3d9b03f2ae47efb libstdc++-v3/include/bits/stl_iterator_base_funcs.h ! d041a2fcff4ab5d385d0c6c1542917bc libstdc++-v3/include/bits/stl_iterator_base_types.h fb63f540eb43cc83f3b74a25a0038a07 libstdc++-v3/include/bits/stl_list.h c4df460e330dbfd383b0f347b37e5c6e libstdc++-v3/include/bits/stl_map.h acfce1940d41d37560494851676d5991 libstdc++-v3/include/bits/stl_multimap.h *************** d12837792d22543fb74e959b8671dc45 libstd *** 113446,113457 **** 3d95e52c0ad2bef5b3530737dc1f1013 libstdc++-v3/include/bits/stl_set.h c3445e498460fdc279feccd5ae8fbb86 libstdc++-v3/include/bits/stl_stack.h f7c3cbbbff1984288eafd88b89681a07 libstdc++-v3/include/bits/stl_tempbuf.h ! db78116edcfb2d22ef58666e019fd12d libstdc++-v3/include/bits/stl_tree.h ! 359d2815fddd01ac7d0996549350b0fa libstdc++-v3/include/bits/stl_uninitialized.h ! 28825b5d932ba14be6043884e1fd9548 libstdc++-v3/include/bits/stl_vector.h 8b9076ee3d87752c4e3d5cdafa8b9461 libstdc++-v3/include/bits/stream_iterator.h 9210c3666e5e698bc555d7335c97696d libstdc++-v3/include/bits/streambuf.tcc ! 0e7cfd352ca580b8a6313d4692b0b0d4 libstdc++-v3/include/bits/streambuf_iterator.h e1891b851f96ef49825e35f413b8f569 libstdc++-v3/include/bits/string_view.tcc 31d218bc11f10975127e1954ba6fb661 libstdc++-v3/include/bits/stringfwd.h ce17f393b63c6930a43f794183c15f0c libstdc++-v3/include/bits/this_thread_sleep.h --- 113974,113985 ---- 3d95e52c0ad2bef5b3530737dc1f1013 libstdc++-v3/include/bits/stl_set.h c3445e498460fdc279feccd5ae8fbb86 libstdc++-v3/include/bits/stl_stack.h f7c3cbbbff1984288eafd88b89681a07 libstdc++-v3/include/bits/stl_tempbuf.h ! 36d6f928cc8e71e112b42db10f544bc1 libstdc++-v3/include/bits/stl_tree.h ! 318d09ba72a8265560864b609bcb530f libstdc++-v3/include/bits/stl_uninitialized.h ! 514164964ac06e2061e9e779d8cf420e libstdc++-v3/include/bits/stl_vector.h 8b9076ee3d87752c4e3d5cdafa8b9461 libstdc++-v3/include/bits/stream_iterator.h 9210c3666e5e698bc555d7335c97696d libstdc++-v3/include/bits/streambuf.tcc ! c41c5f3f46185db536fa877db8f0dd4e libstdc++-v3/include/bits/streambuf_iterator.h e1891b851f96ef49825e35f413b8f569 libstdc++-v3/include/bits/string_view.tcc 31d218bc11f10975127e1954ba6fb661 libstdc++-v3/include/bits/stringfwd.h ce17f393b63c6930a43f794183c15f0c libstdc++-v3/include/bits/this_thread_sleep.h *************** a499929e2198ce71d33d55cec6d47be0 libstd *** 113460,113473 **** b1c5f017599d59426bf764ae91a55ae0 libstdc++-v3/include/bits/unique_ptr.h 3c6f47a2c2d405ab868a3c67fd75f29d libstdc++-v3/include/bits/unordered_map.h 26b4881361616783ac51780c58f2e4bb libstdc++-v3/include/bits/unordered_set.h ! 2e154584f12c218d65e98047872045fc libstdc++-v3/include/bits/uses_allocator.h 746fbc1bd7a1d8d880c8a8ed2ebed9a3 libstdc++-v3/include/bits/uses_allocator_args.h ! 41ba97b1080e538af252feadf8c82f52 libstdc++-v3/include/bits/utility.h a6cc9d4b57dc76ee00dc459b9aa9aa4b libstdc++-v3/include/bits/valarray_after.h 322814b36de24720a8d60f70da5e3f19 libstdc++-v3/include/bits/valarray_array.h d0dc224b4535c28e743c20c95a58c09e libstdc++-v3/include/bits/valarray_array.tcc 497da4999eb1bda92fc3d86d2d395554 libstdc++-v3/include/bits/valarray_before.h ! 7a9b0c21f3a78e011e36d631a0620623 libstdc++-v3/include/bits/vector.tcc 51aca95b9c0bb2ebdb0394442ba41eb5 libstdc++-v3/include/c/cassert a92920f183eb4d2e23e70f36bdd58854 libstdc++-v3/include/c/cctype d81a9516b0313de19e213978a64ec2e6 libstdc++-v3/include/c/cerrno --- 113988,114001 ---- b1c5f017599d59426bf764ae91a55ae0 libstdc++-v3/include/bits/unique_ptr.h 3c6f47a2c2d405ab868a3c67fd75f29d libstdc++-v3/include/bits/unordered_map.h 26b4881361616783ac51780c58f2e4bb libstdc++-v3/include/bits/unordered_set.h ! b01b32a4ec45141c6560fe4cff32653a libstdc++-v3/include/bits/uses_allocator.h 746fbc1bd7a1d8d880c8a8ed2ebed9a3 libstdc++-v3/include/bits/uses_allocator_args.h ! 3e340d11762540183beff6d310be5b34 libstdc++-v3/include/bits/utility.h a6cc9d4b57dc76ee00dc459b9aa9aa4b libstdc++-v3/include/bits/valarray_after.h 322814b36de24720a8d60f70da5e3f19 libstdc++-v3/include/bits/valarray_array.h d0dc224b4535c28e743c20c95a58c09e libstdc++-v3/include/bits/valarray_array.tcc 497da4999eb1bda92fc3d86d2d395554 libstdc++-v3/include/bits/valarray_before.h ! b0d28e6caeb7772f5e6ceabb9e69c4a6 libstdc++-v3/include/bits/vector.tcc 51aca95b9c0bb2ebdb0394442ba41eb5 libstdc++-v3/include/c/cassert a92920f183eb4d2e23e70f36bdd58854 libstdc++-v3/include/c/cctype d81a9516b0313de19e213978a64ec2e6 libstdc++-v3/include/c/cerrno *************** bedeabf12edce197ed12dcd0316fb014 libstd *** 113523,113529 **** e056e894d561a617e8a5fbe43b91fe5c libstdc++-v3/include/c_global/ciso646 6630f0421a36b3f446414bf99ca60dd8 libstdc++-v3/include/c_global/climits e4c7c2d232b07c4cd56e5e8f767283f8 libstdc++-v3/include/c_global/clocale ! 6a5988a86ba9ad5624ab33e09796b750 libstdc++-v3/include/c_global/cmath 999c263b7a2d246d1187abd6a13e8c28 libstdc++-v3/include/c_global/csetjmp 9829a810311d8c8e3e1dd51b6db1980a libstdc++-v3/include/c_global/csignal f4048bb0abba66f92a6c162d91e03840 libstdc++-v3/include/c_global/cstdalign --- 114051,114057 ---- e056e894d561a617e8a5fbe43b91fe5c libstdc++-v3/include/c_global/ciso646 6630f0421a36b3f446414bf99ca60dd8 libstdc++-v3/include/c_global/climits e4c7c2d232b07c4cd56e5e8f767283f8 libstdc++-v3/include/c_global/clocale ! d9b6c14588a399c837455c0bccf98534 libstdc++-v3/include/c_global/cmath 999c263b7a2d246d1187abd6a13e8c28 libstdc++-v3/include/c_global/csetjmp 9829a810311d8c8e3e1dd51b6db1980a libstdc++-v3/include/c_global/csignal f4048bb0abba66f92a6c162d91e03840 libstdc++-v3/include/c_global/cstdalign *************** d443675b9794922fdb6c461970f46f25 libstd *** 113576,113584 **** 575884fb576324c807e0a94cca2eff7c libstdc++-v3/include/debug/safe_base.h 44f2fc7d6d27fe3a96e1738e5c822061 libstdc++-v3/include/debug/safe_container.h 3ad930cc0c68c1430017b76ccd9c0d6b libstdc++-v3/include/debug/safe_iterator.h ! 23da7c7cc3096b71b55fa198d22a92cb libstdc++-v3/include/debug/safe_iterator.tcc baea6cfe653fa2e5b6b58ab54a9f9d4d libstdc++-v3/include/debug/safe_local_iterator.h ! 8e3030a09accb7b306ee8870fad49226 libstdc++-v3/include/debug/safe_local_iterator.tcc 7b12318b15a3faefa838000015443fbc libstdc++-v3/include/debug/safe_sequence.h bbdb8b7e4b650f074b25ff87c1ab088a libstdc++-v3/include/debug/safe_sequence.tcc a177539c40917d45f52176f93a31a886 libstdc++-v3/include/debug/safe_unordered_base.h --- 114104,114112 ---- 575884fb576324c807e0a94cca2eff7c libstdc++-v3/include/debug/safe_base.h 44f2fc7d6d27fe3a96e1738e5c822061 libstdc++-v3/include/debug/safe_container.h 3ad930cc0c68c1430017b76ccd9c0d6b libstdc++-v3/include/debug/safe_iterator.h ! 00ddfda7c8638d6207e74ded47f3e868 libstdc++-v3/include/debug/safe_iterator.tcc baea6cfe653fa2e5b6b58ab54a9f9d4d libstdc++-v3/include/debug/safe_local_iterator.h ! 8973511b1b9ffd52b88eb91b8e7f781e libstdc++-v3/include/debug/safe_local_iterator.tcc 7b12318b15a3faefa838000015443fbc libstdc++-v3/include/debug/safe_sequence.h bbdb8b7e4b650f074b25ff87c1ab088a libstdc++-v3/include/debug/safe_sequence.tcc a177539c40917d45f52176f93a31a886 libstdc++-v3/include/debug/safe_unordered_base.h *************** d52e8b488fcf0c0276e7f0fb61e40321 libstd *** 113599,113611 **** 953040a33a48143bfaa3e393312ef7ad libstdc++-v3/include/experimental/bits/fs_dir.h 5e14cdd2562ac12d385ddcbe169161e9 libstdc++-v3/include/experimental/bits/fs_fwd.h 5e019392507a97e44a2f6e82ad35f6ee libstdc++-v3/include/experimental/bits/fs_ops.h ! 7df14f3066e051b7a8fbb885e52815e7 libstdc++-v3/include/experimental/bits/fs_path.h 924741d86a6ef29d3622e3c6246c94d7 libstdc++-v3/include/experimental/bits/lfts_config.h 7830abbb146efd29a73d7fd1fe3db78b libstdc++-v3/include/experimental/bits/net.h ! cf54bc3b121d24c17f08a57dd0426941 libstdc++-v3/include/experimental/bits/numeric_traits.h 3774e633795d511398c269b801a8a7ea libstdc++-v3/include/experimental/bits/shared_ptr.h ! 4048cdf008621f60be880da7d2280efa libstdc++-v3/include/experimental/bits/simd.h ! ee7651a52dc64461b99c4a8ec1f4237a libstdc++-v3/include/experimental/bits/simd_builtin.h acd3f967f14a179045b2bb2c58c8677f libstdc++-v3/include/experimental/bits/simd_converter.h fd6a017b7e2e7951d6cf7997942705c7 libstdc++-v3/include/experimental/bits/simd_detail.h dd7f12fd188831cca8a0107d318d3276 libstdc++-v3/include/experimental/bits/simd_fixed_size.h --- 114127,114139 ---- 953040a33a48143bfaa3e393312ef7ad libstdc++-v3/include/experimental/bits/fs_dir.h 5e14cdd2562ac12d385ddcbe169161e9 libstdc++-v3/include/experimental/bits/fs_fwd.h 5e019392507a97e44a2f6e82ad35f6ee libstdc++-v3/include/experimental/bits/fs_ops.h ! 97df09990524dc27b004d81f5e739ca9 libstdc++-v3/include/experimental/bits/fs_path.h 924741d86a6ef29d3622e3c6246c94d7 libstdc++-v3/include/experimental/bits/lfts_config.h 7830abbb146efd29a73d7fd1fe3db78b libstdc++-v3/include/experimental/bits/net.h ! e2a104d7a05ff3b698e72c9ab349273c libstdc++-v3/include/experimental/bits/numeric_traits.h 3774e633795d511398c269b801a8a7ea libstdc++-v3/include/experimental/bits/shared_ptr.h ! e1cb3ebcd85ea431f51698031621d6da libstdc++-v3/include/experimental/bits/simd.h ! c53d51467aec3f34e07d9c8ee00d9a2d libstdc++-v3/include/experimental/bits/simd_builtin.h acd3f967f14a179045b2bb2c58c8677f libstdc++-v3/include/experimental/bits/simd_converter.h fd6a017b7e2e7951d6cf7997942705c7 libstdc++-v3/include/experimental/bits/simd_detail.h dd7f12fd188831cca8a0107d318d3276 libstdc++-v3/include/experimental/bits/simd_fixed_size.h *************** dd7f12fd188831cca8a0107d318d3276 libstd *** 113613,113619 **** fdd19fd11643f8229f9801a6cbf18142 libstdc++-v3/include/experimental/bits/simd_neon.h 170863eb71a1b1f81aaa53b33a10d2d9 libstdc++-v3/include/experimental/bits/simd_ppc.h 18f90ab4b4448d48b775a15641bb01c5 libstdc++-v3/include/experimental/bits/simd_scalar.h ! 93b0951d218279cd31a7bf46dc9740b1 libstdc++-v3/include/experimental/bits/simd_x86.h 286fb694a932e5841d01656193387a08 libstdc++-v3/include/experimental/bits/simd_x86_conversions.h fa90a6b6457c0d6ae32b629f779d25ac libstdc++-v3/include/experimental/bits/string_view.tcc 8c4c2beba9f9b4c59585fc0068db4869 libstdc++-v3/include/experimental/buffer --- 114141,114147 ---- fdd19fd11643f8229f9801a6cbf18142 libstdc++-v3/include/experimental/bits/simd_neon.h 170863eb71a1b1f81aaa53b33a10d2d9 libstdc++-v3/include/experimental/bits/simd_ppc.h 18f90ab4b4448d48b775a15641bb01c5 libstdc++-v3/include/experimental/bits/simd_scalar.h ! 28d0a3eb51613550a940270b49597804 libstdc++-v3/include/experimental/bits/simd_x86.h 286fb694a932e5841d01656193387a08 libstdc++-v3/include/experimental/bits/simd_x86_conversions.h fa90a6b6457c0d6ae32b629f779d25ac libstdc++-v3/include/experimental/bits/string_view.tcc 8c4c2beba9f9b4c59585fc0068db4869 libstdc++-v3/include/experimental/buffer *************** fa90a6b6457c0d6ae32b629f779d25ac libstd *** 113624,113630 **** 3b102c247e2f79d0221c4b6d3f8eeb18 libstdc++-v3/include/experimental/filesystem cee443670c8a3d3a61b8f8eb94206b3e libstdc++-v3/include/experimental/forward_list 5fba410dd029b9608992b29997cc604a libstdc++-v3/include/experimental/functional ! 3c6f3761bffd15719978c73232c33a00 libstdc++-v3/include/experimental/internet 676246f5e54771f00f130181183ab2fc libstdc++-v3/include/experimental/io_context 377c8c18245a9d3f0fd4ebd9cb7c3be4 libstdc++-v3/include/experimental/iterator 1c0fe82065eec955754830e71c18efc4 libstdc++-v3/include/experimental/list --- 114152,114158 ---- 3b102c247e2f79d0221c4b6d3f8eeb18 libstdc++-v3/include/experimental/filesystem cee443670c8a3d3a61b8f8eb94206b3e libstdc++-v3/include/experimental/forward_list 5fba410dd029b9608992b29997cc604a libstdc++-v3/include/experimental/functional ! 49f6ac541fa4f75f9340b1b2ee69b71a libstdc++-v3/include/experimental/internet 676246f5e54771f00f130181183ab2fc libstdc++-v3/include/experimental/io_context 377c8c18245a9d3f0fd4ebd9cb7c3be4 libstdc++-v3/include/experimental/iterator 1c0fe82065eec955754830e71c18efc4 libstdc++-v3/include/experimental/list *************** bb8e96f2e46f26393d50c8703d3b56d5 libstd *** 113639,113645 **** 9caddd3848a2aa676f8bed27b8d19b3a libstdc++-v3/include/experimental/random 9a3312e053b9638ac4324e316cc0a5c4 libstdc++-v3/include/experimental/ratio 2710a18cf625c9dc1f0f7f108221f4a1 libstdc++-v3/include/experimental/regex ! 88d5a7beab379c75a49e0d43c023869d libstdc++-v3/include/experimental/scope 6927f4a7e1b9fe45449f018cf3fd4891 libstdc++-v3/include/experimental/set c3334b635e593c9c923efa5e5d85314e libstdc++-v3/include/experimental/simd 9cd3e4e283f4b907d4283df25c534cf3 libstdc++-v3/include/experimental/socket --- 114167,114173 ---- 9caddd3848a2aa676f8bed27b8d19b3a libstdc++-v3/include/experimental/random 9a3312e053b9638ac4324e316cc0a5c4 libstdc++-v3/include/experimental/ratio 2710a18cf625c9dc1f0f7f108221f4a1 libstdc++-v3/include/experimental/regex ! 9ef336527518f525a32383cb01802744 libstdc++-v3/include/experimental/scope 6927f4a7e1b9fe45449f018cf3fd4891 libstdc++-v3/include/experimental/set c3334b635e593c9c923efa5e5d85314e libstdc++-v3/include/experimental/simd 9cd3e4e283f4b907d4283df25c534cf3 libstdc++-v3/include/experimental/socket *************** c236e001d2914387b789ce13408d7224 libstd *** 114010,114042 **** 16ecbf48b313f47955487be8fe668037 libstdc++-v3/include/pstl/utils.h 685f5bca7582106082732b3aa4facb12 libstdc++-v3/include/std/algorithm fc9b21dd5374fb6eb8ae18d329975612 libstdc++-v3/include/std/any ! 3a2a2806d2c2b96b18547a3147c7ce6e libstdc++-v3/include/std/array 0919c06365948d659b248b825a7d0146 libstdc++-v3/include/std/atomic 9f99ade7dd4b9b396effd0996ee55664 libstdc++-v3/include/std/barrier 66e855a0f296b637102284d4a6d3323c libstdc++-v3/include/std/bit 06852873ecbf5b23ff53ea0b1952d3d8 libstdc++-v3/include/std/bitset ! 9a14b4a100a53947a8d1eff0048f6708 libstdc++-v3/include/std/charconv ! bbb9e8f110041e7b63f61076405a9f3d libstdc++-v3/include/std/chrono bbf20db5408848d929deed7c0ba28df3 libstdc++-v3/include/std/codecvt ! 78b49533730f7911eed523a771160738 libstdc++-v3/include/std/complex 933005cab15e64abf8af0d4e0972908f libstdc++-v3/include/std/concepts 845dbf5fd0370e00a14b67a3ac8e13d8 libstdc++-v3/include/std/condition_variable 947c6ec5853e7cb5329670b65d3e407a libstdc++-v3/include/std/coroutine d4f9ad7eed03fb685a74447a8cd6ef66 libstdc++-v3/include/std/deque eea32f3270e190607c59e827a3854ace libstdc++-v3/include/std/execution ! 67f0af364d801436dc433f5e57ca22a3 libstdc++-v3/include/std/expected 0e0edf5c0fdce36e4277045c50bf6e82 libstdc++-v3/include/std/filesystem ! 3c94eb387d453b8dc479d7b6d0bf5f6a libstdc++-v3/include/std/format f613bffa0644f4de7e6e3bafb4867437 libstdc++-v3/include/std/forward_list 7aba15a067efc51b46fe83c639a9b4d4 libstdc++-v3/include/std/fstream 3cd9b1e9b37be162511c33419612df91 libstdc++-v3/include/std/functional ! 04293427f46f07515bd70dd7ba2af325 libstdc++-v3/include/std/future fe1fb31246025d68ee9697d7214dd7f5 libstdc++-v3/include/std/iomanip ef4ef6905a058db64662fe609f829159 libstdc++-v3/include/std/ios 88e07accc8448f64667acd6ae768c4ab libstdc++-v3/include/std/iosfwd 8d51828514ed7d23f72e46d539eaff9d libstdc++-v3/include/std/iostream ea6795f6774a79557597d2fd2d000712 libstdc++-v3/include/std/istream ! 9fc5c0460bfa5d3c29872b66f4f34048 libstdc++-v3/include/std/iterator 0e5d279cbe89540e3f36a092a3beb896 libstdc++-v3/include/std/latch ae3312c33853f8a52ee7443cbe05a3f5 libstdc++-v3/include/std/limits f045775244230f66d1844314954ac80d libstdc++-v3/include/std/list --- 114538,114570 ---- 16ecbf48b313f47955487be8fe668037 libstdc++-v3/include/pstl/utils.h 685f5bca7582106082732b3aa4facb12 libstdc++-v3/include/std/algorithm fc9b21dd5374fb6eb8ae18d329975612 libstdc++-v3/include/std/any ! 346953c0cf183d86db8f48ff6d545b53 libstdc++-v3/include/std/array 0919c06365948d659b248b825a7d0146 libstdc++-v3/include/std/atomic 9f99ade7dd4b9b396effd0996ee55664 libstdc++-v3/include/std/barrier 66e855a0f296b637102284d4a6d3323c libstdc++-v3/include/std/bit 06852873ecbf5b23ff53ea0b1952d3d8 libstdc++-v3/include/std/bitset ! 3ee0e8090ee1f0e442c4bf1bc44a96f4 libstdc++-v3/include/std/charconv ! e9f472b97e9f586d385ce06ed2d72fc3 libstdc++-v3/include/std/chrono bbf20db5408848d929deed7c0ba28df3 libstdc++-v3/include/std/codecvt ! d3e91ccfa90352c8af77f3f7e0303ac8 libstdc++-v3/include/std/complex 933005cab15e64abf8af0d4e0972908f libstdc++-v3/include/std/concepts 845dbf5fd0370e00a14b67a3ac8e13d8 libstdc++-v3/include/std/condition_variable 947c6ec5853e7cb5329670b65d3e407a libstdc++-v3/include/std/coroutine d4f9ad7eed03fb685a74447a8cd6ef66 libstdc++-v3/include/std/deque eea32f3270e190607c59e827a3854ace libstdc++-v3/include/std/execution ! fee506a1489dec7f7e00673a321a5570 libstdc++-v3/include/std/expected 0e0edf5c0fdce36e4277045c50bf6e82 libstdc++-v3/include/std/filesystem ! 9dfa7027ca214cbd41ff9bee60881be5 libstdc++-v3/include/std/format f613bffa0644f4de7e6e3bafb4867437 libstdc++-v3/include/std/forward_list 7aba15a067efc51b46fe83c639a9b4d4 libstdc++-v3/include/std/fstream 3cd9b1e9b37be162511c33419612df91 libstdc++-v3/include/std/functional ! 6d8fbfd3a7a0317ed98876afb42ce0c2 libstdc++-v3/include/std/future fe1fb31246025d68ee9697d7214dd7f5 libstdc++-v3/include/std/iomanip ef4ef6905a058db64662fe609f829159 libstdc++-v3/include/std/ios 88e07accc8448f64667acd6ae768c4ab libstdc++-v3/include/std/iosfwd 8d51828514ed7d23f72e46d539eaff9d libstdc++-v3/include/std/iostream ea6795f6774a79557597d2fd2d000712 libstdc++-v3/include/std/istream ! 656e493c4e4aa66815f357c21bad1d57 libstdc++-v3/include/std/iterator 0e5d279cbe89540e3f36a092a3beb896 libstdc++-v3/include/std/latch ae3312c33853f8a52ee7443cbe05a3f5 libstdc++-v3/include/std/limits f045775244230f66d1844314954ac80d libstdc++-v3/include/std/list *************** f78d1595423575bfc922448e67e52239 libstd *** 114047,114088 **** 6294ee905a70436875640f1d15627c30 libstdc++-v3/include/std/mutex ce04f4fc0fa3c3aa259cf4b87813d4a7 libstdc++-v3/include/std/numbers 3e6c45e4ef81035a43294dda759c6a00 libstdc++-v3/include/std/numeric ! 9a1e2dba1b06ee6cf101010c8182b7aa libstdc++-v3/include/std/optional d80e37105837d110af793b72a4094525 libstdc++-v3/include/std/ostream 243b863f64a8568d74b7e83bfa7fe62d libstdc++-v3/include/std/queue 5f64c48b6b92533c0dfdcd5b2f349ba0 libstdc++-v3/include/std/random ! 79e2e6c7860a8f4f6064d5f3626d55a9 libstdc++-v3/include/std/ranges ! da7a31f14e6e88cc992906c846b64721 libstdc++-v3/include/std/ratio dbf94a876bc82510f36ab506bfc09d2a libstdc++-v3/include/std/regex ! e622f7f6fc27cb0cc376143d8e8eb97f libstdc++-v3/include/std/scoped_allocator 0b4f77ab06fb190976feaa892d6bbc75 libstdc++-v3/include/std/semaphore d03063a4bedb845e2ff7fba28b7ecb1d libstdc++-v3/include/std/set ! f3ac8bd95a6c2eb2e7d83679006be2c5 libstdc++-v3/include/std/shared_mutex d379c79a4b4ed0a78190d8f4a9da9aa2 libstdc++-v3/include/std/source_location ! 27031b3568f421d16ba2bf656a17e774 libstdc++-v3/include/std/span d85e5f395906ee64d169f731e153854e libstdc++-v3/include/std/spanstream a75470ffd4afdfac6eca39a7b36542d2 libstdc++-v3/include/std/sstream 91e5fdbed2e8180adc1417ecfceba477 libstdc++-v3/include/std/stack ! 826f3f88540bec7bf44fb9407783bf98 libstdc++-v3/include/std/stacktrace 91c2dec920e37dc2bdfcd57f2ee1917c libstdc++-v3/include/std/stdexcept 59e3dae4ebf67b9eb46705e56e8541af libstdc++-v3/include/std/stdfloat 7fd4f7aceafc9e47af067236ba39094f libstdc++-v3/include/std/stop_token 2b9390e43d36e97d4ea240c08afeeba5 libstdc++-v3/include/std/streambuf d4462abdac571d8d61a236930c8cfc4b libstdc++-v3/include/std/string ! f576ee0f6523233bb3c5959e6593ddcb libstdc++-v3/include/std/string_view ! c895ee7fd9901dd0db4d02868db684ed libstdc++-v3/include/std/syncstream ! 3024f97bb54f08e9e739c9dbf71cfa07 libstdc++-v3/include/std/system_error f247d2ab92c9235549e795b99206b5e7 libstdc++-v3/include/std/thread ! 952b0c86a58de25b4b6f419af4a7e15c libstdc++-v3/include/std/tuple ! 6042db6032893b4410b45b072da2a870 libstdc++-v3/include/std/type_traits 5a950e25b3e5d469314bc0a340057eaa libstdc++-v3/include/std/typeindex b3721b1a59dccec76d19cdcd7d20c684 libstdc++-v3/include/std/unordered_map 2af236cf7fc416569643f603c509e022 libstdc++-v3/include/std/unordered_set ! 04c0b9a01a6866ec69b756ee26367232 libstdc++-v3/include/std/utility ! e07584015086519afc1098613146c704 libstdc++-v3/include/std/valarray ! 90cbfb43f78efabb2c885711a449f3f8 libstdc++-v3/include/std/variant 347610187149e687c9f04f346f8398b6 libstdc++-v3/include/std/vector ! 0b62628823a59717fe8f0e4aa4731bce libstdc++-v3/include/std/version 3aa50c1dd58b008e63662874a93f6614 libstdc++-v3/include/tr1/array 98b97b662591af51ce88a917962a9c2e libstdc++-v3/include/tr1/bessel_function.tcc feca7de6d090c997fdee966b7ad6b001 libstdc++-v3/include/tr1/beta_function.tcc --- 114575,114616 ---- 6294ee905a70436875640f1d15627c30 libstdc++-v3/include/std/mutex ce04f4fc0fa3c3aa259cf4b87813d4a7 libstdc++-v3/include/std/numbers 3e6c45e4ef81035a43294dda759c6a00 libstdc++-v3/include/std/numeric ! f983d195aabe6ddf5bdb53a8b9960b70 libstdc++-v3/include/std/optional d80e37105837d110af793b72a4094525 libstdc++-v3/include/std/ostream 243b863f64a8568d74b7e83bfa7fe62d libstdc++-v3/include/std/queue 5f64c48b6b92533c0dfdcd5b2f349ba0 libstdc++-v3/include/std/random ! 5ce845c53d08dd6ac09610b95bb20a18 libstdc++-v3/include/std/ranges ! ea42966b5a22878e369a7160ef8ad6c7 libstdc++-v3/include/std/ratio dbf94a876bc82510f36ab506bfc09d2a libstdc++-v3/include/std/regex ! f38325f4d3fcf20cc0b517fcd149a1ec libstdc++-v3/include/std/scoped_allocator 0b4f77ab06fb190976feaa892d6bbc75 libstdc++-v3/include/std/semaphore d03063a4bedb845e2ff7fba28b7ecb1d libstdc++-v3/include/std/set ! 91349ac9a04bb9ff2dc33d743bcf6601 libstdc++-v3/include/std/shared_mutex d379c79a4b4ed0a78190d8f4a9da9aa2 libstdc++-v3/include/std/source_location ! 3df9d92055e757482663896ead5a8d25 libstdc++-v3/include/std/span d85e5f395906ee64d169f731e153854e libstdc++-v3/include/std/spanstream a75470ffd4afdfac6eca39a7b36542d2 libstdc++-v3/include/std/sstream 91e5fdbed2e8180adc1417ecfceba477 libstdc++-v3/include/std/stack ! 87229a12a31c154c90a496fe9432fb25 libstdc++-v3/include/std/stacktrace 91c2dec920e37dc2bdfcd57f2ee1917c libstdc++-v3/include/std/stdexcept 59e3dae4ebf67b9eb46705e56e8541af libstdc++-v3/include/std/stdfloat 7fd4f7aceafc9e47af067236ba39094f libstdc++-v3/include/std/stop_token 2b9390e43d36e97d4ea240c08afeeba5 libstdc++-v3/include/std/streambuf d4462abdac571d8d61a236930c8cfc4b libstdc++-v3/include/std/string ! 0fecd4da9af242a5c73494454baddd26 libstdc++-v3/include/std/string_view ! 389b652a4f0c6e87818f8b1ab805ec13 libstdc++-v3/include/std/syncstream ! 0ef04d7cdcad35a449aec6319852270f libstdc++-v3/include/std/system_error f247d2ab92c9235549e795b99206b5e7 libstdc++-v3/include/std/thread ! f16a4d988e4018aed43e10d719ed07a4 libstdc++-v3/include/std/tuple ! 49095ed70189a951979ca9e359bde8c9 libstdc++-v3/include/std/type_traits 5a950e25b3e5d469314bc0a340057eaa libstdc++-v3/include/std/typeindex b3721b1a59dccec76d19cdcd7d20c684 libstdc++-v3/include/std/unordered_map 2af236cf7fc416569643f603c509e022 libstdc++-v3/include/std/unordered_set ! a14d821c738b7d692853bd5ac9aca208 libstdc++-v3/include/std/utility ! 3b6db236d79c47508252ed42b9305f08 libstdc++-v3/include/std/valarray ! 22fc5a7cce5f720c8aa059a5b35be999 libstdc++-v3/include/std/variant 347610187149e687c9f04f346f8398b6 libstdc++-v3/include/std/vector ! de58479c9fae8e6fb4a9a8bd5ced2efc libstdc++-v3/include/std/version 3aa50c1dd58b008e63662874a93f6614 libstdc++-v3/include/tr1/array 98b97b662591af51ce88a917962a9c2e libstdc++-v3/include/tr1/bessel_function.tcc feca7de6d090c997fdee966b7ad6b001 libstdc++-v3/include/tr1/beta_function.tcc *************** e3f34f2c8325e33d3fa3c1052982d594 libstd *** 114147,114158 **** e978819ab1cdd7dd69926a891b85b537 libstdc++-v3/include/tr1/wctype.h 7a2f4509b3ff8ea1e8fc5f10ba537bf8 libstdc++-v3/include/tr2/bool_set 491a252c5a2320cd573a7031abfb77e4 libstdc++-v3/include/tr2/bool_set.tcc ! c2b966d3dd9753e5f80880930b6b4160 libstdc++-v3/include/tr2/dynamic_bitset 3801b9b5eda8d271c741ba96d0082827 libstdc++-v3/include/tr2/dynamic_bitset.tcc 69455a5f73dd1eea720b68b11f2cee1e libstdc++-v3/include/tr2/ratio ! 74a0067a1e4aeae044a369a2156dc2fe libstdc++-v3/include/tr2/type_traits ! 5e8aa672a36039b5f77f12901aebb846 libstdc++-v3/libsupc++/Makefile.am ! 339c67d7031fc43d7b74fdcf288be3be libstdc++-v3/libsupc++/Makefile.in 068cac167ea3df37fc0e54fc152281e3 libstdc++-v3/libsupc++/array_type_info.cc f90b514962a10a93907b8a6d89370763 libstdc++-v3/libsupc++/atexit_arm.cc ff404b9f6127c4b34ef7883e3d7476c3 libstdc++-v3/libsupc++/atexit_thread.cc --- 114675,114686 ---- e978819ab1cdd7dd69926a891b85b537 libstdc++-v3/include/tr1/wctype.h 7a2f4509b3ff8ea1e8fc5f10ba537bf8 libstdc++-v3/include/tr2/bool_set 491a252c5a2320cd573a7031abfb77e4 libstdc++-v3/include/tr2/bool_set.tcc ! d30f7a7f5bd45e1663f5b30814d25153 libstdc++-v3/include/tr2/dynamic_bitset 3801b9b5eda8d271c741ba96d0082827 libstdc++-v3/include/tr2/dynamic_bitset.tcc 69455a5f73dd1eea720b68b11f2cee1e libstdc++-v3/include/tr2/ratio ! 23ab9ed7b3cf5140e855a5cab8a827ad libstdc++-v3/include/tr2/type_traits ! 2c6b97e1a1e45288a285a2a617d3cd01 libstdc++-v3/libsupc++/Makefile.am ! 89680042878a16ef20deacf944e7c75c libstdc++-v3/libsupc++/Makefile.in 068cac167ea3df37fc0e54fc152281e3 libstdc++-v3/libsupc++/array_type_info.cc f90b514962a10a93907b8a6d89370763 libstdc++-v3/libsupc++/atexit_arm.cc ff404b9f6127c4b34ef7883e3d7476c3 libstdc++-v3/libsupc++/atexit_thread.cc *************** c24da65e09203cc24f9ec26428c15db4 libstd *** 114163,114169 **** 3a83bf7b1cf425f41578b50a77bbc80f libstdc++-v3/libsupc++/bad_cast.cc cc9c389b9c88d2a0d4f2350c9f1fd217 libstdc++-v3/libsupc++/bad_typeid.cc 32fd972c978959d92cecec3359a30280 libstdc++-v3/libsupc++/class_type_info.cc ! a40eb114be75c2e15f9b94456ec58a35 libstdc++-v3/libsupc++/compare 21a33dcaa8bb79f7e7c58b3623d2ee69 libstdc++-v3/libsupc++/cxxabi.h 088f76c359b59a48b5827182539f1899 libstdc++-v3/libsupc++/cxxabi_forced.h 751e06e6ce352b307233fa98ad163148 libstdc++-v3/libsupc++/cxxabi_init_exception.h --- 114691,114697 ---- 3a83bf7b1cf425f41578b50a77bbc80f libstdc++-v3/libsupc++/bad_cast.cc cc9c389b9c88d2a0d4f2350c9f1fd217 libstdc++-v3/libsupc++/bad_typeid.cc 32fd972c978959d92cecec3359a30280 libstdc++-v3/libsupc++/class_type_info.cc ! 55b27f58be39085889c468f975fa623f libstdc++-v3/libsupc++/compare 21a33dcaa8bb79f7e7c58b3623d2ee69 libstdc++-v3/libsupc++/cxxabi.h 088f76c359b59a48b5827182539f1899 libstdc++-v3/libsupc++/cxxabi_forced.h 751e06e6ce352b307233fa98ad163148 libstdc++-v3/libsupc++/cxxabi_init_exception.h *************** a1cffdff3f1336cd9faeea4f99884f6d libstd *** 114214,114220 **** d9c6a94d55db87a407605e7b41ee9900 libstdc++-v3/libsupc++/new 67067ac20b20cdf4d4d92587b6aeb70d libstdc++-v3/libsupc++/new_handler.cc 308d128661043bfc1b2b821fbb4567a4 libstdc++-v3/libsupc++/new_op.cc ! 80efbd25c8f484d3b58235b1edf1e389 libstdc++-v3/libsupc++/new_opa.cc 482fdfa9782c2c1f28f418b0ceceb209 libstdc++-v3/libsupc++/new_opant.cc 87353ff702d0a5b439354d92519d806f libstdc++-v3/libsupc++/new_opnt.cc 0502b836a4f288f4da6e73a11e624501 libstdc++-v3/libsupc++/new_opv.cc --- 114742,114748 ---- d9c6a94d55db87a407605e7b41ee9900 libstdc++-v3/libsupc++/new 67067ac20b20cdf4d4d92587b6aeb70d libstdc++-v3/libsupc++/new_handler.cc 308d128661043bfc1b2b821fbb4567a4 libstdc++-v3/libsupc++/new_op.cc ! 23aef8c8b2cc2819d506d3390c584eab libstdc++-v3/libsupc++/new_opa.cc 482fdfa9782c2c1f28f418b0ceceb209 libstdc++-v3/libsupc++/new_opant.cc 87353ff702d0a5b439354d92519d806f libstdc++-v3/libsupc++/new_opnt.cc 0502b836a4f288f4da6e73a11e624501 libstdc++-v3/libsupc++/new_opv.cc *************** a9b07084694678e7af4132fbd34e81c9 libstd *** 114247,114255 **** c94ad903b4e7baf364cdc3ef5e9f58a8 libstdc++-v3/python/Makefile.in e4724aea7b38f8f2110f154ac4a2df43 libstdc++-v3/python/hook.in 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py ! 44ec7158da785f9f917e8209b8e2c880 libstdc++-v3/python/libstdcxx/v6/__init__.py ! b6fc033de42c1c8a21cb79b18a26603a libstdc++-v3/python/libstdcxx/v6/printers.py ! 99694b2a9e2f8490f68e0fdc6d8de82e libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile a4c1d51bba293cee2307fc7f9dd090f7 libstdc++-v3/scripts/check_performance 128d0fbc24e1d43d9ff93d14bd521aa6 libstdc++-v3/scripts/check_simd --- 114775,114783 ---- c94ad903b4e7baf364cdc3ef5e9f58a8 libstdc++-v3/python/Makefile.in e4724aea7b38f8f2110f154ac4a2df43 libstdc++-v3/python/hook.in 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py ! 74cf87654ab91027b27296333b040171 libstdc++-v3/python/libstdcxx/v6/__init__.py ! 91648d2c5bc6db491fa408226d3687d4 libstdc++-v3/python/libstdcxx/v6/printers.py ! 358ce01ad28bc23f412d6cca22c00026 libstdc++-v3/python/libstdcxx/v6/xmethods.py cdac7363b91e7d57b85f7b560f62f033 libstdc++-v3/scripts/check_compile a4c1d51bba293cee2307fc7f9dd090f7 libstdc++-v3/scripts/check_performance 128d0fbc24e1d43d9ff93d14bd521aa6 libstdc++-v3/scripts/check_simd *************** bc9baab1a0376f2e247cd31815cbeab1 libstd *** 114261,114272 **** f1a84a17158780aaa37927191db4463a libstdc++-v3/scripts/gen_includers2.pl c3455b8d87dcefd65c7fdcd24e4ce3a4 libstdc++-v3/scripts/make_exports.pl 80b6ff44b325c6b6d113435d8eea4b76 libstdc++-v3/scripts/make_graph.py ! 2e523f6d6b0f8851adcef285faf8a454 libstdc++-v3/scripts/run_doxygen ! b5c90557075248abb064905101257dda libstdc++-v3/scripts/testsuite_flags.in 24b1804d44132e8a1c9e33072badcb16 libstdc++-v3/src/Makefile.am d183489efa48c4d78ff3dbd68b24a207 libstdc++-v3/src/Makefile.in ! cc6940bf3798f08ccb14969552851c93 libstdc++-v3/src/c++11/Makefile.am ! 3eb5c5c986c09fc4579723757119adde libstdc++-v3/src/c++11/Makefile.in 85081a7300398dcaa490d1027f2165b6 libstdc++-v3/src/c++11/chrono.cc b9d9e87481311acb2931f3cec60f25fa libstdc++-v3/src/c++11/codecvt.cc d1f2d13073a3e57e01ede9898b5eed46 libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc --- 114789,114801 ---- f1a84a17158780aaa37927191db4463a libstdc++-v3/scripts/gen_includers2.pl c3455b8d87dcefd65c7fdcd24e4ce3a4 libstdc++-v3/scripts/make_exports.pl 80b6ff44b325c6b6d113435d8eea4b76 libstdc++-v3/scripts/make_graph.py ! 6796b6690a1142fba1b89310c8242854 libstdc++-v3/scripts/run_doxygen ! 8237637ba2756b818d215e38c3e69e19 libstdc++-v3/scripts/testsuite_flags.in 24b1804d44132e8a1c9e33072badcb16 libstdc++-v3/src/Makefile.am d183489efa48c4d78ff3dbd68b24a207 libstdc++-v3/src/Makefile.in ! 61c530a39ead22fbaa26b6bcf0b07b08 libstdc++-v3/src/c++11/Makefile.am ! a69dee2219d44a5de8d6d6238d30bff3 libstdc++-v3/src/c++11/Makefile.in ! 4afad50e36b2bfef56fb3189f112ee46 libstdc++-v3/src/c++11/assert_fail.cc 85081a7300398dcaa490d1027f2165b6 libstdc++-v3/src/c++11/chrono.cc b9d9e87481311acb2931f3cec60f25fa libstdc++-v3/src/c++11/codecvt.cc d1f2d13073a3e57e01ede9898b5eed46 libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc *************** f5f6465203bb0ca03df7e8ab4cb0f637 libstd *** 114279,114285 **** 3569deff0e356b5ada1fc3647d5c4cc4 libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc a310efe14c9061c5d3258bc7d723ab19 libstdc++-v3/src/c++11/condition_variable.cc 70f3fa690f7b88e0d0c8588da1f9adab libstdc++-v3/src/c++11/cow-fstream-inst.cc ! e080252c8275368f6ec96d830c01c45a libstdc++-v3/src/c++11/cow-locale_init.cc 3582aafde2133939aac1ffce408c50ce libstdc++-v3/src/c++11/cow-shim_facets.cc 9ec68c1dbbdde07d1aea8d15feb47298 libstdc++-v3/src/c++11/cow-sstream-inst.cc b83245172fc53af1877e70b90739a838 libstdc++-v3/src/c++11/cow-stdexcept.cc --- 114808,114814 ---- 3569deff0e356b5ada1fc3647d5c4cc4 libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc a310efe14c9061c5d3258bc7d723ab19 libstdc++-v3/src/c++11/condition_variable.cc 70f3fa690f7b88e0d0c8588da1f9adab libstdc++-v3/src/c++11/cow-fstream-inst.cc ! 1b6b07538b63c1cb8d8a97ab64a3f69f libstdc++-v3/src/c++11/cow-locale_init.cc 3582aafde2133939aac1ffce408c50ce libstdc++-v3/src/c++11/cow-shim_facets.cc 9ec68c1dbbdde07d1aea8d15feb47298 libstdc++-v3/src/c++11/cow-sstream-inst.cc b83245172fc53af1877e70b90739a838 libstdc++-v3/src/c++11/cow-stdexcept.cc *************** b6dd10b941b009bea22b75d0d398cc33 libstd *** 114294,114300 **** 92cdc1755e8b65ffafeed34de091ab9d libstdc++-v3/src/c++11/cxx11-shim_facets.cc 997160475d88dc29b61b269efff8032f libstdc++-v3/src/c++11/cxx11-stdexcept.cc 3796bac05ff7df965a9757f18127f645 libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc ! edf762f44252010c99eac2e0a4ac4fc2 libstdc++-v3/src/c++11/debug.cc a4a908cdeeaa8c6ce003faea76195bfb libstdc++-v3/src/c++11/ext11-inst.cc ba1e398802c7793fc33131cddac099d5 libstdc++-v3/src/c++11/facet_inst_macros.h 9289636c5342b21635582d8c595b61df libstdc++-v3/src/c++11/fstream-inst.cc --- 114823,114829 ---- 92cdc1755e8b65ffafeed34de091ab9d libstdc++-v3/src/c++11/cxx11-shim_facets.cc 997160475d88dc29b61b269efff8032f libstdc++-v3/src/c++11/cxx11-stdexcept.cc 3796bac05ff7df965a9757f18127f645 libstdc++-v3/src/c++11/cxx11-wlocale-inst.cc ! 3f98ca0ae144962035b6a3d7910317ce libstdc++-v3/src/c++11/debug.cc a4a908cdeeaa8c6ce003faea76195bfb libstdc++-v3/src/c++11/ext11-inst.cc ba1e398802c7793fc33131cddac099d5 libstdc++-v3/src/c++11/facet_inst_macros.h 9289636c5342b21635582d8c595b61df libstdc++-v3/src/c++11/fstream-inst.cc *************** f9c59223d5e7c96f5b9bec20e2ec7d79 libstd *** 114326,114332 **** dd8dcbfe0acfc3cc011c29d1ed45acd0 libstdc++-v3/src/c++11/streambuf-inst.cc ef67bdbe0c2027c6445346ab2acb76c6 libstdc++-v3/src/c++11/string-inst.cc 530f1c52bdd3db41f33320d6c5112f39 libstdc++-v3/src/c++11/string-io-inst.cc ! f9cb5a25b74bdeb0bd4361500ff27c6e libstdc++-v3/src/c++11/system_error.cc 124e658a39d24501e83862a90bf15e54 libstdc++-v3/src/c++11/thread.cc ef9e5ee5d5bd1f5195945fc14fc07e56 libstdc++-v3/src/c++11/wlocale-inst.cc 289d934e470a7004214834d14cdbbd4a libstdc++-v3/src/c++11/wstring-inst.cc --- 114855,114861 ---- dd8dcbfe0acfc3cc011c29d1ed45acd0 libstdc++-v3/src/c++11/streambuf-inst.cc ef67bdbe0c2027c6445346ab2acb76c6 libstdc++-v3/src/c++11/string-inst.cc 530f1c52bdd3db41f33320d6c5112f39 libstdc++-v3/src/c++11/string-io-inst.cc ! e30d03b96ff6330ca569b1bd8f6bf61c libstdc++-v3/src/c++11/system_error.cc 124e658a39d24501e83862a90bf15e54 libstdc++-v3/src/c++11/thread.cc ef9e5ee5d5bd1f5195945fc14fc07e56 libstdc++-v3/src/c++11/wlocale-inst.cc 289d934e470a7004214834d14cdbbd4a libstdc++-v3/src/c++11/wstring-inst.cc *************** cdf9c54ab7ea85aa42bbf32b2e749913 libstd *** 114345,114352 **** 00d3e56ee130af41108d7a0f493703f6 libstdc++-v3/src/c++17/floating_from_chars.cc 3b38edf9d188d303f6aa2c63b7032e89 libstdc++-v3/src/c++17/floating_to_chars.cc 56791bd9a91b72bbb0632e8468cf9459 libstdc++-v3/src/c++17/fs_dir.cc ! 542d3411aa720b9b4ab921f85ba47b71 libstdc++-v3/src/c++17/fs_ops.cc ! b4f7efe606a4becbbce5f5bf4e68501d libstdc++-v3/src/c++17/fs_path.cc 115b4116584b81ff091cc1c8a434be2b libstdc++-v3/src/c++17/memory_resource.cc 2e23492a9bdff13463ee6d01c4b7cc20 libstdc++-v3/src/c++17/ostream-inst.cc f7696e2f5518e5e873ced4beacb8d107 libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES --- 114874,114881 ---- 00d3e56ee130af41108d7a0f493703f6 libstdc++-v3/src/c++17/floating_from_chars.cc 3b38edf9d188d303f6aa2c63b7032e89 libstdc++-v3/src/c++17/floating_to_chars.cc 56791bd9a91b72bbb0632e8468cf9459 libstdc++-v3/src/c++17/fs_dir.cc ! 9e347d1ef535da7cc88a9c5f335b1e0f libstdc++-v3/src/c++17/fs_ops.cc ! 17fedf8750118959c518303ad2958de2 libstdc++-v3/src/c++17/fs_path.cc 115b4116584b81ff091cc1c8a434be2b libstdc++-v3/src/c++17/memory_resource.cc 2e23492a9bdff13463ee6d01c4b7cc20 libstdc++-v3/src/c++17/ostream-inst.cc f7696e2f5518e5e873ced4beacb8d107 libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES *************** fbb127f006c65ae37d591c627cc6235c libstd *** 114365,114375 **** 85b9d2e407dc7113a97234b2c23e96dc libstdc++-v3/src/c++17/ryu/ryu_generic_128.h 293ec552c19b22f2144faa322d6e68ce libstdc++-v3/src/c++17/string-inst.cc 832a87ed88a18d4d453433ac0eb31fa5 libstdc++-v3/src/c++17/uint128_t.h ! 3406c687b407e21fe6138fafb471f3ea libstdc++-v3/src/c++20/Makefile.am ! e1839283173315435666ef3eda4d7c03 libstdc++-v3/src/c++20/Makefile.in b914ff6670ac6160405a2435443a4a06 libstdc++-v3/src/c++20/sstream-inst.cc ! ed987f656282557754b33737218a1539 libstdc++-v3/src/c++20/tzdata.zi ! b733a975817fe7d7b74fc37df266c34d libstdc++-v3/src/c++20/tzdb.cc 45134a761e2989110bf92106ea6dca4e libstdc++-v3/src/c++98/Makefile.am 9b27a44fa8ef5adb147c45f43b150e95 libstdc++-v3/src/c++98/Makefile.in 0da013c21616235a62a7ce091c9e8ab8 libstdc++-v3/src/c++98/allocator-inst.cc --- 114894,114904 ---- 85b9d2e407dc7113a97234b2c23e96dc libstdc++-v3/src/c++17/ryu/ryu_generic_128.h 293ec552c19b22f2144faa322d6e68ce libstdc++-v3/src/c++17/string-inst.cc 832a87ed88a18d4d453433ac0eb31fa5 libstdc++-v3/src/c++17/uint128_t.h ! 254cd9c33da3fa7ab663f4fb0c3eb02d libstdc++-v3/src/c++20/Makefile.am ! 1a78ce3875810d2fbde4c0259e6da49c libstdc++-v3/src/c++20/Makefile.in b914ff6670ac6160405a2435443a4a06 libstdc++-v3/src/c++20/sstream-inst.cc ! e2adbf62aa6624a603458198af4025e9 libstdc++-v3/src/c++20/tzdata.zi ! 994c5b2b8a1c7c1228890dba62855eb0 libstdc++-v3/src/c++20/tzdb.cc 45134a761e2989110bf92106ea6dca4e libstdc++-v3/src/c++98/Makefile.am 9b27a44fa8ef5adb147c45f43b150e95 libstdc++-v3/src/c++98/Makefile.in 0da013c21616235a62a7ce091c9e8ab8 libstdc++-v3/src/c++98/allocator-inst.cc *************** c78ee649f99eb3503ab9d0e15f608506 libstd *** 114392,114398 **** 2aa19b001e0ef42d0da84fae32334aad libstdc++-v3/src/c++98/ios_init.cc ba1f93f929b27a459e6e8e0769d66cd8 libstdc++-v3/src/c++98/ios_locale.cc ad2e27d47bf85592bedfae6839a87f59 libstdc++-v3/src/c++98/istream-string.cc ! b7947c00cafe4b3c4e91f79029684310 libstdc++-v3/src/c++98/istream.cc 7adae83e0dd9ed6f0485e15dbb421a53 libstdc++-v3/src/c++98/list-aux-2.cc abe234bc845d7a759221c1caad48a1ee libstdc++-v3/src/c++98/list-aux.cc 4bc338a372195ca235399072b8b7ad26 libstdc++-v3/src/c++98/list.cc --- 114921,114927 ---- 2aa19b001e0ef42d0da84fae32334aad libstdc++-v3/src/c++98/ios_init.cc ba1f93f929b27a459e6e8e0769d66cd8 libstdc++-v3/src/c++98/ios_locale.cc ad2e27d47bf85592bedfae6839a87f59 libstdc++-v3/src/c++98/istream-string.cc ! 18eda2bd40e573ccf30996024f9383b4 libstdc++-v3/src/c++98/istream.cc 7adae83e0dd9ed6f0485e15dbb421a53 libstdc++-v3/src/c++98/list-aux-2.cc abe234bc845d7a759221c1caad48a1ee libstdc++-v3/src/c++98/list-aux.cc 4bc338a372195ca235399072b8b7ad26 libstdc++-v3/src/c++98/list.cc *************** be3e4199ecc240f898f559fde53349c1 libstd *** 114413,114433 **** 9a6dd673f36236a2032bb66d31069b48 libstdc++-v3/src/c++98/strstream.cc 5ea65de08a665fc13dfe59376b5fbc92 libstdc++-v3/src/c++98/tree.cc 588ac7f69592b54bbe68ca1cafbc7a6e libstdc++-v3/src/c++98/valarray.cc ! b4e60acfca987e556578f4a226c833c5 libstdc++-v3/src/experimental/Makefile.am ! f7e1df11d40cd866571fa66f619a3d3e libstdc++-v3/src/experimental/Makefile.in ! 6846334ee8d270e0b42ec1f18f3e6cf6 libstdc++-v3/src/experimental/contract.cc ! 0c264537ce86e51b0c57eeef8ffadf49 libstdc++-v3/src/filesystem/Makefile.am ! bfe56c32c2629a3381ec6f10756f5c31 libstdc++-v3/src/filesystem/Makefile.in 884e909aa0801235b1d6b67156bea696 libstdc++-v3/src/filesystem/cow-dir.cc 9b53c364d753fa693cce1d68727a1982 libstdc++-v3/src/filesystem/cow-ops.cc 3985b8fca46c60e27ba47d4d73565f04 libstdc++-v3/src/filesystem/cow-path.cc a9e784beb869d9bc7d37934ce0a952f9 libstdc++-v3/src/filesystem/dir-common.h d45c23b8e35edb3a14e4d3400daeb1ed libstdc++-v3/src/filesystem/dir.cc ! 60584b291ba8a75a1d1c1de97ae76297 libstdc++-v3/src/filesystem/ops-common.h ! f57d3b802f2c945a9fb27fec782676af libstdc++-v3/src/filesystem/ops.cc ! 5c775f8681613058346febc5ec6dec92 libstdc++-v3/src/filesystem/path.cc ! eca2ea83a945773b5de8d23f7c99aaa5 libstdc++-v3/src/libbacktrace/Makefile.am ! a09a9f90214407e61a6687c92551317b libstdc++-v3/src/libbacktrace/Makefile.in ad7d8ce6072a5a6ebe5a27824b57cb45 libstdc++-v3/src/libbacktrace/backtrace-rename.h e81b2ae90488bdb0ce9dbe763304ff3c libstdc++-v3/src/libbacktrace/backtrace-supported.h.in d80381bdd74336b121a4f087efc21dbb libstdc++-v3/src/libbacktrace/config.h.in --- 114942,114962 ---- 9a6dd673f36236a2032bb66d31069b48 libstdc++-v3/src/c++98/strstream.cc 5ea65de08a665fc13dfe59376b5fbc92 libstdc++-v3/src/c++98/tree.cc 588ac7f69592b54bbe68ca1cafbc7a6e libstdc++-v3/src/c++98/valarray.cc ! d0d10bdf914b217967aa5b43f7377d07 libstdc++-v3/src/experimental/Makefile.am ! 9c8c394bb87a67081d9eca11be534fe6 libstdc++-v3/src/experimental/Makefile.in ! 61d088dea6da7e7950e8c78026fd7f04 libstdc++-v3/src/experimental/contract.cc ! b85583bf5828e8aac07082a6beae45c1 libstdc++-v3/src/filesystem/Makefile.am ! a6f95078e97a60d866de0908aeb10897 libstdc++-v3/src/filesystem/Makefile.in 884e909aa0801235b1d6b67156bea696 libstdc++-v3/src/filesystem/cow-dir.cc 9b53c364d753fa693cce1d68727a1982 libstdc++-v3/src/filesystem/cow-ops.cc 3985b8fca46c60e27ba47d4d73565f04 libstdc++-v3/src/filesystem/cow-path.cc a9e784beb869d9bc7d37934ce0a952f9 libstdc++-v3/src/filesystem/dir-common.h d45c23b8e35edb3a14e4d3400daeb1ed libstdc++-v3/src/filesystem/dir.cc ! 14bf4a0ef04f6e7d20624e7bbc5e9522 libstdc++-v3/src/filesystem/ops-common.h ! 8e0c18d507965c2ba5ee0441ff387994 libstdc++-v3/src/filesystem/ops.cc ! 2fa22da658515e688182701d446f5194 libstdc++-v3/src/filesystem/path.cc ! 39db16d7fc6280edeec0ba37d212cb2d libstdc++-v3/src/libbacktrace/Makefile.am ! 430cbf1148b0314dca1a5bc2054883ad libstdc++-v3/src/libbacktrace/Makefile.in ad7d8ce6072a5a6ebe5a27824b57cb45 libstdc++-v3/src/libbacktrace/backtrace-rename.h e81b2ae90488bdb0ce9dbe763304ff3c libstdc++-v3/src/libbacktrace/backtrace-supported.h.in d80381bdd74336b121a4f087efc21dbb libstdc++-v3/src/libbacktrace/config.h.in *************** a2e0792470b988eee9f99138a16fab5a libstd *** 114437,114443 **** d5df5ddc3b7c5dba2e687798eaa28551 libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc 661e182031451147b0a6c3e1e08ecd94 libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc 85d5908bd04a8ee824039dba1d692814 libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc ! 3bbf67d1230b6846a03dd68cda1ffd2c libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc cb4b0e2b8fb55afe51ec1f2d94ba41f9 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc 8a8a0688393d5cd9c11c118d9100d5c8 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc 71c64f90af2006e2b409babd88765bbd libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc --- 114966,114972 ---- d5df5ddc3b7c5dba2e687798eaa28551 libstdc++-v3/testsuite/17_intro/headers/c++1998/103650.cc 661e182031451147b0a6c3e1e08ecd94 libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc 85d5908bd04a8ee824039dba1d692814 libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc ! cf4f4ba483ac1a28f9f1d2680f5832d3 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc cb4b0e2b8fb55afe51ec1f2d94ba41f9 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc 8a8a0688393d5cd9c11c118d9100d5c8 libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc 71c64f90af2006e2b409babd88765bbd libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_rtti.cc *************** edb15317f3fc4c5b11c4ce1b5db72793 libstd *** 114451,114457 **** b86f9727945a4ea41e9937b60ec3bba2 libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc 336f6819acc677502f9137d2b60ba5cd libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc 8d362d5dd041e0818c8ad7d504808377 libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc ! 416be19f3443850ec41a5dfb3a6633b1 libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc d4c61f0c82f9f71cc484aaa782d187ca libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc 5af79384af6abc7c3e51f24e1cf1d9ee libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc eae12cc50ecfebc0bef935c4683404ec libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc --- 114980,114986 ---- b86f9727945a4ea41e9937b60ec3bba2 libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc 336f6819acc677502f9137d2b60ba5cd libstdc++-v3/testsuite/17_intro/headers/c++2011/42319.cc 8d362d5dd041e0818c8ad7d504808377 libstdc++-v3/testsuite/17_intro/headers/c++2011/67309.cc ! 4671c01b30f9b7d2c1d47d715628df9f libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc d4c61f0c82f9f71cc484aaa782d187ca libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc 5af79384af6abc7c3e51f24e1cf1d9ee libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc eae12cc50ecfebc0bef935c4683404ec libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc *************** babbdd6eab38d6d7f22e8566f7196eac libstd *** 114462,114468 **** f89b9e41b784f57d5ab7a58c1f79a534 libstdc++-v3/testsuite/17_intro/headers/c++2011/profile_mode.cc 584eea9c194c849e7c74d84d59dae1d5 libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc 01e397695beb1eefb90366a12c4d8395 libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc ! 41729ebf89ee97cba8733e001b1f9258 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc 12a8b22467404234ee7a22821c02cce0 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc e1f9a5de90f262c6631311a33fcbd700 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc 3986ee52163ac663428b4e604e746db6 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc --- 114991,114997 ---- f89b9e41b784f57d5ab7a58c1f79a534 libstdc++-v3/testsuite/17_intro/headers/c++2011/profile_mode.cc 584eea9c194c849e7c74d84d59dae1d5 libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc 01e397695beb1eefb90366a12c4d8395 libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc ! 8fff06731400a380c420c47c967a9667 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc 12a8b22467404234ee7a22821c02cce0 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc e1f9a5de90f262c6631311a33fcbd700 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc 3986ee52163ac663428b4e604e746db6 libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc *************** f721def1cdb79d9784526c633f6a5ae8 libstd *** 114471,114477 **** 37c5c65a620032d67c0fb02dfb4fe92e libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc 01086e34338c5773c1e8597d2b9820c6 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc 1976712d16a3c268dd42c758947676ce libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc ! 6bfc94afec2ef5ee3d6ec172ed54d194 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc 7ba7a3347cf631bf654a7a5ff31da037 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc fc5c25c9a2268b5d8e42d61352d2c44a libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc 22185a0065bb4bf0b27a239cff35dcb0 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc --- 115000,115006 ---- 37c5c65a620032d67c0fb02dfb4fe92e libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc 01086e34338c5773c1e8597d2b9820c6 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc 1976712d16a3c268dd42c758947676ce libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc ! 60d2b5ac09c19dd44f1776f34d0715c3 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc 7ba7a3347cf631bf654a7a5ff31da037 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc fc5c25c9a2268b5d8e42d61352d2c44a libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc 22185a0065bb4bf0b27a239cff35dcb0 libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc *************** b8a53b2b8da32d102d69cbedea3d2216 libstd *** 114480,114486 **** 00763b9699b39135fda457e687295b4b libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc 774759ed410f8423d2dd6e3d16243b43 libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc ad6842716dd04d2bf316293218db4a12 libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc ! 5187b9217c61a430a8c676154853fc1c libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc 7e1cb18ec86168bdc905dbc92734a677 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc 27d76abc452348432ec9c8195f0b946f libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc b95ee861163a4569d4fadcf6534484bb libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc --- 115009,115015 ---- 00763b9699b39135fda457e687295b4b libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc 774759ed410f8423d2dd6e3d16243b43 libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc ad6842716dd04d2bf316293218db4a12 libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc ! 864066be6e0a5da1e3a4c01a7f8fcf4c libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc 7e1cb18ec86168bdc905dbc92734a677 libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc 27d76abc452348432ec9c8195f0b946f libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc b95ee861163a4569d4fadcf6534484bb libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc *************** b8a53b2b8da32d102d69cbedea3d2216 libstd *** 114488,114494 **** 87c7733236320e31ca6bf506b77b98d6 libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc 63f0e684ae33ff5970309759eeaf2ba5 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc 9294278b7daa21bfd4ce42da363eaad0 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc ! 27956f7064f968d92d07606636d60b75 libstdc++-v3/testsuite/17_intro/names.cc 047ad714f0a1ac010ab86a084dfbeee7 libstdc++-v3/testsuite/17_intro/names_pstl.cc 007efc2146fdda22fd1b14eaf4ea9b10 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 1693d92844259e69b8c6b8f258a91f17 libstdc++-v3/testsuite/17_intro/static.cc --- 115017,115023 ---- 87c7733236320e31ca6bf506b77b98d6 libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc 63f0e684ae33ff5970309759eeaf2ba5 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc 9294278b7daa21bfd4ce42da363eaad0 libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc ! 6c68984e91b93591e62a75a2f9fbabfb libstdc++-v3/testsuite/17_intro/names.cc 047ad714f0a1ac010ab86a084dfbeee7 libstdc++-v3/testsuite/17_intro/names_pstl.cc 007efc2146fdda22fd1b14eaf4ea9b10 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 1693d92844259e69b8c6b8f258a91f17 libstdc++-v3/testsuite/17_intro/static.cc *************** f4f086f988cf867097fb97b97bd5ca29 libstd *** 114526,114532 **** fd7493488695ad011e1987266075b29b libstdc++-v3/testsuite/18_support/comparisons/categories/partialord.cc 8ea7c7b868be03c195bdf58ef2fe7b9c libstdc++-v3/testsuite/18_support/comparisons/categories/strongord.cc 96f4ebf4b93d44e3b25706144b68aec0 libstdc++-v3/testsuite/18_support/comparisons/categories/weakord.cc ! 8134d7ad30fb40facf382b25ac8bcac7 libstdc++-v3/testsuite/18_support/comparisons/categories/zero_neg.cc 89b3aac706387c53424b28807653d906 libstdc++-v3/testsuite/18_support/comparisons/common/1.cc 089c5bdfd195fe88fa8a1b366a3725a7 libstdc++-v3/testsuite/18_support/comparisons/object/93479.cc 247d4da1c79d9d2bf80390d0a881a073 libstdc++-v3/testsuite/18_support/comparisons/object/lwg3530.cc --- 115055,115061 ---- fd7493488695ad011e1987266075b29b libstdc++-v3/testsuite/18_support/comparisons/categories/partialord.cc 8ea7c7b868be03c195bdf58ef2fe7b9c libstdc++-v3/testsuite/18_support/comparisons/categories/strongord.cc 96f4ebf4b93d44e3b25706144b68aec0 libstdc++-v3/testsuite/18_support/comparisons/categories/weakord.cc ! 6dbc698fc49e3e61102f8f2e1e9195f4 libstdc++-v3/testsuite/18_support/comparisons/categories/zero_neg.cc 89b3aac706387c53424b28807653d906 libstdc++-v3/testsuite/18_support/comparisons/common/1.cc 089c5bdfd195fe88fa8a1b366a3725a7 libstdc++-v3/testsuite/18_support/comparisons/object/93479.cc 247d4da1c79d9d2bf80390d0a881a073 libstdc++-v3/testsuite/18_support/comparisons/object/lwg3530.cc *************** b81c5c8c227a9a71e5efdc513a3b1a4d libstd *** 114705,114713 **** 643fb69aa51d409e269bfd7077a736c1 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc b19ff1d2f7a35f456f900bbd20bffd32 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc 670eda46fbfa7789251c32b2ebbd9c15 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc ! a3f875cb81845cea6552ad2be474733b libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc ! bcbe8956841ad8748b7d53b018a0f23b libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc ! 489c2f3ec1b126c0f5cab03ec75198b5 libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc 1a16038fc4f582a0976f9f59a252d7cb libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc 663e3dcea433a03255e7eed74d7d7f2f libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc ea274be46bbf3f9fb04b2ff6ef7a2cfd libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc --- 115234,115243 ---- 643fb69aa51d409e269bfd7077a736c1 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-2.cc b19ff1d2f7a35f456f900bbd20bffd32 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-3.cc 670eda46fbfa7789251c32b2ebbd9c15 libstdc++-v3/testsuite/19_diagnostics/runtime_error/what-big.cc ! 0a6f99b4a76bef420ec7f0c83d28240a libstdc++-v3/testsuite/19_diagnostics/stacktrace/current.cc ! 029d8f43de155602a6121288a02d27b9 libstdc++-v3/testsuite/19_diagnostics/stacktrace/entry.cc ! 1cb3680da0023fa955ece4a3030256f9 libstdc++-v3/testsuite/19_diagnostics/stacktrace/hash.cc ! f5d4ebe78f05f4f4dc9f316b6989f6bf libstdc++-v3/testsuite/19_diagnostics/stacktrace/stacktrace.cc 1a16038fc4f582a0976f9f59a252d7cb libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc 663e3dcea433a03255e7eed74d7d7f2f libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc ea274be46bbf3f9fb04b2ff6ef7a2cfd libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc *************** ac5fc86cab4f651a7009b5e1a04bcc86 libstd *** 114946,114952 **** 9c60e231bb78dba8a918d00c8b3648a3 libstdc++-v3/testsuite/20_util/duration/cons/dr2094.cc b8359368c2247b52886827271163885e libstdc++-v3/testsuite/20_util/duration/cons/dr3050.cc a0774b99c18fd2bc252c8cd6edb7cf08 libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc ! 3e1bf741f760f7f2ae7049ff93b8afe5 libstdc++-v3/testsuite/20_util/duration/io.cc 36bc50f45d98b5197379c425a2a7555f libstdc++-v3/testsuite/20_util/duration/literals/61166.cc 4ad88bdc966146f6ec3c7264a2a6e138 libstdc++-v3/testsuite/20_util/duration/literals/65499.cc 6b548b7ad2bc536c9d4fc09f6d07ae8a libstdc++-v3/testsuite/20_util/duration/literals/84671.cc --- 115476,115482 ---- 9c60e231bb78dba8a918d00c8b3648a3 libstdc++-v3/testsuite/20_util/duration/cons/dr2094.cc b8359368c2247b52886827271163885e libstdc++-v3/testsuite/20_util/duration/cons/dr3050.cc a0774b99c18fd2bc252c8cd6edb7cf08 libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc ! 559a54bd040d4a4d8aa0b81226502edf libstdc++-v3/testsuite/20_util/duration/io.cc 36bc50f45d98b5197379c425a2a7555f libstdc++-v3/testsuite/20_util/duration/literals/61166.cc 4ad88bdc966146f6ec3c7264a2a6e138 libstdc++-v3/testsuite/20_util/duration/literals/65499.cc 6b548b7ad2bc536c9d4fc09f6d07ae8a libstdc++-v3/testsuite/20_util/duration/literals/84671.cc *************** ca9cdcdac885b92fdfd3ac1be4827b75 libstd *** 114960,114967 **** 75f50fa7d9297a46f82c43c34b672897 libstdc++-v3/testsuite/20_util/duration/requirements/reduced_period.cc af949eb57bcae1e1f75c354921c0c6cb libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc 0c6df77958632b85b0810363f8f7904d libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc ! be96a3c44b5f145a63e2e089f75e1ad1 libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc ! 23f72ab2bc15e148e22d0ce7bd2a8313 libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc 99f36240fccfc4a2cc1e63016d776786 libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc 0fb370ddffd9094bbd351a26b7b21074 libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc 3c401e02699bbf431e8d5f337b32252e libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc --- 115490,115497 ---- 75f50fa7d9297a46f82c43c34b672897 libstdc++-v3/testsuite/20_util/duration/requirements/reduced_period.cc af949eb57bcae1e1f75c354921c0c6cb libstdc++-v3/testsuite/20_util/duration/requirements/sfinae_friendly_1.cc 0c6df77958632b85b0810363f8f7904d libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc ! d4e487005359cab8360e484ee748589e libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc ! b10b1dbed027a91d1460eae8daefb92a libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc 99f36240fccfc4a2cc1e63016d776786 libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc 0fb370ddffd9094bbd351a26b7b21074 libstdc++-v3/testsuite/20_util/duration_cast/constexpr.cc 3c401e02699bbf431e8d5f337b32252e libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc *************** a592eb6fd816aac034c9922ae4d29f69 libstd *** 115163,115169 **** --- 115693,115701 ---- 3ae8ca41b35eac2d1f1517093d72db3b libstdc++-v3/testsuite/20_util/integer_comparisons/less_neg.cc b99be92eb0e0d8698ca6bdc364542e6b libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal.cc 12c317569e4d8b79c0b4e9513495def4 libstdc++-v3/testsuite/20_util/integer_comparisons/not_equal_neg.cc + 01419816e55df10955ea47006b7fd41b libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc b24e47328645bea855bab51280f4457d libstdc++-v3/testsuite/20_util/integer_sequence/intseq.cc + b299881c5f8a46c9954c9cfffbb15437 libstdc++-v3/testsuite/20_util/integer_sequence/pr111357.cc e58ed11f85b333351ada2f2c5246f90c libstdc++-v3/testsuite/20_util/integer_sequence/requirements/typedefs.cc d81fb9bda70e69d23a8ab9fcdcc24d06 libstdc++-v3/testsuite/20_util/integral_constant/call_operator.cc a5ab59681cb18d4d742bdd134ba04fd6 libstdc++-v3/testsuite/20_util/integral_constant/operator_value_type.cc *************** daf23e0df03a7bd37380c271295d2f26 libstd *** 115558,115563 **** --- 116090,116096 ---- 69a21b5ad7d8ad23b70b305e19e9d27e libstdc++-v3/testsuite/20_util/optional/observers/6.cc d8af3640e7aabc8dd1960265b3ca5a27 libstdc++-v3/testsuite/20_util/optional/observers/lwg2762.cc 991d636d53d2f7acb341d14aa803d94c libstdc++-v3/testsuite/20_util/optional/relops/1.cc + 9b0c6c5d74424693ceca6e756d7db294 libstdc++-v3/testsuite/20_util/optional/relops/104606.cc 89a5ec5e6030e4f174a4d512fd8b65f1 libstdc++-v3/testsuite/20_util/optional/relops/2.cc 6a3814cb3ee5ee4899bb2d9652f87ec1 libstdc++-v3/testsuite/20_util/optional/relops/3.cc dcc8540166b215b6c3f7d20209d2e82f libstdc++-v3/testsuite/20_util/optional/relops/4.cc *************** e3a64ba12b35e4aca09046576d52bff4 libstd *** 115654,115659 **** --- 116187,116193 ---- 836ded60efa4bdf3d5d6683aaaa3ec98 libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc 65e751b6e39058f2220bc1b3bf523d7c libstdc++-v3/testsuite/20_util/ratio/requirements/constexpr_data.cc 8fadef9c07657382182385a1515c98da libstdc++-v3/testsuite/20_util/ratio/requirements/ratio_equal_v.cc + d8bbe2c17046f08594a91f5a8e216ba7 libstdc++-v3/testsuite/20_util/ratio/requirements/type_constraints.cc df867c9e6b65da0022414ff9c12e1579 libstdc++-v3/testsuite/20_util/raw_storage_iterator/base.cc 978a3bd82d79476d2496813c2d1e8bc2 libstdc++-v3/testsuite/20_util/raw_storage_iterator/dr2127.cc 20b679022dcbb813a227adabf7adf3b9 libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc *************** ccb35fb7a62300af936085819483975c libstd *** 115948,115953 **** --- 116482,116488 ---- 570e52f8bdb71cbed03256f61e7b3a72 libstdc++-v3/testsuite/20_util/tuple/comparison_operators/three_way.cc d23b1a747046dfeaadefce18d2c02b12 libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc 32c154912a091023741fdaa263538a86 libstdc++-v3/testsuite/20_util/tuple/cons/102270.cc + 9a6dc1f9548e126de2581231c632a19f libstdc++-v3/testsuite/20_util/tuple/cons/114147.cc f27dfd667d19d5a586e2805084cc1c5a libstdc++-v3/testsuite/20_util/tuple/cons/41530.cc c5d05d77429ce4ba3914543541b3764e libstdc++-v3/testsuite/20_util/tuple/cons/44487.cc 45938586f3445d3925b645ab2e912816 libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc *************** beeca5f4bb163fcc48b38c8197e1c563 libstd *** 116107,116113 **** dde90009bc93758b6c7c6a057827648f libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc c3f97d6a17fc64611166b17edfe49449 libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc c0994b759f4ddb76ff5725fcc27e8b5f libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc ! 2ec041b87fc00ec34cab810dee74f532 libstdc++-v3/testsuite/20_util/uses_allocator/lwg3677.cc 4923d3c0443a3b28bbd168af6de891df libstdc++-v3/testsuite/20_util/uses_allocator/make_obj.cc ac2a817cb8c2699ed9ff1423eda8f368 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc 81cfc564c7fb5376965a0a8ac95da1c5 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc --- 116642,116648 ---- dde90009bc93758b6c7c6a057827648f libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc c3f97d6a17fc64611166b17edfe49449 libstdc++-v3/testsuite/20_util/uses_allocator/construction.cc c0994b759f4ddb76ff5725fcc27e8b5f libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc ! f3d6c9936ea50764c0b58ad497116155 libstdc++-v3/testsuite/20_util/uses_allocator/lwg3677.cc 4923d3c0443a3b28bbd168af6de891df libstdc++-v3/testsuite/20_util/uses_allocator/make_obj.cc ac2a817cb8c2699ed9ff1423eda8f368 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/explicit_instantiation.cc 81cfc564c7fb5376965a0a8ac95da1c5 libstdc++-v3/testsuite/20_util/uses_allocator/requirements/typedefs.cc *************** e3229b9274c6ee53c4e7c8668c6810ba libstd *** 116179,116185 **** 0f99ab597b0eb84d038c42be3cbee8a3 libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc cc34e276871f3e24fbb3558c20ed371f libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc eb390690e93e5b1f2baa3b2e67d83576 libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc ! e146911708d15911e077fa1ce7e04fc6 libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc 8b278bc4f5c42ca1bc344edde13c8edd libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc 153be87377c43ae32711924524a73a5f libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc 31f104684d3a8d09f7b16b238e1238cb libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc --- 116714,116720 ---- 0f99ab597b0eb84d038c42be3cbee8a3 libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc cc34e276871f3e24fbb3558c20ed371f libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc eb390690e93e5b1f2baa3b2e67d83576 libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc ! 24a38889a74f6c2286556a1ea532a9ce libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc 8b278bc4f5c42ca1bc344edde13c8edd libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc 153be87377c43ae32711924524a73a5f libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc 31f104684d3a8d09f7b16b238e1238cb libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc *************** d7cd60c4896f346a26a3b7f212bf17ca libstd *** 116311,116317 **** 034e5362947424246143807d8efa73fa libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc bbd9e35db57e1a4766862cbe90f71c33 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc 4da7a91d3ed0a6059528969584917348 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc ! ab5b8c708d26d53aaa55a1f2cabf99f7 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/constexpr.cc 0b3af09a611c157c70ff5157289b06af libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc d15808ef9fa73b43cd671f6087922fc9 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc 5c7bfd9f42c1b6197c3dfab4e8e84bb1 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc --- 116846,116852 ---- 034e5362947424246143807d8efa73fa libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc bbd9e35db57e1a4766862cbe90f71c33 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign.cc 4da7a91d3ed0a6059528969584917348 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc ! c093c0a338cdb8f12be15fd916465c93 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/constexpr.cc 0b3af09a611c157c70ff5157289b06af libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/1.cc d15808ef9fa73b43cd671f6087922fc9 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/2.cc 5c7bfd9f42c1b6197c3dfab4e8e84bb1 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc *************** bd2fcf012f22bca17f71938654e7e311 libstd *** 116444,116455 **** 2d06ffe71e83aa708ba5ef26f438fe97 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc 0359b3b9c24cef1c8868cb49b36d5e54 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/nonnull.cc f75b007cbb4d96d46be0e477d2ea40fe libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/range.cc ! 9fcf7c317fc64c00d2a1ce31a8e02f8f libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc 4857e3ecc12e42d04cc68d970112d4fd libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc cbd7b8ec95766de539cddeb236e1ac1d libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc 5f76a9247b7f158188c45a960b6d7ad1 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc c853f3b5cbb364138334aafe3e6d0996 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc ! 2047c3fa698c40011c232ea9272f76c2 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc 189772ee8c9cb947540e0fcc2468c0b9 libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc 2f1d01939d4756397fdb3626884d77ec libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc 97375dbf28bddc3b2d15dd48c6d3c301 libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc --- 116979,116990 ---- 2d06ffe71e83aa708ba5ef26f438fe97 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc 0359b3b9c24cef1c8868cb49b36d5e54 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/nonnull.cc f75b007cbb4d96d46be0e477d2ea40fe libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/range.cc ! 75a82c36b29fe253dc361a024e3a6516 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc 4857e3ecc12e42d04cc68d970112d4fd libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc cbd7b8ec95766de539cddeb236e1ac1d libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc 5f76a9247b7f158188c45a960b6d7ad1 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc c853f3b5cbb364138334aafe3e6d0996 libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc ! dc14c70a7ef0858f41e9ace32ece882a libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc 189772ee8c9cb947540e0fcc2468c0b9 libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc 2f1d01939d4756397fdb3626884d77ec libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc 97375dbf28bddc3b2d15dd48c6d3c301 libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc *************** fad93e46b52efaaf848d338f729ec103 libstd *** 116481,116488 **** --- 117016,117025 ---- 9ba97b2790fc994a31cb8944ba1bda73 libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc b575c3deed677b77af68ed1a3db6fbf4 libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc 479b3ea2e3af2099a1d20aaeebd3fa93 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc + be3b65e8d28ffd0b6c071ad71ef5662a libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc 28aa7f45113ce1b5daf61bf3d8b031a2 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc a53318c2edf633986af97c1f6d5c9e49 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc + ef869b073577745bda077a76ccf586b4 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc 911fc588d058d168a334700d76a1c837 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc bbe147a22a02595e2b068826931e9faf libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char.cc 7b2270cf2bc8a89823e295b39d3a3ec0 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc *************** a5d43073d77e6a82fc19d777ecf8d46d libstd *** 116561,116566 **** --- 117098,117104 ---- a832a3b960eb348c9173631d099625c3 libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc 4c17567bb37dac4f130cf7027ac16d1c libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc 6d3a63038ce6c57d5c627c929b6f6e5d libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc + 82d6b4f00580779800e341ec6c9ffaea libstdc++-v3/testsuite/21_strings/char_traits/requirements/113200.cc 6b5a2a7c9ce21f32df0f07815bb0efbf libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc f0db6b54329d88264f75aa5376489f1b libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/57704.cc fc10e558e5f0aee7e00e78d125372b52 libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/65049.cc *************** b3513ed5ffa499cca3181c7fd14dcf43 libstd *** 117241,117246 **** --- 117779,117786 ---- 88e72311920d13f12ac3a62be01a4097 libstdc++-v3/testsuite/23_containers/array/cons/deduction.cc 5e63e129d6ee14bd8735a98b99e071e9 libstdc++-v3/testsuite/23_containers/array/cons/deduction_neg.cc 93661bce5f3afebe28cac67fcb071b4f libstdc++-v3/testsuite/23_containers/array/creation/1.cc + 29863c1177013eb82c96ce1e6df02aea libstdc++-v3/testsuite/23_containers/array/creation/110167.cc + c33e3cf546fa87ee1cf2a1313c16655a libstdc++-v3/testsuite/23_containers/array/creation/111512.cc bad60bb55072f7831f210bb5cf8c0cbc libstdc++-v3/testsuite/23_containers/array/creation/2.cc 69458a6af51c0639515b7d48201e0bf7 libstdc++-v3/testsuite/23_containers/array/creation/3_neg.cc a49a7352cef5176add32c3a8e0e3e034 libstdc++-v3/testsuite/23_containers/array/debug/back1_neg.cc *************** ed893d56d9aacc6814d82bba8235fe0b libstd *** 117678,117683 **** --- 118218,118224 ---- 818b6950824acaa152fad4e691a86905 libstdc++-v3/testsuite/23_containers/map/cons/moveable.cc e7bf159cc8b74103ed17af50458a363b libstdc++-v3/testsuite/23_containers/map/cons/noexcept_default_construct.cc 9881bc0137cf43528b5a7f1a20d0e951 libstdc++-v3/testsuite/23_containers/map/cons/noexcept_move_construct.cc + 62c8fc35a2126407d843225adf9afd90 libstdc++-v3/testsuite/23_containers/map/debug/112477.cc 00d79f254114578a072178ec56634d36 libstdc++-v3/testsuite/23_containers/map/debug/60499.cc ea58ca872b465852cf64023ba611582d libstdc++-v3/testsuite/23_containers/map/debug/90102.cc 090a58ac357accf39ca2e7027c4d40c5 libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc *************** b51069936070d218f8a013d93879430c libstd *** 117863,117868 **** --- 118404,118410 ---- 8014fb73c4c65a958b06674acf54f5e5 libstdc++-v3/testsuite/23_containers/multiset/debug/move_assign_neg.cc 091280d32ef91c586f1b525f40349a28 libstdc++-v3/testsuite/23_containers/multiset/debug/move_neg.cc 92335f3b1a8ef2331b8bba401dcf90a2 libstdc++-v3/testsuite/23_containers/multiset/init-list.cc + b761d5230bf4935944006f713e5604d5 libstdc++-v3/testsuite/23_containers/multiset/modifiers/114401.cc 4c16e1f236d17c0b5dc229b38b39186e libstdc++-v3/testsuite/23_containers/multiset/modifiers/dr130.cc 742c346973c3c658a1e99ed77c8f8519 libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/1.cc dd27850edb189b8d2ebd6f0682bbc309 libstdc++-v3/testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc *************** ea88a29a7cda4eb36d76ac55340ea40b libstd *** 117958,117963 **** --- 118500,118506 ---- b8cb47011456b68ca066c2986c0c3b06 libstdc++-v3/testsuite/23_containers/set/cons/noexcept_default_construct.cc 89d1728b4889acfeecae0785b4c8a8c7 libstdc++-v3/testsuite/23_containers/set/cons/noexcept_move_construct.cc 83f470c08a9e704d3d17953e95fd37eb libstdc++-v3/testsuite/23_containers/set/cons/self_move.cc + 83968696d0a7067ff4a850c2eb0eea82 libstdc++-v3/testsuite/23_containers/set/debug/114316.cc ae08886e978c618ac60b6c3f253f0c0d libstdc++-v3/testsuite/23_containers/set/debug/60499.cc 2484bc35fba82855e9a37cf1b21aaa80 libstdc++-v3/testsuite/23_containers/set/debug/90102.cc dab9b194b75d8b8d714f2745a05ad01f libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc *************** f4a39767ad2c148fa0a99c12f37fbfc4 libstd *** 117975,117980 **** --- 118518,118524 ---- 78fd1112cd7e7bfdae434c311f94a5ae libstdc++-v3/testsuite/23_containers/set/debug/move_neg.cc e0a3b1912adb8176371ebe6fc1dbaa96 libstdc++-v3/testsuite/23_containers/set/erasure.cc c087d26b3de856b86b94ed002f09ec6b libstdc++-v3/testsuite/23_containers/set/init-list.cc + 600f3a07c5d12def9ca643094daf86cd libstdc++-v3/testsuite/23_containers/set/modifiers/114401.cc 12ff4dace24d58b5bea1adb68745ddfe libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc ce17c384c58b5aa10549a90e45ed730e libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc 6f506a8f8a45c4ba549fcff32eadcea0 libstdc++-v3/testsuite/23_containers/set/modifiers/dr130.cc *************** f4cc805475fe4eb6e298f4a6f06fc466 libstd *** 118017,118050 **** 24be6a251d10ec91a71a6cbf08e52ce6 libstdc++-v3/testsuite/23_containers/span/1.cc 62d71e263b54ca463af9228fd31a5f0f libstdc++-v3/testsuite/23_containers/span/101411.cc a41a95237005cc1253becbc65d0e579a libstdc++-v3/testsuite/23_containers/span/2.cc ! fe455bdf536bf1645aa34f386beb6ffc libstdc++-v3/testsuite/23_containers/span/back_assert_neg.cc ! 4646871fbc49a8667f0f4cc6f84648ce libstdc++-v3/testsuite/23_containers/span/back_neg.cc 06a45501dcaec8e13d6ae1e6ee40d1b7 libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc b500468357c8536c575705ba4a6c389f libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc 4f2858e4b71aaba1da53b7dccdd70dcb libstdc++-v3/testsuite/23_containers/span/contiguous_range_neg.cc 13de2b944b3e345b71c8a9607c7a3e70 libstdc++-v3/testsuite/23_containers/span/deduction.cc 5298b419f9c836495e1833514f5cb15f libstdc++-v3/testsuite/23_containers/span/everything.cc 19441bc0f80dc57aa9d56b345b4683b0 libstdc++-v3/testsuite/23_containers/span/explicit.cc ! f2a645274bc71d00d9de0300de9193f8 libstdc++-v3/testsuite/23_containers/span/first_2_assert_neg.cc ! 1a9149c8244aed302ac2152e59a46577 libstdc++-v3/testsuite/23_containers/span/first_assert_neg.cc ! 63112880f3cd80c6a1c630b1a1afa9ac libstdc++-v3/testsuite/23_containers/span/first_neg.cc ! e2ba48768a2eded317fd6809c2892927 libstdc++-v3/testsuite/23_containers/span/front_assert_neg.cc ! eaf0e2f767eab42b0f97c32436b14bed libstdc++-v3/testsuite/23_containers/span/front_neg.cc ! 426abcd39eb1dd403af83050cf5f5e01 libstdc++-v3/testsuite/23_containers/span/index_op_assert_neg.cc ! 6949254731dd518e434be8867703c2e3 libstdc++-v3/testsuite/23_containers/span/index_op_neg.cc ! 4f598d73804805fba02357e5c79183b6 libstdc++-v3/testsuite/23_containers/span/last_2_assert_neg.cc ! 88f915cb502a4fcad916c1add1d912d0 libstdc++-v3/testsuite/23_containers/span/last_assert_neg.cc ! 4e7dd8cfebff783ac97ab4cc11389e6e libstdc++-v3/testsuite/23_containers/span/last_neg.cc 64e1b8875fd0c928889c5831cd7e709c libstdc++-v3/testsuite/23_containers/span/layout_compat.cc be1f50b1146968c150d08a2efb45f08a libstdc++-v3/testsuite/23_containers/span/lwg3255.cc 253debc3012d6998190de8476a1af448 libstdc++-v3/testsuite/23_containers/span/nothrow_cons.cc ! 8863f6163a711d1cba1a2826fee3344b libstdc++-v3/testsuite/23_containers/span/subspan_2_assert_neg.cc ! 3fb3315e3658a0b3a50ab031b8366b2e libstdc++-v3/testsuite/23_containers/span/subspan_3_assert_neg.cc ! 5d4f9b1e1e5c435be42ae17386510345 libstdc++-v3/testsuite/23_containers/span/subspan_4_assert_neg.cc ! 5bb21b29c963eab6d9bd049818491a65 libstdc++-v3/testsuite/23_containers/span/subspan_5_assert_neg.cc ! 3140f0be92da0c061531b403f7ed991d libstdc++-v3/testsuite/23_containers/span/subspan_6_assert_neg.cc ! cab2d87171c9910186845502319f9249 libstdc++-v3/testsuite/23_containers/span/subspan_assert_neg.cc ! bf3f3fc49ef7e8132533b07c3c53a5c3 libstdc++-v3/testsuite/23_containers/span/subspan_neg.cc d19a170b5f7ab02157733005cb76fef1 libstdc++-v3/testsuite/23_containers/span/trivially_copyable.cc 6667a26fb8e5052a0f736b8ae3605735 libstdc++-v3/testsuite/23_containers/stack/77528.cc f80392885ac3739ed820b9a4d9ecbb48 libstdc++-v3/testsuite/23_containers/stack/92878_92947.cc --- 118561,118595 ---- 24be6a251d10ec91a71a6cbf08e52ce6 libstdc++-v3/testsuite/23_containers/span/1.cc 62d71e263b54ca463af9228fd31a5f0f libstdc++-v3/testsuite/23_containers/span/101411.cc a41a95237005cc1253becbc65d0e579a libstdc++-v3/testsuite/23_containers/span/2.cc ! e54c50ffc58578394a5d9dc8f8c88fed libstdc++-v3/testsuite/23_containers/span/back_assert_neg.cc ! 8c144576c278335e14589c3a325f9d3b libstdc++-v3/testsuite/23_containers/span/back_neg.cc 06a45501dcaec8e13d6ae1e6ee40d1b7 libstdc++-v3/testsuite/23_containers/span/cons_1_assert_neg.cc b500468357c8536c575705ba4a6c389f libstdc++-v3/testsuite/23_containers/span/cons_2_assert_neg.cc 4f2858e4b71aaba1da53b7dccdd70dcb libstdc++-v3/testsuite/23_containers/span/contiguous_range_neg.cc 13de2b944b3e345b71c8a9607c7a3e70 libstdc++-v3/testsuite/23_containers/span/deduction.cc 5298b419f9c836495e1833514f5cb15f libstdc++-v3/testsuite/23_containers/span/everything.cc 19441bc0f80dc57aa9d56b345b4683b0 libstdc++-v3/testsuite/23_containers/span/explicit.cc ! 16970ead3acdd80199bdb9fb9bfe27c1 libstdc++-v3/testsuite/23_containers/span/first_2_assert_neg.cc ! 0dbb665d0133ae1d73ca94035f616177 libstdc++-v3/testsuite/23_containers/span/first_assert_neg.cc ! 150a48280e985154ee2fb3feab0ef344 libstdc++-v3/testsuite/23_containers/span/first_neg.cc ! 404d5c79604fbde078b4a70366091d76 libstdc++-v3/testsuite/23_containers/span/front_assert_neg.cc ! 537e15572a2fee2a550ba5ced04d4fd4 libstdc++-v3/testsuite/23_containers/span/front_neg.cc ! e2a6758324a45aada6e409c1714bdf52 libstdc++-v3/testsuite/23_containers/span/index_op_assert_neg.cc ! 9635200c3f432819fb1ac5b11c1a18e1 libstdc++-v3/testsuite/23_containers/span/index_op_neg.cc ! 632b993254cc02d12bc7a05b537dcf28 libstdc++-v3/testsuite/23_containers/span/last_2_assert_neg.cc ! ca6e6c070f5eebec8f25252bdec87031 libstdc++-v3/testsuite/23_containers/span/last_assert_neg.cc ! 3cabc72155b68493a5402e5bc03f3716 libstdc++-v3/testsuite/23_containers/span/last_neg.cc 64e1b8875fd0c928889c5831cd7e709c libstdc++-v3/testsuite/23_containers/span/layout_compat.cc be1f50b1146968c150d08a2efb45f08a libstdc++-v3/testsuite/23_containers/span/lwg3255.cc + e45c1853ec6f098abc263746f2bf72fa libstdc++-v3/testsuite/23_containers/span/nodiscard.cc 253debc3012d6998190de8476a1af448 libstdc++-v3/testsuite/23_containers/span/nothrow_cons.cc ! 5abdd960c84c3d05118cb4193f67acd6 libstdc++-v3/testsuite/23_containers/span/subspan_2_assert_neg.cc ! 83f0d62dacd84d70115c058e8323ee44 libstdc++-v3/testsuite/23_containers/span/subspan_3_assert_neg.cc ! 2e8e7a5d9c7410de7182aef6341722f1 libstdc++-v3/testsuite/23_containers/span/subspan_4_assert_neg.cc ! 023ac96b048b03025cc6c739977d9ce1 libstdc++-v3/testsuite/23_containers/span/subspan_5_assert_neg.cc ! bff9bae8063656a46691926bb1ba70db libstdc++-v3/testsuite/23_containers/span/subspan_6_assert_neg.cc ! 12a9205bc361fecc4f19997b4b9c9e7f libstdc++-v3/testsuite/23_containers/span/subspan_assert_neg.cc ! 20205e04894cf2bbc2dec11b959a2e89 libstdc++-v3/testsuite/23_containers/span/subspan_neg.cc d19a170b5f7ab02157733005cb76fef1 libstdc++-v3/testsuite/23_containers/span/trivially_copyable.cc 6667a26fb8e5052a0f736b8ae3605735 libstdc++-v3/testsuite/23_containers/stack/77528.cc f80392885ac3739ed820b9a4d9ecbb48 libstdc++-v3/testsuite/23_containers/stack/92878_92947.cc *************** c2f540bba764c12bff807967c9280237 libstd *** 118141,118152 **** 03fac90b219d18144af655af896d7954 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc a14df605fbb76ef3e178c19c31db79fd libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc dc3059ffcfc5b5f617b283152ee2eac6 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc ! 0a2b0a1af64854d1bebc4232540cf6c1 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc ec4950b74e8b9cd59ab4bfa8e94055ba libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/move_assign.cc 6e4b6b77735acab35c8d3c1aac451c66 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc c119f8968e7c2cd51b39f47edca3c2c7 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc 01f47a485e639e40d954a8c2b5835501 libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc ! 25ffaa5db7ada99a686798c7cc1a3680 libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc b7dc3ee566e9b5ef56cf1b6cec567c90 libstdc++-v3/testsuite/23_containers/unordered_map/operations/contains.cc fecc9906df269635aa2da8c1c1d94bb7 libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc 206e5b31312cb3e00a049c4b502c0982 libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc --- 118686,118697 ---- 03fac90b219d18144af655af896d7954 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/emplace.cc a14df605fbb76ef3e178c19c31db79fd libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc dc3059ffcfc5b5f617b283152ee2eac6 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc ! 4ed063c0258ef248ce7904f4c847043f libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc ec4950b74e8b9cd59ab4bfa8e94055ba libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/move_assign.cc 6e4b6b77735acab35c8d3c1aac451c66 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc c119f8968e7c2cd51b39f47edca3c2c7 libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc 01f47a485e639e40d954a8c2b5835501 libstdc++-v3/testsuite/23_containers/unordered_map/observers.cc ! d77224af059b92f3d6d42deba0c2224a libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc b7dc3ee566e9b5ef56cf1b6cec567c90 libstdc++-v3/testsuite/23_containers/unordered_map/operations/contains.cc fecc9906df269635aa2da8c1c1d94bb7 libstdc++-v3/testsuite/23_containers/unordered_map/operations/count.cc 206e5b31312cb3e00a049c4b502c0982 libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc *************** ce423b7fe134947b12bb3bcadc06e8ef libstd *** 118247,118253 **** df0920fa518b2245aeff636e8e13c931 libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc 87351e56e94d8dfc647b1bc4490f02dc libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc 5bf8153b21982b0bb6b9a10f31b6f498 libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc ! 96f0719f04a025939a9c26b2be86bd56 libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/1.cc 647c755134d4c9566b6980673aeccd68 libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/contains.cc bb32f1920bdb2be82d85310bb2ca2bff libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc 2e7014d6c4a0314d3fd102e4a202e6bb libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc --- 118792,118798 ---- df0920fa518b2245aeff636e8e13c931 libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc 87351e56e94d8dfc647b1bc4490f02dc libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/reserve.cc 5bf8153b21982b0bb6b9a10f31b6f498 libstdc++-v3/testsuite/23_containers/unordered_multimap/observers.cc ! 22d84d3accdf7a23cb7214ac5db9188f libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/1.cc 647c755134d4c9566b6980673aeccd68 libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/contains.cc bb32f1920bdb2be82d85310bb2ca2bff libstdc++-v3/testsuite/23_containers/unordered_multimap/operations/count.cc 2e7014d6c4a0314d3fd102e4a202e6bb libstdc++-v3/testsuite/23_containers/unordered_multimap/operators/1.cc *************** c3752a38e2c1d19f72b6d75bba98eda4 libstd *** 118331,118343 **** 33060ae3884aeb43105d9ef4b80cedaa libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc 979959d02f973dad1e744522fb447b09 libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc 973ca1df06a62a1dab30c8cbba6d8222 libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc 934b535a4ded49b80dd2de6d3f07ca61 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc c8741641be72710956b2c2bade946f37 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc 1bae3c52c14e2257852a5564d63fe255 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc 39801841ed2c7f34a0eb7458f14ed2d0 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc b98b953e511d4ae9551d046145d4825e libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc 43fb59d331433c49bae72afd4d26a21f libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc ! e1239d6b7b7b78416495c0be144819a7 libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/1.cc b666ad6aebe56ae26abd6ee3c0d85dc7 libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/contains.cc cd7e053fc67c7a3aa92c2e520cbbcd31 libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc accd24778cca6578ff49b5e21efc7041 libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc --- 118876,118889 ---- 33060ae3884aeb43105d9ef4b80cedaa libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_range.cc 979959d02f973dad1e744522fb447b09 libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc 973ca1df06a62a1dab30c8cbba6d8222 libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc + 81ce776a3ac75fcc704e7f3efc65de81 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/114401.cc 934b535a4ded49b80dd2de6d3f07ca61 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc c8741641be72710956b2c2bade946f37 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/emplace.cc 1bae3c52c14e2257852a5564d63fe255 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc 39801841ed2c7f34a0eb7458f14ed2d0 libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc b98b953e511d4ae9551d046145d4825e libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/reserve.cc 43fb59d331433c49bae72afd4d26a21f libstdc++-v3/testsuite/23_containers/unordered_multiset/observers.cc ! a731dbb2cfd4477302f42cee2879fabf libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/1.cc b666ad6aebe56ae26abd6ee3c0d85dc7 libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/contains.cc cd7e053fc67c7a3aa92c2e520cbbcd31 libstdc++-v3/testsuite/23_containers/unordered_multiset/operations/count.cc accd24778cca6578ff49b5e21efc7041 libstdc++-v3/testsuite/23_containers/unordered_multiset/operators/1.cc *************** fc1585878230607f29cb3452abf0bb65 libstd *** 118387,118392 **** --- 118933,118939 ---- 6dfb5fcf619c7a3c70b97f0ad85b3783 libstdc++-v3/testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc ff678e2708f3fae6ea5d0a7f6e93d914 libstdc++-v3/testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc 8720b26f59788b0b50e380829bd3a510 libstdc++-v3/testsuite/23_containers/unordered_set/cons/self_move.cc + 1ff3da9ccb1453e5c696c1a351a88689 libstdc++-v3/testsuite/23_containers/unordered_set/debug/114316.cc d01f4ace87c8df84fd3dde34ba9cb8fe libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc 7fe56c16a56eb09203f1e4d69cc82a30 libstdc++-v3/testsuite/23_containers/unordered_set/debug/89608_neg.cc 8b7f4f03f08aee624f4c9b6dc4457074 libstdc++-v3/testsuite/23_containers/unordered_set/debug/90102.cc *************** b3d6a1cf872a144cec41c7e757253322 libstd *** 118442,118447 **** --- 118989,118995 ---- ea2d05769ddaef56e8e0cb21ee2aaceb libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc f896ce71a0459739b069787016227a8c libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc 9f2b334599f77cdada6aeedbca98b184 libstdc++-v3/testsuite/23_containers/unordered_set/max_load_factor/robustness.cc + 48b51763d3c882761e49bc54aa3174c2 libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/114401.cc 778ed19a9126db5e0894273c22dafb77 libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/92878_92947.cc 304f35b8cbf7542b2d0f10b2c8b73484 libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/emplace.cc b3d707d0ef8647e1593120aea2ce52d4 libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc *************** b3d707d0ef8647e1593120aea2ce52d4 libstd *** 118450,118456 **** 1e2f1a4a999acb88003f9efdd65bb74a libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc bf91c0c253d7803afc34c6f22f45fcdc libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc e4c4250f9b8ecd5990778f4b52fbd379 libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc ! c8f7c57b382cbc817f18c1f3683eb3dd libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc 612ae3ce559481a2014e8548effeebfb libstdc++-v3/testsuite/23_containers/unordered_set/operations/contains.cc fe193b426a721b9cb01d176b5d9cec4d libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc fc1b10bed91a4cbe34ddb022dd8629b8 libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc --- 118998,119004 ---- 1e2f1a4a999acb88003f9efdd65bb74a libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/reserve.cc bf91c0c253d7803afc34c6f22f45fcdc libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/swap.cc e4c4250f9b8ecd5990778f4b52fbd379 libstdc++-v3/testsuite/23_containers/unordered_set/observers.cc ! 34316386793e87914a0c0b20a59f120c libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc 612ae3ce559481a2014e8548effeebfb libstdc++-v3/testsuite/23_containers/unordered_set/operations/contains.cc fe193b426a721b9cb01d176b5d9cec4d libstdc++-v3/testsuite/23_containers/unordered_set/operations/count.cc fc1b10bed91a4cbe34ddb022dd8629b8 libstdc++-v3/testsuite/23_containers/unordered_set/operators/1.cc *************** f773c108033cd139b93bc33d562df472 libstd *** 118499,118504 **** --- 119047,119053 ---- b18f4fd4e99fb5afb4a07e80e90c7fd3 libstdc++-v3/testsuite/23_containers/vector/allocator/noexcept.cc d180494eb6e097c78578d1b9a3e910f0 libstdc++-v3/testsuite/23_containers/vector/allocator/swap.cc 6548323a73fee97190ce031a908c7fcd libstdc++-v3/testsuite/23_containers/vector/bool/1.cc + 4fc9d9cf0cfa9e9f3a7219a3ee234caf libstdc++-v3/testsuite/23_containers/vector/bool/110807.cc 00547507c5a45b6f85c00e5fdbccff4c libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc a830cc0e83dd9df546274fdba18aa9fc libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc 600c54836a5dbe96bb9a78a26fcb77ba libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc *************** e5ce6172cf6fcdb926ab9b03f3e76ade libstd *** 118567,118572 **** --- 119116,119122 ---- 031e5adf8a70e8ab5f1a41371962e7ac libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc 9320329243f60de2ac1ddcfb8440d0e2 libstdc++-v3/testsuite/23_containers/vector/cmp_c++20.cc fa4a6541280ab8fbe2cc5ac8b589b4be libstdc++-v3/testsuite/23_containers/vector/cons/1.cc + 6bfe3fe60e55efb3d1e962aa17c03c0a libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc c7f03648598ef0cab3092f51b3f00744 libstdc++-v3/testsuite/23_containers/vector/cons/2.cc c664a685c6f3a9f8c19d7c9e275a8a93 libstdc++-v3/testsuite/23_containers/vector/cons/3.cc 6c1d7fcf8dd6d3449ee74f6719a389a8 libstdc++-v3/testsuite/23_containers/vector/cons/4.cc *************** b59054fb1d00091880d5605b974fa84c libstd *** 118591,118596 **** --- 119141,119147 ---- d606b36336a2dadf791e67b979e4339f libstdc++-v3/testsuite/23_containers/vector/cons/self_move.cc 24f492a04ed1cc923756df1bae071b06 libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc 2da738c5f0181f4d71a28da3da5b55cf libstdc++-v3/testsuite/23_containers/vector/data_access/constexpr.cc + 4fa73e98667e45918cf4c25a7c91ca77 libstdc++-v3/testsuite/23_containers/vector/debug/114316.cc 74e559d168191ac8aab8ee18bb874277 libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc 785b48251b32d9a10715191b6b3f232b libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc bb0d9a5fe268b68027c7489b19b3402b libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc *************** f64533f104fcd7b3c712a603fae7f687 libstd *** 118601,118607 **** 593e09eaadee5f8080c425ea40c03816 libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc a26e9bf54d2b71f27e159577a2afadce libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc bdf27fc4d63fa2169f932a13bdf4bc6f libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc ! 64aa1b917c51466698efc561f039f2a6 libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc f6db38c243ffc226aad9a0f7df262d93 libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc 1338a1cd93c971ec517e023b6d60c936 libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc 70e68d1757c17b1591477a13b2a96070 libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc --- 119152,119158 ---- 593e09eaadee5f8080c425ea40c03816 libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc a26e9bf54d2b71f27e159577a2afadce libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc bdf27fc4d63fa2169f932a13bdf4bc6f libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc ! 83adeb832c084cfe315fcfecbae880a6 libstdc++-v3/testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc f6db38c243ffc226aad9a0f7df262d93 libstdc++-v3/testsuite/23_containers/vector/debug/assign4_neg.cc 1338a1cd93c971ec517e023b6d60c936 libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc 70e68d1757c17b1591477a13b2a96070 libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc *************** a3fa6ac892c03af3e9ac5480223c052b libstd *** 118624,118629 **** --- 119175,119181 ---- 4a87196e9403a624790ca9432dd45cca libstdc++-v3/testsuite/23_containers/vector/debug/move_neg.cc c5e5cee7fe624866df9bbe1b9e4f8469 libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc 0c398477953df3fbea54c9ecf0e01053 libstdc++-v3/testsuite/23_containers/vector/debug/mutex_association.cc + 7f7ee046dd79fd0dbaee1477492faa9d libstdc++-v3/testsuite/23_containers/vector/debug/n3644.cc db632134bef944d86d86bae8a2aec09c libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc 96f74905ea39392fcf31c306d93cab39 libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-1.cc ba528ca2ec0e773184bd12bfcd212821 libstdc++-v3/testsuite/23_containers/vector/debug_mode_requires_reallocation-2.cc *************** a33efb91b787bf40c3d4736fff85e4fd libstd *** 118784,118790 **** b71c164c19f41e605bbd1c5406034051 libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3390.cc a8e3e1f3fb1408d1056247dd051b75c7 libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3391.cc 73cc87e3970927d6d0a2da1edf59953d libstdc++-v3/testsuite/24_iterators/move_iterator/move_only.cc ! 73d58e3cbae9543e1eeb43f9d31428f7 libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc 9b9fad43f1df4f5a1f9882976e56735c libstdc++-v3/testsuite/24_iterators/move_iterator/rel_ops_c++20.cc 90deb52d353436af1d0ac667e877a9f8 libstdc++-v3/testsuite/24_iterators/move_iterator/sentinel.cc bc688d904bce917c2f66ab4bb619fc40 libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc --- 119336,119342 ---- b71c164c19f41e605bbd1c5406034051 libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3390.cc a8e3e1f3fb1408d1056247dd051b75c7 libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3391.cc 73cc87e3970927d6d0a2da1edf59953d libstdc++-v3/testsuite/24_iterators/move_iterator/move_only.cc ! 07ce682361ed0ad0f811c9f052ebdf97 libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc 9b9fad43f1df4f5a1f9882976e56735c libstdc++-v3/testsuite/24_iterators/move_iterator/rel_ops_c++20.cc 90deb52d353436af1d0ac667e877a9f8 libstdc++-v3/testsuite/24_iterators/move_iterator/sentinel.cc bc688d904bce917c2f66ab4bb619fc40 libstdc++-v3/testsuite/24_iterators/normal_iterator/58403.cc *************** b1a449ccb32a0a264d841cb7be77e70f libstd *** 119183,119188 **** --- 119735,119741 ---- 690cb7765bed6fe88df169bf79ff4be7 libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/requirements/explicit_instantiation/pod.cc f0b5cac939d18d126824dc4b64355130 libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/uchar.cc 06256947d7de04257118d42ce1585812 libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/1.cc + fda158d264fd98a45243c1135a92fa52 libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc 937c47c9ebbb5f0ea137b5120adeff12 libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc 39bfd6a3194043d02813679ddc10fc58 libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc b3a5c4d22b09bb16074d8c3103e3be23 libstdc++-v3/testsuite/25_algorithms/lower_bound/2.cc *************** b09127e5be55f9d7088675c06051c23d libstd *** 119421,119429 **** 6402a8eea1dbb0033272942b55892f1a libstdc++-v3/testsuite/25_algorithms/push_heap/constexpr.cc 300447a9be95466f5df011297fa806ad libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc 7d39ea4ed8d2504aaac0459919884c18 libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc ! 4f12ec8fe34e20426908d102c48c9d1c libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc ! 9df0e164ce57de52f993fa4cb25b21c5 libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc ! 3db61e6594a708bba6029b3bf80f8eb9 libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc a78cddf59da3e1e38c9bd9eefed389ee libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc 72e96a8470ffd9aef86de2dad9a3d19b libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc df7a09e4e4f086a9111ce1c78ecdf0e6 libstdc++-v3/testsuite/25_algorithms/remove/1.cc --- 119974,119983 ---- 6402a8eea1dbb0033272942b55892f1a libstdc++-v3/testsuite/25_algorithms/push_heap/constexpr.cc 300447a9be95466f5df011297fa806ad libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/2.cc 7d39ea4ed8d2504aaac0459919884c18 libstdc++-v3/testsuite/25_algorithms/push_heap/requirements/explicit_instantiation/pod.cc ! 7118f47fbd78f09368a8ba9387fd4c16 libstdc++-v3/testsuite/25_algorithms/random_shuffle/1.cc ! 893da299d8bb2df3037de3328c2da6a0 libstdc++-v3/testsuite/25_algorithms/random_shuffle/59603.cc ! f010199fc562cf76b8dcad255735e3e3 libstdc++-v3/testsuite/25_algorithms/random_shuffle/deprecated.cc ! 5b6d783816586c874a32aa67a77a57d0 libstdc++-v3/testsuite/25_algorithms/random_shuffle/moveable.cc a78cddf59da3e1e38c9bd9eefed389ee libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc 72e96a8470ffd9aef86de2dad9a3d19b libstdc++-v3/testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc df7a09e4e4f086a9111ce1c78ecdf0e6 libstdc++-v3/testsuite/25_algorithms/remove/1.cc *************** ae18304a3e29e9a7b9d6fd736acda81d libstd *** 119822,119827 **** --- 120376,120382 ---- e9d694dfff0062cc8c84255b28675baf libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/serialize.cc 88642ef862ad925ddcf05c3e69b16d88 libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc 384f92442d4823f2bd5a22459fe1525e libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/requirements/typedefs.cc + 334c22069a56db08670dd630ad02a516 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/114359.cc dea617c857e2704c95f88efd4c96f411 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/default.cc 194587166985b86b4c3da1e0e7f167c8 libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/cons/parms.cc 7bf2cad7a363c51103cdf0984b486aab libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/equal.cc *************** b652ef4ebcd5eca7c3f27975a9cbd3b2 libstd *** 120014,120020 **** c07bbecf122934f1933a999d343a397e libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc 78945692b5889519634541c72e1e3f0c libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc ccaf9db763a530c0f83e98c395a1f4ed libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc ! b608fddf5a8b6a0dd71d8cb3ff0e66f2 libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc f1fe6adbf3b76c148bada3e2efbf5215 libstdc++-v3/testsuite/26_numerics/random/random_device/85494.cc 304a2f8657966be6888ed5ad5d633739 libstdc++-v3/testsuite/26_numerics/random/random_device/94087.cc b159f3ec4d050f63db4d68f644b0f02f libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default-cow.cc --- 120569,120575 ---- c07bbecf122934f1933a999d343a397e libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/values.cc 78945692b5889519634541c72e1e3f0c libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc ccaf9db763a530c0f83e98c395a1f4ed libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/typedefs.cc ! b00d6dc836a63a210107ad7565bacd4c libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc f1fe6adbf3b76c148bada3e2efbf5215 libstdc++-v3/testsuite/26_numerics/random/random_device/85494.cc 304a2f8657966be6888ed5ad5d633739 libstdc++-v3/testsuite/26_numerics/random/random_device/94087.cc b159f3ec4d050f63db4d68f644b0f02f libstdc++-v3/testsuite/26_numerics/random/random_device/cons/default-cow.cc *************** f444deaf68a62a27bd976c4e93edd173 libstd *** 120058,120064 **** b0fc8b473dbeab3cad631c8747d86664 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc 8cfe0c378858f3cb0e91803c2e25a59f libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc e014289bf53a639c13d1030b51c5bb91 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc ! f6735a89cd53d5b140b5c2d979ef11c5 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc 4c3a6d7647da465efec2bc5e7c7de1a4 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc 5f62ab25f4040875c9ad8b3a6f1c6f73 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc eb35593d2b236d7313cb2495a8291016 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc --- 120613,120619 ---- b0fc8b473dbeab3cad631c8747d86664 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/55215.cc 8cfe0c378858f3cb0e91803c2e25a59f libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/copy.cc e014289bf53a639c13d1030b51c5bb91 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/default.cc ! 7fdf0ab9b87bcd0e74ad97ad9667a1e1 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc 4c3a6d7647da465efec2bc5e7c7de1a4 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed1.cc 5f62ab25f4040875c9ad8b3a6f1c6f73 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed2.cc eb35593d2b236d7313cb2495a8291016 libstdc++-v3/testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq.cc *************** e142eaac8bc53c504e7f4edc2f94aa5f libstd *** 120118,120123 **** --- 120673,120679 ---- 0818fd220e5ea2cfdcbf7b2143bffe1b libstdc++-v3/testsuite/26_numerics/valarray/83860.cc 508f693677502b475ff5cdca2e48a9ab libstdc++-v3/testsuite/26_numerics/valarray/87641.cc 190a61c9df25f923f210844f75fef9ea libstdc++-v3/testsuite/26_numerics/valarray/95592.cc + 660f003ff214d812c5b64389a98e24fa libstdc++-v3/testsuite/26_numerics/valarray/99117.cc 3a968cfed2971040186787cd117fb429 libstdc++-v3/testsuite/26_numerics/valarray/algo.cc 3e191d68e11822f58de5e4bd15365ca5 libstdc++-v3/testsuite/26_numerics/valarray/binary_closure.cc af9a74f738ac18936b10425fe2d6647b libstdc++-v3/testsuite/26_numerics/valarray/const_bracket.cc *************** ac27193b277ac72f4cbd65ed3588acf8 libstd *** 120530,120535 **** --- 121086,121092 ---- db213265eb248764b3ce5a4e64aa2b1c libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc 105237436138c55ef1eae35666f14ca7 libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc 07da7e62d328b1734dd526a45400c1b1 libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc + e0b8c86bd25f4fc4a5f4baa02e810d07 libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/93672.cc c43802050eadf25b4e20d68807976b89 libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/94749.cc 8f8dd2c48a52ac9a475b6ae904554425 libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/96161.cc 8ff345f4f5c717eff0915f85a585dcbb libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc *************** bec1927c27f3426873b0a0d76e721250 libstd *** 120537,120542 **** --- 121094,121100 ---- 2388b499666e48fba40ef4f6b133ba2c libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc ab8cc8657b41218bd6fd9a45809155e5 libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc 36efa2f194a4a53944dc9a163ca577ce libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc + b970ffcefa492a97a5e8206924debd61 libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc ed3a44eae1c9f0b249f3527ca6c964db libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc 0229b8e24818b3039eed912f7328b314 libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/96161.cc 5b7c578eb4cf4345ed5b6f83c20cd2dc libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc *************** acc8cbac48528e1912d33385e5aa6809 libstd *** 120993,120999 **** 8c33f78dd03e730cfd6fb6e7f071d069 libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc 249621220bf58b3b82d949a916f27c38 libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc b21feaf3945442a938ec54a4401d86e7 libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc ! 910e5781be110c3e15ed3bdf4d4dbb05 libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc 174c747425f2c8a8a5af6df0c12b933b libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc 22ed45f524883e23e793351cf4019f14 libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc 70241ed0411548125d4c89de6fc437a1 libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc --- 121551,121557 ---- 8c33f78dd03e730cfd6fb6e7f071d069 libstdc++-v3/testsuite/27_io/filesystem/operations/create_directory.cc 249621220bf58b3b82d949a916f27c38 libstdc++-v3/testsuite/27_io/filesystem/operations/create_symlink.cc b21feaf3945442a938ec54a4401d86e7 libstdc++-v3/testsuite/27_io/filesystem/operations/current_path.cc ! 79868451e7c586a9b0a218419a43786f libstdc++-v3/testsuite/27_io/filesystem/operations/equivalent.cc 174c747425f2c8a8a5af6df0c12b933b libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc 22ed45f524883e23e793351cf4019f14 libstdc++-v3/testsuite/27_io/filesystem/operations/file_size.cc 70241ed0411548125d4c89de6fc437a1 libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc *************** aa12f3ad5d07760fdef4c7f8339e1ea7 libstd *** 121011,121017 **** 1583f8daa9759aa939ffd5f229ee9688 libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc 2ca07c3423d647fdf0be18fd26ba9438 libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc 09c608f10b3d0f70c15ef68c41af4521 libstdc++-v3/testsuite/27_io/filesystem/operations/weakly_canonical.cc ! 9897c7912c7b47987d118515b02ab561 libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc 3b10bf3958ef0e9907c552b848b5f14a libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc 650ed7e70ba1dbf164c8e81dcf17e802 libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc e2ca87600c4d8aa5eeed7099f196b1bf libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc --- 121569,121575 ---- 1583f8daa9759aa939ffd5f229ee9688 libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc 2ca07c3423d647fdf0be18fd26ba9438 libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc 09c608f10b3d0f70c15ef68c41af4521 libstdc++-v3/testsuite/27_io/filesystem/operations/weakly_canonical.cc ! b2970ce50b620a0f99e06931534c3d14 libstdc++-v3/testsuite/27_io/filesystem/path/108636.cc 3b10bf3958ef0e9907c552b848b5f14a libstdc++-v3/testsuite/27_io/filesystem/path/append/path.cc 650ed7e70ba1dbf164c8e81dcf17e802 libstdc++-v3/testsuite/27_io/filesystem/path/append/source.cc e2ca87600c4d8aa5eeed7099f196b1bf libstdc++-v3/testsuite/27_io/filesystem/path/assign/assign.cc *************** ac25223683bd9bfbeb0c713014c9f177 libstd *** 121165,121171 **** 49495b3830d9d41d5dc6a1026ef360c4 libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc 96adade7e7bc0bfae9d2472877564f7d libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc 0686394db480badce555ad6ba3b8b4c7 libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc ! a8ad0894e95c6f38f03d12a427ad0eb8 libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc 77a741f349cde3730ed5f145b8b0b25c libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc c8f5b51f87a86fe2a5dc6ec47471f8fa libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc 4ee8c021c3d31874263d6699143c55db libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc --- 121723,121729 ---- 49495b3830d9d41d5dc6a1026ef360c4 libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc 96adade7e7bc0bfae9d2472877564f7d libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc 0686394db480badce555ad6ba3b8b4c7 libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/1.cc ! f9fc6a8fa5e232dcbf988040b81bb01d libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc 77a741f349cde3730ed5f145b8b0b25c libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc c8f5b51f87a86fe2a5dc6ec47471f8fa libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc 4ee8c021c3d31874263d6699143c55db libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc *************** acf83cea024e3abfe315cfcefa7da502 libstd *** 121194,121200 **** b301e2e3db8372b168b854f5e1bb9058 libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc 0abf709d86e49e94a9afd45fb3712ee7 libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc ff8780a4567d8e7d8f7f9e93e379445e libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc ! 79ecd86c188e8d5540bc6c9850e1b946 libstdc++-v3/testsuite/27_io/objects/char/2.cc 21cd69be2e74e82e8ed9037e4ce5d06e libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc 8c1b578bb2722053c950f2cf943baf83 libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.in 344ca1bf488cd5a63450ec65277e57a5 libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc --- 121752,121758 ---- b301e2e3db8372b168b854f5e1bb9058 libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc 0abf709d86e49e94a9afd45fb3712ee7 libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc ff8780a4567d8e7d8f7f9e93e379445e libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc ! 8df73c0ae779289bdefed0a456d1d7bb libstdc++-v3/testsuite/27_io/objects/char/2.cc 21cd69be2e74e82e8ed9037e4ce5d06e libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc 8c1b578bb2722053c950f2cf943baf83 libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.in 344ca1bf488cd5a63450ec65277e57a5 libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc *************** bff66c006f13290c0f3b963de18143b4 libstd *** 121238,121244 **** 461b26edbed4e48bb982fcd98bb19c69 libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc 77cd2138ed9bbb3bfcbd2d17e7e543e1 libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc d577273ff885c3f84dadb8578bb41399 libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.in ! 27a842c6eab7fb4404687ce471e04d30 libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc 99ff7aba49fc831f1500ef0885b54959 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc 8c1b578bb2722053c950f2cf943baf83 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.in c96b638c0afdb1582c1843f6a24f2f24 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc --- 121796,121802 ---- 461b26edbed4e48bb982fcd98bb19c69 libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc 77cd2138ed9bbb3bfcbd2d17e7e543e1 libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc d577273ff885c3f84dadb8578bb41399 libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.in ! 2e7570a4264fcf2b658a7f4b361892b5 libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc 99ff7aba49fc831f1500ef0885b54959 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc 8c1b578bb2722053c950f2cf943baf83 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.in c96b638c0afdb1582c1843f6a24f2f24 libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc *************** bb1893529216ccfd448782acac5863b8 libstd *** 121462,121468 **** f1800adc0fc13bc4af222b5b2c2667e7 libstdc++-v3/testsuite/29_atomics/atomic/69301.cc bac63bc83699602fe139dbfa683b9402 libstdc++-v3/testsuite/29_atomics/atomic/69769.cc fa7c4f369fca094c91b1defc0937aa75 libstdc++-v3/testsuite/29_atomics/atomic/70766.cc ! 546783f34bc4e159f0dde6b2f07be089 libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc fc6d3820caef39ab514f64ef5ba6f4a3 libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc bb4c8750d06e6cbcf2c116c8d2fdd3d1 libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc 79087b369afb5044402aed88e633298f libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc --- 122020,122026 ---- f1800adc0fc13bc4af222b5b2c2667e7 libstdc++-v3/testsuite/29_atomics/atomic/69301.cc bac63bc83699602fe139dbfa683b9402 libstdc++-v3/testsuite/29_atomics/atomic/69769.cc fa7c4f369fca094c91b1defc0937aa75 libstdc++-v3/testsuite/29_atomics/atomic/70766.cc ! 9c61550b8e13eb861b1192f9d1f53323 libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc fc6d3820caef39ab514f64ef5ba6f4a3 libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc bb4c8750d06e6cbcf2c116c8d2fdd3d1 libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc 79087b369afb5044402aed88e633298f libstdc++-v3/testsuite/29_atomics/atomic/cons/constexpr.cc *************** bb4c8750d06e6cbcf2c116c8d2fdd3d1 libstd *** 121472,121478 **** 145dd9b0c05cb08436356c84fd5bcb9b libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc 4251989d2e19682c01faed5c294409d4 libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc b3d7e6cfe8b8bd01758e4c07a4c28005 libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc ! 13669ce9c3b9fc155b9c347927c5d6f9 libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc cbcc81eb663d244bc37286ed070abed1 libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc 1405fe779f482abe4dfd50e50b9f6d04 libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc b098b856e7a62fed0201c9aa38383951 libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc --- 122030,122036 ---- 145dd9b0c05cb08436356c84fd5bcb9b libstdc++-v3/testsuite/29_atomics/atomic/cons/direct_list.cc 4251989d2e19682c01faed5c294409d4 libstdc++-v3/testsuite/29_atomics/atomic/cons/single_value.cc b3d7e6cfe8b8bd01758e4c07a4c28005 libstdc++-v3/testsuite/29_atomics/atomic/cons/user_pod.cc ! 74c43187a818b684f8f265cb91a41448 libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc cbcc81eb663d244bc37286ed070abed1 libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc 1405fe779f482abe4dfd50e50b9f6d04 libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc b098b856e7a62fed0201c9aa38383951 libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc *************** c4c61c274e2c6ab8851f938bccf1530e libstd *** 121494,121520 **** c9c5687b83d5e66a805ffe950cac83d5 libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc 3cd35f0fb4be1f9d955b300649eece97 libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc 2e708678e0222d474e226cf7e3e2480c libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc ! a481f362621516d6e7f08e7c27f9f0be libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc 64912eb65ab12d178201345f15f6d007 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc ade1e711ab9abf2c4deed333f3319a06 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc 7f1c3cad47e3e3599b3aa70f611ef10f libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc e02acd19680af8b02c79639a67fbe589 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc 31359feb76943d0b77ee31ee232aab33 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc 91de152c96e55b31684845b480bf75a6 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc ! d65584f859fd3f5d44fd0ea0eef8521a libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc a3996d054f45a5d39813fa14a1913062 libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc 9b717a09a21802342a6ffa37174854a9 libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc 8a4149d17511a47d1dd7ad18c9a940df libstdc++-v3/testsuite/29_atomics/atomic_flag/test/explicit.cc 6518d104b0a1540997f3363ef444f78b libstdc++-v3/testsuite/29_atomics/atomic_flag/test/implicit.cc a7e842dc57d00f08640205c0afdf1ef0 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc ! 70c717ede6f035458e5fe901c2ca036e libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc ! 70c717ede6f035458e5fe901c2ca036e libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc ba055235b4019b20e51a055808cd5185 libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc 4bcf4eb632a05014b615f94fc21a8b1e libstdc++-v3/testsuite/29_atomics/atomic_float/1.cc 468d28b2af26b209bc54a51ab61651e8 libstdc++-v3/testsuite/29_atomics/atomic_float/95282.cc f4bf6e41d3315cb24f0f3f54aa7fab2d libstdc++-v3/testsuite/29_atomics/atomic_float/requirements.cc 86adafba8fcc53fcf11ad93ba1567b43 libstdc++-v3/testsuite/29_atomics/atomic_float/requirements_cxx23.cc ! 5953dc5c5d12c38e65115bb78350edb6 libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc e88e2a7e86fbab56f8131d3b1d7a5965 libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc 973ac4e1dddb4df7b2741790d2116e12 libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc c12f4d2f7bf992fa705068b8c88fdd16 libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc --- 122052,122078 ---- c9c5687b83d5e66a805ffe950cac83d5 libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc 3cd35f0fb4be1f9d955b300649eece97 libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc 2e708678e0222d474e226cf7e3e2480c libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc ! 3fa8c6bebd3ca4bda308df4e5a71d213 libstdc++-v3/testsuite/29_atomics/atomic_flag/clear/1.cc 64912eb65ab12d178201345f15f6d007 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/1.cc ade1e711ab9abf2c4deed333f3319a06 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/56012.cc 7f1c3cad47e3e3599b3aa70f611ef10f libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc e02acd19680af8b02c79639a67fbe589 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc 31359feb76943d0b77ee31ee232aab33 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc 91de152c96e55b31684845b480bf75a6 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc ! 1daa082cb3607fc4f8de78c466f10e11 libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/value_init.cc a3996d054f45a5d39813fa14a1913062 libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc 9b717a09a21802342a6ffa37174854a9 libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/trivial.cc 8a4149d17511a47d1dd7ad18c9a940df libstdc++-v3/testsuite/29_atomics/atomic_flag/test/explicit.cc 6518d104b0a1540997f3363ef444f78b libstdc++-v3/testsuite/29_atomics/atomic_flag/test/implicit.cc a7e842dc57d00f08640205c0afdf1ef0 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc ! 5c536d19be39115a70d95bd7e4bc4393 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc ! 5c536d19be39115a70d95bd7e4bc4393 libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc ba055235b4019b20e51a055808cd5185 libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc 4bcf4eb632a05014b615f94fc21a8b1e libstdc++-v3/testsuite/29_atomics/atomic_float/1.cc 468d28b2af26b209bc54a51ab61651e8 libstdc++-v3/testsuite/29_atomics/atomic_float/95282.cc f4bf6e41d3315cb24f0f3f54aa7fab2d libstdc++-v3/testsuite/29_atomics/atomic_float/requirements.cc 86adafba8fcc53fcf11ad93ba1567b43 libstdc++-v3/testsuite/29_atomics/atomic_float/requirements_cxx23.cc ! 142d510e997b29c8a10ad09152f3ccf3 libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc e88e2a7e86fbab56f8131d3b1d7a5965 libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc 973ac4e1dddb4df7b2741790d2116e12 libstdc++-v3/testsuite/29_atomics/atomic_integral/60940.cc c12f4d2f7bf992fa705068b8c88fdd16 libstdc++-v3/testsuite/29_atomics/atomic_integral/65147.cc *************** a57d62b54106add4ce5f78f9b5901b3e libstd *** 121525,121531 **** 32c002f1f7663b0d110b8d76fd958bcd libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc 13f22896a0868af4c59b25e209a40762 libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc 3386f4a287cd39f5dcb21f016448fb7a libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc ! a2723c5c19b1b7f69742051c26cd873f libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/value_init.cc d02c9a98e792a4c791cc5a80f72372a7 libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc 37d61df3cb659fa4a996968f22f05dbf libstdc++-v3/testsuite/29_atomics/atomic_integral/nonmembers.cc c8087fda6e1c29a30a26d21be01b9589 libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc --- 122083,122089 ---- 32c002f1f7663b0d110b8d76fd958bcd libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/default.cc 13f22896a0868af4c59b25e209a40762 libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/direct_list.cc 3386f4a287cd39f5dcb21f016448fb7a libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/single_value.cc ! bc019794fa5091473b3e76038acfabb0 libstdc++-v3/testsuite/29_atomics/atomic_integral/cons/value_init.cc d02c9a98e792a4c791cc5a80f72372a7 libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc 37d61df3cb659fa4a996968f22f05dbf libstdc++-v3/testsuite/29_atomics/atomic_integral/nonmembers.cc c8087fda6e1c29a30a26d21be01b9589 libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise.cc *************** cad933dc6b8d28e8f17d1aa09d35416b libstd *** 121540,121551 **** a302b840589967dccba2f05e0a5ee9a7 libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc d7a5877c1aef09d115633f941ef5ca14 libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/typedefs.cc 412190e554579a434cafd4a213125119 libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc ! 5ee3f4d73ee435a85ab465063c47674c libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc 5810f61a2ac185ef5f7a713d103bd3cc libstdc++-v3/testsuite/29_atomics/atomic_ref/deduction.cc 52249e8886c8bb5b8296790eb58868bf libstdc++-v3/testsuite/29_atomics/atomic_ref/float.cc ! 8f49986e56627fbfd4c35c35fab2db46 libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc ! 1a4fb50cf97e848d6a245df8db7c57ba libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc ! e57f2e6f9ad1caa6f0ee98233fe4f403 libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc e1136a1bde5040c5511cbef83b6780f6 libstdc++-v3/testsuite/29_atomics/atomic_ref/requirements.cc e23b2883804b35ac5891e75b0a975de3 libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc 931d165ceeb9375465cbf872d0ba3677 libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc --- 122098,122109 ---- a302b840589967dccba2f05e0a5ee9a7 libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/trivial.cc d7a5877c1aef09d115633f941ef5ca14 libstdc++-v3/testsuite/29_atomics/atomic_integral/requirements/typedefs.cc 412190e554579a434cafd4a213125119 libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc ! 55085d5c2c4255f837a5bfb51b768d72 libstdc++-v3/testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc 5810f61a2ac185ef5f7a713d103bd3cc libstdc++-v3/testsuite/29_atomics/atomic_ref/deduction.cc 52249e8886c8bb5b8296790eb58868bf libstdc++-v3/testsuite/29_atomics/atomic_ref/float.cc ! da1a8c556ed954e374d1f4688abe1304 libstdc++-v3/testsuite/29_atomics/atomic_ref/generic.cc ! 5db80624d0c26225ed769082372280bd libstdc++-v3/testsuite/29_atomics/atomic_ref/integral.cc ! ee0145b4da927246f0377681c67256ed libstdc++-v3/testsuite/29_atomics/atomic_ref/pointer.cc e1136a1bde5040c5511cbef83b6780f6 libstdc++-v3/testsuite/29_atomics/atomic_ref/requirements.cc e23b2883804b35ac5891e75b0a975de3 libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc 931d165ceeb9375465cbf872d0ba3677 libstdc++-v3/testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc *************** e23b2883804b35ac5891e75b0a975de3 libstd *** 121556,121562 **** 4566576dc6d6bae28ae5974d8a469277 libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++20.cc fd9969b7cdd62fd1e119db8e8bdf6cdf libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc 5af271ea2712313f414c78333645649b libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++2a.cc ! 50832c30dfcca0b9130dbc556cd6e491 libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc 8f793a0a8dcd336f7edd48cf780787d8 libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc 0b170396131d3e657e1f9d0dcec3429f libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc 5b1af9fe172aee7236f683fc11c916e0 libstdc++-v3/testsuite/30_threads/async/106695.cc --- 122114,122120 ---- 4566576dc6d6bae28ae5974d8a469277 libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++20.cc fd9969b7cdd62fd1e119db8e8bdf6cdf libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc 5af271ea2712313f414c78333645649b libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++2a.cc ! 3e856e5c5a9bbd861afa51f299c70069 libstdc++-v3/testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc 8f793a0a8dcd336f7edd48cf780787d8 libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc 0b170396131d3e657e1f9d0dcec3429f libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc 5b1af9fe172aee7236f683fc11c916e0 libstdc++-v3/testsuite/30_threads/async/106695.cc *************** f13b5a07a73e3b6c2df9424c8b36e909 libstd *** 121795,121800 **** --- 122353,122359 ---- d3736bf6f48b71609b1301f1ebb54f82 libstdc++-v3/testsuite/30_threads/shared_lock/cons/5.cc 194232fd1b1d36b985a7d9832ced43fa libstdc++-v3/testsuite/30_threads/shared_lock/cons/6.cc 28d0ef9dfd21aea280f633c17b86b470 libstdc++-v3/testsuite/30_threads/shared_lock/locking/1.cc + f73343e4c89cb77298874c0578e423c3 libstdc++-v3/testsuite/30_threads/shared_lock/locking/112089.cc cd2f5fee7ce458a17272a6eb673c6483 libstdc++-v3/testsuite/30_threads/shared_lock/locking/2.cc 6420d168bbee85da48953721f64710f9 libstdc++-v3/testsuite/30_threads/shared_lock/locking/3.cc 174db1fe9624895ca5551e0a01b2f4bf libstdc++-v3/testsuite/30_threads/shared_lock/locking/4.cc *************** a2be19985f4562200b534aa694b76eaa libstd *** 122131,122137 **** 8d4b8ad9c1375f3ddf3de53ecc47697a libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc 59c0ce0953c46136062ebe263e8e8cca libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc e0e82e042394c1849c5f00bd1775e91c libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc ! 394bff3243bfa3a81f3f0f45ef2661e9 libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc 1b6e183c01c177bd99d5c23db2df60f5 libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc 80f2753ac2ff8390885b254380917d60 libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc cf4e61341b6797efd1e85f0ac1f2f6f2 libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc --- 122690,122696 ---- 8d4b8ad9c1375f3ddf3de53ecc47697a libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc 59c0ce0953c46136062ebe263e8e8cca libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc e0e82e042394c1849c5f00bd1775e91c libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc ! 0ff9dbb65c3a1a124470e05acaceb0c7 libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc 1b6e183c01c177bd99d5c23db2df60f5 libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc 80f2753ac2ff8390885b254380917d60 libstdc++-v3/testsuite/experimental/filesystem/operations/file_size.cc cf4e61341b6797efd1e85f0ac1f2f6f2 libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc *************** c5933a59fa35123b5f7476b94a3b153c libstd *** 122263,122268 **** --- 122822,122828 ---- 2ebb41182bd0ccc894c6ea518d3ea2eb libstdc++-v3/testsuite/experimental/net/internet/endpoint/extensible.cc ec468421255febe9f30c0b08480f9b93 libstdc++-v3/testsuite/experimental/net/internet/network/v4/cons.cc effbee31a73742de94b337a743054276 libstdc++-v3/testsuite/experimental/net/internet/network/v4/members.cc + b289bacb72f52125d6995bdc98f9a336 libstdc++-v3/testsuite/experimental/net/internet/network/v6/cons.cc 24c60b07806057560068df299d0c0c43 libstdc++-v3/testsuite/experimental/net/internet/resolver/base.cc 62a69b0e6f6cd8d597e4aa7e9c49b1f6 libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/lookup.cc 241eed295598dba2c9847a7e798c8f4c libstdc++-v3/testsuite/experimental/net/internet/resolver/ops/reverse.cc *************** f622008c5ec7680a2ac920136d22446f libstd *** 122362,122367 **** --- 122922,122928 ---- e155a009b2335cbb1d5dbec61a48178f libstdc++-v3/testsuite/experimental/propagate_const/typedefs.cc 604640f7d96bea98e0ab1fb0b28aa71e libstdc++-v3/testsuite/experimental/random/randint.cc 56e02397ebefff69c8ba22a52ab0ab37 libstdc++-v3/testsuite/experimental/ratio/value.cc + 18f1edf3ab8b0c093f8d5f79063f64d3 libstdc++-v3/testsuite/experimental/scopeguard/114152.cc 97b562b4ea6fc1f0be023106d56bcc79 libstdc++-v3/testsuite/experimental/scopeguard/exit.cc 97af52a589fe5083b653ed57d72e004b libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc a63e3ed06f23d2ca257b8e6528aaebc3 libstdc++-v3/testsuite/experimental/set/erasure.cc *************** d6f0083479e5097ec27151965ff89e5d libstd *** 122370,122375 **** --- 122931,122937 ---- 2653d8586849bef6493c2e5b408777ae libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh 03e8f51d7ef48b8a37325dad25e551ed libstdc++-v3/testsuite/experimental/simd/pr109261_constexpr_simd.cc 40516291f4d97883db23570b8f0c38a0 libstdc++-v3/testsuite/experimental/simd/pr109822_cast_functions.cc + 4abe9d75da280cd5bcef090bd6898210 libstdc++-v3/testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc 0b0eeba3af6dbb041b7ca3773f781cda libstdc++-v3/testsuite/experimental/simd/standard_abi_usable.cc 3718cfdb2ca6d6f1e0fb585a7350e074 libstdc++-v3/testsuite/experimental/simd/standard_abi_usable_2.cc 5e5d595bd073d01ac2c22da1f7fe3ccb libstdc++-v3/testsuite/experimental/simd/tests/abs.cc *************** a90de596d241a2c6c6c89e4eba4155a7 libstd *** 122854,122862 **** 7d800a0049ff7dc0ec5c6b7c527079ba libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc 08ad86590480de2a39443788392fc77a libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc 8fa674bc953a01c1fa271914aefe2034 libstdc++-v3/testsuite/ext/vstring/types/23767.cc ! a6f1a27d8f3d66e9588f4ce7e251994d libstdc++-v3/testsuite/lib/dg-options.exp ed5847591437c095665f6661ed099d14 libstdc++-v3/testsuite/lib/gdb-test.exp ! f1f5990b533d0d65cf18eff47771634a libstdc++-v3/testsuite/lib/libstdc++.exp 60624a8d8c9bf2d79f3555d37737721e libstdc++-v3/testsuite/lib/prune.exp a4885d40248bdb0a84a21ff15cf98b24 libstdc++-v3/testsuite/libstdc++-abi/abi.exp 03fb9dda0c4aeecf928fb0fd162aa4ea libstdc++-v3/testsuite/libstdc++-dg/conformance.exp --- 123416,123424 ---- 7d800a0049ff7dc0ec5c6b7c527079ba libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc 08ad86590480de2a39443788392fc77a libstdc++-v3/testsuite/ext/vstring/requirements/typedefs.cc 8fa674bc953a01c1fa271914aefe2034 libstdc++-v3/testsuite/ext/vstring/types/23767.cc ! 836b1951ef1fa1a354ddf55edf9abe5b libstdc++-v3/testsuite/lib/dg-options.exp ed5847591437c095665f6661ed099d14 libstdc++-v3/testsuite/lib/gdb-test.exp ! 896c5c05bf4a2a12ddf034bf4a33bf9c libstdc++-v3/testsuite/lib/libstdc++.exp 60624a8d8c9bf2d79f3555d37737721e libstdc++-v3/testsuite/lib/prune.exp a4885d40248bdb0a84a21ff15cf98b24 libstdc++-v3/testsuite/libstdc++-abi/abi.exp 03fb9dda0c4aeecf928fb0fd162aa4ea libstdc++-v3/testsuite/libstdc++-dg/conformance.exp *************** fbce0fa761037a93203e0670a5f48f4a libstd *** 122864,122878 **** d8b8aa7a79fd9276794c9921ca369a5e libstdc++-v3/testsuite/libstdc++-prettyprinters/59161.cc 2278383a69b32f51aee94ecf72217e2b libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc df972cf7eac7c53650a70738c13461a5 libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc ! 41976b8866417aaf90287761326acfa0 libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc ! 1c11f52e1c36b17f597c9fcad886e716 libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc ! 72e5ff3de3f2b4e67fc3f89ee6fd706f libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc ! 106c0ffdc802ec9705125cf3d5053699 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc 30a3f3fa9ef37d32dca9f7af1e3eda22 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc f87b9609d2bd7a82b882d0575ee859cb libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc dfe27a67d003eb7e13f54526884098df libstdc++-v3/testsuite/libstdc++-prettyprinters/debug_cxx11.cc f7a779a4fb2e70d728e58e1adab5ad3a libstdc++-v3/testsuite/libstdc++-prettyprinters/filesystem-ts.cc ! 26803887d8b667d13bce70d5f80074d5 libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc 4df588303bc50f5e2072cda19ee7e859 libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp a84840509203967b4e0062b15f542bce libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc 47065c46959fca678deeac21e7e23706 libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc --- 123426,123441 ---- d8b8aa7a79fd9276794c9921ca369a5e libstdc++-v3/testsuite/libstdc++-prettyprinters/59161.cc 2278383a69b32f51aee94ecf72217e2b libstdc++-v3/testsuite/libstdc++-prettyprinters/80276.cc df972cf7eac7c53650a70738c13461a5 libstdc++-v3/testsuite/libstdc++-prettyprinters/91997.cc ! d7c372bf46cc2da8c3399d8fdc2381dc libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc ! 1fd32bfe067af46bcb9ab65d9c137bac libstdc++-v3/testsuite/libstdc++-prettyprinters/compat.cc ! aa2d14f98bec26c2e7510cb8ca086fe0 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc ! 2f7ca8966149a8aae6ae6439547cd6ac libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx17.cc 30a3f3fa9ef37d32dca9f7af1e3eda22 libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc f87b9609d2bd7a82b882d0575ee859cb libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc dfe27a67d003eb7e13f54526884098df libstdc++-v3/testsuite/libstdc++-prettyprinters/debug_cxx11.cc f7a779a4fb2e70d728e58e1adab5ad3a libstdc++-v3/testsuite/libstdc++-prettyprinters/filesystem-ts.cc ! 7fb6dd0d90a7ff9213a3109dc4da1fd0 libstdc++-v3/testsuite/libstdc++-prettyprinters/libfundts.cc ! 6a9ac7f69736076c75da48c32d9d24b2 libstdc++-v3/testsuite/libstdc++-prettyprinters/locale.cc 4df588303bc50f5e2072cda19ee7e859 libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp a84840509203967b4e0062b15f542bce libstdc++-v3/testsuite/libstdc++-prettyprinters/shared_ptr.cc 47065c46959fca678deeac21e7e23706 libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc *************** a84840509203967b4e0062b15f542bce libstd *** 122882,122888 **** 8becdf5719f7bfb40f736521750884e6 libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis2.cc 1d7de84d95236a56cde807d758eed08c libstdc++-v3/testsuite/libstdc++-xmethods/array.cc 079d181d7b5f7edc9d9dd450034a6443 libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc ! aeea32cba6dbe72ed07203dc5cb152a2 libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc 1fb7bf97872016d5f8680b70cc1edfd9 libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc 2fcc43982b817fb10d67eb9d352f532f libstdc++-v3/testsuite/libstdc++-xmethods/list.cc 5d63c64f055942dcb4449a2c61f87216 libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc --- 123445,123451 ---- 8becdf5719f7bfb40f736521750884e6 libstdc++-v3/testsuite/libstdc++-prettyprinters/whatis2.cc 1d7de84d95236a56cde807d758eed08c libstdc++-v3/testsuite/libstdc++-xmethods/array.cc 079d181d7b5f7edc9d9dd450034a6443 libstdc++-v3/testsuite/libstdc++-xmethods/associative-containers.cc ! 45efd01d4352c92afbd4116451efea78 libstdc++-v3/testsuite/libstdc++-xmethods/deque.cc 1fb7bf97872016d5f8680b70cc1edfd9 libstdc++-v3/testsuite/libstdc++-xmethods/forwardlist.cc 2fcc43982b817fb10d67eb9d352f532f libstdc++-v3/testsuite/libstdc++-xmethods/list.cc 5d63c64f055942dcb4449a2c61f87216 libstdc++-v3/testsuite/libstdc++-xmethods/shared_ptr.cc *************** b50f7790625af70d2584bce7448797a3 libstd *** 123111,123129 **** 7c33090d5221d00fb69f073eb3a39e01 libstdc++-v3/testsuite/std/concepts/concepts.object/movable.cc dee3f965ae51e534527b2ab57de6173c libstdc++-v3/testsuite/std/concepts/concepts.object/regular.cc e5c73ec71149072c79be3cd39964fc84 libstdc++-v3/testsuite/std/concepts/concepts.object/semiregular.cc ! 046f33d2ff84e5fae2abfd2e7e10afa0 libstdc++-v3/testsuite/std/format/arguments/args.cc ! cb2b08cb95c43b796a8c818d17beea18 libstdc++-v3/testsuite/std/format/arguments/lwg3810.cc 26cb34ad3aa73e01fb7d018f1b97e73e libstdc++-v3/testsuite/std/format/error.cc c4026a6d0520e4329e27fe92fdd65a86 libstdc++-v3/testsuite/std/format/format_string.cc 5477cf5cf0d83c16c3641c1ba9a1fca9 libstdc++-v3/testsuite/std/format/formatter/concept.cc 912a5a69faf2558c407722cee5b26879 libstdc++-v3/testsuite/std/format/formatter/requirements.cc 926f89ddc54be9fcf8daa5c0a5f35b88 libstdc++-v3/testsuite/std/format/functions/107871.cc ! 539b9f6e3e0e98e6a078213706cb9e5d libstdc++-v3/testsuite/std/format/functions/format.cc ! adea3692874c12de1ef302342290acad libstdc++-v3/testsuite/std/format/functions/format_to_n.cc f2b7be2affed39b62b231f2ae4daa238 libstdc++-v3/testsuite/std/format/functions/size.cc ! 61c3ceb1139d985da2be137364958d61 libstdc++-v3/testsuite/std/format/functions/vformat_to.cc f38f22350a146242f27e6c8a18672de9 libstdc++-v3/testsuite/std/format/parse_ctx.cc ! 2adae010f2b81109f77fcf0d51c52313 libstdc++-v3/testsuite/std/format/string.cc e7cae8900990c6d06575306162ce472a libstdc++-v3/testsuite/std/format/string_neg.cc 724a6ad5cf32f4b761c837d18aebb201 libstdc++-v3/testsuite/std/ranges/97600.cc 098cf5ff316bfa8fe61f6c4ef6c78d37 libstdc++-v3/testsuite/std/ranges/access/101782.cc --- 123674,123698 ---- 7c33090d5221d00fb69f073eb3a39e01 libstdc++-v3/testsuite/std/concepts/concepts.object/movable.cc dee3f965ae51e534527b2ab57de6173c libstdc++-v3/testsuite/std/concepts/concepts.object/regular.cc e5c73ec71149072c79be3cd39964fc84 libstdc++-v3/testsuite/std/concepts/concepts.object/semiregular.cc ! 576d75aaf7d2aae28e341cda63776ff9 libstdc++-v3/testsuite/std/format/arguments/112607.cc ! b9c3ea7130154a38dba11b27e2a33dd6 libstdc++-v3/testsuite/std/format/arguments/args.cc ! 86404cb94182c29843b1d0bb30b8d9dd libstdc++-v3/testsuite/std/format/arguments/args_neg.cc ! 3c510d04daf35518cf5c56c6859f3d86 libstdc++-v3/testsuite/std/format/arguments/lwg3810.cc 26cb34ad3aa73e01fb7d018f1b97e73e libstdc++-v3/testsuite/std/format/error.cc c4026a6d0520e4329e27fe92fdd65a86 libstdc++-v3/testsuite/std/format/format_string.cc + 6fa5a2c92632d72f763333e89659d4a5 libstdc++-v3/testsuite/std/format/formatter/112832.cc + 6dfab89727d04a1035aba73afcf4d6a8 libstdc++-v3/testsuite/std/format/formatter/basic.cc 5477cf5cf0d83c16c3641c1ba9a1fca9 libstdc++-v3/testsuite/std/format/formatter/concept.cc 912a5a69faf2558c407722cee5b26879 libstdc++-v3/testsuite/std/format/formatter/requirements.cc 926f89ddc54be9fcf8daa5c0a5f35b88 libstdc++-v3/testsuite/std/format/functions/107871.cc ! 4037aac1f41e45d7a8422b65aea24e07 libstdc++-v3/testsuite/std/format/functions/format.cc ! 48557cbd39e13d7e8ae282149478ea92 libstdc++-v3/testsuite/std/format/functions/format_c++23.cc ! e891997379a2804aff5d4567d8e50802 libstdc++-v3/testsuite/std/format/functions/format_to.cc ! 5763728e220b19553b5285dbd2311349 libstdc++-v3/testsuite/std/format/functions/format_to_n.cc f2b7be2affed39b62b231f2ae4daa238 libstdc++-v3/testsuite/std/format/functions/size.cc ! 2b800b01827baa23fc4b03adf9d1deca libstdc++-v3/testsuite/std/format/functions/vformat_to.cc f38f22350a146242f27e6c8a18672de9 libstdc++-v3/testsuite/std/format/parse_ctx.cc ! 6697eaec1a7fb47e901a7e6113212a5f libstdc++-v3/testsuite/std/format/string.cc e7cae8900990c6d06575306162ce472a libstdc++-v3/testsuite/std/format/string_neg.cc 724a6ad5cf32f4b761c837d18aebb201 libstdc++-v3/testsuite/std/ranges/97600.cc 098cf5ff316bfa8fe61f6c4ef6c78d37 libstdc++-v3/testsuite/std/ranges/access/101782.cc *************** fbe0c8c2b69ba1b4bbb1acb0b57446ef libstd *** 123193,123199 **** b0e801f51482c5128148a84afa8ad1a2 libstdc++-v3/testsuite/std/ranges/iota/iota_view.cc 5f4f4d10653c8554eb7abe7448816e18 libstdc++-v3/testsuite/std/ranges/iota/iterator.cc c4c9f3c3d7a7e40b3ed559c255d3c4db libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc ! fed5d150d99273758f5d77acaddfcf68 libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc 2c630e1efad2da1f8f66e2d6e8c02e2c libstdc++-v3/testsuite/std/ranges/iota/size.cc ffd1e161360542a85035e61017a148be libstdc++-v3/testsuite/std/ranges/istream_view.cc 1451ff29f4fda6d96579803764fcc33e libstdc++-v3/testsuite/std/ranges/p2259.cc --- 123762,123768 ---- b0e801f51482c5128148a84afa8ad1a2 libstdc++-v3/testsuite/std/ranges/iota/iota_view.cc 5f4f4d10653c8554eb7abe7448816e18 libstdc++-v3/testsuite/std/ranges/iota/iterator.cc c4c9f3c3d7a7e40b3ed559c255d3c4db libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc ! 61bb8a5b8c6acdcdfd1491b403aaae25 libstdc++-v3/testsuite/std/ranges/iota/max_size_type.cc 2c630e1efad2da1f8f66e2d6e8c02e2c libstdc++-v3/testsuite/std/ranges/iota/size.cc ffd1e161360542a85035e61017a148be libstdc++-v3/testsuite/std/ranges/istream_view.cc 1451ff29f4fda6d96579803764fcc33e libstdc++-v3/testsuite/std/ranges/p2259.cc *************** bdce08f2fd8fced9e4b963933e9a7751 libstd *** 123208,123213 **** --- 123777,123783 ---- 116d0cf0585a091738f4cd379682ce98 libstdc++-v3/testsuite/std/ranges/single_view.cc d8ca7990dfbb17794aaa2cb6f3f9029b libstdc++-v3/testsuite/std/ranges/sized.cc 3b43079628213bcfeda0d10685ba810f libstdc++-v3/testsuite/std/ranges/subrange/1.cc + 1b1867dca54804ebf61ac12f0ff3e7fc libstdc++-v3/testsuite/std/ranges/subrange/111948.cc aa9b5d321d5828991047eebe29838127 libstdc++-v3/testsuite/std/ranges/subrange/96042.cc 3ccf34bd2bf97b2cd71e28104381c67f libstdc++-v3/testsuite/std/ranges/subrange/97512.cc 1296c3e0f2c2c6e1cbf08f5653d24b2d libstdc++-v3/testsuite/std/ranges/subrange/constexpr.cc *************** e558156d543990fd7ffedd413e678c0f libstd *** 123220,123295 **** 6cd4bc58902113776271473a39e74ec7 libstdc++-v3/testsuite/std/ranges/view.cc be195a164d7b231d7be0ceceab7d53c7 libstdc++-v3/testsuite/std/ranges/zip/1.cc 2f16a173debd2e7c50247b158bd4cbf1 libstdc++-v3/testsuite/std/ranges/zip_transform/1.cc ! ee7652ea42e5031327abb4f8315facae libstdc++-v3/testsuite/std/time/clock/file/io.cc ! de019e281cdaf6075e762790102dc210 libstdc++-v3/testsuite/std/time/clock/file/members.cc 345478b5ce7c143f57ec487df78d136d libstdc++-v3/testsuite/std/time/clock/file/overview.cc 17f8bff974757122a65883e7c33d9d80 libstdc++-v3/testsuite/std/time/clock/gps/1.cc ! ee3357c7e618ae304cc7c077ad99250e libstdc++-v3/testsuite/std/time/clock/gps/io.cc ! 49612e52ca75c4984719066184c838f2 libstdc++-v3/testsuite/std/time/clock/system/io.cc 001b9c894be15711431b32cf6934f07e libstdc++-v3/testsuite/std/time/clock/tai/1.cc ! 4581186923bfee1ff082d1623439b7b2 libstdc++-v3/testsuite/std/time/clock/tai/io.cc 7e3e7a495e0c19958f10682f7b49296d libstdc++-v3/testsuite/std/time/clock/utc/1.cc ! d7a2ab596a1b06482b061042f5198b80 libstdc++-v3/testsuite/std/time/clock/utc/io.cc ff09d6a4a1def92f6d35e9fe30514c86 libstdc++-v3/testsuite/std/time/clock/utc/leap_second_info.cc 0a3070814d79652e6b1fe27f7015a3ac libstdc++-v3/testsuite/std/time/day/1.cc ! 3234fda9c7db00142a0a6e1c968827bc libstdc++-v3/testsuite/std/time/day/io.cc e59bae3ab8463e3865786e0a60bdd79a libstdc++-v3/testsuite/std/time/exceptions.cc ! e340d9c94f55b0de854ab174c7b77be1 libstdc++-v3/testsuite/std/time/format.cc 41f97e07a76cb7a65bc750e893046837 libstdc++-v3/testsuite/std/time/hh_mm_ss/1.cc ! d285919b86280431458a01fecc206b78 libstdc++-v3/testsuite/std/time/hh_mm_ss/io.cc a065073fed0dc7a95626c6b2486f9c90 libstdc++-v3/testsuite/std/time/is_am/1.cc 934d22cca880b0654a2f723d66d222c5 libstdc++-v3/testsuite/std/time/is_pm/1.cc 1aa818c227a28fca2d3c2e546b6014d6 libstdc++-v3/testsuite/std/time/make12/1.cc 87596ab8b1810f739b3d2c858bfda056 libstdc++-v3/testsuite/std/time/make24/1.cc ! 6d13629702dec4ce25a5515a54a2cb12 libstdc++-v3/testsuite/std/time/month/1.cc ! c263683a0a820e1160b863dab1f8b4bb libstdc++-v3/testsuite/std/time/month/io.cc 1fbdb236aee5632defb6a49d0a7f2343 libstdc++-v3/testsuite/std/time/month_day/1.cc ! a55cb85e3f700d5c08d894894bcbf732 libstdc++-v3/testsuite/std/time/month_day/io.cc 06d533d7768fc8578d8eda6d088e4d80 libstdc++-v3/testsuite/std/time/month_day_last/1.cc ! f8137cf2b7268deca445b608b724582f libstdc++-v3/testsuite/std/time/month_day_last/io.cc 30329d39dbdea7d9e594efa4ec789ca8 libstdc++-v3/testsuite/std/time/month_weekday/1.cc ! 3871c80ed0308e9fce0afefa2705ad05 libstdc++-v3/testsuite/std/time/month_weekday/io.cc 71b488ba190e1fd6939837bf46203724 libstdc++-v3/testsuite/std/time/month_weekday_last/1.cc ! 8b41016f0391e12fce69c8a18b514136 libstdc++-v3/testsuite/std/time/month_weekday_last/io.cc 27e853caa7b6fdb3f25f35a90139dbaf libstdc++-v3/testsuite/std/time/syn_c++20.cc ac082744b5a33ad2dcb6eff594cf3d6f libstdc++-v3/testsuite/std/time/time_zone/get_info_local.cc 678f61b38f9d54cc6d494cbe2b1ddcb2 libstdc++-v3/testsuite/std/time/time_zone/get_info_sys.cc 61384ef28db3a8798c62cac5d1d159f0 libstdc++-v3/testsuite/std/time/time_zone/requirements.cc 75d0e4e06ccb5ac2db3d6835ab3af815 libstdc++-v3/testsuite/std/time/traits/is_clock.cc 0d9016886ac8724855b531f459418ee9 libstdc++-v3/testsuite/std/time/tzdb/1.cc ! 5a22aa736979185867e205d90f4958eb libstdc++-v3/testsuite/std/time/tzdb/leap_seconds.cc 017128485d4a5d97449c74cacee711c0 libstdc++-v3/testsuite/std/time/tzdb_list/1.cc b2c3486444c7d0802d426b76e32fd654 libstdc++-v3/testsuite/std/time/tzdb_list/requirements.cc ! dadc3869fe5d7d3c56bdcfdcecd6afce libstdc++-v3/testsuite/std/time/weekday/1.cc ! f95d58231c9339ff36200d9e92765348 libstdc++-v3/testsuite/std/time/weekday/io.cc 642869ce92d47849ba692534f16ca9b1 libstdc++-v3/testsuite/std/time/weekday_indexed/1.cc ! 566653ecac04b9b7a4fb0d9d16bd24f8 libstdc++-v3/testsuite/std/time/weekday_indexed/io.cc e85706a5d088f27116f5313bab867832 libstdc++-v3/testsuite/std/time/weekday_last/1.cc ! 5f7a4e4cd05140c68efc33aab7a3dfbd libstdc++-v3/testsuite/std/time/weekday_last/io.cc 2f522b2d1539ef4d4c5830b531383128 libstdc++-v3/testsuite/std/time/year/1.cc b4b5555eed9f72e596d8a47999c8c22a libstdc++-v3/testsuite/std/time/year/2.cc ! 7fb9ca3717478c0ad0785144b32a2eac libstdc++-v3/testsuite/std/time/year/io.cc 7007e8b8d8525993a75f7579ea2df82e libstdc++-v3/testsuite/std/time/year_month/1.cc 42f6d1ee26de877196c319656c04d2be libstdc++-v3/testsuite/std/time/year_month/2.cc ! 96a5d4378aff8aba076297e13844bd8f libstdc++-v3/testsuite/std/time/year_month/io.cc dcf0c2c567cc3e430a238302b4a54311 libstdc++-v3/testsuite/std/time/year_month_day/1.cc 129d33645a33168bdf2fd41ea190d6c7 libstdc++-v3/testsuite/std/time/year_month_day/2.cc 51be2d08488e21c716ad13896b4096c9 libstdc++-v3/testsuite/std/time/year_month_day/3.cc 7c4a781d2180605515afd61852d8da8e libstdc++-v3/testsuite/std/time/year_month_day/4.cc ! 06b10a26f0594d9a9ae8c53a97016b05 libstdc++-v3/testsuite/std/time/year_month_day/io.cc 56115e8f7ded83190b923d482cee7547 libstdc++-v3/testsuite/std/time/year_month_day_last/1.cc a1ed8b68cdfcdb0dc062a4188ce8089e libstdc++-v3/testsuite/std/time/year_month_day_last/2.cc ! 192de95caad18b1d43f6bb426673e66e libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc 59f5e3a26d088b2572b275760e6eb6f4 libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc a28a57366dd5cc54848fd6ed5db6aac8 libstdc++-v3/testsuite/std/time/year_month_weekday/2.cc 3072dc16557cfa068725f8eb64cd1641 libstdc++-v3/testsuite/std/time/year_month_weekday/3.cc ! b200e472d215b490fa5c593ea10ba637 libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc ed486cc2e31c6afcdde6ef9f6c13f745 libstdc++-v3/testsuite/std/time/year_month_weekday_last/1.cc 15b706df86afb798c79dd4393c23886e libstdc++-v3/testsuite/std/time/year_month_weekday_last/2.cc ! 73dc43c0f73dbf82ea1f2c0272d4f4ed libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc 30bc9b2fd2b40e8027fe0054e4a38fe7 libstdc++-v3/testsuite/std/time/zoned_time/1.cc c5b4f50004a5d67e4537e73a7737a3b1 libstdc++-v3/testsuite/std/time/zoned_time/custom.cc 189c09d558551ffe49e3d2dc9834b8a4 libstdc++-v3/testsuite/std/time/zoned_time/deduction.cc 2efed5bb6e9bdea0ea3cd7fb040c1711 libstdc++-v3/testsuite/std/time/zoned_time/req_neg.cc a486e4fae5e727ed071c66c4751798e5 libstdc++-v3/testsuite/std/time/zoned_time/requirements.cc 2e901ad2401971034cd40a777684dcf6 libstdc++-v3/testsuite/std/time/zoned_traits.cc --- 123790,123868 ---- 6cd4bc58902113776271473a39e74ec7 libstdc++-v3/testsuite/std/ranges/view.cc be195a164d7b231d7be0ceceab7d53c7 libstdc++-v3/testsuite/std/ranges/zip/1.cc 2f16a173debd2e7c50247b158bd4cbf1 libstdc++-v3/testsuite/std/ranges/zip_transform/1.cc ! be10c13acd828ebea73db44489485d31 libstdc++-v3/testsuite/std/time/clock/file/io.cc ! be910052b3c95c93d92af43b6a22b3be libstdc++-v3/testsuite/std/time/clock/file/members.cc 345478b5ce7c143f57ec487df78d136d libstdc++-v3/testsuite/std/time/clock/file/overview.cc 17f8bff974757122a65883e7c33d9d80 libstdc++-v3/testsuite/std/time/clock/gps/1.cc ! 582df7dcaed4b97a2a4f6c981cd9c658 libstdc++-v3/testsuite/std/time/clock/gps/io.cc ! 74c3a6dc91a891549033088b48ed9eb7 libstdc++-v3/testsuite/std/time/clock/system/io.cc 001b9c894be15711431b32cf6934f07e libstdc++-v3/testsuite/std/time/clock/tai/1.cc ! 7db468492a30dc966a62a5676e3f47d5 libstdc++-v3/testsuite/std/time/clock/tai/io.cc 7e3e7a495e0c19958f10682f7b49296d libstdc++-v3/testsuite/std/time/clock/utc/1.cc ! 23476f1e3b3d23b2649d29884d101d56 libstdc++-v3/testsuite/std/time/clock/utc/io.cc ff09d6a4a1def92f6d35e9fe30514c86 libstdc++-v3/testsuite/std/time/clock/utc/leap_second_info.cc 0a3070814d79652e6b1fe27f7015a3ac libstdc++-v3/testsuite/std/time/day/1.cc ! 77463919543ba53beb10607117a38a31 libstdc++-v3/testsuite/std/time/day/io.cc e59bae3ab8463e3865786e0a60bdd79a libstdc++-v3/testsuite/std/time/exceptions.cc ! 76f7879f2fb1d1595c4d18f03a52e6e6 libstdc++-v3/testsuite/std/time/format.cc 41f97e07a76cb7a65bc750e893046837 libstdc++-v3/testsuite/std/time/hh_mm_ss/1.cc ! c4cc8acc0b99459e782a764012ec7dba libstdc++-v3/testsuite/std/time/hh_mm_ss/io.cc a065073fed0dc7a95626c6b2486f9c90 libstdc++-v3/testsuite/std/time/is_am/1.cc 934d22cca880b0654a2f723d66d222c5 libstdc++-v3/testsuite/std/time/is_pm/1.cc 1aa818c227a28fca2d3c2e546b6014d6 libstdc++-v3/testsuite/std/time/make12/1.cc 87596ab8b1810f739b3d2c858bfda056 libstdc++-v3/testsuite/std/time/make24/1.cc ! 43a4e44d54ec6859e52e1bcc0c9e3e5c libstdc++-v3/testsuite/std/time/month/1.cc ! b7a5373ed0797aa495f69436f1939726 libstdc++-v3/testsuite/std/time/month/2.cc ! 7e479ae5ca8265cd19dd07f766a60526 libstdc++-v3/testsuite/std/time/month/io.cc 1fbdb236aee5632defb6a49d0a7f2343 libstdc++-v3/testsuite/std/time/month_day/1.cc ! 3a975002efe1fa2e12dde1fd56899ff8 libstdc++-v3/testsuite/std/time/month_day/io.cc 06d533d7768fc8578d8eda6d088e4d80 libstdc++-v3/testsuite/std/time/month_day_last/1.cc ! 99b605b0024f4964f2ac3012a95043ef libstdc++-v3/testsuite/std/time/month_day_last/io.cc 30329d39dbdea7d9e594efa4ec789ca8 libstdc++-v3/testsuite/std/time/month_weekday/1.cc ! a10ddc36ca5b426a02ccdd5079f271cf libstdc++-v3/testsuite/std/time/month_weekday/io.cc 71b488ba190e1fd6939837bf46203724 libstdc++-v3/testsuite/std/time/month_weekday_last/1.cc ! 4c0cd57deaf2b5a26dc56ec7733b81d3 libstdc++-v3/testsuite/std/time/month_weekday_last/io.cc 27e853caa7b6fdb3f25f35a90139dbaf libstdc++-v3/testsuite/std/time/syn_c++20.cc ac082744b5a33ad2dcb6eff594cf3d6f libstdc++-v3/testsuite/std/time/time_zone/get_info_local.cc 678f61b38f9d54cc6d494cbe2b1ddcb2 libstdc++-v3/testsuite/std/time/time_zone/get_info_sys.cc 61384ef28db3a8798c62cac5d1d159f0 libstdc++-v3/testsuite/std/time/time_zone/requirements.cc 75d0e4e06ccb5ac2db3d6835ab3af815 libstdc++-v3/testsuite/std/time/traits/is_clock.cc 0d9016886ac8724855b531f459418ee9 libstdc++-v3/testsuite/std/time/tzdb/1.cc ! 4df74ec3b21766e5f9628e0ce23bde18 libstdc++-v3/testsuite/std/time/tzdb/leap_seconds.cc 017128485d4a5d97449c74cacee711c0 libstdc++-v3/testsuite/std/time/tzdb_list/1.cc b2c3486444c7d0802d426b76e32fd654 libstdc++-v3/testsuite/std/time/tzdb_list/requirements.cc ! 013359a7005b3f65c0f9b0b16356fafa libstdc++-v3/testsuite/std/time/weekday/1.cc ! d6cb5f0804c9bd14e047294d47decf33 libstdc++-v3/testsuite/std/time/weekday/2.cc ! cdb2ea791ba9eb7ddb4551a829904423 libstdc++-v3/testsuite/std/time/weekday/io.cc 642869ce92d47849ba692534f16ca9b1 libstdc++-v3/testsuite/std/time/weekday_indexed/1.cc ! dc49b0641b0c5749177888953dd3c115 libstdc++-v3/testsuite/std/time/weekday_indexed/io.cc e85706a5d088f27116f5313bab867832 libstdc++-v3/testsuite/std/time/weekday_last/1.cc ! b82c470acae63cef5325aac1a3d14c03 libstdc++-v3/testsuite/std/time/weekday_last/io.cc 2f522b2d1539ef4d4c5830b531383128 libstdc++-v3/testsuite/std/time/year/1.cc b4b5555eed9f72e596d8a47999c8c22a libstdc++-v3/testsuite/std/time/year/2.cc ! dbb8e7cac3ac881f827a7981e9e4d105 libstdc++-v3/testsuite/std/time/year/io.cc 7007e8b8d8525993a75f7579ea2df82e libstdc++-v3/testsuite/std/time/year_month/1.cc 42f6d1ee26de877196c319656c04d2be libstdc++-v3/testsuite/std/time/year_month/2.cc ! 318d1408db26223deaca35602e1f1f78 libstdc++-v3/testsuite/std/time/year_month/io.cc dcf0c2c567cc3e430a238302b4a54311 libstdc++-v3/testsuite/std/time/year_month_day/1.cc 129d33645a33168bdf2fd41ea190d6c7 libstdc++-v3/testsuite/std/time/year_month_day/2.cc 51be2d08488e21c716ad13896b4096c9 libstdc++-v3/testsuite/std/time/year_month_day/3.cc 7c4a781d2180605515afd61852d8da8e libstdc++-v3/testsuite/std/time/year_month_day/4.cc ! 3a18f06c105c0b4b05f5df2b586ee997 libstdc++-v3/testsuite/std/time/year_month_day/io.cc 56115e8f7ded83190b923d482cee7547 libstdc++-v3/testsuite/std/time/year_month_day_last/1.cc a1ed8b68cdfcdb0dc062a4188ce8089e libstdc++-v3/testsuite/std/time/year_month_day_last/2.cc ! a6d8dcdec15c320cc81d096e537ad4df libstdc++-v3/testsuite/std/time/year_month_day_last/io.cc 59f5e3a26d088b2572b275760e6eb6f4 libstdc++-v3/testsuite/std/time/year_month_weekday/1.cc a28a57366dd5cc54848fd6ed5db6aac8 libstdc++-v3/testsuite/std/time/year_month_weekday/2.cc 3072dc16557cfa068725f8eb64cd1641 libstdc++-v3/testsuite/std/time/year_month_weekday/3.cc ! 0b0f75609a7ad030967beae5928809a4 libstdc++-v3/testsuite/std/time/year_month_weekday/io.cc ed486cc2e31c6afcdde6ef9f6c13f745 libstdc++-v3/testsuite/std/time/year_month_weekday_last/1.cc 15b706df86afb798c79dd4393c23886e libstdc++-v3/testsuite/std/time/year_month_weekday_last/2.cc ! 1393e1d717ce075aba495ed2dafbedaf libstdc++-v3/testsuite/std/time/year_month_weekday_last/io.cc 30bc9b2fd2b40e8027fe0054e4a38fe7 libstdc++-v3/testsuite/std/time/zoned_time/1.cc c5b4f50004a5d67e4537e73a7737a3b1 libstdc++-v3/testsuite/std/time/zoned_time/custom.cc 189c09d558551ffe49e3d2dc9834b8a4 libstdc++-v3/testsuite/std/time/zoned_time/deduction.cc + 59b340d5c1d26a795b8807bd3d3265f6 libstdc++-v3/testsuite/std/time/zoned_time/io.cc 2efed5bb6e9bdea0ea3cd7fb040c1711 libstdc++-v3/testsuite/std/time/zoned_time/req_neg.cc a486e4fae5e727ed071c66c4751798e5 libstdc++-v3/testsuite/std/time/zoned_time/requirements.cc 2e901ad2401971034cd40a777684dcf6 libstdc++-v3/testsuite/std/time/zoned_traits.cc *************** b36931db2a8f2b0fe9543bf899bd089c libstd *** 123865,123874 **** 58a7a25705a4dc2eeedb71b6867bf2b2 libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc 098e517e607a3ae60f690522686fe6f6 libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc 923d578796e122e41680bd2c7cca18cb libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc ! 39c70452fd974ac86d42b9e592591d34 libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b5c2fe211bf9c84c66acf4afbde06aad libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc 24a14db0197d6212e136d74c00505284 libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc ! 741dec65d3f782e773d6b874e82f3ad5 libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc 673034f98e0c0ddb0d3fa6247d97253e libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc 5686228503838b011542541d6082196d libstdc++-v3/testsuite/tr1/headers/all.cc 12659d21f3b223bcae119a9ecee4a916 libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc --- 124438,124447 ---- 58a7a25705a4dc2eeedb71b6867bf2b2 libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc 098e517e607a3ae60f690522686fe6f6 libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc 923d578796e122e41680bd2c7cca18cb libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc ! 1dc72ec6936ef0981aad79d73a2fae62 libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b5c2fe211bf9c84c66acf4afbde06aad libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc 24a14db0197d6212e136d74c00505284 libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc ! 4acbc5391021aee3aece29d5d6a7314e libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc 673034f98e0c0ddb0d3fa6247d97253e libstdc++-v3/testsuite/tr1/8_c_compatibility/cwctype/functions.cc 5686228503838b011542541d6082196d libstdc++-v3/testsuite/tr1/headers/all.cc 12659d21f3b223bcae119a9ecee4a916 libstdc++-v3/testsuite/tr1/headers/c++200x/complex.cc *************** e0c8e7f7937cda5b1dda18c9ecff0912 libstd *** 123888,123893 **** --- 124461,124467 ---- f2b2ba6e35c391e64f6d50df18097cc6 libstdc++-v3/testsuite/tr2/dynamic_bitset/pr58729.cc 71669505661c2946ee4dafce7d8bfe1c libstdc++-v3/testsuite/tr2/dynamic_bitset/pr87784.cc 0c8a30db56f78f068645e9dd357dde96 libstdc++-v3/testsuite/tr2/dynamic_bitset/pr92059.cc + ecda9a957b2187c0e03c98357f9a8f67 libstdc++-v3/testsuite/tr2/dynamic_bitset/string.cc 42a9adc5cccf273cb201a29046ab15d3 libstdc++-v3/testsuite/tr2/headers/all.cc 39e9038df96f7174d951bfb99b668705 libstdc++-v3/testsuite/tr2/headers/using_namespace_std_tr2.cc 3f504b564e8bbb68660e8b348c364550 libstdc++-v3/testsuite/util/atomic/wait_notify_util.h *************** b959f4a7cd4f5ad3d325768dde446db1 libstd *** 123956,123962 **** 0d4fa178cfcc2fb96dd7c399e198834b libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp 52c6900722ee67ff558b822970db27a3 libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp f229f005fb6b0edfab2a25224f4aa670 libstdc++-v3/testsuite/util/pstl/pstl_test_config.h ! 315ea42a1d905634a70b6bfebf2b60e4 libstdc++-v3/testsuite/util/pstl/test_utils.h 003844f55573cc118124d116805c1adc libstdc++-v3/testsuite/util/regression/basic_type.hpp 46c4a74fef4d84afbb0cfc2f849dc12f libstdc++-v3/testsuite/util/regression/common_type.hpp fff8cf1d581ff764a0de843c83a778de libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h --- 124530,124536 ---- 0d4fa178cfcc2fb96dd7c399e198834b libstdc++-v3/testsuite/util/performance/time/elapsed_timer.hpp 52c6900722ee67ff558b822970db27a3 libstdc++-v3/testsuite/util/performance/time/timing_test_base.hpp f229f005fb6b0edfab2a25224f4aa670 libstdc++-v3/testsuite/util/pstl/pstl_test_config.h ! 5286838f82726826df274b6eb8e38ff1 libstdc++-v3/testsuite/util/pstl/test_utils.h 003844f55573cc118124d116805c1adc libstdc++-v3/testsuite/util/regression/basic_type.hpp 46c4a74fef4d84afbb0cfc2f849dc12f libstdc++-v3/testsuite/util/regression/common_type.hpp fff8cf1d581ff764a0de843c83a778de libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h *************** b8b1c2808eb70c03c963b4a62269d1cc libstd *** 123987,123993 **** 181feb52eb8dcfa7f8dfa030bc4514b5 libstdc++-v3/testsuite/util/testsuite_abi.h 3208b7061a80358262b38cd5bf2218bf libstdc++-v3/testsuite/util/testsuite_abi_check.cc 263b373c9fe52e8b875a12a883c95d86 libstdc++-v3/testsuite/util/testsuite_allocator.cc ! a1394a71fb37e9b2c08ee6b8be030492 libstdc++-v3/testsuite/util/testsuite_allocator.h 4da3c8f6f248cd98402f19e6c49995ce libstdc++-v3/testsuite/util/testsuite_api.h 97fbe89d20ac641bef8e2676e4c8f626 libstdc++-v3/testsuite/util/testsuite_character.cc a36fc20999f54183117d7846a06feeaf libstdc++-v3/testsuite/util/testsuite_character.h --- 124561,124567 ---- 181feb52eb8dcfa7f8dfa030bc4514b5 libstdc++-v3/testsuite/util/testsuite_abi.h 3208b7061a80358262b38cd5bf2218bf libstdc++-v3/testsuite/util/testsuite_abi_check.cc 263b373c9fe52e8b875a12a883c95d86 libstdc++-v3/testsuite/util/testsuite_allocator.cc ! 9406332303942cc83935f23514585300 libstdc++-v3/testsuite/util/testsuite_allocator.h 4da3c8f6f248cd98402f19e6c49995ce libstdc++-v3/testsuite/util/testsuite_api.h 97fbe89d20ac641bef8e2676e4c8f626 libstdc++-v3/testsuite/util/testsuite_character.cc a36fc20999f54183117d7846a06feeaf libstdc++-v3/testsuite/util/testsuite_character.h *************** abd3b6f8114b664454ef48f05d7112b1 libstd *** 124015,124021 **** 8a7ff78e20c170bc7e06e28ee78d2d12 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 2e824852870b4611099b99dcf89b981b libtool.m4 ! 8d6c7f95d77131088936948e299a43f4 libvtv/ChangeLog 6250d856c456725aa05b120686976895 libvtv/Makefile.am b1170aae9472f26fdc8326737dc22aba libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 --- 124589,124595 ---- 8a7ff78e20c170bc7e06e28ee78d2d12 libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 2e824852870b4611099b99dcf89b981b libtool.m4 ! cb16d99cb0e6ca856b1930499f573c1d libvtv/ChangeLog 6250d856c456725aa05b120686976895 libvtv/Makefile.am b1170aae9472f26fdc8326737dc22aba libvtv/Makefile.in 3b765c4f4a0a0f606db1472bce2b8d29 libvtv/acinclude.m4 *************** c9cd02479c9f4c081d88190334e65fae libvtv *** 124098,124104 **** 76849f682e2cb5f9c2866e45ce1e9d83 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 06c2854f9cfe5864b2885e0d0e9c512f ltmain.sh ! 8bdd2eafb4c8572f29fbcbdc23300068 lto-plugin/ChangeLog aced0d5ba993307440be577533b64eb3 lto-plugin/Makefile.am 9e1d03259c911094d39831e7e86546d8 lto-plugin/Makefile.in 75fc65b35d0a47ac098f7a278d37060b lto-plugin/aclocal.m4 --- 124672,124678 ---- 76849f682e2cb5f9c2866e45ce1e9d83 libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 06c2854f9cfe5864b2885e0d0e9c512f ltmain.sh ! bf4656f73bec593b3c1874c5109d94d4 lto-plugin/ChangeLog aced0d5ba993307440be577533b64eb3 lto-plugin/Makefile.am 9e1d03259c911094d39831e7e86546d8 lto-plugin/Makefile.in 75fc65b35d0a47ac098f7a278d37060b lto-plugin/aclocal.m4 *************** dee72a6a60e99528b0d17bf3ff9a1e15 ltopti *** 124111,124117 **** bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! bb02e1040b6fc69b0f32837c8393872b maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README 507e832af5f2d63b8a78eef217c807a7 maintainer-scripts/branch_changer.py c819510f0d438149c1518bda7b165ac4 maintainer-scripts/bugzilla-close-candidate.py --- 124685,124691 ---- bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 690189f5f40bd4e86c9bee8b0616d98e maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README 507e832af5f2d63b8a78eef217c807a7 maintainer-scripts/branch_changer.py c819510f0d438149c1518bda7b165ac4 maintainer-scripts/bugzilla-close-candidate.py *************** cf2baa0854f564a7785307e79f155efc symlin *** 124132,124138 **** 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! 04230e4f0c0b3e77f38f85c28b45b2de zlib/ChangeLog f10e5e9394787b288e91fed29533720a zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ --- 124706,124712 ---- 40bb1f4ce4a60a36d1ec50d66aeed4d1 test-driver cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! 3c99a06356d4f0a0b550f863177d5f32 zlib/ChangeLog f10e5e9394787b288e91fed29533720a zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ diff -Nrcpad gcc-13.2.0/Makefile.in gcc-13.3.0/Makefile.in *** gcc-13.2.0/Makefile.in Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/Makefile.in Tue May 21 07:47:37 2024 *************** configure-flex: stage_last *** 66497,66502 **** --- 66497,66532 ---- configure-m4: stage_last @endif gcc-bootstrap + @if gcc-bootstrap + @unless target-zlib-bootstrap + configure-target-fastjar: maybe-configure-target-zlib + @endunless target-zlib-bootstrap + @unless target-zlib-bootstrap + all-target-fastjar: maybe-all-target-zlib + @endunless target-zlib-bootstrap + @unless target-libstdc++-v3-bootstrap + configure-target-libgo: maybe-all-target-libstdc++-v3 + @endunless target-libstdc++-v3-bootstrap + @unless target-libbacktrace-bootstrap + all-target-libgo: maybe-all-target-libbacktrace + @endunless target-libbacktrace-bootstrap + @unless target-libatomic-bootstrap + all-target-libgo: maybe-all-target-libatomic + @endunless target-libatomic-bootstrap + @unless target-libstdc++-v3-bootstrap + configure-target-libgm2: maybe-all-target-libstdc++-v3 + @endunless target-libstdc++-v3-bootstrap + @unless target-libatomic-bootstrap + all-target-libgm2: maybe-all-target-libatomic + @endunless target-libatomic-bootstrap + @unless target-libbacktrace-bootstrap + configure-target-libgfortran: maybe-all-target-libbacktrace + @endunless target-libbacktrace-bootstrap + @unless target-libbacktrace-bootstrap + configure-target-libgo: maybe-all-target-libbacktrace + @endunless target-libbacktrace-bootstrap + @endif gcc-bootstrap + @unless gcc-bootstrap all-gnattools: maybe-all-target-libstdc++-v3 configure-libcc1: maybe-configure-gcc diff -Nrcpad gcc-13.2.0/Makefile.tpl gcc-13.3.0/Makefile.tpl *** gcc-13.2.0/Makefile.tpl Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/Makefile.tpl Tue May 21 07:47:37 2024 *************** configure-target-[+module+]: maybe-all-g *** 1989,1994 **** --- 1989,2013 ---- (unless (=* target "target-") (string-append "configure-" target ": " dep "\n")))))) + ;; Dependencies in between target modules if the dependencies + ;; are bootstrap target modules and the target modules which + ;; depend on them are emitted inside of @unless gcc-bootstrap. + ;; Unfortunately, some target modules like libatomic or libbacktrace + ;; have bootstrap flag set, but whether they are actually built + ;; during bootstrap or after bootstrap depends on e.g. enabled languages; + ;; if d is enabled, libphobos is built as target module and depends + ;; on libatomic and libbacktrace, which are therefore also built as + ;; bootstrap modules. If d is not enabled but go is, libatomic and + ;; libbacktrace are just dependencies of libgo which is not a bootstrap + ;; target module, but we need dependencies on libatomic and libbacktrace + ;; in that case even when gcc-bootstrap. This lambda emits those. + (define make-postboot-target-dep (lambda () + (let ((target (dep-module "module")) (on (dep-module "on"))) + (when (=* on "target-") + (when (=* target "target-") + (string-append "@unless " on "-bootstrap\n" (make-dep "" "") + "\n@endunless " on "-bootstrap\n")))))) + ;; We now build the hash table that is used by dep-kind. (define boot-modules (make-hash-table 113)) (define postboot-targets (make-hash-table 113)) *************** configure-target-[+module+]: maybe-all-g *** 2021,2026 **** --- 2040,2050 ---- [+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+ ENDFOR dependencies +]@endif gcc-bootstrap + @if gcc-bootstrap + [+ FOR dependencies +][+ CASE (dep-kind) +] + [+ == "postbootstrap" +][+ (make-postboot-target-dep) +][+ ESAC +][+ + ENDFOR dependencies +]@endif gcc-bootstrap + @unless gcc-bootstrap [+ FOR dependencies +][+ CASE (dep-kind) +] [+ == "postbootstrap" +][+ (make-dep "" "") +] diff -Nrcpad gcc-13.2.0/NEWS gcc-13.3.0/NEWS *** gcc-13.2.0/NEWS Thu Jul 27 08:17:40 2023 --- gcc-13.3.0/NEWS Tue May 21 07:50:03 2024 *************** see ONEWS. *** 8,27 **** http://gcc.gnu.org/gcc-13/index.html GCC 13 Release Series ! July 27, 2023 ! The GCC developers are pleased to announce the release of GCC 13.2. This release is a bug-fix release, containing fixes for regressions in ! GCC 13.1 relative to previous releases of GCC. Release History GCC 13.2 ! July 27, 2023 ([1]changes, [2]documentation) GCC 13.1 ! April 26, 2023 ([3]changes, [4]documentation) References and Acknowledgements --- 8,30 ---- http://gcc.gnu.org/gcc-13/index.html GCC 13 Release Series ! May 21, 2024 ! The GCC developers are pleased to announce the release of GCC 13.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 13.2 relative to previous releases of GCC. Release History + GCC 13.3 + May 21, 2024 ([1]changes, [2]documentation) + GCC 13.2 ! July 27, 2023 ([3]changes, [4]documentation) GCC 13.1 ! April 26, 2023 ([5]changes, [6]documentation) References and Acknowledgements *************** References and Acknowledgements *** 29,81 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. - A list of [5]successful builds is updated as new information becomes - available. - The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [6]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [7]GCC project ! web site or contact the [8]GCC development mailing list. ! To obtain GCC please use [9]our mirror sites or [10]our version control ! system. For questions related to the use of GCC, please consult these web ! pages and the [11]GCC manuals. If that fails, the ! [12]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 [13]gcc@gcc.gnu.org. All of [14]our lists have public archives. ! Copyright (C) [15]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 [16]maintained by the GCC team. Last modified ! 2023-07-27. References ! 1. http://gcc.gnu.org/gcc-13/changes.html ! 2. http://gcc.gnu.org/onlinedocs/13.2.0/ ! 3. http://gcc.gnu.org/gcc-13/changes.html ! 4. http://gcc.gnu.org/onlinedocs/13.1.0/ ! 5. http://gcc.gnu.org/gcc-13/buildstat.html ! 6. http://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Contributors.html ! 7. http://gcc.gnu.org/index.html ! 8. mailto:gcc@gcc.gnu.org ! 9. http://gcc.gnu.org/mirrors.html ! 10. http://gcc.gnu.org/git.html ! 11. https://gcc.gnu.org/onlinedocs/ ! 12. mailto:gcc-help@gcc.gnu.org ! 13. mailto:gcc@gcc.gnu.org ! 14. https://gcc.gnu.org/lists.html ! 15. https://www.fsf.org/ ! 16. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-13/changes.html GCC 13 Release Series --- 32,82 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. 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 version ! control system. 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 ! 2024-05-21. References ! 1. https://gcc.gnu.org/gcc-13/changes.html ! 2. http://gcc.gnu.org/onlinedocs/13.3.0/ ! 3. https://gcc.gnu.org/gcc-13/changes.html ! 4. http://gcc.gnu.org/onlinedocs/13.2.0/ ! 5. https://gcc.gnu.org/gcc-13/changes.html ! 6. http://gcc.gnu.org/onlinedocs/13.1.0/ ! 7. http://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Contributors.html ! 8. https://gcc.gnu.org/index.html ! 9. mailto:gcc@gcc.gnu.org ! 10. https://gcc.gnu.org/mirrors.html ! 11. https://gcc.gnu.org/git.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. https://www.fsf.org/ ! 17. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-13/changes.html GCC 13 Release Series *************** Caveats *** 102,113 **** * [4]-Warray-bounds=2 will no longer issue warnings for out of bounds accesses to trailing struct members of one-element array type anymore. Instead it diagnoses accesses to trailing arrays according ! to -fstrict-flex-arrays. ! * [5]-fanalyzer is still only suitable for analyzing C code. In particular, using it on C++ is unlikely to give meaningful output. * In the arm port, support for the iWMMXt extensions, enabled through -mcpu=iwmmxt, has been deprecated and will be removed in a future ! release. This includes support for the [6]iWMMXt built-in functions. * For C++, construction of the global iostream objects std::cout, std::cin, etc. is now done inside the standard library, instead of --- 103,114 ---- * [4]-Warray-bounds=2 will no longer issue warnings for out of bounds accesses to trailing struct members of one-element array type anymore. Instead it diagnoses accesses to trailing arrays according ! to [5]-fstrict-flex-arrays. ! * [6]-fanalyzer is still only suitable for analyzing C code. In particular, using it on C++ is unlikely to give meaningful output. * In the arm port, support for the iWMMXt extensions, enabled through -mcpu=iwmmxt, has been deprecated and will be removed in a future ! release. This includes support for the [7]iWMMXt built-in functions. * For C++, construction of the global iostream objects std::cout, std::cin, etc. is now done inside the standard library, instead of *************** Caveats *** 115,127 **** change improves the start-up performance of C++ programs, but it means that code compiled with GCC 13.1 will crash if the correct version of libstdc++.so is not used at runtime. See the ! [7]documentation about using the right libstdc++.so at runtime. Future GCC releases will mitigate the problem so that the program cannot be run at all with an older libstdc++.so. General Improvements ! * [8]OpenMP + Reverse offload is now supported with AMD GCN and nvptx devices. Additionally, the requires handling has been improved and all clauses are now accepted. If a requirement cannot be --- 116,128 ---- change improves the start-up performance of C++ programs, but it means that code compiled with GCC 13.1 will crash if the correct version of libstdc++.so is not used at runtime. See the ! [8]documentation about using the right libstdc++.so at runtime. Future GCC releases will mitigate the problem so that the program cannot be run at all with an older libstdc++.so. General Improvements ! * [9]OpenMP + Reverse offload is now supported with AMD GCN and nvptx devices. Additionally, the requires handling has been improved and all clauses are now accepted. If a requirement cannot be *************** General Improvements *** 152,159 **** + The _ALL suffix to the device-scope environment variables added in Technical Report (TR11) is already handled. + For user defined allocators requesting high bandwidth or large ! capacity memspaces or interleaved partitioning, the [9]memkind ! library is used, if available at run time. * AddressSanitizer defaults to detect_stack_use_after_return=1 on GNU/Linux targets. For compatibility, it can be disabled with env ASAN_OPTIONS=detect_stack_use_after_return=0. --- 153,160 ---- + The _ALL suffix to the device-scope environment variables added in Technical Report (TR11) is already handled. + For user defined allocators requesting high bandwidth or large ! capacity memspaces or interleaved partitioning, the ! [10]memkind library is used, if available at run time. * AddressSanitizer defaults to detect_stack_use_after_return=1 on GNU/Linux targets. For compatibility, it can be disabled with env ASAN_OPTIONS=detect_stack_use_after_return=0. *************** General Improvements *** 166,176 **** * -Ofast, -ffast-math and -funsafe-math-optimizations will no longer add startup code to alter the floating-point environment when producing a shared object with -shared. ! * GCC can now emit its diagnostics using [10]SARIF. This is a JSON-based format suited for capturing the results of static ! analysis tools (like GCC's [11]-fanalyzer), but it can also be used to capture other GCC warnings and errors in a machine-readable ! format. Specifically, the [12]-fdiagnostics-format= option has been extended to support these new values: + -fdiagnostics-format=sarif-stderr + -fdiagnostics-format=sarif-file --- 167,177 ---- * -Ofast, -ffast-math and -funsafe-math-optimizations will no longer add startup code to alter the floating-point environment when producing a shared object with -shared. ! * GCC can now emit its diagnostics using [11]SARIF. This is a JSON-based format suited for capturing the results of static ! analysis tools (like GCC's [12]-fanalyzer), but it can also be used to capture other GCC warnings and errors in a machine-readable ! format. Specifically, the [13]-fdiagnostics-format= option has been extended to support these new values: + -fdiagnostics-format=sarif-stderr + -fdiagnostics-format=sarif-file *************** General Improvements *** 180,187 **** where the json-prefixed variants refer to GCC's own JSON diagnostic format. * Support for profiling and test coverage in freestanding ! environments has been added, see also [13]Profiling and Test Coverage in Freestanding Environments. New Languages and Language specific improvements --- 181,191 ---- where the json-prefixed variants refer to GCC's own JSON diagnostic format. * Support for profiling and test coverage in freestanding ! environments has been added, see also [14]Profiling and Test Coverage in Freestanding Environments. + * New options -fharden-compares and -fharden-conditional-branches to + verify compares and conditional branches, to detect some + power-deprivation hardware attacks, using reversed conditions. New Languages and Language specific improvements *************** New Languages and Language specific impr *** 200,255 **** C family * New warnings: ! + [14]-Wxor-used-as-pow warns about uses of ^, the exclusive or operator, where it appears the user meant exponentiation ! ([15]PR90885) * Three new function attributes for documenting int arguments that are file descriptors: ! + [16]__attribute__((fd_arg(N))) ! + [17]__attribute__((fd_arg_read(N))) ! + [18]__attribute__((fd_arg_write(N))) ! These are used by [19]-fanalyzer to detect misuses of file descriptors. ! * A new statement attribute for C++23 [20]P1774R8 Portable assumptions support also in C or older C++: ! [21]__attribute__((assume(EXPR))); * GCC can now control when to treat the trailing array of a structure as a flexible array member for the purpose of accessing the elements of such an array. By default, all trailing arrays in aggregates are treated as flexible array members. Use the new ! command-line option [22]-fstrict-flex-arrays to control which array members are treated as flexible arrays. C * Several C23 features have been implemented: ! + [23]N3042, Introduce the nullptr constant ! + [24]N2963, Enhanced Enumerations (fixed underlying types) ! + [25]N2975, Relax requirements for variadic parameter lists ! + [26]N3007, Type inference for object definitions (auto) ! + [27]N3018, The constexpr specifier for object definitions ! + [28]N3038, Introduce storage-class specifiers for compound literals + typeof (previously supported as an extension) and typeof_unqual + New keywords alignas, alignof, bool, false, static_assert, thread_local, true ! + [29]N2764, The noreturn attribute + Support for empty initializer braces + __STDC_VERSION_*_H__ header version macros + Removal of ATOMIC_VAR_INIT + unreachable macro in + Removal of trigraphs + Removal of unprototyped functions ! + printf and scanf format checking with [30]-Wformat for %wN and %wfN format length modifiers ! + [31]N2836, Identifier Syntax using Unicode Standard Annex 31 * In addition to those C23 features, existing features adopted in C23 have been adjusted to follow C23 requirements and are not diagnosed with -std=c2x -Wpedantic. * New warnings: ! + [32]-Wenum-int-mismatch warns about mismatches between an ! enumerated type and an integer type ([33]PR105131) C++ --- 204,259 ---- C family * New warnings: ! + [15]-Wxor-used-as-pow warns about uses of ^, the exclusive or operator, where it appears the user meant exponentiation ! ([16]PR90885) * Three new function attributes for documenting int arguments that are file descriptors: ! + [17]__attribute__((fd_arg(N))) ! + [18]__attribute__((fd_arg_read(N))) ! + [19]__attribute__((fd_arg_write(N))) ! These are used by [20]-fanalyzer to detect misuses of file descriptors. ! * A new statement attribute for C++23 [21]P1774R8 Portable assumptions support also in C or older C++: ! [22]__attribute__((assume(EXPR))); * GCC can now control when to treat the trailing array of a structure as a flexible array member for the purpose of accessing the elements of such an array. By default, all trailing arrays in aggregates are treated as flexible array members. Use the new ! command-line option [23]-fstrict-flex-arrays to control which array members are treated as flexible arrays. C * Several C23 features have been implemented: ! + [24]N3042, Introduce the nullptr constant ! + [25]N2963, Enhanced Enumerations (fixed underlying types) ! + [26]N2975, Relax requirements for variadic parameter lists ! + [27]N3007, Type inference for object definitions (auto) ! + [28]N3018, The constexpr specifier for object definitions ! + [29]N3038, Introduce storage-class specifiers for compound literals + typeof (previously supported as an extension) and typeof_unqual + New keywords alignas, alignof, bool, false, static_assert, thread_local, true ! + [30]N2764, The noreturn attribute + Support for empty initializer braces + __STDC_VERSION_*_H__ header version macros + Removal of ATOMIC_VAR_INIT + unreachable macro in + Removal of trigraphs + Removal of unprototyped functions ! + printf and scanf format checking with [31]-Wformat for %wN and %wfN format length modifiers ! + [32]N2836, Identifier Syntax using Unicode Standard Annex 31 * In addition to those C23 features, existing features adopted in C23 have been adjusted to follow C23 requirements and are not diagnosed with -std=c2x -Wpedantic. * New warnings: ! + [33]-Wenum-int-mismatch warns about mismatches between an ! enumerated type and an integer type ([34]PR105131) C++ *************** New Languages and Language specific impr *** 266,304 **** are supported those are evaluated in float precision. -fexcess-precision=fast restores previous behavior. * Several C++23 features have been implemented: ! + [34]P2324R1, Labels at the end of compound statements ! ([35]PR103539) ! + [36]P2255R2, A type trait to detect reference binding to ! temporary ([37]PR104477) ! + [38]P2327R1, De-deprecating volatile compound operations ! + [39]P2437R1, Support for #warning ([40]PR106646) ! + [41]P2290R3, Delimited escape sequences ([42]PR106645) ! + [43]P2071R2, Named universal character escapes ([44]PR106648) ! + [45]P2513R3, char8_t Compatibility and Portability Fix ! ([46]PR106656) ! + [47]P1169R4, static operator() ([48]PR106651) ! + [49]P2266R3, Simpler implicit move ([50]PR101165) ! + [51]P2468R2, The Equality Operator You Are Looking For ! ([52]PR106644) ! + [53]P2362R3, Remove non-encodable wide character literals and multicharacter wide character lite ! rals ([54]PR106647) ! + [55]P2448R2, Relaxing some constexpr restrictions ! ([56]PR106649) ! + [57]P1467R9, Extended floating-point types and standard names ! ([58]PR106652) ! + [59]P1774R8, Portable assumptions ([60]PR106654) ! + [61]P2295R6, Support for ! UTF-8 as a portable source file encoding ([62]PR106655) ! + [63]P2589R1, static operator[] ([64]PR107684) * New warnings: ! + [65]-Wself-move warns when a value is moved to itself with ! std::move ([66]PR81159) ! + [67]-Wdangling-reference warns when a reference is bound to a ! temporary whose lifetime has ended ([68]PR106393) ! * The [69]-Wpessimizing-move and [70]-Wredundant-move warnings have been extended to warn in more contexts. ! * The [71]-nostdlib++ option has been added, to enable linking with g++ without implicitly linking in the C++ standard library. Runtime Library (libstdc++) --- 270,308 ---- are supported those are evaluated in float precision. -fexcess-precision=fast restores previous behavior. * Several C++23 features have been implemented: ! + [35]P2324R1, Labels at the end of compound statements ! ([36]PR103539) ! + [37]P2255R2, A type trait to detect reference binding to ! temporary ([38]PR104477) ! + [39]P2327R1, De-deprecating volatile compound operations ! + [40]P2437R1, Support for #warning ([41]PR106646) ! + [42]P2290R3, Delimited escape sequences ([43]PR106645) ! + [44]P2071R2, Named universal character escapes ([45]PR106648) ! + [46]P2513R3, char8_t Compatibility and Portability Fix ! ([47]PR106656) ! + [48]P1169R4, static operator() ([49]PR106651) ! + [50]P2266R3, Simpler implicit move ([51]PR101165) ! + [52]P2468R2, The Equality Operator You Are Looking For ! ([53]PR106644) ! + [54]P2362R3, Remove non-encodable wide character literals and multicharacter wide character lite ! rals ([55]PR106647) ! + [56]P2448R2, Relaxing some constexpr restrictions ! ([57]PR106649) ! + [58]P1467R9, Extended floating-point types and standard names ! ([59]PR106652) ! + [60]P1774R8, Portable assumptions ([61]PR106654) ! + [62]P2295R6, Support for ! UTF-8 as a portable source file encoding ([63]PR106655) ! + [64]P2589R1, static operator[] ([65]PR107684) * New warnings: ! + [66]-Wself-move warns when a value is moved to itself with ! std::move ([67]PR81159) ! + [68]-Wdangling-reference warns when a reference is bound to a ! temporary whose lifetime has ended ([69]PR106393) ! * The [70]-Wpessimizing-move and [71]-Wredundant-move warnings have been extended to warn in more contexts. ! * The [72]-nostdlib++ option has been added, to enable linking with g++ without implicitly linking in the C++ standard library. Runtime Library (libstdc++) *************** New Languages and Language specific impr *** 331,337 **** * Support for many previously unavailable features in freestanding mode, thanks to Arsen Arsenović. For example, std::tuple is now available for freestanding compilation. The freestanding subset ! contains all the components made freestanding by [72]P1642, but libstdc++ adds more components to the freestanding subset, such as std::array and std::string_view. Additionally, libstdc++ now respects the -ffreestanding compiler option and so it is not --- 335,341 ---- * Support for many previously unavailable features in freestanding mode, thanks to Arsen Arsenović. For example, std::tuple is now available for freestanding compilation. The freestanding subset ! contains all the components made freestanding by [73]P1642, but libstdc++ adds more components to the freestanding subset, such as std::array and std::string_view. Additionally, libstdc++ now respects the -ffreestanding compiler option and so it is not *************** New Languages and Language specific impr *** 357,363 **** support for the ISO/IEC 10514-1, PIM2, PIM3, PIM4 dialects together with a complete set of ISO/IEC 10514-1 and PIM libraries. * The <* noreturn *> attribute is supported with the -Wreturn-type ! [73]option. New Targets and Target Specific Improvements --- 361,367 ---- support for the ISO/IEC 10514-1, PIM2, PIM3, PIM4 dialects together with a complete set of ISO/IEC 10514-1 and PIM libraries. * The <* noreturn *> attribute is supported with the -Wreturn-type ! [74]option. New Targets and Target Specific Improvements *************** New Targets and Target Specific Improvem *** 388,397 **** AMD Radeon (GCN) ! * Support for the Instinct MI200 series devices ([74] gfx90a) has been added. * SIMD vectorization support has been improved; this and ! stack-handling changes [75]require newlib 4.3.0 (or newer). arm --- 392,401 ---- AMD Radeon (GCN) ! * Support for the Instinct MI200 series devices ([75] gfx90a) has been added. * SIMD vectorization support has been improved; this and ! stack-handling changes [76]require newlib 4.3.0 (or newer). arm *************** New Targets and Target Specific Improvem *** 413,457 **** __bfloat16 which is typedef of short. Now we introduced real __bf16 type to x86 psABI. Users need to adjust their AVX512BF16-related source code when upgrading GCC12 to GCC13. * New ISA extension support for Intel AVX-IFMA was added. AVX-IFMA intrinsics are available via the -mavxifma compiler switch. - * New ISA extension support for Intel AVX-VNNI-INT8 was added. - AVX-VNNI-INT8 intrinsics are available via the -mavxvnniint8 - compiler switch. * New ISA extension support for Intel AVX-NE-CONVERT was added. AVX-NE-CONVERT intrinsics are available via the -mavxneconvert compiler switch. * New ISA extension support for Intel CMPccXADD was added. CMPccXADD intrinsics are available via the -mcmpccxadd compiler switch. - * New ISA extension support for Intel AMX-FP16 was added. AMX-FP16 - intrinsics are available via the -mamx-fp16 compiler switch. * New ISA extension support for Intel PREFETCHI was added. PREFETCHI intrinsics are available via the -mprefetchi compiler switch. * New ISA extension support for Intel RAO-INT was added. RAO-INT intrinsics are available via the -mraoint compiler switch. - * New ISA extension support for Intel AMX-COMPLEX was added. - AMX-COMPLEX intrinsics are available via the -mamx-complex compiler - switch. * GCC now supports the Intel CPU named Raptor Lake through -march=raptorlake. Raptor Lake is based on Alder Lake. * GCC now supports the Intel CPU named Meteor Lake through -march=meteorlake. Meteor Lake is based on Alder Lake. * GCC now supports the Intel CPU named Sierra Forest through ! -march=sierraforest. The switch enables the AVX-IFMA, ! AVX-VNNI-INT8, AVX-NE-CONVERT and CMPccXADD ISA extensions. * GCC now supports the Intel CPU named Grand Ridge through ! -march=grandridge. The switch enables the AVX-IFMA, AVX-VNNI-INT8, ! AVX-NE-CONVERT, CMPccXADD and RAO-INT ISA extensions. * GCC now supports the Intel CPU named Emerald Rapids through -march=emeraldrapids. Emerald Rapids is based on Sapphire Rapids. * GCC now supports the Intel CPU named Granite Rapids through ! -march=graniterapids. The switch enables the AMX-FP16, PREFETCHI ! ISA extensions. * GCC now supports the Intel CPU named Granite Rapids D through ! -march=graniterapids-d. The switch enables the AMX-FP16, PREFETCHI ! and AMX-COMPLEX ISA extensions. * GCC now supports AMD CPUs based on the znver4 core via ! -march=znver4. The switch makes GCC consider using 512 bit vectors when auto-vectorizing. LoongArch --- 417,461 ---- __bfloat16 which is typedef of short. Now we introduced real __bf16 type to x86 psABI. Users need to adjust their AVX512BF16-related source code when upgrading GCC12 to GCC13. + * New ISA extension support for Intel AMX-COMPLEX was added. + AMX-COMPLEX intrinsics are available via the -mamx-complex compiler + switch. + * New ISA extension support for Intel AMX-FP16 was added. AMX-FP16 + intrinsics are available via the -mamx-fp16 compiler switch. * New ISA extension support for Intel AVX-IFMA was added. AVX-IFMA intrinsics are available via the -mavxifma compiler switch. * New ISA extension support for Intel AVX-NE-CONVERT was added. AVX-NE-CONVERT intrinsics are available via the -mavxneconvert compiler switch. + * New ISA extension support for Intel AVX-VNNI-INT8 was added. + AVX-VNNI-INT8 intrinsics are available via the -mavxvnniint8 + compiler switch. * New ISA extension support for Intel CMPccXADD was added. CMPccXADD intrinsics are available via the -mcmpccxadd compiler switch. * New ISA extension support for Intel PREFETCHI was added. PREFETCHI intrinsics are available via the -mprefetchi compiler switch. * New ISA extension support for Intel RAO-INT was added. RAO-INT intrinsics are available via the -mraoint compiler switch. * GCC now supports the Intel CPU named Raptor Lake through -march=raptorlake. Raptor Lake is based on Alder Lake. * GCC now supports the Intel CPU named Meteor Lake through -march=meteorlake. Meteor Lake is based on Alder Lake. * GCC now supports the Intel CPU named Sierra Forest through ! -march=sierraforest. Based on ISA extensions enabled on Alder Lake, ! the switch further enables the AVX-IFMA, AVX-NE-CONVERT, ! AVX-VNNI-INT8, CMPccXADD, ENQCMD and UINTR ISA extensions. * GCC now supports the Intel CPU named Grand Ridge through ! -march=grandridge. Grand Ridge is based on Sierra Forest. * GCC now supports the Intel CPU named Emerald Rapids through -march=emeraldrapids. Emerald Rapids is based on Sapphire Rapids. * GCC now supports the Intel CPU named Granite Rapids through ! -march=graniterapids. Based on Sapphire Rapids, the switch further ! enables the AMX-FP16 and PREFETCHI ISA extensions. * GCC now supports the Intel CPU named Granite Rapids D through ! -march=graniterapids-d. Based on Granite Rapids, the switch further ! enables the AMX-COMPLEX ISA extensions. * GCC now supports AMD CPUs based on the znver4 core via ! -march=znver4. The switch makes GCC consider using 512-bit vectors when auto-vectorizing. LoongArch *************** New Targets and Target Specific Improvem *** 464,470 **** time. + The new command-line option -mdirect-extern-access can be used to prevent accessing external symbols through GOT. ! + The new variable attribute [76]model has been added. * Built-in functions + The rint and copysign mathematical builtins (and their float variants) are now implemented as inline LoongArch intrinsics. --- 468,474 ---- time. + The new command-line option -mdirect-extern-access can be used to prevent accessing external symbols through GOT. ! + The new variable attribute [77]model has been added. * Built-in functions + The rint and copysign mathematical builtins (and their float variants) are now implemented as inline LoongArch intrinsics. *************** New Targets and Target Specific Improvem *** 482,497 **** NVPTX ! * The default value for the [77]-march option can be now changed when ! [78]building GCC using the [79]--with-arch= configure option. GCC's target libraries are then build both with sm_30 and the specified target architecture. If not specified, GCC defaults to sm_30. RISC-V ! * Support for vector intrinsics as specified in [80]version 0.11 of the RISC-V vector intrinsic specification, thanks Ju-Zhe Zhong from ! [81]RiVAI for contributing most of implementation. * Support for the following standard extensions has been added: + Zawrs + Zbkb --- 486,501 ---- NVPTX ! * The default value for the [78]-march option can be now changed when ! [79]building GCC using the [80]--with-arch= configure option. GCC's target libraries are then build both with sm_30 and the specified target architecture. If not specified, GCC defaults to sm_30. RISC-V ! * Support for vector intrinsics as specified in [81]version 0.11 of the RISC-V vector intrinsic specification, thanks Ju-Zhe Zhong from ! [82]RiVAI for contributing most of implementation. * Support for the following standard extensions has been added: + Zawrs + Zbkb *************** New Targets and Target Specific Improvem *** 534,729 **** Operating Systems Improvements to Static Analyzer * The analyzer has gained 20 new warnings: ! + [82]-Wanalyzer-allocation-size ! + [83]-Wanalyzer-deref-before-check ! + [84]-Wanalyzer-exposure-through-uninit-copy + Seven new warnings relating to misuse of file descriptors: ! o [85]-Wanalyzer-fd-access-mode-mismatch ! o [86]-Wanalyzer-fd-double-close ! o [87]-Wanalyzer-fd-leak ! o [88]-Wanalyzer-fd-phase-mismatch (e.g. calling accept on a socket before calling listen on it) ! o [89]-Wanalyzer-fd-type-mismatch (e.g. using a stream socket operation on a datagram socket) ! o [90]-Wanalyzer-fd-use-after-close ! o [91]-Wanalyzer-fd-use-without-check along with special-casing handling of the behavior of open, close, creat, dup, dup2, dup3, pipe, pipe2, read, and write. ! + [92]-Wanalyzer-imprecise-fp-arithmetic ! + [93]-Wanalyzer-infinite-recursion ! + [94]-Wanalyzer-jump-through-null ! + [95]-Wanalyzer-out-of-bounds ! + [96]-Wanalyzer-putenv-of-auto-var ! + [97]-Wanalyzer-tainted-assertion + Four new warnings for misuses of : ! o [98]-Wanalyzer-va-list-leak for complaining about missing va_end after a va_start or va_copy ! o [99]-Wanalyzer-va-list-use-after-va-end for complaining about va_arg or va_copy used on a va_list that's had va_end called on it ! o [100]-Wanalyzer-va-arg-type-mismatch for type-checking of va_arg usage in interprocedural execution paths against the types of the parameters that were actually passed to the variadic call ! o [101]-Wanalyzer-va-list-exhausted for complaining in interprocedural execution paths if va_arg is used too many times on a va_list along with numerous other improvements. Improvements for plugin authors ! * GCC diagnostics can now be [102]associated with rules such as from coding standards documents, or specifications. Such rules have a code name and can have a URL, which GCC can print in text form or ! capture in its [103]SARIF output when emitting diagnostics. Other significant improvements GCC 13.1 ! This is the [104]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 13.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). GCC 13.2 ! This is the [105]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 13.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). For questions related to the use of GCC, please consult these web ! pages and the [106]GCC manuals. If that fails, the ! [107]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 [108]gcc@gcc.gnu.org. All of [109]our lists have public archives. ! Copyright (C) [110]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 [111]maintained by the GCC team. Last modified ! 2023-07-27. References ! 1. http://gcc.gnu.org/gcc-13/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/pipermail/gcc/2022-December/240322.html 4. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Warray-bounds ! 5. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 6. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/ARM-iWMMXt-Built-in-Functions.html ! 7. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic ! 8. https://gcc.gnu.org/projects/gomp/ ! 9. http://memkind.github.io/memkind/ ! 10. https://sarifweb.azurewebsites.net/ ! 11. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 12. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 13. https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html ! 14. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wxor-used-as-pow ! 15. https://gcc.gnu.org/PR90885 ! 16. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg-function-attribute ! 17. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg_005fread-function-attribute ! 18. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg_005fwrite-function-attribute ! 19. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 20. https://wg21.link/p1774r8 ! 21. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Statement-Attributes.html#index-assume-statement-attribute ! 22. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wstrict-flex-arrays ! 23. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3042.htm ! 24. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2963.htm ! 25. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2975.pdf ! 26. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3007.htm ! 27. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3018.htm ! 28. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3038.htm ! 29. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2764.pdf ! 30. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wformat ! 31. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2836.pdf ! 32. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wenum-int-mismatch ! 33. https://gcc.gnu.org/PR105131 ! 34. https://wg21.link/p2324 ! 35. https://gcc.gnu.org/PR103539 ! 36. https://wg21.link/p2255 ! 37. https://gcc.gnu.org/PR104477 ! 38. https://wg21.link/p2327 ! 39. https://wg21.link/p2437 ! 40. https://gcc.gnu.org/PR106646 ! 41. https://wg21.link/p2290 ! 42. https://gcc.gnu.org/PR106645 ! 43. https://wg21.link/p2071 ! 44. https://gcc.gnu.org/PR106648 ! 45. https://wg21.link/p2513 ! 46. https://gcc.gnu.org/PR106656 ! 47. https://wg21.link/p1169r4 ! 48. https://gcc.gnu.org/PR106651 ! 49. https://wg21.link/p2266r3 ! 50. https://gcc.gnu.org/PR101165 ! 51. https://wg21.link/p2468r2 ! 52. https://gcc.gnu.org/PR106644 ! 53. https://wg21.link/p2362r3 ! 54. https://gcc.gnu.org/PR106647 ! 55. https://wg21.link/p2448r2 ! 56. https://gcc.gnu.org/PR106649 ! 57. https://wg21.link/p1467r9 ! 58. https://gcc.gnu.org/PR106652 ! 59. https://wg21.link/p1774r8 ! 60. https://gcc.gnu.org/PR106654 ! 61. https://wg21.link/p2295r6 ! 62. https://gcc.gnu.org/PR106655 ! 63. https://wg21.link/p2589r1 ! 64. https://gcc.gnu.org/PR107684 ! 65. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wself-move ! 66. https://gcc.gnu.org/PR81159 ! 67. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wdangling-reference ! 68. https://gcc.gnu.org/PR106393 ! 69. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move ! 70. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move ! 71. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Link_Options.html#index-nostdlib_002b_002b ! 72. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1642r11.html ! 73. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gm2/Compiler-options.html ! 74. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/AMD-GCN-Options.html ! 75. https://gcc.gnu.org/install/specific.html#amdgcn-x-amdhsa ! 76. https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Variable-Attributes.html#LoongArch-Variable-Attributes ! 77. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Nvidia-PTX-Options.html ! 78. https://gcc.gnu.org/install/ ! 79. https://gcc.gnu.org/install/specific.html#nvptx-x-none ! 80. https://github.com/riscv-non-isa/rvv-intrinsic-doc/tree/v0.11.x ! 81. https://rivai-ic.com.cn/ ! 82. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-allocation-size ! 83. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-deref-before-check ! 84. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-exposure-through-uninit-copy ! 85. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-access-mode-mismatch ! 86. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-double-close ! 87. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-leak ! 88. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-phase-mismatch ! 89. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-type-mismatch ! 90. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-use-after-close ! 91. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-use-without-check ! 92. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-imprecise-fp-arithmetic ! 93. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-infinite-recursion ! 94. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-jump-through-null ! 95. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-out-of-bounds ! 96. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-putenv-of-auto-var ! 97. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-assertion ! 98. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-leak ! 99. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-use-after-va-end ! 100. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-arg-type-mismatch ! 101. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-exhausted ! 102. https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=0b14f590e3e9d95b8211b77d992589d5ab4c25f0 ! 103. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 104. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.0 ! 105. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.2 ! 106. https://gcc.gnu.org/onlinedocs/ ! 107. mailto:gcc-help@gcc.gnu.org ! 108. mailto:gcc@gcc.gnu.org ! 109. https://gcc.gnu.org/lists.html ! 110. https://www.fsf.org/ ! 111. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-12/index.html GCC 12 Release Series --- 538,763 ---- Operating Systems + Windows + + * The GNU threads library used by the win32 thread model has been + reimplemented using direct Win32 API calls, except for the + Objective-C specific subset. It requires Windows XP/Server 2003 or + later. The new implementation also adds the support needed for the + C++11 threads, using again direct Win32 API calls; this additional + layer requires Windows Vista/Server 2008 or later. It is + recommended to use a recent version of MinGW-W64 in conjunction + with the win32 thread model. + Improvements to Static Analyzer * The analyzer has gained 20 new warnings: ! + [83]-Wanalyzer-allocation-size ! + [84]-Wanalyzer-deref-before-check ! + [85]-Wanalyzer-exposure-through-uninit-copy + Seven new warnings relating to misuse of file descriptors: ! o [86]-Wanalyzer-fd-access-mode-mismatch ! o [87]-Wanalyzer-fd-double-close ! o [88]-Wanalyzer-fd-leak ! o [89]-Wanalyzer-fd-phase-mismatch (e.g. calling accept on a socket before calling listen on it) ! o [90]-Wanalyzer-fd-type-mismatch (e.g. using a stream socket operation on a datagram socket) ! o [91]-Wanalyzer-fd-use-after-close ! o [92]-Wanalyzer-fd-use-without-check along with special-casing handling of the behavior of open, close, creat, dup, dup2, dup3, pipe, pipe2, read, and write. ! + [93]-Wanalyzer-imprecise-fp-arithmetic ! + [94]-Wanalyzer-infinite-recursion ! + [95]-Wanalyzer-jump-through-null ! + [96]-Wanalyzer-out-of-bounds ! + [97]-Wanalyzer-putenv-of-auto-var ! + [98]-Wanalyzer-tainted-assertion + Four new warnings for misuses of : ! o [99]-Wanalyzer-va-list-leak for complaining about missing va_end after a va_start or va_copy ! o [100]-Wanalyzer-va-list-use-after-va-end for complaining about va_arg or va_copy used on a va_list that's had va_end called on it ! o [101]-Wanalyzer-va-arg-type-mismatch for type-checking of va_arg usage in interprocedural execution paths against the types of the parameters that were actually passed to the variadic call ! o [102]-Wanalyzer-va-list-exhausted for complaining in interprocedural execution paths if va_arg is used too many times on a va_list along with numerous other improvements. Improvements for plugin authors ! * GCC diagnostics can now be [103]associated with rules such as from coding standards documents, or specifications. Such rules have a code name and can have a URL, which GCC can print in text form or ! capture in its [104]SARIF output when emitting diagnostics. Other significant improvements GCC 13.1 ! This is the [105]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 13.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). GCC 13.2 ! This is the [106]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 13.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). + GCC 13.3 + + This is the [107]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 13.3 release. This list might + not be complete (that is, it is possible that some PRs that have been + fixed are not listed here). + + Language Specific Changes + + C++ + + * The libstdc++exp.a library now includes all the Filesystem TS + symbols from the libstdc++fs.a library, and the experimental + symbols for the C++23 std::stacktrace class from the + libstdc++_libbacktrace.a library. This means that -lstdc++exp is + the only library needed for all experimental libstdc++ features. + For questions related to the use of GCC, please consult these web ! pages and the [108]GCC manuals. If that fails, the ! [109]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 [110]gcc@gcc.gnu.org. All of [111]our lists have public archives. ! Copyright (C) [112]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 [113]maintained by the GCC team. Last modified ! 2024-05-21. References ! 1. https://gcc.gnu.org/gcc-13/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/pipermail/gcc/2022-December/240322.html 4. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Warray-bounds ! 5. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C-Dialect-Options.html#index-fstrict-flex-arrays ! 6. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 7. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/ARM-iWMMXt-Built-in-Functions.html ! 8. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic ! 9. https://gcc.gnu.org/projects/gomp/ ! 10. http://memkind.github.io/memkind/ ! 11. https://sarifweb.azurewebsites.net/ ! 12. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 13. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 14. https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html ! 15. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wxor-used-as-pow ! 16. https://gcc.gnu.org/PR90885 ! 17. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg-function-attribute ! 18. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg_005fread-function-attribute ! 19. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Function-Attributes.html#index-fd_005farg_005fwrite-function-attribute ! 20. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html ! 21. https://wg21.link/p1774r8 ! 22. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Statement-Attributes.html#index-assume-statement-attribute ! 23. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C-Dialect-Options.html#index-fstrict-flex-arrays ! 24. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3042.htm ! 25. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2963.htm ! 26. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2975.pdf ! 27. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3007.htm ! 28. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3018.htm ! 29. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3038.htm ! 30. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2764.pdf ! 31. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wformat ! 32. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2836.pdf ! 33. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wenum-int-mismatch ! 34. https://gcc.gnu.org/PR105131 ! 35. https://wg21.link/p2324 ! 36. https://gcc.gnu.org/PR103539 ! 37. https://wg21.link/p2255 ! 38. https://gcc.gnu.org/PR104477 ! 39. https://wg21.link/p2327 ! 40. https://wg21.link/p2437 ! 41. https://gcc.gnu.org/PR106646 ! 42. https://wg21.link/p2290 ! 43. https://gcc.gnu.org/PR106645 ! 44. https://wg21.link/p2071 ! 45. https://gcc.gnu.org/PR106648 ! 46. https://wg21.link/p2513 ! 47. https://gcc.gnu.org/PR106656 ! 48. https://wg21.link/p1169r4 ! 49. https://gcc.gnu.org/PR106651 ! 50. https://wg21.link/p2266r3 ! 51. https://gcc.gnu.org/PR101165 ! 52. https://wg21.link/p2468r2 ! 53. https://gcc.gnu.org/PR106644 ! 54. https://wg21.link/p2362r3 ! 55. https://gcc.gnu.org/PR106647 ! 56. https://wg21.link/p2448r2 ! 57. https://gcc.gnu.org/PR106649 ! 58. https://wg21.link/p1467r9 ! 59. https://gcc.gnu.org/PR106652 ! 60. https://wg21.link/p1774r8 ! 61. https://gcc.gnu.org/PR106654 ! 62. https://wg21.link/p2295r6 ! 63. https://gcc.gnu.org/PR106655 ! 64. https://wg21.link/p2589r1 ! 65. https://gcc.gnu.org/PR107684 ! 66. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Warning-Options.html#index-Wself-move ! 67. https://gcc.gnu.org/PR81159 ! 68. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wdangling-reference ! 69. https://gcc.gnu.org/PR106393 ! 70. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move ! 71. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move ! 72. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Link-Options.html#index-nostdlib_002b_002b ! 73. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1642r11.html ! 74. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gm2/Compiler-options.html ! 75. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/AMD-GCN-Options.html ! 76. https://gcc.gnu.org/install/specific.html#amdgcn-x-amdhsa ! 77. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/LoongArch-Variable-Attributes.html#LoongArch-Variable-Attributes ! 78. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Nvidia-PTX-Options.html ! 79. https://gcc.gnu.org/install/ ! 80. https://gcc.gnu.org/install/specific.html#nvptx-x-none ! 81. https://github.com/riscv-non-isa/rvv-intrinsic-doc/tree/v0.11.x ! 82. https://rivai-ic.com.cn/ ! 83. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-allocation-size ! 84. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-deref-before-check ! 85. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-exposure-through-uninit-copy ! 86. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-access-mode-mismatch ! 87. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-double-close ! 88. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-leak ! 89. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-phase-mismatch ! 90. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-type-mismatch ! 91. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-use-after-close ! 92. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-use-without-check ! 93. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-imprecise-fp-arithmetic ! 94. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-infinite-recursion ! 95. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-jump-through-null ! 96. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-out-of-bounds ! 97. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-putenv-of-auto-var ! 98. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-tainted-assertion ! 99. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-leak ! 100. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-use-after-va-end ! 101. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-arg-type-mismatch ! 102. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-va-list-exhausted ! 103. https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=0b14f590e3e9d95b8211b77d992589d5ab4c25f0 ! 104. https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Diagnostic-Message-Formatting-Options.html#index-fdiagnostics-format ! 105. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.0 ! 106. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.2 ! 107. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=13.3 ! 108. https://gcc.gnu.org/onlinedocs/ ! 109. mailto:gcc-help@gcc.gnu.org ! 110. mailto:gcc@gcc.gnu.org ! 111. https://gcc.gnu.org/lists.html ! 112. https://www.fsf.org/ ! 113. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-12/index.html GCC 12 Release Series *************** References and Acknowledgements *** 752,806 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. - A list of [7]successful builds is updated as new information becomes - available. - The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [8]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [9]GCC project ! web site or contact the [10]GCC development mailing list. ! To obtain GCC please use [11]our mirror sites or [12]our version control system. For questions related to the use of GCC, please consult these web ! pages and the [13]GCC manuals. If that fails, the ! [14]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 [15]gcc@gcc.gnu.org. All of [16]our lists have public archives. ! Copyright (C) [17]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 [18]maintained by the GCC team. Last modified ! 2023-05-08. References ! 1. http://gcc.gnu.org/gcc-12/changes.html 2. http://gcc.gnu.org/onlinedocs/12.3.0/ ! 3. http://gcc.gnu.org/gcc-12/changes.html 4. http://gcc.gnu.org/onlinedocs/12.2.0/ ! 5. http://gcc.gnu.org/gcc-12/changes.html 6. http://gcc.gnu.org/onlinedocs/12.1.0/ ! 7. http://gcc.gnu.org/gcc-12/buildstat.html ! 8. http://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html ! 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html ! 13. https://gcc.gnu.org/onlinedocs/ ! 14. mailto:gcc-help@gcc.gnu.org ! 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/lists.html ! 17. https://www.fsf.org/ ! 18. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-12/changes.html GCC 12 Release Series --- 786,836 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. 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 version control system. 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 ! 2023-10-15. References ! 1. https://gcc.gnu.org/gcc-12/changes.html 2. http://gcc.gnu.org/onlinedocs/12.3.0/ ! 3. https://gcc.gnu.org/gcc-12/changes.html 4. http://gcc.gnu.org/onlinedocs/12.2.0/ ! 5. https://gcc.gnu.org/gcc-12/changes.html 6. http://gcc.gnu.org/onlinedocs/12.1.0/ ! 7. http://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Contributors.html ! 8. https://gcc.gnu.org/index.html ! 9. mailto:gcc@gcc.gnu.org ! 10. https://gcc.gnu.org/mirrors.html ! 11. https://gcc.gnu.org/git.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. https://www.fsf.org/ ! 17. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-12/changes.html GCC 12 Release Series *************** Caveats *** 879,888 **** General Improvements ! * Vectorization is enabled at -O2 which is now equivalent to the ! original -O2 -ftree-vectorize -fvect-cost-model=very-cheap. Note ! that default vectorizer cost model has been changed which used to ! behave as -fvect-cost-model=cheap were specified. * GCC now supports the [7]ShadowCallStack sanitizer, which can be enabled using the command-line option [8]-fsanitize=shadow-call-stack. This sanitizer currently only --- 909,919 ---- General Improvements ! * Vectorization is enabled at -O2 which is now equivalent to what ! would have been -O2 -ftree-vectorize -fvect-cost-model=very-cheap ! in the past. Note that the default vectorizer cost model has been ! changed; it used to behave as if -fvect-cost-model=cheap had been ! specified. * GCC now supports the [7]ShadowCallStack sanitizer, which can be enabled using the command-line option [8]-fsanitize=shadow-call-stack. This sanitizer currently only *************** New Targets and Target Specific Improvem *** 1295,1302 **** BPF * Support for CO-RE (compile-once, run-everywhere) has been added to ! the BPF backend. CO-RE allows to compile portable BPF programs that ! are able to run among different versions of the Linux kernel. IA-32/x86-64 --- 1326,1333 ---- BPF * Support for CO-RE (compile-once, run-everywhere) has been added to ! the BPF back end. CO-RE allows to compile portable BPF programs ! that are able to run among different versions of the Linux kernel. IA-32/x86-64 *************** New Targets and Target Specific Improvem *** 1397,1403 **** [106]announcement * New ISA extension support for zba, zbb, zbc, zbs was added. * New ISA extension support for vector and scalar crypto was added, ! only support architecture testing marco and -march= parsing. * The option -mtune=thead-c906 is added to tune for T-HEAD c906 cores. * libstdc++ no longer attempts to detect built-in atomics. --- 1428,1434 ---- [106]announcement * New ISA extension support for zba, zbb, zbc, zbs was added. * New ISA extension support for vector and scalar crypto was added, ! only support architecture testing macro and -march= parsing. * The option -mtune=thead-c906 is added to tune for T-HEAD c906 cores. * libstdc++ no longer attempts to detect built-in atomics. *************** GCC 12.3 *** 1542,1548 **** x86-64 * GCC now supports AMD CPUs based on the znver4 core via ! -march=znver4. The switch makes GCC consider using 512 bit vectors when auto-vectorizing. This is the [141]list of problem reports (PRs) from GCC's bug tracking --- 1573,1579 ---- x86-64 * GCC now supports AMD CPUs based on the znver4 core via ! -march=znver4. The switch makes GCC consider using 512-bit vectors when auto-vectorizing. This is the [141]list of problem reports (PRs) from GCC's bug tracking *************** GCC 12.4 *** 1573,1587 **** provided this notice is preserved. These pages are [148]maintained by the GCC team. Last modified ! 2023-05-08. References ! 1. http://gcc.gnu.org/gcc-12/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/PR102024 4. https://gcc.gnu.org/PR42217 ! 5. http://gcc.gnu.org/gcc-12/changes.html#mips_zero_width_fields 6. https://gcc.gnu.org/install/specific.html 7. https://clang.llvm.org/docs/ShadowCallStack.html 8. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Instrumentation-Options.html#index-fsanitize_003dshadow-call-stack --- 1604,1618 ---- provided this notice is preserved. These pages are [148]maintained by the GCC team. Last modified ! 2024-05-17. References ! 1. https://gcc.gnu.org/gcc-12/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/PR102024 4. https://gcc.gnu.org/PR42217 ! 5. https://gcc.gnu.org/gcc-12/changes.html#mips_zero_width_fields 6. https://gcc.gnu.org/install/specific.html 7. https://clang.llvm.org/docs/ShadowCallStack.html 8. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Instrumentation-Options.html#index-fsanitize_003dshadow-call-stack *************** References *** 1589,1596 **** 10. https://www.openacc.org/ 11. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-12 12. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/libgomp/Enabling-OpenACC.html ! 13. http://gcc.gnu.org/gcc-12/changes.html#amdgcn ! 14. http://gcc.gnu.org/gcc-12/changes.html#nvptx 15. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-param 16. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wopenacc-parallelism 17. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/C-Dialect-Options.html#index-foffload-options --- 1620,1627 ---- 10. https://www.openacc.org/ 11. https://gcc.gnu.org/wiki/OpenACC/Implementation Status#status-12 12. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/libgomp/Enabling-OpenACC.html ! 13. https://gcc.gnu.org/gcc-12/changes.html#amdgcn ! 14. https://gcc.gnu.org/gcc-12/changes.html#nvptx 15. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Optimize-Options.html#index-param 16. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wopenacc-parallelism 17. https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/C-Dialect-Options.html#index-foffload-options *************** References and Acknowledgements *** 1756,1812 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. - A list of [9]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 [10]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [11]GCC ! project web site or contact the [12]GCC development mailing list. ! To obtain GCC please use [13]our mirror sites or [14]our version control system. For questions related to the use of GCC, please consult these web ! pages and the [15]GCC manuals. If that fails, the ! [16]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [17]gcc@gcc.gnu.org. All of [18]our lists have public archives. ! Copyright (C) [19]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 [20]maintained by the GCC team. Last modified ! 2023-05-29. References ! 1. http://gcc.gnu.org/gcc-11/changes.html 2. http://gcc.gnu.org/onlinedocs/11.4.0/ ! 3. http://gcc.gnu.org/gcc-11/changes.html 4. http://gcc.gnu.org/onlinedocs/11.3.0/ ! 5. http://gcc.gnu.org/gcc-11/changes.html 6. http://gcc.gnu.org/onlinedocs/11.2.0/ ! 7. http://gcc.gnu.org/gcc-11/changes.html 8. http://gcc.gnu.org/onlinedocs/11.1.0/ ! 9. http://gcc.gnu.org/gcc-11/buildstat.html ! 10. http://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Contributors.html ! 11. http://gcc.gnu.org/index.html ! 12. mailto:gcc@gcc.gnu.org ! 13. http://gcc.gnu.org/mirrors.html ! 14. http://gcc.gnu.org/git.html ! 15. https://gcc.gnu.org/onlinedocs/ ! 16. mailto:gcc-help@gcc.gnu.org ! 17. mailto:gcc@gcc.gnu.org ! 18. https://gcc.gnu.org/lists.html ! 19. https://www.fsf.org/ ! 20. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-11/changes.html GCC 11 Release Series --- 1787,1839 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. 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 version control system. 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 ! 2023-10-15. References ! 1. https://gcc.gnu.org/gcc-11/changes.html 2. http://gcc.gnu.org/onlinedocs/11.4.0/ ! 3. https://gcc.gnu.org/gcc-11/changes.html 4. http://gcc.gnu.org/onlinedocs/11.3.0/ ! 5. https://gcc.gnu.org/gcc-11/changes.html 6. http://gcc.gnu.org/onlinedocs/11.2.0/ ! 7. https://gcc.gnu.org/gcc-11/changes.html 8. http://gcc.gnu.org/onlinedocs/11.1.0/ ! 9. http://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Contributors.html ! 10. https://gcc.gnu.org/index.html ! 11. mailto:gcc@gcc.gnu.org ! 12. https://gcc.gnu.org/mirrors.html ! 13. https://gcc.gnu.org/git.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. https://www.fsf.org/ ! 19. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-11/changes.html GCC 11 Release Series *************** New Targets and Target Specific Improvem *** 2296,2302 **** AArch64 & arm * A number of new CPUs are supported through arguments to the -mcpu ! and -mtune options in both the arm and aarch64 backends (GCC identifiers in parentheses): + Arm Cortex-A78 (cortex-a78). + Arm Cortex-A78AE (cortex-a78ae). --- 2323,2329 ---- AArch64 & arm * A number of new CPUs are supported through arguments to the -mcpu ! and -mtune options in both the arm and aarch64 back ends (GCC identifiers in parentheses): + Arm Cortex-A78 (cortex-a78). + Arm Cortex-A78AE (cortex-a78ae). *************** Operating Systems *** 2439,2446 **** AIX ! * GCC for AIX can be built as a 64 bit application and the runtime is ! built as FAT libraries containing both 32 bit and 64 bit objects. * Support AIX Vector Extended ABI with -mabi=vec-extabi. * Thread-Local uninitiated data placed in local common section. * Use thread-safe access in ctype. --- 2466,2473 ---- AIX ! * GCC for AIX can be built as a 64-bit application and the runtime is ! built as FAT libraries containing both 32-bit and 64-bit objects. * Support AIX Vector Extended ABI with -mabi=vec-extabi. * Thread-Local uninitiated data placed in local common section. * Use thread-safe access in ctype. *************** GCC 11.4 *** 2541,2552 **** provided this notice is preserved. These pages are [76]maintained by the GCC team. Last modified ! 2023-05-29. References ! 1. http://gcc.gnu.org/gcc-11/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://wg21.link/p0522r0 4. https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546494.html 5. https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual --- 2568,2579 ---- provided this notice is preserved. These pages are [76]maintained by the GCC team. Last modified ! 2024-05-09. References ! 1. https://gcc.gnu.org/gcc-11/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://wg21.link/p0522r0 4. https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546494.html 5. https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual *************** References *** 2581,2588 **** 34. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wuninitialized 35. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Warray-parameter 36. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wvla-parameter ! 37. http://gcc.gnu.org/projects/cxx-status.html#cxx20 ! 38. http://gcc.gnu.org/projects/cxx-status.html#cxx23 39. https://gcc.gnu.org/PR41437 40. https://gcc.gnu.org/PR95307 41. https://gcc.gnu.org/PR97518 --- 2608,2615 ---- 34. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wuninitialized 35. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Warray-parameter 36. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wvla-parameter ! 37. https://gcc.gnu.org/projects/cxx-status.html#cxx20 ! 38. https://gcc.gnu.org/projects/cxx-status.html#cxx23 39. https://gcc.gnu.org/PR41437 40. https://gcc.gnu.org/PR95307 41. https://gcc.gnu.org/PR97518 *************** References *** 2593,2599 **** 46. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wmismatched-new-delete 47. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wvexing-parse 48. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wnonnull ! 49. http://gcc.gnu.org/gcc-5/changes.html#jit 50. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/compatibility.html 51. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/expressions.html#c.gcc_jit_global_set_initializer 52. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/asm.html --- 2620,2626 ---- 46. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wmismatched-new-delete 47. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wvexing-parse 48. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wnonnull ! 49. https://gcc.gnu.org/gcc-5/changes.html#jit 50. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/compatibility.html 51. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/expressions.html#c.gcc_jit_global_set_initializer 52. https://gcc.gnu.org/onlinedocs/gcc-11.1.0/jit/topics/asm.html *************** References and Acknowledgements *** 2658,2717 **** 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 version control system. 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 ! 2023-07-07. References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-10/changes.html 3. http://gcc.gnu.org/onlinedocs/10.5.0/ ! 4. http://gcc.gnu.org/gcc-10/changes.html 5. http://gcc.gnu.org/onlinedocs/10.4.0/ ! 6. http://gcc.gnu.org/gcc-10/changes.html 7. http://gcc.gnu.org/onlinedocs/10.3.0/ ! 8. http://gcc.gnu.org/gcc-10/changes.html 9. http://gcc.gnu.org/onlinedocs/10.2.0/ ! 10. http://gcc.gnu.org/gcc-10/changes.html 11. http://gcc.gnu.org/onlinedocs/10.1.0/ ! 12. http://gcc.gnu.org/gcc-10/buildstat.html ! 13. http://gcc.gnu.org/onlinedocs/gcc-10.1.0/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/git.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. https://www.fsf.org/ ! 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-10/changes.html GCC 10 Release Series --- 2685,2740 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. 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 [12]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [13]GCC ! project web site or contact the [14]GCC development mailing list. ! To obtain GCC please use [15]our mirror sites or [16]our version control system. For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [19]gcc@gcc.gnu.org. All of [20]our lists have public archives. ! Copyright (C) [21]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 [22]maintained by the GCC team. Last modified ! 2023-10-15. References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-10/changes.html 3. http://gcc.gnu.org/onlinedocs/10.5.0/ ! 4. https://gcc.gnu.org/gcc-10/changes.html 5. http://gcc.gnu.org/onlinedocs/10.4.0/ ! 6. https://gcc.gnu.org/gcc-10/changes.html 7. http://gcc.gnu.org/onlinedocs/10.3.0/ ! 8. https://gcc.gnu.org/gcc-10/changes.html 9. http://gcc.gnu.org/onlinedocs/10.2.0/ ! 10. https://gcc.gnu.org/gcc-10/changes.html 11. http://gcc.gnu.org/onlinedocs/10.1.0/ ! 12. http://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Contributors.html ! 13. https://gcc.gnu.org/index.html ! 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/mirrors.html ! 16. https://gcc.gnu.org/git.html ! 17. https://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. https://gcc.gnu.org/lists.html ! 21. https://www.fsf.org/ ! 22. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-10/changes.html GCC 10 Release Series *************** GCC 10.5 *** 3476,3486 **** References ! 1. http://gcc.gnu.org/gcc-10/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current ! 3. http://gcc.gnu.org/gcc-10/changes.html#empty_base 4. https://www.mpfr.org/ ! 5. http://gcc.gnu.org/gcc-10/changes.html#iterator_base 6. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/cpp/_005f_005fhas_005fbuiltin.html#g_t_005f_005fhas_005fbuiltin 7. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fno-allocation-dce 8. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-partial-training --- 3499,3509 ---- References ! 1. https://gcc.gnu.org/gcc-10/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current ! 3. https://gcc.gnu.org/gcc-10/changes.html#empty_base 4. https://www.mpfr.org/ ! 5. https://gcc.gnu.org/gcc-10/changes.html#iterator_base 6. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/cpp/_005f_005fhas_005fbuiltin.html#g_t_005f_005fhas_005fbuiltin 7. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fno-allocation-dce 8. https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Optimize-Options.html#index-fprofile-partial-training *************** References and Acknowledgements *** 3580,3639 **** 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 version control system. 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 ! 2022-10-26. References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-9/changes.html 3. http://gcc.gnu.org/onlinedocs/9.5.0/ ! 4. http://gcc.gnu.org/gcc-9/changes.html 5. http://gcc.gnu.org/onlinedocs/9.4.0/ ! 6. http://gcc.gnu.org/gcc-9/changes.html 7. http://gcc.gnu.org/onlinedocs/9.3.0/ ! 8. http://gcc.gnu.org/gcc-9/changes.html 9. http://gcc.gnu.org/onlinedocs/9.2.0/ ! 10. http://gcc.gnu.org/gcc-9/changes.html 11. http://gcc.gnu.org/onlinedocs/9.1.0/ ! 12. http://gcc.gnu.org/gcc-9/buildstat.html ! 13. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/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/git.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. https://www.fsf.org/ ! 23. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-9/changes.html GCC 9 Release Series --- 3603,3658 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. 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 [12]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [13]GCC ! project web site or contact the [14]GCC development mailing list. ! To obtain GCC please use [15]our mirror sites or [16]our version control system. For questions related to the use of GCC, please consult these web ! pages and the [17]GCC manuals. If that fails, the ! [18]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [19]gcc@gcc.gnu.org. All of [20]our lists have public archives. ! Copyright (C) [21]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 [22]maintained by the GCC team. Last modified ! 2023-10-15. References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-9/changes.html 3. http://gcc.gnu.org/onlinedocs/9.5.0/ ! 4. https://gcc.gnu.org/gcc-9/changes.html 5. http://gcc.gnu.org/onlinedocs/9.4.0/ ! 6. https://gcc.gnu.org/gcc-9/changes.html 7. http://gcc.gnu.org/onlinedocs/9.3.0/ ! 8. https://gcc.gnu.org/gcc-9/changes.html 9. http://gcc.gnu.org/onlinedocs/9.2.0/ ! 10. https://gcc.gnu.org/gcc-9/changes.html 11. http://gcc.gnu.org/onlinedocs/9.1.0/ ! 12. http://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Contributors.html ! 13. https://gcc.gnu.org/index.html ! 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/mirrors.html ! 16. https://gcc.gnu.org/git.html ! 17. https://gcc.gnu.org/onlinedocs/ ! 18. mailto:gcc-help@gcc.gnu.org ! 19. mailto:gcc@gcc.gnu.org ! 20. https://gcc.gnu.org/lists.html ! 21. https://www.fsf.org/ ! 22. https://gcc.gnu.org/about.html ====================================================================== http://gcc.gnu.org/gcc-9/changes.html GCC 9 Release Series *************** mory"); *** 3771,3777 **** chain, and profile information (if available). * Inter-procedural propagation of stack alignment can now be controlled by [22]-fipa-stack-alignment. ! * Propagation of addressability, readonly and writeonly flags on static variables can now be controlled by [23]-fipa-reference-addressable. --- 3790,3796 ---- chain, and profile information (if available). * Inter-procedural propagation of stack alignment can now be controlled by [22]-fipa-stack-alignment. ! * Propagation of addressability, readonly, and writeonly flags on static variables can now be controlled by [23]-fipa-reference-addressable. *************** foo (int how) *** 3810,3817 **** can be transformed into 100 * how + 5 (for values defined in the switch statement). * Inter-procedural optimization improvements: ! + Inliner defaults was tuned to better suits modern C++ ! codebases especially when built with link time optimizations. New parameters max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns, and uninlined-thunk-time were added. --- 3829,3836 ---- can be transformed into 100 * how + 5 (for values defined in the switch statement). * Inter-procedural optimization improvements: ! + Inliner defaults were tuned to better suit modern C++ ! codebases, especially when built with link time-optimizations. New parameters max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns, and uninlined-thunk-time were added. *************** foo (int how) *** 3822,3846 **** + [29]-fprofile-use now enables [30]-fversion-loops-for-strides, [31]-floop-interchange, [32]-floop-unroll-and-jam, [33]-ftree-loop-distribution. ! + Streaming of counter histograms was removed. This reduces the ! size of profile files. Histogram is computed on the fly with ! link-time optimization. Parameter hot-bb-count-ws-permille was ! reduced from 999 to 990 to account for more precise ! histograms. * Link-time optimization improvements: ! + Types are now simplified prior streaming resulting in ! significant reductions of the LTO object files, link-time ! memory use, and improvements of link-time parallelism. ! + Default number of partitions (--param lto-partitions) was increased from 32 to 128 enabling effective use of CPUs with more than 32 hyperthreads. --param ! lto-max-streaming-parallelism can now be used to control number of streaming processes. + Warnings on C++ One Decl Rule violations (-Wodr) are now more informative and produce fewer redundant results. Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an 8-core machine was reduced by about 5% compared to GCC 8.3, and the ! size of LTO object files by 7%. LTO link-time improves by 11% on an 8-core machine and scales significantly better for more parallel build environments. The serial stage of the link-time optimization is 28% faster consuming 20% less memory. The parallel stage now --- 3841,3865 ---- + [29]-fprofile-use now enables [30]-fversion-loops-for-strides, [31]-floop-interchange, [32]-floop-unroll-and-jam, [33]-ftree-loop-distribution. ! + Streaming of counter histograms was removed, which reduces the ! size of profile files. Histograms are computed on the fly with ! link-time optimization. ! + The parameter hot-bb-count-ws-permille was reduced from 999 to ! 990 to account for more precise histograms. * Link-time optimization improvements: ! + Types are now simplified prior to streaming resulting in ! significant reductions of LTO object file sizes and link-time ! memory use as well as improvements of link-time parallelism. ! + The default number of partitions (--param lto-partitions) was increased from 32 to 128 enabling effective use of CPUs with more than 32 hyperthreads. --param ! lto-max-streaming-parallelism can now be used to control the number of streaming processes. + Warnings on C++ One Decl Rule violations (-Wodr) are now more informative and produce fewer redundant results. Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an 8-core machine was reduced by about 5% compared to GCC 8.3, and the ! size of LTO object files by 7%. LTO link time improves by 11% on an 8-core machine and scales significantly better for more parallel build environments. The serial stage of the link-time optimization is 28% faster consuming 20% less memory. The parallel stage now *************** New Targets and Target Specific Improvem *** 4322,4328 **** The produced code is compatible only with newer glibc versions, which provide the __fentry__ symbol and do not clobber r0 when resolving lazily bound functions. -mfentry is only supported when ! generating 64 bit code and does not work with nested C functions. * The -mnop-mcount option can be used to emit NOP instructions instead of an mcount or fentry call stub. * With the -mrecord-mcount option a __mcount_loc section is generated --- 4341,4347 ---- The produced code is compatible only with newer glibc versions, which provide the __fentry__ symbol and do not clobber r0 when resolving lazily bound functions. -mfentry is only supported when ! generating 64-bit code and does not work with nested C functions. * The -mnop-mcount option can be used to emit NOP instructions instead of an mcount or fentry call stub. * With the -mrecord-mcount option a __mcount_loc section is generated *************** GCC 9.5 *** 4435,4446 **** provided this notice is preserved. These pages are [75]maintained by the GCC team. Last modified ! 2023-02-22. References ! 1. http://gcc.gnu.org/gcc-9/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469 4. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html 5. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html --- 4454,4465 ---- provided this notice is preserved. These pages are [75]maintained by the GCC team. Last modified ! 2024-05-09. References ! 1. https://gcc.gnu.org/gcc-9/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469 4. https://gcc.gnu.org/ml/gcc/2018-10/msg00139.html 5. https://gcc.gnu.org/ml/gcc/2019-04/msg00023.html *************** References *** 4491,4497 **** 50. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move 51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move 52. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion ! 53. http://gcc.gnu.org/projects/cxx-status.html#cxx2a 54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat 55. https://github.com/oneapi-src/oneTBB 56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include --- 4510,4516 ---- 50. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wredundant-move 51. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wpessimizing-move 52. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-conversion ! 53. https://gcc.gnu.org/projects/cxx-status.html#cxx2a 54. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Warning-Options.html#index-Wformat 55. https://github.com/oneapi-src/oneTBB 56. https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/Fortran-Dialect-Options.html#index-fdec-include *************** References and Acknowledgements *** 4583,4604 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-8/changes.html 3. http://gcc.gnu.org/onlinedocs/8.5.0/ ! 4. http://gcc.gnu.org/gcc-8/changes.html 5. http://gcc.gnu.org/onlinedocs/8.4.0/ ! 6. http://gcc.gnu.org/gcc-8/changes.html 7. http://gcc.gnu.org/onlinedocs/8.3.0/ ! 8. http://gcc.gnu.org/gcc-8/changes.html 9. http://gcc.gnu.org/onlinedocs/8.2.0/ ! 10. http://gcc.gnu.org/gcc-8/changes.html 11. http://gcc.gnu.org/onlinedocs/8.1.0/ ! 12. http://gcc.gnu.org/gcc-8/buildstat.html 13. http://gcc.gnu.org/onlinedocs/gcc-8.1.0/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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 4602,4623 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-8/changes.html 3. http://gcc.gnu.org/onlinedocs/8.5.0/ ! 4. https://gcc.gnu.org/gcc-8/changes.html 5. http://gcc.gnu.org/onlinedocs/8.4.0/ ! 6. https://gcc.gnu.org/gcc-8/changes.html 7. http://gcc.gnu.org/onlinedocs/8.3.0/ ! 8. https://gcc.gnu.org/gcc-8/changes.html 9. http://gcc.gnu.org/onlinedocs/8.2.0/ ! 10. https://gcc.gnu.org/gcc-8/changes.html 11. http://gcc.gnu.org/onlinedocs/8.1.0/ ! 12. https://gcc.gnu.org/gcc-8/buildstat.html 13. http://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** GCC 8.5 *** 5690,5697 **** References ! 1. http://gcc.gnu.org/gcc-8/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html 4. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmultistatement-macros 5. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation --- 5709,5716 ---- References ! 1. https://gcc.gnu.org/gcc-8/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html 4. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmultistatement-macros 5. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation *************** References *** 5706,5712 **** 14. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-truncation 15. https://gcc.gnu.org/PR86094 16. https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess ! 17. http://gcc.gnu.org/projects/cxx-status.html#cxx2a 18. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_vector 19. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/expressions.html#gcc_jit_context_new_rvalue_from_vector 20. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_aligned --- 5725,5731 ---- 14. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-truncation 15. https://gcc.gnu.org/PR86094 16. https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess ! 17. https://gcc.gnu.org/projects/cxx-status.html#cxx2a 18. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_vector 19. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/expressions.html#gcc_jit_context_new_rvalue_from_vector 20. https://gcc.gnu.org/onlinedocs/gcc-8.1.0/jit/topics/types.html#gcc_jit_type_get_aligned *************** References *** 5722,5728 **** 30. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.0 31. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.2 32. https://gcc.gnu.org/PR86094 ! 33. http://gcc.gnu.org/gcc-8/changes.html#cxx 34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413 35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3 36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 --- 5741,5747 ---- 30. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.0 31. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.2 32. https://gcc.gnu.org/PR86094 ! 33. https://gcc.gnu.org/gcc-8/changes.html#cxx 34. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84413 35. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.3 36. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87137 *************** References and Acknowledgements *** 5803,5824 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-7/changes.html 3. http://gcc.gnu.org/onlinedocs/7.5.0/ ! 4. http://gcc.gnu.org/gcc-7/changes.html 5. http://gcc.gnu.org/onlinedocs/7.4.0/ ! 6. http://gcc.gnu.org/gcc-7/changes.html 7. http://gcc.gnu.org/onlinedocs/7.3.0/ ! 8. http://gcc.gnu.org/gcc-7/changes.html 9. http://gcc.gnu.org/onlinedocs/7.2.0/ ! 10. http://gcc.gnu.org/gcc-7/changes.html 11. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 12. http://gcc.gnu.org/gcc-7/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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 5822,5843 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-7/changes.html 3. http://gcc.gnu.org/onlinedocs/7.5.0/ ! 4. https://gcc.gnu.org/gcc-7/changes.html 5. http://gcc.gnu.org/onlinedocs/7.4.0/ ! 6. https://gcc.gnu.org/gcc-7/changes.html 7. http://gcc.gnu.org/onlinedocs/7.3.0/ ! 8. https://gcc.gnu.org/gcc-7/changes.html 9. http://gcc.gnu.org/onlinedocs/7.2.0/ ! 10. https://gcc.gnu.org/gcc-7/changes.html 11. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 12. https://gcc.gnu.org/gcc-7/buildstat.html 13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** GCC 7.5 *** 6898,6905 **** References ! 1. http://gcc.gnu.org/gcc-7/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/wiki/LRAIsDefault 4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html 5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 --- 6917,6924 ---- References ! 1. https://gcc.gnu.org/gcc-7/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/wiki/LRAIsDefault 4. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/manual/manual/profile_mode.html 5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 *************** References and Acknowledgements *** 7000,7021 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-6/changes.html 3. http://gcc.gnu.org/onlinedocs/6.5.0/ ! 4. http://gcc.gnu.org/gcc-6/changes.html 5. http://gcc.gnu.org/onlinedocs/6.4.0/ ! 6. http://gcc.gnu.org/gcc-6/changes.html 7. http://gcc.gnu.org/onlinedocs/6.3.0/ ! 8. http://gcc.gnu.org/gcc-6/changes.html 9. http://gcc.gnu.org/onlinedocs/6.2.0/ ! 10. http://gcc.gnu.org/gcc-6/changes.html 11. http://gcc.gnu.org/onlinedocs/6.1.0/ ! 12. http://gcc.gnu.org/gcc-6/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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 7019,7040 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-6/changes.html 3. http://gcc.gnu.org/onlinedocs/6.5.0/ ! 4. https://gcc.gnu.org/gcc-6/changes.html 5. http://gcc.gnu.org/onlinedocs/6.4.0/ ! 6. https://gcc.gnu.org/gcc-6/changes.html 7. http://gcc.gnu.org/onlinedocs/6.3.0/ ! 8. https://gcc.gnu.org/gcc-6/changes.html 9. http://gcc.gnu.org/onlinedocs/6.2.0/ ! 10. https://gcc.gnu.org/gcc-6/changes.html 11. http://gcc.gnu.org/onlinedocs/6.1.0/ ! 12. https://gcc.gnu.org/gcc-6/buildstat.html 13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** Operating Systems *** 7736,7743 **** References ! 1. http://gcc.gnu.org/gcc-6/porting_to.html ! 2. http://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html 4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87822 --- 7755,7762 ---- References ! 1. https://gcc.gnu.org/gcc-6/porting_to.html ! 2. https://gcc.gnu.org/onlinedocs/index.html#current 3. https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html 4. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 5. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87822 *************** References and Acknowledgements *** 7837,7858 **** 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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 7856,7877 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-5/changes.html 3. http://gcc.gnu.org/onlinedocs/5.5.0/ ! 4. https://gcc.gnu.org/gcc-5/changes.html 5. http://gcc.gnu.org/onlinedocs/5.4.0/ ! 6. https://gcc.gnu.org/gcc-5/changes.html 7. http://gcc.gnu.org/onlinedocs/5.3.0/ ! 8. https://gcc.gnu.org/gcc-5/changes.html 9. http://gcc.gnu.org/onlinedocs/5.2.0/ ! 10. https://gcc.gnu.org/gcc-5/changes.html 11. http://gcc.gnu.org/onlinedocs/5.1.0/ ! 12. https://gcc.gnu.org/gcc-5/buildstat.html 13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** New Targets and Target Specific Improvem *** 8395,8401 **** Using -mcpu=cortex-a72 requires a version of GNU binutils that has support for the Cortex-A72. * The transitional options -mlra and -mno-lra have been removed. The ! AArch64 backend now uses the local register allocator (LRA) only. ARM --- 8414,8420 ---- Using -mcpu=cortex-a72 requires a version of GNU binutils that has support for the Cortex-A72. * The transitional options -mlra and -mno-lra have been removed. The ! AArch64 back end now uses the local register allocator (LRA) only. ARM *************** New Targets and Target Specific Improvem *** 8428,8434 **** -mtpcs-leaf-frame which are only applicable to the old ABI have been deprecated. * The transitional options -mlra and -mno-lra have been removed. The ! ARM backend now uses the local register allocator (LRA) only. AVR --- 8447,8453 ---- -mtpcs-leaf-frame which are only applicable to the old ABI have been deprecated. * The transitional options -mlra and -mno-lra have been removed. The ! ARM back end now uses the local register allocator (LRA) only. AVR *************** Target Specific Changes *** 8740,8750 **** provided this notice is preserved. These pages are [49]maintained by the GCC team. Last modified ! 2023-02-20. References ! 1. http://gcc.gnu.org/gcc-5/changes.html#libstdcxx 2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html 3. https://savannah.nongnu.org/bugs/?44574 4. https://gcc.gnu.org/wiki/Intel MPX support in the GCC compiler --- 8759,8769 ---- provided this notice is preserved. These pages are [49]maintained by the GCC team. Last modified ! 2023-09-02. References ! 1. https://gcc.gnu.org/gcc-5/changes.html#libstdcxx 2. https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html 3. https://savannah.nongnu.org/bugs/?44574 4. https://gcc.gnu.org/wiki/Intel MPX support in the GCC compiler *************** References *** 8753,8765 **** 7. https://gcc.gnu.org/wiki/OpenACC 8. https://gcc.gnu.org/install/configure.html 9. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations ! 10. http://gcc.gnu.org/projects/cxx1y.html 11. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations ! 12. http://gcc.gnu.org/projects/cxx1y.html ! 13. http://gcc.gnu.org/projects/cxx1y.html ! 14. http://gcc.gnu.org/projects/cxx1y.html 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html ! 16. http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html 17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011 18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 --- 8772,8784 ---- 7. https://gcc.gnu.org/wiki/OpenACC 8. https://gcc.gnu.org/install/configure.html 9. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations ! 10. https://gcc.gnu.org/projects/cxx1y.html 11. https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations ! 12. https://gcc.gnu.org/projects/cxx1y.html ! 13. https://gcc.gnu.org/projects/cxx1y.html ! 14. https://gcc.gnu.org/projects/cxx1y.html 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html ! 16. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html 17. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2011 18. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 19. https://gcc.gnu.org/onlinedocs/gcc-5.1.0/libstdc++/manual/manual/status.html#status.iso.2014 *************** References and Acknowledgements *** 8862,8883 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.9/changes.html 3. http://gcc.gnu.org/onlinedocs/4.9.4/ ! 4. http://gcc.gnu.org/gcc-4.9/changes.html 5. http://gcc.gnu.org/onlinedocs/4.9.3/ ! 6. http://gcc.gnu.org/gcc-4.9/changes.html 7. http://gcc.gnu.org/onlinedocs/4.9.2/ ! 8. http://gcc.gnu.org/gcc-4.9/changes.html 9. http://gcc.gnu.org/onlinedocs/4.9.1/ ! 10. http://gcc.gnu.org/gcc-4.9/changes.html 11. https://gcc.gnu.org/onlinedocs/4.9.0/ ! 12. http://gcc.gnu.org/gcc-4.9/buildstat.html 13. https://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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 8881,8902 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.9/changes.html 3. http://gcc.gnu.org/onlinedocs/4.9.4/ ! 4. https://gcc.gnu.org/gcc-4.9/changes.html 5. http://gcc.gnu.org/onlinedocs/4.9.3/ ! 6. https://gcc.gnu.org/gcc-4.9/changes.html 7. http://gcc.gnu.org/onlinedocs/4.9.2/ ! 8. https://gcc.gnu.org/gcc-4.9/changes.html 9. http://gcc.gnu.org/onlinedocs/4.9.1/ ! 10. https://gcc.gnu.org/gcc-4.9/changes.html 11. https://gcc.gnu.org/onlinedocs/4.9.0/ ! 12. https://gcc.gnu.org/gcc-4.9/buildstat.html 13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** New Targets and Target Specific Improvem *** 9260,9274 **** * Coverage of more of the ISA including the SIMD extensions has been added. The Advanced SIMD intrinsics have also been improved. * The new local register allocator (LRA) is now on by default for the ! AArch64 backend. * The REE (Redundant extension elimination) pass has now been enabled ! by default for the AArch64 backend. * Tuning for the Cortex-A53 and Cortex-A57 has been improved. * Initial big.LITTLE tuning support for the combination of Cortex-A57 and Cortex-A53 was added through the -mcpu=cortex-a57.cortex-a53 option. * A number of structural changes have been made to both the ARM and ! AArch64 backends to facilitate improved code-generation. * As of GCC 4.9.2 a workaround for the ARM Cortex-A53 erratum 835769 has been added and can be enabled by giving the -mfix-cortex-a53-835769 option. Alternatively it can be enabled by --- 9279,9293 ---- * Coverage of more of the ISA including the SIMD extensions has been added. The Advanced SIMD intrinsics have also been improved. * The new local register allocator (LRA) is now on by default for the ! AArch64 back end. * The REE (Redundant extension elimination) pass has now been enabled ! by default for the AArch64 back end. * Tuning for the Cortex-A53 and Cortex-A57 has been improved. * Initial big.LITTLE tuning support for the combination of Cortex-A57 and Cortex-A53 was added through the -mcpu=cortex-a57.cortex-a53 option. * A number of structural changes have been made to both the ARM and ! AArch64 back ends to facilitate improved code-generation. * As of GCC 4.9.2 a workaround for the ARM Cortex-A53 erratum 835769 has been added and can be enabled by giving the -mfix-cortex-a53-835769 option. Alternatively it can be enabled by *************** New Targets and Target Specific Improvem *** 9309,9315 **** data segments to be relative to text segments has been added. This is on by default for all targets except VxWorks RTP. * A number of infrastructural changes have been made to both the ARM ! and AArch64 backends to facilitate improved code-generation. * GCC now supports Cortex-A12 and the Cortex-R7 through the -mcpu=cortex-a12 and -mcpu=cortex-r7 options. * GCC now has tuning for the Cortex-A57 and Cortex-A53 through the --- 9328,9334 ---- data segments to be relative to text segments has been added. This is on by default for all targets except VxWorks RTP. * A number of infrastructural changes have been made to both the ARM ! and AArch64 back ends to facilitate improved code-generation. * GCC now supports Cortex-A12 and the Cortex-R7 through the -mcpu=cortex-a12 and -mcpu=cortex-r7 options. * GCC now has tuning for the Cortex-A57 and Cortex-A53 through the *************** New Targets and Target Specific Improvem *** 9371,9384 **** MSP430 ! * A new command-line option -mcpu= has been added to the MSP430 ! backend. This option is used to specify the ISA to be used. ! Accepted values are msp430 (the default), msp430x and msp430xv2. ! The ISA is no longer deduced from the -mmcu= option as there are ! far too many different MCU names. The -mmcu= option is still ! supported, and this is still used to select linker scripts and ! generate a C preprocessor symbol that will be recognised by the ! msp430.h header file. NDS32 --- 9390,9403 ---- MSP430 ! * A new command-line option -mcpu= has been added to the MSP430 back ! end. This option is used to specify the ISA to be used. Accepted ! values are msp430 (the default), msp430x and msp430xv2. The ISA is ! no longer deduced from the -mmcu= option as there are far too many ! different MCU names. The -mmcu= option is still supported, and this ! is still used to select linker scripts and generate a C ! preprocessor symbol that will be recognised by the msp430.h header ! file. NDS32 *************** GCC 4.9.4 *** 9495,9501 **** provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2023-01-19. References --- 9514,9520 ---- provided this notice is preserved. These pages are [33]maintained by the GCC team. Last modified ! 2023-09-02. References *************** References *** 9506,9518 **** 5. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Optimize-Options.html#index-fsimd-cost-model-908 6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252 7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html ! 8. http://gcc.gnu.org/projects/cxx1y.html 9. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html ! 10. http://gcc.gnu.org/projects/cxx1y.html ! 11. http://gcc.gnu.org/projects/cxx1y.html ! 12. http://gcc.gnu.org/projects/cxx1y.html ! 13. http://gcc.gnu.org/projects/cxx1y.html ! 14. http://gcc.gnu.org/projects/cxx1y.html 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf 16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014 --- 9525,9537 ---- 5. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Optimize-Options.html#index-fsimd-cost-model-908 6. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#index-fdiagnostics-color-252 7. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Loop-Specific-Pragmas.html ! 8. https://gcc.gnu.org/projects/cxx1y.html 9. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html ! 10. https://gcc.gnu.org/projects/cxx1y.html ! 11. https://gcc.gnu.org/projects/cxx1y.html ! 12. https://gcc.gnu.org/projects/cxx1y.html ! 13. https://gcc.gnu.org/projects/cxx1y.html ! 14. https://gcc.gnu.org/projects/cxx1y.html 15. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3889.pdf 16. https://gcc.gnu.org/onlinedocs/gcc-4.9.2/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014 *************** References and Acknowledgements *** 9604,9627 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.8/changes.html 3. https://gcc.gnu.org/onlinedocs/4.8.5/ ! 4. http://gcc.gnu.org/gcc-4.8/changes.html 5. https://gcc.gnu.org/onlinedocs/4.8.4/ ! 6. http://gcc.gnu.org/gcc-4.8/changes.html 7. https://gcc.gnu.org/onlinedocs/4.8.3/ ! 8. http://gcc.gnu.org/gcc-4.8/changes.html 9. https://gcc.gnu.org/onlinedocs/4.8.2/ ! 10. http://gcc.gnu.org/gcc-4.8/changes.html 11. https://gcc.gnu.org/onlinedocs/4.8.1/ ! 12. http://gcc.gnu.org/gcc-4.8/changes.html 13. https://gcc.gnu.org/onlinedocs/4.8.0/ ! 14. http://gcc.gnu.org/gcc-4.8/buildstat.html 15. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 16. http://gcc.gnu.org/index.html 17. mailto:gcc@gcc.gnu.org ! 18. http://gcc.gnu.org/mirrors.html ! 19. http://gcc.gnu.org/git.html 20. https://gcc.gnu.org/onlinedocs/ 21. mailto:gcc-help@gcc.gnu.org 22. mailto:gcc@gcc.gnu.org --- 9623,9646 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.8/changes.html 3. https://gcc.gnu.org/onlinedocs/4.8.5/ ! 4. https://gcc.gnu.org/gcc-4.8/changes.html 5. https://gcc.gnu.org/onlinedocs/4.8.4/ ! 6. https://gcc.gnu.org/gcc-4.8/changes.html 7. https://gcc.gnu.org/onlinedocs/4.8.3/ ! 8. https://gcc.gnu.org/gcc-4.8/changes.html 9. https://gcc.gnu.org/onlinedocs/4.8.2/ ! 10. https://gcc.gnu.org/gcc-4.8/changes.html 11. https://gcc.gnu.org/onlinedocs/4.8.1/ ! 12. https://gcc.gnu.org/gcc-4.8/changes.html 13. https://gcc.gnu.org/onlinedocs/4.8.0/ ! 14. https://gcc.gnu.org/gcc-4.8/buildstat.html 15. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 16. https://gcc.gnu.org/index.html 17. mailto:gcc@gcc.gnu.org ! 18. https://gcc.gnu.org/mirrors.html ! 19. https://gcc.gnu.org/git.html 20. https://gcc.gnu.org/onlinedocs/ 21. mailto:gcc-help@gcc.gnu.org 22. mailto:gcc@gcc.gnu.org *************** References *** 10365,10377 **** 6. https://github.com/google/sanitizers 7. https://code.google.com/archive/p/data-race-test/wikis/ThreadSanitizer.wiki 8. https://lkml.org/lkml/2006/11/28/239 ! 9. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 10. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 11. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 12. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf ! 13. http://gcc.gnu.org/gcc-4.8/cxx0x_status.html 14. https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html ! 15. http://gcc.gnu.org/projects/cxx1y.html 16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html 18. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html --- 10384,10396 ---- 6. https://github.com/google/sanitizers 7. https://code.google.com/archive/p/data-race-test/wikis/ThreadSanitizer.wiki 8. https://lkml.org/lkml/2006/11/28/239 ! 9. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 10. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html ! 11. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html 12. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf ! 13. https://gcc.gnu.org/gcc-4.8/cxx0x_status.html 14. https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3386.html ! 15. https://gcc.gnu.org/projects/cxx1y.html 16. https://gcc.gnu.org/onlinedocs/gcc-4.8.4/libstdc++/manual/manual/status.html#status.iso.2011 17. https://gcc.gnu.org/onlinedocs/gfortran/BACKTRACE.html 18. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html *************** References and Acknowledgements *** 10469,10490 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.7/changes.html 3. https://gcc.gnu.org/onlinedocs/4.7.4/ ! 4. http://gcc.gnu.org/gcc-4.7/changes.html 5. https://gcc.gnu.org/onlinedocs/4.7.3/ ! 6. http://gcc.gnu.org/gcc-4.7/changes.html 7. https://gcc.gnu.org/onlinedocs/4.7.2/ ! 8. http://gcc.gnu.org/gcc-4.7/changes.html 9. https://gcc.gnu.org/onlinedocs/4.7.1/ ! 10. http://gcc.gnu.org/gcc-4.7/changes.html 11. https://gcc.gnu.org/onlinedocs/4.7.0/ ! 12. http://gcc.gnu.org/gcc-4.7/buildstat.html 13. https://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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 10488,10509 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.7/changes.html 3. https://gcc.gnu.org/onlinedocs/4.7.4/ ! 4. https://gcc.gnu.org/gcc-4.7/changes.html 5. https://gcc.gnu.org/onlinedocs/4.7.3/ ! 6. https://gcc.gnu.org/gcc-4.7/changes.html 7. https://gcc.gnu.org/onlinedocs/4.7.2/ ! 8. https://gcc.gnu.org/gcc-4.7/changes.html 9. https://gcc.gnu.org/onlinedocs/4.7.1/ ! 10. https://gcc.gnu.org/gcc-4.7/changes.html 11. https://gcc.gnu.org/onlinedocs/4.7.0/ ! 12. https://gcc.gnu.org/gcc-4.7/buildstat.html 13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** References *** 11294,11305 **** 4. https://gcc.gnu.org/gcc-4.7/porting_to.html 5. https://gcc.gnu.org/wiki/TransactionalMemory 6. https://gcc.gnu.org/wiki/Atomic/GCCMM ! 7. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 8. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 9. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 10. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 11. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 12. http://gcc.gnu.org/gcc-4.7/cxx0x_status.html 13. https://gcc.gnu.org/PR14258 14. https://gcc.gnu.org/PR35688 15. https://gcc.gnu.org/onlinedocs/gcc-4.7.4/libstdc++/manual/manual/status.html#status.iso.2011 --- 11313,11324 ---- 4. https://gcc.gnu.org/gcc-4.7/porting_to.html 5. https://gcc.gnu.org/wiki/TransactionalMemory 6. https://gcc.gnu.org/wiki/Atomic/GCCMM ! 7. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 8. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 9. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 10. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 11. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html ! 12. https://gcc.gnu.org/gcc-4.7/cxx0x_status.html 13. https://gcc.gnu.org/PR14258 14. https://gcc.gnu.org/PR35688 15. https://gcc.gnu.org/onlinedocs/gcc-4.7.4/libstdc++/manual/manual/status.html#status.iso.2011 *************** References and Acknowledgements *** 11411,11432 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.6/changes.html 3. https://gcc.gnu.org/onlinedocs/4.6.4/ ! 4. http://gcc.gnu.org/gcc-4.6/changes.html 5. https://gcc.gnu.org/onlinedocs/4.6.3/ ! 6. http://gcc.gnu.org/gcc-4.6/changes.html 7. https://gcc.gnu.org/onlinedocs/4.6.2/ ! 8. http://gcc.gnu.org/gcc-4.6/changes.html 9. https://gcc.gnu.org/onlinedocs/4.6.1/ ! 10. http://gcc.gnu.org/gcc-4.6/changes.html 11. https://gcc.gnu.org/onlinedocs/4.6.0/ ! 12. http://gcc.gnu.org/gcc-4.6/buildstat.html 13. https://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/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org --- 11430,11451 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.6/changes.html 3. https://gcc.gnu.org/onlinedocs/4.6.4/ ! 4. https://gcc.gnu.org/gcc-4.6/changes.html 5. https://gcc.gnu.org/onlinedocs/4.6.3/ ! 6. https://gcc.gnu.org/gcc-4.6/changes.html 7. https://gcc.gnu.org/onlinedocs/4.6.2/ ! 8. https://gcc.gnu.org/gcc-4.6/changes.html 9. https://gcc.gnu.org/onlinedocs/4.6.1/ ! 10. https://gcc.gnu.org/gcc-4.6/changes.html 11. https://gcc.gnu.org/onlinedocs/4.6.0/ ! 12. https://gcc.gnu.org/gcc-4.6/buildstat.html 13. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. https://gcc.gnu.org/index.html 15. mailto:gcc@gcc.gnu.org ! 16. https://gcc.gnu.org/mirrors.html ! 17. https://gcc.gnu.org/git.html 18. https://gcc.gnu.org/onlinedocs/ 19. mailto:gcc-help@gcc.gnu.org 20. mailto:gcc@gcc.gnu.org *************** New Targets and Target Specific Improvem *** 12014,12020 **** and store multiples. * Several enhancements were committed to improve SIMD code generation for NEON by adding support for widening instructions, misaligned ! loads and stores, vector conditionals and support for 64 bit arithmetic. * Support was added for the Faraday cores fa526, fa606te, fa626te, fmp626te, fmp626 and fa726te and can be used with the respective --- 12033,12039 ---- and store multiples. * Several enhancements were committed to improve SIMD code generation for NEON by adding support for widening instructions, misaligned ! loads and stores, vector conditionals and support for 64-bit arithmetic. * Support was added for the Faraday cores fa526, fa606te, fa626te, fmp626te, fmp626 and fa726te and can be used with the respective *************** New Targets and Target Specific Improvem *** 12120,12128 **** instructions. * The GCC compiler on AIX now defaults to a process layout with a larger data space allowing larger programs to be compiled. ! * The GCC long double type on AIX 6.1 and above has reverted to 64 ! bit double precision, matching the AIX XL compiler default, because ! of missing C99 symbols required by the GCC runtime. * The default processor scheduling model and tuning for PowerPC64 GNU/Linux and for AIX 6.1 and above now is POWER7. * Starting with GCC 4.6.1, vectors of type vector long long or vector --- 12139,12147 ---- instructions. * The GCC compiler on AIX now defaults to a process layout with a larger data space allowing larger programs to be compiled. ! * The GCC long double type on AIX 6.1 and above has reverted to ! 64-bit double precision, matching the AIX XL compiler default, ! because of missing C99 symbols required by the GCC runtime. * The default processor scheduling model and tuning for PowerPC64 GNU/Linux and for AIX 6.1 and above now is POWER7. * Starting with GCC 4.6.1, vectors of type vector long long or vector *************** GCC 4.6.4 *** 12329,12345 **** provided this notice is preserved. These pages are [28]maintained by the GCC team. Last modified ! 2023-01-18. References 1. https://sourceware.org/bugzilla/show_bug.cgi?id=10401 ! 2. http://gcc.gnu.org/gcc-4.5/changes.html ! 3. http://gcc.gnu.org/gcc-4.5/changes.html#obsoleted ! 4. http://gcc.gnu.org/gcc-4.6/porting_to.html ! 5. http://gcc.gnu.org/projects/lto/whopr.pdf 6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options ! 7. http://gcc.gnu.org/gcc-4.6/cxx0x_status.html 8. https://gcc.gnu.org/PR43145 9. https://gcc.gnu.org/PR43680 10. https://gcc.gnu.org/PR33558 --- 12348,12364 ---- provided this notice is preserved. These pages are [28]maintained by the GCC team. Last modified ! 2024-05-17. References 1. https://sourceware.org/bugzilla/show_bug.cgi?id=10401 ! 2. https://gcc.gnu.org/gcc-4.5/changes.html ! 3. https://gcc.gnu.org/gcc-4.5/changes.html#obsoleted ! 4. https://gcc.gnu.org/gcc-4.6/porting_to.html ! 5. https://gcc.gnu.org/projects/lto/whopr.pdf 6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options ! 7. https://gcc.gnu.org/gcc-4.6/cxx0x_status.html 8. https://gcc.gnu.org/PR43145 9. https://gcc.gnu.org/PR43680 10. https://gcc.gnu.org/PR33558 *************** References and Acknowledgements *** 12430,12446 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.5/changes.html ! 3. http://gcc.gnu.org/gcc-4.5/changes.html ! 4. http://gcc.gnu.org/gcc-4.5/changes.html ! 5. http://gcc.gnu.org/gcc-4.5/changes.html ! 6. http://gcc.gnu.org/gcc-4.5/changes.html ! 7. http://gcc.gnu.org/gcc-4.5/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 12449,12465 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.5/changes.html ! 3. https://gcc.gnu.org/gcc-4.5/changes.html ! 4. https://gcc.gnu.org/gcc-4.5/changes.html ! 5. https://gcc.gnu.org/gcc-4.5/changes.html ! 6. https://gcc.gnu.org/gcc-4.5/changes.html ! 7. https://gcc.gnu.org/gcc-4.5/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. https://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. https://gcc.gnu.org/mirrors.html ! 12. https://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** GCC 4.5.4 *** 13096,13122 **** provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2023-01-15. References ! 1. https://www.multiprecision.org/mpc/ 2. https://gcc.gnu.org/install/prerequisites.html 3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html ! 4. http://gcc.gnu.org/gcc-4.4/changes.html#obsoleted ! 5. http://gcc.gnu.org/gcc-4.5/changes.html#x86 6. https://gcc.gnu.org/PR30789 7. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto-801 8. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhopr-802 9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800 10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html ! 11. http://gcc.gnu.org/gcc-4.5/cxx0x_status.html 12. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757 13. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html 15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733 16. https://sourceware.org/gdb/wiki/STLSupport ! 17. http://gcc.gnu.org/gcc-4.4/changes.html 18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html 19. https://gcc.gnu.org/onlinedocs/gfortran/Mixed-Language-Programming.html 20. https://gcc.gnu.org/onlinedocs/gfortran/GNU-Fortran-Compiler-Directives.html --- 13115,13141 ---- provided this notice is preserved. These pages are [32]maintained by the GCC team. Last modified ! 2023-07-30. References ! 1. https://www.multiprecision.org/ 2. https://gcc.gnu.org/install/prerequisites.html 3. https://gcc.gnu.org/ml/gcc/2010-01/msg00510.html ! 4. https://gcc.gnu.org/gcc-4.4/changes.html#obsoleted ! 5. https://gcc.gnu.org/gcc-4.5/changes.html#x86 6. https://gcc.gnu.org/PR30789 7. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto-801 8. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhopr-802 9. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-fwhole-program-800 10. https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html ! 11. https://gcc.gnu.org/gcc-4.5/cxx0x_status.html 12. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#757 13. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#176 14. https://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html 15. https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr24733 16. https://sourceware.org/gdb/wiki/STLSupport ! 17. https://gcc.gnu.org/gcc-4.4/changes.html 18. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html 19. https://gcc.gnu.org/onlinedocs/gfortran/Mixed-Language-Programming.html 20. https://gcc.gnu.org/onlinedocs/gfortran/GNU-Fortran-Compiler-Directives.html *************** References and Acknowledgements *** 13210,13229 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.4/changes.html ! 3. http://gcc.gnu.org/gcc-4.4/changes.html ! 4. http://gcc.gnu.org/gcc-4.4/changes.html ! 5. http://gcc.gnu.org/gcc-4.4/changes.html ! 6. http://gcc.gnu.org/gcc-4.4/changes.html ! 7. http://gcc.gnu.org/gcc-4.4/changes.html ! 8. http://gcc.gnu.org/gcc-4.4/changes.html ! 9. http://gcc.gnu.org/gcc-4.4/changes.html ! 10. http://gcc.gnu.org/gcc-4.4/buildstat.html 11. https://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/git.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org --- 13229,13248 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.4/changes.html ! 3. https://gcc.gnu.org/gcc-4.4/changes.html ! 4. https://gcc.gnu.org/gcc-4.4/changes.html ! 5. https://gcc.gnu.org/gcc-4.4/changes.html ! 6. https://gcc.gnu.org/gcc-4.4/changes.html ! 7. https://gcc.gnu.org/gcc-4.4/changes.html ! 8. https://gcc.gnu.org/gcc-4.4/changes.html ! 9. https://gcc.gnu.org/gcc-4.4/changes.html ! 10. https://gcc.gnu.org/gcc-4.4/buildstat.html 11. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 12. https://gcc.gnu.org/index.html 13. mailto:gcc@gcc.gnu.org ! 14. https://gcc.gnu.org/mirrors.html ! 15. https://gcc.gnu.org/git.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org *************** GCC 4.4.7 *** 13838,13849 **** References ! 1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.7 ! 2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted ! 3. http://gcc.gnu.org/gcc-4.4/porting_to.html 4. https://gcc.gnu.org/wiki/Graphite 5. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf ! 6. http://gcc.gnu.org/gcc-4.4/cxx0x_status.html 7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html 8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125 9. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcheck-array-temporaries_007d-221 --- 13857,13868 ---- References ! 1. https://gcc.gnu.org/gcc-4.4/changes.html#4.4.7 ! 2. https://gcc.gnu.org/gcc-4.3/changes.html#obsoleted ! 3. https://gcc.gnu.org/gcc-4.4/porting_to.html 4. https://gcc.gnu.org/wiki/Graphite 5. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1040.pdf ! 6. https://gcc.gnu.org/gcc-4.4/cxx0x_status.html 7. https://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html 8. https://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125 9. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcheck-array-temporaries_007d-221 *************** References and Acknowledgements *** 13936,13954 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.3/changes.html ! 3. http://gcc.gnu.org/gcc-4.3/changes.html ! 4. http://gcc.gnu.org/gcc-4.3/changes.html ! 5. http://gcc.gnu.org/gcc-4.3/changes.html ! 6. http://gcc.gnu.org/gcc-4.3/changes.html ! 7. http://gcc.gnu.org/gcc-4.3/changes.html ! 8. http://gcc.gnu.org/gcc-4.3/changes.html ! 9. http://gcc.gnu.org/gcc-4.3/buildstat.html 10. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 11. http://gcc.gnu.org/index.html 12. mailto:gcc@gcc.gnu.org ! 13. http://gcc.gnu.org/mirrors.html ! 14. http://gcc.gnu.org/git.html 15. https://gcc.gnu.org/onlinedocs/ 16. mailto:gcc-help@gcc.gnu.org 17. mailto:gcc@gcc.gnu.org --- 13955,13973 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.3/changes.html ! 3. https://gcc.gnu.org/gcc-4.3/changes.html ! 4. https://gcc.gnu.org/gcc-4.3/changes.html ! 5. https://gcc.gnu.org/gcc-4.3/changes.html ! 6. https://gcc.gnu.org/gcc-4.3/changes.html ! 7. https://gcc.gnu.org/gcc-4.3/changes.html ! 8. https://gcc.gnu.org/gcc-4.3/changes.html ! 9. https://gcc.gnu.org/gcc-4.3/buildstat.html 10. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 11. https://gcc.gnu.org/index.html 12. mailto:gcc@gcc.gnu.org ! 13. https://gcc.gnu.org/mirrors.html ! 14. https://gcc.gnu.org/git.html 15. https://gcc.gnu.org/onlinedocs/ 16. mailto:gcc-help@gcc.gnu.org 17. mailto:gcc@gcc.gnu.org *************** GCC 4.3.6 *** 14739,14754 **** References ! 1. http://gcc.gnu.org/gcc-4.3/changes.html#4.3.5 2. https://gmplib.org/ 3. https://www.mpfr.org/ 4. https://gcc.gnu.org/install/prerequisites.html 5. https://gcc.gnu.org/ml/gcc-announce/2001/msg00000.html 6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options ! 7. http://gcc.gnu.org/gcc-4.3/porting_to.html 8. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html ! 9. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html ! 10. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html 11. https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html 12. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options 13. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfinit-local-zero_007d-167 --- 14758,14773 ---- References ! 1. https://gcc.gnu.org/gcc-4.3/changes.html#4.3.5 2. https://gmplib.org/ 3. https://www.mpfr.org/ 4. https://gcc.gnu.org/install/prerequisites.html 5. https://gcc.gnu.org/ml/gcc-announce/2001/msg00000.html 6. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options ! 7. https://gcc.gnu.org/gcc-4.3/porting_to.html 8. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html ! 9. https://gcc.gnu.org/gcc-4.3/cxx0x_status.html ! 10. https://gcc.gnu.org/gcc-4.3/cxx0x_status.html 11. https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html 12. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options 13. https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfinit-local-zero_007d-167 *************** References and Acknowledgements *** 14838,14854 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.2/changes.html ! 3. http://gcc.gnu.org/gcc-4.2/changes.html ! 4. http://gcc.gnu.org/gcc-4.2/changes.html ! 5. http://gcc.gnu.org/gcc-4.2/changes.html ! 6. http://gcc.gnu.org/gcc-4.2/changes.html ! 7. http://gcc.gnu.org/gcc-4.2/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 14857,14873 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.2/changes.html ! 3. https://gcc.gnu.org/gcc-4.2/changes.html ! 4. https://gcc.gnu.org/gcc-4.2/changes.html ! 5. https://gcc.gnu.org/gcc-4.2/changes.html ! 6. https://gcc.gnu.org/gcc-4.2/changes.html ! 7. https://gcc.gnu.org/gcc-4.2/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. https://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. https://gcc.gnu.org/mirrors.html ! 12. https://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** Other significant improvements *** 15164,15170 **** References ! 1. http://gcc.gnu.org/projects/gomp/ 2. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html 3. https://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html 4. https://gcc.gnu.org/onlinedocs/gfortran/Runtime-Options.html --- 15183,15189 ---- References ! 1. https://gcc.gnu.org/projects/gomp/ 2. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html 3. https://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html 4. https://gcc.gnu.org/onlinedocs/gfortran/Runtime-Options.html *************** References and Acknowledgements *** 15238,15252 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2 ! 3. http://gcc.gnu.org/gcc-4.1/changes.html ! 4. http://gcc.gnu.org/gcc-4.1/changes.html ! 5. http://gcc.gnu.org/gcc-4.1/buildstat.html 6. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 7. http://gcc.gnu.org/index.html 8. mailto:gcc@gcc.gnu.org ! 9. http://gcc.gnu.org/mirrors.html ! 10. http://gcc.gnu.org/git.html 11. https://gcc.gnu.org/onlinedocs/ 12. mailto:gcc-help@gcc.gnu.org 13. mailto:gcc@gcc.gnu.org --- 15257,15271 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.1/changes.html#4.1.2 ! 3. https://gcc.gnu.org/gcc-4.1/changes.html ! 4. https://gcc.gnu.org/gcc-4.1/changes.html ! 5. https://gcc.gnu.org/gcc-4.1/buildstat.html 6. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 7. https://gcc.gnu.org/index.html 8. mailto:gcc@gcc.gnu.org ! 9. https://gcc.gnu.org/mirrors.html ! 10. https://gcc.gnu.org/git.html 11. https://gcc.gnu.org/onlinedocs/ 12. mailto:gcc-help@gcc.gnu.org 13. mailto:gcc@gcc.gnu.org *************** GCC 4.1.2 *** 15795,15801 **** References ! 1. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2 2. https://gcc.gnu.org/ml/java/2005-05/msg00260.html 3. https://developer.classpath.org/doc/ 4. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html --- 15814,15820 ---- References ! 1. https://gcc.gnu.org/gcc-4.1/changes.html#4.1.2 2. https://gcc.gnu.org/ml/java/2005-05/msg00260.html 3. https://developer.classpath.org/doc/ 4. https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html *************** References and Acknowledgements *** 15875,15891 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4 ! 3. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.3 ! 4. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.2 ! 5. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1 ! 6. http://gcc.gnu.org/gcc-4.0/changes.html ! 7. http://gcc.gnu.org/gcc-4.0/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html ! 12. http://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 15894,15910 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.4 ! 3. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.3 ! 4. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.2 ! 5. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.1 ! 6. https://gcc.gnu.org/gcc-4.0/changes.html ! 7. https://gcc.gnu.org/gcc-4.0/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. https://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. https://gcc.gnu.org/mirrors.html ! 12. https://gcc.gnu.org/git.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** GCC 4.0.4 *** 16399,16413 **** References ! 1. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4 2. https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html ! 3. http://gcc.gnu.org/projects/tree-ssa/ ! 4. http://gcc.gnu.org/projects/tree-ssa/vectorization.html ! 5. http://gcc.gnu.org/news/sms.html 6. https://www.akkadia.org/drepper/dsohowto.pdf ! 7. http://gcc.gnu.org/gcc-4.0/changes.html#visibility 8. https://itanium-cxx-abi.github.io/cxx-abi/ ! 9. http://gcc.gnu.org/fortran/ 10. https://gcc.gnu.org/install/ 11. https://gcc.gnu.org/wiki/Visibility 12. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1 --- 16418,16432 ---- References ! 1. https://gcc.gnu.org/gcc-4.0/changes.html#4.0.4 2. https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html ! 3. https://gcc.gnu.org/projects/tree-ssa/ ! 4. https://gcc.gnu.org/projects/tree-ssa/vectorization.html ! 5. https://gcc.gnu.org/news/sms.html 6. https://www.akkadia.org/drepper/dsohowto.pdf ! 7. https://gcc.gnu.org/gcc-4.0/changes.html#visibility 8. https://itanium-cxx-abi.github.io/cxx-abi/ ! 9. https://gcc.gnu.org/fortran/ 10. https://gcc.gnu.org/install/ 11. https://gcc.gnu.org/wiki/Visibility 12. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1 *************** References and Acknowledgements *** 16500,16520 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.4/changes.html 3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 4. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6 ! 5. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5 ! 6. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4 ! 7. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.3 ! 8. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.2 ! 9. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1 ! 10. http://gcc.gnu.org/gcc-3.4/changes.html ! 11. http://gcc.gnu.org/gcc-3.4/buildstat.html 12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 13. http://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org ! 15. http://gcc.gnu.org/mirrors.html ! 16. http://gcc.gnu.org/git.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org --- 16519,16539 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-3.4/changes.html 3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 4. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.6 ! 5. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.5 ! 6. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.4 ! 7. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.3 ! 8. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.2 ! 9. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.1 ! 10. https://gcc.gnu.org/gcc-3.4/changes.html ! 11. https://gcc.gnu.org/gcc-3.4/buildstat.html 12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 13. https://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/mirrors.html ! 16. https://gcc.gnu.org/git.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org *************** GCC 3.4.6 *** 18286,18303 **** References ! 1. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6 ! 2. http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus ! 3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems ! 4. http://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems ! 5. http://gcc.gnu.org/gcc-3.4/mips-abi.html ! 6. http://gcc.gnu.org/gcc-3.4/sparc-abi.html 7. https://www.boost.org/ 8. https://gcc.gnu.org/PR11953 9. https://gcc.gnu.org/PR8361 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other Builtins 11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209 ! 12. http://gcc.gnu.org/bugs/#cxx_rvalbind 13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html --- 18305,18322 ---- References ! 1. https://gcc.gnu.org/gcc-3.4/changes.html#3.4.6 ! 2. https://gcc.gnu.org/gcc-3.4/changes.html#cplusplus ! 3. https://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems ! 4. https://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems ! 5. https://gcc.gnu.org/gcc-3.4/mips-abi.html ! 6. https://gcc.gnu.org/gcc-3.4/sparc-abi.html 7. https://www.boost.org/ 8. https://gcc.gnu.org/PR11953 9. https://gcc.gnu.org/PR8361 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other Builtins 11. https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209 ! 12. https://gcc.gnu.org/bugs/#cxx_rvalbind 13. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 14. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html 15. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html *************** References *** 18308,18316 **** 20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html 21. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Comparison-of-the-two-descriptions.html 22. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html ! 23. http://gcc.gnu.org/gcc-3.4/mips-abi.html ! 24. http://gcc.gnu.org/gcc-3.4/powerpc-abi.html ! 25. http://gcc.gnu.org/gcc-3.4/sparc-abi.html 26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=\[3\.4.*[Rr]egression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED 27. https://gcc.gnu.org/PR10129 28. https://gcc.gnu.org/PR14576 --- 18327,18335 ---- 20. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html 21. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Comparison-of-the-two-descriptions.html 22. https://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html ! 23. https://gcc.gnu.org/gcc-3.4/mips-abi.html ! 24. https://gcc.gnu.org/gcc-3.4/powerpc-abi.html ! 25. https://gcc.gnu.org/gcc-3.4/sparc-abi.html 26. https://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=\[3\.4.*[Rr]egression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED 27. https://gcc.gnu.org/PR10129 28. https://gcc.gnu.org/PR14576 *************** References and Acknowledgements *** 18782,18801 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.3/changes.html 3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6 ! 5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.5 ! 6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.4 ! 7. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3 ! 8. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2 ! 9. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1 ! 10. http://gcc.gnu.org/gcc-3.3/changes.html ! 11. http://gcc.gnu.org/gcc-3.3/buildstat.html 12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 13. http://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org ! 15. http://gcc.gnu.org/mirrors.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org --- 18801,18820 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-3.3/changes.html 3. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 4. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.6 ! 5. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.5 ! 6. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.4 ! 7. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.3 ! 8. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.2 ! 9. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.1 ! 10. https://gcc.gnu.org/gcc-3.3/changes.html ! 11. https://gcc.gnu.org/gcc-3.3/buildstat.html 12. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 13. https://gcc.gnu.org/index.html 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/mirrors.html 16. https://gcc.gnu.org/onlinedocs/ 17. mailto:gcc-help@gcc.gnu.org 18. mailto:gcc@gcc.gnu.org *************** GCC 3.3.6 *** 20155,20166 **** References ! 1. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6 ! 2. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems ! 3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems ! 4. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute ! 5. http://gcc.gnu.org/news/dfa.html ! 6. http://gcc.gnu.org/c99status.html 7. https://gcc.gnu.org/onlinedocs/gcc-3.3.6/g77/News.html 8. https://gcc.gnu.org/PR10140 9. https://gcc.gnu.org/PR10198 --- 20174,20185 ---- References ! 1. https://gcc.gnu.org/gcc-3.3/changes.html#3.3.6 ! 2. https://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems ! 3. https://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems ! 4. https://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute ! 5. https://gcc.gnu.org/news/dfa.html ! 6. https://gcc.gnu.org/c99status.html 7. https://gcc.gnu.org/onlinedocs/gcc-3.3.6/g77/News.html 8. https://gcc.gnu.org/PR10140 9. https://gcc.gnu.org/PR10198 *************** References and Acknowledgements *** 20785,20800 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.2/changes.html ! 3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3 ! 4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2 ! 5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1 ! 6. http://gcc.gnu.org/gcc-3.2/changes.html#3.2 ! 7. http://gcc.gnu.org/gcc-3.2/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. http://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. http://gcc.gnu.org/mirrors.html 12. https://gcc.gnu.org/onlinedocs/ 13. mailto:gcc-help@gcc.gnu.org 14. mailto:gcc@gcc.gnu.org --- 20804,20819 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-3.2/changes.html ! 3. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.3 ! 4. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.2 ! 5. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.1 ! 6. https://gcc.gnu.org/gcc-3.2/changes.html#3.2 ! 7. https://gcc.gnu.org/gcc-3.2/buildstat.html 8. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 9. https://gcc.gnu.org/index.html 10. mailto:gcc@gcc.gnu.org ! 11. https://gcc.gnu.org/mirrors.html 12. https://gcc.gnu.org/onlinedocs/ 13. mailto:gcc-help@gcc.gnu.org 14. mailto:gcc@gcc.gnu.org *************** GCC 3.2 *** 21406,21414 **** References ! 1. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3 ! 2. http://gcc.gnu.org/gcc-3.1/changes.html ! 3. http://gcc.gnu.org/gcc-3.2/c++-abi.html 4. https://gcc.gnu.org/PR3782 5. https://gcc.gnu.org/PR6440 6. https://gcc.gnu.org/PR7050 --- 21425,21433 ---- References ! 1. https://gcc.gnu.org/gcc-3.2/changes.html#3.2.3 ! 2. https://gcc.gnu.org/gcc-3.1/changes.html ! 3. https://gcc.gnu.org/gcc-3.2/c++-abi.html 4. https://gcc.gnu.org/PR3782 5. https://gcc.gnu.org/PR6440 6. https://gcc.gnu.org/PR7050 *************** References *** 21712,21723 **** 1. http://www.gnu.org/ 2. http://www.gnu.org/ ! 3. http://gcc.gnu.org/gcc-3.1/buildstat.html ! 4. http://gcc.gnu.org/gcc-3.1/changes.html 5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 6. http://gcc.gnu.org/index.html 7. mailto:gcc@gcc.gnu.org ! 8. http://gcc.gnu.org/mirrors.html 9. https://gcc.gnu.org/onlinedocs/ 10. mailto:gcc-help@gcc.gnu.org 11. mailto:gcc@gcc.gnu.org --- 21731,21742 ---- 1. http://www.gnu.org/ 2. http://www.gnu.org/ ! 3. https://gcc.gnu.org/gcc-3.1/buildstat.html ! 4. https://gcc.gnu.org/gcc-3.1/changes.html 5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 6. https://gcc.gnu.org/index.html 7. mailto:gcc@gcc.gnu.org ! 8. https://gcc.gnu.org/mirrors.html 9. https://gcc.gnu.org/onlinedocs/ 10. mailto:gcc-help@gcc.gnu.org 11. mailto:gcc@gcc.gnu.org *************** Documentation improvements *** 22064,22072 **** References 1. https://gcc.gnu.org/ml/gcc/2002-07/msg01208.html ! 2. http://gcc.gnu.org/news/profiledriven.html ! 3. http://gcc.gnu.org/benchmarks/ ! 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/ --- 22083,22091 ---- References 1. https://gcc.gnu.org/ml/gcc/2002-07/msg01208.html ! 2. https://gcc.gnu.org/news/profiledriven.html ! 3. https://gcc.gnu.org/benchmarks/ ! 4. https://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/ *************** Previous 3.0.x Releases *** 22137,22149 **** References 1. http://www.gnu.org/ ! 2. http://gcc.gnu.org/gcc-3.0/features.html ! 3. http://gcc.gnu.org/gcc-3.0/buildstat.html 4. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 5. http://gcc.gnu.org/gcc-3.0/caveats.html ! 6. http://gcc.gnu.org/index.html 7. mailto:gcc@gcc.gnu.org ! 8. http://gcc.gnu.org/mirrors.html 9. https://gcc.gnu.org/onlinedocs/ 10. mailto:gcc-help@gcc.gnu.org 11. mailto:gcc@gcc.gnu.org --- 22156,22168 ---- References 1. http://www.gnu.org/ ! 2. https://gcc.gnu.org/gcc-3.0/features.html ! 3. https://gcc.gnu.org/gcc-3.0/buildstat.html 4. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 5. https://gcc.gnu.org/gcc-3.0/caveats.html ! 6. https://gcc.gnu.org/index.html 7. mailto:gcc@gcc.gnu.org ! 8. https://gcc.gnu.org/mirrors.html 9. https://gcc.gnu.org/onlinedocs/ 10. mailto:gcc-help@gcc.gnu.org 11. mailto:gcc@gcc.gnu.org *************** Other significant improvements *** 22327,22343 **** References 1. http://www.netbsd.org/ ! 2. http://gcc.gnu.org/news/reorder.html ! 3. http://gcc.gnu.org/news/ssa.html ! 4. http://gcc.gnu.org/news/null.html ! 5. http://gcc.gnu.org/news/unify.html ! 6. http://gcc.gnu.org/gcc-3.0/c++features.html ! 7. http://gcc.gnu.org/news/inlining.html ! 8. http://gcc.gnu.org/news/dependencies.html ! 9. http://gcc.gnu.org/c99status.html 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html ! 11. http://gcc.gnu.org/gcc-3.0/libgcc.html ! 12. http://gcc.gnu.org/gcc-2.95/features.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org --- 22346,22362 ---- References 1. http://www.netbsd.org/ ! 2. https://gcc.gnu.org/news/reorder.html ! 3. https://gcc.gnu.org/news/ssa.html ! 4. https://gcc.gnu.org/news/null.html ! 5. https://gcc.gnu.org/news/unify.html ! 6. https://gcc.gnu.org/gcc-3.0/c++features.html ! 7. https://gcc.gnu.org/news/inlining.html ! 8. https://gcc.gnu.org/news/dependencies.html ! 9. https://gcc.gnu.org/c99status.html 10. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html ! 11. https://gcc.gnu.org/gcc-3.0/libgcc.html ! 12. https://gcc.gnu.org/gcc-2.95/features.html 13. https://gcc.gnu.org/onlinedocs/ 14. mailto:gcc-help@gcc.gnu.org 15. mailto:gcc@gcc.gnu.org *************** References and Acknowledgements *** 22477,22490 **** References ! 1. http://gcc.gnu.org/gcc-2.95/regress.html ! 2. http://gcc.gnu.org/gcc-2.95/othertest.html ! 3. http://gcc.gnu.org/gcc-2.95/features.html ! 4. http://gcc.gnu.org/gcc-2.95/buildstat.html 5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 6. http://gcc.gnu.org/gcc-2.95/caveats.html ! 7. http://gcc.gnu.org/mirrors.html ! 8. http://gcc.gnu.org/index.html 9. mailto:gcc@gcc.gnu.org 10. https://gcc.gnu.org/onlinedocs/ 11. mailto:gcc-help@gcc.gnu.org --- 22496,22509 ---- References ! 1. https://gcc.gnu.org/gcc-2.95/regress.html ! 2. https://gcc.gnu.org/gcc-2.95/othertest.html ! 3. https://gcc.gnu.org/gcc-2.95/features.html ! 4. https://gcc.gnu.org/gcc-2.95/buildstat.html 5. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 6. https://gcc.gnu.org/gcc-2.95/caveats.html ! 7. https://gcc.gnu.org/mirrors.html ! 8. https://gcc.gnu.org/index.html 9. mailto:gcc@gcc.gnu.org 10. https://gcc.gnu.org/onlinedocs/ 11. mailto:gcc-help@gcc.gnu.org *************** http://gcc.gnu.org/gcc-2.95/features.htm *** 22522,22528 **** + More support for various pragmas which appear in vendor include files * New Targets and Target Specific Improvements ! + [14]SPARC backend rewrite. + -mschedule=8000 will optimize code for PA8000 class processors; -mpa-risc-2-0 will generate code for PA2.0 processors --- 22541,22547 ---- + More support for various pragmas which appear in vendor include files * New Targets and Target Specific Improvements ! + [14]SPARC back end rewrite. + -mschedule=8000 will optimize code for PA8000 class processors; -mpa-risc-2-0 will generate code for PA2.0 processors *************** Additional Changes in GCC 2.95.2 *** 22662,22668 **** * Platform specific bugfixes and improvements + Work around bug in Sun V5.0 compilers which caused bootstrap comparison failures on SPARC targets. ! + Fix SPARC backend bug which caused aborts in final.c. + Fix sparc-hal-solaris2* configuration fragments. + Fix bug in sparc block profiling. + Fix obscure code generation bug for the PARISC targets. --- 22681,22687 ---- * Platform specific bugfixes and improvements + Work around bug in Sun V5.0 compilers which caused bootstrap comparison failures on SPARC targets. ! + Fix SPARC back end bug which caused aborts in final.c. + Fix sparc-hal-solaris2* configuration fragments. + Fix bug in sparc block profiling. + Fix obscure code generation bug for the PARISC targets. *************** Additional Changes in GCC 2.95.3 *** 22737,22762 **** provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2022-10-26. References ! 1. http://gcc.gnu.org/news/spill.html ! 2. http://gcc.gnu.org/news/lcm.html ! 3. http://gcc.gnu.org/news/cprop.html ! 4. http://gcc.gnu.org/news/cfg.html ! 5. http://gcc.gnu.org/news/dse.html ! 6. http://gcc.gnu.org/news/hoist.html ! 7. http://gcc.gnu.org/news/alias.html ! 8. http://gcc.gnu.org/gcc-2.95/c++features.html 9. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html ! 10. http://gcc.gnu.org/news/gcj-announce.txt ! 11. http://gcc.gnu.org/news/javaannounce.html ! 12. http://gcc.gnu.org/c99status.html ! 13. http://gcc.gnu.org/news/chill.html ! 14. http://gcc.gnu.org/news/sparc.html ! 15. http://gcc.gnu.org/news/egcs-vcg.html ! 16. http://gcc.gnu.org/egcs-1.0/features-2.8.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org --- 22756,22781 ---- provided this notice is preserved. These pages are [22]maintained by the GCC team. Last modified ! 2023-09-02. References ! 1. https://gcc.gnu.org/news/spill.html ! 2. https://gcc.gnu.org/news/lcm.html ! 3. https://gcc.gnu.org/news/cprop.html ! 4. https://gcc.gnu.org/news/cfg.html ! 5. https://gcc.gnu.org/news/dse.html ! 6. https://gcc.gnu.org/news/hoist.html ! 7. https://gcc.gnu.org/news/alias.html ! 8. https://gcc.gnu.org/gcc-2.95/c++features.html 9. https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html ! 10. https://gcc.gnu.org/news/gcj-announce.txt ! 11. https://gcc.gnu.org/news/javaannounce.html ! 12. https://gcc.gnu.org/c99status.html ! 13. https://gcc.gnu.org/news/chill.html ! 14. https://gcc.gnu.org/news/sparc.html ! 15. https://gcc.gnu.org/news/egcs-vcg.html ! 16. https://gcc.gnu.org/egcs-1.0/features-2.8.html 17. https://gcc.gnu.org/onlinedocs/ 18. mailto:gcc-help@gcc.gnu.org 19. mailto:gcc@gcc.gnu.org *************** http://gcc.gnu.org/egcs-1.1/index.html *** 22858,22864 **** * Vastly improved [4]C++ compiler and integrated C++ runtime libraries. * Fixes for the /tmp symlink race security problems. ! * New targets including mips16, arm-thumb and 64 bit PowerPC. * Improvements to GNU Fortran (g77) compiler and runtime library made since g77 version 0.5.23. --- 22877,22883 ---- * Vastly improved [4]C++ compiler and integrated C++ runtime libraries. * Fixes for the /tmp symlink race security problems. ! * New targets including mips16, arm-thumb and 64-bit PowerPC. * Improvements to GNU Fortran (g77) compiler and runtime library made since g77 version 0.5.23. *************** http://gcc.gnu.org/egcs-1.1/index.html *** 22902,22908 **** + Fix a few arm code generation bugs. + Fixincludes will fix additional broken SCO OpenServer header files. ! + Fix a m68k backend bug which caused invalid offsets in reg+d addresses. + Fix problems with 64bit AIX 4.3 support. + Fix handling of long longs for varargs/stdarg functions on the --- 22921,22927 ---- + Fix a few arm code generation bugs. + Fixincludes will fix additional broken SCO OpenServer header files. ! + Fix a m68k back end bug which caused invalid offsets in reg+d addresses. + Fix problems with 64bit AIX 4.3 support. + Fix handling of long longs for varargs/stdarg functions on the *************** http://gcc.gnu.org/egcs-1.1/index.html *** 23039,23057 **** provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2023-01-21. References ! 1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html ! 2. http://gcc.gnu.org/news/gcse.html ! 3. http://gcc.gnu.org/news/alias.html ! 4. http://gcc.gnu.org/egcs-1.1/c++features.html ! 5. http://gcc.gnu.org/egcs-1.1/features.html ! 6. http://gcc.gnu.org/egcs-1.1/buildstat.html 7. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 8. http://gcc.gnu.org/egcs-1.1/caveats.html ! 9. http://gcc.gnu.org/mirrors.html 10. https://gcc.gnu.org/onlinedocs/ 11. mailto:gcc-help@gcc.gnu.org 12. mailto:gcc@gcc.gnu.org --- 23058,23076 ---- provided this notice is preserved. These pages are [15]maintained by the GCC team. Last modified ! 2024-05-18. References ! 1. https://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html ! 2. https://gcc.gnu.org/news/gcse.html ! 3. https://gcc.gnu.org/news/alias.html ! 4. https://gcc.gnu.org/egcs-1.1/c++features.html ! 5. https://gcc.gnu.org/egcs-1.1/features.html ! 6. https://gcc.gnu.org/egcs-1.1/buildstat.html 7. https://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 8. https://gcc.gnu.org/egcs-1.1/caveats.html ! 9. https://gcc.gnu.org/mirrors.html 10. https://gcc.gnu.org/onlinedocs/ 11. mailto:gcc-help@gcc.gnu.org 12. mailto:gcc@gcc.gnu.org *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 23114,23120 **** Intel recommendations now. Various improvements throughout the x86 port to improve performance on Pentium processors (including improved epilogue sequences for Pentium chips and ! backend improvements which should help register allocation on all x86 variants. Conditional move support has been fixed and enabled for PPro processors. The x86 port also better supports 64bit operations now. Unixware 7, a System V Release 5 target, --- 23133,23139 ---- Intel recommendations now. Various improvements throughout the x86 port to improve performance on Pentium processors (including improved epilogue sequences for Pentium chips and ! back end improvements which should help register allocation on all x86 variants. Conditional move support has been fixed and enabled for PPro processors. The x86 port also better supports 64bit operations now. Unixware 7, a System V Release 5 target, *************** http://gcc.gnu.org/egcs-1.1/features.htm *** 23137,23150 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2022-10-26. References ! 1. http://gcc.gnu.org/egcs-1.1/c++features.html ! 2. http://gcc.gnu.org/news/gcse.html ! 3. http://gcc.gnu.org/news/alias.html ! 4. http://gcc.gnu.org/egcs-1.0/features-2.8.html 5. https://gcc.gnu.org/onlinedocs/ 6. mailto:gcc-help@gcc.gnu.org 7. mailto:gcc@gcc.gnu.org --- 23156,23169 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2023-09-02. References ! 1. https://gcc.gnu.org/egcs-1.1/c++features.html ! 2. https://gcc.gnu.org/news/gcse.html ! 3. https://gcc.gnu.org/news/alias.html ! 4. https://gcc.gnu.org/egcs-1.0/features-2.8.html 5. https://gcc.gnu.org/onlinedocs/ 6. mailto:gcc-help@gcc.gnu.org 7. mailto:gcc@gcc.gnu.org *************** http://gcc.gnu.org/egcs-1.0/index.html *** 23310,23316 **** + Add missing entries to g77 lang-options. + Fix problem with -fpedantic in the g77 compiler. + Fix "backspace" problem with g77 on alphas. ! + Fix x86 backend problem with Fortran literals and -fpic. + Fix some of the problems with negative subscripts for g77 on alphas. + Fixes for Fortran builds on cygwin32/mingw32. --- 23329,23335 ---- + Add missing entries to g77 lang-options. + Fix problem with -fpedantic in the g77 compiler. + Fix "backspace" problem with g77 on alphas. ! + Fix x86 back end problem with Fortran literals and -fpic. + Fix some of the problems with negative subscripts for g77 on alphas. + Fixes for Fortran builds on cygwin32/mingw32. *************** http://gcc.gnu.org/egcs-1.0/index.html *** 23385,23398 **** provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2023-01-21. References ! 1. http://gcc.gnu.org/egcs-1.0/features.html ! 2. http://gcc.gnu.org/egcs-1.0/buildstat.html ! 3. http://gcc.gnu.org/egcs-1.0/caveats.html ! 4. http://gcc.gnu.org/mirrors.html 5. https://gcc.gnu.org/onlinedocs/ 6. mailto:gcc-help@gcc.gnu.org 7. mailto:gcc@gcc.gnu.org --- 23404,23417 ---- provided this notice is preserved. These pages are [10]maintained by the GCC team. Last modified ! 2023-09-02. References ! 1. https://gcc.gnu.org/egcs-1.0/features.html ! 2. https://gcc.gnu.org/egcs-1.0/buildstat.html ! 3. https://gcc.gnu.org/egcs-1.0/caveats.html ! 4. https://gcc.gnu.org/mirrors.html 5. https://gcc.gnu.org/onlinedocs/ 6. mailto:gcc-help@gcc.gnu.org 7. mailto:gcc@gcc.gnu.org *************** http://gcc.gnu.org/egcs-1.0/features.htm *** 23454,23461 **** References ! 1. http://gcc.gnu.org/egcs-1.0/features-2.8.html ! 2. http://gcc.gnu.org/egcs-1.0/c++features.html 3. https://gcc.gnu.org/onlinedocs/ 4. mailto:gcc-help@gcc.gnu.org 5. mailto:gcc@gcc.gnu.org --- 23473,23480 ---- References ! 1. https://gcc.gnu.org/egcs-1.0/features-2.8.html ! 2. https://gcc.gnu.org/egcs-1.0/c++features.html 3. https://gcc.gnu.org/onlinedocs/ 4. mailto:gcc-help@gcc.gnu.org 5. mailto:gcc@gcc.gnu.org diff -Nrcpad gcc-13.2.0/c++tools/ChangeLog gcc-13.3.0/c++tools/ChangeLog *** gcc-13.2.0/c++tools/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/c++tools/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/config/ChangeLog gcc-13.3.0/config/ChangeLog *** gcc-13.2.0/config/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/config/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/contrib/ChangeLog gcc-13.3.0/contrib/ChangeLog *** gcc-13.2.0/contrib/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/contrib/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,16 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-03-15 Sam James + + Backported from master: + 2024-03-08 Sam James + + PR other/109668 + * dg-extract-results.sh: Check for python3 before python. Check for + python2 last. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/contrib/dg-extract-results.sh gcc-13.3.0/contrib/dg-extract-results.sh *** gcc-13.2.0/contrib/dg-extract-results.sh Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/contrib/dg-extract-results.sh Tue May 21 07:47:37 2024 *************** *** 28,41 **** PROGNAME=dg-extract-results.sh ! # Try to use the python version if possible, since it tends to be faster. PYTHON_VER=`echo "$0" | sed 's/sh$/py/'` ! if test "$PYTHON_VER" != "$0" && ! test -f "$PYTHON_VER" && ! python -c 'import sys, getopt, re, io, datetime, operator; sys.exit (0 if sys.version_info >= (2, 6) else 1)' \ ! > /dev/null 2> /dev/null; then ! exec python $PYTHON_VER "$@" ! fi usage() { cat <&2 --- 28,44 ---- PROGNAME=dg-extract-results.sh ! # Try to use the python version if possible, since it tends to be faster and ! # produces more stable results. PYTHON_VER=`echo "$0" | sed 's/sh$/py/'` ! for python in python3 python python2 ; do ! if test "$PYTHON_VER" != "$0" && ! test -f "$PYTHON_VER" && ! ${python} -c 'import sys, getopt, re, io, datetime, operator; sys.exit (0 if sys.version_info >= (2, 6) else 1)' \ ! > /dev/null 2> /dev/null; then ! exec ${python} $PYTHON_VER "$@" ! fi ! done usage() { cat <&2 diff -Nrcpad gcc-13.2.0/contrib/header-tools/ChangeLog gcc-13.3.0/contrib/header-tools/ChangeLog *** gcc-13.2.0/contrib/header-tools/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/contrib/header-tools/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/contrib/reghunt/ChangeLog gcc-13.3.0/contrib/reghunt/ChangeLog *** gcc-13.2.0/contrib/reghunt/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/contrib/reghunt/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/contrib/regression/ChangeLog gcc-13.3.0/contrib/regression/ChangeLog *** gcc-13.2.0/contrib/regression/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/contrib/regression/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/fixincludes/ChangeLog gcc-13.3.0/fixincludes/ChangeLog *** gcc-13.2.0/fixincludes/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/fixincludes/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,14 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2023-12-11 Rainer Orth + + * inclhack.def (darwin_flt_eval_method): Handle macOS 14 guard + variant. + * fixincl.x: Regenerate. + * tests/base/math.h [DARWIN_FLT_EVAL_METHOD_CHECK]: Update test. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/fixincludes/fixincl.x gcc-13.3.0/fixincludes/fixincl.x *** gcc-13.2.0/fixincludes/fixincl.x Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/fixincludes/fixincl.x Tue May 21 07:47:37 2024 *************** *** 2,12 **** * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed January 22, 2023 at 09:03:29 PM by AutoGen 5.18.12 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Sun Jan 22 21:03:29 CET 2023 * * You must regenerate it. Use the ./genfixes script. * --- 2,12 ---- * * DO NOT EDIT THIS FILE (fixincl.x) * ! * It has been AutoGen-ed December 11, 2023 at 02:50:24 PM by AutoGen 5.18.16 * From the definitions inclhack.def * and the template file fixincl */ ! /* DO NOT SVN-MERGE THIS FILE, EITHER Mon Dec 11 14:50:24 CET 2023 * * You must regenerate it. Use the ./genfixes script. * *************** tSCC* apzDarwin_Flt_Eval_MethodMachs[] = *** 3674,3680 **** * content selection pattern - do fix if pattern found */ tSCC zDarwin_Flt_Eval_MethodSelect0[] = ! "^#if __FLT_EVAL_METHOD__ == 0$"; #define DARWIN_FLT_EVAL_METHOD_TEST_CT 1 static tTestDesc aDarwin_Flt_Eval_MethodTests[] = { --- 3674,3680 ---- * content selection pattern - do fix if pattern found */ tSCC zDarwin_Flt_Eval_MethodSelect0[] = ! "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$"; #define DARWIN_FLT_EVAL_METHOD_TEST_CT 1 static tTestDesc aDarwin_Flt_Eval_MethodTests[] = { *************** static tTestDesc aDarwin_Flt_Eval_Method *** 3685,3691 **** */ static const char* apzDarwin_Flt_Eval_MethodPatch[] = { "format", ! "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * --- 3685,3691 ---- */ static const char* apzDarwin_Flt_Eval_MethodPatch[] = { "format", ! "%0 || __FLT_EVAL_METHOD__ == 16", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * diff -Nrcpad gcc-13.2.0/fixincludes/inclhack.def gcc-13.3.0/fixincludes/inclhack.def *** gcc-13.2.0/fixincludes/inclhack.def Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/fixincludes/inclhack.def Tue May 21 07:47:37 2024 *************** fix = { *** 1819,1828 **** hackname = darwin_flt_eval_method; mach = "*-*-darwin*"; files = math.h; ! select = "^#if __FLT_EVAL_METHOD__ == 0$"; c_fix = format; ! c_fix_arg = "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16"; ! test_text = "#if __FLT_EVAL_METHOD__ == 0"; }; /* --- 1819,1829 ---- hackname = darwin_flt_eval_method; mach = "*-*-darwin*"; files = math.h; ! select = "^#if __FLT_EVAL_METHOD__ == 0( \\|\\| __FLT_EVAL_METHOD__ == -1)?$"; c_fix = format; ! c_fix_arg = "%0 || __FLT_EVAL_METHOD__ == 16"; ! test_text = "#if __FLT_EVAL_METHOD__ == 0\n" ! "#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1"; }; /* diff -Nrcpad gcc-13.2.0/fixincludes/tests/base/math.h gcc-13.3.0/fixincludes/tests/base/math.h *** gcc-13.2.0/fixincludes/tests/base/math.h Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/fixincludes/tests/base/math.h Tue May 21 07:47:37 2024 *************** *** 32,37 **** --- 32,38 ---- #if defined( DARWIN_FLT_EVAL_METHOD_CHECK ) #if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 16 + #if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == -1 || __FLT_EVAL_METHOD__ == 16 #endif /* DARWIN_FLT_EVAL_METHOD_CHECK */ diff -Nrcpad gcc-13.2.0/gcc/BASE-VER gcc-13.3.0/gcc/BASE-VER *** gcc-13.2.0/gcc/BASE-VER Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/BASE-VER Tue May 21 07:47:37 2024 *************** *** 1 **** ! 13.2.0 --- 1 ---- ! 13.3.0 diff -Nrcpad gcc-13.2.0/gcc/ChangeLog gcc-13.3.0/gcc/ChangeLog *** gcc-13.2.0/gcc/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,3362 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-18 Jeff Law + + Backported from master: + 2024-03-22 Jeff Law + + * config/riscv/riscv.cc (riscv_expand_prologue): Add missing stack + tie for scalable and final stack adjustment if needed. + Co-authored-by: Raphael Zinsly + + 2024-05-14 Martin Jambor + + PR ipa/113907 + * ipa-prop.h (ipa_jump_functions_equivalent_p): Declare. + (values_equal_for_ipcp_p): Likewise. + * ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function. + (ipa_agg_jump_functions_equivalent_p): Likewise. + (ipa_jump_functions_equivalent_p): Likewise. + * ipa-cp.cc (values_equal_for_ipcp_p): Make function public. + * ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h, + ipa-cp.h and ipa-prop.h. + (func_checker::compare_gimple_call): Comapre jump functions. + + 2024-05-14 Martin Jambor + + Backported from master: + 2024-04-08 Martin Jambor + + PR ipa/113359 + * ipa-icf-gimple.h (func_checker): New members + safe_for_total_scalarization_p, m_total_scalarization_limit_known_p + and m_total_scalarization_limit. + (func_checker::func_checker): Initialize new member variables. + * ipa-icf-gimple.cc: Include tree-sra.h. + (func_checker::func_checker): Initialize new member variables. + (func_checker::safe_for_total_scalarization_p): New function. + (func_checker::compare_operand): Use the new function. + * tree-sra.h (sra_get_max_scalarization_size): Declare. + (sra_total_scalarization_would_copy_same_data_p): Likewise. + * tree-sra.cc (prepare_iteration_over_array_elts): New function. + (class sra_padding_collecting): New. + (sra_padding_collecting::record_padding): Likewise. + (scalarizable_type_p): Rename to totally_scalarizable_type_p. Add + ability to record padding when requested. + (totally_scalarize_subtree): Split out gathering information necessary + to iterate over array elements to prepare_iteration_over_array_elts. + Fix errornous early exit. + (analyze_all_variable_accesses): Adjust the call to + totally_scalarizable_type_p. Move determining of total scalariation + size limit... + (sra_get_max_scalarization_size): ...here. + (check_ts_and_push_padding_to_vec): New function. + (sra_total_scalarization_would_copy_same_data_p): Likewise. + + 2024-05-13 Richard Biener + + Backported from master: + 2024-02-19 Richard Biener + + PR rtl-optimization/54052 + * rtl-ssa/blocks.cc (function_info::place_phis): Filter + local defs by LR_OUT. + + 2024-05-09 David Malcolm + + PR middle-end/114348 + * diagnostic.cc (output_format): New variable. + (fnotice): Bail out if the user requested one of the + machine-readable diagnostic output formats on stderr. + (diagnostic_output_format_init): Set output_format. + + 2024-05-09 David Malcolm + + PR middle-end/112684 + * toplev.cc (toplev::main): Don't ICE in + -fdiagnostics-generate-patch when exiting after options, + since no edit context will have been created. + + 2024-05-09 David Malcolm + + PR driver/111700 + * input.cc (file_cache::add_file): Update leading comment to + clarify that it can fail. + (file_cache::lookup_or_add_file): Likewise. + (get_source_file_content): Gracefully handle lookup_or_add_file + failing. + + 2024-05-09 Vladimir N. Makarov + + PR rtl-optimization/114415 + * sched-deps.cc (add_insn_mem_dependence): Add memory check for mem argument. + (sched_analyze_1): Treat stack pointer modification as memory read. + (sched_analyze_2, sched_analyze_insn): Add memory guard for processing pending_read_mems. + * sched-int.h (deps_desc): Add comment to pending_read_mems. + + 2024-05-09 Andrew MacLeod + + PR tree-optimization/111009 + * range-op.cc (operator_addr_expr::op1_range): Be more restrictive. + * value-range.h (contains_zero_p): New. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-05-08 Jakub Jelinek + + PR tree-optimization/114965 + * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Don't try to + optimize away exp - lowi subtraction from shift count unless entry + test is emitted or unless r.upper_bound () is smaller than prec. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-05-07 Jakub Jelinek + + PR middle-end/114907 + * expr.cc (convert_mode_scalar): Use trunc_optab rather than + sext_optab for HF->BF conversions. + * optabs-libfuncs.cc (gen_trunc_conv_libfunc): Likewise. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-05-07 Jakub Jelinek + + PR sanitizer/114956 + * tree-inline.cc: Include asan.h. + (copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan + sanitization disabled. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-04-30 Jakub Jelinek + + PR tree-optimization/114876 + * gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0, + set max, likely and unlikely members to 1 rather than 0. Remove + useless res.knownrange = true;. Formatting fixes. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-04-25 Jakub Jelinek + + PR fortran/114825 + * tree-nested.cc (get_debug_decl): New function. + (get_nonlocal_debug_decl): Use it. + (get_local_debug_decl): Likewise. + + 2024-05-08 Richard Biener + + Backported from master: + 2024-03-19 Richard Biener + + PR tree-optimization/114375 + * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the + load permutation for masked loads but reject it when any + such is necessary. + * tree-vect-stmts.cc (vectorizable_load): Reject masked + VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not + supported. + + 2024-05-08 Alex Coplan + + Backported from master: + 2024-05-03 Alex Coplan + + PR rtl-optimization/114924 + * cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs, + don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR. + + 2024-05-08 Richard Ball + + Backported from master: + 2024-02-01 Richard Ball + + PR tree-optimization/111268 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): + Add variable-length check for vector input arguments + to a function. + + 2024-05-08 Roger Sayle + + Backported from master: + 2023-08-03 Roger Sayle + + PR target/110792 + * config/i386/i386.md (ti3): For rotations by 64 bits + place operand in a register before gen_64ti2_doubleword. + (di3): Likewise, for rotations by 32 bits, place + operand in a register before gen_32di2_doubleword. + (32di2_doubleword): Constrain operand to be in register. + (64ti2_doubleword): Likewise. + + 2024-05-08 Richard Biener + + Backported from master: + 2023-11-28 Richard Biener + + PR middle-end/112732 + * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET + of the newly built type. + + 2024-05-08 Richard Biener + + Backported from master: + 2023-11-20 Richard Biener + + PR tree-optimization/112281 + * tree-loop-distribution.cc + (loop_distribution::pg_add_dependence_edges): For = in the + innermost common loop record a partition conflict. + + 2024-05-08 Richard Biener + + Backported from master: + 2023-12-13 Richard Biener + + PR tree-optimization/112991 + PR tree-optimization/112961 + * tree-ssa-sccvn.h (do_rpo_vn): Add skip_entry_phis argument. + * tree-ssa-sccvn.cc (do_rpo_vn): Likewise. + (do_rpo_vn_1): Likewise, merge with auto-processing. + (run_rpo_vn): Adjust. + (pass_fre::execute): Likewise. + * tree-if-conv.cc (tree_if_conversion): Revert last change. + Value-number latch block but disable value-numbering of + entry PHIs. + * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust. + + 2024-05-08 Richard Biener + + Backported from master: + 2024-03-20 Richard Biener + + PR middle-end/113396 + * tree-dfa.cc (get_ref_base_and_extent): Use index range + bounds only if they fit within the address-range constraints + of offset_int. + + 2024-05-07 Richard Biener + + Backported from master: + 2024-02-28 Richard Biener + + PR tree-optimization/113831 + PR tree-optimization/114121 + * tree-ssa-sccvn.h (vn_reference_s::offset, + vn_reference_s::max_size): New fields. + (vn_reference_insert_pieces): Adjust prototype. + * tree-ssa-pre.cc (phi_translate_1): Preserve offset/max_size. + * tree-ssa-sccvn.cc (vn_reference_eq): Compare offset and + size, allow using "don't know" state. + (vn_walk_cb_data::finish): Pass along offset/max_size. + (vn_reference_lookup_or_insert_for_pieces): Take offset and + max_size as argument and use it. + (vn_reference_lookup_3): Properly adjust offset and max_size + according to the adjusted ao_ref. + (vn_reference_lookup_pieces): Initialize offset and max_size. + (vn_reference_lookup): Likewise. + (vn_reference_lookup_call): Likewise. + (vn_reference_insert): Likewise. + (visit_reference_op_call): Likewise. + (vn_reference_insert_pieces): Take offset and max_size + as argument and use it. + + 2024-05-07 Kito Cheng + + PR target/114747 + * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): + Check target vsetvl_discard_result and source vsetvli has same + SEW and LMUL. + + 2024-05-06 Georg-Johann Lay + + Backported from master: + 2024-05-06 Georg-Johann Lay + + PR ipa/92606 + * config/avr/avr.cc (avr_option_override): Set + flag_ipa_icf_variables = 0. + + 2024-05-06 Richard Biener + + Backported from master: + 2024-04-23 Richard Biener + + PR tree-optimization/114799 + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Properly + update ->any_pattern when swapping operands. + + 2024-05-06 Richard Biener + + Backported from master: + 2024-04-24 Richard Biener + + PR tree-optimization/114787 + * tree-cfg.cc (remove_edge_and_dominated_blocks): When + removing a loop backedge clear niter info and when removing + the last backedge of a loop mark that loop for removal. + + 2024-05-06 Richard Biener + + Backported from master: + 2024-04-30 Richard Biener + + PR middle-end/114734 + * internal-fn.cc (expand_call_mem_ref): Use + get_gimple_for_ssa_name to get at the def stmt of the address + argument to honor SSA coalescing constraints. + + 2024-05-06 Richard Biener + + Backported from master: + 2024-03-06 Richard Biener + + PR tree-optimization/114246 + * tree-ssa-dse.cc (increment_start_addr): Strip useless + type conversions from the adjusted address. + + 2024-05-06 Richard Biener + + Backported from master: + 2024-01-31 Richard Biener + + PR tree-optimization/113630 + * tree-ssa-pre.cc (compute_avail): Avoid registering a + reference with a representation with not matching base + access size. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-17 Richard Biener + + PR tree-optimization/114749 + * tree-vect-loop.cc (vect_analyze_loop_2): Reset + LOOP_VINFO_USING_PARTIAL_VECTORS_P when re-trying without SLP. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-16 Richard Biener + + PR tree-optimization/114736 + * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge): + Do not consider VEC_PERM_EXPRs as PHI use. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-15 Richard Biener + + PR gcov-profile/114715 + * gimplify.cc (gimplify_switch_expr): Set the location of the + GIMPLE switch. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-09 Richard Biener + + PR lto/114655 + * lto-wrapper.cc (merge_flto_options): Add force argument. + (merge_and_complain): Do not force here. + (run_gcc): But here to make the link-time -flto option override + any compile-time one. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-16 Richard Biener + + PR tree-optimization/114733 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Reject + neg induction vectorization of single element vectors. + + 2024-05-03 Richard Biener + + Backported from master: + 2024-04-04 Richard Biener + + PR tree-optimization/114485 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): + vect_step_op_neg isn't OK for partial vectors but only + for unknown niter. + + 2024-05-03 Andre Vieira + + Backported from master: + 2023-10-20 Andre Vieira + + PR tree-optimization/111882 + * tree-if-conv.cc (get_bitfield_rep): Return NULL_TREE for bitfields + with non-constant offsets. + + 2024-05-02 Richard Biener + + Backported from master: + 2024-04-10 Richard Biener + + PR tree-optimization/114672 + * tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only + allow mode-precision results. + + 2024-05-02 Will Schmidt + + Backported from master: + 2024-04-12 Will Schmidt + Peter Bergner + + PR target/101865 + * config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use + TARGET_POWER8. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use + OPTION_MASK_POWER8. + * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8. + (ISA_2_7_MASKS_SERVER): Likewise. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Update + comment. Use OPTION_MASK_POWER8 and TARGET_POWER8. + * config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8. + * config/rs6000/rs6000.md (define_attr "isa"): Add p8. + (define_attr "enabled"): Handle it. + (define_insn "prefetch"): Use TARGET_POWER8. + * config/rs6000/rs6000.opt (mpower8-internal): New. + + 2024-05-02 Peter Bergner + + Backported from master: + 2024-04-10 Peter Bergner + + PR target/101865 + * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace + OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete redundant + OPTION_MASK_DIRECT_MOVE usage. Delete TARGET_DIRECT_MOVE dead code. + (rs6000_opt_masks): Neuter the "direct-move" option. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace + OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete useless + comment. + * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete + OPTION_MASK_DIRECT_MOVE. + (OTHER_P8_VECTOR_MASKS): Likewise. + (POWERPC_MASKS): Likewise. + * config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var. + + 2024-04-30 Joe Ramsay + + Backported from master: + 2024-03-15 Joe Ramsay + + * match.pd: Fix truncation pattern for -fno-signed-zeroes + + 2024-04-30 Monk Chiang + + Backported from master: + 2024-01-24 Monk Chiang + + PR target/113095 + * config/riscv/riscv.md: New splitters to rewrite single bit + sign extension as the condition to SFB instructions. + + 2024-04-30 Richard Biener + + Backported from master: + 2023-09-28 Richard Biener + + PR target/111600 + * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): + Use a heap allocated worklist for CFG traversal instead of + recursion. + + 2024-04-30 Yang Yujie + + Backported from master: + 2023-12-12 Yang Yujie + + PR target/114848 + * config/loongarch/loongarch.cc: Do not restore the saved eh_return + data registers ($r4-$r7) for a normal return of a function that calls + __builtin_eh_return elsewhere. + * config/loongarch/loongarch-protos.h: Same. + * config/loongarch/loongarch.md: Same. + + 2024-04-29 Lehua Ding + + Backported from master: + 2023-08-31 Lehua Ding + + PR target/111234 + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Remove condition. + + 2024-04-26 Richard Ball + + PR target/114272 + * config/aarch64/aarch64-cores.def (AARCH64_CORE): + Change SCHEDULER_IDENT from cortexa55 to cortexa53 + for Cortex-A510. + + 2024-04-25 Richard Ball + + Backported from master: + 2024-04-25 Richard Ball + + PR target/114837 + * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): + Add zero/sign extend. + (arm_expand_prologue): Add zero/sign extend. + + 2024-04-25 Kewen Lin + Andrew Pinski + + PR target/88309 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix + wrong align passed to function build_aligned_type. + * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an + assertion to ensure align_unit should be positive. + * tree.cc (build_qualified_type): Update function comments. + + 2024-04-24 Kito Cheng + + PR target/114172 + * config/riscv/riscv-vsetvl.cc (extract_single_source): + Skip first set. + + 2024-04-22 Haochen Jiang + + * common/config/i386/i386-common.cc (processor_alias_table): + Let Sierra Forest map to CPU_TYPE enum. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-19 Jakub Jelinek + + PR rtl-optimization/114768 + * rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM + sets if src has side-effects or for stores into ZERO_EXTRACT + if ZERO_EXTRACT operand has side-effects. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-18 Jakub Jelinek + + PR middle-end/114753 + * internal-fn.cc (expand_mul_overflow): Save flag_trapv and + temporarily clear it for the duration of the function, then + restore previous value. + (expand_vector_ubsan_overflow): Likewise. + (expand_arith_overflow): Likewise. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-17 Jakub Jelinek + + PR sanitizer/114743 + * asan.cc (maybe_instrument_call): Don't instrument calls to + .ABNORMAL_DISPATCHER. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-15 Jakub Jelinek + + PR c++/114634 + * attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for + decls with NULL TREE_TYPE. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-12 Jakub Jelinek + + PR sanitizer/114687 + * gimple-iterator.cc (gsi_safe_insert_before): Only use + edge_before_returns_twice_call if bb_has_abnormal_pred. + (gsi_safe_insert_seq_before): Likewise. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-11 Jakub Jelinek + + PR middle-end/110027 + * asan.cc (asan_emit_stack_protection): Assert offsets[0] is + zero if there is no stack protect guard, otherwise + -ASAN_RED_ZONE_SIZE. If alignb > ASAN_RED_ZONE_SIZE and there is + stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at + the top of the stack into account when computing base_align_bias. + Recompute use_after_return_class from asan_frame_size + base_align_bias + and set to -1 if that would overflow to 11. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-05 Jakub Jelinek + + PR tree-optimization/114566 + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear + base_misaligned. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-04 Jakub Jelinek + + PR c++/114537 + * fold-const.cc (native_encode_initializer): Look through + NON_LVALUE_EXPR if val is INTEGER_CST. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-03 Jakub Jelinek + + PR middle-end/114552 + * expr.cc (emit_push_insn): Only use store_constructor for + immediate_const_ctor_p if int_expr_size matches size. + + 2024-04-19 Martin Jambor + + Backported from master: + 2024-04-05 Martin Jambor + + PR ipa/113964 + * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call): + Force values obtined through pass-through maps to the expected + split type. + + 2024-04-19 Martin Jambor + + Backported from master: + 2024-04-04 Martin Jambor + + PR ipa/111571 + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::common_initialization): Avoid creating + duplicate replacement entries. + + 2024-04-17 Georg-Johann Lay + + Backported from master: + 2024-04-17 Georg-Johann Lay + + PR target/114752 + * config/avr/avr.cc (avr_print_operand) [CONST_DOUBLE_P]: Handle DFmode. + + 2024-04-17 Sebastian Huber + + Backported from master: + 2024-04-09 Sebastian Huber + + * config/rs6000/rtems.h (OS_MISSING_POWERPC64): Define. + + 2024-04-17 Sebastian Huber + + Backported from master: + 2024-04-09 Sebastian Huber + + * config.gcc (aarch64-*-rtems*): Add target makefile fragment + t-aarch64-rtems. + * config/aarch64/t-aarch64-rtems: New file. + + 2024-04-15 Georg-Johann Lay + + Backported from master: + 2024-04-15 Georg-Johann Lay + + * config/avr/avr-mcus.def: Add: avr16du14, avr16du20, avr16du28, + avr16du32, avr32du14, avr32du20, avr32du28, avr32du32. + * doc/avr-mmcu.texi: Rebuild. + + 2024-04-15 Richard Biener + + Backported from master: + 2024-04-05 Richard Biener + + PR middle-end/114599 + PR gcov-profile/114115 + * symtab.cc (ifunc_ref_map): Do not use auto_bitmap. + (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit + pair. + (symtab_node::check_ifunc_callee_symtab_nodes): Properly + allocate ifunc_ref_map here. + + 2024-04-15 H.J. Lu + + Backported from master: + 2024-04-03 H.J. Lu + + PR tree-optimization/114115 + * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes. + (cgraph_node): Add called_by_ifunc_resolver. + * cgraphunit.cc (symbol_table::compile): Call + symtab_node::check_ifunc_callee_symtab_nodes. + * symtab.cc (check_ifunc_resolver): New. + (ifunc_ref_map): Likewise. + (is_caller_ifunc_resolver): Likewise. + (symtab_node::check_ifunc_callee_symtab_nodes): Likewise. + * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect + call profiling for IFUNC resolvers and their callees. + + 2024-04-15 Tamar Christina + + * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Remove LS64 from + Armv8.7-a. + + 2024-04-15 Tamar Christina + + PR tree-optimization/113552 + * config/aarch64/aarch64.cc + (aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1. + + 2024-04-11 Kito Cheng + + Backported from master: + 2024-02-29 Kito Cheng + + PR target/114130 + * config/riscv/sync.md (atomic_compare_and_swap): Sign + extend the expected value if needed. + + 2024-04-08 Martin Jambor + + Backported from master: + 2024-01-24 Martin Jambor + + PR ipa/108007 + PR ipa/112616 + * cgraph.h (cgraph_edge): Add a parameter to + redirect_call_stmt_to_callee. + * ipa-param-manipulation.h (ipa_param_adjustments): Add a + parameter to modify_call. + (ipa_release_ssas_in_hash): Declare. + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New + parameter killed_ssas, pass it to padjs->modify_call. + * ipa-param-manipulation.cc (purge_all_uses): New function. + (ipa_param_adjustments::modify_call): New parameter killed_ssas. + Instead of substituting uses, invoke purge_all_uses. If + hash of killed SSAs has not been provided, create a temporary one + and release SSAs that have been added to it. + (compare_ssa_versions): New function. + (ipa_release_ssas_in_hash): Likewise. + * tree-inline.cc (redirect_all_calls): Create + id->killed_new_ssa_names earlier, pass it to edge redirection, + adjust a comment. + (copy_body): Release SSAs in id->killed_new_ssa_names. + + 2024-04-04 Iain Sandoe + + Backported from master: + 2023-09-18 Iain Sandoe + + * config/darwin-protos.h (enum darwin_external_toolchain): New. + * config/darwin.cc (DSYMUTIL_VERSION): New. + (darwin_override_options): Choose the default debug DWARF version + depending on the configured dsymutil version. + + 2024-04-04 Iain Sandoe + + Backported from master: + 2024-04-02 Iain Sandoe + + * config/darwin.cc (darwin_override_options): Reduce the debug + level to 2 if dsymutil cannot handle .macinfo sections. + + 2024-04-04 Edwin Lu + + Backported from master: + 2024-03-19 Edwin Lu + + PR target/114175 + * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Only skip + riscv_funciton_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL + + 2024-04-03 Francois-Xavier Coudert + + Backported from master: + 2024-03-07 Francois-Xavier Coudert + + PR middle-end/111632 + * system.h: Include safe-ctype.h after C++ standard headers. + + 2024-04-02 Qing Zhao + + Backported from master: + 2023-09-15 Qing Zhao + + PR tree-optimization/111407 + * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform + when one of the operands is subject to abnormal coalescing. + + 2024-04-01 Iain Sandoe + + Backported from master: + 2023-10-25 Iain Sandoe + + * config/darwin.cc (darwin_override_options): Handle fPIE. + + 2024-04-01 Iain Sandoe + + * config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts + before other objects. (REAL_LIBGCC_SPEC): Remove weak crts + from here. (DARWIN_WEAK_CRTS): New. + + 2024-04-01 Lulu Cheng + + Backported from master: + 2024-01-11 Lulu Cheng + + PR target/113233 + * config/loongarch/genopts/loongarch.opt.in: Mark options with + the "Save" property. + * config/loongarch/loongarch-opts.cc + (loongarch_update_gcc_opt_status): Update the value of the + la_target to global_options. + * config/loongarch/loongarch-opts.h + (loongarch_update_gcc_opt_status): Add a function declaration. + * config/loongarch/loongarch.cc + (loongarch_option_override_internal): Call the function + loongarch_update_gcc_opt_status. + (loongarch_option_save): New functions. + (loongarch_option_restore): Likewise. + (TARGET_OPTION_SAVE): Define macro. + (TARGET_OPTION_RESTORE): Likewise. + * config/loongarch/loongarch.opt: Regenerate. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-28 Iain Sandoe + + * config/darwin.cc (darwin_build_constant_cfstring): Prevent over- + alignment of CFString constants by setting DECL_USER_ALIGN. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-18 Iain Sandoe + + * config/darwin.cc (darwin_objc1_section): Use the correct + meta-data version for constant strings. + (machopic_select_section): Assert if we fail to handle CFString + sections as Obejctive-C meta-data or drectly. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-18 Iain Sandoe + + PR target/105522 + * config/darwin.cc (machopic_select_section): Handle C and C++ + CFStrings. + (darwin_rename_builtins): Move this out of the CFString code. + (darwin_libc_has_function): Likewise. + (darwin_build_constant_cfstring): Create an anonymous var to + hold each CFString. + * config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant + CFstrings. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-10-26 Iain Sandoe + + * config/darwin.h + (darwin_label_is_anonymous_local_objc_name): Make metadata names + linker-visibile for GNU objective C. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-10-18 Iain Sandoe + + * config.in: Regenerate. + * config/darwin.cc (darwin_file_start): Add assembler directives + for the target OS version, where these are supported by the + assembler. + (darwin_override_options): Check for building >= macOS 10.14. + * configure: Regenerate. + * configure.ac: Check for assembler support of .build_version + directives. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-09-27 Iain Sandoe + + PR target/111610 + * configure: Regenerate. + * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN". + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-09-04 Iain Sandoe + + * config/darwin-sections.def (static_init_section): Add the + __TEXT,__StaticInit section. + * config/darwin.cc (darwin_function_section): Use the static init + section for global initializers, to match other platform toolchains. + Place unlikely executed global init code into the standard cold + section. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-09-04 Iain Sandoe + + * config/darwin-sections.def (darwin_exception_section): Move to + the __TEXT segment. + * config/darwin.cc (darwin_emit_except_table_label): Align before + the exception table label. + * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC- + relative 4byte relocs. + + 2024-03-31 Rainer Orth + + Backported from master: + 2023-08-17 Rainer Orth + + * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v + output. + * configure: Regenerate. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2023-09-18 Iain Sandoe + + * configure: Regenerate. + * configure.ac: Handle explict disable of stdlib option, set + defaults for Darwin. + + 2024-03-30 Xi Ruoyao + + Backported from master: + 2024-03-30 Xi Ruoyao + + PR target/114175 + * config/mips/mips.cc (mips_setup_incoming_varargs): Only skip + mips_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P + functions if arg.type is NULL. + + 2024-03-30 Xi Ruoyao + + Backported from master: + 2024-03-19 Xi Ruoyao + + PR target/114175 + * config/loongarch/loongarch.cc + (loongarch_setup_incoming_varargs): Only skip + loongarch_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P + functions if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-28 Jakub Jelinek + + PR tree-optimization/112303 + * profile-count.h (profile_count::operator+): Perform + addition in uint64_t variable and set m_val to MIN of that + val and max_count. + (profile_count::operator+=): Likewise. + (profile_count::operator-=): Formatting fix. + (profile_count::apply_probability): Use safe_scale_64bit + even in the int overload. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-26 Jakub Jelinek + + PR middle-end/111151 + * fold-const.cc (extract_muldiv_1) : Punt for + MULT_EXPR altogether, or for MAX_EXPR if c is -1. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-26 Jakub Jelinek + + PR sanitizer/111736 + * tsan.cc (instrument_expr): Punt on non-generic address space + accesses. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-23 Jakub Jelinek + + PR middle-end/111683 + * tree-predcom.cc (pcom_worker::suitable_component_p): If has_write + and comp_step is RS_NONZERO, return false if any reference in the + component doesn't have DR_STEP a multiple of access size. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-22 Jakub Jelinek + + PR sanitizer/111736 + * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid + SANITIZE_NULL instrumentation for non-generic address spaces + for which targetm.addr_space.zero_address_valid (as) is true. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/visium/visium.cc (visium_setup_incoming_varargs): Only skip + TARGET_FUNCTION_ARG_ADVANCE for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Only skip + nios2_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): Only + skip function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR target/114175 + * config/csky/csky.cc (csky_setup_incoming_varargs): Only skip + csky_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-20 Jakub Jelinek + + PR bootstrap/114369 + * system.h (vec_step): Define to vec_step_ when compiling + with clang on PowerPC. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-19 Jakub Jelinek + + PR target/114175 + * config/arc/arc.cc (arc_setup_incoming_varargs): Only skip + arc_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-19 Jakub Jelinek + + PR target/114175 + * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Only skip + function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-19 Jakub Jelinek + + PR target/114175 + * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Only skip + rs6000_function_arg_advance_1 for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-30 Jakub Jelinek + + Backported from master: + 2024-03-16 Jakub Jelinek + + PR target/114175 + * config/i386/i386.cc (ix86_setup_incoming_varargs): Only skip + ix86_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + + 2024-03-27 Richard Sandiford + + Backported from master: + 2024-03-05 Richard Sandiford + + PR sanitizer/97696 + * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int. + + 2024-03-26 Richard Biener + + Backported from master: + 2023-08-04 Richard Biener + + PR tree-optimization/110838 + * match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict + the arithmetic right-shift case to non-negative operands. + + 2024-03-26 Richard Biener + + Backported from master: + 2023-07-27 Richard Biener + + PR tree-optimization/91838 + * gimple-match-head.cc: Include attribs.h and asan.h. + * generic-match-head.cc: Likewise. + * match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern. + + 2024-03-21 Richard Biener + + PR tree-optimization/114231 + * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when + processing a BB SLP root. + + 2024-03-21 Richard Biener + + Backported from master: + 2023-12-14 Richard Biener + + PR tree-optimization/112793 + * tree-vect-slp.cc (vect_schedule_slp_node): Already + code-generated constant/external nodes are OK. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-01-31 Richard Biener + + PR tree-optimization/113670 + * tree-vect-data-refs.cc (vect_check_gather_scatter): + Make sure we can take the address of the reference base. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-01-29 Richard Biener + + PR middle-end/113622 + * gimple-isel.cc (gimple_expand_vec_set_extract_expr): + Also allow DECL_HARD_REGISTER variables. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-03-04 Richard Biener + + PR tree-optimization/114203 + * tree-ssa-loop-niter.cc (build_cltz_expr): Apply CTZ->CLZ + adjustment before making the result defined at zero. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-03-01 Richard Biener + + PR middle-end/114070 + * match.pd ((c ? a : b) op d --> c ? (a op d) : (b op d)): + Allow the folding if before lowering and the current IL + isn't supported with vcond_mask. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-02-26 Richard Biener + + PR middle-end/114070 + * genmatch.cc (parser::parse_c_expr): Do not record operand + lists but only mark operators used. + * match.pd ((c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e)): + Properly guard the case of tcc_comparison changing the VEC_COND + value operand type. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-02-22 Richard Biener + + PR tree-optimization/114027 + * tree-vect-loop.cc (vecctorizable_reduction): Use optimized + condition reduction classification only for single-element + chains. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-02-14 Richard Biener + + PR tree-optimization/113910 + * bitmap.cc (bitmap_hash): Mix the full element "hash" to + the hashval_t hash. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-01-23 Richard Biener + + PR debug/112718 + * dwarf2out.cc (dwarf2out_finish): Reset all type units + for the fat part of an LTO compile. + + 2024-03-21 Richard Biener + + Backported from master: + 2024-03-21 Richard Biener + + PR tree-optimization/111736 + * asan.cc (instrument_derefs): Do not instrument accesses + to non-generic address-spaces. + + 2024-03-21 liuhongt + + Backported from master: + 2024-03-21 liuhongt + + PR tree-optimization/114396 + * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Pass utype + and true to wi::from_mpz. + + 2024-03-21 Jeevitha + + Backported from master: + 2024-03-07 Jeevitha Palanisamy + + PR target/113950 + * config/rs6000/vsx.md (vsx_splat_): Correct assignment to operand1 + and simplify else if with else. + + 2024-03-19 Uros Bizjak + + PR target/111822 + * config/i386/i386-features.cc (smode_convert_cst): New function + to handle SImode, DImode and TImode immediates. + (scalar_chain::convert_op): Unify from + general_scalar_chain::convert_op and timode_scalar_chain::convert_op. + (general_scalar_chain::convert_op): Remove. + (timode_scalar_chain::convert_op): Remove. + * config/i386/i386-features.h (class scalar_chain): + Redeclare convert_op as protected class member. + (class general_calar_chain): Remove convert_op. + (class timode_scalar_chain): Ditto. + + 2024-03-18 Christoph Müllner + + Backported from master: + 2023-07-12 Christoph Müllner + + PR target/114160 + * config/riscv/thead.cc (th_mempair_save_regs): + Emit REG_FRAME_RELATED_EXPR notes in prologue. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-14 Jakub Jelinek + + * gimple-iterator.cc (edge_before_returns_twice_call): Copy all + flags and probability from ad_edge to e edge. If CDI_DOMINATORS + are computed, recompute immediate dominator of other_edge->src + and other_edge->dest. + (gsi_safe_insert_before, gsi_safe_insert_seq_before): Update *iter + for the returns_twice call case to the gsi_for_stmt (stmt) to deal + with update it for bb splitting. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-13 Jakub Jelinek + + PR sanitizer/112709 + * asan.cc (maybe_create_ssa_name, maybe_cast_to_ptrmode, + build_check_stmt, maybe_instrument_call, asan_expand_mark_ifn): Use + gsi_safe_insert_before instead of gsi_insert_before. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-13 Jakub Jelinek + + PR sanitizer/112709 + * gimple-iterator.h (gsi_safe_insert_before, + gsi_safe_insert_seq_before): Declare. + * gimple-iterator.cc: Include gimplify.h. + (edge_before_returns_twice_call, adjust_before_returns_twice_call, + gsi_safe_insert_before, gsi_safe_insert_seq_before): New functions. + * ubsan.cc (instrument_mem_ref, instrument_pointer_overflow, + instrument_nonnull_arg, instrument_nonnull_return): Use + gsi_safe_insert_before instead of gsi_insert_before. + (maybe_instrument_pointer_overflow): Use force_gimple_operand, + gimple_seq_add_seq_without_update and gsi_safe_insert_seq_before + instead of force_gimple_operand_gsi. + (instrument_object_size): Likewise. Use gsi_safe_insert_before + instead of gsi_insert_before. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-15 Jakub Jelinek + + PR target/114339 + * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp) : Fix + a pasto, compare code against LE rather than GE. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-14 Jakub Jelinek + + PR middle-end/113907 + * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset + SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged + functions. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-14 Jakub Jelinek + + PR target/114310 + * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For + TImode force newval into a register. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-07 Jakub Jelinek + + PR rtl-optimization/110079 + * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust + asm goto. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-05 Jakub Jelinek + + PR rtl-optimization/114211 + * lower-subreg.cc (resolve_simple_move): For double-word + rotates by BITS_PER_WORD if there is overlap between source + and destination use a temporary. + + 2024-03-15 Jakub Jelinek + + Backported from master: + 2024-03-04 Jakub Jelinek + + PR target/114184 + * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1 + is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or + register. + + 2024-03-14 liuhongt + + Backported from master: + 2024-03-14 liuhongt + + * config/i386/i386-features.cc + (general_scalar_chain::convert_op): Handle REG_EH_REGION note. + (convert_scalars_to_vector): Ditto. + * config/i386/i386-features.h (class scalar_chain): New + memeber control_flow_insns. + + 2024-03-12 Andrew Pinski + + Backported from master: + 2024-03-11 Andrew Pinski + + PR middle-end/95351 + * fold-const.cc (merge_truthop_with_opposite_arm): Use + the type of the operands of the comparison and not the type + of the comparison. + + 2024-03-12 Andrew Pinski + + Backported from master: + 2024-03-12 Andrew Pinski + + PR driver/114314 + * common.opt (fmultiflags): Add RejectNegative. + + 2024-03-09 Lulu Cheng + + Backported from master: + 2024-03-09 Lulu Cheng + + * config/loongarch/sync.md (atomic_cas_value_strong): + In loongarch64, a sign extension operation is added when + operands[2] is a register operand and the mode is SImode. + + 2024-03-03 Oleg Endo + + PR target/101737 + * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input + is not an insn, but e.g. a code label. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-03-01 Jakub Jelinek + + PR middle-end/114136 + * calls.cc (expand_call): For TYPE_NO_NAMED_ARGS_STDARG_P set + n_named_args initially before INIT_CUMULATIVE_ARGS to + structure_value_addr_parm rather than 0, after it don't modify + it if strict_argument_naming and clear only if + !pretend_outgoing_varargs_named. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-03-01 Jakub Jelinek + + * function.cc (assign_parms): Only call assign_parms_setup_varargs + early for TYPE_NO_NAMED_ARGS_STDARG_P functions if fnargs is empty. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-28 Jakub Jelinek + + PR tree-optimization/114041 + * graphite-sese-to-poly.cc (add_conditions_to_domain): Check for + INTEGRAL_TYPE_P check rather than INTEGER_TYPE. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-26 Jakub Jelinek + + PR tree-optimization/114090 + * match.pd ((x >= 0 ? x : 0) + (x <= 0 ? -x : 0) -> abs x): + Restrict pattern to ANY_INTEGRAL_TYPE_P and TYPE_OVERFLOW_UNDEFINED + types. + ((x <= 0 ? -x : 0) -> max(-x, 0)): Likewise. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-22 Jakub Jelinek + + PR tree-optimization/113993 + * tree-call-cdce.cc (get_no_error_domain): Handle + BUILT_IN_{COSH,SINH,EXP{,M1,2}}{F32X,F64X}. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-12 Jakub Jelinek + + PR c++/113674 + * attribs.cc (extract_attribute_substring): Remove. + (lookup_scoped_attribute_spec): Don't call it. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-10 Jakub Jelinek + + PR middle-end/110754 + * gimple-low.cc (assumption_copy_decl): For TREE_THIS_VOLATILE + decls create PARM_DECL with pointer to original type, set + TREE_READONLY and keep TREE_THIS_VOLATILE, TREE_ADDRESSABLE, + DECL_NOT_GIMPLE_REG_P and DECL_BY_REFERENCE cleared. + (adjust_assumption_stmt_op): For remapped TREE_THIS_VOLATILE decls + wrap PARM_DECL into a simple TREE_THIS_NO_TRAP MEM_REF. + (lower_assumption): For TREE_THIS_VOLATILE vars pass ADDR_EXPR + of the var as argument. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-03 Jakub Jelinek + + * ggc-common.cc (gt_pch_save): Allow addr to be equal to + mmi.preferred_base + mmi.size - sizeof (void *). + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-31 Jakub Jelinek + + PR rtl-optimization/113656 + * simplify-rtx.cc (simplify_context::simplify_unary_operation_1) + : Fix up last argument to simplify_gen_unary. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-30 Jakub Jelinek + + PR tree-optimization/113603 + * tree-ssa-strlen.cc (strlen_pass::handle_store): After + count_nonzero_bytes call refetch si using get_strinfo in case it + has been unshared in the meantime. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-25 Jakub Jelinek + + * doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns. + * doc/rtl.texi (CONST_VECTOR): Likewise. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-18 Jakub Jelinek + + PR target/113122 + * config/i386/i386.cc (x86_function_profiler): Add -masm=intel + support. Add missing space after , in emitted assembly in some + cases. Formatting fixes. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-16 Jakub Jelinek + + PR tree-optimization/113372 + PR middle-end/90348 + PR middle-end/110115 + PR middle-end/111422 + * cfgexpand.cc (add_scope_conflicts_2): New function. + (add_scope_conflicts_1): Use it. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2023-12-22 Jakub Jelinek + + PR rtl-optimization/112758 + * combine.cc (make_compopund_operation_int): Optimize AND of a SUBREG + based on nonzero_bits of SUBREG_REG and constant mask on + WORD_REGISTER_OPERATIONS targets only if it is a zero extending + MEM load. + + 2024-02-29 Andrew Pinski + + Backported from master: + 2024-02-29 Andrew Pinski + + PR target/108174 + * config/aarch64/aarch64-builtins.cc (aarch64_memtag_builtin_data): Make + static and mark with GTY. + + 2024-02-27 Eric Botcazou + + * tree-ssa-dse.cc (compute_trims): Fix description. Return early + if either ref->offset is not byte aligned or ref->size is not known + to be equal to ref->max_size. + (maybe_trim_complex_store): Fix description. + (maybe_trim_constructor_store): Likewise. + (maybe_trim_partially_dead_store): Likewise. + + 2024-02-27 H.J. Lu + + Backported from master: + 2024-02-26 H.J. Lu + + PR target/114098 + * config/i386/amxtileintrin.h (_tile_loadconfig): Use + __builtin_ia32_ldtilecfg. + (_tile_storeconfig): Use __builtin_ia32_sttilecfg. + * config/i386/i386-builtin.def (BDESC): Add + __builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg. + * config/i386/i386-expand.cc (ix86_expand_builtin): Handle + IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG. + * config/i386/i386.md (ldtilecfg): New pattern. + (sttilecfg): Likewise. + + 2024-02-23 Richard Earnshaw + + Backported from master: + 2024-02-23 Richard Earnshaw + + PR target/108120 + * config/arm/neon.md (div3): Rename from div3. + Gate with ARM_HAVE_NEON__ARITH. + + 2024-02-23 Xi Ruoyao + + * config/loongarch/genopts/loongarch.opt.in + (TARGET_EXPLICIT_RELOCS): Init to M_OPTION_NOT_SEEN. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.cc + (loongarch_option_override_internal): Set the default of + TARGET_EXPLICIT_RELOCS to HAVE_AS_EXPLICIT_RELOCS + && !loongarch_mrelax. + * doc/invoke.texi (-m[no-]explicit-relocs): Update for + LoongArch. + + 2024-02-22 Andrew Pinski + + Backported from master: + 2024-02-22 Andrew Pinski + + PR tree-optimization/109804 + * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle + DEMANGLE_COMPONENT_UNNAMED_TYPE. + + 2024-02-22 Xi Ruoyao + + Backported from master: + 2023-10-31 Xi Ruoyao + + PR target/112299 + * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0 + if not defined yet. + + 2024-02-22 Xi Ruoyao + + Backported from master: + 2023-11-14 Xi Ruoyao + + PR target/112330 + * config/loongarch/genopts/loongarch.opt.in: Add + -m[no]-pass-relax-to-as. Change the default of -m[no]-relax to + account conditional branch relaxation support status. + * config/loongarch/loongarch.opt: Regenerate. + * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if + the assembler supports conditional branch relaxation. + * configure: Regenerate. + * config.in: Regenerate. Note that there are some unrelated + changes introduced by r14-5424 (which does not contain a + config.in regeneration). + * config/loongarch/loongarch-opts.h + (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined. + * config/loongarch/loongarch.h (ASM_MRELAX_DEFAULT): Define. + (ASM_MRELAX_SPEC): Define. + (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}". + * doc/invoke.texi: Document -m[no-]relax and + -m[no-]pass-mrelax-to-as for LoongArch. + + 2024-02-22 Lulu Cheng + + Backported from master: + 2023-09-20 Lulu Cheng + + * config.in: Regenerate. + * config/loongarch/genopts/loongarch.opt.in: Add compilation option + mrelax. And set the initial value of explicit-relocs according to the + detection status. + * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the + --no-relax option to the linker. + * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro. + * config/loongarch/loongarch.opt: Regenerate. + * configure: Regenerate. + * configure.ac: Add detection of support for binutils relax function. + + 2024-02-22 Lulu Cheng + + Backported from master: + 2023-10-17 Lulu Cheng + Chenghua Xu + + * config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP): + Delete. + + 2024-02-20 Georg-Johann Lay + + Backported from master: + 2024-02-18 Georg-Johann Lay + + * doc/invoke.texi (AVR Options) <-mmcu>: Remove "Atmel". + Note on complete device support. + + 2024-02-20 Georg-Johann Lay + + Backported from master: + 2024-01-15 Georg-Johann Lay + + * doc/invoke.texi (AVR Options) [-mskip-bug]: Add documentation. + + 2024-02-20 Georg-Johann Lay + + Backported from master: + 2024-01-11 Georg-Johann Lay + + * doc/invoke.texi (AVR Options): Move -mrmw, -mn-flash, -mshort-calls + and -msp8 to... + (AVR Internal Options): ...this new @subsubsection. + + 2024-02-19 Andre Vieira + + Backported from master: + 2023-12-20 Andre Vieira + + PR target/112787 + * tree-vect-generic.cc (type_for_widest_vector_mode): Change function to + use original vector type and check widest vector mode has at most the + same number of elements. + (get_compute_type): Pass original vector type rather than the element + type to type_for_widest_vector_mode and remove now obsolete check for + the number of elements. + + 2024-02-15 Jakub Jelinek + + Backported from master: + 2024-02-15 Jakub Jelinek + + PR middle-end/113921 + * cfgrtl.h (prepend_insn_to_edge): New declaration. + * cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function + comment. + (prepend_insn_to_edge): New function. + * cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of + insert_insn_on_edge. + + 2024-02-15 Georg-Johann Lay + + Backported from master: + 2024-02-15 Georg-Johann Lay + + PR target/113927 + * config/avr/avr.h (AVR_HAVE_ADIW): New macro. + * config/avr/avr-protos.h (avr_adiw_reg_p): New proto. + * config/avr/avr.cc (avr_adiw_reg_p): New function. + (avr_conditional_register_usage) [AVR_TINY]: Don't clear ADDW_REGS. + Replace test_hard_reg_class (ADDW_REGS, ...) with calls to + * config/avr/avr.md: Same. + (attr "isa") : Remove. + : Add. + (define_insn, define_insn_and_split): When an alternative has + constraint "w", then set attribute "isa" to "adiw". + * config/avr/avr-c.cc (avr_cpu_cpp_builtins) [AVR_HAVE_ADIW]: + Built-in define __AVR_HAVE_ADIW__. + * doc/invoke.texi (AVR Options): Document it. + + 2024-02-12 Senthil Kumar Selvaraj + + Backported from master: + 2023-06-19 Senthil Kumar Selvaraj + + PR target/105523 + * common/config/avr/avr-common.cc: Remove setting + of OPT_fdelete_null_pointer_checks. + * config/avr/avr.cc (avr_option_override): Clear + flag_delete_null_pointer_checks if zero_address_valid. + (avr_addr_space_zero_address_valid): New function. + (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Provide target + hook. + + 2024-02-08 Georg-Johann Lay + + Backported from master: + 2024-02-08 Georg-Johann Lay + + PR target/113824 + * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4. + * doc/avr-mmcu.texi: Rebuild. + + 2024-02-08 Georg-Johann Lay + + Backported from master: + 2024-02-08 Georg-Johann Lay + + * config/avr/gen-avr-mmcu-specs.cc (print_mcu) <*cpp_mcu>: Spec always + defines __AVR_PM_BASE_ADDRESS__ if the core has it. + + 2024-02-07 Alex Coplan + + PR target/111677 + * config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use + V16QImode for the full 16-byte FPR saves in the vector PCS case. + (aarch64_gen_storewb_pair): Handle V16QImode. + (aarch64_gen_loadwb_pair): Likewise. + (aarch64_gen_load_pair): Likewise. + * config/aarch64/aarch64.md (loadwb_pair_): + Rename to ... + (loadwb_pair_): ... this, extending to + V16QImode. + (storewb_pair_): Rename to ... + (storewb_pair_): ... this, extending to + V16QImode. + * config/aarch64/iterators.md (TX_V16QI): New. + + 2024-02-06 Richard Biener + + Backported from master: + 2023-11-20 Richard Biener + + PR tree-optimization/112618 + * tree-vect-loop.cc (vect_transform_loop_stmt): For not + relevant and unused .MASK_CALL make sure we remove the + scalar stmt. + + 2024-02-06 Richard Biener + + Backported from master: + 2024-01-11 Richard Biener + + PR tree-optimization/112505 + * tree-vect-loop.cc (vectorizable_induction): Reject + bit-precision induction. + + 2024-02-06 Richard Biener + + Backported from master: + 2023-11-13 Richard Biener + + PR tree-optimization/112495 + * tree-data-ref.cc (runtime_alias_check_p): Reject checks + between different address spaces. + + 2024-02-06 Richard Biener + + Backported from master: + 2023-11-10 Richard Biener + + PR tree-optimization/110221 + * tree-vect-slp.cc (vect_schedule_slp_node): When loop + masking / len is applied make sure to not schedule + intenal defs outside of the loop. + + 2024-02-06 Richard Biener + + Backported from master: + 2024-01-31 Richard Biener + + PR middle-end/110176 + * match.pd (zext (bool) <= (int) 4294967295u): Make sure + to match INTEGER_CST only without outstanding conversion. + + 2024-02-05 Jason Merrill + + Backported from master: + 2023-06-02 Jason Merrill + + PR c++/95226 + PR c++/109359 + * varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match. + (initializer_constant_valid_p_1): Compare float precision. + + 2024-02-05 Xi Ruoyao + + Backported from master: + 2024-02-05 Xi Ruoyao + + * config/mips/mips-msa.md (neg2): Add missing mode for + neg. + + 2024-02-05 Xi Ruoyao + + Backported from master: + 2024-02-05 Xi Ruoyao + + * config/mips/mips-msa.md (elmsgnbit): New define_mode_attr. + (neg2): Change the mode iterator from MSA to IMSA because + in FP arithmetic we cannot use (0 - x) for -x. + (neg2): New define_insn to implement FP vector negation, + using a bnegi instruction to negate the sign bit. + + 2024-02-01 John David Anglin + + * config/pa/pa.md (atomic_storedi_1): Fix bug in + alternative 1. + + 2024-01-31 Georg-Johann Lay + + Backported from master: + 2024-01-31 Georg-Johann Lay + + * config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787, + ATA5835, ATtiny64AUTO, ATA5700M322. + * doc/avr-mmcu.texi: Rebuild. + + 2024-01-26 Wilco Dijkstra + + Backported from master: + 2024-01-16 Wilco Dijkstra + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU. + * config/aarch64/aarch64-tune.md: Regenerated. + * doc/invoke.texi (-mcpu): Add cobalt-100 core. + + 2024-01-25 Georg-Johann Lay + + Backported from master: + 2024-01-25 Georg-Johann Lay + + PR target/113601 + * config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start. + + 2024-01-25 Georg-Johann Lay + + Backported from master: + 2024-01-16 Georg-Johann Lay + + * config/avr/avr-mcus.def (avr16eb14, avr16eb20, avr16eb28, avr16eb32) + (avr16ea28, avr16ea32, avr16ea48, avr32ea28, avr32ea32, avr32ea48): Add. + * doc/avr-mmcu.texi: Regenerate. + + 2024-01-24 Martin Jambor + + Backported from master: + 2024-01-18 Martin Jambor + + PR tree-optimization/110422 + * tree-sra.cc (scan_function): Disqualify bases of operands of asm + gotos. + + 2024-01-16 Daniel Cederman + + * config/sparc/sparc.cc (next_active_non_empty_insn): Length 0 treated as empty + + 2024-01-16 Daniel Cederman + + * config/sparc/sparc.cc (atomic_insn_for_leon3_p): Treat membar_storeload as atomic + * config/sparc/sync.md (membar_storeload): Turn into named insn + and add GR712RC errata workaround. + (membar_v8): Add GR712RC errata workaround. + + 2024-01-16 Andreas Larsson + + * config/sparc/sync.md (*membar_storeload_leon3): Remove + (*membar_storeload): Enable for LEON + + 2024-01-16 Georg-Johann Lay + + Backported from master: + 2024-01-15 Georg-Johann Lay + + PR target/107201 + * config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib. + * config/avr/driver-avr.cc (avr_no_devlib): New function. + (avr_devicespecs_file): Use it to remove -nodevicelib from the + options for cores only. + * config/avr/avr-arch.h (avr_get_parch): New prototype. + * config/avr/avr-devices.cc (avr_get_parch): New function. + + 2024-01-15 Andrew Pinski + + Backported from master: + 2024-01-15 Andrew Pinski + + PR target/113156 + * config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag. + (-mbranch-cost): Set "Optimization" flag. + + 2024-01-12 Georg-Johann Lay + + Backported from master: + 2024-01-12 Georg-Johann Lay + + * config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from + format string to %s argument. + + 2024-01-11 Siddhesh Poyarekar + + Backported from master: + 2023-12-20 Siddhesh Poyarekar + + PR tree-optimization/113012 + * tree-object-size.cc (compute_builtin_object_size): Expand + comment for dynamic object sizes. + (collect_object_sizes_for): Always set COMPUTED bitmap for + dynamic object sizes. + + 2024-01-09 Eric Botcazou + + PR rtl-optimization/113140 + * reorg.cc (fill_slots_from_thread): If we are to branch after the + last instruction of the function, create an end label. + + 2024-01-08 Georg-Johann Lay + + Backported from master: + 2024-01-08 Georg-Johann Lay + + PR target/112952 + * config/avr/avr.cc (avr_handle_addr_attribute): Also print valid + range when diagnosing attribute "io" and "io_low" are out of range. + (avr_eval_addr_attrib): Don't ICE on empty address at that place. + (avr_insert_attributes): Reject if attribute "address", "io" or "io_low" + in contexts other than static storage. + (avr_asm_output_aligned_decl_common): Move output of decls with + attribute "address", "io", and "io_low" to... + (avr_output_addr_attrib): ...this new function. + (avr_asm_asm_output_aligned_bss): Remove output for decls with + attribute "address", "io", and "io_low". + (avr_encode_section_info): Rectify handling of decls with attribute + "address", "io", and "io_low". + + 2023-12-23 YunQiang Su + + * config/mips/driver-native.cc (host_detect_local_cpu): + don't add nan2008 option for -mtune=native. + + 2023-12-23 YunQiang Su + + PR target/112759 + * config/mips/driver-native.cc (host_detect_local_cpu): + Put the ret to the end of args of reconcat. + + 2023-12-19 Richard Biener + + Backported from master: + 2023-12-05 Richard Biener + + PR sanitizer/111736 + * asan.cc (asan_protect_global): Do not protect globals + in non-generic address-space. + + 2023-12-19 Jakub Jelinek + + Backported from master: + 2023-12-19 Jakub Jelinek + + PR target/112816 + * config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG. + + 2023-12-18 Jakub Jelinek + + Backported from master: + 2023-12-18 Jakub Jelinek + + PR tree-optimization/113013 + * tree-object-size.cc (alloc_object_size): Return size_unknown if + corresponding argument(s) don't have integral type or have integral + type with higher precision than sizetype. Don't check arg1 >= 0 + uselessly. Compare argument indexes against gimple_call_num_args + in unsigned type rather than int. Formatting fixes. + + 2023-12-15 Jakub Jelinek + + Backported from master: + 2023-12-11 Jakub Jelinek + + * doc/extend.texi (__sync_fetch_and_add, __sync_fetch_and_sub, + __sync_fetch_and_or, __sync_fetch_and_and, __sync_fetch_and_xor, + __sync_fetch_and_nand, __sync_add_and_fetch, __sync_sub_and_fetch, + __sync_or_and_fetch, __sync_and_and_fetch, __sync_xor_and_fetch, + __sync_nand_and_fetch, __sync_bool_compare_and_swap, + __sync_val_compare_and_swap, __sync_lock_test_and_set, + __sync_lock_release, __atomic_load_n, __atomic_load, __atomic_store_n, + __atomic_store, __atomic_exchange_n, __atomic_exchange, + __atomic_compare_exchange_n, __atomic_compare_exchange, + __atomic_add_fetch, __atomic_sub_fetch, __atomic_and_fetch, + __atomic_xor_fetch, __atomic_or_fetch, __atomic_nand_fetch, + __atomic_fetch_add, __atomic_fetch_sub, __atomic_fetch_and, + __atomic_fetch_xor, __atomic_fetch_or, __atomic_fetch_nand, + __atomic_test_and_set, __atomic_clear, __atomic_thread_fence, + __atomic_signal_fence, __atomic_always_lock_free, + __atomic_is_lock_free, __builtin_add_overflow, + __builtin_sadd_overflow, __builtin_saddl_overflow, + __builtin_saddll_overflow, __builtin_uadd_overflow, + __builtin_uaddl_overflow, __builtin_uaddll_overflow, + __builtin_sub_overflow, __builtin_ssub_overflow, + __builtin_ssubl_overflow, __builtin_ssubll_overflow, + __builtin_usub_overflow, __builtin_usubl_overflow, + __builtin_usubll_overflow, __builtin_mul_overflow, + __builtin_smul_overflow, __builtin_smull_overflow, + __builtin_smulll_overflow, __builtin_umul_overflow, + __builtin_umull_overflow, __builtin_umulll_overflow, + __builtin_add_overflow_p, __builtin_sub_overflow_p, + __builtin_mul_overflow_p, __builtin_alloca, + __builtin_alloca_with_align, __builtin_alloca_with_align_and_max, + __builtin_speculation_safe_value, __builtin_nan, __builtin_nand32, + __builtin_nand64, __builtin_nand128, __builtin_nanf, __builtin_nanl, + __builtin_nanf@var{n}, __builtin_nanf@var{n}x, __builtin_nans, + __builtin_nansd32, __builtin_nansd64, __builtin_nansd128, + __builtin_nansf, __builtin_nansl, __builtin_nansf@var{n}, + __builtin_nansf@var{n}x, __builtin_ffs, __builtin_clz, __builtin_ctz, + __builtin_clrsb, __builtin_popcount, __builtin_parity, + __builtin_bswap16, __builtin_bswap32, __builtin_bswap64, + __builtin_bswap128, __builtin_extend_pointer, + __builtin_goacc_parlevel_id, __builtin_goacc_parlevel_size, vec_clrl, + vec_clrr, vec_mulh, vec_mul, vec_div, vec_dive, vec_mod, + __builtin_rx_mvtc): Use @var{...} around parameter names. + (vec_rl, vec_sl, vec_sr, vec_sra): Likewise. Use @var{...} also + around A, B and R in description. + + 2023-12-15 Jakub Jelinek + + Backported from master: + 2023-11-29 Jakub Jelinek + + PR middle-end/112733 + * fold-const.cc (multiple_of_p): Pass SIGNED rather than + UNSIGNED for wi::multiple_of_p on widest_int arguments. + + 2023-12-15 Haochen Jiang + + * config/i386/driver-i386.cc (host_detect_local_cpu): Do not + set Grand Ridge depending on RAO-INT. + * config/i386/i386.h: Remove PTA_RAOINT from PTA_GRANDRIDGE. + * doc/invoke.texi: Adjust documentation. + + 2023-12-12 liuhongt + + PR target/112891 + * config/i386/i386.cc (ix86_avx_u128_mode_after): Return + AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to + align with ix86_avx_u128_mode_needed. + (ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for + sibling_call. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-12-05 Jakub Jelinek + + PR target/112845 + * config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL + if the new immediate is ix86_endbr_immediate_operand. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-12-04 Jakub Jelinek + + PR target/112837 + * config/i386/i386.cc (ix86_elim_entry_set_got): Before checking + for UNSPEC_SET_GOT check that SET_SRC is UNSPEC. Use SET_SRC and + SET_DEST macros instead of XEXP, rename vec variable to set. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-12-04 Jakub Jelinek + + PR target/112816 + * config/i386/sse.md (signbit2): Force operands[1] into a REG. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-12-01 Jakub Jelinek + + * doc/extend.texi (__builtin_darn, __builtin_darn_raw, + __builtin_ia32_vec_ext_v2di, __builtin_ia32_crc32qi, + __builtin_ia32_crc32hi, __builtin_ia32_crc32si, + __builtin_ia32_crc32di): Put {}s around return type with spaces in it. + (__builtin_rx_mvfachi, __builtin_rx_mvfacmi): Remove superfluous + whitespace. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-11-25 Jakub Jelinek + + PR target/111408 + * config/i386/i386.md (*jcc_bt_mask, + *jcc_bt_mask_1): Add (const_int 0) as expected + second operand of bt_comparison_operator. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-11-13 Jakub Jelinek + + PR tree-optimization/111967 + * gimple-range-cache.cc (block_range_cache::set_bb_range): Grow + m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1. + (block_range_cache::dump): Iterate from 1 rather than 0. Don't use + ssa_name (x) unless m_ssa_ranges[x] is non-NULL. Iterate to + m_ssa_ranges.length () rather than num_ssa_names. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-11-09 Jakub Jelinek + + PR c/112339 + * attribs.cc (attribute_ignored_p): Only return true for + attr_namespace_ignored_p if as is NULL. + (decl_attributes): Never add ignored attributes. + + 2023-11-30 Vladimir N. Makarov + + Backported from master: + 2023-09-25 Vladimir N. Makarov + + PR middle-end/111497 + * lra-constraints.cc (lra_constraints): Copy substituted + equivalence. + * lra.cc (lra): Change comment for calling unshare_all_rtl_again. + + 2023-11-29 Costas Argyris + + Backported from master: + 2023-11-23 Costas Argyris + + * configure.ac: Handle new --enable-win32-utf8-manifest + option. + * config.host: allow win32 utf8 manifest to be disabled + by user. + * configure: Regenerate. + + 2023-11-24 Richard Biener + + Backported from master: + 2023-09-19 Richard Biener + + PR tree-optimization/111465 + * tree-ssa-threadupdate.cc (fwd_jt_path_registry::thread_block_1): + Cancel the path when a EDGE_NO_COPY_SRC_BLOCK became non-empty. + + 2023-11-24 Richard Biener + + Backported from master: + 2023-08-25 Richard Biener + + PR tree-optimization/111137 + * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): + Properly handle grouped stores from other SLP instances. + + 2023-11-24 Richard Biener + + Backported from master: + 2023-08-25 Richard Biener + + * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences): + Split out from vect_slp_analyze_node_dependences, remove + dead code. + (vect_slp_analyze_load_dependences): Split out from + vect_slp_analyze_node_dependences, adjust comments. Process + queued stores before any disambiguation. + (vect_slp_analyze_node_dependences): Remove. + (vect_slp_analyze_instance_dependence): Adjust. + + 2023-11-23 Uros Bizjak + + Backported from master: + 2023-11-23 Uros Bizjak + + PR target/112672 + * config/i386/i386.md (parityhi2): + Use temporary register in the call to gen_parityhi2_cmp. + + 2023-11-22 Maciej W. Rozycki + + Backported from master: + 2023-11-22 Maciej W. Rozycki + + PR target/111815 + * config/vax/vax.cc (index_term_p): Only accept the index scaler + as the RHS operand to ASHIFT. + + 2023-11-21 Martin Jambor + + * lto-streamer.h (LTO_minor_version): Bump. + + 2023-11-20 Lulu Cheng + + Backported from master: + 2023-11-20 Lulu Cheng + + * config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix. + + 2023-11-20 Peng Fan + + Backported from master: + 2023-04-21 Peng Fan + + * config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine. + + 2023-11-17 Georg-Johann Lay + + Backported from master: + 2023-11-17 Georg-Johann Lay + + PR target/53372 + * config/avr/avr.cc (avr_asm_named_section) [AVR_SECTION_PROGMEM]: + Only return some .progmem*.data section if the user did not + specify a section attribute. + (avr_section_type_flags) [avr_progmem_p]: Unset SECTION_NOTYPE + in returned section flags. + + 2023-11-16 Xi Ruoyao + + Backported from master: + 2023-11-15 Xi Ruoyao + + * config/loongarch/loongarch.cc + (loongarch_memmodel_needs_release_fence): Remove. + (loongarch_cas_failure_memorder_needs_acquire): New static + function. + (loongarch_print_operand): Redefine 'G' for the barrier on CAS + failure. + * config/loongarch/sync.md (atomic_cas_value_strong): + Remove the redundant barrier before the LL instruction, and + emit an acquire barrier on failure if needed by + failure_memorder. + (atomic_cas_value_cmp_and_7_): Likewise. + (atomic_cas_value_add_7_): Remove the unnecessary barrier + before the LL instruction. + (atomic_cas_value_sub_7_): Likewise. + (atomic_cas_value_and_7_): Likewise. + (atomic_cas_value_xor_7_): Likewise. + (atomic_cas_value_or_7_): Likewise. + (atomic_cas_value_nand_7_): Likewise. + (atomic_cas_value_exchange_7_): Likewise. + + 2023-11-15 Kewen Lin + + Backported from master: + 2023-11-06 Kewen Lin + + PR target/111828 + * config.in: Regenerate. + * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard + inline asm handling under !HAVE_AS_POWER10_HTM. + * configure: Regenerate. + * configure.ac: Detect assembler support for HTM insns at power10. + + 2023-11-14 liuhongt + + Backported from master: + 2023-11-14 liuhongt + + PR tree-optimization/112496 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return + false when !tree_nop_conversion_p (TREE_TYPE (vectype), + TREE_TYPE (init_expr)). + + 2023-11-14 Jeevitha + + Backported from master: + 2023-08-31 Jeevitha Palanisamy + + PR target/110411 + * config/rs6000/mma.md (define_insn_and_split movoo): Disallow + AltiVec address operands. + (define_insn_and_split movxo): Likewise. + * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove + redundant mode size check. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-10-23 Richard Biener + + PR tree-optimization/111917 + * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert + new conditional after last stmt. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-10-17 Richard Biener + + PR middle-end/111818 + * tree-ssa.cc (maybe_optimize_var): When clearing + DECL_NOT_GIMPLE_REG_P always rewrite into SSA. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-10-12 Richard Biener + + PR tree-optimization/111764 + * tree-vect-loop.cc (check_reduction_path): Remove the attempt + to allow x + x via special-casing of assigns. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-09-28 Richard Biener + + PR tree-optimization/111614 + * tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly + convert the first vector when required. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-09-29 Richard Biener + + PR tree-optimization/111583 + * tree-loop-distribution.cc (find_single_drs): Ensure the + load/store are always executed. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-09-20 Richard Biener + + PR tree-optimization/111489 + * params.opt (-param uninit-max-chain-len=): Raise default to 8. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-09-20 Richard Biener + + PR tree-optimization/111489 + * doc/invoke.texi (--param uninit-max-chain-len): Document. + (--param uninit-max-num-chains): Likewise. + * params.opt (-param=uninit-max-chain-len=): New. + (-param=uninit-max-num-chains=): Likewise. + * gimple-predicate-analysis.cc (MAX_NUM_CHAINS): Define to + param_uninit_max_num_chains. + (MAX_CHAIN_LEN): Define to param_uninit_max_chain_len. + (uninit_analysis::init_use_preds): Avoid VLA. + (uninit_analysis::init_from_phi_def): Likewise. + (compute_control_dep_chain): Avoid using MAX_CHAIN_LEN in + template parameter. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-10-20 Richard Biener + + PR tree-optimization/111445 + * tree-scalar-evolution.cc (simple_iv_with_niters): + Add missing check for a sign-conversion. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-09-13 Richard Biener + + PR tree-optimization/111397 + * tree-ssa-propagate.cc (may_propagate_copy): Change optional + argument to specify whether the PHI destination doesn't flow in + from an abnormal PHI. + (propagate_value): Adjust. + * tree-ssa-forwprop.cc (pass_forwprop::execute): Indicate abnormal + PHI dest. + * tree-ssa-sccvn.cc (eliminate_dom_walker::before_dom_children): + Likewise. + (process_bb): Likewise. + + 2023-11-10 liuhongt + + Backported from master: + 2023-11-10 liuhongt + + PR target/112443 + * config/i386/sse.md (*avx2_pcmp3_4): Fix swap condition + from LT to GT since there's not in the pattern. + (*avx2_pcmp3_5): Ditto. + + 2023-11-06 John David Anglin + + * config/pa/pa.cc (pa_asm_trampoline_template): Fix typo. + + 2023-10-31 xuli + + Backported from master: + 2023-10-24 xuli + + PR target/111935 + * config/riscv/riscv-vector-builtins-bases.cc: fix bug. + + 2023-10-27 liuhongt + + PR tree-optimization/111820 + PR tree-optimization/111833 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Give + up vectorization for nonlinear iv vect_step_op_mul when + step_expr is not exact_log2 and niters is greater than + TYPE_PRECISION (TREE_TYPE (step_expr)). Also don't vectorize + for nagative niters_skip which will be used by fully masked + loop. + (vect_can_advance_ivs_p): Pass whole phi_info to + vect_can_peel_nonlinear_iv_p. + * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Optimize + init_expr * pow (step_expr, skipn) to init_expr + << (log2 (step_expr) * skipn) when step_expr is exact_log2. + + 2023-10-26 Lulu Cheng + + Backported from master: + 2023-10-23 Lulu Cheng + + * config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition. + + 2023-10-26 chenxiaolong + + Backported from master: + 2023-10-25 chenxiaolong + + * config/loongarch/loongarch.md (get_thread_pointer):Adds the + instruction template corresponding to the __builtin_thread_pointer + function. + * doc/extend.texi:Add the __builtin_thread_pointer function support + description to the documentation. + + 2023-10-24 Mark Harmstone + + Backported from master: + 2023-10-24 Mark Harmstone + + * opts.cc (debug_type_names): Remove stabs and xcoff. + (df_set_names): Adjust. + + 2023-10-23 Oleg Endo + + PR target/111001 + * config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg): + Skip over nop move insns. + + 2023-10-23 Kewen Lin + + Backported from master: + 2023-10-12 Kewen Lin + + PR target/111367 + * config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed + instruction emission and incorporate to stack_protect_set. + (stack_protect_setdi): Rename to ... + (stack_protect_set): ... this, adjust constraint. + (stack_protect_testsi): Support prefixed instruction emission and + incorporate to stack_protect_test. + (stack_protect_testdi): Rename to ... + (stack_protect_test): ... this, adjust constraint. + + 2023-10-20 Oleg Endo + + PR target/101177 + * config/sh/sh.md (unnamed split pattern): Fix comparison of + find_regno_note result. + + 2023-10-18 Richard Sandiford + + Backported from master: + 2023-09-07 Richard Sandiford + + PR target/111528 + * lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary + rather than gen_rtx_PLUS. + + 2023-10-17 liuhongt + + Backported from master: + 2023-07-06 liuhongt + + PR target/110170 + * config/i386/i386.md (movdf_internal): Disparage slightly for + 2 alternatives (r,v) and (v,r) by adding constraint modifier + '?'. + + 2023-10-16 Kewen Lin + + Backported from master: + 2023-09-25 Kewen Lin + + PR target/111380 + * config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt + target_option_default_node when the callee has no option + attributes, also simplify the existing code accordingly. + + 2023-10-16 Kewen Lin + + Backported from master: + 2023-09-25 Kewen Lin + + PR target/111366 + * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip + empty inline asm. + + 2023-10-13 Andrew MacLeod + + PR tree-optimization/111622 + * value-relation.cc (equiv_oracle::add_partial_equiv): Do not + register a partial equivalence if an operand has no uses. + + 2023-10-11 Andrew MacLeod + + PR tree-optimization/111694 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Adjust + equivalence range. + * value-relation.cc (adjust_equivalence_range): New. + * value-relation.h (adjust_equivalence_range): New prototype. + + 2023-10-11 Jakub Jelinek + + Backported from master: + 2023-10-11 Richard Biener + Jakub Jelinek + + PR tree-optimization/111519 + * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): Add vuse + argument and pass it through to recursive calls and + count_nonzero_bytes_addr calls. Don't shadow the stmt argument, but + change stmt for gimple_assign_single_p statements for which we don't + immediately punt. + (strlen_pass::count_nonzero_bytes_addr): Add vuse argument and pass + it through to recursive calls and count_nonzero_bytes calls. Don't + use get_strinfo if gimple_vuse (stmt) is different from vuse. Don't + shadow the stmt argument. + + 2023-10-07 Andrew Pinski + + Backported from master: + 2023-10-06 Andrew Pinski + + PR middle-end/111699 + * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e), + (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE. + + 2023-10-02 Pat Haugen + + Backported from master: + 2023-09-19 Pat Haugen + + * config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the + modulo instruction is disabled. + * config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New. + * config/rs6000/rs6000.md (mod3, *mod3): Check it. + (define_expand umod3): New. + (define_insn umod3): Rename to *umod3 and check if the modulo + instruction is disabled. + (umodti3, modti3): Check if the modulo instruction is disabled. + + 2023-10-01 Andrew Pinski + + Backported from master: + 2023-09-10 Andrew Pinski + + PR tree-optimization/111331 + * tree-ssa-phiopt.cc (minmax_replacement): + Fix the LE/GE comparison for the + `(a CMP CST1) ? max : a` optimization. + + 2023-10-01 Andrew Pinski + + Backported from master: + 2023-09-25 Andrew Pinski + + PR tree-optimization/110386 + * gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR. + + 2023-09-29 Wilco Dijkstra + + Backported from master: + 2023-09-18 Wilco Dijkstra + + * config/aarch64/aarch64-cores.def (neoverse-n1): Place before ares. + (neoverse-v1): Place before zeus. + (neoverse-v2): Place before demeter. + * config/aarch64/aarch64-tune.md: Regenerate. + + 2023-09-29 Wilco Dijkstra + + Backported from master: + 2023-09-28 Wilco Dijkstra + + PR target/111121 + * config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander. + (movmemdi): Call aarch64_expand_cpymem_mops for correct expansion. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support + for memmove. + * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new + function. + + 2023-09-26 Eric Botcazou + + * gimple-range-gori.cc (gori_compute::logical_combine): Add missing + return statement in the varying case. + + 2023-09-26 Andrew MacLeod + + PR tree-optimization/110315 + * value-range-storage.h (vrange_allocator::alloc_irange): Adjust + new params. + * value-range.cc (irange::operator=): Resize range. + (irange::irange_union): Same. + (irange::irange_intersect): Same. + (irange::invert): Same. + * value-range.h (irange::maybe_resize): New. + (~int_range): New. + (int_range_max): Default to 3 sub-ranges and resize as needed. + (int_range::int_range): Adjust for resizing. + (int_range::operator=): Same. + + 2023-09-20 Richard Sandiford + + Backported from master: + 2023-09-15 Richard Sandiford + + PR target/111411 + * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require + the lower memory access to a mem-pair operand. + + 2023-09-20 Richard Sandiford + + Backported from master: + 2023-08-31 Richard Sandiford + + * config/aarch64/aarch64.md (untyped_call): Emit a call_value + rather than a call. List each possible destination register + in the call pattern. + + 2023-09-18 xuli + + PR target/111412 + * config/riscv/riscv-vsetvl.cc (vector_infos_manager::release): Remove. + (pass_vsetvl::refine_vsetvls): Ditto. + (pass_vsetvl::cleanup_vsetvls): Ditto. + (pass_vsetvl::propagate_avl): Ditto. + (pass_vsetvl::lazy_vsetvl): Ditto. + * config/riscv/riscv-vsetvl.h: Ditto. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p): + New function. + (aarch64_layout_frame): Use it to decide whether locals should + go above or below the saved registers. + (aarch64_expand_prologue): Update stack layout comment. + Emit a stack tie after the final adjustment. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size) + (aarch64_frame::below_hard_fp_saved_regs_size): Delete. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe) + (aarch64_frame::hard_fp_save_and_probe): New fields. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them. + Rather than asserting that a leaf function saves LR, instead assert + that a leaf function saves something. + (aarch64_get_separate_components): Prevent the chosen probe + registers from being individually shrink-wrapped. + (aarch64_allocate_and_probe_stack_space): Remove workaround for + probe registers that aren't at the bottom of the previous allocation. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): + Always probe the residual allocation at offset 1024, asserting + that that is in range. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that + the LR save slot is in the first 16 bytes of the register save area. + Only form STP/LDP push/pop candidates if both registers are valid. + (aarch64_allocate_and_probe_stack_space): Remove workaround for + when LR was not in the first 16 bytes. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): + Don't probe final allocations that are exactly 1KiB in size (after + unprobed space above the final allocation has been deducted). + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak + calculation of initial_adjust for frames in which all saves + are SVE saves. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify + the allocation of the top of the frame. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame): Add comment above + reg_offset. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets + from the bottom of the frame, rather than the bottom of the saved + register area. Measure reg_offset from the bottom of the frame + rather than the bottom of the saved register area. + (aarch64_save_callee_saves): Update accordingly. + (aarch64_restore_callee_saves): Likewise. + (aarch64_get_separate_components): Likewise. + (aarch64_process_components): Likewise. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename + to... + (aarch64_frame::bytes_above_hard_fp): ...this. + * config/aarch64/aarch64.cc (aarch64_layout_frame) + (aarch64_expand_prologue): Update accordingly. + (aarch64_initial_elimination_offset): Likewise. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to... + (aarch64_frame::bytes_above_locals): ...this. + * config/aarch64/aarch64.cc (aarch64_layout_frame) + (aarch64_initial_elimination_offset): Update accordingly. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the + calculation of chain_offset into the emit_frame_chain block. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove + callee_offset handling. + (aarch64_save_callee_saves): Replace the start_offset parameter + with a bytes_below_sp parameter. + (aarch64_restore_callee_saves): Likewise. + (aarch64_expand_prologue): Update accordingly. + (aarch64_expand_epilogue): Likewise. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New + field. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it. + (aarch64_expand_epilogue): Use it instead of + below_hard_fp_saved_regs_size. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New + field. + * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it, + and use it instead of crtl->outgoing_args_size. + (aarch64_get_separate_components): Use bytes_below_saved_regs instead + of outgoing_args_size. + (aarch64_process_components): Likewise. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly + allocate the frame in one go if there are no saved registers. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use + chain_offset rather than callee_offset. + + 2023-09-12 Richard Sandiford + + * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use + a local shorthand for cfun->machine->frame. + (aarch64_restore_callee_saves, aarch64_get_separate_components): + (aarch64_process_components): Likewise. + (aarch64_allocate_and_probe_stack_space): Likewise. + (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. + (aarch64_layout_frame): Use existing shorthand for one more case. + + 2023-09-12 Gaius Mulley + + Backported from master: + 2023-09-12 Gaius Mulley + + * doc/gm2.texi (Compiler options): Document new option + -Wcase-enum. + + 2023-09-12 Haochen Gui + + Backported from master: + 2023-08-31 Haochen Gui + + PR target/96762 + * config/rs6000/rs6000-string.cc (expand_block_move): Call vector + load/store with length only on 64-bit Power10. + + 2023-09-11 Uros Bizjak + + PR target/111340 + * config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT. + Call output_addr_const for CASE_CONST_SCALAR_INT. + + 2023-09-11 liuhongt + + Backported from master: + 2023-09-11 liuhongt + + PR target/111306 + PR target/111335 + * config/i386/sse.md (int_comm): New int_attr. + (fma__): + Remove % for Complex conjugate operations since they're not + commutative. + (fma___pair): Ditto. + (___mask): Ditto. + (cmul3): Ditto. + + 2023-09-01 Lulu Cheng + + Backported from master: + 2023-09-01 Lulu Cheng + Guo Jie + + PR target/110484 + * config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the + frame_pointer_needed to determine whether to use the $fp register. + + 2023-08-30 Jakub Jelinek + + Backported from master: + 2023-08-30 Jakub Jelinek + + PR tree-optimization/110914 + * tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call + adjust_last_stmt unless len is known constant. + + 2023-08-30 Jakub Jelinek + + Backported from master: + 2023-08-30 Jakub Jelinek + + PR tree-optimization/111015 + * gimple-ssa-store-merging.cc + (imm_store_chain_info::output_merged_store): Use wi::mask and + wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and + build_int_cst to build BIT_AND_EXPR mask. + + 2023-08-30 Dimitar Dimitrov + + PR target/109725 + * config/riscv/riscv.cc (riscv_print_operand): Calculate + memmodel only when it is valid. + + 2023-08-28 Li Xu + + * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): For vfmv.f.s/vmv.x.s + intruction replace null avl with (const_int 0). + + 2023-08-25 Hongyu Wang + + Backported from master: + 2023-08-25 Hongyu Wang + + PR target/111127 + * config/i386/sse.md (avx512f_cvtne2ps2bf16__maskz): + Adjust paramter order. + + 2023-08-24 Tobias Burnus + + Backported from master: + 2023-08-19 Tobias Burnus + + PR middle-end/111017 + * omp-expand.cc (expand_omp_for_init_vars): Pass after=true + to expand_omp_build_cond for 'factor != 0' condition, resulting + in pre-r12-5295-g47de0b56ee455e code for the gimple insert. + + 2023-08-24 Richard Biener + + Backported from master: + 2023-08-21 Richard Biener + + PR tree-optimization/111070 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have + an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + + 2023-08-24 Richard Biener + + Backported from master: + 2023-08-17 Richard Biener + + PR tree-optimization/111039 + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for + SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + + 2023-08-24 Richard Biener + + Backported from master: + 2023-08-18 Richard Biener + + PR tree-optimization/111019 + * tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing + also scrap base and offset in case the ref is indirect. + + 2023-08-24 Richard Biener + + Backported from master: + 2023-08-03 Richard Biener + + PR tree-optimization/110702 + * tree-ssa-loop-ivopts.cc (rewrite_use_address): When + we created a NULL pointer based access rewrite that to + a LEA. + + 2023-08-24 Andrew Pinski + + Backported from master: + 2023-08-24 Andrew Pinski + + PR tree-optimization/111109 + * match.pd (ior(cond,cond), ior(vec_cond,vec_cond)): + Add check to make sure cmp and icmp are inverse. + + 2023-08-24 Richard Biener + + Backported from master: + 2023-08-24 Richard Biener + + PR debug/111080 + * dwarf2out.cc (prune_unused_types_walk): Handle + DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type, + DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type + and DW_TAG_dynamic_type as to only output them when referenced. + + 2023-08-24 liuhongt + + Backported from master: + 2023-08-24 liuhongt + + * common/config/i386/i386-common.cc (processor_names): Add new + member graniterapids-s. + * config/i386/i386-options.cc (processor_alias_table): Update + PROCESSOR_GRANITERAPIDS_D. + (m_GRANITERAPID_D): New macro. + (m_CORE_AVX512): Add m_GRANITERAPIDS_D. + (processor_cost_table): Add icelake_cost for + PROCESSOR_GRANITERAPIDS_D. + * config/i386/i386.h (enum processor_type): Add new member + PROCESSOR_GRANITERAPIDS_D. + * config/i386/i386-c.cc (ix86_target_macros_internal): Handle + PROCESSOR_GRANITERAPIDS_D. + + 2023-08-24 liuhongt + + Backported from master: + 2023-08-24 liuhongt + + * config/i386/i386.cc (ix86_invalid_conversion): Adjust GCC + V13 to GCC 13.1. + + 2023-08-23 Uros Bizjak + + PR target/111010 + * config/i386/i386.md (*concat3_3): + Disable (=&r,m,m) alternative for 32-bit targets. + (*concat3_4): Ditto. + + 2023-08-22 Juzhe-Zhong + + * config/riscv/t-riscv: Add riscv-vsetvl.def + + 2023-08-22 Jakub Jelinek + + Backported from master: + 2023-08-22 Jakub Jelinek + + PR c++/106652 + * doc/extend.texi (_Float): Drop obsolete sentence that the + types aren't supported in C++. + + 2023-08-22 xuli + + * config/riscv/riscv-vsetvl.cc (extract_single_source): Fix bug. + + 2023-08-21 liuhongt + + Backported from master: + 2023-08-21 liuhongt + + * common/config/i386/cpuinfo.h (get_intel_cpu): Detect + Alderlake-N. + * common/config/i386/i386-common.cc (alias_table): Support + -march=gracemont as an alias of -march=alderlake. + + 2023-08-19 Guo Jie + + Backported from master: + 2023-08-19 Guo Jie + Lulu Cheng + + * config/loongarch/t-loongarch: Add loongarch-driver.h into + TM_H. Add loongarch-def.h and loongarch-tune.h into + OPTIONS_H_EXTRA. + + 2023-08-16 liuhongt + + Backported from master: + 2023-08-16 liuhongt + + * config/i386/i386-builtins.cc + (ix86_vectorize_builtin_gather): Adjust for use_gather_8parts. + * config/i386/i386-options.cc (parse_mtune_ctrl_str): + Set/Clear tune features use_{gather,scatter}_{2parts, 4parts, + 8parts} for -mtune-crtl={,^}{use_gather,use_scatter}. + * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust + for use_scatter_8parts + * config/i386/i386.h (TARGET_USE_GATHER): Rename to .. + (TARGET_USE_GATHER_8PARTS): .. this. + (TARGET_USE_SCATTER): Rename to .. + (TARGET_USE_SCATTER_8PARTS): .. this. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to + (X86_TUNE_USE_GATHER_8PARTS): .. this. + (X86_TUNE_USE_SCATTER): Rename to + (X86_TUNE_USE_SCATTER_8PARTS): .. this. + * config/i386/i386.opt: Add new options mgather, mscatter. + + 2023-08-16 liuhongt + + Backported from master: + 2023-08-16 liuhongt + + * config/i386/i386-options.cc (m_GDS): New macro. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't + enable for m_GDS. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER): Ditto. + + 2023-08-15 Cui, Lili + + Backported from master: + 2023-06-29 Cui, Lili + + * common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8 + from Rocketlake, and 0xbf from Alderlake. + + 2023-08-14 Cui, Lili + + * common/config/i386/cpuinfo.h (get_intel_cpu): Add model value 0xba + to Raptorlake. + + 2023-08-10 Juzhe-Zhong + + * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): + Fix incorrect anticipate info. + + 2023-08-09 liuhongt + + * common/config/i386/cpuinfo.h (get_available_features): Check + max_subleaf_level for valid subleaf before use CPUID. + + 2023-08-08 Jonathan Wakely + + Backported from master: + 2023-08-07 Jonathan Wakely + + * config/i386/i386.cc (ix86_invalid_conversion): Fix grammar. + + 2023-08-08 yulong + + * config/riscv/riscv-v.cc (slide1_sew64_helper): Modify. + + 2023-08-04 Georg-Johann Lay + + * config/avr/avr-mcus.def (avr64dd14, avr64dd20, avr64dd28, avr64dd32) + (avr64ea28, avr64ea32, avr64ea48, attiny424, attiny426, attiny427) + (attiny824, attiny826, attiny827, attiny1624, attiny1626, attiny1627) + (attiny3224, attiny3226, attiny3227, avr16dd14, avr16dd20, avr16dd28) + (avr16dd32, avr32dd14, avr32dd20, avr32dd28, avr32dd32) + (attiny102, attiny104): New devices. + * doc/avr-mmcu.texi: Regenerate. + + 2023-08-04 Georg-Johann Lay + + * config/avr/avr-mcus.def (avr128d*, avr64d*): Fix their FLASH_SIZE + and PM_OFFSET entries. + + 2023-08-01 Georg-Johann Lay + + PR target/110220 + * config/avr/avr.cc (avr_optimize_casesi): Set JUMP_LABEL and + LABEL_NUSES of new conditional branch instruction. + + 2023-08-01 Kewen Lin + + Backported from master: + 2023-07-26 Kewen Lin + + PR target/110741 + * config/rs6000/vsx.md (define_insn xxeval): Correct vsx + operands output with "x". + + 2023-07-31 Martin Liska + + PR target/109713 + * config/riscv/sync.md: Add gcc_unreachable to a switch. + + 2023-07-31 Patrick O'Neill + + * config/riscv/sync.md (atomic_load): Implement atomic + load mapping. + + 2023-07-31 Patrick O'Neill + + * config/riscv/sync.md (mem_thread_fence_1): Change fence + depending on the given memory model. + + 2023-07-31 Patrick O'Neill + + * config/riscv/riscv-protos.h (riscv_union_memmodels): Expose + riscv_union_memmodels function to sync.md. + * config/riscv/riscv.cc (riscv_union_memmodels): Add function to + get the union of two memmodels in sync.md. + (riscv_print_operand): Add %I and %J flags that output the + optimal LR/SC flag bits for a given memory model. + * config/riscv/sync.md: Remove static .aqrl bits on LR op/.rl + bits on SC op and replace with optimized %I, %J flags. + + 2023-07-31 Patrick O'Neill + + * config/riscv/riscv.cc + (riscv_memmodel_needs_amo_release): Change function name. + (riscv_print_operand): Remove unneeded %F case. + * config/riscv/sync.md: Remove unneeded fences. + + 2023-07-31 Patrick O'Neill + + PR target/89835 + * config/riscv/sync.md (atomic_store): Use simple store + instruction in combination with fence(s). + + 2023-07-31 Patrick O'Neill + + * config/riscv/riscv.cc (riscv_print_operand): Change behavior + of %A to include release bits. + + 2023-07-31 Patrick O'Neill + + * config/riscv/sync.md (atomic_cas_value_strong): Change + FENCE/LR.aq/SC.aq into sequentially consistent LR.aqrl/SC.rl + pair. + + 2023-07-31 Patrick O'Neill + + * config/riscv/sync.md: Change LR.aq/SC.rl pairs into + sequentially consistent LR.aqrl/SC.rl pairs. + + 2023-07-31 Patrick O'Neill + + * config/riscv/riscv.cc: Remove MEMMODEL_SYNC_* cases and + sanitize memmodel input with memmodel_base. + + 2023-07-31 Prathamesh Kulkarni + + Backported from master: + 2023-06-23 Prathamesh Kulkarni + + PR tree-optimization/110280 + * match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector + using build_vector_from_val with the element of input operand, and + mask's type if operand and mask's types don't match. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-18 Gaius Mulley + + * doc/gm2.texi (Semantic checking): Change example testwithptr + to testnew6. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-11 Gaius Mulley + + * doc/gm2.texi (-Wuninit-variable-checking=) New item. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-03 Gaius Mulley + + PR modula2/110125 + * doc/gm2.texi (Semantic checking): Include examples using + -Wuninit-variable-checking. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-12 Gaius Mulley + + PR modula2/109952 + * doc/gm2.texi (Standard procedures): Fix Next link. + + 2023-07-29 Di Zhao OS + + * config/aarch64/aarch64.cc: Change fma_reassoc_width for ampere1. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-05-24 Gaius Mulley + + PR modula2/109952 + * doc/gm2.texi (High procedure function): New node. + (Using): New menu entry for High procedure function. + + 2023-07-27 Jakub Jelinek + + Backported from master: + 2023-07-26 Jakub Jelinek + + PR tree-optimization/110755 + * range-op-float.cc (frange_arithmetic): Change +0 result to -0 + for PLUS_EXPR or MINUS_EXPR if -frounding-math, inf is negative and + it is exact op1 + (-op1) or op1 - op1. + + 2023-07-27 Richard Biener + + Backported from master: + 2023-07-26 Richard Biener + + PR tree-optimization/110799 + * tree-ssa-pre.cc (compute_avail): More thoroughly match + up TBAA behavior of redundant loads. + + 2023-07-27 Richard Biener + + Backported from master: + 2023-07-24 Richard Biener + + PR tree-optimization/110766 + * tree-scalar-evolution.cc + (analyze_and_compute_bitwise_induction_effect): Check the PHI + is defined in the loop header. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/DATESTAMP gcc-13.3.0/gcc/DATESTAMP *** gcc-13.2.0/gcc/DATESTAMP Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/DATESTAMP Tue May 21 07:47:37 2024 *************** *** 1 **** ! 20230727 --- 1 ---- ! 20240521 diff -Nrcpad gcc-13.2.0/gcc/ada/ChangeLog gcc-13.3.0/gcc/ada/ChangeLog *** gcc-13.2.0/gcc/ada/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/ada/ChangeLog Tue May 21 07:47:37 2024 *************** *** 1,3 **** --- 1,603 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-03-13 Marc Poulhiès + + * sem_ch13.adb (Check_Aspect_At_Freeze_Point): fix format string, + use existing local Ident. + + 2024-03-13 Marc Poulhiès + + * sem_ch13.adb (Analyze_One_Aspect): Call Record_Rep_Item. + (Check_Aspect_At_Freeze_Point): Check the aspect is specified on + non-array type only... + (Analyze_One_Aspect): ... instead of doing it too early here. + * sem_aggr.adb (Resolve_Container_Aggregate): Do nothing in case + the parameters failed to resolve. + + 2024-03-13 Marc Poulhiès + + * sem_ch13.adb (Analyze_One_Aspect): Mark Aggregate aspect as + needing delayed resolution and reject the aspect on non-array + type. + + 2024-03-07 Eric Botcazou + + PR ada/113979 + * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case, + remove call to Apply_Predicate_Check. + + 2024-02-26 Eric Botcazou + + PR ada/113893 + * exp_ch7.adb (Build_Anonymous_Master): Do not build the master + for a local designated type. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Force Needs_Fin + to false if no finalization master is attached to an access type + and assert that it is anonymous in this case. + * sem_res.adb (Resolve_Allocator): Mention that the object might + not be finalized at all in the warning given when the type is an + anonymous access-to-controlled type. + + 2024-02-03 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference): Revert older change. + + 2024-02-03 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference): Revert latest change. + + 2024-01-09 Eric Botcazou + + PR ada/112781 + * exp_ch6.ads (Is_Build_In_Place_Function): Adjust description. + * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): Delete. + (Is_Function_Call_With_BIP_Formals): New predicate. + (Is_Build_In_Place_Function_Call): Restore original semantics. + (Expand_Call_Helper): Adjust conditions guarding the calls to + Add_Dummy_Build_In_Place_Actuals to above renaming. + (Expand_N_Extended_Return_Statement): Adjust to above renaming. + (Expand_Simple_Function_Return): Likewise. Move the assertion + to after the transformation into an extended return statement. + (Make_Build_In_Place_Call_In_Allocator): Remove unreachable code. + (Make_Build_In_Place_Call_In_Assignment): Likewise. + + 2024-01-09 Javier Miranda + + * einfo-utils.adb (Underlying_Type): Protect recursion call + against non-available attribute Etype. + * einfo.ads (Protected_Subprogram): Fix typo in documentation. + * exp_ch3.adb (BIP_Function_Call_Id): New subprogram. + (Expand_N_Object_Declaration): Improve code that evaluates if the + object is initialized with a BIP function call. + * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): New + subprogram. + (Add_Task_Actuals_To_Build_In_Place_Call): Add dummy actuals if + the function does not require the BIP task actuals but it is a + dispatching operation that inherited them. + (Build_In_Place_Formal): Improve code to avoid never-ending loop + if the BIP formal is not found. + (Add_Dummy_Build_In_Place_Actuals): New subprogram. + (Expand_Call_Helper): Add calls to + Add_Dummy_Build_In_Place_Actuals. + (Expand_N_Extended_Return_Statement): Adjust assertion. + (Expand_Simple_Function_Return): Adjust assertion. + (Make_Build_In_Place_Call_In_Allocator): No action needed if the + called function inherited the BIP extra formals but it is not a + true BIP function. + (Make_Build_In_Place_Call_In_Assignment): Ditto. + * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove code + reporting unsupported case (since this patch adds support for it). + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Adding assertion + to ensure matching of BIP formals when setting the + Protected_Formal field of a protected subprogram to reference the + corresponding extra formal of the subprogram that implements it. + (Might_Need_BIP_Task_Actuals): New subprogram. + (Create_Extra_Formals): Improve code adding inherited extra + formals. + + 2024-01-09 Eric Botcazou + + PR ada/112781 + * sem_ch12.adb (Instantiate_Type): Use Etype instead of Base_Type + consistently to retrieve the ancestor for a derived type. + * sem_ch4.adb (Analyze_Explicit_Dereference): Test Is_Access_Type + consistently before accessing Designated_Type. + + 2024-01-09 Eric Botcazou + + * gcc-interface/utils2.cc (build_binary_op) : Relax + assertion for regular pointer types. + + 2023-12-20 Eric Botcazou + + * sem_ch3.adb (Analyze_Subtype_Declaration): Remove a short-circuit + for subtypes without aspects when it comes to predicates. + * sem_util.adb (Inherit_Predicate_Flags): Deal with private subtypes + whose full view is an Itype. + + 2023-12-04 Steve Baird + + * exp_attr.adb (Expand_N_Attribute_Reference): In the case of a + Reduce attribute reference, fix bugs in initializing Accum_Typ. + The previous version was incorrect in the case where E1 refers to + the first of multiple possible overload resolution candidates and + that candidate does not turn out to be the right one. The previous + version also had code to compute Accum_Typ via a different method + if the initial computation turned out to yield a universal numeric + type. Delete that initial computation and use the second method in + all cases. + + 2023-11-16 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Also create a + TYPE_DECL for the return type built for the CI/CO mechanism. + + 2023-10-10 Eric Botcazou + + PR ada/111434 + * sem_ch10.adb (Replace): New procedure to replace an entity with + another on the homonym chain. + (Install_Limited_With_Clause): Rename Non_Lim_View to Typ for the + sake of consistency. Call Replace to do the replacements and split + the code into the regular and the special cases. Add debuggging + output controlled by -gnatdi. + (Install_With_Clause): Print the Parent_With and Implicit_With flags + in the debugging output controlled by -gnatdi. + (Remove_Limited_With_Unit.Restore_Chain_For_Shadow (Shadow)): Rewrite + using a direct replacement of E4 by E2. Call Replace to do the + replacements. Add debuggging output controlled by -gnatdi. + + 2023-09-27 Eric Botcazou + + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove call + to Is_Simple_Protected_Type as redundant. + (Build_Finalizer.Process_Object_Declaration): Do not retrieve the + corresponding record type for simple protected objects. Make the + flow of control more explicit in their specific processing. + * exp_util.adb (Requires_Cleanup_Actions): Return false for simple + protected objects present in library-level package bodies for the + sake of consistency with Build_Finalizer and remove call to + Is_Simple_Protected_Type as redundant. + + 2023-09-27 Eric Botcazou + + * einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment. + * exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the + handling of finalizable return objects to the non-BIP case. + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Adjust the + comment accordingly. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + + 2023-09-27 Eric Botcazou + + * gcc-interface/utils.cc (finish_record_type): Round the size in + the padding case as well. + + 2023-09-27 Eric Botcazou + + * inline.adb (Expand_Inlined_Call): In the case of a function call + that returns an unconstrained type and initializes an object, set + the No_Initialization flag on the new declaration of the object. + + 2023-09-27 Eric Botcazou + + * exp_aggr.adb (Convert_To_Assignments): In the case of a + component association, call Is_Container_Aggregate on the parent's + parent. + (Expand_Array_Aggregate): Likewise. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Resolve_Call): When the target is an entity, do not + freeze it if the current scope is the inner wrapper function built + for an expression function with a Post or Refined_Post aspect. + + 2023-09-27 Eric Botcazou + + * exp_ch6.adb (Expand_Ctrl_Function_Call): Also do nothing for the + expression of a delta aggregate. + + 2023-09-27 Eric Botcazou + + * exp_util.adb (Initialized_By_Aliased_BIP_Func_Call): Make the name + matching more robust. + + 2023-09-27 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu): Really test Storage_Pool on + the simple return statement. + + 2023-09-27 Eric Botcazou + + * freeze.adb (Freeze_Enumeration_Type): Give an error on a type with + both representation clause and too large size. + + 2023-09-27 Eric Botcazou + + * exp_util.adb (Make_Invariant_Call): Convert the expression to + the type of the formal parameter if need be. + + 2023-09-27 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu): Restrict previous change to + the case where the simple return statement has got no storage pool. + + 2023-09-27 Eric Botcazou + + * exp_aggr.adb (Is_Two_Dim_Packed_Array): Return true only if the + component type of the array is scalar. + + 2023-09-27 Eric Botcazou + + * sem_util.ads (Wrong_Type): Add Multiple parameter defaulting to + False and document it. + * sem_util.adb (Wrong_Type): Do not return early if an error has + already been posted on Expr and Multiple is True. + * sem_ch4.adb (Analyze_One_Call): Pass All_Errors_Mode as the + actual parameter for Multiple to Wrong_Type. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): + In the case of private discriminated types, explicitly check that we + have a private declaration before examining its discriminant part. + + 2023-09-27 Eric Botcazou + + * sem_util.ads (Validated_View): Document enhanced behavior. + * sem_util.adb (Validated_View): Return the nonlimited view, if any, + of types coming from a limited with. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb (Replace_Type_References_Generic.Visible_Component): + In the case of private discriminated types, return a discriminant + only if it is listed in the discriminant part of the declaration. + + 2023-09-27 Eric Botcazou + + * sem_util.adb (Has_Inferable_Discriminants): In the case of a + component with a per-object constraint, also return true if the + enclosing object is not of an unchecked union type. + In the default case, remove a useless call to Base_Type. + + 2023-09-27 Eric Botcazou + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Add guard to the + code turning the type of the RESULT_DECL into a reference type. + (maybe_make_gnu_thunk): Use a more precise guard in the same case. + + 2023-09-27 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Restrict + the special handling of temporaries created for return values and + subject to a renaming to the top level. + + 2023-09-27 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Tweak. + + 2023-09-27 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Rewrite the logic that + determines the type used for the allocation and add assertions. + * exp_util.adb (Has_Tag_Of_Type): Also return true for extension + aggregates. + + 2023-09-27 Eric Botcazou + + * exp_ch3.adb (Make_Allocator_For_Return): Deal again specifically + with an aggregate returned through an object of a class-wide type. + + 2023-09-27 Eric Botcazou + + * sem_ch4.adb (Analyze_Call): Adjust the test to detect the presence + of an incomplete view of a type on a function call. + + 2023-09-27 Eric Botcazou + + * sem_type.adb (Disambiguate): Fix pasto in the implementation of + the RM 8.4(10) clause for operators. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb (Analyze_Aspect_Specifications): Add missing items + in the list of aspects handled by means of Insert_Pragma. + : Remove obsolete code. Do not delay the + processing of the aspect if the entity is already frozen. + + 2023-09-27 Eric Botcazou + + * contracts.adb (Contract_Error): New exception. + (Add_Contract_Item): Raise Contract_Error instead of Program_Error. + (Add_Generic_Contract_Pragma): Deal with Contract_Error. + + 2023-09-27 Eric Botcazou + + * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): For a + subprogram body that has no contracts and does not come from source, + make sure that contracts on its corresponding spec are analyzed, if + any, before expanding them. + + 2023-09-27 Eric Botcazou + + * exp_aggr.adb (Build_Array_Aggr_Code.Get_Assoc_Expr): Duplicate the + expression here instead of... + (Build_Array_Aggr_Code): ...here. + + 2023-09-27 Eric Botcazou + + * freeze.adb (Check_Large_Modular_Array): Fix head comment, use + Standard_Long_Long_Integer_Size directly and generate a reference + just before the raise statement if the Etype of the object is an + itype declared in an open scope. + + 2023-09-27 Eric Botcazou + + * exp_ch7.adb (Find_Enclosing_Transient_Scope): Return the index in + the scope table instead of the scope's entity. + (Establish_Transient_Scope): If an enclosing scope already exists, + do not set the Uses_Sec_Stack flag on it if the node to be wrapped + is a return statement which requires secondary stack management. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Resolve_Call): Restrict previous change to calls that + return on the same stack as the enclosing function. Tidy up. + + 2023-09-27 Eric Botcazou + + * exp_util.adb (Build_DIC_Procedure_Body.Add_Own_DIC): When inside + a generic unit, preanalyze the expression directly. + (Build_Invariant_Procedure_Body.Add_Own_Invariants): Likewise. + + 2023-09-27 Eric Botcazou + + * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec in + both cases to copy the spec of the subprogram. + + 2023-09-27 Eric Botcazou + + * exp_ch7.adb (Establish_Transient_Scope.Find_Transient_Context): + Bail out for a simple return statement only if the transient scope + and the function both require secondary stack management, or else + if the function is a thunk. + * sem_res.adb (Resolve_Call): Do not create a transient scope when + the call is the expression of a simple return statement. + + 2023-09-27 Eric Botcazou + + * exp_ch6.adb (Expand_Simple_Function_Return): Call Insert_Actions + consistently when rewriting the expression. + + 2023-09-27 Eric Botcazou + + * exp_util.adb (Is_Finalizable_Transient.Is_Indexed_Container): + New predicate to detect a temporary created to hold the result of + a constant indexing on a container. + (Is_Finalizable_Transient.Is_Iterated_Container): Adjust a couple + of obsolete comments. + (Is_Finalizable_Transient): Return False if Is_Indexed_Container + returns True on the object. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Has_Applicable_User_Defined_Literal): Make it clear + that the predicate also checks the node itself. + (Try_User_Defined_Literal): Move current implementation to... + Deal only with literals, named numbers and conditional expressions + whose dependent expressions are literals or named numbers. + (Try_User_Defined_Literal_For_Operator): ...this. Remove multiple + return False statements and put a single one at the end. + (Resolve): Call Try_User_Defined_Literal instead of directly + Has_Applicable_User_Defined_Literal for all nodes. Call + Try_User_Defined_Literal_For_Operator for operator nodes. + + 2023-09-27 Eric Botcazou + + * exp_ch5.adb (Expand_N_Case_Statement): Do not remove the statement + if it is the node to be wrapped by a transient scope. + + 2023-09-27 Eric Botcazou + + * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Do not defer + anything to the back-end when the main unit is generic. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Try_User_Defined_Literal): Restrict previous change + to non-leaf nodes. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Try_User_Defined_Literal): For arithmetic operators, + also accept operands whose type is covered by the resolution type. + + 2023-09-27 Eric Botcazou + + * exp_ch4.adb (Expand_N_In): Deal specifically with a null operand. + + 2023-09-27 Eric Botcazou + + * exp_ch6.adb (Expand_Simple_Function_Return): Deal with a rewriting + of the simple return during the adjustment of its expression. + + 2023-09-27 Eric Botcazou + + * exp_ch4.adb (Expand_N_Case_Expression): Distribute simple return + statements enclosing the conditional expression into the dependent + expressions in almost all cases. + (Expand_N_If_Expression): Likewise. + (Process_Transient_In_Expression): Adjust to the above distribution. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Deal with calls in the + dependent expressions of a conditional expression. + * sem_ch6.adb (Analyze_Function_Return): Deal with the rewriting of + a simple return statement during the resolution of its expression. + + 2023-09-27 Eric Botcazou + + * sem_ch4.ads (Unresolved_Operator): New procedure. + * sem_ch4.adb (Has_Possible_Literal_Aspects): Rename into... + (Has_Possible_User_Defined_Literal): ...this. Tidy up. + (Operator_Check): Accept again unresolved operators if they have a + possible user-defined literal as operand. Factor out the handling + of the general error message into... + (Unresolved_Operator): ...this new procedure. + * sem_res.adb (Resolve): Be prepared for unresolved operators on + entry in Ada 2022 or later. If they are still unresolved on exit, + call Unresolved_Operator to give the error message. + (Try_User_Defined_Literal): Tidy up. + + 2023-09-27 Eric Botcazou + + * sem_ch12.adb (Copy_Generic_Node): Test the original node kind + for the sake of consistency. For identifiers and other entity + names and operators, accept an expanded name as associated node. + Replace "or" with "or else" in condtion and fix its formatting. + + 2023-09-27 Eric Botcazou + + * sem_ch12.adb (Instantiate_Package_Body): Set the ghost mode to + that of the instance only after loading the generic's parent. + (Instantiate_Subprogram_Body): Likewise. + + 2023-09-27 Eric Botcazou + + * sem_attr.adb (Is_Thin_Pointer_To_Unc_Array): New predicate. + (Resolve_Attribute): Apply the static matching legality rule to an + Unrestricted_Access attribute applied to an aliased prefix if the + type is a thin pointer. Call Is_Thin_Pointer_To_Unc_Array for the + aliasing legality rule as well. + + 2023-09-27 Eric Botcazou + + * checks.adb (Selected_Range_Checks): Add guards to protect calls + to Expr_Value on bounds. + + 2023-09-27 Eric Botcazou + + * sem_ch3.adb (Find_Type_Of_Object): Copy the object definition when + building the subtype declaration in the case of a spec expression. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb (Build_Predicate_Functions): If the current scope + is not that of the type, push this scope and pop it at the end. + * sem_util.ads (Current_Scope_No_Loops_No_Blocks): Delete. + * sem_util.adb (Current_Scope_No_Loops_No_Blocks): Likewise. + (Set_Public_Status): Call again Current_Scope. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb (Build_Predicate_Function_Declaration): Adjust the + commentary to the current implementation. + * sem_util.ads (Current_Scope_No_Loops): Move around. + (Current_Scope_No_Loops_No_Blocks): New declaration. + (Add_Block_Identifier): Fix formatting. + * sem_util.adb (Add_Block_Identifier): Likewise. + (Current_Scope_No_Loops_No_Blocks): New function. + (Set_Public_Status): Call Current_Scope_No_Loops_No_Blocks instead + of Current_Scope to get the current scope. + + 2023-09-27 Eric Botcazou + + * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do not + manually generate a predicate check. Call Unqualify before doing + pattern matching on the expression. + * sem_ch3.adb (Analyze_Object_Declaration): Also freeze the actual + subtype when it is built in the definite case. + + 2023-09-27 Eric Botcazou + + * frontend.adb (Frontend): Merge two conditional blocks and adjust. + + 2023-09-27 Eric Botcazou + + * exp_ch7.adb (Expand_N_Package_Body): Call Defining_Entity to get + the entity of the body. + + 2023-09-27 Eric Botcazou + + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Create the body + as the expanded body of an expression function. + + 2023-09-27 Eric Botcazou + + * exp_ch3.adb (Freeze_Type): Do not associate the Finalize_Address + routine for a class-wide type if restriction No_Dispatching_Calls + is in effect. + + 2023-09-27 Eric Botcazou + + * freeze.adb (Wrap_Imported_Subprogram): Use Copy_Subprogram_Spec + to copy the spec from the subprogram to the generated subprogram + body. + (Freeze_Entity): Do not wrap imported subprograms inside generics. + + 2023-09-27 Eric Botcazou + + * exp_ch4.adb (Expand_N_Expression_With_Actions.Process_Action): Do + not look into nested blocks. + + 2023-09-27 Eric Botcazou + + * sem_ch3.adb (Find_Type_Of_Object): In a spec expression, also set + the Scope of the type, and call Constrain_Array for array subtypes. + + 2023-09-27 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference) : + Use the canonical accumulator type as the type of the accumulator + in the prefixed case. + + 2023-09-27 Eric Botcazou + + * freeze.adb (Freeze_Expression): When the freezing is to be done + outside the current scope, skip any scope that is an internal loop. + + 2023-09-27 Eric Botcazou + + * exp_imgv.adb (Rewrite_Object_Image): If the prefix is a component + that depends on a discriminant, create an actual subtype for it. + + 2023-09-27 Eric Botcazou + + * sem_ch13.adb: Add with and use clauses for Expander. + (Resolve_Aspect_Expressions) : Emulate a + bona-fide preanalysis setup before calling + Resolve_Aspect_Expression. + + 2023-09-27 Eric Botcazou + + * sem_res.adb (Has_Applicable_User_Defined_Literal): Apply the + same processing for derived untagged types as for tagged types. + * sem_util.ads (Corresponding_Primitive_Op): Adjust description. + * sem_util.adb (Corresponding_Primitive_Op): Handle untagged + types. + + 2023-09-27 Eric Botcazou + + * sem_ch7.adb (Hide_Public_Entities): Use the same condition for + subprogram bodies without specification as for those with one. + + 2023-09-27 Eric Botcazou + + * repinfo.ads (JSON output format): Document special case of + Present member of a Variant object. + * repinfo.adb (List_Structural_Record_Layout): Change the type of + Ext_Level parameter to Integer. Restrict the first recursion with + increasing levels to the fixed part and implement a second + recursion with decreasing levels for the variant part. Deal with + an extension of a type with unknown discriminants. + + 2023-09-26 Eric Botcazou + + PR ada/110488 + * sem_ch3.adb (Analyze_Object_Declaration): Do not build a default + subtype for a deferred constant in the definite case too. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/ada/checks.adb gcc-13.3.0/gcc/ada/checks.adb *** gcc-13.2.0/gcc/ada/checks.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/checks.adb Tue May 21 07:47:37 2024 *************** package body Checks is *** 10815,10820 **** --- 10815,10822 ---- if not Check_Added and then Is_Fixed_Lower_Bound_Index_Subtype (T_Typ) + and then Known_LB + and then Known_T_LB and then Expr_Value (LB) /= Expr_Value (T_LB) then Add_Check diff -Nrcpad gcc-13.2.0/gcc/ada/contracts.adb gcc-13.3.0/gcc/ada/contracts.adb *** gcc-13.2.0/gcc/ada/contracts.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/contracts.adb Tue May 21 07:47:37 2024 *************** with Warnsw; use Warnsw; *** 62,67 **** --- 62,72 ---- package body Contracts is + Contract_Error : exception; + -- This exception is raised by Add_Contract_Item when it is invoked on an + -- invalid pragma. Note that clients of the package must filter them out + -- before invoking Add_Contract_Item, so it should not escape the package. + procedure Analyze_Package_Instantiation_Contract (Inst_Id : Entity_Id); -- Analyze all delayed pragmas chained on the contract of package -- instantiation Inst_Id as if they appear at the end of a declarative *************** package body Contracts is *** 197,203 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Entry bodies, the applicable pragmas are: --- 202,208 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Entry bodies, the applicable pragmas are: *************** package body Contracts is *** 215,221 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Entry or subprogram declarations, the applicable pragmas are: --- 220,226 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Entry or subprogram declarations, the applicable pragmas are: *************** package body Contracts is *** 264,270 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Packages or instantiations, the applicable pragmas are: --- 269,275 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Packages or instantiations, the applicable pragmas are: *************** package body Contracts is *** 288,294 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Package bodies, the applicable pragmas are: --- 293,299 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Package bodies, the applicable pragmas are: *************** package body Contracts is *** 301,307 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- The four volatility refinement pragmas are ok for all types. --- 306,312 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- The four volatility refinement pragmas are ok for all types. *************** package body Contracts is *** 329,335 **** -- The pragma is not a proper contract item ! raise Program_Error; end if; end; --- 334,340 ---- -- The pragma is not a proper contract item ! raise Contract_Error; end if; end; *************** package body Contracts is *** 353,359 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Task bodies, the applicable pragmas are: --- 358,364 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Task bodies, the applicable pragmas are: *************** package body Contracts is *** 367,373 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; -- Task units, the applicable pragmas are: --- 372,378 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; -- Task units, the applicable pragmas are: *************** package body Contracts is *** 402,412 **** -- The pragma is not a proper contract item else ! raise Program_Error; end if; else ! raise Program_Error; end if; end Add_Contract_Item; --- 407,417 ---- -- The pragma is not a proper contract item else ! raise Contract_Error; end if; else ! raise Contract_Error; end if; end Add_Contract_Item; *************** package body Contracts is *** 584,589 **** --- 589,610 ---- else Set_Analyzed (Items); end if; + + -- When this is a subprogram body not coming from source, for example an + -- expression function, it does not cause freezing of previous contracts + -- (see Analyze_Subprogram_Body_Helper), in particular not of those on + -- its spec if it exists. In this case make sure they have been properly + -- analyzed before being expanded below, as we may be invoked during the + -- freezing of the subprogram in the middle of its enclosing declarative + -- part because the declarative part contains e.g. the declaration of a + -- variable initialized by means of a call to the subprogram. + + elsif Nkind (Body_Decl) = N_Subprogram_Body + and then not Comes_From_Source (Original_Node (Body_Decl)) + and then Present (Corresponding_Spec (Body_Decl)) + and then Present (Contract (Corresponding_Spec (Body_Decl))) + then + Analyze_Entry_Or_Subprogram_Contract (Corresponding_Spec (Body_Decl)); end if; -- Due to the timing of contract analysis, delayed pragmas may be *************** package body Contracts is *** 2180,2185 **** --- 2201,2212 ---- else Add_Contract_Item (Prag, Templ_Id); end if; + + exception + -- We do not stop the compilation at this point in the case of an + -- invalid pragma because it will be properly diagnosed afterward. + + when Contract_Error => null; end Add_Generic_Contract_Pragma; -- Local variables diff -Nrcpad gcc-13.2.0/gcc/ada/einfo-utils.adb gcc-13.3.0/gcc/ada/einfo-utils.adb *** gcc-13.2.0/gcc/ada/einfo-utils.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/einfo-utils.adb Tue May 21 07:47:37 2024 *************** package body Einfo.Utils is *** 3018,3024 **** -- Otherwise check for the case where we have a derived type or -- subtype, and if so get the Underlying_Type of the parent type. ! elsif Etype (Id) /= Id then return Underlying_Type (Etype (Id)); -- Otherwise we have an incomplete or private type that has no full --- 3018,3024 ---- -- Otherwise check for the case where we have a derived type or -- subtype, and if so get the Underlying_Type of the parent type. ! elsif Present (Etype (Id)) and then Etype (Id) /= Id then return Underlying_Type (Etype (Id)); -- Otherwise we have an incomplete or private type that has no full diff -Nrcpad gcc-13.2.0/gcc/ada/einfo.ads gcc-13.3.0/gcc/ada/einfo.ads *** gcc-13.2.0/gcc/ada/einfo.ads Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/einfo.ads Tue May 21 07:47:37 2024 *************** package Einfo is *** 4113,4119 **** -- Protected_Subprogram -- Defined in functions and procedures. Set for the pair of subprograms -- which emulate the runtime semantics of a protected subprogram. Denotes ! -- the entity of the origial protected subprogram. -- Protection_Object -- Applies to protected entries, entry families and subprograms. Denotes --- 4113,4119 ---- -- Protected_Subprogram -- Defined in functions and procedures. Set for the pair of subprograms -- which emulate the runtime semantics of a protected subprogram. Denotes ! -- the entity of the original protected subprogram. -- Protection_Object -- Applies to protected entries, entry families and subprograms. Denotes *************** package Einfo is *** 4519,4529 **** -- Status_Flag_Or_Transient_Decl -- Defined in constant, loop, and variable entities. Applies to objects -- that require special treatment by the finalization machinery, such as ! -- extended return results, IF and CASE expression results, and objects -- inside N_Expression_With_Actions nodes. The attribute contains the ! -- entity of a flag which specifies particular behavior over a region of ! -- code or the declaration of a "hook" object. ! -- In which case is it a flag, or a hook object??? -- Storage_Size_Variable [implementation base type only] -- Defined in access types and task type entities. This flag is set --- 4519,4529 ---- -- Status_Flag_Or_Transient_Decl -- Defined in constant, loop, and variable entities. Applies to objects -- that require special treatment by the finalization machinery, such as ! -- extended return objects, conditional expression results, and objects -- inside N_Expression_With_Actions nodes. The attribute contains the ! -- entity of a flag which specifies a particular behavior over a region ! -- of the extended return for the return objects, or the declaration of a ! -- hook object for conditional expressions and N_Expression_With_Actions. -- Storage_Size_Variable [implementation base type only] -- Defined in access types and task type entities. This flag is set diff -Nrcpad gcc-13.2.0/gcc/ada/exp_aggr.adb gcc-13.3.0/gcc/ada/exp_aggr.adb *** gcc-13.2.0/gcc/ada/exp_aggr.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_aggr.adb Tue May 21 07:47:37 2024 *************** package body Exp_Aggr is *** 328,334 **** -- N is the N_Aggregate node to be expanded. function Is_Two_Dim_Packed_Array (Typ : Entity_Id) return Boolean; ! -- For two-dimensional packed aggregates with constant bounds and constant -- components, it is preferable to pack the inner aggregates because the -- whole matrix can then be presented to the back-end as a one-dimensional -- list of literals. This is much more efficient than expanding into single --- 328,334 ---- -- N is the N_Aggregate node to be expanded. function Is_Two_Dim_Packed_Array (Typ : Entity_Id) return Boolean; ! -- For 2D packed array aggregates with constant bounds and constant scalar -- components, it is preferable to pack the inner aggregates because the -- whole matrix can then be presented to the back-end as a one-dimensional -- list of literals. This is much more efficient than expanding into single *************** package body Exp_Aggr is *** 2234,2254 **** -- Get_Assoc_Expr -- -------------------- function Get_Assoc_Expr (Assoc : Node_Id) return Node_Id is Typ : constant Entity_Id := Base_Type (Etype (N)); begin if Box_Present (Assoc) then if Present (Default_Aspect_Component_Value (Typ)) then ! return Default_Aspect_Component_Value (Typ); elsif Needs_Simple_Initialization (Ctype) then ! return Get_Simple_Init_Val (Ctype, N); else return Empty; end if; else ! return Expression (Assoc); end if; end Get_Assoc_Expr; --- 2234,2265 ---- -- Get_Assoc_Expr -- -------------------- + -- Duplicate the expression in case we will be generating several loops. + -- As a result the expression is no longer shared between the loops and + -- is reevaluated for each such loop. + function Get_Assoc_Expr (Assoc : Node_Id) return Node_Id is Typ : constant Entity_Id := Base_Type (Etype (N)); begin if Box_Present (Assoc) then if Present (Default_Aspect_Component_Value (Typ)) then ! return New_Copy_Tree (Default_Aspect_Component_Value (Typ)); elsif Needs_Simple_Initialization (Ctype) then ! return New_Copy_Tree (Get_Simple_Init_Val (Ctype, N)); else return Empty; end if; else ! -- The expression will be passed to Gen_Loop, which immediately ! -- calls Parent_Kind on it, so we set Parent when it matters. ! ! return ! Expr : constant Node_Id := New_Copy_Tree (Expression (Assoc)) ! do ! Copy_Parent (To => Expr, From => Expression (Assoc)); ! end return; end if; end Get_Assoc_Expr; *************** package body Exp_Aggr is *** 2415,2422 **** if Present (Others_Assoc) then declare ! First : Boolean := True; ! Dup_Expr : Node_Id; begin for J in 0 .. Nb_Choices loop --- 2426,2432 ---- if Present (Others_Assoc) then declare ! First : Boolean := True; begin for J in 0 .. Nb_Choices loop *************** package body Exp_Aggr is *** 2450,2472 **** end if; end if; ! if First ! or else not Empty_Range (Low, High) ! then First := False; - - -- Duplicate the expression in case we will be generating - -- several loops. As a result the expression is no longer - -- shared between the loops and is reevaluated for each - -- such loop. - - Expr := Get_Assoc_Expr (Others_Assoc); - Dup_Expr := New_Copy_Tree (Expr); - Copy_Parent (To => Dup_Expr, From => Expr); - Set_Loop_Actions (Others_Assoc, New_List); ! Append_List ! (Gen_Loop (Low, High, Dup_Expr), To => New_Code); end if; end loop; end; --- 2460,2470 ---- end if; end if; ! if First or else not Empty_Range (Low, High) then First := False; Set_Loop_Actions (Others_Assoc, New_List); ! Expr := Get_Assoc_Expr (Others_Assoc); ! Append_List (Gen_Loop (Low, High, Expr), To => New_Code); end if; end loop; end; *************** package body Exp_Aggr is *** 5020,5028 **** -- excluding container aggregates as these are transformed into -- subprogram calls later. ! (Parent_Kind in ! N_Component_Association | N_Aggregate | N_Extension_Aggregate ! and then not Is_Container_Aggregate (Parent_Node)) -- Allocator (see Convert_Aggr_In_Allocator) --- 5018,5028 ---- -- excluding container aggregates as these are transformed into -- subprogram calls later. ! (Parent_Kind = N_Component_Association ! and then not Is_Container_Aggregate (Parent (Parent_Node))) ! ! or else (Parent_Kind in N_Aggregate | N_Extension_Aggregate ! and then not Is_Container_Aggregate (Parent_Node)) -- Allocator (see Convert_Aggr_In_Allocator) *************** package body Exp_Aggr is *** 6900,6909 **** Parent_Kind := Nkind (Parent_Node); end if; ! if ((Parent_Kind = N_Component_Association ! or else Parent_Kind = N_Aggregate ! or else Parent_Kind = N_Extension_Aggregate) ! and then not Is_Container_Aggregate (Parent_Node)) or else (Parent_Kind = N_Object_Declaration and then (Needs_Finalization (Typ) or else Is_Special_Return_Object --- 6900,6909 ---- Parent_Kind := Nkind (Parent_Node); end if; ! if (Parent_Kind = N_Component_Association ! and then not Is_Container_Aggregate (Parent (Parent_Node))) ! or else (Parent_Kind in N_Aggregate | N_Extension_Aggregate ! and then not Is_Container_Aggregate (Parent_Node)) or else (Parent_Kind = N_Object_Declaration and then (Needs_Finalization (Typ) or else Is_Special_Return_Object *************** package body Exp_Aggr is *** 9219,9227 **** --- 9219,9229 ---- function Is_Two_Dim_Packed_Array (Typ : Entity_Id) return Boolean is C : constant Uint := Component_Size (Typ); + begin return Number_Dimensions (Typ) = 2 and then Is_Bit_Packed_Array (Typ) + and then Is_Scalar_Type (Component_Type (Typ)) and then C in Uint_1 | Uint_2 | Uint_4; -- False if No_Uint end Is_Two_Dim_Packed_Array; diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch3.adb gcc-13.3.0/gcc/ada/exp_ch3.adb *** gcc-13.2.0/gcc/ada/exp_ch3.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch3.adb Tue May 21 07:47:37 2024 *************** package body Exp_Ch3 is *** 2082,2089 **** Typ : constant Entity_Id := Underlying_Type (Etype (Id)); Adj_Call : Node_Id; ! Exp : Node_Id := Default; ! Kind : Node_Kind := Nkind (Default); Lhs : Node_Id; Res : List_Id; --- 2082,2089 ---- Typ : constant Entity_Id := Underlying_Type (Etype (Id)); Adj_Call : Node_Id; ! Exp : Node_Id; ! Exp_Q : Node_Id; Lhs : Node_Id; Res : List_Id; *************** package body Exp_Ch3 is *** 2094,2106 **** Selector_Name => New_Occurrence_Of (Id, Default_Loc)); Set_Assignment_OK (Lhs); ! -- Take a copy of Exp to ensure that later copies of this component -- declaration in derived types see the original tree, not a node -- rewritten during expansion of the init_proc. If the copy contains -- itypes, the scope of the new itypes is the init_proc being built. declare Map : Elist_Id := No_Elist; begin if Has_Late_Init_Comp then -- Map the type to the _Init parameter in order to --- 2094,2107 ---- Selector_Name => New_Occurrence_Of (Id, Default_Loc)); Set_Assignment_OK (Lhs); ! -- Take copy of Default to ensure that later copies of this component -- declaration in derived types see the original tree, not a node -- rewritten during expansion of the init_proc. If the copy contains -- itypes, the scope of the new itypes is the init_proc being built. declare Map : Elist_Id := No_Elist; + begin if Has_Late_Init_Comp then -- Map the type to the _Init parameter in order to *************** package body Exp_Ch3 is *** 2131,2137 **** end if; end if; ! Exp := New_Copy_Tree (Exp, New_Scope => Proc_Id, Map => Map); end; Res := New_List ( --- 2132,2138 ---- end if; end if; ! Exp := New_Copy_Tree (Default, New_Scope => Proc_Id, Map => Map); end; Res := New_List ( *************** package body Exp_Ch3 is *** 2141,2146 **** --- 2142,2149 ---- Set_No_Ctrl_Actions (First (Res)); + Exp_Q := Unqualify (Exp); + -- Adjust the tag if tagged (because of possible view conversions). -- Suppress the tag adjustment when not Tagged_Type_Expansion because -- tags are represented implicitly in objects, and when the record is *************** package body Exp_Ch3 is *** 2148,2156 **** if Is_Tagged_Type (Typ) and then Tagged_Type_Expansion ! and then Nkind (Exp) /= N_Raise_Expression ! and then (Nkind (Exp) /= N_Qualified_Expression ! or else Nkind (Expression (Exp)) /= N_Raise_Expression) then Append_To (Res, Make_Assignment_Statement (Default_Loc, --- 2151,2157 ---- if Is_Tagged_Type (Typ) and then Tagged_Type_Expansion ! and then Nkind (Exp_Q) /= N_Raise_Expression then Append_To (Res, Make_Assignment_Statement (Default_Loc, *************** package body Exp_Ch3 is *** 2173,2184 **** -- Adjust the component if controlled except if it is an aggregate -- that will be expanded inline. - if Kind = N_Qualified_Expression then - Kind := Nkind (Expression (Default)); - end if; - if Needs_Finalization (Typ) ! and then Kind not in N_Aggregate | N_Extension_Aggregate and then not Is_Build_In_Place_Function_Call (Exp) then Adj_Call := --- 2174,2181 ---- -- Adjust the component if controlled except if it is an aggregate -- that will be expanded inline. if Needs_Finalization (Typ) ! and then Nkind (Exp_Q) not in N_Aggregate | N_Extension_Aggregate and then not Is_Build_In_Place_Function_Call (Exp) then Adj_Call := *************** package body Exp_Ch3 is *** 2194,2209 **** end if; end if; - -- If a component type has a predicate, add check to the component - -- assignment. Discriminants are handled at the point of the call, - -- which provides for a better error message. - - if Comes_From_Source (Exp) - and then Predicate_Enabled (Typ) - then - Append (Make_Predicate_Check (Typ, Exp), Res); - end if; - return Res; exception --- 2191,2196 ---- *************** package body Exp_Ch3 is *** 6284,6289 **** --- 6271,6281 ---- -- temporary. Func_Id is the enclosing function. Ret_Typ is the return -- type of Func_Id. Alloc_Expr is the actual allocator. + function BIP_Function_Call_Id return Entity_Id; + -- If the object initialization expression is a call to a build-in-place + -- function, return the id of the called function; otherwise return + -- Empty. + procedure Count_Default_Sized_Task_Stacks (Typ : Entity_Id; Pri_Stacks : out Int; *************** package body Exp_Ch3 is *** 6620,6625 **** --- 6612,6678 ---- end if; end Build_Heap_Or_Pool_Allocator; + -------------------------- + -- BIP_Function_Call_Id -- + -------------------------- + + function BIP_Function_Call_Id return Entity_Id is + + function Func_Call_Id (Function_Call : Node_Id) return Entity_Id; + -- Return the id of the called function. + + function Func_Call_Id (Function_Call : Node_Id) return Entity_Id is + Call_Node : constant Node_Id := Unqual_Conv (Function_Call); + + begin + if Is_Entity_Name (Name (Call_Node)) then + return Entity (Name (Call_Node)); + + elsif Nkind (Name (Call_Node)) = N_Explicit_Dereference then + return Etype (Name (Call_Node)); + + else + pragma Assert (Nkind (Name (Call_Node)) = N_Selected_Component); + return Etype (Entity (Selector_Name (Name (Call_Node)))); + end if; + end Func_Call_Id; + + -- Local declarations + + BIP_Func_Call : Node_Id; + Expr_Q : constant Node_Id := Unqual_Conv (Expr); + + -- Start of processing for BIP_Function_Call_Id + + begin + if Is_Build_In_Place_Function_Call (Expr_Q) then + return Func_Call_Id (Expr_Q); + end if; + + BIP_Func_Call := Unqual_BIP_Iface_Function_Call (Expr_Q); + + if Present (BIP_Func_Call) then + + -- In the case of an explicitly dereferenced call, return the + -- subprogram type. + + if Nkind (Name (BIP_Func_Call)) = N_Explicit_Dereference then + return Etype (Name (BIP_Func_Call)); + else + pragma Assert (Is_Entity_Name (Name (BIP_Func_Call))); + return Entity (Name (BIP_Func_Call)); + end if; + + elsif Nkind (Expr_Q) = N_Reference + and then Is_Build_In_Place_Function_Call (Prefix (Expr_Q)) + then + return Func_Call_Id (Prefix (Expr_Q)); + + else + return Empty; + end if; + end BIP_Function_Call_Id; + ------------------------------------- -- Count_Default_Sized_Task_Stacks -- ------------------------------------- *************** package body Exp_Ch3 is *** 7154,7161 **** --- 7207,7270 ---- function Make_Allocator_For_Return (Expr : Node_Id) return Node_Id is Alloc : Node_Id; Alloc_Expr : Entity_Id; + Alloc_Typ : Entity_Id; begin + -- If the return object's declaration does not include an expression, + -- then we use its subtype for the allocation. Likewise in the case + -- of a degenerate expression like a raise expression. + + if No (Expr) + or else Nkind (Original_Node (Expr)) = N_Raise_Expression + then + Alloc_Typ := Typ; + + -- If the return object's declaration includes an expression, then + -- there are two cases: either the nominal subtype of the object is + -- definite and we can use it for the allocation directly, or it is + -- not and Analyze_Object_Declaration should have built an actual + -- subtype from the expression. + + -- However, there are exceptions in the latter case for interfaces + -- (see Analyze_Object_Declaration), as well as class-wide types and + -- types with unknown discriminants if they are additionally limited + -- (see Expand_Subtype_From_Expr), so we must cope with them. + + elsif Is_Interface (Typ) then + pragma Assert (Is_Class_Wide_Type (Typ)); + + -- For interfaces, we use the type of the expression, except if + -- we need to put back a conversion that we have removed earlier + -- in the processing. + + if Is_Class_Wide_Type (Etype (Expr)) then + Alloc_Typ := Typ; + else + Alloc_Typ := Etype (Expr); + end if; + + elsif Is_Class_Wide_Type (Typ) then + + -- For class-wide types, we have to make sure that we use the + -- dynamic type of the expression for the allocation, either by + -- means of its (static) subtype or through the actual subtype. + + if Has_Tag_Of_Type (Expr) then + Alloc_Typ := Etype (Expr); + + else pragma Assert (Ekind (Typ) = E_Class_Wide_Subtype + and then Present (Equivalent_Type (Typ))); + + Alloc_Typ := Typ; + end if; + + else pragma Assert (Is_Definite_Subtype (Typ) + or else (Has_Unknown_Discriminants (Typ) + and then Is_Limited_View (Typ))); + + Alloc_Typ := Typ; + end if; + -- If the return object's declaration includes an expression and the -- declaration isn't marked as No_Initialization, then we generate an -- allocator with a qualified expression. Although this is necessary *************** package body Exp_Ch3 is *** 7181,7215 **** Alloc_Expr := New_Copy_Tree (Expr); ! -- In the constrained array case, deal with a potential sliding. ! -- In the interface case, put back a conversion that we may have ! -- removed earlier in the processing. ! ! if (Ekind (Typ) = E_Array_Subtype ! or else (Is_Interface (Typ) ! and then Is_Class_Wide_Type (Etype (Alloc_Expr)))) ! and then Typ /= Etype (Alloc_Expr) ! then ! Alloc_Expr := Convert_To (Typ, Alloc_Expr); end if; - -- We always use the type of the expression for the qualified - -- expression, rather than the return object's type. We cannot - -- always use the return object's type because the expression - -- might be of a specific type and the return object mignt not. - Alloc := Make_Allocator (Loc, Expression => Make_Qualified_Expression (Loc, Subtype_Mark => ! New_Occurrence_Of (Etype (Alloc_Expr), Loc), Expression => Alloc_Expr)); else Alloc := Make_Allocator (Loc, ! Expression => New_Occurrence_Of (Typ, Loc)); -- If the return object requires default initialization, then it -- will happen later following the elaboration of the renaming. --- 7290,7311 ---- Alloc_Expr := New_Copy_Tree (Expr); ! if Etype (Alloc_Expr) /= Alloc_Typ then ! Alloc_Expr := Convert_To (Alloc_Typ, Alloc_Expr); end if; Alloc := Make_Allocator (Loc, Expression => Make_Qualified_Expression (Loc, Subtype_Mark => ! New_Occurrence_Of (Alloc_Typ, Loc), Expression => Alloc_Expr)); else Alloc := Make_Allocator (Loc, ! Expression => New_Occurrence_Of (Alloc_Typ, Loc)); -- If the return object requires default initialization, then it -- will happen later following the elaboration of the renaming. *************** package body Exp_Ch3 is *** 7251,7256 **** --- 7347,7355 ---- -- which case the init proc call must be inserted only after the bodies -- of the shared variable procedures have been seen. + Has_BIP_Init_Expr : Boolean := False; + -- Whether the object is initialized with a BIP function call + Rewrite_As_Renaming : Boolean := False; -- Whether to turn the declaration into a renaming at the end *************** package body Exp_Ch3 is *** 7291,7302 **** Init_After := Make_Shared_Var_Procs (N); end if; -- If tasks are being declared, make sure we have an activation chain -- defined for the tasks (has no effect if we already have one), and -- also that a Master variable is established (and that the appropriate -- enclosing construct is established as a task master). ! if Has_Task (Typ) or else Might_Have_Tasks (Typ) then Build_Activation_Chain_Entity (N); if Has_Task (Typ) then --- 7390,7418 ---- Init_After := Make_Shared_Var_Procs (N); end if; + -- Determine whether the object is initialized with a BIP function call + + if Present (Expr) then + Expr_Q := Unqualify (Expr); + + Has_BIP_Init_Expr := + Is_Build_In_Place_Function_Call (Expr_Q) + or else Present (Unqual_BIP_Iface_Function_Call (Expr_Q)) + or else (Nkind (Expr_Q) = N_Reference + and then + Is_Build_In_Place_Function_Call (Prefix (Expr_Q))); + end if; + -- If tasks are being declared, make sure we have an activation chain -- defined for the tasks (has no effect if we already have one), and -- also that a Master variable is established (and that the appropriate -- enclosing construct is established as a task master). ! if Has_Task (Typ) ! or else Might_Have_Tasks (Typ) ! or else (Has_BIP_Init_Expr ! and then Needs_BIP_Task_Actuals (BIP_Function_Call_Id)) ! then Build_Activation_Chain_Entity (N); if Has_Task (Typ) then *************** package body Exp_Ch3 is *** 7304,7320 **** -- Handle objects initialized with BIP function calls ! elsif Present (Expr) then ! Expr_Q := Unqualify (Expr); ! ! if Is_Build_In_Place_Function_Call (Expr_Q) ! or else Present (Unqual_BIP_Iface_Function_Call (Expr_Q)) ! or else (Nkind (Expr_Q) = N_Reference ! and then ! Is_Build_In_Place_Function_Call (Prefix (Expr_Q))) ! then ! Build_Master_Entity (Def_Id); ! end if; end if; end if; --- 7420,7427 ---- -- Handle objects initialized with BIP function calls ! elsif Has_BIP_Init_Expr then ! Build_Master_Entity (Def_Id); end if; end if; *************** package body Exp_Ch3 is *** 9251,9259 **** -- this is indeed the case, associate the Finalize_Address routine -- of the full view with the finalization masters of all pending -- access types. This scenario applies to anonymous access types as ! -- well. elsif Needs_Finalization (Typ) and then Present (Pending_Access_Types (Typ)) then E := First_Elmt (Pending_Access_Types (Typ)); --- 9358,9370 ---- -- this is indeed the case, associate the Finalize_Address routine -- of the full view with the finalization masters of all pending -- access types. This scenario applies to anonymous access types as ! -- well. But the Finalize_Address routine is missing if the type is ! -- class-wide and we are under restriction No_Dispatching_Calls, see ! -- Expand_Freeze_Class_Wide_Type above for the rationale. elsif Needs_Finalization (Typ) + and then (not Is_Class_Wide_Type (Typ) + or else not Restriction_Active (No_Dispatching_Calls)) and then Present (Pending_Access_Types (Typ)) then E := First_Elmt (Pending_Access_Types (Typ)); *************** package body Exp_Ch3 is *** 11105,11113 **** Null_Record_Present => True); -- GNATprove will use expression of an expression function as an ! -- implicit postcondition. GNAT will not benefit from expression ! -- function (and would struggle if we add an expression function ! -- to freezing actions). if GNATprove_Mode then Func_Body := --- 11216,11225 ---- Null_Record_Present => True); -- GNATprove will use expression of an expression function as an ! -- implicit postcondition. GNAT will also benefit from expression ! -- function to avoid premature freezing, but would struggle if we ! -- added an expression function to freezing actions, so we create ! -- the expanded form directly. if GNATprove_Mode then Func_Body := *************** package body Exp_Ch3 is *** 11126,11131 **** --- 11238,11244 ---- Statements => New_List ( Make_Simple_Return_Statement (Loc, Expression => Ext_Aggr)))); + Set_Was_Expression_Function (Func_Body); end if; Append_To (Body_List, Func_Body); diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch4.adb gcc-13.3.0/gcc/ada/exp_ch4.adb *** gcc-13.2.0/gcc/ada/exp_ch4.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch4.adb Tue May 21 07:47:37 2024 *************** package body Exp_Ch4 is *** 4785,4792 **** if Is_Array_Type (Dtyp) and then not No_Initialization (N) then Apply_Constraint_Check (Expression (N), Dtyp, No_Sliding => True); - Apply_Predicate_Check (Expression (N), Dtyp); - if Nkind (Expression (N)) = N_Raise_Constraint_Error then Rewrite (N, New_Copy (Expression (N))); Set_Etype (N, PtrT); --- 4785,4790 ---- *************** package body Exp_Ch4 is *** 5380,5396 **** -- when minimizing expressions with actions (e.g. when generating C -- code) since it allows us to do the optimization below in more cases. - -- Small optimization: when the case expression appears in the context - -- of a simple return statement, expand into - - -- case X is - -- when A => - -- return AX; - -- when B => - -- return BX; - -- ... - -- end case; - Case_Stmt := Make_Case_Statement (Loc, Expression => Expression (N), --- 5378,5383 ---- *************** package body Exp_Ch4 is *** 5404,5420 **** Set_From_Conditional_Expression (Case_Stmt); Acts := New_List; -- Scalar/Copy case if Is_Copy_Type (Typ) then Target_Typ := Typ; - -- Do not perform the optimization when the return statement is - -- within a predicate function, as this causes spurious errors. - - Optimize_Return_Stmt := - Nkind (Par) = N_Simple_Return_Statement and then not In_Predicate; - -- Otherwise create an access type to handle the general case using -- 'Unrestricted_Access. --- 5391,5419 ---- Set_From_Conditional_Expression (Case_Stmt); Acts := New_List; + -- Small optimization: when the case expression appears in the context + -- of a simple return statement, expand into + + -- case X is + -- when A => + -- return AX; + -- when B => + -- return BX; + -- ... + -- end case; + + -- This makes the expansion much easier when expressions are calls to + -- a BIP function. But do not perform it when the return statement is + -- within a predicate function, as this causes spurious errors. + + Optimize_Return_Stmt := + Nkind (Par) = N_Simple_Return_Statement and then not In_Predicate; + -- Scalar/Copy case if Is_Copy_Type (Typ) then Target_Typ := Typ; -- Otherwise create an access type to handle the general case using -- 'Unrestricted_Access. *************** package body Exp_Ch4 is *** 5478,5493 **** -- limited and unconstrained cases. -- Generate: - -- AX'Unrestricted_Access - - if not Is_Copy_Type (Typ) then - Alt_Expr := - Make_Attribute_Reference (Alt_Loc, - Prefix => Relocate_Node (Alt_Expr), - Attribute_Name => Name_Unrestricted_Access); - end if; - - -- Generate: -- return AX['Unrestricted_Access]; if Optimize_Return_Stmt then --- 5477,5482 ---- *************** package body Exp_Ch4 is *** 5499,5504 **** --- 5488,5500 ---- -- Target := AX['Unrestricted_Access]; else + if not Is_Copy_Type (Typ) then + Alt_Expr := + Make_Attribute_Reference (Alt_Loc, + Prefix => Relocate_Node (Alt_Expr), + Attribute_Name => Name_Unrestricted_Access); + end if; + LHS := New_Occurrence_Of (Target, Loc); Set_Assignment_OK (LHS); *************** package body Exp_Ch4 is *** 5651,5664 **** return Skip; -- Avoid processing temporary function results multiple times when ! -- dealing with nested expression_with_actions. -- Similarly, do not process temporary function results in loops. -- This is done by Expand_N_Loop_Statement and Build_Finalizer. -- Note that we used to wrongly return Abandon instead of Skip here: -- this is wrong since it means that we were ignoring lots of -- relevant subsequent statements. ! elsif Nkind (Act) in N_Expression_With_Actions | N_Loop_Statement then return Skip; end if; --- 5647,5663 ---- return Skip; -- Avoid processing temporary function results multiple times when ! -- dealing with nested expression_with_actions or nested blocks. -- Similarly, do not process temporary function results in loops. -- This is done by Expand_N_Loop_Statement and Build_Finalizer. -- Note that we used to wrongly return Abandon instead of Skip here: -- this is wrong since it means that we were ignoring lots of -- relevant subsequent statements. ! elsif Nkind (Act) in N_Expression_With_Actions ! | N_Block_Statement ! | N_Loop_Statement ! then return Skip; end if; *************** package body Exp_Ch4 is *** 5760,5765 **** --- 5759,5765 ---- Loc : constant Source_Ptr := Sloc (N); Thenx : constant Node_Id := Next (Cond); Elsex : constant Node_Id := Next (Thenx); + Par : constant Node_Id := Parent (N); Typ : constant Entity_Id := Etype (N); Force_Expand : constant Boolean := Is_Anonymous_Access_Actual (N); *************** package body Exp_Ch4 is *** 5792,5797 **** --- 5792,5801 ---- UI_Max (Hi1, Hi2) - UI_Min (Lo1, Lo2) < Too_Large_Length_For_Array; end OK_For_Single_Subtype; + Optimize_Return_Stmt : Boolean := False; + -- Flag set when the if expression can be optimized in the context of + -- a simple return statement. + -- Local variables Actions : List_Id; *************** package body Exp_Ch4 is *** 5883,5888 **** --- 5887,5936 ---- end; end if; + -- Small optimization: when the if expression appears in the context of + -- a simple return statement, expand into + + -- if cond then + -- return then-expr + -- else + -- return else-expr; + -- end if; + + -- This makes the expansion much easier when expressions are calls to + -- a BIP function. But do not perform it when the return statement is + -- within a predicate function, as this causes spurious errors. + + Optimize_Return_Stmt := + Nkind (Par) = N_Simple_Return_Statement + and then not (Ekind (Current_Scope) in E_Function | E_Procedure + and then Is_Predicate_Function (Current_Scope)); + + if Optimize_Return_Stmt then + -- When the "then" or "else" expressions involve controlled function + -- calls, generated temporaries are chained on the corresponding list + -- of actions. These temporaries need to be finalized after the if + -- expression is evaluated. + + Process_If_Case_Statements (N, Then_Actions (N)); + Process_If_Case_Statements (N, Else_Actions (N)); + + New_If := + Make_Implicit_If_Statement (N, + Condition => Relocate_Node (Cond), + Then_Statements => New_List ( + Make_Simple_Return_Statement (Sloc (Thenx), + Expression => Relocate_Node (Thenx))), + Else_Statements => New_List ( + Make_Simple_Return_Statement (Sloc (Elsex), + Expression => Relocate_Node (Elsex)))); + + -- Preserve the original context for which the if statement is + -- being generated. This is needed by the finalization machinery + -- to prevent the premature finalization of controlled objects + -- found within the if statement. + + Set_From_Conditional_Expression (New_If); + -- If the type is limited, and the back end does not handle limited -- types, then we expand as follows to avoid the possibility of -- improper copying. *************** package body Exp_Ch4 is *** 5902,5908 **** -- This special case can be skipped if the back end handles limited -- types properly and ensures that no incorrect copies are made. ! if Is_By_Reference_Type (Typ) and then not Back_End_Handles_Limited_Types then -- When the "then" or "else" expressions involve controlled function --- 5950,5956 ---- -- This special case can be skipped if the back end handles limited -- types properly and ensures that no incorrect copies are made. ! elsif Is_By_Reference_Type (Typ) and then not Back_End_Handles_Limited_Types then -- When the "then" or "else" expressions involve controlled function *************** package body Exp_Ch4 is *** 6224,6232 **** -- Note that the test for being in an object declaration avoids doing an -- unnecessary expansion, and also avoids infinite recursion. ! elsif Is_Array_Type (Typ) and then not Is_Constrained (Typ) ! and then (Nkind (Parent (N)) /= N_Object_Declaration ! or else Expression (Parent (N)) /= N) then declare Cnn : constant Node_Id := Make_Temporary (Loc, 'C', N); --- 6272,6281 ---- -- Note that the test for being in an object declaration avoids doing an -- unnecessary expansion, and also avoids infinite recursion. ! elsif Is_Array_Type (Typ) ! and then not Is_Constrained (Typ) ! and then not (Nkind (Par) = N_Object_Declaration ! and then Expression (Par) = N) then declare Cnn : constant Node_Id := Make_Temporary (Loc, 'C', N); *************** package body Exp_Ch4 is *** 6389,6402 **** -- in order to make sure that no branch is shared between the decisions. elsif Opt.Suppress_Control_Flow_Optimizations ! and then Nkind (Original_Node (Parent (N))) in N_Case_Expression ! | N_Case_Statement ! | N_If_Expression ! | N_If_Statement ! | N_Goto_When_Statement ! | N_Loop_Statement ! | N_Return_When_Statement ! | N_Short_Circuit then declare Cnn : constant Entity_Id := Make_Temporary (Loc, 'C'); --- 6438,6451 ---- -- in order to make sure that no branch is shared between the decisions. elsif Opt.Suppress_Control_Flow_Optimizations ! and then Nkind (Original_Node (Par)) in N_Case_Expression ! | N_Case_Statement ! | N_If_Expression ! | N_If_Statement ! | N_Goto_When_Statement ! | N_Loop_Statement ! | N_Return_When_Statement ! | N_Short_Circuit then declare Cnn : constant Entity_Id := Make_Temporary (Loc, 'C'); *************** package body Exp_Ch4 is *** 6437,6456 **** -- change it to the SLOC of the expression which, after expansion, will -- correspond to what is being evaluated. ! if Present (Parent (N)) and then Nkind (Parent (N)) = N_If_Statement then ! Set_Sloc (New_If, Sloc (Parent (N))); ! Set_Sloc (Parent (N), Loc); end if; -- Move Then_Actions and Else_Actions, if any, to the new if statement ! Insert_List_Before (First (Then_Statements (New_If)), Then_Actions (N)); ! Insert_List_Before (First (Else_Statements (New_If)), Else_Actions (N)); ! Insert_Action (N, Decl); ! Insert_Action (N, New_If); ! Rewrite (N, New_N); ! Analyze_And_Resolve (N, Typ); end Expand_N_If_Expression; ----------------- --- 6486,6520 ---- -- change it to the SLOC of the expression which, after expansion, will -- correspond to what is being evaluated. ! if Present (Par) and then Nkind (Par) = N_If_Statement then ! Set_Sloc (New_If, Sloc (Par)); ! Set_Sloc (Par, Loc); end if; -- Move Then_Actions and Else_Actions, if any, to the new if statement ! if Present (Then_Actions (N)) then ! Prepend_List (Then_Actions (N), Then_Statements (New_If)); ! end if; ! if Present (Else_Actions (N)) then ! Prepend_List (Else_Actions (N), Else_Statements (New_If)); ! end if; ! ! -- Rewrite the parent return statement as an if statement ! ! if Optimize_Return_Stmt then ! Rewrite (Par, New_If); ! Analyze (Par); ! ! -- Otherwise rewrite the if expression itself ! ! else ! Insert_Action (N, Decl); ! Insert_Action (N, New_If); ! Rewrite (N, New_N); ! Analyze_And_Resolve (N, Typ); ! end if; end Expand_N_If_Expression; ----------------- *************** package body Exp_Ch4 is *** 6898,6908 **** -- If the null exclusion checks are not compatible, need to -- perform further checks. In other words, we cannot have ! -- Ltyp including null and Typ excluding null. All other cases ! -- are OK. Check_Null_Exclusion := ! Can_Never_Be_Null (Typ) and then not Can_Never_Be_Null (Ltyp); Typ := Designated_Type (Typ); end if; --- 6962,6974 ---- -- If the null exclusion checks are not compatible, need to -- perform further checks. In other words, we cannot have ! -- Ltyp including null or Lop being null, and Typ excluding ! -- null. All other cases are OK. Check_Null_Exclusion := ! Can_Never_Be_Null (Typ) ! and then (not Can_Never_Be_Null (Ltyp) ! or else Nkind (Lop) = N_Null); Typ := Designated_Type (Typ); end if; *************** package body Exp_Ch4 is *** 15136,15147 **** -- -- in Result end; ! -- As a result, the finalization of any transient objects can safely ! -- take place after the result capture. -- ??? could this be extended to elementary types? ! if Is_Boolean_Type (Etype (Expr)) then Fin_Context := Last (Stmts); -- Otherwise the immediate context may not be safe enough to carry --- 15202,15219 ---- -- -- in Result end; ! -- As a result, the finalization of any transient objects can take place ! -- just after the result is captured, except for the case of conditional ! -- expressions in a simple return statement because the return statement ! -- will be distributed into the conditional expressions (see the special ! -- handling of simple return statements a few lines below). -- ??? could this be extended to elementary types? ! if Is_Boolean_Type (Etype (Expr)) ! and then (Nkind (Expr) = N_Expression_With_Actions ! or else Nkind (Parent (Expr)) /= N_Simple_Return_Statement) ! then Fin_Context := Last (Stmts); -- Otherwise the immediate context may not be safe enough to carry diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch5.adb gcc-13.3.0/gcc/ada/exp_ch5.adb *** gcc-13.2.0/gcc/ada/exp_ch5.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch5.adb Tue May 21 07:47:37 2024 *************** package body Exp_Ch5 is *** 4079,4089 **** -- If there is only a single alternative, just replace it with the -- sequence of statements since obviously that is what is going to ! -- be executed in all cases. Len := List_Length (Alternatives (N)); ! if Len = 1 then -- We still need to evaluate the expression if it has any side -- effects. --- 4079,4093 ---- -- If there is only a single alternative, just replace it with the -- sequence of statements since obviously that is what is going to ! -- be executed in all cases, except if it is the node to be wrapped ! -- by a transient scope, because this would cause the sequence of ! -- statements to be leaked out of the transient scope. Len := List_Length (Alternatives (N)); ! if Len = 1 ! and then not (Scope_Is_Transient and then Node_To_Be_Wrapped = N) ! then -- We still need to evaluate the expression if it has any side -- effects. diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch6.adb gcc-13.3.0/gcc/ada/exp_ch6.adb *** gcc-13.2.0/gcc/ada/exp_ch6.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch6.adb Tue May 21 07:47:37 2024 *************** package body Exp_Ch6 is *** 310,315 **** --- 310,337 ---- -- Insert the Post_Call list previously produced by routine Expand_Actuals -- or Expand_Call_Helper into the tree. + function Is_Function_Call_With_BIP_Formals (N : Node_Id) return Boolean; + -- Ada 2005 (AI-318-02): Returns True if N denotes a call to a function + -- that requires handling as a build-in-place call, that is, BIP function + -- calls and calls to functions with inherited BIP formals. For example: + -- + -- type Iface is limited interface; + -- function Get_Object return Iface; + -- -- This function has BIP extra formals + -- + -- type Root1 is limited tagged record ... + -- type T1 is new Root1 and Iface with ... + -- function Get_Object return T1; + -- -- This primitive requires the BIP formals, and the evaluation of + -- -- Is_Build_In_Place_Function_Call returns True. + -- + -- type Root2 is tagged record ... + -- type T2 is new Root2 and Iface with ... + -- function Get_Object return T2; + -- -- This primitive inherits the BIP formals of the interface primitive + -- -- but, given that T2 is not a limited type, it does not require such + -- -- formals; therefore Is_Build_In_Place_Function_Call returns False. + procedure Replace_Renaming_Declaration_Id (New_Decl : Node_Id; Orig_Decl : Node_Id); *************** package body Exp_Ch6 is *** 479,484 **** --- 501,508 ---- Desig_Typ : Entity_Id; begin + pragma Assert (Present (Formal)); + -- If there is a finalization master actual, such as the implicit -- finalization master of an enclosing build-in-place function, -- then this must be added as an extra actual of the call. *************** package body Exp_Ch6 is *** 619,624 **** --- 643,669 ---- -- No such extra parameters are needed if there are no tasks if not Needs_BIP_Task_Actuals (Function_Id) then + + -- However we must add dummy extra actuals if the function is + -- a dispatching operation that inherited these extra formals. + + if Is_Dispatching_Operation (Function_Id) + and then Has_BIP_Extra_Formal (Function_Id, BIP_Task_Master) + then + Master_Formal := + Build_In_Place_Formal (Function_Id, BIP_Task_Master); + Actual := Make_Integer_Literal (Loc, Uint_0); + Analyze_And_Resolve (Actual, Etype (Master_Formal)); + Add_Extra_Actual_To_Call (Function_Call, Master_Formal, Actual); + + Chain_Formal := + Build_In_Place_Formal (Function_Id, BIP_Activation_Chain); + Chain_Actual := Make_Null (Loc); + Analyze_And_Resolve (Chain_Actual, Etype (Chain_Formal)); + Add_Extra_Actual_To_Call + (Function_Call, Chain_Formal, Chain_Actual); + end if; + return; end if; *************** package body Exp_Ch6 is *** 892,899 **** -- the Alias of an instance, which will cause the formals to have -- "incorrect" names. ! loop ! pragma Assert (Present (Extra_Formal)); declare Name : constant String := Get_Name_String (Chars (Extra_Formal)); begin --- 937,943 ---- -- the Alias of an instance, which will cause the formals to have -- "incorrect" names. ! while Present (Extra_Formal) loop declare Name : constant String := Get_Name_String (Chars (Extra_Formal)); begin *************** package body Exp_Ch6 is *** 905,910 **** --- 949,958 ---- Next_Formal_With_Extras (Extra_Formal); end loop; + if No (Extra_Formal) then + raise Program_Error; + end if; + return Extra_Formal; end Build_In_Place_Formal; *************** package body Exp_Ch6 is *** 2874,2879 **** --- 2922,2934 ---- -- actuals and must be handled in a recursive fashion since they can -- be embedded within each other. + procedure Add_Dummy_Build_In_Place_Actuals + (Function_Id : Entity_Id; + Num_Added_Extra_Actuals : Nat := 0); + -- Adds dummy actuals for the BIP extra formals of the called function. + -- Num_Added_Extra_Actuals is the number of non-BIP extra actuals added + -- to the actuals immediately before calling this subprogram. + procedure Add_Extra_Actual (Expr : Node_Id; EF : Entity_Id); -- Adds an extra actual to the list of extra actuals. Expr is the -- expression for the value of the actual, EF is the entity for the *************** package body Exp_Ch6 is *** 3132,3137 **** --- 3187,3269 ---- EF => Extra_Accessibility (Formal)); end Add_Cond_Expression_Extra_Actual; + -------------------------------------- + -- Add_Dummy_Build_In_Place_Actuals -- + -------------------------------------- + + procedure Add_Dummy_Build_In_Place_Actuals + (Function_Id : Entity_Id; + Num_Added_Extra_Actuals : Nat := 0) + is + Loc : constant Source_Ptr := Sloc (Call_Node); + Formal : Entity_Id := Extra_Formals (Function_Id); + Actual : Node_Id; + Skip_Extra : Nat; + + begin + -- We never generate extra formals if expansion is not active because + -- we don't need them unless we are generating code. No action needed + -- for thunks since they propagate all their extra actuals. + + if not Expander_Active + or else Is_Thunk (Current_Scope) + then + return; + end if; + + -- Skip already-added non-BIP extra actuals + + Skip_Extra := Num_Added_Extra_Actuals; + while Skip_Extra > 0 loop + pragma Assert (not Is_Build_In_Place_Entity (Formal)); + Formal := Extra_Formal (Formal); + Skip_Extra := Skip_Extra - 1; + end loop; + + -- Append the dummy BIP extra actuals + + while Present (Formal) loop + pragma Assert (Is_Build_In_Place_Entity (Formal)); + + -- BIPalloc + + if Etype (Formal) = Standard_Natural then + Actual := Make_Integer_Literal (Loc, Uint_0); + Analyze_And_Resolve (Actual, Standard_Natural); + Add_Extra_Actual_To_Call (N, Formal, Actual); + + -- BIPtaskmaster + + elsif Etype (Formal) = Standard_Integer then + Actual := Make_Integer_Literal (Loc, Uint_0); + Analyze_And_Resolve (Actual, Standard_Integer); + Add_Extra_Actual_To_Call (N, Formal, Actual); + + -- BIPstoragepool, BIPfinalizationmaster, BIPactivationchain, + -- and BIPaccess. + + elsif Is_Access_Type (Etype (Formal)) then + Actual := Make_Null (Loc); + Analyze_And_Resolve (Actual, Etype (Formal)); + Add_Extra_Actual_To_Call (N, Formal, Actual); + + else + pragma Assert (False); + raise Program_Error; + end if; + + Formal := Extra_Formal (Formal); + end loop; + + -- Mark the call as processed build-in-place call; required + -- to avoid adding the extra formals twice. + + Set_Is_Expanded_Build_In_Place_Call (Call_Node); + + pragma Assert (Check_Number_Of_Actuals (Call_Node, Function_Id)); + pragma Assert (Check_BIP_Actuals (Call_Node, Function_Id)); + end Add_Dummy_Build_In_Place_Actuals; + ---------------------- -- Add_Extra_Actual -- ---------------------- *************** package body Exp_Ch6 is *** 4576,4585 **** -- During that loop we gathered the extra actuals (the ones that -- correspond to Extra_Formals), so now they can be appended. ! else ! while Is_Non_Empty_List (Extra_Actuals) loop ! Add_Actual_Parameter (Remove_Head (Extra_Actuals)); ! end loop; end if; -- At this point we have all the actuals, so this is the point at which --- 4708,4742 ---- -- During that loop we gathered the extra actuals (the ones that -- correspond to Extra_Formals), so now they can be appended. ! elsif Is_Non_Empty_List (Extra_Actuals) then ! declare ! Num_Extra_Actuals : constant Nat := List_Length (Extra_Actuals); ! ! begin ! while Is_Non_Empty_List (Extra_Actuals) loop ! Add_Actual_Parameter (Remove_Head (Extra_Actuals)); ! end loop; ! ! -- Add dummy extra BIP actuals if we are calling a function that ! -- inherited the BIP extra actuals but does not require them. ! ! if Nkind (Call_Node) = N_Function_Call ! and then Is_Function_Call_With_BIP_Formals (Call_Node) ! and then not Is_Build_In_Place_Function_Call (Call_Node) ! then ! Add_Dummy_Build_In_Place_Actuals (Subp, ! Num_Added_Extra_Actuals => Num_Extra_Actuals); ! end if; ! end; ! ! -- Add dummy extra BIP actuals if we are calling a function that ! -- inherited the BIP extra actuals but does not require them. ! ! elsif Nkind (Call_Node) = N_Function_Call ! and then Is_Function_Call_With_BIP_Formals (Call_Node) ! and then not Is_Build_In_Place_Function_Call (Call_Node) ! then ! Add_Dummy_Build_In_Place_Actuals (Subp); end if; -- At this point we have all the actuals, so this is the point at which *************** package body Exp_Ch6 is *** 5126,5133 **** -- Optimization: if the returned value is returned again, then no need -- to copy/readjust/finalize, we can just pass the value through (see -- Expand_N_Simple_Return_Statement), and thus no attachment is needed. ! if Nkind (Par) = N_Simple_Return_Statement then return; end if; --- 5283,5298 ---- -- Optimization: if the returned value is returned again, then no need -- to copy/readjust/finalize, we can just pass the value through (see -- Expand_N_Simple_Return_Statement), and thus no attachment is needed. + -- Note that simple return statements are distributed into conditional + -- expressions but we may be invoked before this distribution is done. ! if Nkind (Par) = N_Simple_Return_Statement ! or else (Nkind (Par) = N_If_Expression ! and then Nkind (Parent (Par)) = N_Simple_Return_Statement) ! or else (Nkind (Par) = N_Case_Expression_Alternative ! and then ! Nkind (Parent (Parent (Par))) = N_Simple_Return_Statement) ! then return; end if; *************** package body Exp_Ch6 is *** 5135,5143 **** -- object, then no need to copy/readjust/finalize, we can initialize it -- in place. However, if the call returns on the secondary stack, then -- we need the expansion because we'll be renaming the temporary as the ! -- (permanent) object. ! if Nkind (Par) = N_Object_Declaration and then not Use_Sec_Stack then return; end if; --- 5300,5312 ---- -- object, then no need to copy/readjust/finalize, we can initialize it -- in place. However, if the call returns on the secondary stack, then -- we need the expansion because we'll be renaming the temporary as the ! -- (permanent) object. We also apply it in the case of the expression of ! -- a delta aggregate, since it is used only to initialize a temporary. ! if Nkind (Par) in N_Object_Declaration | N_Delta_Aggregate ! and then Expression (Par) = N ! and then not Use_Sec_Stack ! then return; end if; *************** package body Exp_Ch6 is *** 5314,5320 **** -- with the scope finalizer. There is one flag per each return object -- in case of multiple returns. ! if Is_BIP_Func and then Needs_Finalization (Etype (Ret_Obj_Id)) then declare Flag_Decl : Node_Id; Flag_Id : Entity_Id; --- 5483,5489 ---- -- with the scope finalizer. There is one flag per each return object -- in case of multiple returns. ! if Needs_Finalization (Etype (Ret_Obj_Id)) then declare Flag_Decl : Node_Id; Flag_Id : Entity_Id; *************** package body Exp_Ch6 is *** 5413,5419 **** -- Update the state of the function right before the object is -- returned. ! if Is_BIP_Func and then Needs_Finalization (Etype (Ret_Obj_Id)) then declare Flag_Id : constant Entity_Id := Status_Flag_Or_Transient_Decl (Ret_Obj_Id); --- 5582,5588 ---- -- Update the state of the function right before the object is -- returned. ! if Needs_Finalization (Etype (Ret_Obj_Id)) then declare Flag_Id : constant Entity_Id := Status_Flag_Or_Transient_Decl (Ret_Obj_Id); *************** package body Exp_Ch6 is *** 6485,6506 **** end if; end if; - -- Assert that if F says "return G(...);" - -- then F and G are both b-i-p, or neither b-i-p. - - if Nkind (Exp) = N_Function_Call then - pragma Assert (Ekind (Scope_Id) = E_Function); - - -- This assertion works fine because Is_Build_In_Place_Function_Call - -- returns True for BIP function calls but also for function calls - -- that have BIP formals. - - pragma Assert - (Has_BIP_Formals (Scope_Id) = - Is_Build_In_Place_Function_Call (Exp)); - null; - end if; - -- For the case of a simple return that does not come from an -- extended return, in the case of build-in-place, we rewrite -- "return ;" to be: --- 6654,6659 ---- *************** package body Exp_Ch6 is *** 6555,6560 **** --- 6708,6724 ---- end; end if; + -- Assert that if F says "return G(...);" + -- then F and G are both b-i-p, or neither b-i-p. + + if Nkind (Exp) = N_Function_Call then + pragma Assert (Ekind (Scope_Id) = E_Function); + pragma Assert + (Is_Build_In_Place_Function (Scope_Id) = + Is_Build_In_Place_Function_Call (Exp)); + null; + end if; + -- Here we have a simple return statement that is part of the expansion -- of an extended return statement (either written by the user, or -- generated by the above code). *************** package body Exp_Ch6 is *** 6568,6573 **** --- 6732,6744 ---- if Is_Boolean_Type (Exp_Typ) and then Nonzero_Is_True (Exp_Typ) then Adjust_Condition (Exp); Adjust_Result_Type (Exp, Exp_Typ); + + -- The adjustment of the expression may have rewritten the return + -- statement itself, e.g. when it is turned into an if expression. + + if Nkind (N) /= N_Simple_Return_Statement then + return; + end if; end if; -- Do validity check if enabled for returns *************** package body Exp_Ch6 is *** 6815,6821 **** Temp := Make_Temporary (Loc, 'R', Alloc_Node); ! Insert_List_Before_And_Analyze (N, New_List ( Make_Full_Type_Declaration (Loc, Defining_Identifier => Acc_Typ, Type_Definition => --- 6986,6992 ---- Temp := Make_Temporary (Loc, 'R', Alloc_Node); ! Insert_Actions (Exp, New_List ( Make_Full_Type_Declaration (Loc, Defining_Identifier => Acc_Typ, Type_Definition => *************** package body Exp_Ch6 is *** 7835,7840 **** --- 8006,8071 ---- raise Program_Error; end if; + declare + Result : constant Boolean := Is_Build_In_Place_Function (Function_Id); + -- So we can stop here in the debugger + begin + return Result; + end; + end Is_Build_In_Place_Function_Call; + + --------------------------------------- + -- Is_Function_Call_With_BIP_Formals -- + --------------------------------------- + + function Is_Function_Call_With_BIP_Formals (N : Node_Id) return Boolean is + Exp_Node : constant Node_Id := Unqual_Conv (N); + Function_Id : Entity_Id; + + begin + -- Return False if the expander is currently inactive, since awareness + -- of build-in-place treatment is only relevant during expansion. Note + -- that Is_Build_In_Place_Function, which is called as part of this + -- function, is also conditioned this way, but we need to check here as + -- well to avoid blowing up on processing protected calls when expansion + -- is disabled (such as with -gnatc) since those would trip over the + -- raise of Program_Error below. + + -- In SPARK mode, build-in-place calls are not expanded, so that we + -- may end up with a call that is neither resolved to an entity, nor + -- an indirect call. + + if not Expander_Active or else Nkind (Exp_Node) /= N_Function_Call then + return False; + end if; + + if Is_Entity_Name (Name (Exp_Node)) then + Function_Id := Entity (Name (Exp_Node)); + + -- In the case of an explicitly dereferenced call, use the subprogram + -- type generated for the dereference. + + elsif Nkind (Name (Exp_Node)) = N_Explicit_Dereference then + Function_Id := Etype (Name (Exp_Node)); + + -- This may be a call to a protected function. + + elsif Nkind (Name (Exp_Node)) = N_Selected_Component then + -- The selector in question might not have been analyzed due to a + -- previous error, so analyze it here to output the appropriate + -- error message instead of crashing when attempting to fetch its + -- entity. + + if not Analyzed (Selector_Name (Name (Exp_Node))) then + Analyze (Selector_Name (Name (Exp_Node))); + end if; + + Function_Id := Etype (Entity (Selector_Name (Name (Exp_Node)))); + + else + raise Program_Error; + end if; + if Is_Build_In_Place_Function (Function_Id) then return True; *************** package body Exp_Ch6 is *** 7858,7864 **** end if; end; end if; ! end Is_Build_In_Place_Function_Call; ----------------------------------- -- Is_Build_In_Place_Result_Type -- --- 8089,8095 ---- end if; end; end if; ! end Is_Function_Call_With_BIP_Formals; ----------------------------------- -- Is_Build_In_Place_Result_Type -- diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch6.ads gcc-13.3.0/gcc/ada/exp_ch6.ads *** gcc-13.2.0/gcc/ada/exp_ch6.ads Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch6.ads Tue May 21 07:47:37 2024 *************** package Exp_Ch6 is *** 159,166 **** function Is_Build_In_Place_Function_Call (N : Node_Id) return Boolean; -- Ada 2005 (AI-318-02): Returns True if N denotes a call to a function -- that requires handling as a build-in-place call (possibly qualified or ! -- converted); that is, BIP function calls, and calls to functions with ! -- inherited BIP formals. function Is_Build_In_Place_Result_Type (Typ : Entity_Id) return Boolean; -- Ada 2005 (AI-318-02): Returns True if functions returning the type use --- 159,165 ---- function Is_Build_In_Place_Function_Call (N : Node_Id) return Boolean; -- Ada 2005 (AI-318-02): Returns True if N denotes a call to a function -- that requires handling as a build-in-place call (possibly qualified or ! -- converted). function Is_Build_In_Place_Result_Type (Typ : Entity_Id) return Boolean; -- Ada 2005 (AI-318-02): Returns True if functions returning the type use diff -Nrcpad gcc-13.2.0/gcc/ada/exp_ch7.adb gcc-13.3.0/gcc/ada/exp_ch7.adb *** gcc-13.2.0/gcc/ada/exp_ch7.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_ch7.adb Tue May 21 07:47:37 2024 *************** package body Exp_Ch7 is *** 751,756 **** --- 751,757 ---- Desig_Typ : Entity_Id; FM_Id : Entity_Id; Priv_View : Entity_Id; + Scop : Entity_Id; Unit_Decl : Node_Id; Unit_Id : Entity_Id; *************** package body Exp_Ch7 is *** 789,794 **** --- 790,807 ---- Desig_Typ := Priv_View; end if; + -- For a designated type not declared at library level, we cannot create + -- a finalization collection attached to an outer unit since this would + -- generate dangling references to the dynamic scope through access-to- + -- procedure values designating the local Finalize_Address primitive. + + Scop := Enclosing_Dynamic_Scope (Desig_Typ); + if Scop /= Standard_Standard + and then Scope_Depth (Scop) > Scope_Depth (Unit_Id) + then + return; + end if; + -- Determine whether the current semantic unit already has an anonymous -- master which services the designated type. *************** package body Exp_Ch7 is *** 2351,2358 **** elsif Ekind (Obj_Id) = E_Variable and then not In_Library_Level_Package_Body (Obj_Id) ! and then (Is_Simple_Protected_Type (Obj_Typ) ! or else Has_Simple_Protected_Object (Obj_Typ)) then Processing_Actions (Is_Protected => True); end if; --- 2364,2370 ---- elsif Ekind (Obj_Id) = E_Variable and then not In_Library_Level_Package_Body (Obj_Id) ! and then Has_Simple_Protected_Object (Obj_Typ) then Processing_Actions (Is_Protected => True); end if; *************** package body Exp_Ch7 is *** 2376,2384 **** elsif Is_Ignored_Ghost_Entity (Obj_Id) then null; ! -- Return object of a build-in-place function. This case is ! -- recognized and marked by the expansion of an extended return ! -- statement (see Expand_N_Extended_Return_Statement). elsif Needs_Finalization (Obj_Typ) and then Is_Return_Object (Obj_Id) --- 2388,2396 ---- elsif Is_Ignored_Ghost_Entity (Obj_Id) then null; ! -- Return object of extended return statements. This case is ! -- recognized and marked by the expansion of extended return ! -- statements (see Expand_N_Extended_Return_Statement). elsif Needs_Finalization (Obj_Typ) and then Is_Return_Object (Obj_Id) *************** package body Exp_Ch7 is *** 3085,3091 **** -- Start of processing for Process_Object_Declaration begin ! -- Handle the object type and the reference to the object Obj_Ref := New_Occurrence_Of (Obj_Id, Loc); Obj_Typ := Base_Type (Etype (Obj_Id)); --- 3097,3105 ---- -- Start of processing for Process_Object_Declaration begin ! -- Handle the object type and the reference to the object. Note ! -- that objects having simple protected components must retain ! -- their original form for the processing below to work. Obj_Ref := New_Occurrence_Of (Obj_Id, Loc); Obj_Typ := Base_Type (Etype (Obj_Id)); *************** package body Exp_Ch7 is *** 3097,3102 **** --- 3111,3117 ---- elsif Is_Concurrent_Type (Obj_Typ) and then Present (Corresponding_Record_Type (Obj_Typ)) + and then not Is_Protected then Obj_Typ := Corresponding_Record_Type (Obj_Typ); Obj_Ref := Unchecked_Convert_To (Obj_Typ, Obj_Ref); *************** package body Exp_Ch7 is *** 3259,3270 **** Fin_Stmts := New_List (Fin_Call); end if; ! elsif Has_Simple_Protected_Object (Obj_Typ) then ! if Is_Record_Type (Obj_Typ) then ! Fin_Stmts := Cleanup_Record (Decl, Obj_Ref, Obj_Typ); ! elsif Is_Array_Type (Obj_Typ) then ! Fin_Stmts := Cleanup_Array (Decl, Obj_Ref, Obj_Typ); ! end if; end if; -- Generate: --- 3274,3284 ---- Fin_Stmts := New_List (Fin_Call); end if; ! elsif Is_Array_Type (Obj_Typ) then ! Fin_Stmts := Cleanup_Array (Decl, Obj_Ref, Obj_Typ); ! ! else ! Fin_Stmts := Cleanup_Record (Decl, Obj_Ref, Obj_Typ); end if; -- Generate: *************** package body Exp_Ch7 is *** 4564,4573 **** function Is_Package_Or_Subprogram (Id : Entity_Id) return Boolean; -- Determine whether arbitrary Id denotes a package or subprogram [body] ! function Find_Enclosing_Transient_Scope return Entity_Id; -- Examine the scope stack looking for the nearest enclosing transient -- scope within the innermost enclosing package or subprogram. Return ! -- Empty if no such scope exists. function Find_Transient_Context (N : Node_Id) return Node_Id; -- Locate a suitable context for arbitrary node N which may need to be --- 4578,4587 ---- function Is_Package_Or_Subprogram (Id : Entity_Id) return Boolean; -- Determine whether arbitrary Id denotes a package or subprogram [body] ! function Find_Enclosing_Transient_Scope return Int; -- Examine the scope stack looking for the nearest enclosing transient -- scope within the innermost enclosing package or subprogram. Return ! -- its index in the table or else -1 if no such scope exists. function Find_Transient_Context (N : Node_Id) return Node_Id; -- Locate a suitable context for arbitrary node N which may need to be *************** package body Exp_Ch7 is *** 4693,4699 **** -- Find_Enclosing_Transient_Scope -- ------------------------------------ ! function Find_Enclosing_Transient_Scope return Entity_Id is begin for Index in reverse Scope_Stack.First .. Scope_Stack.Last loop declare --- 4707,4713 ---- -- Find_Enclosing_Transient_Scope -- ------------------------------------ ! function Find_Enclosing_Transient_Scope return Int is begin for Index in reverse Scope_Stack.First .. Scope_Stack.Last loop declare *************** package body Exp_Ch7 is *** 4708,4719 **** exit; elsif Scope.Is_Transient then ! return Scope.Entity; end if; end; end loop; ! return Empty; end Find_Enclosing_Transient_Scope; ---------------------------- --- 4722,4733 ---- exit; elsif Scope.Is_Transient then ! return Index; end if; end; end loop; ! return -1; end Find_Enclosing_Transient_Scope; ---------------------------- *************** package body Exp_Ch7 is *** 4805,4825 **** return Curr; when N_Simple_Return_Statement => ! -- A return statement is not a valid transient context when ! -- the function itself requires transient scope management ! -- because the result will be reclaimed too early. ! if Requires_Transient_Scope (Etype ! (Return_Applies_To (Return_Statement_Entity (Curr)))) ! then ! return Empty; ! -- General case for return statements ! else ! return Curr; ! end if; -- Special --- 4819,4847 ---- return Curr; when N_Simple_Return_Statement => + declare + Fun_Id : constant Entity_Id := + Return_Applies_To (Return_Statement_Entity (Curr)); ! begin ! -- A transient context that must manage the secondary ! -- stack cannot be a return statement of a function that ! -- itself requires secondary stack management, because ! -- the function's result would be reclaimed too early. ! -- And returns of thunks never require transient scopes. ! if (Manage_Sec_Stack ! and then Needs_Secondary_Stack (Etype (Fun_Id))) ! or else Is_Thunk (Fun_Id) ! then ! return Empty; ! -- General case for return statements ! else ! return Curr; ! end if; ! end; -- Special *************** package body Exp_Ch7 is *** 4902,4909 **** -- Local variables ! Trans_Id : constant Entity_Id := Find_Enclosing_Transient_Scope; ! Context : Node_Id; -- Start of processing for Establish_Transient_Scope --- 4924,4931 ---- -- Local variables ! Trans_Idx : constant Int := Find_Enclosing_Transient_Scope; ! Context : Node_Id; -- Start of processing for Establish_Transient_Scope *************** package body Exp_Ch7 is *** 4911,4923 **** -- Do not create a new transient scope if there is already an enclosing -- transient scope within the innermost enclosing package or subprogram. ! if Present (Trans_Id) then -- If the transient scope was requested for purposes of managing the ! -- secondary stack, then the existing scope must perform this task. if Manage_Sec_Stack then ! Set_Uses_Sec_Stack (Trans_Id); end if; return; --- 4933,4961 ---- -- Do not create a new transient scope if there is already an enclosing -- transient scope within the innermost enclosing package or subprogram. ! if Trans_Idx >= 0 then -- If the transient scope was requested for purposes of managing the ! -- secondary stack, then the existing scope must perform this task, ! -- unless the node to be wrapped is a return statement of a function ! -- that requires secondary stack management, because the function's ! -- result would be reclaimed too early (see Find_Transient_Context). if Manage_Sec_Stack then ! declare ! SE : Scope_Stack_Entry renames Scope_Stack.Table (Trans_Idx); ! ! begin ! if Nkind (SE.Node_To_Be_Wrapped) /= N_Simple_Return_Statement ! or else not ! Needs_Secondary_Stack ! (Etype ! (Return_Applies_To ! (Return_Statement_Entity (SE.Node_To_Be_Wrapped)))) ! then ! Set_Uses_Sec_Stack (SE.Entity); ! end if; ! end; end if; return; *************** package body Exp_Ch7 is *** 5241,5256 **** Fin_Id => Fin_Id); if Present (Fin_Id) then ! declare ! Body_Ent : Node_Id := Defining_Unit_Name (N); ! ! begin ! if Nkind (Body_Ent) = N_Defining_Program_Unit_Name then ! Body_Ent := Defining_Identifier (Body_Ent); ! end if; ! ! Set_Finalizer (Body_Ent, Fin_Id); ! end; end if; end if; end Expand_N_Package_Body; --- 5279,5285 ---- Fin_Id => Fin_Id); if Present (Fin_Id) then ! Set_Finalizer (Defining_Entity (N), Fin_Id); end if; end if; end Expand_N_Package_Body; diff -Nrcpad gcc-13.2.0/gcc/ada/exp_imgv.adb gcc-13.3.0/gcc/ada/exp_imgv.adb *** gcc-13.2.0/gcc/ada/exp_imgv.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_imgv.adb Tue May 21 07:47:37 2024 *************** package body Exp_Imgv is *** 2498,2509 **** Attr_Name : Name_Id; Str_Typ : Entity_Id) is begin Rewrite (N, Make_Attribute_Reference (Sloc (N), ! Prefix => New_Occurrence_Of (Etype (Pref), Sloc (N)), Attribute_Name => Attr_Name, ! Expressions => New_List (Relocate_Node (Pref)))); Analyze_And_Resolve (N, Str_Typ); end Rewrite_Object_Image; --- 2498,2528 ---- Attr_Name : Name_Id; Str_Typ : Entity_Id) is + Ptyp : Entity_Id; + begin + Ptyp := Etype (Pref); + + -- If the prefix is a component that depends on a discriminant, then + -- create an actual subtype for it. + + if Nkind (Pref) = N_Selected_Component then + declare + Decl : constant Node_Id := + Build_Actual_Subtype_Of_Component (Ptyp, Pref); + begin + if Present (Decl) then + Insert_Action (N, Decl); + Ptyp := Defining_Identifier (Decl); + end if; + end; + end if; + Rewrite (N, Make_Attribute_Reference (Sloc (N), ! Prefix => New_Occurrence_Of (Ptyp, Sloc (N)), Attribute_Name => Attr_Name, ! Expressions => New_List (Unchecked_Convert_To (Ptyp, Pref)))); Analyze_And_Resolve (N, Str_Typ); end Rewrite_Object_Image; diff -Nrcpad gcc-13.2.0/gcc/ada/exp_intr.adb gcc-13.3.0/gcc/ada/exp_intr.adb *** gcc-13.2.0/gcc/ada/exp_intr.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_intr.adb Tue May 21 07:47:37 2024 *************** *** 24,39 **** ------------------------------------------------------------------------------ with Atree; use Atree; - with Aspects; use Aspects; with Checks; use Checks; with Einfo; use Einfo; with Einfo.Entities; use Einfo.Entities; with Einfo.Utils; use Einfo.Utils; with Elists; use Elists; - with Errout; use Errout; with Expander; use Expander; with Exp_Atag; use Exp_Atag; - with Exp_Ch6; use Exp_Ch6; with Exp_Ch7; use Exp_Ch7; with Exp_Ch11; use Exp_Ch11; with Exp_Code; use Exp_Code; --- 24,36 ---- *************** package body Exp_Intr is *** 282,329 **** begin pragma Assert (Is_Class_Wide_Type (Etype (Entity (Name (N))))); - -- Report case where we know that the generated code is wrong; that - -- is a dispatching constructor call whose controlling type has tasks - -- but its root type does not have tasks. In such case the constructor - -- subprogram of the root type does not have extra formals but the - -- constructor of the derivation must have extra formals. - - if not Global_No_Tasking - and then not No_Run_Time_Mode - and then Is_Build_In_Place_Function (Entity (Name (N))) - and then not Has_Task (Root_Type (Etype (Entity (Name (N))))) - and then not Has_Aspect (Root_Type (Etype (Entity (Name (N)))), - Aspect_No_Task_Parts) - then - -- Case 1: Explicit tag reference (which allows static check) - - if Nkind (Tag_Arg) = N_Identifier - and then Present (Entity (Tag_Arg)) - and then Is_Tag (Entity (Tag_Arg)) - then - if Has_Task (Related_Type (Entity (Tag_Arg))) then - Error_Msg_N ("unsupported dispatching constructor call", N); - Error_Msg_NE - ("\work around this problem by defining task component " - & "type& using access-to-task-type", - N, Related_Type (Entity (Tag_Arg))); - end if; - - -- Case 2: Dynamic tag which may fail at run time - - else - Error_Msg_N - ("unsupported dispatching constructor call if the type " - & "of the built object has task components??", N); - - Error_Msg_Sloc := Sloc (Root_Type (Etype (Entity (Name (N))))); - Error_Msg_NE - ("\work around this by adding ''with no_task_parts'' to " - & "the declaration of the root type& defined#???", - N, Root_Type (Etype (Entity (Name (N))))); - end if; - end if; - -- Remove side effects from tag argument early, before rewriting -- the dispatching constructor call, as Remove_Side_Effects relies -- on Tag_Arg's Parent link properly attached to the tree (once the --- 279,284 ---- diff -Nrcpad gcc-13.2.0/gcc/ada/exp_util.adb gcc-13.3.0/gcc/ada/exp_util.adb *** gcc-13.2.0/gcc/ada/exp_util.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/exp_util.adb Tue May 21 07:47:37 2024 *************** package body Exp_Util is *** 937,942 **** --- 937,952 ---- Needs_Finalization (Desig_Typ) and then not No_Heap_Finalization (Ptr_Typ); + -- The allocation/deallocation of a controlled object must be associated + -- with an attachment to/detachment from a finalization master, but the + -- implementation cannot guarantee this property for every anonymous + -- access tyoe, see Build_Anonymous_Collection. + + if Needs_Fin and then No (Finalization_Master (Ptr_Typ)) then + pragma Assert (Ekind (Ptr_Typ) = E_Anonymous_Access_Type); + Needs_Fin := False; + end if; + if Needs_Fin then -- Do nothing if the access type may never allocate / deallocate *************** package body Exp_Util is *** 946,956 **** return; end if; - -- The allocation / deallocation of a controlled object must be - -- chained on / detached from a finalization master. - - pragma Assert (Present (Finalization_Master (Ptr_Typ))); - -- The only other kind of allocation / deallocation supported by this -- routine is on / from a subpool. --- 956,961 ---- *************** package body Exp_Util is *** 1853,1859 **** begin pragma Assert (Present (DIC_Expr)); ! Expr := New_Copy_Tree (DIC_Expr); -- Perform the following substitution: --- 1858,1872 ---- begin pragma Assert (Present (DIC_Expr)); ! ! -- We need to preanalyze the expression itself inside a generic to ! -- be able to capture global references present in it. ! ! if Inside_A_Generic then ! Expr := DIC_Expr; ! else ! Expr := New_Copy_Tree (DIC_Expr); ! end if; -- Perform the following substitution: *************** package body Exp_Util is *** 3111,3117 **** return; end if; ! Expr := New_Copy_Tree (Prag_Expr); -- Substitute all references to type T with references to the -- _object formal parameter. --- 3124,3137 ---- return; end if; ! -- We need to preanalyze the expression itself inside a generic ! -- to be able to capture global references present in it. ! ! if Inside_A_Generic then ! Expr := Prag_Expr; ! else ! Expr := New_Copy_Tree (Prag_Expr); ! end if; -- Substitute all references to type T with references to the -- _object formal parameter. *************** package body Exp_Util is *** 7219,7224 **** --- 7239,7245 ---- when N_Indexed_Component | N_Selected_Component | N_Aggregate + | N_Extension_Aggregate => return True; *************** package body Exp_Util is *** 8274,8279 **** --- 8295,8307 ---- function Is_Allocated (Trans_Id : Entity_Id) return Boolean; -- Determine whether transient object Trans_Id is allocated on the heap + function Is_Indexed_Container + (Trans_Id : Entity_Id; + First_Stmt : Node_Id) return Boolean; + -- Determine whether transient object Trans_Id denotes a container which + -- is in the process of being indexed in the statement list starting + -- from First_Stmt. + function Is_Iterated_Container (Trans_Id : Entity_Id; First_Stmt : Node_Id) return Boolean; *************** package body Exp_Util is *** 8317,8381 **** Call := Unqual_Conv (Call); if Is_Build_In_Place_Function_Call (Call) then declare Caller_Allocation_Val : constant Uint := UI_From_Int (BIP_Allocation_Form'Pos (Caller_Allocation)); - Access_Nam : Name_Id := No_Name; Access_OK : Boolean := False; - Actual : Node_Id; - Alloc_Nam : Name_Id := No_Name; Alloc_OK : Boolean := True; - Formal : Node_Id; - Func_Id : Entity_Id; Param : Node_Id; begin -- Examine all parameter associations of the function call Param := First (Parameter_Associations (Call)); while Present (Param) loop if Nkind (Param) = N_Parameter_Association and then Nkind (Selector_Name (Param)) = N_Identifier then ! Actual := Explicit_Actual_Parameter (Param); ! Formal := Selector_Name (Param); ! ! -- Construct the names of formals BIPaccess and BIPalloc ! -- using the function name retrieved from an arbitrary ! -- formal. ! ! if Access_Nam = No_Name ! and then Alloc_Nam = No_Name ! and then Present (Entity (Formal)) ! then ! Func_Id := Scope (Entity (Formal)); ! ! Access_Nam := ! New_External_Name (Chars (Func_Id), ! BIP_Formal_Suffix (BIP_Object_Access)); ! ! Alloc_Nam := ! New_External_Name (Chars (Func_Id), ! BIP_Formal_Suffix (BIP_Alloc_Form)); ! end if; ! -- A nonnull BIPaccess has been found ! if Chars (Formal) = Access_Nam ! and then Nkind (Actual) /= N_Null ! then ! Access_OK := True; ! end if; ! -- A BIPalloc has been found ! if Chars (Formal) = Alloc_Nam ! and then Nkind (Actual) = N_Integer_Literal ! then ! Alloc_OK := Intval (Actual) = Caller_Allocation_Val; ! end if; end if; Next (Param); --- 8345,8417 ---- Call := Unqual_Conv (Call); + -- We search for a formal with a matching suffix. We can't search + -- for the full name, because of the code at the end of Sem_Ch6.- + -- Create_Extra_Formals, which copies the Extra_Formals over to + -- the Alias of an instance, which will cause the formals to have + -- "incorrect" names. See also Exp_Ch6.Build_In_Place_Formal. + if Is_Build_In_Place_Function_Call (Call) then declare Caller_Allocation_Val : constant Uint := UI_From_Int (BIP_Allocation_Form'Pos (Caller_Allocation)); + Access_Suffix : constant String := + BIP_Formal_Suffix (BIP_Object_Access); + Alloc_Suffix : constant String := + BIP_Formal_Suffix (BIP_Alloc_Form); + + function Has_Suffix (Name, Suffix : String) return Boolean; + -- Return True if Name has suffix Suffix + + ---------------- + -- Has_Suffix -- + ---------------- + + function Has_Suffix (Name, Suffix : String) return Boolean is + Len : constant Natural := Suffix'Length; + + begin + return Name'Length > Len + and then Name (Name'Last - Len + 1 .. Name'Last) = Suffix; + end Has_Suffix; Access_OK : Boolean := False; Alloc_OK : Boolean := True; Param : Node_Id; begin -- Examine all parameter associations of the function call Param := First (Parameter_Associations (Call)); + while Present (Param) loop if Nkind (Param) = N_Parameter_Association and then Nkind (Selector_Name (Param)) = N_Identifier then ! declare ! Actual : constant Node_Id ! := Explicit_Actual_Parameter (Param); ! Formal : constant Node_Id ! := Selector_Name (Param); ! Name : constant String ! := Get_Name_String (Chars (Formal)); ! begin ! -- A nonnull BIPaccess has been found ! if Has_Suffix (Name, Access_Suffix) ! and then Nkind (Actual) /= N_Null ! then ! Access_OK := True; ! -- A BIPalloc has been found ! elsif Has_Suffix (Name, Alloc_Suffix) ! and then Nkind (Actual) = N_Integer_Literal ! then ! Alloc_OK := Intval (Actual) = Caller_Allocation_Val; ! end if; ! end; end if; Next (Param); *************** package body Exp_Util is *** 8548,8553 **** --- 8584,8674 ---- and then Nkind (Expr) = N_Allocator; end Is_Allocated; + -------------------------- + -- Is_Indexed_Container -- + -------------------------- + + function Is_Indexed_Container + (Trans_Id : Entity_Id; + First_Stmt : Node_Id) return Boolean + is + Aspect : Node_Id; + Call : Node_Id; + Index : Entity_Id; + Param : Node_Id; + Stmt : Node_Id; + Typ : Entity_Id; + + begin + -- It is not possible to iterate over containers in non-Ada 2012 code + + if Ada_Version < Ada_2012 then + return False; + end if; + + Typ := Etype (Trans_Id); + + -- Handle access type created for the reference below + + if Is_Access_Type (Typ) then + Typ := Designated_Type (Typ); + end if; + + -- Look for aspect Constant_Indexing. It may be part of a type + -- declaration for a container, or inherited from a base type + -- or parent type. + + Aspect := Find_Value_Of_Aspect (Typ, Aspect_Constant_Indexing); + + if Present (Aspect) then + Index := Entity (Aspect); + + -- Examine the statements following the container object and + -- look for a call to the default indexing routine where the + -- first parameter is the transient. Such a call appears as: + + -- It : Access_To_Constant_Reference_Type := + -- Constant_Indexing (Trans_Id.all, ...)'reference; + + Stmt := First_Stmt; + while Present (Stmt) loop + + -- Detect an object declaration which is initialized by a + -- controlled function call. + + if Nkind (Stmt) = N_Object_Declaration + and then Present (Expression (Stmt)) + and then Nkind (Expression (Stmt)) = N_Reference + and then Nkind (Prefix (Expression (Stmt))) = N_Function_Call + then + Call := Prefix (Expression (Stmt)); + + -- The call must invoke the default indexing routine of + -- the container and the transient object must appear as + -- the first actual parameter. Skip any calls whose names + -- are not entities. + + if Is_Entity_Name (Name (Call)) + and then Entity (Name (Call)) = Index + and then Present (Parameter_Associations (Call)) + then + Param := First (Parameter_Associations (Call)); + + if Nkind (Param) = N_Explicit_Dereference + and then Entity (Prefix (Param)) = Trans_Id + then + return True; + end if; + end if; + end if; + + Next (Stmt); + end loop; + end if; + + return False; + end Is_Indexed_Container; + --------------------------- -- Is_Iterated_Container -- --------------------------- *************** package body Exp_Util is *** 8572,8578 **** Typ := Etype (Trans_Id); ! -- Handle access type created for secondary stack use if Is_Access_Type (Typ) then Typ := Designated_Type (Typ); --- 8693,8699 ---- Typ := Etype (Trans_Id); ! -- Handle access type created for the reference below if Is_Access_Type (Typ) then Typ := Designated_Type (Typ); *************** package body Exp_Util is *** 8592,8604 **** -- first parameter is the transient. Such a call appears as: -- It : Access_To_CW_Iterator := ! -- Iterate (Tran_Id.all, ...)'reference; Stmt := First_Stmt; while Present (Stmt) loop -- Detect an object declaration which is initialized by a ! -- secondary stack function call. if Nkind (Stmt) = N_Object_Declaration and then Present (Expression (Stmt)) --- 8713,8725 ---- -- first parameter is the transient. Such a call appears as: -- It : Access_To_CW_Iterator := ! -- Iterate (Trans_Id.all, ...)'reference; Stmt := First_Stmt; while Present (Stmt) loop -- Detect an object declaration which is initialized by a ! -- controlled function call. if Nkind (Stmt) = N_Object_Declaration and then Present (Expression (Stmt)) *************** package body Exp_Util is *** 8717,8723 **** -- transient objects must exist for as long as the loop is around, -- otherwise any operation carried out by the iterator will fail. ! and then not Is_Iterated_Container (Obj_Id, Decl); end Is_Finalizable_Transient; --------------------------------- --- 8838,8848 ---- -- transient objects must exist for as long as the loop is around, -- otherwise any operation carried out by the iterator will fail. ! and then not Is_Iterated_Container (Obj_Id, Decl) ! ! -- Likewise for indexed containers in the context of iterator loops ! ! and then not Is_Indexed_Container (Obj_Id, Decl); end Is_Finalizable_Transient; --------------------------------- *************** package body Exp_Util is *** 9757,9767 **** ------------------------- function Make_Invariant_Call (Expr : Node_Id) return Node_Id is ! Loc : constant Source_Ptr := Sloc (Expr); ! Typ : constant Entity_Id := Base_Type (Etype (Expr)); pragma Assert (Has_Invariants (Typ)); ! Proc_Id : constant Entity_Id := Invariant_Procedure (Typ); pragma Assert (Present (Proc_Id)); begin -- The invariant procedure has a null body if assertions are disabled or -- Assertion_Policy Ignore is in effect. In that case, generate a null --- 9882,9897 ---- ------------------------- function Make_Invariant_Call (Expr : Node_Id) return Node_Id is ! Loc : constant Source_Ptr := Sloc (Expr); ! Typ : constant Entity_Id := Base_Type (Etype (Expr)); pragma Assert (Has_Invariants (Typ)); ! Proc_Id : constant Entity_Id := Invariant_Procedure (Typ); pragma Assert (Present (Proc_Id)); + Inv_Typ : constant Entity_Id + := Base_Type (Etype (First_Formal (Proc_Id))); + + Arg : Node_Id; + begin -- The invariant procedure has a null body if assertions are disabled or -- Assertion_Policy Ignore is in effect. In that case, generate a null *************** package body Exp_Util is *** 9769,9779 **** if Has_Null_Body (Proc_Id) then return Make_Null_Statement (Loc); else return Make_Procedure_Call_Statement (Loc, Name => New_Occurrence_Of (Proc_Id, Loc), ! Parameter_Associations => New_List (Relocate_Node (Expr))); end if; end Make_Invariant_Call; --- 9899,9919 ---- if Has_Null_Body (Proc_Id) then return Make_Null_Statement (Loc); + else + -- As done elsewhere, for example in Build_Initialization_Call, we + -- may need to bridge the gap between views of the type. + + if Inv_Typ /= Typ then + Arg := OK_Convert_To (Inv_Typ, Expr); + else + Arg := Relocate_Node (Expr); + end if; + return Make_Procedure_Call_Statement (Loc, Name => New_Occurrence_Of (Proc_Id, Loc), ! Parameter_Associations => New_List (Arg)); end if; end Make_Invariant_Call; *************** package body Exp_Util is *** 12734,12743 **** -- Simple protected objects which use type System.Tasking. -- Protected_Objects.Protection to manage their locks should be -- treated as controlled since they require manual cleanup. elsif Ekind (Obj_Id) = E_Variable ! and then (Is_Simple_Protected_Type (Obj_Typ) ! or else Has_Simple_Protected_Object (Obj_Typ)) then return True; end if; --- 12874,12911 ---- -- Simple protected objects which use type System.Tasking. -- Protected_Objects.Protection to manage their locks should be -- treated as controlled since they require manual cleanup. + -- The only exception is illustrated in the following example: + + -- package Pkg is + -- type Ctrl is new Controlled ... + -- procedure Finalize (Obj : in out Ctrl); + -- Lib_Obj : Ctrl; + -- end Pkg; + + -- package body Pkg is + -- protected Prot is + -- procedure Do_Something (Obj : in out Ctrl); + -- end Prot; + + -- protected body Prot is + -- procedure Do_Something (Obj : in out Ctrl) is ... + -- end Prot; + + -- procedure Finalize (Obj : in out Ctrl) is + -- begin + -- Prot.Do_Something (Obj); + -- end Finalize; + -- end Pkg; + + -- Since for the most part entities in package bodies depend on + -- those in package specs, Prot's lock should be cleaned up + -- first. The subsequent cleanup of the spec finalizes Lib_Obj. + -- This act however attempts to invoke Do_Something and fails + -- because the lock has disappeared. elsif Ekind (Obj_Id) = E_Variable ! and then not In_Library_Level_Package_Body (Obj_Id) ! and then Has_Simple_Protected_Object (Obj_Typ) then return True; end if; *************** package body Exp_Util is *** 12761,12769 **** elsif Is_Ignored_Ghost_Entity (Obj_Id) then null; ! -- Return object of a build-in-place function. This case is ! -- recognized and marked by the expansion of an extended return ! -- statement (see Expand_N_Extended_Return_Statement). elsif Needs_Finalization (Obj_Typ) and then Is_Return_Object (Obj_Id) --- 12929,12937 ---- elsif Is_Ignored_Ghost_Entity (Obj_Id) then null; ! -- Return object of extended return statements. This case is ! -- recognized and marked by the expansion of extended return ! -- statements (see Expand_N_Extended_Return_Statement). elsif Needs_Finalization (Obj_Typ) and then Is_Return_Object (Obj_Id) diff -Nrcpad gcc-13.2.0/gcc/ada/freeze.adb gcc-13.3.0/gcc/ada/freeze.adb *** gcc-13.2.0/gcc/ada/freeze.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/freeze.adb Tue May 21 07:47:37 2024 *************** package body Freeze is *** 4113,4121 **** procedure Check_Large_Modular_Array (Typ : Entity_Id); -- Check that the size of array type Typ can be computed without -- overflow, and generates a Storage_Error otherwise. This is only ! -- relevant for array types whose index has System_Max_Integer_Size ! -- bits, where wrap-around arithmetic might yield a meaningless value ! -- for the length of the array, or its corresponding attribute. procedure Check_Pragma_Thread_Local_Storage (Var_Id : Entity_Id); -- Ensure that the initialization state of variable Var_Id subject --- 4113,4122 ---- procedure Check_Large_Modular_Array (Typ : Entity_Id); -- Check that the size of array type Typ can be computed without -- overflow, and generates a Storage_Error otherwise. This is only ! -- relevant for array types whose index is a modular type with ! -- Standard_Long_Long_Integer_Size bits: wrap-around arithmetic ! -- might yield a meaningless value for the length of the array, ! -- or its corresponding attribute. procedure Check_Pragma_Thread_Local_Storage (Var_Id : Entity_Id); -- Ensure that the initialization state of variable Var_Id subject *************** package body Freeze is *** 4173,4180 **** -- Storage_Error. if Is_Modular_Integer_Type (Idx_Typ) ! and then RM_Size (Idx_Typ) = RM_Size (Standard_Long_Long_Integer) then Insert_Action (Declaration_Node (E), Make_Raise_Storage_Error (Obj_Loc, Condition => --- 4174,4197 ---- -- Storage_Error. if Is_Modular_Integer_Type (Idx_Typ) ! and then RM_Size (Idx_Typ) = Standard_Long_Long_Integer_Size then + -- Ensure that the type of the object is elaborated before + -- the check itself is emitted to avoid elaboration issues + -- in the code generator at the library level. + + if Is_Itype (Etype (E)) + and then In_Open_Scopes (Scope (Etype (E))) + then + declare + Ref_Node : constant Node_Id := + Make_Itype_Reference (Obj_Loc); + begin + Set_Itype (Ref_Node, Etype (E)); + Insert_Action (Declaration_Node (E), Ref_Node); + end; + end if; + Insert_Action (Declaration_Node (E), Make_Raise_Storage_Error (Obj_Loc, Condition => *************** package body Freeze is *** 6066,6077 **** then -- Here we do the wrap - -- Note on calls to Copy_Separate_Tree. The trees we are copying - -- here are fully analyzed, but we definitely want fully syntactic - -- unanalyzed trees in the body we construct, so that the analysis - -- generates the right visibility, and that is exactly what the - -- calls to Copy_Separate_Tree give us. - Prag := Copy_Import_Pragma; -- Fix up spec so it is no longer imported and has convention Ada --- 6083,6088 ---- *************** package body Freeze is *** 6127,6137 **** Bod := Make_Subprogram_Body (Loc, ! Specification => ! Copy_Separate_Tree (Spec), Declarations => New_List ( Make_Subprogram_Declaration (Loc, ! Specification => Copy_Separate_Tree (Spec)), Prag), Handled_Statement_Sequence => Make_Handled_Sequence_Of_Statements (Loc, --- 6138,6147 ---- Bod := Make_Subprogram_Body (Loc, ! Specification => Copy_Subprogram_Spec (Spec), Declarations => New_List ( Make_Subprogram_Declaration (Loc, ! Specification => Copy_Subprogram_Spec (Spec)), Prag), Handled_Statement_Sequence => Make_Handled_Sequence_Of_Statements (Loc, *************** package body Freeze is *** 6438,6444 **** -- Check for needing to wrap imported subprogram ! Wrap_Imported_Subprogram (E); -- Freeze all parameter types and the return type (RM 13.14(14)). -- However skip this for internal subprograms. This is also where --- 6448,6456 ---- -- Check for needing to wrap imported subprogram ! if not Inside_A_Generic then ! Wrap_Imported_Subprogram (E); ! end if; -- Freeze all parameter types and the return type (RM 13.14(14)). -- However skip this for internal subprograms. This is also where *************** package body Freeze is *** 7991,7996 **** --- 8003,8022 ---- Adjust_Esize_For_Alignment (Typ); end if; + + -- Reject a very large size on a type with a non-standard representation + -- because Expand_Freeze_Enumeration_Type cannot deal with it. + + if Has_Non_Standard_Rep (Typ) + and then Known_Esize (Typ) + and then Esize (Typ) > System_Max_Integer_Size + then + Error_Msg_N + ("enumeration type with representation clause too large", Typ); + Error_Msg_Uint_1 := UI_From_Int (System_Max_Integer_Size); + Error_Msg_N + ("\the size of such a type cannot exceed ^ bits", Typ); + end if; end Freeze_Enumeration_Type; ----------------------- *************** package body Freeze is *** 8712,8728 **** -- The current scope may be that of a constrained component of -- an enclosing record declaration, or of a loop of an enclosing ! -- quantified expression, which is above the current scope in the ! -- scope stack. Indeed in the context of a quantified expression, ! -- a scope is created and pushed above the current scope in order ! -- to emulate the loop-like behavior of the quantified expression. -- If the expression is within a top-level pragma, as for a pre- -- condition on a library-level subprogram, nothing to do. if not Is_Compilation_Unit (Current_Scope) and then (Is_Record_Type (Scope (Current_Scope)) ! or else Nkind (Parent (Current_Scope)) = ! N_Quantified_Expression) then Pos := Pos - 1; end if; --- 8738,8756 ---- -- The current scope may be that of a constrained component of -- an enclosing record declaration, or of a loop of an enclosing ! -- quantified expression or aggregate with an iterated component ! -- in Ada 2022, which is above the current scope in the scope ! -- stack. Indeed in the context of a quantified expression or ! -- an aggregate with an iterated component, an internal scope is ! -- created and pushed above the current scope in order to emulate ! -- the loop-like behavior of the construct. -- If the expression is within a top-level pragma, as for a pre- -- condition on a library-level subprogram, nothing to do. if not Is_Compilation_Unit (Current_Scope) and then (Is_Record_Type (Scope (Current_Scope)) ! or else (Ekind (Current_Scope) = E_Loop ! and then Is_Internal (Current_Scope))) then Pos := Pos - 1; end if; diff -Nrcpad gcc-13.2.0/gcc/ada/frontend.adb gcc-13.3.0/gcc/ada/frontend.adb *** gcc-13.2.0/gcc/ada/frontend.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/frontend.adb Tue May 21 07:47:37 2024 *************** begin *** 426,449 **** -- Cleanup processing after completing main analysis ! -- In GNATprove_Mode we do not perform most expansions but body ! -- instantiation is needed. ! pragma Assert ! (Operating_Mode = Generate_Code ! or else Operating_Mode = Check_Semantics); - if Operating_Mode = Generate_Code - or else GNATprove_Mode - then Instantiate_Bodies; - end if; ! -- Analyze all inlined bodies, check access-before-elaboration ! -- rules, and remove ignored Ghost code when generating code or ! -- compiling for GNATprove. - if Operating_Mode = Generate_Code or else GNATprove_Mode then if Inline_Processing_Required then Analyze_Inlined_Bodies; end if; --- 426,442 ---- -- Cleanup processing after completing main analysis ! pragma Assert (Operating_Mode in Check_Semantics | Generate_Code); ! if Operating_Mode = Generate_Code or else GNATprove_Mode then ! ! -- In GNATprove_Mode we do not perform most expansions but body ! -- instantiation is needed. Instantiate_Bodies; ! -- Analyze inlined bodies if required if Inline_Processing_Required then Analyze_Inlined_Bodies; end if; *************** begin *** 455,460 **** --- 448,455 ---- Collect_Garbage_Entities; end if; + -- Check access-before-elaboration rules + if Legacy_Elaboration_Checks then Check_Elab_Calls; end if; diff -Nrcpad gcc-13.2.0/gcc/ada/gcc-interface/decl.cc gcc-13.3.0/gcc/ada/gcc-interface/decl.cc *** gcc-13.2.0/gcc/ada/gcc-interface/decl.cc Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/gcc-interface/decl.cc Tue May 21 07:47:37 2024 *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 1076,1084 **** || EXPRESSION_CLASS_P (inner) /* We need to detect the case where a temporary is created to hold the return value, since we cannot safely rename it at ! top level as it lives only in the elaboration routine. */ ! || (TREE_CODE (inner) == VAR_DECL ! && DECL_RETURN_VALUE_P (inner)) /* We also need to detect the case where the front-end creates a dangling 'reference to a function call at top level and substitutes it in the renaming, for example: --- 1076,1088 ---- || EXPRESSION_CLASS_P (inner) /* We need to detect the case where a temporary is created to hold the return value, since we cannot safely rename it at ! top level because it lives only in the elaboration routine. ! But, at a lower level, an object initialized by a function ! call may be (implicitly) renamed as this temporary by the ! front-end and, in this case, we cannot make a copy. */ ! || (VAR_P (inner) ! && DECL_RETURN_VALUE_P (inner) ! && global_bindings_p ()) /* We also need to detect the case where the front-end creates a dangling 'reference to a function call at top level and substitutes it in the renaming, for example: *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 1092,1103 **** q__b : boolean renames q__R1s.all.e (1); We cannot safely rename the rewritten expression since the ! underlying object lives only in the elaboration routine. */ ! || (TREE_CODE (inner) == INDIRECT_REF && (inner = remove_conversions (TREE_OPERAND (inner, 0), true)) ! && TREE_CODE (inner) == VAR_DECL ! && DECL_RETURN_VALUE_P (inner))) ; /* Otherwise, this is an lvalue being renamed, so it needs to be --- 1096,1109 ---- q__b : boolean renames q__R1s.all.e (1); We cannot safely rename the rewritten expression since the ! underlying object lives only in the elaboration routine but, ! as above, this cannot be done at a lower level. */ ! || (INDIRECT_REF_P (inner) && (inner = remove_conversions (TREE_OPERAND (inner, 0), true)) ! && VAR_P (inner) ! && DECL_RETURN_VALUE_P (inner) ! && global_bindings_p ())) ; /* Otherwise, this is an lvalue being renamed, so it needs to be *************** gnat_to_gnu_subprog_type (Entity_Id gnat *** 6279,6284 **** --- 6285,6296 ---- if (debug_info_p) rest_of_record_type_compilation (gnu_cico_return_type); + + /* Declare it now since it will never be declared otherwise. This + is necessary to ensure that its subtrees are properly marked. */ + create_type_decl (TYPE_NAME (gnu_cico_return_type), + gnu_cico_return_type, + true, debug_info_p, gnat_subprog); } gnu_return_type = gnu_cico_return_type; diff -Nrcpad gcc-13.2.0/gcc/ada/gcc-interface/trans.cc gcc-13.3.0/gcc/ada/gcc-interface/trans.cc *** gcc-13.2.0/gcc/ada/gcc-interface/trans.cc Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/gcc-interface/trans.cc Tue May 21 07:47:37 2024 *************** Subprogram_Body_to_gnu (Node_Id gnat_nod *** 3894,3901 **** gnu_return_var_elmt = NULL_TREE; /* If the function returns by invisible reference, make it explicit in the ! function body. See gnat_to_gnu_subprog_type for more details. */ ! if (TREE_ADDRESSABLE (gnu_subprog_type)) { TREE_TYPE (gnu_result_decl) = build_reference_type (TREE_TYPE (gnu_result_decl)); --- 3894,3904 ---- gnu_return_var_elmt = NULL_TREE; /* If the function returns by invisible reference, make it explicit in the ! function body, but beware that maybe_make_gnu_thunk may already have done ! it if the function is inlined across units. See gnat_to_gnu_subprog_type ! for more details. */ ! if (TREE_ADDRESSABLE (gnu_subprog_type) ! && TREE_CODE (TREE_TYPE (gnu_result_decl)) != REFERENCE_TYPE) { TREE_TYPE (gnu_result_decl) = build_reference_type (TREE_TYPE (gnu_result_decl)); *************** gnat_to_gnu (Node_Id gnat_node) *** 8475,8482 **** 5. If this is a reference to an unconstrained array which is used either as the prefix of an attribute reference that requires an lvalue or in ! a return statement, then return the result unmodified because we want ! to return the original bounds. 6. Finally, if the type of the result is already correct. */ --- 8478,8485 ---- 5. If this is a reference to an unconstrained array which is used either as the prefix of an attribute reference that requires an lvalue or in ! a return statement without storage pool, return the result unmodified ! because we want to return the original bounds. 6. Finally, if the type of the result is already correct. */ *************** gnat_to_gnu (Node_Id gnat_node) *** 8542,8548 **** && Present (Parent (gnat_node)) && ((Nkind (Parent (gnat_node)) == N_Attribute_Reference && lvalue_required_for_attribute_p (Parent (gnat_node))) ! || Nkind (Parent (gnat_node)) == N_Simple_Return_Statement)) ; else if (TREE_TYPE (gnu_result) != gnu_result_type) --- 8545,8552 ---- && Present (Parent (gnat_node)) && ((Nkind (Parent (gnat_node)) == N_Attribute_Reference && lvalue_required_for_attribute_p (Parent (gnat_node))) ! || (Nkind (Parent (gnat_node)) == N_Simple_Return_Statement ! && No (Storage_Pool (Parent (gnat_node)))))) ; else if (TREE_TYPE (gnu_result) != gnu_result_type) *************** maybe_make_gnu_thunk (Entity_Id gnat_thu *** 11047,11053 **** same transformation as Subprogram_Body_to_gnu here. */ if (TREE_ADDRESSABLE (TREE_TYPE (gnu_target)) && DECL_EXTERNAL (gnu_target) ! && !POINTER_TYPE_P (TREE_TYPE (DECL_RESULT (gnu_target)))) { TREE_TYPE (DECL_RESULT (gnu_target)) = build_reference_type (TREE_TYPE (DECL_RESULT (gnu_target))); --- 11051,11057 ---- same transformation as Subprogram_Body_to_gnu here. */ if (TREE_ADDRESSABLE (TREE_TYPE (gnu_target)) && DECL_EXTERNAL (gnu_target) ! && TREE_CODE (TREE_TYPE (DECL_RESULT (gnu_target))) != REFERENCE_TYPE) { TREE_TYPE (DECL_RESULT (gnu_target)) = build_reference_type (TREE_TYPE (DECL_RESULT (gnu_target))); diff -Nrcpad gcc-13.2.0/gcc/ada/gcc-interface/utils.cc gcc-13.3.0/gcc/ada/gcc-interface/utils.cc *** gcc-13.2.0/gcc/ada/gcc-interface/utils.cc Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/gcc-interface/utils.cc Tue May 21 07:47:37 2024 *************** finish_record_type (tree record_type, tr *** 2155,2161 **** /* If this is a padding record, we never want to make the size smaller than what was specified in it, if any. */ if (TYPE_IS_PADDING_P (record_type) && had_size) ! size = TYPE_SIZE (record_type); else size = round_up (size, BITS_PER_UNIT); --- 2155,2161 ---- /* If this is a padding record, we never want to make the size smaller than what was specified in it, if any. */ if (TYPE_IS_PADDING_P (record_type) && had_size) ! size = round_up (TYPE_SIZE (record_type), BITS_PER_UNIT); else size = round_up (size, BITS_PER_UNIT); diff -Nrcpad gcc-13.2.0/gcc/ada/gcc-interface/utils2.cc gcc-13.3.0/gcc/ada/gcc-interface/utils2.cc *** gcc-13.2.0/gcc/ada/gcc-interface/utils2.cc Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/gcc-interface/utils2.cc Tue May 21 07:47:37 2024 *************** build_binary_op (enum tree_code op_code, *** 1137,1150 **** tree left_ref_type = TREE_TYPE (left_base_type); tree right_ref_type = TREE_TYPE (right_base_type); ! /* Anonymous access types in Ada 2005 can point to different ! members of a tagged hierarchy or different function types. */ ! gcc_assert (TYPE_MAIN_VARIANT (left_ref_type) ! == TYPE_MAIN_VARIANT (right_ref_type) ! || (TYPE_ALIGN_OK (left_ref_type) ! && TYPE_ALIGN_OK (right_ref_type)) ! || (TREE_CODE (left_ref_type) == FUNCTION_TYPE ! && TREE_CODE (right_ref_type) == FUNCTION_TYPE)); best_type = left_base_type; } --- 1137,1146 ---- tree left_ref_type = TREE_TYPE (left_base_type); tree right_ref_type = TREE_TYPE (right_base_type); ! /* Anonymous access types in Ada 2005 may point to compatible ! object subtypes or function types in the language sense. */ ! gcc_assert (FUNCTION_POINTER_TYPE_P (left_ref_type) ! == FUNCTION_POINTER_TYPE_P (right_ref_type)); best_type = left_base_type; } diff -Nrcpad gcc-13.2.0/gcc/ada/inline.adb gcc-13.3.0/gcc/ada/inline.adb *** gcc-13.2.0/gcc/ada/inline.adb Thu Jul 27 08:13:03 2023 --- gcc-13.3.0/gcc/ada/inline.adb Tue May 21 07:47:37 2024 *************** package body Inline is *** 4105,4110 **** --- 4105,4111 ---- Object_Definition => New_Copy_Tree (Object_Definition (Parent (Targ1)))); Replace_Formals (Decl); + Set_No_Initialization (Decl); Rewrite (Parent (N), Decl); Analyze (Parent (N)); diff -Nrcpad gcc-13.2.0/gcc/ada/repinfo.adb gcc-13.3.0/gcc/ada/repinfo.adb *** gcc-13.2.0/gcc/ada/repinfo.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/repinfo.adb Tue May 21 07:47:38 2024 *************** package body Repinfo is *** 991,1002 **** procedure List_Structural_Record_Layout (Ent : Entity_Id; Ext_Ent : Entity_Id; ! Ext_Level : Nat := 0; Variant : Node_Id := Empty; Indent : Natural := 0); -- Internal recursive procedure to display the structural layout. -- If Ext_Ent is not equal to Ent, it is an extension of Ent and ! -- Ext_Level is the number of successive extensions between them. -- If Variant is present, it's for a variant in the variant part -- instead of the common part of Ent. Indent is the indentation. --- 991,1007 ---- procedure List_Structural_Record_Layout (Ent : Entity_Id; Ext_Ent : Entity_Id; ! Ext_Level : Integer := 0; Variant : Node_Id := Empty; Indent : Natural := 0); -- Internal recursive procedure to display the structural layout. -- If Ext_Ent is not equal to Ent, it is an extension of Ent and ! -- Ext_Level is the number of successive extensions between them, ! -- with the convention that this number is positive when we are ! -- called from the fixed part of Ext_Ent and negative when we are ! -- called from the variant part of Ext_Ent, if any; this is needed ! -- because the fixed and variant parts of a parent of an extension ! -- cannot be listed contiguously from this extension's viewpoint. -- If Variant is present, it's for a variant in the variant part -- instead of the common part of Ent. Indent is the indentation. *************** package body Repinfo is *** 1362,1368 **** procedure List_Structural_Record_Layout (Ent : Entity_Id; Ext_Ent : Entity_Id; ! Ext_Level : Nat := 0; Variant : Node_Id := Empty; Indent : Natural := 0) is --- 1367,1373 ---- procedure List_Structural_Record_Layout (Ent : Entity_Id; Ext_Ent : Entity_Id; ! Ext_Level : Integer := 0; Variant : Node_Id := Empty; Indent : Natural := 0) is *************** package body Repinfo is *** 1381,1387 **** Derived_Disc : Entity_Id; begin ! Derived_Disc := First_Discriminant (Ext_Ent); -- Loop over the discriminants of the extension --- 1386,1401 ---- Derived_Disc : Entity_Id; begin ! -- Deal with an extension of a type with unknown discriminants ! ! if Has_Unknown_Discriminants (Ext_Ent) ! and then Present (Underlying_Record_View (Ext_Ent)) ! then ! Derived_Disc := ! First_Discriminant (Underlying_Record_View (Ext_Ent)); ! else ! Derived_Disc := First_Discriminant (Ext_Ent); ! end if; -- Loop over the discriminants of the extension *************** package body Repinfo is *** 1418,1423 **** --- 1432,1438 ---- Comp : Node_Id; Comp_List : Node_Id; First : Boolean := True; + Parent_Ent : Entity_Id := Empty; Var : Node_Id; -- Start of processing for List_Structural_Record_Layout *************** package body Repinfo is *** 1471,1478 **** raise Not_In_Extended_Main; end if; ! List_Structural_Record_Layout ! (Parent_Type, Ext_Ent, Ext_Level + 1); end if; First := False; --- 1486,1496 ---- raise Not_In_Extended_Main; end if; ! Parent_Ent := Parent_Type; ! if Ext_Level >= 0 then ! List_Structural_Record_Layout ! (Parent_Ent, Ext_Ent, Ext_Level + 1); ! end if; end if; First := False; *************** package body Repinfo is *** 1488,1493 **** --- 1506,1512 ---- if Has_Discriminants (Ent) and then not Is_Unchecked_Union (Ent) + and then Ext_Level >= 0 then Disc := First_Discriminant (Ent); while Present (Disc) loop *************** package body Repinfo is *** 1509,1515 **** --- 1528,1539 ---- if No (Listed_Disc) then goto Continue_Disc; + + elsif not Known_Normalized_Position (Listed_Disc) then + Listed_Disc := + Original_Record_Component (Listed_Disc); end if; + else Listed_Disc := Disc; end if; *************** package body Repinfo is *** 1543,1549 **** -- Now deal with the regular components, if any ! if Present (Component_Items (Comp_List)) then Comp := First_Non_Pragma (Component_Items (Comp_List)); while Present (Comp) loop --- 1567,1575 ---- -- Now deal with the regular components, if any ! if Present (Component_Items (Comp_List)) ! and then (Present (Variant) or else Ext_Level >= 0) ! then Comp := First_Non_Pragma (Component_Items (Comp_List)); while Present (Comp) loop *************** package body Repinfo is *** 1571,1576 **** --- 1597,1616 ---- end loop; end if; + -- Stop there if we are called from the fixed part of Ext_Ent, + -- we'll do the variant part when called from its variant part. + + if Ext_Level > 0 then + return; + end if; + + -- List the layout of the variant part of the parent, if any + + if Present (Parent_Ent) then + List_Structural_Record_Layout + (Parent_Ent, Ext_Ent, Ext_Level - 1); + end if; + -- We are done if there is no variant part if No (Variant_Part (Comp_List)) then *************** package body Repinfo is *** 1582,1588 **** Write_Line (" ],"); Spaces (Indent); Write_Str (" """); ! for J in 1 .. Ext_Level loop Write_Str ("parent_"); end loop; Write_Str ("variant"" : ["); --- 1622,1628 ---- Write_Line (" ],"); Spaces (Indent); Write_Str (" """); ! for J in Ext_Level .. -1 loop Write_Str ("parent_"); end loop; Write_Str ("variant"" : ["); diff -Nrcpad gcc-13.2.0/gcc/ada/repinfo.ads gcc-13.3.0/gcc/ada/repinfo.ads *** gcc-13.2.0/gcc/ada/repinfo.ads Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/repinfo.ads Tue May 21 07:47:38 2024 *************** package Repinfo is *** 244,250 **** -- "present" and "record" are present for every variant. The value of -- "present" is a boolean expression that evaluates to true when the -- components of the variant are contained in the record type and to ! -- false when they are not. The value of "record" is the list of -- components in the variant. "variant" is present only if the variant -- itself has a variant part and its value is the list of (sub)variants. --- 244,253 ---- -- "present" and "record" are present for every variant. The value of -- "present" is a boolean expression that evaluates to true when the -- components of the variant are contained in the record type and to ! -- false when they are not, with the exception that a value of 1 means ! -- that the components of the variant are contained in the record type ! -- only when the "present" member of all the preceding variants in the ! -- variant list evaluates to false. The value of "record" is the list of -- components in the variant. "variant" is present only if the variant -- itself has a variant part and its value is the list of (sub)variants. diff -Nrcpad gcc-13.2.0/gcc/ada/sem_aggr.adb gcc-13.3.0/gcc/ada/sem_aggr.adb *** gcc-13.2.0/gcc/ada/sem_aggr.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_aggr.adb Tue May 21 07:47:38 2024 *************** package body Sem_Aggr is *** 3157,3162 **** --- 3157,3163 ---- if Present (Add_Unnamed_Subp) and then No (New_Indexed_Subp) + and then Etype (Add_Unnamed_Subp) /= Any_Type then declare Elmt_Type : constant Entity_Id := *************** package body Sem_Aggr is *** 3200,3206 **** end if; end; ! elsif Present (Add_Named_Subp) then declare -- Retrieves types of container, key, and element from the -- specified insertion procedure. --- 3201,3209 ---- end if; end; ! elsif Present (Add_Named_Subp) ! and then Etype (Add_Named_Subp) /= Any_Type ! then declare -- Retrieves types of container, key, and element from the -- specified insertion procedure. *************** package body Sem_Aggr is *** 3242,3248 **** end loop; end; ! elsif Present (Assign_Indexed_Subp) then -- Indexed Aggregate. Positional or indexed component -- can be present, but not both. Choices must be static -- values or ranges with static bounds. --- 3245,3253 ---- end loop; end; ! elsif Present (Assign_Indexed_Subp) ! and then Etype (Assign_Indexed_Subp) /= Any_Type ! then -- Indexed Aggregate. Positional or indexed component -- can be present, but not both. Choices must be static -- values or ranges with static bounds. diff -Nrcpad gcc-13.2.0/gcc/ada/sem_attr.adb gcc-13.3.0/gcc/ada/sem_attr.adb *** gcc-13.2.0/gcc/ada/sem_attr.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_attr.adb Tue May 21 07:47:38 2024 *************** package body Sem_Attr is *** 10943,10948 **** --- 10943,10951 ---- -- Returns True if Declared_Entity is declared within the declarative -- region of Generic_Unit; otherwise returns False. + function Is_Thin_Pointer_To_Unc_Array (T : Entity_Id) return Boolean; + -- Return True if T is a thin pointer to an unconstrained array type + ---------------------------------- -- Declared_Within_Generic_Unit -- ---------------------------------- *************** package body Sem_Attr is *** 10970,10975 **** --- 10973,11000 ---- return False; end Declared_Within_Generic_Unit; + ---------------------------------- + -- Is_Thin_Pointer_To_Unc_Array -- + ---------------------------------- + + function Is_Thin_Pointer_To_Unc_Array (T : Entity_Id) return Boolean is + begin + if Is_Access_Type (T) + and then Has_Size_Clause (T) + and then RM_Size (T) = System_Address_Size + then + declare + DT : constant Entity_Id := Designated_Type (T); + + begin + return Is_Array_Type (DT) and then not Is_Constrained (DT); + end; + + else + return False; + end if; + end Is_Thin_Pointer_To_Unc_Array; + -- Start of processing for Resolve_Attribute begin *************** package body Sem_Attr is *** 11445,11453 **** end if; end if; ! if Attr_Id in Attribute_Access | Attribute_Unchecked_Access ! and then (Ekind (Btyp) = E_General_Access_Type ! or else Ekind (Btyp) = E_Anonymous_Access_Type) then -- Ada 2005 (AI-230): Check the accessibility of anonymous -- access types for stand-alone objects, record and array --- 11470,11476 ---- end if; end if; ! if Ekind (Btyp) in E_General_Access_Type | E_Anonymous_Access_Type then -- Ada 2005 (AI-230): Check the accessibility of anonymous -- access types for stand-alone objects, record and array *************** package body Sem_Attr is *** 11455,11460 **** --- 11478,11484 ---- -- the level is the same of the enclosing composite type. if Ada_Version >= Ada_2005 + and then Attr_Id = Attribute_Access and then (Is_Local_Anonymous_Access (Btyp) -- Handle cases where Btyp is the anonymous access *************** package body Sem_Attr is *** 11462,11468 **** or else Nkind (Associated_Node_For_Itype (Btyp)) = N_Object_Declaration) - and then Attr_Id = Attribute_Access -- Verify that static checking is OK (namely that we aren't -- in a specific context requiring dynamic checks on --- 11486,11491 ---- *************** package body Sem_Attr is *** 11501,11507 **** end if; end if; ! if Is_Dependent_Component_Of_Mutable_Object (P) then Error_Msg_F ("illegal attribute for discriminant-dependent component", P); --- 11524,11532 ---- end if; end if; ! if Attr_Id /= Attribute_Unrestricted_Access ! and then Is_Dependent_Component_Of_Mutable_Object (P) ! then Error_Msg_F ("illegal attribute for discriminant-dependent component", P); *************** package body Sem_Attr is *** 11516,11522 **** Nom_Subt := Base_Type (Nom_Subt); end if; ! if Is_Tagged_Type (Designated_Type (Typ)) then -- If the attribute is in the context of an access -- parameter, then the prefix is allowed to be of --- 11541,11559 ---- Nom_Subt := Base_Type (Nom_Subt); end if; ! -- We do not enforce static matching for Unrestricted_Access ! -- except for a thin pointer to an unconstrained array type, ! -- because, in this case, the designated object must contain ! -- its bounds, which means that it must have an unconstrained ! -- nominal subtype (and be aliased, as will be checked below). ! ! if Attr_Id = Attribute_Unrestricted_Access ! and then not (Is_Thin_Pointer_To_Unc_Array (Typ) ! and then Is_Aliased_View (Original_Node (P))) ! then ! null; ! ! elsif Is_Tagged_Type (Designated_Type (Typ)) then -- If the attribute is in the context of an access -- parameter, then the prefix is allowed to be of *************** package body Sem_Attr is *** 11626,11633 **** Compatible_Alt_Checks : constant Boolean := No_Dynamic_Acc_Checks and then not Debug_Flag_Underscore_B; begin ! if Attr_Id /= Attribute_Unchecked_Access and then (Ekind (Btyp) = E_General_Access_Type or else No_Dynamic_Acc_Checks) --- 11663,11671 ---- Compatible_Alt_Checks : constant Boolean := No_Dynamic_Acc_Checks and then not Debug_Flag_Underscore_B; + begin ! if Attr_Id = Attribute_Access and then (Ekind (Btyp) = E_General_Access_Type or else No_Dynamic_Acc_Checks) *************** package body Sem_Attr is *** 11817,11838 **** -- Check for unrestricted access where expected type is a thin -- pointer to an unconstrained array. ! elsif Has_Size_Clause (Typ) ! and then RM_Size (Typ) = System_Address_Size ! then ! declare ! DT : constant Entity_Id := Designated_Type (Typ); ! begin ! if Is_Array_Type (DT) ! and then not Is_Constrained (DT) ! then ! Error_Msg_N ! ("illegal use of Unrestricted_Access attribute", P); ! Error_Msg_N ! ("\attempt to generate thin pointer to unaliased " ! & "object", P); ! end if; ! end; end if; end if; --- 11855,11866 ---- -- Check for unrestricted access where expected type is a thin -- pointer to an unconstrained array. ! elsif Is_Thin_Pointer_To_Unc_Array (Typ) then ! Error_Msg_N ! ("illegal use of Unrestricted_Access attribute", P); ! Error_Msg_N ! ("\attempt to generate thin pointer to unaliased " ! & "object", P); end if; end if; diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch10.adb gcc-13.3.0/gcc/ada/sem_ch10.adb *** gcc-13.2.0/gcc/ada/sem_ch10.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch10.adb Tue May 21 07:47:38 2024 *************** package body Sem_Ch10 is *** 230,235 **** --- 230,238 ---- -- Reset all visibility flags on unit after compiling it, either as a main -- unit or as a unit in the context. + procedure Replace (Old_E, New_E : Entity_Id); + -- Replace Old_E by New_E on visibility list + procedure Unchain (E : Entity_Id); -- Remove single entity from visibility list *************** package body Sem_Ch10 is *** 5147,5161 **** and then not Is_Child_Unit (Lim_Typ) then declare ! Non_Lim_View : constant Entity_Id := ! Non_Limited_View (Lim_Typ); Prev : Entity_Id; begin ! Prev := Current_Entity (Lim_Typ); ! ! -- Replace Non_Lim_View in the homonyms list, so that the -- limited view becomes available. -- If the nonlimited view is a record with an anonymous --- 5150,5161 ---- and then not Is_Child_Unit (Lim_Typ) then declare ! Typ : constant Entity_Id := Non_Limited_View (Lim_Typ); Prev : Entity_Id; begin ! -- Replace Typ by Lim_Typ in the homonyms list, so that the -- limited view becomes available. -- If the nonlimited view is a record with an anonymous *************** package body Sem_Ch10 is *** 5187,5224 **** -- -- [*] denotes the visible entity (Current_Entity) ! if Prev = Non_Lim_View ! or else ! (Ekind (Prev) = E_Incomplete_Type ! and then Full_View (Prev) = Non_Lim_View) ! or else ! (Ekind (Prev) = E_Incomplete_Type ! and then From_Limited_With (Prev) ! and then ! Ekind (Non_Limited_View (Prev)) = E_Incomplete_Type ! and then ! Full_View (Non_Limited_View (Prev)) = Non_Lim_View) ! then ! Set_Current_Entity (Lim_Typ); ! else ! while Present (Homonym (Prev)) ! and then Homonym (Prev) /= Non_Lim_View ! loop ! Prev := Homonym (Prev); ! end loop; ! Set_Homonym (Prev, Lim_Typ); ! end if; ! Set_Homonym (Lim_Typ, Homonym (Non_Lim_View)); ! end; ! if Debug_Flag_I then ! Write_Str (" (homonym) chain "); ! Write_Name (Chars (Lim_Typ)); ! Write_Eol; ! end if; end if; Next_Entity (Lim_Typ); --- 5187,5233 ---- -- -- [*] denotes the visible entity (Current_Entity) ! Prev := Current_Entity (Lim_Typ); ! while Present (Prev) loop ! -- This is a regular replacement ! if Prev = Typ ! or else (Ekind (Prev) = E_Incomplete_Type ! and then Full_View (Prev) = Typ) ! then ! Replace (Prev, Lim_Typ); ! if Debug_Flag_I then ! Write_Str (" (homonym) replace "); ! Write_Name (Chars (Typ)); ! Write_Eol; ! end if; ! exit; ! ! -- This is where E1 is replaced with E4 ! ! elsif Ekind (Prev) = E_Incomplete_Type ! and then From_Limited_With (Prev) ! and then ! Ekind (Non_Limited_View (Prev)) = E_Incomplete_Type ! and then Full_View (Non_Limited_View (Prev)) = Typ ! then ! Replace (Prev, Lim_Typ); ! ! if Debug_Flag_I then ! Write_Str (" (homonym) E1 -> E4 "); ! Write_Name (Chars (Typ)); ! Write_Eol; ! end if; ! ! exit; ! end if; ! ! Prev := Homonym (Prev); ! end loop; ! end; end if; Next_Entity (Lim_Typ); *************** package body Sem_Ch10 is *** 5311,5316 **** --- 5320,5329 ---- if Debug_Flag_I then if Private_Present (With_Clause) then Write_Str ("install private withed unit "); + elsif Parent_With (With_Clause) then + Write_Str ("install parent withed unit "); + elsif Implicit_With (With_Clause) then + Write_Str ("install implicit withed unit "); else Write_Str ("install withed unit "); end if; *************** package body Sem_Ch10 is *** 6650,6658 **** ------------------------------ procedure Restore_Chain_For_Shadow (Shadow : Entity_Id) is ! Is_E3 : Boolean; Prev : Entity_Id; - Typ : Entity_Id; begin -- If the package has incomplete types, the limited view of the --- 6663,6672 ---- ------------------------------ procedure Restore_Chain_For_Shadow (Shadow : Entity_Id) is ! Typ : constant Entity_Id := Non_Limited_View (Shadow); ! pragma Assert (not In_Chain (Typ)); ! Prev : Entity_Id; begin -- If the package has incomplete types, the limited view of the *************** package body Sem_Ch10 is *** 6661,6669 **** -- the incomplete type at stake. This in turn has a full view -- E3 that is the full declaration, with a corresponding -- shadow entity E4. When reinstalling the nonlimited view, ! -- the nonvisible entity E1 is first replaced with E2, but then ! -- E3 must *not* become the visible entity as it is replacing E4 ! -- in the homonyms list and simply be ignored. -- -- regular views limited views -- --- 6675,6682 ---- -- the incomplete type at stake. This in turn has a full view -- E3 that is the full declaration, with a corresponding -- shadow entity E4. When reinstalling the nonlimited view, ! -- the visible entity E4 is replaced directly with E2 in the ! -- the homonyms list and E3 is simply ignored. -- -- regular views limited views -- *************** package body Sem_Ch10 is *** 6676,6715 **** -- -- [*] denotes the visible entity (Current_Entity) ! Typ := Non_Limited_View (Shadow); ! pragma Assert (not In_Chain (Typ)); ! Is_E3 := Nkind (Parent (Typ)) = N_Full_Type_Declaration ! and then Present (Incomplete_View (Parent (Typ))); ! Prev := Current_Entity (Shadow); ! if Prev = Shadow then ! if Is_E3 then ! Set_Name_Entity_Id (Chars (Prev), Homonym (Prev)); ! return; ! else ! Set_Current_Entity (Typ); ! end if; ! else ! while Present (Homonym (Prev)) ! and then Homonym (Prev) /= Shadow ! loop ! Prev := Homonym (Prev); ! end loop; ! if Is_E3 then ! Set_Homonym (Prev, Homonym (Shadow)); ! return; ! else ! Set_Homonym (Prev, Typ); end if; - end if; ! Set_Homonym (Typ, Homonym (Shadow)); end Restore_Chain_For_Shadow; -------------------- --- 6689,6730 ---- -- -- [*] denotes the visible entity (Current_Entity) ! Prev := Current_Entity (Shadow); ! while Present (Prev) loop ! -- This is a regular replacement ! if Prev = Shadow then ! Replace (Prev, Typ); ! if Debug_Flag_I then ! Write_Str (" (homonym) replace "); ! Write_Name (Chars (Typ)); ! Write_Eol; ! end if; ! exit; ! -- This is where E4 is replaced with E2 ! elsif Ekind (Prev) = E_Incomplete_Type ! and then From_Limited_With (Prev) ! and then Ekind (Typ) = E_Incomplete_Type ! and then Full_View (Typ) = Non_Limited_View (Prev) ! then ! Replace (Prev, Typ); ! if Debug_Flag_I then ! Write_Str (" (homonym) E4 -> E2 "); ! Write_Name (Chars (Typ)); ! Write_Eol; ! end if; ! ! exit; end if; ! Prev := Homonym (Prev); ! end loop; end Restore_Chain_For_Shadow; -------------------- *************** package body Sem_Ch10 is *** 7012,7017 **** --- 7027,7061 ---- end sm; ------------- + -- Replace -- + ------------- + + procedure Replace (Old_E, New_E : Entity_Id) is + Prev : Entity_Id; + + begin + Prev := Current_Entity (Old_E); + + if No (Prev) then + return; + + elsif Prev = Old_E then + Set_Current_Entity (New_E); + Set_Homonym (New_E, Homonym (Old_E)); + + else + while Present (Prev) and then Homonym (Prev) /= Old_E loop + Prev := Homonym (Prev); + end loop; + + if Present (Prev) then + Set_Homonym (Prev, New_E); + Set_Homonym (New_E, Homonym (Old_E)); + end if; + end if; + end Replace; + + ------------- -- Unchain -- ------------- diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch12.adb gcc-13.3.0/gcc/ada/sem_ch12.adb *** gcc-13.2.0/gcc/ada/sem_ch12.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch12.adb Tue May 21 07:47:38 2024 *************** package body Sem_Ch12 is *** 7966,7976 **** -- Special casing for identifiers and other entity names and operators ! if Nkind (New_N) in N_Character_Literal ! | N_Expanded_Name ! | N_Identifier ! | N_Operator_Symbol ! | N_Op then if not Instantiating then --- 7966,7976 ---- -- Special casing for identifiers and other entity names and operators ! if Nkind (N) in N_Character_Literal ! | N_Expanded_Name ! | N_Identifier ! | N_Operator_Symbol ! | N_Op then if not Instantiating then *************** package body Sem_Ch12 is *** 8174,8179 **** --- 8174,8188 ---- then Set_Entity (New_N, Assoc); + -- Cope with the rewriting into expanded name that may have + -- occurred in between, e.g. in Check_Generic_Child_Unit for + -- generic renaming declarations. + + elsif Nkind (Assoc) = N_Expanded_Name then + Rewrite (N, New_Copy_Tree (Assoc)); + Set_Associated_Node (N, Assoc); + return Copy_Generic_Node (N, Parent_Id, Instantiating); + -- The name in the call may be a selected component if the -- call has not been analyzed yet, as may be the case for -- pre/post conditions in a generic unit. *************** package body Sem_Ch12 is *** 8184,8193 **** Set_Entity (New_N, Entity (Name (Assoc))); elsif Nkind (Assoc) in N_Entity ! and then (Expander_Active or ! (GNATprove_Mode ! and then not In_Spec_Expression ! and then not Inside_A_Generic)) then -- Inlining case: we are copying a tree that contains -- global entities, which are preserved in the copy to be --- 8193,8202 ---- Set_Entity (New_N, Entity (Name (Assoc))); elsif Nkind (Assoc) in N_Entity ! and then (Expander_Active ! or else (GNATprove_Mode ! and then not In_Spec_Expression ! and then not Inside_A_Generic)) then -- Inlining case: we are copying a tree that contains -- global entities, which are preserved in the copy to be *************** package body Sem_Ch12 is *** 11924,11935 **** return; end if; - -- The package being instantiated may be subject to pragma Ghost. Set - -- the mode now to ensure that any nodes generated during instantiation - -- are properly marked as Ghost. - - Set_Ghost_Mode (Act_Decl_Id); - Expander_Mode_Save_And_Set (Body_Info.Expander_Status); -- Re-establish the state of information on which checks are suppressed. --- 11933,11938 ---- *************** package body Sem_Ch12 is *** 12042,12047 **** --- 12045,12056 ---- Instantiation_Node := Inst_Node; end if; + -- The package being instantiated may be subject to pragma Ghost. Set + -- the mode now to ensure that any nodes generated during instantiation + -- are properly marked as Ghost. + + Set_Ghost_Mode (Act_Decl_Id); + if Present (Gen_Body_Id) then Save_Env (Gen_Unit, Act_Decl_Id); Style_Check := False; *************** package body Sem_Ch12 is *** 12484,12495 **** return; end if; - -- The subprogram being instantiated may be subject to pragma Ghost. Set - -- the mode now to ensure that any nodes generated during instantiation - -- are properly marked as Ghost. - - Set_Ghost_Mode (Act_Decl_Id); - Expander_Mode_Save_And_Set (Body_Info.Expander_Status); -- Re-establish the state of information on which checks are suppressed. --- 12493,12498 ---- *************** package body Sem_Ch12 is *** 12527,12532 **** --- 12530,12541 ---- Instantiation_Node := Inst_Node; + -- The subprogram being instantiated may be subject to pragma Ghost. Set + -- the mode now to ensure that any nodes generated during instantiation + -- are properly marked as Ghost. + + Set_Ghost_Mode (Act_Decl_Id); + if Present (Gen_Body_Id) then Gen_Body := Unit_Declaration_Node (Gen_Body_Id); *************** package body Sem_Ch12 is *** 13429,13436 **** Ancestor := Get_Instance_Of (Ancestor); else ! Ancestor := ! Get_Instance_Of (Base_Type (Get_Instance_Of (A_Gen_T))); end if; -- Check whether parent is a previous formal of the current generic --- 13438,13444 ---- Ancestor := Get_Instance_Of (Ancestor); else ! Ancestor := Get_Instance_Of (Etype (Get_Instance_Of (A_Gen_T))); end if; -- Check whether parent is a previous formal of the current generic diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch13.adb gcc-13.3.0/gcc/ada/sem_ch13.adb *** gcc-13.2.0/gcc/ada/sem_ch13.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch13.adb Tue May 21 07:47:38 2024 *************** with Exp_Ch3; use Exp_Ch3; *** 38,43 **** --- 38,44 ---- with Exp_Disp; use Exp_Disp; with Exp_Tss; use Exp_Tss; with Exp_Util; use Exp_Util; + with Expander; use Expander; with Freeze; use Freeze; with Ghost; use Ghost; with Lib; use Lib; *************** package body Sem_Ch13 is *** 132,140 **** function Build_Predicate_Function_Declaration (Typ : Entity_Id) return Node_Id; -- Build the declaration for a predicate function. The declaration is built ! -- at the end of the declarative part containing the type definition, which ! -- may be before the freeze point of the type. The predicate expression is ! -- preanalyzed at this point, to catch visibility errors. procedure Build_Predicate_Function (Typ : Entity_Id; N : Node_Id); -- If Typ has predicates (indicated by Has_Predicates being set for Typ), --- 133,139 ---- function Build_Predicate_Function_Declaration (Typ : Entity_Id) return Node_Id; -- Build the declaration for a predicate function. The declaration is built ! -- at the same time as the body but inserted before, as explained below. procedure Build_Predicate_Function (Typ : Entity_Id; N : Node_Id); -- If Typ has predicates (indicated by Has_Predicates being set for Typ), *************** package body Sem_Ch13 is *** 1409,1427 **** --- 1408,1440 ---- -- Subsidiary to the analysis of aspects -- Abstract_State -- Attach_Handler + -- Async_Readers + -- Async_Writers + -- Constant_After_Elaboration -- Contract_Cases + -- Convention + -- Default_Initial_Condition + -- Default_Storage_Pool -- Depends -- Ghost -- Global -- Initial_Condition -- Initializes + -- Max_Entry_Queue_Depth + -- Max_Entry_Queue_Length + -- Max_Queue_Length + -- No_Caching + -- Part_Of -- Post -- Pre -- Refined_Depends -- Refined_Global + -- Refined_Post -- Refined_State -- SPARK_Mode + -- Secondary_Stack_Size -- Subprogram_Variant + -- Volatile_Function -- Warnings -- Insert pragma Prag such that it mimics the placement of a source -- pragma of the same kind. Flag Is_Generic should be set when the *************** package body Sem_Ch13 is *** 2908,2917 **** end case; if Delay_Required - and then (A_Id = Aspect_Stable_Properties or else A_Id = Aspect_Designated_Storage_Model ! or else A_Id = Aspect_Storage_Model_Type) -- ??? It seems like we should do this for all aspects, not -- just these, but that causes as-yet-undiagnosed regressions. --- 2921,2930 ---- end case; if Delay_Required and then (A_Id = Aspect_Stable_Properties or else A_Id = Aspect_Designated_Storage_Model ! or else A_Id = Aspect_Storage_Model_Type ! or else A_Id = Aspect_Aggregate) -- ??? It seems like we should do this for all aspects, not -- just these, but that causes as-yet-undiagnosed regressions. *************** package body Sem_Ch13 is *** 3062,3077 **** Expression => Relocate_Node (Expr))), Pragma_Name => Name_Linker_Section); ! -- Linker_Section does not need delaying, as its argument ! -- must be a static string. Furthermore, if applied to ! -- an object with an explicit initialization, the object ! -- must be frozen in order to elaborate the initialization ! -- code. (This is already done for types with implicit ! -- initialization, such as protected types.) ! if Nkind (N) = N_Object_Declaration ! and then Has_Init_Expression (N) ! then Delay_Required := False; end if; --- 3075,3085 ---- Expression => Relocate_Node (Expr))), Pragma_Name => Name_Linker_Section); ! -- No need to delay the processing if the entity is already ! -- frozen. This should only happen for subprogram bodies. ! if Is_Frozen (E) then ! pragma Assert (Nkind (N) = N_Subprogram_Body); Delay_Required := False; end if; *************** package body Sem_Ch13 is *** 4203,4208 **** --- 4211,4219 ---- Aitem := Empty; when Aspect_Aggregate => + -- We will be checking that the aspect is not specified on a + -- non-array type in Check_Aspect_At_Freeze_Point + Validate_Aspect_Aggregate (Expr); Record_Rep_Item (E, Aspect); goto Continue; *************** package body Sem_Ch13 is *** 4725,4733 **** -- For an aspect that applies to a type, indicate whether it -- appears on a partial view of the type. ! if Is_Type (E) ! and then Is_Private_Type (E) ! then Set_Aspect_On_Partial_View (Aspect); end if; --- 4736,4742 ---- -- For an aspect that applies to a type, indicate whether it -- appears on a partial view of the type. ! if Is_Type (E) and then Is_Private_Type (E) then Set_Aspect_On_Partial_View (Aspect); end if; *************** package body Sem_Ch13 is *** 9853,9858 **** --- 9862,9871 ---- procedure Build_Predicate_Function (Typ : Entity_Id; N : Node_Id) is Loc : constant Source_Ptr := Sloc (Typ); + Saved_GM : constant Ghost_Mode_Type := Ghost_Mode; + Saved_IGR : constant Node_Id := Ignored_Ghost_Region; + -- Save the Ghost-related attributes to restore on exit + Expr : Node_Id; -- This is the expression for the result of the function. It is -- is build by connecting the component predicates with AND THEN. *************** package body Sem_Ch13 is *** 9871,9876 **** --- 9884,9892 ---- SId : Entity_Id; -- Its entity + Restore_Scope : Boolean; + -- True if the current scope must be restored on exit + Ancestor_Predicate_Function_Called : Boolean := False; -- Does this predicate function include a call to the -- predication function of an ancestor subtype? *************** package body Sem_Ch13 is *** 10122,10133 **** Replace_Type_References (N, Typ); end Replace_Current_Instance_References; - -- Local variables - - Saved_GM : constant Ghost_Mode_Type := Ghost_Mode; - Saved_IGR : constant Node_Id := Ignored_Ghost_Region; - -- Save the Ghost-related attributes to restore on exit - -- Start of processing for Build_Predicate_Function begin --- 10138,10143 ---- *************** package body Sem_Ch13 is *** 10166,10171 **** --- 10176,10190 ---- return; end if; + -- Ensure that the declarations are added to the scope of the type + + if Scope (Typ) /= Current_Scope then + Push_Scope (Scope (Typ)); + Restore_Scope := True; + else + Restore_Scope := False; + end if; + -- The related type may be subject to pragma Ghost. Set the mode now to -- ensure that the predicate functions are properly marked as Ghost. *************** package body Sem_Ch13 is *** 10584,10589 **** --- 10603,10612 ---- end if; Restore_Ghost_Region (Saved_GM, Saved_IGR); + + if Restore_Scope then + Pop_Scope; + end if; end Build_Predicate_Function; ------------------------------------------ *************** package body Sem_Ch13 is *** 11122,11127 **** --- 11145,11155 ---- return; when Aspect_Aggregate => + if Is_Array_Type (Entity (ASN)) then + Error_Msg_N + ("aspect& can only be applied to non-array type", + Ident); + end if; Resolve_Aspect_Aggregate (Entity (ASN), Expression (ASN)); return; *************** package body Sem_Ch13 is *** 15419,15433 **** function Visible_Component (Comp : Name_Id) return Entity_Id is E : Entity_Id; begin ! -- Types with nameable components are record, task, and protected ! -- types, and discriminated private types. ! if Ekind (T) in E_Record_Type ! | E_Task_Type ! | E_Protected_Type ! or else (Is_Private_Type (T) and then Has_Discriminants (T)) ! then -- This is a sequential search, which seems acceptable -- efficiency-wise, given the typical size of component -- lists, protected operation lists, task item lists, and --- 15447,15457 ---- function Visible_Component (Comp : Name_Id) return Entity_Id is E : Entity_Id; + begin ! -- Types with nameable components are record, task, protected types ! if Ekind (T) in E_Record_Type | E_Task_Type | E_Protected_Type then -- This is a sequential search, which seems acceptable -- efficiency-wise, given the typical size of component -- lists, protected operation lists, task item lists, and *************** package body Sem_Ch13 is *** 15441,15446 **** --- 15465,15510 ---- Next_Entity (E); end loop; + + -- Private discriminated types may have visible discriminants + + elsif Is_Private_Type (T) and then Has_Discriminants (T) then + declare + Decl : constant Node_Id := Declaration_Node (T); + + Discr : Node_Id; + + begin + -- Loop over the discriminants listed in the discriminant part + -- of the private type declaration to find one with a matching + -- name; then, if it exists, return the discriminant entity of + -- the same name in the type, which is that of its full view. + + if Nkind (Decl) in N_Private_Extension_Declaration + | N_Private_Type_Declaration + and then Present (Discriminant_Specifications (Decl)) + then + Discr := First (Discriminant_Specifications (Decl)); + + while Present (Discr) loop + if Chars (Defining_Identifier (Discr)) = Comp then + Discr := First_Discriminant (T); + + while Present (Discr) loop + if Chars (Discr) = Comp then + return Discr; + end if; + + Next_Discriminant (Discr); + end loop; + + pragma Assert (False); + end if; + + Next (Discr); + end loop; + end if; + end; end if; -- Nothing by that name *************** package body Sem_Ch13 is *** 15556,15570 **** -- Preanalyze expression after type replacement to catch -- name resolution errors if the predicate function has -- not been built yet. -- Note that we cannot use Preanalyze_Spec_Expression ! -- because of the special handling required for ! -- quantifiers, see comments on Resolve_Aspect_Expression ! -- above. if No (Predicate_Function (E)) then ! Push_Type (E); ! Resolve_Aspect_Expression (Expr); ! Pop_Type (E); end if; when Pre_Post_Aspects => --- 15620,15648 ---- -- Preanalyze expression after type replacement to catch -- name resolution errors if the predicate function has -- not been built yet. + -- Note that we cannot use Preanalyze_Spec_Expression ! -- directly because of the special handling required for ! -- quantifiers (see comments on Resolve_Aspect_Expression ! -- above) but we need to emulate it properly. if No (Predicate_Function (E)) then ! declare ! Save_In_Spec_Expression : constant Boolean := ! In_Spec_Expression; ! Save_Full_Analysis : constant Boolean := ! Full_Analysis; ! begin ! In_Spec_Expression := True; ! Full_Analysis := False; ! Expander_Mode_Save_And_Set (False); ! Push_Type (E); ! Resolve_Aspect_Expression (Expr); ! Pop_Type (E); ! Expander_Mode_Restore; ! Full_Analysis := Save_Full_Analysis; ! In_Spec_Expression := Save_In_Spec_Expression; ! end; end if; when Pre_Post_Aspects => diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch3.adb gcc-13.3.0/gcc/ada/sem_ch3.adb *** gcc-13.2.0/gcc/ada/sem_ch3.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch3.adb Tue May 21 07:47:38 2024 *************** package body Sem_Ch3 is *** 4956,4964 **** Apply_Length_Check (E, T); end if; ! -- When possible, build the default subtype ! elsif Build_Default_Subtype_OK (T) then if No (E) then Act_T := Build_Default_Subtype (T, N); else --- 4956,4966 ---- Apply_Length_Check (E, T); end if; ! -- When possible, and not a deferred constant, build the default subtype ! elsif Build_Default_Subtype_OK (T) ! and then (not Constant_Present (N) or else Present (E)) ! then if No (E) then Act_T := Build_Default_Subtype (T, N); else *************** package body Sem_Ch3 is *** 4971,4976 **** --- 4973,4979 ---- end if; Rewrite (Object_Definition (N), New_Occurrence_Of (Act_T, Loc)); + Freeze_Before (N, Act_T); elsif Nkind (E) = N_Function_Call and then Constant_Present (N) *************** package body Sem_Ch3 is *** 5958,5974 **** -- If this is a subtype declaration for an actual in an instance, -- inherit static and dynamic predicates if any. - -- If declaration has no aspect specifications, inherit predicate - -- info as well. Unclear how to handle the case of both specified - -- and inherited predicates ??? Other inherited aspects, such as - -- invariants, should be OK, but the combination with later pragmas - -- may also require special merging. - if Has_Predicates (T) and then Present (Predicate_Function (T)) ! and then ! ((In_Instance and then not Comes_From_Source (N)) ! or else No (Aspect_Specifications (N))) then -- Inherit Subprograms_For_Type from the full view, if present --- 5961,5970 ---- -- If this is a subtype declaration for an actual in an instance, -- inherit static and dynamic predicates if any. if Has_Predicates (T) and then Present (Predicate_Function (T)) ! and then In_Instance ! and then not Comes_From_Source (N) then -- Inherit Subprograms_For_Type from the full view, if present *************** package body Sem_Ch3 is *** 18422,18440 **** Analyze (Subtype_Mark (Obj_Def)); declare ! Base_T : constant Entity_Id := Entity (Subtype_Mark (Obj_Def)); ! Decl : constant Node_Id := Make_Subtype_Declaration (Sloc (P), Defining_Identifier => T, ! Subtype_Indication => Relocate_Node (Obj_Def)); begin Set_Etype (T, Base_T); Mutate_Ekind (T, Subtype_Kind (Ekind (Base_T))); ! Set_Parent (T, Obj_Def); if Ekind (T) = E_Array_Subtype then ! Set_First_Index (T, First_Index (Base_T)); ! Set_Is_Constrained (T); elsif Ekind (T) = E_Record_Subtype then Set_First_Entity (T, First_Entity (Base_T)); --- 18418,18438 ---- Analyze (Subtype_Mark (Obj_Def)); declare ! Base_T : constant Entity_Id := Entity (Subtype_Mark (Obj_Def)); ! New_Def : constant Node_Id := New_Copy_Tree (Obj_Def); ! Decl : constant Node_Id := Make_Subtype_Declaration (Sloc (P), Defining_Identifier => T, ! Subtype_Indication => New_Def); ! begin Set_Etype (T, Base_T); Mutate_Ekind (T, Subtype_Kind (Ekind (Base_T))); ! Set_Parent (T, Decl); ! Set_Scope (T, Current_Scope); if Ekind (T) = E_Array_Subtype then ! Constrain_Array (T, New_Def, Related_Nod, T, 'P'); elsif Ekind (T) = E_Record_Subtype then Set_First_Entity (T, First_Entity (Base_T)); diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch4.adb gcc-13.3.0/gcc/ada/sem_ch4.adb *** gcc-13.2.0/gcc/ada/sem_ch4.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch4.adb Tue May 21 07:47:38 2024 *************** package body Sem_Ch4 is *** 255,262 **** -- type is not directly visible. The routine uses this type to emit a more -- informative message. ! function Has_Possible_Literal_Aspects (N : Node_Id) return Boolean; ! -- Ada_2022: if an operand is a literal it may be subject to an -- implicit conversion to a type for which a user-defined literal -- function exists. During the first pass of type resolution we do -- not know the context imposed on the literal, so we assume that --- 255,262 ---- -- type is not directly visible. The routine uses this type to emit a more -- informative message. ! function Has_Possible_User_Defined_Literal (N : Node_Id) return Boolean; ! -- Ada 2022: if an operand is a literal, it may be subject to an -- implicit conversion to a type for which a user-defined literal -- function exists. During the first pass of type resolution we do -- not know the context imposed on the literal, so we assume that *************** package body Sem_Ch4 is *** 1539,1546 **** --- 1539,1552 ---- Set_Etype (N, Full_View (Etype (N))); + -- If the call is within a thunk, the nonlimited view should be + -- analyzed eventually (see also Analyze_Return_Type). + elsif From_Limited_With (Etype (N)) and then Present (Non_Limited_View (Etype (N))) + and then + (Ekind (Non_Limited_View (Etype (N))) /= E_Incomplete_Type + or else Is_Thunk (Current_Scope)) then Set_Etype (N, Non_Limited_View (Etype (N))); *************** package body Sem_Ch4 is *** 2291,2297 **** while Present (It.Nam) loop T := It.Typ; ! if No (First_Formal (Base_Type (Designated_Type (T)))) then Set_Etype (P, T); else Remove_Interp (I); --- 2297,2305 ---- while Present (It.Nam) loop T := It.Typ; ! if Is_Access_Type (T) ! and then No (First_Formal (Base_Type (Designated_Type (T)))) ! then Set_Etype (P, T); else Remove_Interp (I); *************** package body Sem_Ch4 is *** 4024,4030 **** Actual, Etype (Etype (Formal))); end if; ! Wrong_Type (Actual, Etype (Formal)); if Nkind (Actual) = N_Op_Eq and then Nkind (Left_Opnd (Actual)) = N_Identifier --- 4032,4042 ---- Actual, Etype (Etype (Formal))); end if; ! -- If we are going to output a secondary error message ! -- below, we need to have Wrong_Type output the main one. ! ! Wrong_Type ! (Actual, Etype (Formal), Multiple => All_Errors_Mode); if Nkind (Actual) = N_Op_Eq and then Nkind (Left_Opnd (Actual)) = N_Identifier *************** package body Sem_Ch4 is *** 7519,7537 **** if Etype (N) = Any_Type then declare ! L : Node_Id; ! R : Node_Id; ! Op_Id : Entity_Id := Empty; begin - R := Right_Opnd (N); - - if Nkind (N) in N_Binary_Op then - L := Left_Opnd (N); - else - L := Empty; - end if; - -- If either operand has no type, then don't complain further, -- since this simply means that we have a propagated error. --- 7531,7541 ---- if Etype (N) = Any_Type then declare ! L : constant Node_Id := ! (if Nkind (N) in N_Binary_Op then Left_Opnd (N) else Empty); ! R : constant Node_Id := Right_Opnd (N); begin -- If either operand has no type, then don't complain further, -- since this simply means that we have a propagated error. *************** package body Sem_Ch4 is *** 7612,7620 **** then return; ! elsif Present (Entity (N)) ! and then Has_Possible_Literal_Aspects (N) ! then return; -- If we have a logical operator, one of whose operands is --- 7616,7625 ---- then return; ! -- The handling of user-defined literals is deferred to the second ! -- pass of resolution. ! ! elsif Has_Possible_User_Defined_Literal (N) then return; -- If we have a logical operator, one of whose operands is *************** package body Sem_Ch4 is *** 7829,7945 **** end if; end if; ! -- If we fall through then just give general message. Note that in ! -- the following messages, if the operand is overloaded we choose ! -- an arbitrary type to complain about, but that is probably more ! -- useful than not giving a type at all. ! ! if Nkind (N) in N_Unary_Op then ! Error_Msg_Node_2 := Etype (R); ! Error_Msg_N ("operator& not defined for}", N); ! return; ! ! else ! if Nkind (N) in N_Binary_Op then ! if not Is_Overloaded (L) ! and then not Is_Overloaded (R) ! and then Base_Type (Etype (L)) = Base_Type (Etype (R)) ! then ! Error_Msg_Node_2 := First_Subtype (Etype (R)); ! Error_Msg_N ("there is no applicable operator& for}", N); ! ! else ! -- Another attempt to find a fix: one of the candidate ! -- interpretations may not be use-visible. This has ! -- already been checked for predefined operators, so ! -- we examine only user-defined functions. ! ! Op_Id := Get_Name_Entity_Id (Chars (N)); ! ! while Present (Op_Id) loop ! if Ekind (Op_Id) /= E_Operator ! and then Is_Overloadable (Op_Id) ! then ! if not Is_Immediately_Visible (Op_Id) ! and then not In_Use (Scope (Op_Id)) ! and then not Is_Abstract_Subprogram (Op_Id) ! and then not Is_Hidden (Op_Id) ! and then Ekind (Scope (Op_Id)) = E_Package ! and then ! Has_Compatible_Type ! (L, Etype (First_Formal (Op_Id))) ! and then Present ! (Next_Formal (First_Formal (Op_Id))) ! and then ! Has_Compatible_Type ! (R, ! Etype (Next_Formal (First_Formal (Op_Id)))) ! then ! Error_Msg_N ! ("no legal interpretation for operator&", N); ! Error_Msg_NE ! ("\use clause on& would make operation legal", ! N, Scope (Op_Id)); ! exit; ! end if; ! end if; ! ! Op_Id := Homonym (Op_Id); ! end loop; ! ! if No (Op_Id) then ! Error_Msg_N ("invalid operand types for operator&", N); ! ! if Nkind (N) /= N_Op_Concat then ! Error_Msg_NE ("\left operand has}!", N, Etype (L)); ! Error_Msg_NE ("\right operand has}!", N, Etype (R)); ! ! -- For multiplication and division operators with ! -- a fixed-point operand and an integer operand, ! -- indicate that the integer operand should be of ! -- type Integer. ! ! if Nkind (N) in N_Op_Multiply | N_Op_Divide ! and then Is_Fixed_Point_Type (Etype (L)) ! and then Is_Integer_Type (Etype (R)) ! then ! Error_Msg_N ! ("\convert right operand to `Integer`", N); ! ! elsif Nkind (N) = N_Op_Multiply ! and then Is_Fixed_Point_Type (Etype (R)) ! and then Is_Integer_Type (Etype (L)) ! then ! Error_Msg_N ! ("\convert left operand to `Integer`", N); ! end if; ! ! -- For concatenation operators it is more difficult to ! -- determine which is the wrong operand. It is worth ! -- flagging explicitly an access type, for those who ! -- might think that a dereference happens here. ! ! elsif Is_Access_Type (Etype (L)) then ! Error_Msg_N ("\left operand is access type", N); ! elsif Is_Access_Type (Etype (R)) then ! Error_Msg_N ("\right operand is access type", N); ! end if; ! end if; ! end if; ! end if; ! end if; end; end if; end Operator_Check; ! ---------------------------------- ! -- Has_Possible_Literal_Aspects -- ! ---------------------------------- ! function Has_Possible_Literal_Aspects (N : Node_Id) return Boolean is R : constant Node_Id := Right_Opnd (N); - L : Node_Id := Empty; procedure Check_Literal_Opnd (Opnd : Node_Id); -- If an operand is a literal to which an aspect may apply, --- 7834,7852 ---- end if; end if; ! -- If we fall through then just give general message ! Unresolved_Operator (N); end; end if; end Operator_Check; ! --------------------------------------- ! -- Has_Possible_User_Defined_Literal -- ! --------------------------------------- ! function Has_Possible_User_Defined_Literal (N : Node_Id) return Boolean is R : constant Node_Id := Right_Opnd (N); procedure Check_Literal_Opnd (Opnd : Node_Id); -- If an operand is a literal to which an aspect may apply, *************** package body Sem_Ch4 is *** 7953,7977 **** begin if Nkind (Opnd) in N_Numeric_Or_String_Literal or else (Is_Entity_Name (Opnd) ! and then Present (Entity (Opnd)) ! and then Is_Named_Number (Entity (Opnd))) then Add_One_Interp (N, Etype (Opnd), Etype (Opnd)); end if; end Check_Literal_Opnd; ! -- Start of processing for Has_Possible_Literal_Aspects begin if Ada_Version < Ada_2022 then return False; end if; - if Nkind (N) in N_Binary_Op then - L := Left_Opnd (N); - else - L := Empty; - end if; Check_Literal_Opnd (R); -- Check left operand only if right one did not provide a --- 7860,7879 ---- begin if Nkind (Opnd) in N_Numeric_Or_String_Literal or else (Is_Entity_Name (Opnd) ! and then Present (Entity (Opnd)) ! and then Is_Named_Number (Entity (Opnd))) then Add_One_Interp (N, Etype (Opnd), Etype (Opnd)); end if; end Check_Literal_Opnd; ! -- Start of processing for Has_Possible_User_Defined_Literal begin if Ada_Version < Ada_2022 then return False; end if; Check_Literal_Opnd (R); -- Check left operand only if right one did not provide a *************** package body Sem_Ch4 is *** 7987,8000 **** -- determine whether a user-defined literal may apply to -- either or both. ! if Present (L) ! and then Etype (N) = Any_Type ! then ! Check_Literal_Opnd (L); end if; return Etype (N) /= Any_Type; ! end Has_Possible_Literal_Aspects; ----------------------------------------------- -- Nondispatching_Call_To_Abstract_Operation -- --- 7889,7900 ---- -- determine whether a user-defined literal may apply to -- either or both. ! if Nkind (N) in N_Binary_Op and then Etype (N) = Any_Type then ! Check_Literal_Opnd (Left_Opnd (N)); end if; return Etype (N) /= Any_Type; ! end Has_Possible_User_Defined_Literal; ----------------------------------------------- -- Nondispatching_Call_To_Abstract_Operation -- *************** package body Sem_Ch4 is *** 10620,10625 **** --- 10520,10625 ---- end if; end Try_Object_Operation; + ------------------------- + -- Unresolved_Operator -- + ------------------------- + + procedure Unresolved_Operator (N : Node_Id) is + L : constant Node_Id := + (if Nkind (N) in N_Binary_Op then Left_Opnd (N) else Empty); + R : constant Node_Id := Right_Opnd (N); + + Op_Id : Entity_Id; + + begin + -- Note that in the following messages, if the operand is overloaded we + -- choose an arbitrary type to complain about, but that is probably more + -- useful than not giving a type at all. + + if Nkind (N) in N_Unary_Op then + Error_Msg_Node_2 := Etype (R); + Error_Msg_N ("operator& not defined for}", N); + + elsif Nkind (N) in N_Binary_Op then + if not Is_Overloaded (L) + and then not Is_Overloaded (R) + and then Base_Type (Etype (L)) = Base_Type (Etype (R)) + then + Error_Msg_Node_2 := First_Subtype (Etype (R)); + Error_Msg_N ("there is no applicable operator& for}", N); + + else + -- Another attempt to find a fix: one of the candidate + -- interpretations may not be use-visible. This has + -- already been checked for predefined operators, so + -- we examine only user-defined functions. + + Op_Id := Get_Name_Entity_Id (Chars (N)); + + while Present (Op_Id) loop + if Ekind (Op_Id) /= E_Operator + and then Is_Overloadable (Op_Id) + and then not Is_Immediately_Visible (Op_Id) + and then not In_Use (Scope (Op_Id)) + and then not Is_Abstract_Subprogram (Op_Id) + and then not Is_Hidden (Op_Id) + and then Ekind (Scope (Op_Id)) = E_Package + and then Has_Compatible_Type (L, Etype (First_Formal (Op_Id))) + and then Present (Next_Formal (First_Formal (Op_Id))) + and then + Has_Compatible_Type + (R, Etype (Next_Formal (First_Formal (Op_Id)))) + then + Error_Msg_N ("no legal interpretation for operator&", N); + Error_Msg_NE ("\use clause on& would make operation legal", + N, Scope (Op_Id)); + exit; + end if; + + Op_Id := Homonym (Op_Id); + end loop; + + if No (Op_Id) then + Error_Msg_N ("invalid operand types for operator&", N); + + if Nkind (N) /= N_Op_Concat then + Error_Msg_NE ("\left operand has}!", N, Etype (L)); + Error_Msg_NE ("\right operand has}!", N, Etype (R)); + + -- For multiplication and division operators with + -- a fixed-point operand and an integer operand, + -- indicate that the integer operand should be of + -- type Integer. + + if Nkind (N) in N_Op_Multiply | N_Op_Divide + and then Is_Fixed_Point_Type (Etype (L)) + and then Is_Integer_Type (Etype (R)) + then + Error_Msg_N ("\convert right operand to `Integer`", N); + + elsif Nkind (N) = N_Op_Multiply + and then Is_Fixed_Point_Type (Etype (R)) + and then Is_Integer_Type (Etype (L)) + then + Error_Msg_N ("\convert left operand to `Integer`", N); + end if; + + -- For concatenation operators it is more difficult to + -- determine which is the wrong operand. It is worth + -- flagging explicitly an access type, for those who + -- might think that a dereference happens here. + + elsif Is_Access_Type (Etype (L)) then + Error_Msg_N ("\left operand is access type", N); + + elsif Is_Access_Type (Etype (R)) then + Error_Msg_N ("\right operand is access type", N); + end if; + end if; + end if; + end if; + end Unresolved_Operator; + --------- -- wpo -- --------- diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch4.ads gcc-13.3.0/gcc/ada/sem_ch4.ads *** gcc-13.2.0/gcc/ada/sem_ch4.ads Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch4.ads Tue May 21 07:47:38 2024 *************** package Sem_Ch4 is *** 88,91 **** --- 88,94 ---- -- of a non-tagged type is allowed as if Extensions_Allowed returned True. -- This is used to issue better error messages. + procedure Unresolved_Operator (N : Node_Id); + -- Give an error for an unresolved operator + end Sem_Ch4; diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch6.adb gcc-13.3.0/gcc/ada/sem_ch6.adb *** gcc-13.2.0/gcc/ada/sem_ch6.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch6.adb Tue May 21 07:47:38 2024 *************** with Nlists; use Nlists; *** 53,58 **** --- 53,59 ---- with Nmake; use Nmake; with Opt; use Opt; with Output; use Output; + with Restrict; use Restrict; with Rtsfind; use Rtsfind; with Sem; use Sem; with Sem_Aux; use Sem_Aux; *************** package body Sem_Ch6 is *** 847,852 **** --- 848,861 ---- end if; Resolve (Expr, R_Type); + + -- The expansion of the expression may have rewritten the return + -- statement itself, e.g. when it is a conditional expression. + + if Nkind (N) /= N_Simple_Return_Statement then + return; + end if; + Check_Limited_Return (N, Expr, R_Type); Check_Return_Construct_Accessibility (N, Stm_Entity); *************** package body Sem_Ch6 is *** 942,950 **** -- Defend against previous errors ! if Nkind (Expr) = N_Empty ! or else No (Etype (Expr)) ! then return; end if; --- 951,957 ---- -- Defend against previous errors ! if Nkind (Expr) = N_Empty or else No (Etype (Expr)) then return; end if; *************** package body Sem_Ch6 is *** 4434,4439 **** --- 4441,4450 ---- begin while Present (Prot_Ext_Formal) loop pragma Assert (Present (Impl_Ext_Formal)); + pragma Assert (not Is_Build_In_Place_Entity (Prot_Ext_Formal) + or else BIP_Suffix_Kind (Impl_Ext_Formal) + = BIP_Suffix_Kind (Prot_Ext_Formal)); + Set_Protected_Formal (Prot_Ext_Formal, Impl_Ext_Formal); Next_Formal_With_Extras (Prot_Ext_Formal); Next_Formal_With_Extras (Impl_Ext_Formal); *************** package body Sem_Ch6 is *** 8576,8581 **** --- 8587,8597 ---- function Has_Extra_Formals (E : Entity_Id) return Boolean; -- Determines if E has its extra formals + function Might_Need_BIP_Task_Actuals (E : Entity_Id) return Boolean; + -- Determines if E is a dispatching primitive returning a limited tagged + -- type object since some descendant might return an object with tasks + -- (and therefore need the BIP task extra actuals). + function Needs_Accessibility_Check_Extra (E : Entity_Id; Formal : Node_Id) return Boolean; *************** package body Sem_Ch6 is *** 8651,8656 **** --- 8667,8724 ---- and then Present (Extra_Accessibility_Of_Result (E))); end Has_Extra_Formals; + --------------------------------- + -- Might_Need_BIP_Task_Actuals -- + --------------------------------- + + function Might_Need_BIP_Task_Actuals (E : Entity_Id) return Boolean is + Subp_Id : Entity_Id; + Func_Typ : Entity_Id; + + begin + if Global_No_Tasking or else No_Run_Time_Mode then + return False; + end if; + + -- No further check needed if we know that BIP task actuals are + -- required. + + if Needs_BIP_Task_Actuals (E) then + return True; + end if; + + -- For thunks we must rely on their target entity + + if Is_Thunk (E) then + Subp_Id := Thunk_Target (E); + + -- For protected subprograms we rely on the subprogram which + -- implements the body of the operation (since it is the entity + -- that may be a dispatching operation). + + elsif Is_Protected_Type (Scope (E)) + and then Present (Protected_Body_Subprogram (E)) + then + Subp_Id := Protected_Body_Subprogram (E); + + else + Subp_Id := E; + end if; + + -- We check the root type of the return type since the same + -- decision must be taken for all descendants overriding a + -- dispatching operation. + + Func_Typ := Root_Type (Underlying_Type (Etype (Subp_Id))); + + return Ekind (Subp_Id) = E_Function + and then not Has_Foreign_Convention (Func_Typ) + and then Is_Dispatching_Operation (Subp_Id) + and then Is_Tagged_Type (Func_Typ) + and then Is_Limited_Type (Func_Typ) + and then not Has_Aspect (Func_Typ, Aspect_No_Task_Parts); + end Might_Need_BIP_Task_Actuals; + ------------------------------------- -- Needs_Accessibility_Check_Extra -- ------------------------------------- *************** package body Sem_Ch6 is *** 8785,8791 **** then return; ! -- Initialization procedures don't have extra formals elsif Is_Init_Proc (E) then return; --- 8853,8860 ---- then return; ! -- Extra formals of Initialization procedures are added by the function ! -- Exp_Ch3.Init_Formals elsif Is_Init_Proc (E) then return; *************** package body Sem_Ch6 is *** 9071,9090 **** begin Ada_Version := Ada_2022; ! if Needs_Result_Accessibility_Level (Ref_E) then ! pragma Assert (No (Parent_Subp) ! or else Needs_Result_Accessibility_Level (Parent_Subp)); ! pragma Assert (No (Alias_Subp) ! or else Needs_Result_Accessibility_Level (Alias_Subp)); ! Set_Extra_Accessibility_Of_Result (E, Add_Extra_Formal (E, Standard_Natural, E, "L")); - - else - pragma Assert (No (Parent_Subp) - or else not Needs_Result_Accessibility_Level (Parent_Subp)); - pragma Assert (No (Alias_Subp) - or else not Needs_Result_Accessibility_Level (Alias_Subp)); end if; Ada_Version := Save_Ada_Version; --- 9140,9155 ---- begin Ada_Version := Ada_2022; ! if Needs_Result_Accessibility_Level (Ref_E) ! or else ! (Present (Parent_Subp) ! and then Needs_Result_Accessibility_Level (Parent_Subp)) ! or else ! (Present (Alias_Subp) ! and then Needs_Result_Accessibility_Level (Alias_Subp)) ! then Set_Extra_Accessibility_Of_Result (E, Add_Extra_Formal (E, Standard_Natural, E, "L")); end if; Ada_Version := Save_Ada_Version; *************** package body Sem_Ch6 is *** 9119,9132 **** -- dispatching context and such calls must be handled like calls -- to a class-wide function. ! if Needs_BIP_Alloc_Form (Ref_E) then ! pragma Assert (No (Parent_Subp) ! or else Has_BIP_Extra_Formal (Parent_Subp, BIP_Alloc_Form, ! Must_Be_Frozen => False)); ! pragma Assert (No (Alias_Subp) ! or else Has_BIP_Extra_Formal (Alias_Subp, BIP_Alloc_Form, ! Must_Be_Frozen => False)); ! Discard := Add_Extra_Formal (E, Standard_Natural, --- 9184,9199 ---- -- dispatching context and such calls must be handled like calls -- to a class-wide function. ! if Needs_BIP_Alloc_Form (Ref_E) ! or else ! (Present (Parent_Subp) ! and then Has_BIP_Extra_Formal (Parent_Subp, BIP_Alloc_Form, ! Must_Be_Frozen => False)) ! or else ! (Present (Alias_Subp) ! and then Has_BIP_Extra_Formal (Alias_Subp, BIP_Alloc_Form, ! Must_Be_Frozen => False)) ! then Discard := Add_Extra_Formal (E, Standard_Natural, *************** package body Sem_Ch6 is *** 9142,9228 **** (E, RTE (RE_Root_Storage_Pool_Ptr), E, BIP_Formal_Suffix (BIP_Storage_Pool)); end if; - - else - pragma Assert (No (Parent_Subp) - or else not - Has_BIP_Extra_Formal (Parent_Subp, BIP_Alloc_Form, - Must_Be_Frozen => False)); - pragma Assert (No (Alias_Subp) - or else not - Has_BIP_Extra_Formal (Alias_Subp, BIP_Alloc_Form, - Must_Be_Frozen => False)); end if; -- In the case of functions whose result type needs finalization, -- add an extra formal which represents the finalization master. ! if Needs_BIP_Finalization_Master (Ref_E) then ! pragma Assert (No (Parent_Subp) ! or else Has_BIP_Extra_Formal (Parent_Subp, ! Kind => BIP_Finalization_Master, ! Must_Be_Frozen => False)); ! pragma Assert (No (Alias_Subp) ! or else Has_BIP_Extra_Formal (Alias_Subp, ! Kind => BIP_Finalization_Master, ! Must_Be_Frozen => False)); ! Discard := Add_Extra_Formal (E, RTE (RE_Finalization_Master_Ptr), E, BIP_Formal_Suffix (BIP_Finalization_Master)); - - else - pragma Assert (No (Parent_Subp) - or else not - Has_BIP_Extra_Formal (Parent_Subp, - Kind => BIP_Finalization_Master, - Must_Be_Frozen => False)); - pragma Assert (No (Alias_Subp) - or else not - Has_BIP_Extra_Formal (Alias_Subp, - Kind => BIP_Finalization_Master, - Must_Be_Frozen => False)); end if; -- When the result type contains tasks, add two extra formals: the -- master of the tasks to be created, and the caller's activation -- chain. ! if Needs_BIP_Task_Actuals (Ref_E) then ! pragma Assert (No (Parent_Subp) ! or else Has_BIP_Extra_Formal (Parent_Subp, BIP_Task_Master, ! Must_Be_Frozen => False)); ! pragma Assert (No (Alias_Subp) ! or else Has_BIP_Extra_Formal (Alias_Subp, BIP_Task_Master, ! Must_Be_Frozen => False) ! or else ! (Is_Abstract_Subprogram (Ref_E) ! and then Is_Predefined_Dispatching_Operation (Ref_E) ! and then Is_Interface ! (Find_Dispatching_Type (Alias_Subp)))); ! Discard := Add_Extra_Formal (E, Standard_Integer, E, BIP_Formal_Suffix (BIP_Task_Master)); ! Set_Has_Master_Entity (E); Discard := Add_Extra_Formal (E, RTE (RE_Activation_Chain_Access), E, BIP_Formal_Suffix (BIP_Activation_Chain)); - - else - pragma Assert (No (Parent_Subp) - or else not - Has_BIP_Extra_Formal (Parent_Subp, BIP_Task_Master, - Must_Be_Frozen => False)); - pragma Assert (No (Alias_Subp) - or else not - Has_BIP_Extra_Formal (Alias_Subp, BIP_Task_Master, - Must_Be_Frozen => False)); end if; -- All build-in-place functions get an extra formal that will be --- 9209,9265 ---- (E, RTE (RE_Root_Storage_Pool_Ptr), E, BIP_Formal_Suffix (BIP_Storage_Pool)); end if; end if; -- In the case of functions whose result type needs finalization, -- add an extra formal which represents the finalization master. ! if Needs_BIP_Finalization_Master (Ref_E) ! or else ! (Present (Parent_Subp) ! and then Has_BIP_Extra_Formal (Parent_Subp, ! Kind => BIP_Finalization_Master, ! Must_Be_Frozen => False)) ! or else ! (Present (Alias_Subp) ! and then Has_BIP_Extra_Formal (Alias_Subp, ! Kind => BIP_Finalization_Master, ! Must_Be_Frozen => False)) ! then Discard := Add_Extra_Formal (E, RTE (RE_Finalization_Master_Ptr), E, BIP_Formal_Suffix (BIP_Finalization_Master)); end if; -- When the result type contains tasks, add two extra formals: the -- master of the tasks to be created, and the caller's activation -- chain. ! if Needs_BIP_Task_Actuals (Ref_E) ! or else Might_Need_BIP_Task_Actuals (Ref_E) ! or else ! (Present (Parent_Subp) ! and then Has_BIP_Extra_Formal (Parent_Subp, BIP_Task_Master, ! Must_Be_Frozen => False)) ! or else ! (Present (Alias_Subp) ! and then Has_BIP_Extra_Formal (Alias_Subp, BIP_Task_Master, ! Must_Be_Frozen => False)) ! then Discard := Add_Extra_Formal (E, Standard_Integer, E, BIP_Formal_Suffix (BIP_Task_Master)); ! if Needs_BIP_Task_Actuals (Ref_E) then ! Set_Has_Master_Entity (E); ! end if; Discard := Add_Extra_Formal (E, RTE (RE_Activation_Chain_Access), E, BIP_Formal_Suffix (BIP_Activation_Chain)); end if; -- All build-in-place functions get an extra formal that will be diff -Nrcpad gcc-13.2.0/gcc/ada/sem_ch7.adb gcc-13.3.0/gcc/ada/sem_ch7.adb *** gcc-13.2.0/gcc/ada/sem_ch7.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_ch7.adb Tue May 21 07:47:38 2024 *************** package body Sem_Ch7 is *** 446,452 **** --- 446,456 ---- else Decl_Id := Defining_Entity (Decl); + -- See the N_Subprogram_Declaration case below + if not Set_Referencer_Of_Non_Subprograms + and then (not In_Nested_Instance + or else not Subprogram_Table.Get_First) and then not Subprogram_Table.Get (Decl_Id) then -- We can reset Is_Public right away diff -Nrcpad gcc-13.2.0/gcc/ada/sem_prag.adb gcc-13.3.0/gcc/ada/sem_prag.adb *** gcc-13.2.0/gcc/ada/sem_prag.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_prag.adb Tue May 21 07:47:38 2024 *************** package body Sem_Prag is *** 7826,7832 **** -- then. For example, if the expression is "Record_Type'Size /= 32" -- it might be known after the back end has determined the size of -- Record_Type. We do not defer validation if we're inside a generic ! -- unit, because we will have more information in the instances. if Compile_Time_Known_Value (Arg1x) then Validate_Compile_Time_Warning_Or_Error (N, Sloc (Arg1)); --- 7826,7834 ---- -- then. For example, if the expression is "Record_Type'Size /= 32" -- it might be known after the back end has determined the size of -- Record_Type. We do not defer validation if we're inside a generic ! -- unit, because we will have more information in the instances, and ! -- this ultimately applies to the main unit itself, because it is not ! -- compiled by the back end when it is generic. if Compile_Time_Known_Value (Arg1x) then Validate_Compile_Time_Warning_Or_Error (N, Sloc (Arg1)); *************** package body Sem_Prag is *** 7844,7850 **** end if; end loop; ! if No (P) then Defer_Compile_Time_Warning_Error_To_BE (N); end if; end if; --- 7846,7855 ---- end if; end loop; ! if No (P) ! and then ! Nkind (Unit (Cunit (Main_Unit))) not in N_Generic_Declaration ! then Defer_Compile_Time_Warning_Error_To_BE (N); end if; end if; diff -Nrcpad gcc-13.2.0/gcc/ada/sem_res.adb gcc-13.3.0/gcc/ada/sem_res.adb *** gcc-13.2.0/gcc/ada/sem_res.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_res.adb Tue May 21 07:47:38 2024 *************** package body Sem_Res is *** 111,120 **** function Has_Applicable_User_Defined_Literal (N : Node_Id; Typ : Entity_Id) return Boolean; ! -- If N is a literal or a named number, check whether Typ ! -- has a user-defined literal aspect that can apply to N. ! -- If present, replace N with a call to the corresponding ! -- function and return True. procedure Check_Discriminant_Use (N : Node_Id); -- Enforce the restrictions on the use of discriminants when constraining --- 111,119 ---- function Has_Applicable_User_Defined_Literal (N : Node_Id; Typ : Entity_Id) return Boolean; ! -- Check whether N is a literal or a named number, and whether Typ has a ! -- user-defined literal aspect that may apply to N. In this case, replace ! -- N with a call to the corresponding function and return True. procedure Check_Discriminant_Use (N : Node_Id); -- Enforce the restrictions on the use of discriminants when constraining *************** package body Sem_Res is *** 306,316 **** function Try_User_Defined_Literal (N : Node_Id; Typ : Entity_Id) return Boolean; ! -- If an operator node has a literal operand, check whether the type ! -- of the context, or the type of the other operand has a user-defined ! -- literal aspect that can be applied to the literal to resolve the node. ! -- If such aspect exists, replace literal with a call to the ! -- corresponding function and return True, return false otherwise. function Unique_Fixed_Point_Type (N : Node_Id) return Entity_Id; -- A universal_fixed expression in an universal context is unambiguous if --- 305,324 ---- function Try_User_Defined_Literal (N : Node_Id; Typ : Entity_Id) return Boolean; ! -- If the node is a literal or a named number or a conditional expression ! -- whose dependent expressions are all literals or named numbers, and the ! -- context type has a user-defined literal aspect, then rewrite the node ! -- or its leaf nodes as calls to the corresponding function, which plays ! -- the role of an implicit conversion. ! ! function Try_User_Defined_Literal_For_Operator ! (N : Node_Id; ! Typ : Entity_Id) return Boolean; ! -- If an operator node has a literal operand, check whether the type of the ! -- context, or that of the other operand has a user-defined literal aspect ! -- that can be applied to the literal to resolve the node. If such aspect ! -- exists, replace literal with a call to the corresponding function and ! -- return True, return false otherwise. function Unique_Fixed_Point_Type (N : Node_Id) return Entity_Id; -- A universal_fixed expression in an universal context is unambiguous if *************** package body Sem_Res is *** 492,498 **** Name := Make_Identifier (Loc, Chars (Callee)); if Is_Derived_Type (Typ) - and then Is_Tagged_Type (Typ) and then Base_Type (Etype (Callee)) /= Base_Type (Typ) then Callee := --- 500,505 ---- *************** package body Sem_Res is *** 601,606 **** --- 608,614 ---- Analyze_And_Resolve (N, Typ); return True; + else return False; end if; *************** package body Sem_Res is *** 2484,2493 **** Expr_Type := Etype (Parent (N)); -- If not overloaded, then we know the type, and all that needs doing ! -- is to check that this type is compatible with the context. elsif not Is_Overloaded (N) then ! Found := Covers (Typ, Etype (N)); Expr_Type := Etype (N); -- In the overloaded case, we must select the interpretation that --- 2492,2508 ---- Expr_Type := Etype (Parent (N)); -- If not overloaded, then we know the type, and all that needs doing ! -- is to check that this type is compatible with the context. But note ! -- that we may have an operator with no interpretation in Ada 2022 for ! -- the case of possible user-defined literals as operands. elsif not Is_Overloaded (N) then ! if Nkind (N) in N_Op and then No (Entity (N)) then ! pragma Assert (Ada_Version >= Ada_2022); ! Found := False; ! else ! Found := Covers (Typ, Etype (N)); ! end if; Expr_Type := Etype (N); -- In the overloaded case, we must select the interpretation that *************** package body Sem_Res is *** 3055,3069 **** end; end if; ! -- If node is a literal and context type has a user-defined ! -- literal aspect, rewrite node as a call to the corresponding ! -- function, which plays the role of an implicit conversion. ! if Nkind (N) in ! N_Numeric_Or_String_Literal | N_Identifier ! and then Has_Applicable_User_Defined_Literal (N, Typ) ! then ! Analyze_And_Resolve (N, Typ); return; end if; --- 3070,3080 ---- end; end if; ! -- Check whether the node is a literal or a named number or a ! -- conditional expression whose dependent expressions are all ! -- literals or named numbers. ! if Try_User_Defined_Literal (N, Typ) then return; end if; *************** package body Sem_Res is *** 3170,3182 **** (First (Component_Associations (N)))); end if; ! -- For an operator with no interpretation, check whether ! -- one of its operands may be a user-defined literal. ! elsif Nkind (N) in N_Op ! and then Try_User_Defined_Literal (N, Typ) ! then ! return; else Wrong_Type (N, Typ); --- 3181,3195 ---- (First (Component_Associations (N)))); end if; ! -- For an operator with no interpretation, check whether one of ! -- its operands may be a user-defined literal. ! elsif Nkind (N) in N_Op and then No (Entity (N)) then ! if Try_User_Defined_Literal_For_Operator (N, Typ) then ! return; ! else ! Unresolved_Operator (N); ! end if; else Wrong_Type (N, Typ); *************** package body Sem_Res is *** 5735,5753 **** Set_Is_Dynamic_Coextension (N, False); Set_Is_Static_Coextension (N, False); ! -- Anonymous access-to-controlled objects are not finalized on ! -- time because this involves run-time ownership and currently ! -- this property is not available. In rare cases the object may ! -- not be finalized at all. Warn on potential issues involving ! -- anonymous access-to-controlled objects. if Ekind (Typ) = E_Anonymous_Access_Type and then Is_Controlled_Active (Desig_T) then Error_Msg_N ! ("??object designated by anonymous access object might " & "not be finalized until its enclosing library unit " ! & "goes out of scope", N); Error_Msg_N ("\use named access type instead", N); end if; end if; --- 5748,5766 ---- Set_Is_Dynamic_Coextension (N, False); Set_Is_Static_Coextension (N, False); ! -- Objects allocated through anonymous access types are not ! -- finalized on time because this involves run-time ownership ! -- and currently this property is not available. In rare cases ! -- the object might not be finalized at all. Warn on potential ! -- issues involving anonymous access-to-controlled types. if Ekind (Typ) = E_Anonymous_Access_Type and then Is_Controlled_Active (Desig_T) then Error_Msg_N ! ("??object designated by anonymous access value might " & "not be finalized until its enclosing library unit " ! & "goes out of scope, or not be finalized at all", N); Error_Msg_N ("\use named access type instead", N); end if; end if; *************** package body Sem_Res is *** 6565,6570 **** --- 6578,6586 ---- if Is_Entity_Name (Subp) and then not In_Spec_Expression and then not Is_Expression_Function_Or_Completion (Current_Scope) + and then not (Chars (Current_Scope) = Name_uWrapped_Statements + and then Is_Expression_Function_Or_Completion + (Scope (Current_Scope))) and then (not Is_Expression_Function_Or_Completion (Entity (Subp)) or else Expander_Active) *************** package body Sem_Res is *** 6910,6974 **** return; end if; ! -- Create a transient scope if the resulting type requires it -- There are several notable exceptions: ! -- a) In init procs, the transient scope overhead is not needed, and is ! -- even incorrect when the call is a nested initialization call for a ! -- component whose expansion may generate adjust calls. However, if the ! -- call is some other procedure call within an initialization procedure ! -- (for example a call to Create_Task in the init_proc of the task ! -- run-time record) a transient scope must be created around this call. ! ! -- b) Enumeration literal pseudo-calls need no transient scope ! ! -- c) Intrinsic subprograms (Unchecked_Conversion and source info -- functions) do not use the secondary stack even though the return -- type may be unconstrained. ! -- d) Calls to a build-in-place function, since such functions may -- allocate their result directly in a target object, and cases where -- the result does get allocated in the secondary stack are checked for -- within the specialized Exp_Ch6 procedures for expanding those -- build-in-place calls. ! -- e) Calls to inlinable expression functions do not use the secondary -- stack (since the call will be replaced by its returned object). ! -- f) If the subprogram is marked Inline_Always, then even if it returns -- an unconstrained type the call does not require use of the secondary -- stack. However, inlining will only take place if the body to inline -- is already present. It may not be available if e.g. the subprogram is -- declared in a child instance. ! -- g) If the subprogram is a static expression function and the call is -- a static call (the actuals are all static expressions), then we never -- want to create a transient scope (this could occur in the case of a -- static string-returning call). ! if Is_Inlined (Nam) ! and then Has_Pragma_Inline (Nam) ! and then Nkind (Unit_Declaration_Node (Nam)) = N_Subprogram_Declaration ! and then Present (Body_To_Inline (Unit_Declaration_Node (Nam))) ! then ! null; ! ! elsif Ekind (Nam) = E_Enumeration_Literal ! or else Is_Build_In_Place_Function (Nam) ! or else Is_Intrinsic_Subprogram (Nam) ! or else Is_Inlinable_Expression_Function (Nam) ! or else Is_Static_Function_Call (N) ! then ! null; ! ! -- A return statement from an ignored Ghost function does not use the ! -- secondary stack (or any other one). ! elsif Expander_Active and then Ekind (Nam) in E_Function | E_Subprogram_Type and then Requires_Transient_Scope (Etype (Nam)) and then not Is_Ignored_Ghost_Entity (Nam) then Establish_Transient_Scope (N, Needs_Secondary_Stack (Etype (Nam))); --- 6926,6987 ---- return; end if; ! -- Create a transient scope if the expander is active and the resulting ! -- type requires it. -- There are several notable exceptions: ! -- a) Intrinsic subprograms (Unchecked_Conversion and source info -- functions) do not use the secondary stack even though the return -- type may be unconstrained. ! -- b) Subprograms that are ignored ghost entities do not return anything ! ! -- c) Calls to a build-in-place function, since such functions may -- allocate their result directly in a target object, and cases where -- the result does get allocated in the secondary stack are checked for -- within the specialized Exp_Ch6 procedures for expanding those -- build-in-place calls. ! -- d) Calls to inlinable expression functions do not use the secondary -- stack (since the call will be replaced by its returned object). ! -- e) If the subprogram is marked Inline, then even if it returns -- an unconstrained type the call does not require use of the secondary -- stack. However, inlining will only take place if the body to inline -- is already present. It may not be available if e.g. the subprogram is -- declared in a child instance. ! -- f) If the subprogram is a static expression function and the call is -- a static call (the actuals are all static expressions), then we never -- want to create a transient scope (this could occur in the case of a -- static string-returning call). ! -- g) If the call is the expression of a simple return statement that ! -- returns on the same stack, since it will be handled as a tail call ! -- by Expand_Simple_Function_Return. ! if Expander_Active and then Ekind (Nam) in E_Function | E_Subprogram_Type and then Requires_Transient_Scope (Etype (Nam)) + and then not Is_Intrinsic_Subprogram (Nam) and then not Is_Ignored_Ghost_Entity (Nam) + and then not Is_Build_In_Place_Function (Nam) + and then not Is_Inlinable_Expression_Function (Nam) + and then not (Is_Inlined (Nam) + and then Has_Pragma_Inline (Nam) + and then Nkind (Unit_Declaration_Node (Nam)) = + N_Subprogram_Declaration + and then + Present (Body_To_Inline (Unit_Declaration_Node (Nam)))) + and then not Is_Static_Function_Call (N) + and then not (Nkind (Parent (N)) = N_Simple_Return_Statement + and then + Needs_Secondary_Stack + (Etype + (Return_Applies_To + (Return_Statement_Entity (Parent (N))))) = + Needs_Secondary_Stack (Etype (Nam))) then Establish_Transient_Scope (N, Needs_Secondary_Stack (Etype (Nam))); *************** package body Sem_Res is *** 13202,13233 **** Typ : Entity_Id) return Boolean is begin ! if Nkind (N) in N_Op_Add | N_Op_Divide | N_Op_Mod | N_Op_Multiply ! | N_Op_Rem | N_Op_Subtract ! then ! -- Both operands must have the same type as the context. -- (ignoring for now fixed-point and exponentiation ops). ! if Has_Applicable_User_Defined_Literal (Right_Opnd (N), Typ) then Resolve (Left_Opnd (N), Typ); Analyze_And_Resolve (N, Typ); return True; - end if; ! if ! Has_Applicable_User_Defined_Literal (Left_Opnd (N), Typ) then Resolve (Right_Opnd (N), Typ); Analyze_And_Resolve (N, Typ); return True; - - else - return False; end if; elsif Nkind (N) in N_Binary_Op then ! -- For other operators the context does not impose a type on -- the operands, but their types must match. if (Nkind (Left_Opnd (N)) --- 13215,13321 ---- Typ : Entity_Id) return Boolean is begin ! if Has_Applicable_User_Defined_Literal (N, Typ) then ! return True; ! elsif Nkind (N) = N_If_Expression then ! -- Both dependent expressions must have the same type as the context ! ! declare ! Condition : constant Node_Id := First (Expressions (N)); ! Then_Expr : constant Node_Id := Next (Condition); ! Else_Expr : constant Node_Id := Next (Then_Expr); ! ! begin ! if Has_Applicable_User_Defined_Literal (Then_Expr, Typ) then ! Resolve (Else_Expr, Typ); ! Analyze_And_Resolve (N, Typ); ! return True; ! ! elsif Has_Applicable_User_Defined_Literal (Else_Expr, Typ) then ! Resolve (Then_Expr, Typ); ! Analyze_And_Resolve (N, Typ); ! return True; ! end if; ! end; ! ! elsif Nkind (N) = N_Case_Expression then ! -- All dependent expressions must have the same type as the context ! ! declare ! Alt : Node_Id; ! ! begin ! Alt := First (Alternatives (N)); ! ! while Present (Alt) loop ! if Has_Applicable_User_Defined_Literal (Expression (Alt), Typ) ! then ! declare ! Other_Alt : Node_Id; ! ! begin ! Other_Alt := First (Alternatives (N)); ! ! while Present (Other_Alt) loop ! if Other_Alt /= Alt then ! Resolve (Expression (Other_Alt), Typ); ! end if; ! ! Next (Other_Alt); ! end loop; ! ! Analyze_And_Resolve (N, Typ); ! return True; ! end; ! end if; ! ! Next (Alt); ! end loop; ! end; ! end if; ! ! return False; ! end Try_User_Defined_Literal; ! ! ------------------------------------------- ! -- Try_User_Defined_Literal_For_Operator -- ! ------------------------------------------- ! ! function Try_User_Defined_Literal_For_Operator ! (N : Node_Id; ! Typ : Entity_Id) return Boolean ! is ! begin ! if Nkind (N) in N_Op_Add ! | N_Op_Divide ! | N_Op_Mod ! | N_Op_Multiply ! | N_Op_Rem ! | N_Op_Subtract ! then ! -- Both operands must have the same type as the context -- (ignoring for now fixed-point and exponentiation ops). ! if Has_Applicable_User_Defined_Literal (Right_Opnd (N), Typ) ! or else (Nkind (Left_Opnd (N)) in N_Op ! and then Covers (Typ, Etype (Right_Opnd (N)))) ! then Resolve (Left_Opnd (N), Typ); Analyze_And_Resolve (N, Typ); return True; ! elsif Has_Applicable_User_Defined_Literal (Left_Opnd (N), Typ) ! or else (Nkind (Right_Opnd (N)) in N_Op ! and then Covers (Typ, Etype (Left_Opnd (N)))) then Resolve (Right_Opnd (N), Typ); Analyze_And_Resolve (N, Typ); return True; end if; elsif Nkind (N) in N_Binary_Op then ! -- For other binary operators the context does not impose a type on -- the operands, but their types must match. if (Nkind (Left_Opnd (N)) *************** package body Sem_Res is *** 13247,13267 **** then Analyze_And_Resolve (N, Typ); return True; - else - return False; end if; elsif Nkind (N) in N_Unary_Op ! and then ! Has_Applicable_User_Defined_Literal (Right_Opnd (N), Typ) then Analyze_And_Resolve (N, Typ); return True; - - else -- Other operators - return False; end if; ! end Try_User_Defined_Literal; ----------------------------- -- Unique_Fixed_Point_Type -- --- 13335,13351 ---- then Analyze_And_Resolve (N, Typ); return True; end if; elsif Nkind (N) in N_Unary_Op ! and then Has_Applicable_User_Defined_Literal (Right_Opnd (N), Typ) then Analyze_And_Resolve (N, Typ); return True; end if; ! ! return False; ! end Try_User_Defined_Literal_For_Operator; ----------------------------- -- Unique_Fixed_Point_Type -- diff -Nrcpad gcc-13.2.0/gcc/ada/sem_type.adb gcc-13.3.0/gcc/ada/sem_type.adb *** gcc-13.2.0/gcc/ada/sem_type.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_type.adb Tue May 21 07:47:38 2024 *************** package body Sem_Type is *** 2229,2235 **** Is_Immediately_Visible (Base_Type (Etype (Right_Opnd (N)))) and then Is_Potentially_Use_Visible (User_Subp) then ! if It2.Nam = Predef_Subp then return It1; else return It2; --- 2229,2235 ---- Is_Immediately_Visible (Base_Type (Etype (Right_Opnd (N)))) and then Is_Potentially_Use_Visible (User_Subp) then ! if It1.Nam = Predef_Subp then return It1; else return It2; diff -Nrcpad gcc-13.2.0/gcc/ada/sem_util.adb gcc-13.3.0/gcc/ada/sem_util.adb *** gcc-13.2.0/gcc/ada/sem_util.adb Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_util.adb Tue May 21 07:47:38 2024 *************** package body Sem_Util is *** 309,319 **** -------------------------- procedure Add_Block_Identifier ! (N : Node_Id; ! Id : out Entity_Id; ! Scope : Entity_Id := Current_Scope) is Loc : constant Source_Ptr := Sloc (N); begin pragma Assert (Nkind (N) = N_Block_Statement); --- 309,320 ---- -------------------------- procedure Add_Block_Identifier ! (N : Node_Id; ! Id : out Entity_Id; ! Scope : Entity_Id := Current_Scope) is Loc : constant Source_Ptr := Sloc (N); + begin pragma Assert (Nkind (N) = N_Block_Statement); *************** package body Sem_Util is *** 328,334 **** Id := New_Internal_Entity (E_Block, Scope, Loc, 'B'); Set_Etype (Id, Standard_Void_Type); Set_Parent (Id, N); - Set_Identifier (N, New_Occurrence_Of (Id, Loc)); Set_Block_Node (Id, Identifier (N)); end if; --- 329,334 ---- *************** package body Sem_Util is *** 6480,6488 **** (Ancestor_Op : Entity_Id; Descendant_Type : Entity_Id) return Entity_Id is ! Typ : constant Entity_Id := Find_Dispatching_Type (Ancestor_Op); ! Elmt : Elmt_Id; ! Subp : Entity_Id; function Profile_Matches_Ancestor (S : Entity_Id) return Boolean; -- Returns True if subprogram S has the proper profile for an --- 6480,6487 ---- (Ancestor_Op : Entity_Id; Descendant_Type : Entity_Id) return Entity_Id is ! function Find_Untagged_Type_Of (Prim : Entity_Id) return Entity_Id; ! -- Search for the untagged type of the primitive operation Prim. function Profile_Matches_Ancestor (S : Entity_Id) return Boolean; -- Returns True if subprogram S has the proper profile for an *************** package body Sem_Util is *** 6490,6495 **** --- 6489,6522 ---- -- have the same type, or are corresponding controlling formals, -- and similarly for result types). + --------------------------- + -- Find_Untagged_Type_Of -- + --------------------------- + + function Find_Untagged_Type_Of (Prim : Entity_Id) return Entity_Id is + E : Entity_Id := First_Entity (Scope (Prim)); + + begin + while Present (E) and then E /= Prim loop + if not Is_Tagged_Type (E) + and then Present (Direct_Primitive_Operations (E)) + and then Contains (Direct_Primitive_Operations (E), Prim) + then + return E; + end if; + + Next_Entity (E); + end loop; + + pragma Assert (False); + return Empty; + end Find_Untagged_Type_Of; + + Typ : constant Entity_Id := + (if Is_Dispatching_Operation (Ancestor_Op) + then Find_Dispatching_Type (Ancestor_Op) + else Find_Untagged_Type_Of (Ancestor_Op)); + ------------------------------ -- Profile_Matches_Ancestor -- ------------------------------ *************** package body Sem_Util is *** 6526,6535 **** or else Is_Ancestor (Typ, Etype (S))); end Profile_Matches_Ancestor; -- Start of processing for Corresponding_Primitive_Op begin - pragma Assert (Is_Dispatching_Operation (Ancestor_Op)); pragma Assert (Is_Ancestor (Typ, Descendant_Type) or else Is_Progenitor (Typ, Descendant_Type)); --- 6553,6566 ---- or else Is_Ancestor (Typ, Etype (S))); end Profile_Matches_Ancestor; + -- Local variables + + Elmt : Elmt_Id; + Subp : Entity_Id; + -- Start of processing for Corresponding_Primitive_Op begin pragma Assert (Is_Ancestor (Typ, Descendant_Type) or else Is_Progenitor (Typ, Descendant_Type)); *************** package body Sem_Util is *** 12163,12195 **** begin -- For selected components, the subtype of the selector must be a -- constrained Unchecked_Union. If the component is subject to a ! -- per-object constraint, then the enclosing object must have inferable ! -- discriminants. if Nkind (N) = N_Selected_Component then - if Has_Per_Object_Constraint (Entity (Selector_Name (N))) then - - -- A small hack. If we have a per-object constrained selected - -- component of a formal parameter, return True since we do not - -- know the actual parameter association yet. - - if Prefix_Is_Formal_Parameter (N) then - return True; - - -- Otherwise, check the enclosing object and the selector - - else - return Has_Inferable_Discriminants (Prefix (N)) - and then Has_Inferable_Discriminants (Selector_Name (N)); - end if; - -- The call to Has_Inferable_Discriminants will determine whether -- the selector has a constrained Unchecked_Union nominal type. ! else ! return Has_Inferable_Discriminants (Selector_Name (N)); end if; -- A qualified expression has inferable discriminants if its subtype -- mark is a constrained Unchecked_Union subtype. --- 12194,12219 ---- begin -- For selected components, the subtype of the selector must be a -- constrained Unchecked_Union. If the component is subject to a ! -- per-object constraint, then the enclosing object must either be ! -- a regular discriminated type or must have inferable discriminants. if Nkind (N) = N_Selected_Component then -- The call to Has_Inferable_Discriminants will determine whether -- the selector has a constrained Unchecked_Union nominal type. ! if not Has_Inferable_Discriminants (Selector_Name (N)) then ! return False; end if; + -- A small hack. If we have a per-object constrained selected + -- component of a formal parameter, return True since we do not + -- know the actual parameter association yet. + + return not Has_Per_Object_Constraint (Entity (Selector_Name (N))) + or else not Is_Unchecked_Union (Etype (Prefix (N))) + or else Has_Inferable_Discriminants (Prefix (N)) + or else Prefix_Is_Formal_Parameter (N); + -- A qualified expression has inferable discriminants if its subtype -- mark is a constrained Unchecked_Union subtype. *************** package body Sem_Util is *** 12201,12207 **** -- Unchecked_Union nominal subtype. else ! return Is_Unchecked_Union (Base_Type (Etype (N))) and then Is_Constrained (Etype (N)); end if; end Has_Inferable_Discriminants; --- 12225,12231 ---- -- Unchecked_Union nominal subtype. else ! return Is_Unchecked_Union (Etype (N)) and then Is_Constrained (Etype (N)); end if; end Has_Inferable_Discriminants; *************** package body Sem_Util is *** 14588,14597 **** -- A named subtype does not inherit the predicate function of its -- parent but an itype declared for a loop index needs the discrete -- predicate information of its parent to execute the loop properly. -- A non-discrete type may has a static predicate (for example True) -- but has no static_discrete_predicate. ! if Is_Itype (Subt) and then Present (Predicate_Function (Par)) then Set_Subprograms_For_Type (Subt, Subprograms_For_Type (Par)); if Has_Static_Predicate (Par) and then Is_Discrete_Type (Par) then --- 14612,14628 ---- -- A named subtype does not inherit the predicate function of its -- parent but an itype declared for a loop index needs the discrete -- predicate information of its parent to execute the loop properly. + -- Moreover, a named private subtype whose full view is an itype also + -- needs to inherit a predicate function because it will not be frozen. -- A non-discrete type may has a static predicate (for example True) -- but has no static_discrete_predicate. ! if (Is_Itype (Subt) ! or else (Ekind (Subt) = E_Private_Subtype ! and then Present (Full_View (Subt)) ! and then Is_Itype (Full_View (Subt)))) ! and then Present (Predicate_Function (Par)) ! then Set_Subprograms_For_Type (Subt, Subprograms_For_Type (Par)); if Has_Static_Predicate (Par) and then Is_Discrete_Type (Par) then *************** package body Sem_Util is *** 29206,29211 **** --- 29237,29249 ---- return Typ; end if; + elsif From_Limited_With (Typ) then + if Has_Non_Limited_View (Typ) then + return Validated_View (Non_Limited_View (Typ)); + else + return Typ; + end if; + else return Typ; end if; *************** package body Sem_Util is *** 29366,29372 **** -- Wrong_Type -- ---------------- ! procedure Wrong_Type (Expr : Node_Id; Expected_Type : Entity_Id) is Found_Type : constant Entity_Id := First_Subtype (Etype (Expr)); Expec_Type : constant Entity_Id := First_Subtype (Expected_Type); --- 29404,29414 ---- -- Wrong_Type -- ---------------- ! procedure Wrong_Type ! (Expr : Node_Id; ! Expected_Type : Entity_Id; ! Multiple : Boolean := False) ! is Found_Type : constant Entity_Id := First_Subtype (Etype (Expr)); Expec_Type : constant Entity_Id := First_Subtype (Expected_Type); *************** package body Sem_Util is *** 29453,29465 **** begin -- Don't output message if either type is Any_Type, or if a message ! -- has already been posted for this node. We need to do the latter ! -- check explicitly (it is ordinarily done in Errout), because we ! -- are using ! to force the output of the error messages. if Expec_Type = Any_Type or else Found_Type = Any_Type ! or else Error_Posted (Expr) then return; --- 29495,29508 ---- begin -- Don't output message if either type is Any_Type, or if a message ! -- has already been posted for this node and we do not want multiple ! -- error messages. We need to do the latter check explicitly (it is ! -- ordinarily done in Errout) because we are using '!' to force the ! -- output of the error messages. if Expec_Type = Any_Type or else Found_Type = Any_Type ! or else (Error_Posted (Expr) and then not Multiple) then return; diff -Nrcpad gcc-13.2.0/gcc/ada/sem_util.ads gcc-13.3.0/gcc/ada/sem_util.ads *** gcc-13.2.0/gcc/ada/sem_util.ads Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ada/sem_util.ads Tue May 21 07:47:38 2024 *************** package Sem_Util is *** 618,626 **** -- Possible optimization??? function Corresponding_Primitive_Op ! (Ancestor_Op : Entity_Id; ! Descendant_Type : Entity_Id) return Entity_Id; ! -- Given a primitive subprogram of a tagged type and a (distinct) -- descendant type of that type, find the corresponding primitive -- subprogram of the descendant type. --- 618,626 ---- -- Possible optimization??? function Corresponding_Primitive_Op ! (Ancestor_Op : Entity_Id; ! Descendant_Type : Entity_Id) return Entity_Id; ! -- Given a primitive subprogram of a first type and a (distinct) -- descendant type of that type, find the corresponding primitive -- subprogram of the descendant type. *************** package Sem_Util is *** 639,656 **** function Current_Scope return Entity_Id; -- Get entity representing current scope procedure Add_Block_Identifier ! (N : Node_Id; ! Id : out Entity_Id; ! Scope : Entity_Id := Current_Scope); -- Given a block statement N, generate an internal E_Block label and make -- it the identifier of the block. Scope denotes the scope in which the -- generated entity Id is created and defaults to the current scope. If the -- block already has an identifier, Id returns the entity of its label. - function Current_Scope_No_Loops return Entity_Id; - -- Return the current scope ignoring internally generated loops - function Current_Subprogram return Entity_Id; -- Returns current enclosing subprogram. If Current_Scope is a subprogram, -- then that is what is returned, otherwise the Enclosing_Subprogram of the --- 639,656 ---- function Current_Scope return Entity_Id; -- Get entity representing current scope + function Current_Scope_No_Loops return Entity_Id; + -- Return the current scope ignoring internally generated loops + procedure Add_Block_Identifier ! (N : Node_Id; ! Id : out Entity_Id; ! Scope : Entity_Id := Current_Scope); -- Given a block statement N, generate an internal E_Block label and make -- it the identifier of the block. Scope denotes the scope in which the -- generated entity Id is created and defaults to the current scope. If the -- block already has an identifier, Id returns the entity of its label. function Current_Subprogram return Entity_Id; -- Returns current enclosing subprogram. If Current_Scope is a subprogram, -- then that is what is returned, otherwise the Enclosing_Subprogram of the *************** package Sem_Util is *** 3342,3349 **** function Validated_View (Typ : Entity_Id) return Entity_Id; -- Obtain the "validated view" of arbitrary type Typ which is suitable for -- verification by attribute 'Valid_Scalars. This view is the type itself ! -- or its full view while stripping away concurrency, derivations, and ! -- privacy. function Visible_Ancestors (Typ : Entity_Id) return Elist_Id; -- [Ada 2012:AI-0125-1]: Collect all the visible parents and progenitors --- 3342,3349 ---- function Validated_View (Typ : Entity_Id) return Entity_Id; -- Obtain the "validated view" of arbitrary type Typ which is suitable for -- verification by attribute 'Valid_Scalars. This view is the type itself ! -- or its full view or nonlimited view, while stripping away concurrency, ! -- derivations, and privacy. function Visible_Ancestors (Typ : Entity_Id) return Elist_Id; -- [Ada 2012:AI-0125-1]: Collect all the visible parents and progenitors *************** package Sem_Util is *** 3373,3384 **** -- is potentially issued: it is the visible entity in the former case, and -- the use_clause in the latter case. ! procedure Wrong_Type (Expr : Node_Id; Expected_Type : Entity_Id); -- Output error message for incorrectly typed expression. Expr is the node -- for the incorrectly typed construct (Etype (Expr) is the type found), -- and Expected_Type is the entity for the expected type. Note that Expr -- does not have to be a subexpression, anything with an Etype field may ! -- be used. function Yields_Synchronized_Object (Typ : Entity_Id) return Boolean; -- Determine whether type Typ "yields synchronized object" as specified by --- 3373,3388 ---- -- is potentially issued: it is the visible entity in the former case, and -- the use_clause in the latter case. ! procedure Wrong_Type ! (Expr : Node_Id; ! Expected_Type : Entity_Id; ! Multiple : Boolean := False); -- Output error message for incorrectly typed expression. Expr is the node -- for the incorrectly typed construct (Etype (Expr) is the type found), -- and Expected_Type is the entity for the expected type. Note that Expr -- does not have to be a subexpression, anything with an Etype field may ! -- be used. If Multiple is False, do not output the message if an error ! -- has already been posted for Expr. function Yields_Synchronized_Object (Typ : Entity_Id) return Boolean; -- Determine whether type Typ "yields synchronized object" as specified by diff -Nrcpad gcc-13.2.0/gcc/analyzer/ChangeLog gcc-13.3.0/gcc/analyzer/ChangeLog *** gcc-13.2.0/gcc/analyzer/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/analyzer/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,151 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-09 David Malcolm + + PR analyzer/114408 + * engine.cc (impl_run_checkers): Free up any dominance info that + we may have created. + * kf.cc (class kf_ubsan_handler): New. + (register_sanitizer_builtins): New. + (register_known_functions): Call register_sanitizer_builtins. + + 2024-05-09 David Malcolm + + Backported from master: + 2024-03-27 David Malcolm + + PR analyzer/114473 + * call-summary.cc + (call_summary_replay::convert_svalue_from_summary): Assert that + the types match. + (call_summary_replay::convert_region_from_summary): Likewise. + (call_summary_replay::convert_region_from_summary_1): Add missing + cast for the deref of RK_SYMBOLIC case. + + 2024-05-09 David Malcolm + + PR analyzer/109251 + * sm-malloc.cc (deref_before_check::emit): Reject cases where the + check is in a loop header within a macro expansion. + (deref_before_check::loop_header_p): New. + + 2024-05-09 David Malcolm + + PR analyzer/111289 + * varargs.cc (representable_in_integral_type_p): New. + (va_arg_compatible_types_p): Add "arg_sval" param. Handle integer + types. + (kf_va_arg::impl_call_pre): Pass arg_sval to + va_arg_compatible_types_p. + + 2024-05-09 David Malcolm + + Backported from master: + 2024-01-31 David Malcolm + PR analyzer/113253 + * region-model.cc (region_model::on_stmt_pre): Add gcc_unreachable + for debug statements. + * state-purge.cc + (state_purge_per_ssa_name::state_purge_per_ssa_name): Skip any + debug stmts in the FOR_EACH_IMM_USE_FAST list. + * supergraph.cc (supergraph::supergraph): Don't add debug stmts + to the supernodes. + + 2024-05-09 David Malcolm + + PR analyzer/112969 + * store.cc (binding_cluster::maybe_get_compound_binding): When + populating default_map, express the bit-range of the default key + for REG relative to REG, rather than to the base region. + + 2024-05-09 David Malcolm + + PR analyzer/113333 + * region-model-manager.cc + (region_model_manager::maybe_fold_unaryop): Casting all zeroes + should give all zeroes. + + 2024-05-09 David Malcolm + + PR analyzer/112790 + * checker-event.cc (class inlining_info): Move to... + * inlining-iterator.h (class inlining_info): ...here. + * sm-malloc.cc: Include "analyzer/inlining-iterator.h". + (maybe_complain_about_deref_before_check): Reject stmts that were + inlined from another function. + + 2024-05-09 David Malcolm + + PR analyzer/112889 + * store.h (concrete_binding::concrete_binding): Strengthen + assertion to require size to be be positive, rather than just + non-zero. + (concrete_binding::mark_deleted): Use size rather than start bit + offset. + (concrete_binding::mark_empty): Likewise. + (concrete_binding::is_deleted): Likewise. + (concrete_binding::is_empty): Likewise. + + 2024-05-09 David Malcolm + + Backported from master: + 2023-08-03 David Malcolm + + PR analyzer/110882 + * region.cc (int_size_in_bits): Fail on zero-sized types. + + 2024-05-09 David Malcolm + + Backported from master: + 2023-07-19 David Malcolm + + PR analyzer/110700 + * region-model-manager.cc + (region_model_manager::get_or_create_int_cst): Assert that we have + an integral or pointer type. + * sm-taint.cc (taint_state_machine::check_for_tainted_divisor): + Don't check non-integral types. + + 2024-05-09 Tim Lange + + Backported from master: + 2023-06-09 Tim Lange + + PR analyzer/109577 + * constraint-manager.cc (class sval_finder): Visitor to find + childs in svalue trees. + (constraint_manager::sval_constrained_p): Add new function to + check whether a sval might be part of an constraint. + * constraint-manager.h: Add sval_constrained_p function. + * region-model.cc (class size_visitor): Reverse behavior to not + emit a warning on not explicitly considered cases. + (region_model::check_region_size): + Adapt to size_visitor changes. + + 2024-05-09 David Malcolm + + Backported from master: + 2023-06-09 David Malcolm + + PR analyzer/110112 + * region-model.cc (region_model::get_initial_value_for_global): + Move code to region::calc_initial_value_at_main. + * region.cc (region::get_initial_value_at_main): New function. + (region::calc_initial_value_at_main): New function, based on code + in region_model::get_initial_value_for_global. + (region::region): Initialize m_cached_init_sval_at_main. + (decl_region::get_svalue_for_constructor): Add a cache, splitting + out body to... + (decl_region::calc_svalue_for_constructor): ...this new function. + * region.h (region::get_initial_value_at_main): New decl. + (region::calc_initial_value_at_main): New decl. + (region::m_cached_init_sval_at_main): New field. + (decl_region::decl_region): Initialize m_ctor_svalue. + (decl_region::calc_svalue_for_constructor): New decl. + (decl_region::m_ctor_svalue): New field. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/analyzer/call-summary.cc gcc-13.3.0/gcc/analyzer/call-summary.cc *** gcc-13.2.0/gcc/analyzer/call-summary.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/call-summary.cc Tue May 21 07:47:38 2024 *************** call_summary_replay::convert_svalue_from *** 234,239 **** --- 234,244 ---- const svalue *caller_sval = convert_svalue_from_summary_1 (summary_sval); + if (caller_sval) + if (summary_sval->get_type () && caller_sval->get_type ()) + gcc_assert (types_compatible_p (summary_sval->get_type (), + caller_sval->get_type ())); + /* Add to cache. */ add_svalue_mapping (summary_sval, caller_sval); *************** call_summary_replay::convert_region_from *** 551,556 **** --- 556,566 ---- const region *caller_reg = convert_region_from_summary_1 (summary_reg); + if (caller_reg) + if (summary_reg->get_type () && caller_reg->get_type ()) + gcc_assert (types_compatible_p (summary_reg->get_type (), + caller_reg->get_type ())); + /* Add to cache. */ add_region_mapping (summary_reg, caller_reg); *************** call_summary_replay::convert_region_from *** 601,606 **** --- 611,618 ---- = get_caller_model ()->deref_rvalue (caller_ptr_sval, NULL_TREE, get_ctxt ()); + caller_reg = mgr->get_cast_region (caller_reg, + summary_reg->get_type ()); return caller_reg; } break; diff -Nrcpad gcc-13.2.0/gcc/analyzer/checker-event.cc gcc-13.3.0/gcc/analyzer/checker-event.cc *** gcc-13.2.0/gcc/analyzer/checker-event.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/checker-event.cc Tue May 21 07:47:38 2024 *************** event_kind_to_string (enum event_kind ek *** 106,151 **** } } - /* A class for fixing up fndecls and stack depths in checker_event, based - on inlining records. - - The early inliner runs before the analyzer, which can lead to confusing - output. - - Tne base fndecl and depth within a checker_event are from call strings - in program_points, which reflect the call strings after inlining. - This class lets us offset the depth and fix up the reported fndecl and - stack depth to better reflect the user's original code. */ - - class inlining_info - { - public: - inlining_info (location_t loc) - { - inlining_iterator iter (loc); - m_inner_fndecl = iter.get_fndecl (); - int num_frames = 0; - while (!iter.done_p ()) - { - m_outer_fndecl = iter.get_fndecl (); - num_frames++; - iter.next (); - } - if (num_frames > 1) - m_extra_frames = num_frames - 1; - else - m_extra_frames = 0; - } - - tree get_inner_fndecl () const { return m_inner_fndecl; } - int get_extra_frames () const { return m_extra_frames; } - - private: - tree m_outer_fndecl; - tree m_inner_fndecl; - int m_extra_frames; - }; - /* class checker_event : public diagnostic_event. */ /* checker_event's ctor. */ --- 106,111 ---- diff -Nrcpad gcc-13.2.0/gcc/analyzer/constraint-manager.cc gcc-13.3.0/gcc/analyzer/constraint-manager.cc *** gcc-13.2.0/gcc/analyzer/constraint-manager.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/constraint-manager.cc Tue May 21 07:47:38 2024 *************** constraint_manager::get_equiv_class_by_s *** 2218,2223 **** --- 2218,2354 ---- return false; } + /* Tries to find a svalue inside another svalue. */ + + class sval_finder : public visitor + { + public: + sval_finder (const svalue *query) : m_query (query), m_found (false) + { + } + + bool found_query_p () + { + return m_found; + } + + void visit_region_svalue (const region_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_constant_svalue (const constant_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_unknown_svalue (const unknown_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_poisoned_svalue (const poisoned_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_setjmp_svalue (const setjmp_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_initial_svalue (const initial_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_unaryop_svalue (const unaryop_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_binop_svalue (const binop_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_sub_svalue (const sub_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_repeated_svalue (const repeated_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_bits_within_svalue (const bits_within_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_unmergeable_svalue (const unmergeable_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_placeholder_svalue (const placeholder_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_widening_svalue (const widening_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_compound_svalue (const compound_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_conjured_svalue (const conjured_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_asm_output_svalue (const asm_output_svalue *sval) + { + m_found |= m_query == sval; + } + + void visit_const_fn_result_svalue (const const_fn_result_svalue *sval) + { + m_found |= m_query == sval; + } + + private: + const svalue *m_query; + bool m_found; + }; + + /* Returns true if SVAL is constrained. */ + + bool + constraint_manager::sval_constrained_p (const svalue *sval) const + { + int i; + equiv_class *ec; + sval_finder finder (sval); + FOR_EACH_VEC_ELT (m_equiv_classes, i, ec) + { + int j; + const svalue *iv; + FOR_EACH_VEC_ELT (ec->m_vars, j, iv) + { + iv->accept (&finder); + if (finder.found_query_p ()) + return true; + } + } + return false; + } + /* Ensure that SVAL has an equivalence class within this constraint_manager; return the ID of the class. */ diff -Nrcpad gcc-13.2.0/gcc/analyzer/constraint-manager.h gcc-13.3.0/gcc/analyzer/constraint-manager.h *** gcc-13.2.0/gcc/analyzer/constraint-manager.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/constraint-manager.h Tue May 21 07:47:38 2024 *************** public: *** 459,464 **** --- 459,465 ---- bool get_equiv_class_by_svalue (const svalue *sval, equiv_class_id *out) const; + bool sval_constrained_p (const svalue *sval) const; equiv_class_id get_or_add_equiv_class (const svalue *sval); tristate eval_condition (equiv_class_id lhs, enum tree_code op, diff -Nrcpad gcc-13.2.0/gcc/analyzer/engine.cc gcc-13.3.0/gcc/analyzer/engine.cc *** gcc-13.2.0/gcc/analyzer/engine.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/engine.cc Tue May 21 07:47:38 2024 *************** impl_run_checkers (logger *logger) *** 6163,6168 **** --- 6163,6175 ---- eng.get_model_manager ()->dump_untracked_regions (); delete purge_map; + + /* Free up any dominance info that we may have created. */ + FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (node) + { + function *fun = node->get_fun (); + free_dominance_info (fun, CDI_DOMINATORS); + } } /* Handle -fdump-analyzer and -fdump-analyzer-stderr. */ diff -Nrcpad gcc-13.2.0/gcc/analyzer/inlining-iterator.h gcc-13.3.0/gcc/analyzer/inlining-iterator.h *** gcc-13.2.0/gcc/analyzer/inlining-iterator.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/inlining-iterator.h Tue May 21 07:47:38 2024 *************** private: *** 106,109 **** --- 106,149 ---- tree m_next_abstract_origin; }; + /* A class for fixing up fndecls and stack depths in checker_event, based + on inlining records. + + The early inliner runs before the analyzer, which can lead to confusing + output. + + Tne base fndecl and depth within a checker_event are from call strings + in program_points, which reflect the call strings after inlining. + This class lets us offset the depth and fix up the reported fndecl and + stack depth to better reflect the user's original code. */ + + class inlining_info + { + public: + inlining_info (location_t loc) + { + inlining_iterator iter (loc); + m_inner_fndecl = iter.get_fndecl (); + int num_frames = 0; + while (!iter.done_p ()) + { + m_outer_fndecl = iter.get_fndecl (); + num_frames++; + iter.next (); + } + if (num_frames > 1) + m_extra_frames = num_frames - 1; + else + m_extra_frames = 0; + } + + tree get_inner_fndecl () const { return m_inner_fndecl; } + int get_extra_frames () const { return m_extra_frames; } + + private: + tree m_outer_fndecl; + tree m_inner_fndecl; + int m_extra_frames; + }; + #endif /* GCC_ANALYZER_INLINING_ITERATOR_H */ diff -Nrcpad gcc-13.2.0/gcc/analyzer/kf.cc gcc-13.3.0/gcc/analyzer/kf.cc *** gcc-13.2.0/gcc/analyzer/kf.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/kf.cc Tue May 21 07:47:38 2024 *************** region_model::impl_deallocation_call (co *** 987,992 **** --- 987,1013 ---- kf.impl_call_post (cd); } + /* Handle calls to the various __builtin___ubsan_handle_*. + These can return, but continuing after such a return + isn't likely to be interesting to the user of the analyzer. + Hence we terminate the analysis path at one of these calls. */ + + class kf_ubsan_handler : public internal_known_function + { + void impl_call_post (const call_details &cd) const final override + { + if (cd.get_ctxt ()) + cd.get_ctxt ()->terminate_path (); + } + }; + + static void + register_sanitizer_builtins (known_function_manager &kfm) + { + kfm.add (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, + make_unique ()); + } + /* Populate KFM with instances of known functions supported by the core of the analyzer (as opposed to plugins). */ *************** register_known_functions (known_function *** 1028,1033 **** --- 1049,1055 ---- kfm.add (BUILT_IN_STRNDUP, make_unique ()); kfm.add (BUILT_IN_STRLEN, make_unique ()); + register_sanitizer_builtins (kfm); register_varargs_builtins (kfm); } diff -Nrcpad gcc-13.2.0/gcc/analyzer/region-model-manager.cc gcc-13.3.0/gcc/analyzer/region-model-manager.cc *** gcc-13.2.0/gcc/analyzer/region-model-manager.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/region-model-manager.cc Tue May 21 07:47:38 2024 *************** const svalue * *** 233,239 **** region_model_manager::get_or_create_int_cst (tree type, poly_int64 val) { gcc_assert (type); ! tree tree_cst = build_int_cst (type, val); return get_or_create_constant_svalue (tree_cst); } --- 233,240 ---- region_model_manager::get_or_create_int_cst (tree type, poly_int64 val) { gcc_assert (type); ! gcc_assert (INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type)); ! tree tree_cst = wide_int_to_tree (type, val); return get_or_create_constant_svalue (tree_cst); } *************** region_model_manager::maybe_fold_unaryop *** 421,426 **** --- 422,433 ---- && region_sval->get_type () && POINTER_TYPE_P (region_sval->get_type ())) return get_ptr_svalue (type, region_sval->get_pointee ()); + + /* Casting all zeroes should give all zeroes. */ + if (type + && arg->all_zeroes_p () + && (INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))) + return get_or_create_int_cst (type, 0); } break; case TRUTH_NOT_EXPR: diff -Nrcpad gcc-13.2.0/gcc/analyzer/region-model.cc gcc-13.3.0/gcc/analyzer/region-model.cc *** gcc-13.2.0/gcc/analyzer/region-model.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/region-model.cc Tue May 21 07:47:38 2024 *************** region_model::on_stmt_pre (const gimple *** 1237,1242 **** --- 1237,1247 ---- /* No-op for now. */ break; + case GIMPLE_DEBUG: + /* We should have stripped these out when building the supergraph. */ + gcc_unreachable (); + break; + case GIMPLE_ASSIGN: { const gassign *assign = as_a (stmt); *************** region_model::get_initial_value_for_glob *** 2355,2384 **** the initial value of REG can be taken from the initialization value of the decl. */ if (called_from_main_p () || TREE_READONLY (decl)) ! { ! /* Attempt to get the initializer value for base_reg. */ ! if (const svalue *base_reg_init ! = base_reg->get_svalue_for_initializer (m_mgr)) ! { ! if (reg == base_reg) ! return base_reg_init; ! else ! { ! /* Get the value for REG within base_reg_init. */ ! binding_cluster c (base_reg); ! c.bind (m_mgr->get_store_manager (), base_reg, base_reg_init); ! const svalue *sval ! = c.get_any_binding (m_mgr->get_store_manager (), reg); ! if (sval) ! { ! if (reg->get_type ()) ! sval = m_mgr->get_or_create_cast (reg->get_type (), ! sval); ! return sval; ! } ! } ! } ! } /* Otherwise, return INIT_VAL(REG). */ return m_mgr->get_or_create_initial_value (reg); --- 2360,2366 ---- the initial value of REG can be taken from the initialization value of the decl. */ if (called_from_main_p () || TREE_READONLY (decl)) ! return reg->get_initial_value_at_main (m_mgr); /* Otherwise, return INIT_VAL(REG). */ return m_mgr->get_or_create_initial_value (reg); *************** capacity_compatible_with_type (tree cst, *** 2972,2978 **** It works by visiting all svalues inside SVAL until it reaches atomic nodes. From those, it goes back up again and adds each ! node that might be a multiple of SIZE_CST to the RESULT_SET. */ class size_visitor : public visitor { --- 2954,2960 ---- It works by visiting all svalues inside SVAL until it reaches atomic nodes. From those, it goes back up again and adds each ! node that is not a multiple of SIZE_CST to the RESULT_SET. */ class size_visitor : public visitor { *************** public: *** 2983,2989 **** m_root_sval->accept (this); } ! bool get_result () { return result_set.contains (m_root_sval); } --- 2965,2971 ---- m_root_sval->accept (this); } ! bool is_dubious_capacity () { return result_set.contains (m_root_sval); } *************** public: *** 2993,3014 **** check_constant (sval->get_constant (), sval); } - void visit_unknown_svalue (const unknown_svalue *sval ATTRIBUTE_UNUSED) - final override - { - result_set.add (sval); - } - - void visit_poisoned_svalue (const poisoned_svalue *sval ATTRIBUTE_UNUSED) - final override - { - result_set.add (sval); - } - void visit_unaryop_svalue (const unaryop_svalue *sval) final override { ! const svalue *arg = sval->get_arg (); ! if (result_set.contains (arg)) result_set.add (sval); } --- 2975,2984 ---- check_constant (sval->get_constant (), sval); } void visit_unaryop_svalue (const unaryop_svalue *sval) final override { ! if (CONVERT_EXPR_CODE_P (sval->get_op ()) ! && result_set.contains (sval->get_arg ())) result_set.add (sval); } *************** public: *** 3017,3044 **** const svalue *arg0 = sval->get_arg0 (); const svalue *arg1 = sval->get_arg1 (); ! if (sval->get_op () == MULT_EXPR) ! { ! if (result_set.contains (arg0) || result_set.contains (arg1)) ! result_set.add (sval); ! } ! else { ! if (result_set.contains (arg0) && result_set.contains (arg1)) ! result_set.add (sval); } } - void visit_repeated_svalue (const repeated_svalue *sval) final override - { - sval->get_inner_svalue ()->accept (this); - if (result_set.contains (sval->get_inner_svalue ())) - result_set.add (sval); - } - void visit_unmergeable_svalue (const unmergeable_svalue *sval) final override { - sval->get_arg ()->accept (this); if (result_set.contains (sval->get_arg ())) result_set.add (sval); } --- 2987,3010 ---- const svalue *arg0 = sval->get_arg0 (); const svalue *arg1 = sval->get_arg1 (); ! switch (sval->get_op ()) { ! case MULT_EXPR: ! if (result_set.contains (arg0) && result_set.contains (arg1)) ! result_set.add (sval); ! break; ! case PLUS_EXPR: ! case MINUS_EXPR: ! if (result_set.contains (arg0) || result_set.contains (arg1)) ! result_set.add (sval); ! break; ! default: ! break; } } void visit_unmergeable_svalue (const unmergeable_svalue *sval) final override { if (result_set.contains (sval->get_arg ())) result_set.add (sval); } *************** public: *** 3048,3080 **** const svalue *base = sval->get_base_svalue (); const svalue *iter = sval->get_iter_svalue (); ! if (result_set.contains (base) && result_set.contains (iter)) result_set.add (sval); } ! void visit_conjured_svalue (const conjured_svalue *sval ATTRIBUTE_UNUSED) ! final override { ! equiv_class_id id (-1); if (m_cm->get_equiv_class_by_svalue (sval, &id)) { if (tree cst = id.get_obj (*m_cm).get_any_constant ()) check_constant (cst, sval); ! else ! result_set.add (sval); } } ! void visit_asm_output_svalue (const asm_output_svalue *sval ATTRIBUTE_UNUSED) ! final override ! { ! result_set.add (sval); ! } ! ! void visit_const_fn_result_svalue (const const_fn_result_svalue ! *sval ATTRIBUTE_UNUSED) final override { ! result_set.add (sval); } private: --- 3014,3043 ---- const svalue *base = sval->get_base_svalue (); const svalue *iter = sval->get_iter_svalue (); ! if (result_set.contains (base) || result_set.contains (iter)) result_set.add (sval); } ! void visit_initial_svalue (const initial_svalue *sval) final override { ! equiv_class_id id = equiv_class_id::null (); if (m_cm->get_equiv_class_by_svalue (sval, &id)) { if (tree cst = id.get_obj (*m_cm).get_any_constant ()) check_constant (cst, sval); ! } ! else if (!m_cm->sval_constrained_p (sval)) ! { ! result_set.add (sval); } } ! void visit_conjured_svalue (const conjured_svalue *sval) final override { ! equiv_class_id id = equiv_class_id::null (); ! if (m_cm->get_equiv_class_by_svalue (sval, &id)) ! if (tree cst = id.get_obj (*m_cm).get_any_constant ()) ! check_constant (cst, sval); } private: *************** private: *** 3084,3093 **** { default: /* Assume all unhandled operands are compatible. */ - result_set.add (sval); break; case INTEGER_CST: ! if (capacity_compatible_with_type (cst, m_size_cst)) result_set.add (sval); break; } --- 3047,3055 ---- { default: /* Assume all unhandled operands are compatible. */ break; case INTEGER_CST: ! if (!capacity_compatible_with_type (cst, m_size_cst)) result_set.add (sval); break; } *************** region_model::check_region_size (const r *** 3210,3216 **** if (!is_struct) { size_visitor v (pointee_size_tree, capacity, m_constraints); ! if (!v.get_result ()) { tree expr = get_representative_tree (capacity); ctxt->warn (make_unique (lhs_reg, --- 3172,3178 ---- if (!is_struct) { size_visitor v (pointee_size_tree, capacity, m_constraints); ! if (v.is_dubious_capacity ()) { tree expr = get_representative_tree (capacity); ctxt->warn (make_unique (lhs_reg, diff -Nrcpad gcc-13.2.0/gcc/analyzer/region.cc gcc-13.3.0/gcc/analyzer/region.cc *** gcc-13.2.0/gcc/analyzer/region.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/region.cc Tue May 21 07:47:38 2024 *************** region::can_have_initial_svalue_p () con *** 272,277 **** --- 272,322 ---- } } + /* For regions within a global decl, get the svalue for the initial + value of this region when the program starts, caching the result. */ + + const svalue * + region::get_initial_value_at_main (region_model_manager *mgr) const + { + if (!m_cached_init_sval_at_main) + m_cached_init_sval_at_main = calc_initial_value_at_main (mgr); + return m_cached_init_sval_at_main; + } + + /* Implementation of region::get_initial_value_at_main. */ + + const svalue * + region::calc_initial_value_at_main (region_model_manager *mgr) const + { + const decl_region *base_reg = get_base_region ()->dyn_cast_decl_region (); + gcc_assert (base_reg); + + /* Attempt to get the initializer value for base_reg. */ + if (const svalue *base_reg_init + = base_reg->get_svalue_for_initializer (mgr)) + { + if (this == base_reg) + return base_reg_init; + else + { + /* Get the value for REG within base_reg_init. */ + binding_cluster c (base_reg); + c.bind (mgr->get_store_manager (), base_reg, base_reg_init); + const svalue *sval + = c.get_any_binding (mgr->get_store_manager (), this); + if (sval) + { + if (get_type ()) + sval = mgr->get_or_create_cast (get_type (), sval); + return sval; + } + } + } + + /* Otherwise, return INIT_VAL(REG). */ + return mgr->get_or_create_initial_value (this); + } + /* If this region is a decl_region, return the decl. Otherwise return NULL. */ *************** int_size_in_bits (const_tree type, bit_s *** 350,356 **** } tree sz = TYPE_SIZE (type); ! if (sz && tree_fits_uhwi_p (sz)) { *out = TREE_INT_CST_LOW (sz); return true; --- 395,405 ---- } tree sz = TYPE_SIZE (type); ! if (sz ! && tree_fits_uhwi_p (sz) ! /* If the size is zero, then we may have a zero-sized ! array; handle such cases by returning false. */ ! && !integer_zerop (sz)) { *out = TREE_INT_CST_LOW (sz); return true; *************** region::is_named_decl_p (const char *dec *** 701,707 **** region::region (complexity c, unsigned id, const region *parent, tree type) : m_complexity (c), m_id (id), m_parent (parent), m_type (type), ! m_cached_offset (NULL) { gcc_assert (type == NULL_TREE || TYPE_P (type)); } --- 750,756 ---- region::region (complexity c, unsigned id, const region *parent, tree type) : m_complexity (c), m_id (id), m_parent (parent), m_type (type), ! m_cached_offset (NULL), m_cached_init_sval_at_main (NULL) { gcc_assert (type == NULL_TREE || TYPE_P (type)); } *************** decl_region::maybe_get_constant_value (r *** 1170,1183 **** return NULL; } ! /* Get an svalue for CTOR, a CONSTRUCTOR for this region's decl. */ const svalue * ! decl_region::get_svalue_for_constructor (tree ctor, ! region_model_manager *mgr) const { - gcc_assert (!TREE_CLOBBER_P (ctor)); - /* Create a binding map, applying ctor to it, using this decl_region as the base region when building child regions for offset calculations. */ --- 1219,1231 ---- return NULL; } ! /* Implementation of decl_region::get_svalue_for_constructor ! for when the cached value hasn't yet been calculated. */ const svalue * ! decl_region::calc_svalue_for_constructor (tree ctor, ! region_model_manager *mgr) const { /* Create a binding map, applying ctor to it, using this decl_region as the base region when building child regions for offset calculations. */ *************** decl_region::get_svalue_for_constructor *** 1189,1194 **** --- 1237,1257 ---- return mgr->get_or_create_compound_svalue (get_type (), map); } + /* Get an svalue for CTOR, a CONSTRUCTOR for this region's decl. */ + + const svalue * + decl_region::get_svalue_for_constructor (tree ctor, + region_model_manager *mgr) const + { + gcc_assert (!TREE_CLOBBER_P (ctor)); + gcc_assert (ctor == DECL_INITIAL (m_decl)); + + if (!m_ctor_svalue) + m_ctor_svalue = calc_svalue_for_constructor (ctor, mgr); + + return m_ctor_svalue; + } + /* For use on decl_regions for global variables. Get an svalue for the initial value of this region at entry to diff -Nrcpad gcc-13.2.0/gcc/analyzer/region.h gcc-13.3.0/gcc/analyzer/region.h *** gcc-13.2.0/gcc/analyzer/region.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/region.h Tue May 21 07:47:38 2024 *************** public: *** 161,166 **** --- 161,167 ---- const frame_region *maybe_get_frame_region () const; enum memory_space get_memory_space () const; bool can_have_initial_svalue_p () const; + const svalue *get_initial_value_at_main (region_model_manager *mgr) const; tree maybe_get_decl () const; *************** public: *** 240,245 **** --- 241,247 ---- private: region_offset calc_offset (region_model_manager *mgr) const; + const svalue *calc_initial_value_at_main (region_model_manager *mgr) const; complexity m_complexity; unsigned m_id; // purely for deterministic sorting at this stage, for dumps *************** public: *** 247,252 **** --- 249,258 ---- tree m_type; mutable region_offset *m_cached_offset; + + /* For regions within a global decl, a cache of the svalue for the initial + value of this region when the program starts. */ + mutable const svalue *m_cached_init_sval_at_main; }; } // namespace ana *************** class decl_region : public region *** 696,702 **** public: decl_region (unsigned id, const region *parent, tree decl) : region (complexity (parent), id, parent, TREE_TYPE (decl)), m_decl (decl), ! m_tracked (calc_tracked_p (decl)) {} enum region_kind get_kind () const final override { return RK_DECL; } --- 702,709 ---- public: decl_region (unsigned id, const region *parent, tree decl) : region (complexity (parent), id, parent, TREE_TYPE (decl)), m_decl (decl), ! m_tracked (calc_tracked_p (decl)), ! m_ctor_svalue (NULL) {} enum region_kind get_kind () const final override { return RK_DECL; } *************** public: *** 716,721 **** --- 723,730 ---- const svalue *get_svalue_for_initializer (region_model_manager *mgr) const; private: + const svalue *calc_svalue_for_constructor (tree ctor, + region_model_manager *mgr) const; static bool calc_tracked_p (tree decl); tree m_decl; *************** private: *** 725,730 **** --- 734,742 ---- store objects). This can be debugged using -fdump-analyzer-untracked. */ bool m_tracked; + + /* Cached result of get_svalue_for_constructor. */ + mutable const svalue *m_ctor_svalue; }; } // namespace ana diff -Nrcpad gcc-13.2.0/gcc/analyzer/sm-malloc.cc gcc-13.3.0/gcc/analyzer/sm-malloc.cc *** gcc-13.2.0/gcc/analyzer/sm-malloc.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/sm-malloc.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 47,52 **** --- 47,53 ---- #include "analyzer/program-state.h" #include "analyzer/checker-event.h" #include "analyzer/exploded-graph.h" + #include "analyzer/inlining-iterator.h" #if ENABLE_ANALYZER *************** public: *** 1564,1569 **** --- 1565,1585 ---- if (linemap_location_from_macro_definition_p (line_table, check_loc)) return false; + /* Reject warning if the check is in a loop header within a + macro expansion. This rejects cases like: + | deref of x; + | [...snip...] + | FOR_EACH(x) { + | [...snip...] + | } + where the FOR_EACH macro tests for non-nullness of x, since + the user is hoping to encapsulate the details of iteration + in the macro, and the extra check on the first iteration + would just be noise if we reported it. */ + if (loop_header_p (m_check_enode->get_point ()) + && linemap_location_from_macro_expansion_p (line_table, check_loc)) + return false; + /* Reject if m_deref_expr is sufficiently different from m_arg for cases where the dereference is spelled differently from the check, which is probably two different ways to get the *************** public: *** 1620,1625 **** --- 1636,1656 ---- } private: + static bool loop_header_p (const program_point &point) + { + const supernode *snode = point.get_supernode (); + if (!snode) + return false; + for (auto &in_edge : snode->m_preds) + { + if (const cfg_superedge *cfg_in_edge + = in_edge->dyn_cast_cfg_superedge ()) + if (cfg_in_edge->back_edge_p ()) + return true; + } + return false; + } + static bool sufficiently_similar_p (tree expr_a, tree expr_b) { pretty_printer *pp_a = global_dc->printer->clone (); *************** maybe_complain_about_deref_before_check *** 2147,2152 **** --- 2178,2192 ---- if (checked_in_frame->get_index () > assumed_nonnull_in_frame->get_index ()) return; + /* Don't complain if STMT was inlined from another function, to avoid + similar false positives involving shared helper functions. */ + if (stmt->location) + { + inlining_info info (stmt->location); + if (info.get_extra_frames () > 0) + return; + } + tree diag_ptr = sm_ctxt->get_diagnostic_tree (ptr); if (diag_ptr) sm_ctxt->warn diff -Nrcpad gcc-13.2.0/gcc/analyzer/sm-taint.cc gcc-13.3.0/gcc/analyzer/sm-taint.cc *** gcc-13.2.0/gcc/analyzer/sm-taint.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/sm-taint.cc Tue May 21 07:47:38 2024 *************** taint_state_machine::check_for_tainted_d *** 1344,1349 **** --- 1344,1355 ---- return; tree divisor_expr = gimple_assign_rhs2 (assign);; + + /* Until we track conditions on floating point values, we can't check to + see if they've been checked against zero. */ + if (!INTEGRAL_TYPE_P (TREE_TYPE (divisor_expr))) + return; + const svalue *divisor_sval = old_model->get_rvalue (divisor_expr, NULL); state_t state = sm_ctxt->get_state (assign, divisor_sval); diff -Nrcpad gcc-13.2.0/gcc/analyzer/state-purge.cc gcc-13.3.0/gcc/analyzer/state-purge.cc *** gcc-13.2.0/gcc/analyzer/state-purge.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/state-purge.cc Tue May 21 07:47:38 2024 *************** state_purge_per_ssa_name::state_purge_pe *** 329,334 **** --- 329,343 ---- map.log ("used by stmt: %s", pp_formatted_text (&pp)); } + if (is_gimple_debug (use_stmt)) + { + /* We skipped debug stmts when building the supergraph, + so ignore them now. */ + if (map.get_logger ()) + map.log ("skipping debug stmt"); + continue; + } + const supernode *snode = map.get_sg ().get_supernode_for_stmt (use_stmt); diff -Nrcpad gcc-13.2.0/gcc/analyzer/store.cc gcc-13.3.0/gcc/analyzer/store.cc *** gcc-13.2.0/gcc/analyzer/store.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/store.cc Tue May 21 07:47:38 2024 *************** binding_cluster::maybe_get_compound_bind *** 1718,1724 **** else default_sval = sval_mgr->get_or_create_initial_value (reg); const binding_key *default_key = binding_key::make (mgr, reg); ! default_map.put (default_key, default_sval); for (map_t::iterator iter = m_map.begin (); iter != m_map.end (); ++iter) { --- 1718,1733 ---- else default_sval = sval_mgr->get_or_create_initial_value (reg); const binding_key *default_key = binding_key::make (mgr, reg); ! ! /* Express the bit-range of the default key for REG relative to REG, ! rather than to the base region. */ ! const concrete_binding *concrete_default_key ! = default_key->dyn_cast_concrete_binding (); ! if (!concrete_default_key) ! return nullptr; ! const concrete_binding *default_key_relative_to_reg ! = mgr->get_concrete_binding (0, concrete_default_key->get_size_in_bits ()); ! default_map.put (default_key_relative_to_reg, default_sval); for (map_t::iterator iter = m_map.begin (); iter != m_map.end (); ++iter) { diff -Nrcpad gcc-13.2.0/gcc/analyzer/store.h gcc-13.3.0/gcc/analyzer/store.h *** gcc-13.2.0/gcc/analyzer/store.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/store.h Tue May 21 07:47:38 2024 *************** public: *** 368,374 **** concrete_binding (bit_offset_t start_bit_offset, bit_size_t size_in_bits) : m_bit_range (start_bit_offset, size_in_bits) { ! gcc_assert (!m_bit_range.empty_p ()); } bool concrete_p () const final override { return true; } --- 368,374 ---- concrete_binding (bit_offset_t start_bit_offset, bit_size_t size_in_bits) : m_bit_range (start_bit_offset, size_in_bits) { ! gcc_assert (m_bit_range.m_size_in_bits > 0); } bool concrete_p () const final override { return true; } *************** public: *** 409,418 **** static int cmp_ptr_ptr (const void *, const void *); ! void mark_deleted () { m_bit_range.m_start_bit_offset = -1; } ! void mark_empty () { m_bit_range.m_start_bit_offset = -2; } ! bool is_deleted () const { return m_bit_range.m_start_bit_offset == -1; } ! bool is_empty () const { return m_bit_range.m_start_bit_offset == -2; } private: bit_range m_bit_range; --- 409,418 ---- static int cmp_ptr_ptr (const void *, const void *); ! void mark_deleted () { m_bit_range.m_size_in_bits = -1; } ! void mark_empty () { m_bit_range.m_size_in_bits = -2; } ! bool is_deleted () const { return m_bit_range.m_size_in_bits == -1; } ! bool is_empty () const { return m_bit_range.m_size_in_bits == -2; } private: bit_range m_bit_range; diff -Nrcpad gcc-13.2.0/gcc/analyzer/supergraph.cc gcc-13.3.0/gcc/analyzer/supergraph.cc *** gcc-13.2.0/gcc/analyzer/supergraph.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/supergraph.cc Tue May 21 07:47:38 2024 *************** supergraph::supergraph (logger *logger) *** 182,187 **** --- 182,191 ---- for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) { gimple *stmt = gsi_stmt (gsi); + /* Discard debug stmts here, so we don't have to check for + them anywhere within the analyzer. */ + if (is_gimple_debug (stmt)) + continue; node_for_stmts->m_stmts.safe_push (stmt); m_stmt_to_node_t.put (stmt, node_for_stmts); m_stmt_uids.make_uid_unique (stmt); diff -Nrcpad gcc-13.2.0/gcc/analyzer/varargs.cc gcc-13.3.0/gcc/analyzer/varargs.cc *** gcc-13.2.0/gcc/analyzer/varargs.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/analyzer/varargs.cc Tue May 21 07:47:38 2024 *************** public: *** 961,973 **** } }; ! /* Return true if it's OK to copy a value from ARG_TYPE to LHS_TYPE via va_arg (where argument promotion has already happened). */ static bool ! va_arg_compatible_types_p (tree lhs_type, tree arg_type) { ! return compat_types_p (arg_type, lhs_type); } /* If AP_SVAL is a pointer to a var_arg_region, return that var_arg_region. --- 961,1003 ---- } }; ! static bool ! representable_in_integral_type_p (const svalue &sval, const_tree type) ! { ! gcc_assert (INTEGRAL_TYPE_P (type)); ! ! if (tree cst = sval.maybe_get_constant ()) ! return wi::fits_to_tree_p (wi::to_wide (cst), type); ! ! return true; ! } ! ! /* Return true if it's OK to copy ARG_SVAL from ARG_TYPE to LHS_TYPE via va_arg (where argument promotion has already happened). */ static bool ! va_arg_compatible_types_p (tree lhs_type, tree arg_type, const svalue &arg_sval) { ! if (compat_types_p (arg_type, lhs_type)) ! return true; ! ! /* It's OK if both types are integer types, where one is signed and the ! other type the corresponding unsigned type, when the value is ! representable in both types. */ ! if (INTEGRAL_TYPE_P (lhs_type) ! && INTEGRAL_TYPE_P (arg_type) ! && TYPE_UNSIGNED (lhs_type) != TYPE_UNSIGNED (arg_type) ! && TYPE_PRECISION (lhs_type) == TYPE_PRECISION (arg_type) ! && representable_in_integral_type_p (arg_sval, lhs_type) ! && representable_in_integral_type_p (arg_sval, arg_type)) ! return true; ! ! /* It's OK if one type is a pointer to void and the other is a ! pointer to a character type. ! This is handled by compat_types_p. */ ! ! /* Otherwise the types are not compatible. */ ! return false; } /* If AP_SVAL is a pointer to a var_arg_region, return that var_arg_region. *************** kf_va_arg::impl_call_pre (const call_det *** 1031,1037 **** { tree lhs_type = cd.get_lhs_type (); tree arg_type = arg_sval->get_type (); ! if (va_arg_compatible_types_p (lhs_type, arg_type)) cd.maybe_set_lhs (arg_sval); else { --- 1061,1067 ---- { tree lhs_type = cd.get_lhs_type (); tree arg_type = arg_sval->get_type (); ! if (va_arg_compatible_types_p (lhs_type, arg_type, *arg_sval)) cd.maybe_set_lhs (arg_sval); else { diff -Nrcpad gcc-13.2.0/gcc/asan.cc gcc-13.3.0/gcc/asan.cc *** gcc-13.2.0/gcc/asan.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/asan.cc Tue May 21 07:47:38 2024 *************** asan_emit_stack_protection (rtx base, rt *** 1909,1927 **** } str_cst = asan_pp_string (&asan_pp); /* Emit the prologue sequence. */ if (asan_frame_size > 32 && asan_frame_size <= 65536 && pbase && param_asan_use_after_return) { use_after_return_class = floor_log2 (asan_frame_size - 1) - 5; /* __asan_stack_malloc_N guarantees alignment N < 6 ? (64 << N) : 4096 bytes. */ if (alignb > (use_after_return_class < 6 ? (64U << use_after_return_class) : 4096U)) use_after_return_class = -1; ! else if (alignb > ASAN_RED_ZONE_SIZE && (asan_frame_size & (alignb - 1))) ! base_align_bias = ((asan_frame_size + alignb - 1) ! & ~(alignb - HOST_WIDE_INT_1)) - asan_frame_size; } /* Align base if target is STRICT_ALIGNMENT. */ --- 1909,1947 ---- } str_cst = asan_pp_string (&asan_pp); + gcc_checking_assert (offsets[0] == (crtl->stack_protect_guard + ? -ASAN_RED_ZONE_SIZE : 0)); /* Emit the prologue sequence. */ if (asan_frame_size > 32 && asan_frame_size <= 65536 && pbase && param_asan_use_after_return) { + HOST_WIDE_INT adjusted_frame_size = asan_frame_size; + /* The stack protector guard is allocated at the top of the frame + and cfgexpand.cc then uses align_frame_offset (ASAN_RED_ZONE_SIZE); + while in that case we can still use asan_frame_size, we need to take + that into account when computing base_align_bias. */ + if (alignb > ASAN_RED_ZONE_SIZE && crtl->stack_protect_guard) + adjusted_frame_size += ASAN_RED_ZONE_SIZE; use_after_return_class = floor_log2 (asan_frame_size - 1) - 5; /* __asan_stack_malloc_N guarantees alignment N < 6 ? (64 << N) : 4096 bytes. */ if (alignb > (use_after_return_class < 6 ? (64U << use_after_return_class) : 4096U)) use_after_return_class = -1; ! else if (alignb > ASAN_RED_ZONE_SIZE ! && (adjusted_frame_size & (alignb - 1))) ! { ! base_align_bias ! = ((adjusted_frame_size + alignb - 1) ! & ~(alignb - HOST_WIDE_INT_1)) - adjusted_frame_size; ! use_after_return_class ! = floor_log2 (asan_frame_size + base_align_bias - 1) - 5; ! if (use_after_return_class > 10) ! { ! base_align_bias = 0; ! use_after_return_class = -1; ! } ! } } /* Align base if target is STRICT_ALIGNMENT. */ *************** asan_protect_global (tree decl, bool ign *** 2291,2296 **** --- 2311,2318 ---- || (DECL_SECTION_NAME (decl) != NULL && !symtab_node::get (decl)->implicit_section && !section_sanitized_p (DECL_SECTION_NAME (decl))) + /* Don't protect variables in non-generic address-space. */ + || !ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (decl))) || DECL_SIZE (decl) == 0 || ASAN_RED_ZONE_SIZE * BITS_PER_UNIT > MAX_OFILE_ALIGNMENT || TREE_CODE (DECL_SIZE_UNIT (decl)) != INTEGER_CST *************** maybe_create_ssa_name (location_t loc, t *** 2569,2575 **** gimple *g = gimple_build_assign (make_ssa_name (TREE_TYPE (base)), base); gimple_set_location (g, loc); if (before_p) ! gsi_insert_before (iter, g, GSI_SAME_STMT); else gsi_insert_after (iter, g, GSI_NEW_STMT); return gimple_assign_lhs (g); --- 2591,2597 ---- gimple *g = gimple_build_assign (make_ssa_name (TREE_TYPE (base)), base); gimple_set_location (g, loc); if (before_p) ! gsi_safe_insert_before (iter, g); else gsi_insert_after (iter, g, GSI_NEW_STMT); return gimple_assign_lhs (g); *************** maybe_cast_to_ptrmode (location_t loc, t *** 2588,2594 **** NOP_EXPR, len); gimple_set_location (g, loc); if (before_p) ! gsi_insert_before (iter, g, GSI_SAME_STMT); else gsi_insert_after (iter, g, GSI_NEW_STMT); return gimple_assign_lhs (g); --- 2610,2616 ---- NOP_EXPR, len); gimple_set_location (g, loc); if (before_p) ! gsi_safe_insert_before (iter, g); else gsi_insert_after (iter, g, GSI_NEW_STMT); return gimple_assign_lhs (g); *************** build_check_stmt (location_t loc, tree b *** 2679,2685 **** align / BITS_PER_UNIT)); gimple_set_location (g, loc); if (before_p) ! gsi_insert_before (&gsi, g, GSI_SAME_STMT); else { gsi_insert_after (&gsi, g, GSI_NEW_STMT); --- 2701,2707 ---- align / BITS_PER_UNIT)); gimple_set_location (g, loc); if (before_p) ! gsi_safe_insert_before (&gsi, g); else { gsi_insert_after (&gsi, g, GSI_NEW_STMT); *************** instrument_derefs (gimple_stmt_iterator *** 2750,2755 **** --- 2772,2781 ---- if (VAR_P (inner) && DECL_HARD_REGISTER (inner)) return; + /* Accesses to non-generic address-spaces should not be instrumented. */ + if (!ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (inner)))) + return; + poly_int64 decl_size; if ((VAR_P (inner) || TREE_CODE (inner) == RESULT_DECL) && offset == NULL_TREE *************** maybe_instrument_call (gimple_stmt_itera *** 2999,3004 **** --- 3025,3033 ---- break; } } + if (gimple_call_internal_p (stmt, IFN_ABNORMAL_DISPATCHER)) + /* Don't instrument this. */ + return false; /* If a function does not return, then we must handle clearing up the shadow stack accordingly. For ASAN we can simply set the entire stack to "valid" for accesses by setting the shadow space to 0 and all *************** maybe_instrument_call (gimple_stmt_itera *** 3018,3024 **** tree decl = builtin_decl_implicit (BUILT_IN_ASAN_HANDLE_NO_RETURN); gimple *g = gimple_build_call (decl, 0); gimple_set_location (g, gimple_location (stmt)); ! gsi_insert_before (iter, g, GSI_SAME_STMT); } } --- 3047,3053 ---- tree decl = builtin_decl_implicit (BUILT_IN_ASAN_HANDLE_NO_RETURN); gimple *g = gimple_build_call (decl, 0); gimple_set_location (g, gimple_location (stmt)); ! gsi_safe_insert_before (iter, g); } } *************** asan_expand_mark_ifn (gimple_stmt_iterat *** 3795,3803 **** } tree len = gimple_call_arg (g, 2); ! gcc_assert (tree_fits_shwi_p (len)); ! unsigned HOST_WIDE_INT size_in_bytes = tree_to_shwi (len); ! gcc_assert (size_in_bytes); g = gimple_build_assign (make_ssa_name (pointer_sized_int_node), NOP_EXPR, base); --- 3824,3830 ---- } tree len = gimple_call_arg (g, 2); ! gcc_assert (poly_int_tree_p (len)); g = gimple_build_assign (make_ssa_name (pointer_sized_int_node), NOP_EXPR, base); *************** asan_expand_mark_ifn (gimple_stmt_iterat *** 3806,3814 **** tree base_addr = gimple_assign_lhs (g); /* Generate direct emission if size_in_bytes is small. */ ! if (size_in_bytes ! <= (unsigned)param_use_after_scope_direct_emission_threshold) { const unsigned HOST_WIDE_INT shadow_size = shadow_mem_size (size_in_bytes); const unsigned int shadow_align --- 3833,3842 ---- tree base_addr = gimple_assign_lhs (g); /* Generate direct emission if size_in_bytes is small. */ ! unsigned threshold = param_use_after_scope_direct_emission_threshold; ! if (tree_fits_uhwi_p (len) && tree_to_uhwi (len) <= threshold) { + unsigned HOST_WIDE_INT size_in_bytes = tree_to_uhwi (len); const unsigned HOST_WIDE_INT shadow_size = shadow_mem_size (size_in_bytes); const unsigned int shadow_align *************** asan_expand_mark_ifn (gimple_stmt_iterat *** 3842,3848 **** g = gimple_build_assign (make_ssa_name (pointer_sized_int_node), NOP_EXPR, len); gimple_set_location (g, loc); ! gsi_insert_before (iter, g, GSI_SAME_STMT); tree sz_arg = gimple_assign_lhs (g); tree fun --- 3870,3876 ---- g = gimple_build_assign (make_ssa_name (pointer_sized_int_node), NOP_EXPR, len); gimple_set_location (g, loc); ! gsi_safe_insert_before (iter, g); tree sz_arg = gimple_assign_lhs (g); tree fun diff -Nrcpad gcc-13.2.0/gcc/attribs.cc gcc-13.3.0/gcc/attribs.cc *** gcc-13.2.0/gcc/attribs.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/attribs.cc Tue May 21 07:47:38 2024 *************** static const struct attribute_spec empty *** 109,123 **** { NULL, 0, 0, false, false, false, false, NULL, NULL } }; - /* Return base name of the attribute. Ie '__attr__' is turned into 'attr'. - To avoid need for copying, we simply return length of the string. */ - - static void - extract_attribute_substring (struct substring *str) - { - canonicalize_attr_name (str->str, str->length); - } - /* Insert an array of attributes ATTRIBUTES into a namespace. This array must be NULL terminated. NS is the name of attribute namespace. IGNORED_P is true iff all unknown attributes in this --- 109,114 ---- *************** lookup_scoped_attribute_spec (const_tree *** 410,416 **** attr.str = IDENTIFIER_POINTER (name); attr.length = IDENTIFIER_LENGTH (name); - extract_attribute_substring (&attr); return attrs->attribute_hash->find_with_hash (&attr, substring_hash (attr.str, attr.length)); --- 401,406 ---- *************** diag_attr_exclusions (tree last_decl, tr *** 490,496 **** if (DECL_P (node)) { attrs[0] = DECL_ATTRIBUTES (node); ! attrs[1] = TYPE_ATTRIBUTES (TREE_TYPE (node)); } else { --- 480,491 ---- if (DECL_P (node)) { attrs[0] = DECL_ATTRIBUTES (node); ! if (TREE_TYPE (node)) ! attrs[1] = TYPE_ATTRIBUTES (TREE_TYPE (node)); ! else ! /* TREE_TYPE can be NULL e.g. while processing attributes on ! enumerators. */ ! attrs[1] = NULL_TREE; } else { *************** attribute_ignored_p (tree attr) *** 579,587 **** return false; if (tree ns = get_attribute_namespace (attr)) { - if (attr_namespace_ignored_p (ns)) - return true; const attribute_spec *as = lookup_attribute_spec (TREE_PURPOSE (attr)); if (as && as->max_length == -2) return true; } --- 574,582 ---- return false; if (tree ns = get_attribute_namespace (attr)) { const attribute_spec *as = lookup_attribute_spec (TREE_PURPOSE (attr)); + if (as == NULL && attr_namespace_ignored_p (ns)) + return true; if (as && as->max_length == -2) return true; } *************** decl_attributes (tree *node, tree attrib *** 857,863 **** } } ! if (no_add_attrs) continue; if (spec->handler != NULL) --- 852,861 ---- } } ! if (no_add_attrs ! /* Don't add attributes registered just for -Wno-attributes=foo::bar ! purposes. */ ! || attribute_ignored_p (attr)) continue; if (spec->handler != NULL) diff -Nrcpad gcc-13.2.0/gcc/bb-reorder.cc gcc-13.3.0/gcc/bb-reorder.cc *** gcc-13.2.0/gcc/bb-reorder.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/bb-reorder.cc Tue May 21 07:47:38 2024 *************** fix_crossing_unconditional_branches (voi *** 2266,2272 **** /* Make sure the jump is not already an indirect or table jump. */ if (!computed_jump_p (last_insn) ! && !tablejump_p (last_insn, NULL, NULL)) { /* We have found a "crossing" unconditional branch. Now we must convert it to an indirect jump. First create --- 2266,2273 ---- /* Make sure the jump is not already an indirect or table jump. */ if (!computed_jump_p (last_insn) ! && !tablejump_p (last_insn, NULL, NULL) ! && asm_noperands (PATTERN (last_insn)) < 0) { /* We have found a "crossing" unconditional branch. Now we must convert it to an indirect jump. First create diff -Nrcpad gcc-13.2.0/gcc/bitmap.cc gcc-13.3.0/gcc/bitmap.cc *** gcc-13.2.0/gcc/bitmap.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/bitmap.cc Tue May 21 07:47:38 2024 *************** bitmap_hash (const_bitmap head) *** 2673,2679 **** for (ix = 0; ix != BITMAP_ELEMENT_WORDS; ix++) hash ^= ptr->bits[ix]; } ! return (hashval_t)hash; } --- 2673,2679 ---- for (ix = 0; ix != BITMAP_ELEMENT_WORDS; ix++) hash ^= ptr->bits[ix]; } ! return iterative_hash (&hash, sizeof (hash), 0); } diff -Nrcpad gcc-13.2.0/gcc/c/ChangeLog gcc-13.3.0/gcc/c/ChangeLog *** gcc-13.2.0/gcc/c/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/c/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,17 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-03-25 Joseph Myers + + Backported from master: + 2024-01-31 Joseph Myers + + PR c/112571 + * c-decl.cc (start_enum): Clear ENUM_FIXED_UNDERLYING_TYPE_P when + defining without a fixed underlying type an enumeration previously + declared with a fixed underlying type. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/c/c-decl.cc gcc-13.3.0/gcc/c/c-decl.cc *** gcc-13.2.0/gcc/c/c-decl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c/c-decl.cc Tue May 21 07:47:38 2024 *************** start_enum (location_t loc, struct c_enu *** 9587,9594 **** if (ENUM_FIXED_UNDERLYING_TYPE_P (enumtype) && fixed_underlying_type == NULL_TREE) ! error_at (loc, "% declared with but defined without " ! "fixed underlying type"); the_enum->enum_next_value = integer_zero_node; the_enum->enum_type = enumtype; --- 9587,9597 ---- if (ENUM_FIXED_UNDERLYING_TYPE_P (enumtype) && fixed_underlying_type == NULL_TREE) ! { ! error_at (loc, "% declared with but defined without " ! "fixed underlying type"); ! ENUM_FIXED_UNDERLYING_TYPE_P (enumtype) = false; ! } the_enum->enum_next_value = integer_zero_node; the_enum->enum_type = enumtype; diff -Nrcpad gcc-13.2.0/gcc/c-family/ChangeLog gcc-13.3.0/gcc/c-family/ChangeLog *** gcc-13.2.0/gcc/c-family/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/c-family/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,76 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-07 Andrew Pinski + + Backported from master: + 2024-05-07 Andrew Pinski + + PR c++/89224 + * c-common.cc (convert_vector_to_array_for_subscript): Call build_qualified_type + for the inner type. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-19 Jakub Jelinek + + PR c/114780 + * c-common.cc (check_function_sentinel): Allow as sentinel any + argument of NULLPTR_TYPE. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-02-22 Jakub Jelinek + + PR c/114007 + * c-lex.cc (c_common_has_attribute): Parse 2 CPP_COLONs with + the first one with COLON_SCOPE flag the same as CPP_SCOPE but + ensure 0 is returned then. + + 2024-03-02 Jakub Jelinek + + Backported from master: + 2024-01-09 Jakub Jelinek + + PR c/113262 + * c-attribs.cc (handle_copy_attribute): Don't use + DECL_SOURCE_LOCATION (decl) if decl is not DECL_P, use input_location + instead. Formatting fixes. + + 2024-01-27 Lewis Hyatt + + PR preprocessor/105608 + * c-pch.cc (c_common_read_pch): Start a new line map before asking + libcpp to restore macros defined prior to reading the PCH, instead + of afterward. + + 2023-11-10 Richard Biener + + Backported from master: + 2023-08-31 Richard Biener + + PR middle-end/111253 + * c-pretty-print.cc (c_pretty_printer::primary_expression): + Only dump gimple_assign_single_p SSA def RHS. + + 2023-10-20 Marek Polacek + + Backported from master: + 2023-10-20 Marek Polacek + + PR c/111884 + * c-common.cc (c_common_get_alias_set): Return -1 for char8_t only + in C++. + + 2023-10-19 Lewis Hyatt + + PR c++/89038 + * c-pragma.cc (handle_pragma_diagnostic_impl): Handle + -Wunknown-pragmas during early processing. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/c-family/c-attribs.cc gcc-13.3.0/gcc/c-family/c-attribs.cc *** gcc-13.2.0/gcc/c-family/c-attribs.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-attribs.cc Tue May 21 07:47:38 2024 *************** handle_copy_attribute (tree *node, tree *** 2892,2904 **** if (ref == error_mark_node) return NULL_TREE; if (TREE_CODE (ref) == STRING_CST) { /* Explicitly handle this case since using a string literal as an argument is a likely mistake. */ ! error_at (DECL_SOURCE_LOCATION (decl), ! "%qE attribute argument cannot be a string", ! name); return NULL_TREE; } --- 2892,2905 ---- if (ref == error_mark_node) return NULL_TREE; + location_t loc = input_location; + if (DECL_P (decl)) + loc = DECL_SOURCE_LOCATION (decl); if (TREE_CODE (ref) == STRING_CST) { /* Explicitly handle this case since using a string literal as an argument is a likely mistake. */ ! error_at (loc, "%qE attribute argument cannot be a string", name); return NULL_TREE; } *************** handle_copy_attribute (tree *node, tree *** 2909,2918 **** /* Similar to the string case, since some function attributes accept literal numbers as arguments (e.g., alloc_size or nonnull) using one here is a likely mistake. */ ! error_at (DECL_SOURCE_LOCATION (decl), ! "%qE attribute argument cannot be a constant arithmetic " ! "expression", ! name); return NULL_TREE; } --- 2910,2917 ---- /* Similar to the string case, since some function attributes accept literal numbers as arguments (e.g., alloc_size or nonnull) using one here is a likely mistake. */ ! error_at (loc, "%qE attribute argument cannot be a constant arithmetic " ! "expression", name); return NULL_TREE; } *************** handle_copy_attribute (tree *node, tree *** 2920,2931 **** { /* Another possible mistake (but indirect self-references aren't and diagnosed and shouldn't be). */ ! if (warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wattributes, "%qE attribute ignored on a redeclaration " ! "of the referenced symbol", ! name)) ! inform (DECL_SOURCE_LOCATION (node[1]), ! "previous declaration here"); return NULL_TREE; } --- 2919,2929 ---- { /* Another possible mistake (but indirect self-references aren't and diagnosed and shouldn't be). */ ! if (warning_at (loc, OPT_Wattributes, "%qE attribute ignored on a redeclaration " ! "of the referenced symbol", name) ! && DECL_P (node[1])) ! inform (DECL_SOURCE_LOCATION (node[1]), "previous declaration here"); return NULL_TREE; } *************** handle_copy_attribute (tree *node, tree *** 2945,2951 **** ref = TREE_OPERAND (ref, 1); else break; ! } while (!DECL_P (ref)); /* For object pointer expressions, consider those to be requests to copy from their type, such as in: --- 2943,2950 ---- ref = TREE_OPERAND (ref, 1); else break; ! } ! while (!DECL_P (ref)); /* For object pointer expressions, consider those to be requests to copy from their type, such as in: *************** handle_copy_attribute (tree *node, tree *** 2977,2984 **** to a variable, or variable attributes to a function. */ if (warning (OPT_Wattributes, "%qE attribute ignored on a declaration of " ! "a different kind than referenced symbol", ! name) && DECL_P (ref)) inform (DECL_SOURCE_LOCATION (ref), "symbol %qD referenced by %qD declared here", ref, decl); --- 2976,2982 ---- to a variable, or variable attributes to a function. */ if (warning (OPT_Wattributes, "%qE attribute ignored on a declaration of " ! "a different kind than referenced symbol", name) && DECL_P (ref)) inform (DECL_SOURCE_LOCATION (ref), "symbol %qD referenced by %qD declared here", ref, decl); *************** handle_copy_attribute (tree *node, tree *** 3028,3036 **** } else if (!TYPE_P (decl)) { ! error_at (DECL_SOURCE_LOCATION (decl), ! "%qE attribute must apply to a declaration", ! name); return NULL_TREE; } --- 3026,3032 ---- } else if (!TYPE_P (decl)) { ! error_at (loc, "%qE attribute must apply to a declaration", name); return NULL_TREE; } diff -Nrcpad gcc-13.2.0/gcc/c-family/c-common.cc gcc-13.3.0/gcc/c-family/c-common.cc *** gcc-13.2.0/gcc/c-family/c-common.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-common.cc Tue May 21 07:47:38 2024 *************** c_common_get_alias_set (tree t) *** 3806,3817 **** if (!TYPE_P (t)) return -1; ! /* Unlike char, char8_t doesn't alias. */ ! if (flag_char8_t && t == char8_type_node) return -1; /* The C standard guarantees that any object may be accessed via an ! lvalue that has narrow character type (except char8_t). */ if (t == char_type_node || t == signed_char_type_node || t == unsigned_char_type_node) --- 3806,3818 ---- if (!TYPE_P (t)) return -1; ! /* Unlike char, char8_t doesn't alias in C++. (In C, char8_t is not ! a distinct type.) */ ! if (flag_char8_t && t == char8_type_node && c_dialect_cxx ()) return -1; /* The C standard guarantees that any object may be accessed via an ! lvalue that has narrow character type. */ if (t == char_type_node || t == signed_char_type_node || t == unsigned_char_type_node) *************** check_function_sentinel (const_tree fnty *** 5702,5707 **** --- 5703,5709 ---- sentinel = fold_for_warn (argarray[nargs - 1 - pos]); if ((!POINTER_TYPE_P (TREE_TYPE (sentinel)) || !integer_zerop (sentinel)) + && TREE_CODE (TREE_TYPE (sentinel)) != NULLPTR_TYPE /* Although __null (in C++) is only an integer we allow it nevertheless, as we are guaranteed that it's exactly as wide as a pointer, and we don't want to force *************** convert_vector_to_array_for_subscript (l *** 8543,8548 **** --- 8545,8551 ---- if (gnu_vector_type_p (TREE_TYPE (*vecp))) { tree type = TREE_TYPE (*vecp); + tree newitype; ret = !lvalue_p (*vecp); *************** convert_vector_to_array_for_subscript (l *** 8557,8564 **** for function parameters. */ c_common_mark_addressable_vec (*vecp); *vecp = build1 (VIEW_CONVERT_EXPR, ! build_array_type_nelts (TREE_TYPE (type), TYPE_VECTOR_SUBPARTS (type)), *vecp); } --- 8560,8571 ---- for function parameters. */ c_common_mark_addressable_vec (*vecp); + /* Make sure qualifiers are copied from the vector type to the new element + of the array type. */ + newitype = build_qualified_type (TREE_TYPE (type), TYPE_QUALS (type)); + *vecp = build1 (VIEW_CONVERT_EXPR, ! build_array_type_nelts (newitype, TYPE_VECTOR_SUBPARTS (type)), *vecp); } diff -Nrcpad gcc-13.2.0/gcc/c-family/c-lex.cc gcc-13.3.0/gcc/c-family/c-lex.cc *** gcc-13.2.0/gcc/c-family/c-lex.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-lex.cc Tue May 21 07:47:38 2024 *************** c_common_has_attribute (cpp_reader *pfil *** 327,335 **** do nxt_token = cpp_peek_token (pfile, idx++); while (nxt_token->type == CPP_PADDING); ! if (nxt_token->type == CPP_SCOPE) { - have_scope = true; get_token_no_padding (pfile); // Eat scope. nxt_token = get_token_no_padding (pfile); if (nxt_token->type == CPP_NAME) --- 327,354 ---- do nxt_token = cpp_peek_token (pfile, idx++); while (nxt_token->type == CPP_PADDING); ! if (!c_dialect_cxx () ! && nxt_token->type == CPP_COLON ! && (nxt_token->flags & COLON_SCOPE) != 0) ! { ! const cpp_token *prev_token = nxt_token; ! do ! nxt_token = cpp_peek_token (pfile, idx++); ! while (nxt_token->type == CPP_PADDING); ! if (nxt_token->type == CPP_COLON) ! { ! /* __has_attribute (vendor::attr) in -std=c17 etc. modes. ! :: isn't CPP_SCOPE but 2 CPP_COLON tokens, where the ! first one should have COLON_SCOPE flag to distinguish ! it from : :. */ ! have_scope = true; ! get_token_no_padding (pfile); // Eat first colon. ! } ! else ! nxt_token = prev_token; ! } ! if (nxt_token->type == CPP_SCOPE || have_scope) { get_token_no_padding (pfile); // Eat scope. nxt_token = get_token_no_padding (pfile); if (nxt_token->type == CPP_NAME) *************** c_common_has_attribute (cpp_reader *pfil *** 359,364 **** --- 378,392 ---- "attribute identifier required after scope"); attr_name = NULL_TREE; } + if (have_scope) + { + /* The parser in this case won't be able to parse + [[vendor::attr]], so ensure 0 is returned. */ + result = 0; + attr_name = NULL_TREE; + } + else + have_scope = true; } else { diff -Nrcpad gcc-13.2.0/gcc/c-family/c-pch.cc gcc-13.3.0/gcc/c-family/c-pch.cc *** gcc-13.2.0/gcc/c-family/c-pch.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-pch.cc Tue May 21 07:47:38 2024 *************** c_common_read_pch (cpp_reader *pfile, co *** 342,347 **** --- 342,349 ---- gt_pch_restore (f); cpp_set_line_map (pfile, line_table); rebuild_location_adhoc_htab (line_table); + line_table->trace_includes = saved_trace_includes; + linemap_add (line_table, LC_ENTER, 0, saved_loc.file, saved_loc.line); timevar_push (TV_PCH_CPP_RESTORE); if (cpp_read_state (pfile, name, f, smd) != 0) *************** c_common_read_pch (cpp_reader *pfile, co *** 355,363 **** fclose (f); - line_table->trace_includes = saved_trace_includes; - linemap_add (line_table, LC_ENTER, 0, saved_loc.file, saved_loc.line); - /* Give the front end a chance to take action after a PCH file has been loaded. */ if (lang_post_pch_load) --- 357,362 ---- diff -Nrcpad gcc-13.2.0/gcc/c-family/c-pragma.cc gcc-13.3.0/gcc/c-family/c-pragma.cc *** gcc-13.2.0/gcc/c-family/c-pragma.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-pragma.cc Tue May 21 07:47:38 2024 *************** handle_pragma_diagnostic_impl () *** 1006,1012 **** /* option_string + 1 to skip the initial '-' */ unsigned int option_index = find_opt (data.option_str + 1, lang_mask); ! if (early && !c_option_is_from_cpp_diagnostics (option_index)) return; if (option_index == OPT_SPECIAL_unknown) --- 1006,1013 ---- /* option_string + 1 to skip the initial '-' */ unsigned int option_index = find_opt (data.option_str + 1, lang_mask); ! if (early && !(c_option_is_from_cpp_diagnostics (option_index) ! || option_index == OPT_Wunknown_pragmas)) return; if (option_index == OPT_SPECIAL_unknown) diff -Nrcpad gcc-13.2.0/gcc/c-family/c-pretty-print.cc gcc-13.3.0/gcc/c-family/c-pretty-print.cc *** gcc-13.2.0/gcc/c-family/c-pretty-print.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/c-family/c-pretty-print.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 33,38 **** --- 33,41 ---- #include "langhooks.h" #include "options.h" #include "internal-fn.h" + #include "function.h" + #include "basic-block.h" + #include "gimple.h" /* The pretty-printer code is primarily designed to closely follow (GNU) C and C++ grammars. That is to be contrasted with spaghetti *************** c_pretty_printer::primary_expression (tr *** 1380,1391 **** else primary_expression (var); } ! else { /* Print only the right side of the GIMPLE assignment. */ gimple *def_stmt = SSA_NAME_DEF_STMT (e); pp_gimple_stmt_1 (this, def_stmt, 0, TDF_RHS_ONLY); } break; default: --- 1383,1396 ---- else primary_expression (var); } ! else if (gimple_assign_single_p (SSA_NAME_DEF_STMT (e))) { /* Print only the right side of the GIMPLE assignment. */ gimple *def_stmt = SSA_NAME_DEF_STMT (e); pp_gimple_stmt_1 (this, def_stmt, 0, TDF_RHS_ONLY); } + else + expression (e); break; default: diff -Nrcpad gcc-13.2.0/gcc/calls.cc gcc-13.3.0/gcc/calls.cc *** gcc-13.2.0/gcc/calls.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/calls.cc Tue May 21 07:47:38 2024 *************** expand_call (tree exp, rtx target, int i *** 2920,2926 **** /* Count the struct value address, if it is passed as a parm. */ + structure_value_addr_parm); else if (TYPE_NO_NAMED_ARGS_STDARG_P (funtype)) ! n_named_args = 0; else /* If we know nothing, treat all args as named. */ n_named_args = num_actuals; --- 2920,2926 ---- /* Count the struct value address, if it is passed as a parm. */ + structure_value_addr_parm); else if (TYPE_NO_NAMED_ARGS_STDARG_P (funtype)) ! n_named_args = structure_value_addr_parm; else /* If we know nothing, treat all args as named. */ n_named_args = num_actuals; *************** expand_call (tree exp, rtx target, int i *** 2952,2965 **** we do not have any reliable way to pass unnamed args in registers, so we must force them into memory. */ ! if (type_arg_types != 0 && targetm.calls.strict_argument_naming (args_so_far)) ; else if (type_arg_types != 0 && ! targetm.calls.pretend_outgoing_varargs_named (args_so_far)) /* Don't include the last named arg. */ --n_named_args; ! else if (TYPE_NO_NAMED_ARGS_STDARG_P (funtype)) n_named_args = 0; else /* Treat all args as named. */ --- 2952,2966 ---- we do not have any reliable way to pass unnamed args in registers, so we must force them into memory. */ ! if ((type_arg_types != 0 || TYPE_NO_NAMED_ARGS_STDARG_P (funtype)) && targetm.calls.strict_argument_naming (args_so_far)) ; else if (type_arg_types != 0 && ! targetm.calls.pretend_outgoing_varargs_named (args_so_far)) /* Don't include the last named arg. */ --n_named_args; ! else if (TYPE_NO_NAMED_ARGS_STDARG_P (funtype) ! && ! targetm.calls.pretend_outgoing_varargs_named (args_so_far)) n_named_args = 0; else /* Treat all args as named. */ diff -Nrcpad gcc-13.2.0/gcc/cfgexpand.cc gcc-13.3.0/gcc/cfgexpand.cc *** gcc-13.2.0/gcc/cfgexpand.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cfgexpand.cc Tue May 21 07:47:38 2024 *************** visit_conflict (gimple *, tree op, tree, *** 571,576 **** --- 571,596 ---- return false; } + /* Helper function for add_scope_conflicts_1. For USE on + a stmt, if it is a SSA_NAME and in its SSA_NAME_DEF_STMT is known to be + based on some ADDR_EXPR, invoke VISIT on that ADDR_EXPR. */ + + static inline void + add_scope_conflicts_2 (tree use, bitmap work, + walk_stmt_load_store_addr_fn visit) + { + if (TREE_CODE (use) == SSA_NAME + && (POINTER_TYPE_P (TREE_TYPE (use)) + || INTEGRAL_TYPE_P (TREE_TYPE (use)))) + { + gimple *g = SSA_NAME_DEF_STMT (use); + if (is_gimple_assign (g)) + if (tree op = gimple_assign_rhs1 (g)) + if (TREE_CODE (op) == ADDR_EXPR) + visit (g, TREE_OPERAND (op, 0), op, work); + } + } + /* Helper routine for add_scope_conflicts, calculating the active partitions at the end of BB, leaving the result in WORK. We're called to generate conflicts when FOR_CONFLICT is true, otherwise we're just tracking *************** add_scope_conflicts_1 (basic_block bb, b *** 583,588 **** --- 603,610 ---- edge_iterator ei; gimple_stmt_iterator gsi; walk_stmt_load_store_addr_fn visit; + use_operand_p use_p; + ssa_op_iter iter; bitmap_clear (work); FOR_EACH_EDGE (e, ei, bb->preds) *************** add_scope_conflicts_1 (basic_block bb, b *** 593,599 **** --- 615,624 ---- for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi)) { gimple *stmt = gsi_stmt (gsi); + gphi *phi = as_a (stmt); walk_stmt_load_store_addr_ops (stmt, work, NULL, NULL, visit); + FOR_EACH_PHI_ARG (use_p, phi, iter, SSA_OP_USE) + add_scope_conflicts_2 (USE_FROM_PTR (use_p), work, visit); } for (gsi = gsi_after_labels (bb); !gsi_end_p (gsi); gsi_next (&gsi)) { *************** add_scope_conflicts_1 (basic_block bb, b *** 613,620 **** } else if (!is_gimple_debug (stmt)) { ! if (for_conflict ! && visit == visit_op) { /* If this is the first real instruction in this BB we need to add conflicts for everything live at this point now. --- 638,644 ---- } else if (!is_gimple_debug (stmt)) { ! if (for_conflict && visit == visit_op) { /* If this is the first real instruction in this BB we need to add conflicts for everything live at this point now. *************** add_scope_conflicts_1 (basic_block bb, b *** 634,639 **** --- 658,665 ---- visit = visit_conflict; } walk_stmt_load_store_addr_ops (stmt, work, visit, visit, visit); + FOR_EACH_SSA_USE_OPERAND (use_p, stmt, iter, SSA_OP_USE) + add_scope_conflicts_2 (USE_FROM_PTR (use_p), work, visit); } } } *************** expand_asm_stmt (gasm *stmt) *** 3635,3641 **** emit_insn (copy_insn (PATTERN (curr))); rtx_insn *copy = get_insns (); end_sequence (); ! insert_insn_on_edge (copy, e); } } } --- 3661,3667 ---- emit_insn (copy_insn (PATTERN (curr))); rtx_insn *copy = get_insns (); end_sequence (); ! prepend_insn_to_edge (copy, e); } } } diff -Nrcpad gcc-13.2.0/gcc/cfgrtl.cc gcc-13.3.0/gcc/cfgrtl.cc *** gcc-13.2.0/gcc/cfgrtl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cfgrtl.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 25,31 **** - CFG-aware instruction chain manipulation delete_insn, delete_insn_chain - Edge splitting and committing to edges ! insert_insn_on_edge, commit_edge_insertions - CFG updating after insn simplification purge_dead_edges, purge_all_dead_edges - CFG fixing after coarse manipulation --- 25,31 ---- - CFG-aware instruction chain manipulation delete_insn, delete_insn_chain - Edge splitting and committing to edges ! insert_insn_on_edge, prepend_insn_to_edge, commit_edge_insertions - CFG updating after insn simplification purge_dead_edges, purge_all_dead_edges - CFG fixing after coarse manipulation *************** rtl_split_edge (edge edge_in) *** 1967,1973 **** /* Queue instructions for insertion on an edge between two basic blocks. The new instructions and basic blocks (if any) will not appear in the ! CFG until commit_edge_insertions is called. */ void insert_insn_on_edge (rtx pattern, edge e) --- 1967,1974 ---- /* Queue instructions for insertion on an edge between two basic blocks. The new instructions and basic blocks (if any) will not appear in the ! CFG until commit_edge_insertions is called. If there are already ! queued instructions on the edge, PATTERN is appended to them. */ void insert_insn_on_edge (rtx pattern, edge e) *************** insert_insn_on_edge (rtx pattern, edge e *** 1987,1992 **** --- 1988,2012 ---- end_sequence (); } + /* Like insert_insn_on_edge, but if there are already queued instructions + on the edge, PATTERN is prepended to them. */ + + void + prepend_insn_to_edge (rtx pattern, edge e) + { + /* We cannot insert instructions on an abnormal critical edge. + It will be easier to find the culprit if we die now. */ + gcc_assert (!((e->flags & EDGE_ABNORMAL) && EDGE_CRITICAL_P (e))); + + start_sequence (); + + emit_insn (pattern); + emit_insn (e->insns.r); + + e->insns.r = get_insns (); + end_sequence (); + } + /* Update the CFG for the instructions queued on edge E. */ void *************** duplicate_insn_chain (rtx_insn *from, rt *** 4387,4398 **** since MEM_EXPR is shared so make a copy and walk to the subtree again. */ tree new_expr = unshare_expr (MEM_EXPR (*iter)); if (TREE_CODE (new_expr) == WITH_SIZE_EXPR) new_expr = TREE_OPERAND (new_expr, 0); while (handled_component_p (new_expr)) new_expr = TREE_OPERAND (new_expr, 0); MR_DEPENDENCE_CLIQUE (new_expr) = newc; ! set_mem_expr (const_cast (*iter), new_expr); } } } --- 4407,4419 ---- since MEM_EXPR is shared so make a copy and walk to the subtree again. */ tree new_expr = unshare_expr (MEM_EXPR (*iter)); + tree orig_new_expr = new_expr; if (TREE_CODE (new_expr) == WITH_SIZE_EXPR) new_expr = TREE_OPERAND (new_expr, 0); while (handled_component_p (new_expr)) new_expr = TREE_OPERAND (new_expr, 0); MR_DEPENDENCE_CLIQUE (new_expr) = newc; ! set_mem_expr (const_cast (*iter), orig_new_expr); } } } diff -Nrcpad gcc-13.2.0/gcc/cfgrtl.h gcc-13.3.0/gcc/cfgrtl.h *** gcc-13.2.0/gcc/cfgrtl.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cfgrtl.h Tue May 21 07:47:38 2024 *************** extern edge try_redirect_by_replacing_ju *** 38,43 **** --- 38,44 ---- extern void emit_barrier_after_bb (basic_block bb); extern basic_block force_nonfallthru_and_redirect (edge, basic_block, rtx); extern void insert_insn_on_edge (rtx, edge); + extern void prepend_insn_to_edge (rtx, edge); extern void commit_one_edge_insertion (edge e); extern void commit_edge_insertions (void); extern void print_rtl_with_bb (FILE *, const rtx_insn *, dump_flags_t); diff -Nrcpad gcc-13.2.0/gcc/cgraph.cc gcc-13.3.0/gcc/cgraph.cc *** gcc-13.2.0/gcc/cgraph.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cgraph.cc Tue May 21 07:47:38 2024 *************** cgraph_edge::redirect_callee (cgraph_nod *** 1403,1413 **** speculative indirect call, remove "speculative" of the indirect call and also redirect stmt to it's final direct target. It is up to caller to iteratively transform each "speculative" direct call as appropriate. */ gimple * ! cgraph_edge::redirect_call_stmt_to_callee (cgraph_edge *e) { tree decl = gimple_call_fndecl (e->call_stmt); gcall *new_stmt; --- 1403,1419 ---- speculative indirect call, remove "speculative" of the indirect call and also redirect stmt to it's final direct target. + When called from within tree-inline, KILLED_SSAs has to contain the pointer + to killed_new_ssa_names within the copy_body_data structure and SSAs + discovered to be useless (if LHS is removed) will be added to it, otherwise + it needs to be NULL. + It is up to caller to iteratively transform each "speculative" direct call as appropriate. */ gimple * ! cgraph_edge::redirect_call_stmt_to_callee (cgraph_edge *e, ! hash_set *killed_ssas) { tree decl = gimple_call_fndecl (e->call_stmt); gcall *new_stmt; *************** cgraph_edge::redirect_call_stmt_to_calle *** 1527,1533 **** remove_stmt_from_eh_lp (e->call_stmt); tree old_fntype = gimple_call_fntype (e->call_stmt); ! new_stmt = padjs->modify_call (e, false); cgraph_node *origin = e->callee; while (origin->clone_of) origin = origin->clone_of; --- 1533,1539 ---- remove_stmt_from_eh_lp (e->call_stmt); tree old_fntype = gimple_call_fntype (e->call_stmt); ! new_stmt = padjs->modify_call (e, false, killed_ssas); cgraph_node *origin = e->callee; while (origin->clone_of) origin = origin->clone_of; diff -Nrcpad gcc-13.2.0/gcc/cgraph.h gcc-13.3.0/gcc/cgraph.h *** gcc-13.2.0/gcc/cgraph.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cgraph.h Tue May 21 07:47:38 2024 *************** public: *** 479,484 **** --- 479,487 ---- Return NULL if there's no such node. */ static symtab_node *get_for_asmname (const_tree asmname); + /* Check symbol table for callees of IFUNC resolvers. */ + static void check_ifunc_callee_symtab_nodes (void); + /* Verify symbol table for internal consistency. */ static DEBUG_FUNCTION void verify_symtab_nodes (void); *************** struct GTY((tag ("SYMTAB_FUNCTION"))) cg *** 896,901 **** --- 899,905 ---- redefined_extern_inline (false), tm_may_enter_irr (false), ipcp_clone (false), declare_variant_alt (false), calls_declare_variant_alt (false), gc_candidate (false), + called_by_ifunc_resolver (false), m_uid (uid), m_summary_id (-1) {} *************** struct GTY((tag ("SYMTAB_FUNCTION"))) cg *** 1491,1496 **** --- 1495,1502 ---- is set for local SIMD clones when they are created and cleared if the vectorizer uses them. */ unsigned gc_candidate : 1; + /* Set if the function is called by an IFUNC resolver. */ + unsigned called_by_ifunc_resolver : 1; private: /* Unique id of the node. */ *************** public: *** 1833,1841 **** speculative indirect call, remove "speculative" of the indirect call and also redirect stmt to it's final direct target. It is up to caller to iteratively transform each "speculative" direct call as appropriate. */ ! static gimple *redirect_call_stmt_to_callee (cgraph_edge *e); /* Create clone of edge in the node N represented by CALL_EXPR the callgraph. */ --- 1839,1854 ---- speculative indirect call, remove "speculative" of the indirect call and also redirect stmt to it's final direct target. + When called from within tree-inline, KILLED_SSAs has to contain the + pointer to killed_new_ssa_names within the copy_body_data structure and + SSAs discovered to be useless (if LHS is removed) will be added to it, + otherwise it needs to be NULL. + It is up to caller to iteratively transform each "speculative" direct call as appropriate. */ ! static gimple *redirect_call_stmt_to_callee (cgraph_edge *e, ! hash_set ! *killed_ssas = nullptr); /* Create clone of edge in the node N represented by CALL_EXPR the callgraph. */ diff -Nrcpad gcc-13.2.0/gcc/cgraphunit.cc gcc-13.3.0/gcc/cgraphunit.cc *** gcc-13.2.0/gcc/cgraphunit.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cgraphunit.cc Tue May 21 07:47:38 2024 *************** symbol_table::compile (void) *** 2313,2318 **** --- 2313,2320 ---- symtab_node::checking_verify_symtab_nodes (); + symtab_node::check_ifunc_callee_symtab_nodes (); + timevar_push (TV_CGRAPHOPT); if (pre_ipa_mem_report) dump_memory_report ("Memory consumption before IPA"); diff -Nrcpad gcc-13.2.0/gcc/combine.cc gcc-13.3.0/gcc/combine.cc *** gcc-13.2.0/gcc/combine.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/combine.cc Tue May 21 07:47:38 2024 *************** make_compound_operation_int (scalar_int_ *** 8199,8210 **** int sub_width; if ((REG_P (sub) || MEM_P (sub)) && GET_MODE_PRECISION (sub_mode).is_constant (&sub_width) ! && sub_width < mode_width) { unsigned HOST_WIDE_INT mode_mask = GET_MODE_MASK (sub_mode); unsigned HOST_WIDE_INT mask; ! /* original AND constant with all the known zero bits set */ mask = UINTVAL (XEXP (x, 1)) | (~nonzero_bits (sub, sub_mode)); if ((mask & mode_mask) == mode_mask) { --- 8199,8218 ---- int sub_width; if ((REG_P (sub) || MEM_P (sub)) && GET_MODE_PRECISION (sub_mode).is_constant (&sub_width) ! && sub_width < mode_width ! && (!WORD_REGISTER_OPERATIONS ! || sub_width >= BITS_PER_WORD ! /* On WORD_REGISTER_OPERATIONS targets the bits ! beyond sub_mode aren't considered undefined, ! so optimize only if it is a MEM load when MEM loads ! zero extend, because then the upper bits are all zero. */ ! || (MEM_P (sub) ! && load_extend_op (sub_mode) == ZERO_EXTEND))) { unsigned HOST_WIDE_INT mode_mask = GET_MODE_MASK (sub_mode); unsigned HOST_WIDE_INT mask; ! /* Original AND constant with all the known zero bits set. */ mask = UINTVAL (XEXP (x, 1)) | (~nonzero_bits (sub, sub_mode)); if ((mask & mode_mask) == mode_mask) { diff -Nrcpad gcc-13.2.0/gcc/common/config/avr/avr-common.cc gcc-13.3.0/gcc/common/config/avr/avr-common.cc *** gcc-13.2.0/gcc/common/config/avr/avr-common.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/common/config/avr/avr-common.cc Tue May 21 07:47:38 2024 *************** *** 29,40 **** /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */ static const struct default_options avr_option_optimization_table[] = { - // With -fdelete-null-pointer-checks option, the compiler assumes - // that dereferencing of a null pointer would halt the program. - // For AVR this assumption is not true and a program can safely - // dereference null pointers. Changes made by this option may not - // work properly for AVR. So disable this option. - { OPT_LEVELS_ALL, OPT_fdelete_null_pointer_checks, NULL, 0 }, // The only effect of -fcaller-saves might be that it triggers // a frame without need when it tries to be smart around calls. { OPT_LEVELS_ALL, OPT_fcaller_saves, NULL, 0 }, --- 29,34 ---- diff -Nrcpad gcc-13.2.0/gcc/common/config/i386/cpuinfo.h gcc-13.3.0/gcc/common/config/i386/cpuinfo.h *** gcc-13.2.0/gcc/common/config/i386/cpuinfo.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/common/config/i386/cpuinfo.h Tue May 21 07:47:38 2024 *************** get_intel_cpu (struct __processor_model *** 463,469 **** cpu_model->__cpu_subtype = INTEL_COREI7_SKYLAKE; break; case 0xa7: - case 0xa8: /* Rocket Lake. */ cpu = "rocketlake"; CHECK___builtin_cpu_is ("corei7"); --- 463,468 ---- *************** get_intel_cpu (struct __processor_model *** 534,544 **** cpu_model->__cpu_type = INTEL_COREI7; cpu_model->__cpu_subtype = INTEL_COREI7_TIGERLAKE; break; case 0x97: case 0x9a: - case 0xbf: /* Alder Lake. */ case 0xb7: /* Raptor Lake. */ case 0xaa: case 0xac: --- 533,547 ---- cpu_model->__cpu_type = INTEL_COREI7; cpu_model->__cpu_subtype = INTEL_COREI7_TIGERLAKE; break; + + case 0xbe: + /* Alder Lake N, E-core only. */ case 0x97: case 0x9a: /* Alder Lake. */ case 0xb7: + case 0xba: + case 0xbf: /* Raptor Lake. */ case 0xaa: case 0xac: *************** get_available_features (struct __process *** 745,751 **** /* Get Advanced Features at level 7 (eax = 7, ecx = 0/1). */ if (max_cpuid_level >= 7) { ! __cpuid_count (7, 0, eax, ebx, ecx, edx); if (ebx & bit_BMI) set_feature (FEATURE_BMI); if (ebx & bit_SGX) --- 748,756 ---- /* Get Advanced Features at level 7 (eax = 7, ecx = 0/1). */ if (max_cpuid_level >= 7) { ! unsigned int max_subleaf_level; ! ! __cpuid_count (7, 0, max_subleaf_level, ebx, ecx, edx); if (ebx & bit_BMI) set_feature (FEATURE_BMI); if (ebx & bit_SGX) *************** get_available_features (struct __process *** 857,893 **** set_feature (FEATURE_AVX512FP16); } ! __cpuid_count (7, 1, eax, ebx, ecx, edx); ! if (eax & bit_HRESET) ! set_feature (FEATURE_HRESET); ! if (eax & bit_CMPCCXADD) ! set_feature(FEATURE_CMPCCXADD); ! if (edx & bit_PREFETCHI) ! set_feature (FEATURE_PREFETCHI); ! if (eax & bit_RAOINT) ! set_feature (FEATURE_RAOINT); ! if (avx_usable) ! { ! if (eax & bit_AVXVNNI) ! set_feature (FEATURE_AVXVNNI); ! if (eax & bit_AVXIFMA) ! set_feature (FEATURE_AVXIFMA); ! if (edx & bit_AVXVNNIINT8) ! set_feature (FEATURE_AVXVNNIINT8); ! if (edx & bit_AVXNECONVERT) ! set_feature (FEATURE_AVXNECONVERT); ! } ! if (avx512_usable) ! { ! if (eax & bit_AVX512BF16) ! set_feature (FEATURE_AVX512BF16); ! } ! if (amx_usable) { ! if (eax & bit_AMX_FP16) ! set_feature (FEATURE_AMX_FP16); ! if (edx & bit_AMX_COMPLEX) ! set_feature (FEATURE_AMX_COMPLEX); } } --- 862,901 ---- set_feature (FEATURE_AVX512FP16); } ! if (max_subleaf_level >= 1) { ! __cpuid_count (7, 1, eax, ebx, ecx, edx); ! if (eax & bit_HRESET) ! set_feature (FEATURE_HRESET); ! if (eax & bit_CMPCCXADD) ! set_feature(FEATURE_CMPCCXADD); ! if (edx & bit_PREFETCHI) ! set_feature (FEATURE_PREFETCHI); ! if (eax & bit_RAOINT) ! set_feature (FEATURE_RAOINT); ! if (avx_usable) ! { ! if (eax & bit_AVXVNNI) ! set_feature (FEATURE_AVXVNNI); ! if (eax & bit_AVXIFMA) ! set_feature (FEATURE_AVXIFMA); ! if (edx & bit_AVXVNNIINT8) ! set_feature (FEATURE_AVXVNNIINT8); ! if (edx & bit_AVXNECONVERT) ! set_feature (FEATURE_AVXNECONVERT); ! } ! if (avx512_usable) ! { ! if (eax & bit_AVX512BF16) ! set_feature (FEATURE_AVX512BF16); ! } ! if (amx_usable) ! { ! if (eax & bit_AMX_FP16) ! set_feature (FEATURE_AMX_FP16); ! if (edx & bit_AMX_COMPLEX) ! set_feature (FEATURE_AMX_COMPLEX); ! } } } diff -Nrcpad gcc-13.2.0/gcc/common/config/i386/i386-common.cc gcc-13.3.0/gcc/common/config/i386/i386-common.cc *** gcc-13.2.0/gcc/common/config/i386/i386-common.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/common/config/i386/i386-common.cc Tue May 21 07:47:38 2024 *************** const char *const processor_names[] = *** 1966,1971 **** --- 1966,1972 ---- "alderlake", "rocketlake", "graniterapids", + "graniterapids-d", "intel", "lujiazui", "geode", *************** const pta processor_alias_table[] = *** 2089,2096 **** M_CPU_SUBTYPE (INTEL_COREI7_ALDERLAKE), P_PROC_AVX2}, {"graniterapids", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS, M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS), P_PROC_AVX512F}, ! {"graniterapids-d", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS_D, ! M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS_D), P_PROC_AVX512F}, {"bonnell", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, M_CPU_TYPE (INTEL_BONNELL), P_PROC_SSSE3}, {"atom", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, --- 2090,2098 ---- M_CPU_SUBTYPE (INTEL_COREI7_ALDERLAKE), P_PROC_AVX2}, {"graniterapids", PROCESSOR_GRANITERAPIDS, CPU_HASWELL, PTA_GRANITERAPIDS, M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS), P_PROC_AVX512F}, ! {"graniterapids-d", PROCESSOR_GRANITERAPIDS_D, CPU_HASWELL, ! PTA_GRANITERAPIDS_D, M_CPU_SUBTYPE (INTEL_COREI7_GRANITERAPIDS_D), ! P_PROC_AVX512F}, {"bonnell", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, M_CPU_TYPE (INTEL_BONNELL), P_PROC_SSSE3}, {"atom", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, *************** const pta processor_alias_table[] = *** 2105,2112 **** M_CPU_TYPE (INTEL_GOLDMONT_PLUS), P_PROC_SSE4_2}, {"tremont", PROCESSOR_TREMONT, CPU_HASWELL, PTA_TREMONT, M_CPU_TYPE (INTEL_TREMONT), P_PROC_SSE4_2}, {"sierraforest", PROCESSOR_SIERRAFOREST, CPU_HASWELL, PTA_SIERRAFOREST, ! M_CPU_SUBTYPE (INTEL_SIERRAFOREST), P_PROC_AVX2}, {"grandridge", PROCESSOR_GRANDRIDGE, CPU_HASWELL, PTA_GRANDRIDGE, M_CPU_TYPE (INTEL_GRANDRIDGE), P_PROC_AVX2}, {"knl", PROCESSOR_KNL, CPU_SLM, PTA_KNL, --- 2107,2116 ---- M_CPU_TYPE (INTEL_GOLDMONT_PLUS), P_PROC_SSE4_2}, {"tremont", PROCESSOR_TREMONT, CPU_HASWELL, PTA_TREMONT, M_CPU_TYPE (INTEL_TREMONT), P_PROC_SSE4_2}, + {"gracemont", PROCESSOR_ALDERLAKE, CPU_HASWELL, PTA_ALDERLAKE, + M_CPU_SUBTYPE (INTEL_COREI7_ALDERLAKE), P_PROC_AVX2}, {"sierraforest", PROCESSOR_SIERRAFOREST, CPU_HASWELL, PTA_SIERRAFOREST, ! M_CPU_TYPE (INTEL_SIERRAFOREST), P_PROC_AVX2}, {"grandridge", PROCESSOR_GRANDRIDGE, CPU_HASWELL, PTA_GRANDRIDGE, M_CPU_TYPE (INTEL_GRANDRIDGE), P_PROC_AVX2}, {"knl", PROCESSOR_KNL, CPU_SLM, PTA_KNL, diff -Nrcpad gcc-13.2.0/gcc/common.opt gcc-13.3.0/gcc/common.opt *** gcc-13.2.0/gcc/common.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/common.opt Tue May 21 07:47:38 2024 *************** Common Var(flag_move_loop_stores) Optimi *** 2182,2188 **** Move stores out of loops. fmultiflags ! Common Driver Building block for specs-based multilib-aware TFLAGS. fdce --- 2182,2188 ---- Move stores out of loops. fmultiflags ! Common Driver RejectNegative Building block for specs-based multilib-aware TFLAGS. fdce diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64-arches.def gcc-13.3.0/gcc/config/aarch64/aarch64-arches.def *** gcc-13.2.0/gcc/config/aarch64/aarch64-arches.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64-arches.def Tue May 21 07:47:38 2024 *************** AARCH64_ARCH("armv8.3-a", generic, *** 37,43 **** AARCH64_ARCH("armv8.4-a", generic, V8_4A, 8, (V8_3A, F16FML, DOTPROD, FLAGM)) AARCH64_ARCH("armv8.5-a", generic, V8_5A, 8, (V8_4A, SB, SSBS, PREDRES)) AARCH64_ARCH("armv8.6-a", generic, V8_6A, 8, (V8_5A, I8MM, BF16)) ! AARCH64_ARCH("armv8.7-a", generic, V8_7A, 8, (V8_6A, LS64)) AARCH64_ARCH("armv8.8-a", generic, V8_8A, 8, (V8_7A, MOPS)) AARCH64_ARCH("armv8-r", generic, V8R , 8, (V8_4A)) AARCH64_ARCH("armv9-a", generic, V9A , 9, (V8_5A, SVE2)) --- 37,43 ---- AARCH64_ARCH("armv8.4-a", generic, V8_4A, 8, (V8_3A, F16FML, DOTPROD, FLAGM)) AARCH64_ARCH("armv8.5-a", generic, V8_5A, 8, (V8_4A, SB, SSBS, PREDRES)) AARCH64_ARCH("armv8.6-a", generic, V8_6A, 8, (V8_5A, I8MM, BF16)) ! AARCH64_ARCH("armv8.7-a", generic, V8_7A, 8, (V8_6A)) AARCH64_ARCH("armv8.8-a", generic, V8_8A, 8, (V8_7A, MOPS)) AARCH64_ARCH("armv8-r", generic, V8R , 8, (V8_4A)) AARCH64_ARCH("armv9-a", generic, V9A , 9, (V8_5A, SVE2)) diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64-builtins.cc gcc-13.3.0/gcc/config/aarch64/aarch64-builtins.cc *** gcc-13.2.0/gcc/config/aarch64/aarch64-builtins.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64-builtins.cc Tue May 21 07:47:38 2024 *************** aarch64_init_rng_builtins (void) *** 1776,1782 **** } /* Initialize the memory tagging extension (MTE) builtins. */ ! struct { tree ftype; enum insn_code icode; --- 1776,1782 ---- } /* Initialize the memory tagging extension (MTE) builtins. */ ! static GTY(()) struct GTY(()) { tree ftype; enum insn_code icode; diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64-cores.def gcc-13.3.0/gcc/config/aarch64/aarch64-cores.def *** gcc-13.2.0/gcc/config/aarch64/aarch64-cores.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64-cores.def Tue May 21 07:47:38 2024 *************** AARCH64_CORE("cortex-a65", cortexa65, c *** 115,122 **** AARCH64_CORE("cortex-a65ae", cortexa65ae, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd43, -1) AARCH64_CORE("cortex-x1", cortexx1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE), neoversen1, 0x41, 0xd44, -1) AARCH64_CORE("cortex-x1c", cortexx1c, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE, PAUTH), neoversen1, 0x41, 0xd4c, -1) - AARCH64_CORE("ares", ares, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) AARCH64_CORE("neoverse-n1", neoversen1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) AARCH64_CORE("neoverse-e1", neoversee1, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd4a, -1) /* Cavium ('C') cores. */ --- 115,122 ---- AARCH64_CORE("cortex-a65ae", cortexa65ae, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd43, -1) AARCH64_CORE("cortex-x1", cortexx1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE), neoversen1, 0x41, 0xd44, -1) AARCH64_CORE("cortex-x1c", cortexx1c, cortexa57, V8_2A, (F16, RCPC, DOTPROD, SSBS, PROFILE, PAUTH), neoversen1, 0x41, 0xd4c, -1) AARCH64_CORE("neoverse-n1", neoversen1, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) + AARCH64_CORE("ares", ares, cortexa57, V8_2A, (F16, RCPC, DOTPROD, PROFILE), neoversen1, 0x41, 0xd0c, -1) AARCH64_CORE("neoverse-e1", neoversee1, cortexa53, V8_2A, (F16, RCPC, DOTPROD, SSBS), cortexa73, 0x41, 0xd4a, -1) /* Cavium ('C') cores. */ *************** AARCH64_CORE("thunderx3t110", thunderx3 *** 143,150 **** /* ARMv8.4-A Architecture Processors. */ /* Arm ('A') cores. */ - AARCH64_CORE("zeus", zeus, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoversev1, 0x41, 0xd40, -1) AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoversev1, 0x41, 0xd40, -1) AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoverse512tvb, INVALID_IMP, INVALID_CORE, -1) /* Qualcomm ('Q') cores. */ --- 143,150 ---- /* ARMv8.4-A Architecture Processors. */ /* Arm ('A') cores. */ AARCH64_CORE("neoverse-v1", neoversev1, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoversev1, 0x41, 0xd40, -1) + AARCH64_CORE("zeus", zeus, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoversev1, 0x41, 0xd40, -1) AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, V8_4A, (SVE, I8MM, BF16, PROFILE, SSBS, RNG), neoverse512tvb, INVALID_IMP, INVALID_CORE, -1) /* Qualcomm ('Q') cores. */ *************** AARCH64_CORE("cortex-r82", cortexr82, co *** 168,174 **** /* Armv9.0-A Architecture Processors. */ /* Arm ('A') cores. */ ! AARCH64_CORE("cortex-a510", cortexa510, cortexa55, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), cortexa53, 0x41, 0xd46, -1) AARCH64_CORE("cortex-a710", cortexa710, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd47, -1) --- 168,174 ---- /* Armv9.0-A Architecture Processors. */ /* Arm ('A') cores. */ ! AARCH64_CORE("cortex-a510", cortexa510, cortexa53, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), cortexa53, 0x41, 0xd46, -1) AARCH64_CORE("cortex-a710", cortexa710, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd47, -1) *************** AARCH64_CORE("cortex-x2", cortexx2, cor *** 179,186 **** AARCH64_CORE("cortex-x3", cortexx3, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd4e, -1) AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x41, 0xd49, -1) - AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) #undef AARCH64_CORE --- 179,187 ---- AARCH64_CORE("cortex-x3", cortexx3, cortexa57, V9A, (SVE2_BITPERM, MEMTAG, I8MM, BF16), neoversen2, 0x41, 0xd4e, -1) AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x41, 0xd49, -1) + AARCH64_CORE("cobalt-100", cobalt100, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversen2, 0x6d, 0xd49, -1) AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) + AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1) #undef AARCH64_CORE diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64-protos.h gcc-13.3.0/gcc/config/aarch64/aarch64-protos.h *** gcc-13.2.0/gcc/config/aarch64/aarch64-protos.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64-protos.h Tue May 21 07:47:38 2024 *************** bool aarch64_emit_approx_div (rtx, rtx, *** 763,768 **** --- 763,769 ---- bool aarch64_emit_approx_sqrt (rtx, rtx, bool); tree aarch64_vector_load_decl (tree); void aarch64_expand_call (rtx, rtx, rtx, bool); + bool aarch64_expand_cpymem_mops (rtx *, bool); bool aarch64_expand_cpymem (rtx *); bool aarch64_expand_setmem (rtx *); bool aarch64_float_const_zero_rtx_p (rtx); diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64-tune.md gcc-13.3.0/gcc/config/aarch64/aarch64-tune.md *** gcc-13.2.0/gcc/config/aarch64/aarch64-tune.md Thu Jul 27 08:17:14 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64-tune.md Tue May 21 07:49:00 2024 *************** *** 1,5 **** ;; -*- buffer-read-only: t -*- ;; Generated automatically by gentune.sh from aarch64-cores.def (define_attr "tune" ! "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,ares,neoversen1,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,zeus,neoversev1,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715,cortexx2,cortexx3,neoversen2,demeter,neoversev2" (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) --- 1,5 ---- ;; -*- buffer-read-only: t -*- ;; Generated automatically by gentune.sh from aarch64-cores.def (define_attr "tune" ! "cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa710,cortexa715,cortexx2,cortexx3,neoversen2,cobalt100,neoversev2,demeter" (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64.cc gcc-13.3.0/gcc/config/aarch64/aarch64.cc *** gcc-13.2.0/gcc/config/aarch64/aarch64.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64.cc Tue May 21 07:47:38 2024 *************** static const struct tune_params ampere1_ *** 1927,1933 **** "32:16", /* loop_align. */ 2, /* int_reassoc_width. */ 4, /* fp_reassoc_width. */ ! 1, /* fma_reassoc_width. */ 2, /* vec_reassoc_width. */ 2, /* min_div_recip_mul_sf. */ 2, /* min_div_recip_mul_df. */ --- 1927,1933 ---- "32:16", /* loop_align. */ 2, /* int_reassoc_width. */ 4, /* fp_reassoc_width. */ ! 4, /* fma_reassoc_width. */ 2, /* vec_reassoc_width. */ 2, /* min_div_recip_mul_sf. */ 2, /* min_div_recip_mul_df. */ *************** aarch64_reg_save_mode (unsigned int regn *** 4074,4080 **** case ARM_PCS_SIMD: /* The vector PCS saves the low 128 bits (which is the full register on non-SVE targets). */ ! return TFmode; case ARM_PCS_SVE: /* Use vectors of DImode for registers that need frame --- 4074,4080 ---- case ARM_PCS_SIMD: /* The vector PCS saves the low 128 bits (which is the full register on non-SVE targets). */ ! return V16QImode; case ARM_PCS_SVE: /* Use vectors of DImode for registers that need frame *************** aarch64_needs_frame_chain (void) *** 8394,8411 **** return aarch64_use_frame_pointer; } /* Mark the registers that need to be saved by the callee and calculate the size of the callee-saved registers area and frame record (both FP and LR may be omitted). */ static void aarch64_layout_frame (void) { - poly_int64 offset = 0; int regno, last_fp_reg = INVALID_REGNUM; machine_mode vector_save_mode = aarch64_reg_save_mode (V8_REGNUM); poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode); bool frame_related_fp_reg_p = false; aarch64_frame &frame = cfun->machine->frame; frame.emit_frame_chain = aarch64_needs_frame_chain (); --- 8394,8425 ---- return aarch64_use_frame_pointer; } + /* Return true if the current function should save registers above + the locals area, rather than below it. */ + + static bool + aarch64_save_regs_above_locals_p () + { + /* When using stack smash protection, make sure that the canary slot + comes between the locals and the saved registers. Otherwise, + it would be possible for a carefully sized smash attack to change + the saved registers (particularly LR and FP) without reaching the + canary. */ + return crtl->stack_protect_guard; + } + /* Mark the registers that need to be saved by the callee and calculate the size of the callee-saved registers area and frame record (both FP and LR may be omitted). */ static void aarch64_layout_frame (void) { int regno, last_fp_reg = INVALID_REGNUM; machine_mode vector_save_mode = aarch64_reg_save_mode (V8_REGNUM); poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode); bool frame_related_fp_reg_p = false; aarch64_frame &frame = cfun->machine->frame; + poly_int64 top_of_locals = -1; frame.emit_frame_chain = aarch64_needs_frame_chain (); *************** aarch64_layout_frame (void) *** 8472,8482 **** && !crtl->abi->clobbers_full_reg_p (regno)) frame.reg_offset[regno] = SLOT_REQUIRED; ! /* With stack-clash, LR must be saved in non-leaf functions. The saving of ! LR counts as an implicit probe which allows us to maintain the invariant ! described in the comment at expand_prologue. */ ! gcc_assert (crtl->is_leaf ! || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED)); /* Now assign stack slots for the registers. Start with the predicate registers, since predicate LDR and STR have a relatively small --- 8486,8503 ---- && !crtl->abi->clobbers_full_reg_p (regno)) frame.reg_offset[regno] = SLOT_REQUIRED; ! bool regs_at_top_p = aarch64_save_regs_above_locals_p (); ! ! poly_int64 offset = crtl->outgoing_args_size; ! gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); ! if (regs_at_top_p) ! { ! offset += get_frame_size (); ! offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); ! top_of_locals = offset; ! } ! frame.bytes_below_saved_regs = offset; ! frame.sve_save_and_probe = INVALID_REGNUM; /* Now assign stack slots for the registers. Start with the predicate registers, since predicate LDR and STR have a relatively small *************** aarch64_layout_frame (void) *** 8484,8494 **** for (regno = P0_REGNUM; regno <= P15_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) { frame.reg_offset[regno] = offset; offset += BYTES_PER_SVE_PRED; } ! if (maybe_ne (offset, 0)) { /* If we have any vector registers to save above the predicate registers, the offset of the vector register save slots need to be a multiple --- 8505,8518 ---- for (regno = P0_REGNUM; regno <= P15_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) { + if (frame.sve_save_and_probe == INVALID_REGNUM) + frame.sve_save_and_probe = regno; frame.reg_offset[regno] = offset; offset += BYTES_PER_SVE_PRED; } ! poly_int64 saved_prs_size = offset - frame.bytes_below_saved_regs; ! if (maybe_ne (saved_prs_size, 0)) { /* If we have any vector registers to save above the predicate registers, the offset of the vector register save slots need to be a multiple *************** aarch64_layout_frame (void) *** 8506,8515 **** offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); else { ! if (known_le (offset, vector_save_size)) ! offset = vector_save_size; ! else if (known_le (offset, vector_save_size * 2)) ! offset = vector_save_size * 2; else gcc_unreachable (); } --- 8530,8539 ---- offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); else { ! if (known_le (saved_prs_size, vector_save_size)) ! offset = frame.bytes_below_saved_regs + vector_save_size; ! else if (known_le (saved_prs_size, vector_save_size * 2)) ! offset = frame.bytes_below_saved_regs + vector_save_size * 2; else gcc_unreachable (); } *************** aarch64_layout_frame (void) *** 8520,8553 **** for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) { frame.reg_offset[regno] = offset; offset += vector_save_size; } /* OFFSET is now the offset of the hard frame pointer from the bottom of the callee save area. */ ! bool saves_below_hard_fp_p = maybe_ne (offset, 0); ! frame.below_hard_fp_saved_regs_size = offset; if (frame.emit_frame_chain) { /* FP and LR are placed in the linkage record. */ ! frame.reg_offset[R29_REGNUM] = offset; ! frame.wb_push_candidate1 = R29_REGNUM; ! frame.reg_offset[R30_REGNUM] = offset + UNITS_PER_WORD; ! frame.wb_push_candidate2 = R30_REGNUM; ! offset += 2 * UNITS_PER_WORD; } for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) ! { ! frame.reg_offset[regno] = offset; ! if (frame.wb_push_candidate1 == INVALID_REGNUM) ! frame.wb_push_candidate1 = regno; ! else if (frame.wb_push_candidate2 == INVALID_REGNUM) ! frame.wb_push_candidate2 = regno; ! offset += UNITS_PER_WORD; ! } poly_int64 max_int_offset = offset; offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); --- 8544,8596 ---- for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) { + if (frame.sve_save_and_probe == INVALID_REGNUM) + frame.sve_save_and_probe = regno; frame.reg_offset[regno] = offset; offset += vector_save_size; } /* OFFSET is now the offset of the hard frame pointer from the bottom of the callee save area. */ ! auto below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs; ! bool saves_below_hard_fp_p = maybe_ne (below_hard_fp_saved_regs_size, 0); ! gcc_assert (!saves_below_hard_fp_p ! || (frame.sve_save_and_probe != INVALID_REGNUM ! && known_eq (frame.reg_offset[frame.sve_save_and_probe], ! frame.bytes_below_saved_regs))); ! ! frame.bytes_below_hard_fp = offset; ! frame.hard_fp_save_and_probe = INVALID_REGNUM; ! ! auto allocate_gpr_slot = [&](unsigned int regno) ! { ! if (frame.hard_fp_save_and_probe == INVALID_REGNUM) ! frame.hard_fp_save_and_probe = regno; ! frame.reg_offset[regno] = offset; ! if (frame.wb_push_candidate1 == INVALID_REGNUM) ! frame.wb_push_candidate1 = regno; ! else if (frame.wb_push_candidate2 == INVALID_REGNUM) ! frame.wb_push_candidate2 = regno; ! offset += UNITS_PER_WORD; ! }; ! if (frame.emit_frame_chain) { /* FP and LR are placed in the linkage record. */ ! allocate_gpr_slot (R29_REGNUM); ! allocate_gpr_slot (R30_REGNUM); } + else if (flag_stack_clash_protection + && known_eq (frame.reg_offset[R30_REGNUM], SLOT_REQUIRED)) + /* Put the LR save slot first, since it makes a good choice of probe + for stack clash purposes. The idea is that the link register usually + has to be saved before a call anyway, and so we lose little by + stopping it from being individually shrink-wrapped. */ + allocate_gpr_slot (R30_REGNUM); for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) ! allocate_gpr_slot (regno); poly_int64 max_int_offset = offset; offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); *************** aarch64_layout_frame (void) *** 8556,8561 **** --- 8599,8606 ---- for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++) if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) { + if (frame.hard_fp_save_and_probe == INVALID_REGNUM) + frame.hard_fp_save_and_probe = regno; /* If there is an alignment gap between integer and fp callee-saves, allocate the last fp register to it if possible. */ if (regno == last_fp_reg *************** aarch64_layout_frame (void) *** 8578,8607 **** offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); ! frame.saved_regs_size = offset; ! ! poly_int64 varargs_and_saved_regs_size = offset + frame.saved_varargs_size; ! ! poly_int64 above_outgoing_args ! = aligned_upper_bound (varargs_and_saved_regs_size ! + get_frame_size (), ! STACK_BOUNDARY / BITS_PER_UNIT); ! frame.hard_fp_offset ! = above_outgoing_args - frame.below_hard_fp_saved_regs_size; ! /* Both these values are already aligned. */ ! gcc_assert (multiple_p (crtl->outgoing_args_size, ! STACK_BOUNDARY / BITS_PER_UNIT)); ! frame.frame_size = above_outgoing_args + crtl->outgoing_args_size; ! frame.locals_offset = frame.saved_varargs_size; frame.initial_adjust = 0; frame.final_adjust = 0; frame.callee_adjust = 0; frame.sve_callee_adjust = 0; - frame.callee_offset = 0; frame.wb_pop_candidate1 = frame.wb_push_candidate1; frame.wb_pop_candidate2 = frame.wb_push_candidate2; --- 8623,8658 ---- offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); ! auto saved_regs_size = offset - frame.bytes_below_saved_regs; ! gcc_assert (known_eq (saved_regs_size, below_hard_fp_saved_regs_size) ! || (frame.hard_fp_save_and_probe != INVALID_REGNUM ! && known_eq (frame.reg_offset[frame.hard_fp_save_and_probe], ! frame.bytes_below_hard_fp))); ! /* With stack-clash, a register must be saved in non-leaf functions. ! The saving of the bottommost register counts as an implicit probe, ! which allows us to maintain the invariant described in the comment ! at expand_prologue. */ ! gcc_assert (crtl->is_leaf || maybe_ne (saved_regs_size, 0)); ! if (!regs_at_top_p) ! { ! offset += get_frame_size (); ! offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); ! top_of_locals = offset; ! } ! offset += frame.saved_varargs_size; ! gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); ! frame.frame_size = offset; ! frame.bytes_above_hard_fp = frame.frame_size - frame.bytes_below_hard_fp; ! gcc_assert (known_ge (top_of_locals, 0)); ! frame.bytes_above_locals = frame.frame_size - top_of_locals; frame.initial_adjust = 0; frame.final_adjust = 0; frame.callee_adjust = 0; frame.sve_callee_adjust = 0; frame.wb_pop_candidate1 = frame.wb_push_candidate1; frame.wb_pop_candidate2 = frame.wb_push_candidate2; *************** aarch64_layout_frame (void) *** 8612,8618 **** frame.is_scs_enabled = (!crtl->calls_eh_return && sanitize_flags_p (SANITIZE_SHADOW_CALL_STACK) ! && known_ge (cfun->machine->frame.reg_offset[LR_REGNUM], 0)); /* When shadow call stack is enabled, the scs_pop in the epilogue will restore x30, and we don't need to pop x30 again in the traditional --- 8663,8669 ---- frame.is_scs_enabled = (!crtl->calls_eh_return && sanitize_flags_p (SANITIZE_SHADOW_CALL_STACK) ! && known_ge (frame.reg_offset[LR_REGNUM], 0)); /* When shadow call stack is enabled, the scs_pop in the epilogue will restore x30, and we don't need to pop x30 again in the traditional *************** aarch64_layout_frame (void) *** 8632,8706 **** max_push_offset to 0, because no registers are popped at this time, so callee_adjust cannot be adjusted. */ HOST_WIDE_INT max_push_offset = 0; ! if (frame.wb_pop_candidate2 != INVALID_REGNUM) ! max_push_offset = 512; ! else if (frame.wb_pop_candidate1 != INVALID_REGNUM) ! max_push_offset = 256; ! HOST_WIDE_INT const_size, const_outgoing_args_size, const_fp_offset; HOST_WIDE_INT const_saved_regs_size; ! if (frame.frame_size.is_constant (&const_size) ! && const_size < max_push_offset ! && known_eq (frame.hard_fp_offset, const_size)) { ! /* Simple, small frame with no outgoing arguments: stp reg1, reg2, [sp, -frame_size]! stp reg3, reg4, [sp, 16] */ frame.callee_adjust = const_size; } ! else if (crtl->outgoing_args_size.is_constant (&const_outgoing_args_size) ! && frame.saved_regs_size.is_constant (&const_saved_regs_size) ! && const_outgoing_args_size + const_saved_regs_size < 512 ! /* We could handle this case even with outgoing args, provided ! that the number of args left us with valid offsets for all ! predicate and vector save slots. It's such a rare case that ! it hardly seems worth the effort though. */ ! && (!saves_below_hard_fp_p || const_outgoing_args_size == 0) && !(cfun->calls_alloca ! && frame.hard_fp_offset.is_constant (&const_fp_offset) ! && const_fp_offset < max_push_offset)) { ! /* Frame with small outgoing arguments: sub sp, sp, frame_size ! stp reg1, reg2, [sp, outgoing_args_size] ! stp reg3, reg4, [sp, outgoing_args_size + 16] */ frame.initial_adjust = frame.frame_size; - frame.callee_offset = const_outgoing_args_size; } else if (saves_below_hard_fp_p ! && known_eq (frame.saved_regs_size, ! frame.below_hard_fp_saved_regs_size)) { /* Frame in which all saves are SVE saves: ! sub sp, sp, hard_fp_offset + below_hard_fp_saved_regs_size save SVE registers relative to SP ! sub sp, sp, outgoing_args_size */ ! frame.initial_adjust = (frame.hard_fp_offset ! + frame.below_hard_fp_saved_regs_size); ! frame.final_adjust = crtl->outgoing_args_size; } ! else if (frame.hard_fp_offset.is_constant (&const_fp_offset) ! && const_fp_offset < max_push_offset) { ! /* Frame with large outgoing arguments or SVE saves, but with ! a small local area: stp reg1, reg2, [sp, -hard_fp_offset]! stp reg3, reg4, [sp, 16] [sub sp, sp, below_hard_fp_saved_regs_size] [save SVE registers relative to SP] ! sub sp, sp, outgoing_args_size */ ! frame.callee_adjust = const_fp_offset; ! frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; ! frame.final_adjust = crtl->outgoing_args_size; } else { ! /* Frame with large local area and outgoing arguments or SVE saves, ! using frame pointer: sub sp, sp, hard_fp_offset stp x29, x30, [sp, 0] --- 8683,8758 ---- max_push_offset to 0, because no registers are popped at this time, so callee_adjust cannot be adjusted. */ HOST_WIDE_INT max_push_offset = 0; ! if (frame.wb_pop_candidate1 != INVALID_REGNUM) ! { ! if (frame.wb_pop_candidate2 != INVALID_REGNUM) ! max_push_offset = 512; ! else ! max_push_offset = 256; ! } ! HOST_WIDE_INT const_size, const_below_saved_regs, const_above_fp; HOST_WIDE_INT const_saved_regs_size; ! if (known_eq (saved_regs_size, 0)) ! frame.initial_adjust = frame.frame_size; ! else if (frame.frame_size.is_constant (&const_size) ! && const_size < max_push_offset ! && known_eq (frame.bytes_above_hard_fp, const_size)) { ! /* Simple, small frame with no data below the saved registers. stp reg1, reg2, [sp, -frame_size]! stp reg3, reg4, [sp, 16] */ frame.callee_adjust = const_size; } ! else if (frame.bytes_below_saved_regs.is_constant (&const_below_saved_regs) ! && saved_regs_size.is_constant (&const_saved_regs_size) ! && const_below_saved_regs + const_saved_regs_size < 512 ! /* We could handle this case even with data below the saved ! registers, provided that that data left us with valid offsets ! for all predicate and vector save slots. It's such a rare ! case that it hardly seems worth the effort though. */ ! && (!saves_below_hard_fp_p || const_below_saved_regs == 0) && !(cfun->calls_alloca ! && frame.bytes_above_hard_fp.is_constant (&const_above_fp) ! && const_above_fp < max_push_offset)) { ! /* Frame with small area below the saved registers: sub sp, sp, frame_size ! stp reg1, reg2, [sp, bytes_below_saved_regs] ! stp reg3, reg4, [sp, bytes_below_saved_regs + 16] */ frame.initial_adjust = frame.frame_size; } else if (saves_below_hard_fp_p ! && known_eq (saved_regs_size, below_hard_fp_saved_regs_size)) { /* Frame in which all saves are SVE saves: ! sub sp, sp, frame_size - bytes_below_saved_regs save SVE registers relative to SP ! sub sp, sp, bytes_below_saved_regs */ ! frame.initial_adjust = frame.frame_size - frame.bytes_below_saved_regs; ! frame.final_adjust = frame.bytes_below_saved_regs; } ! else if (frame.bytes_above_hard_fp.is_constant (&const_above_fp) ! && const_above_fp < max_push_offset) { ! /* Frame with large area below the saved registers, or with SVE saves, ! but with a small area above: stp reg1, reg2, [sp, -hard_fp_offset]! stp reg3, reg4, [sp, 16] [sub sp, sp, below_hard_fp_saved_regs_size] [save SVE registers relative to SP] ! sub sp, sp, bytes_below_saved_regs */ ! frame.callee_adjust = const_above_fp; ! frame.sve_callee_adjust = below_hard_fp_saved_regs_size; ! frame.final_adjust = frame.bytes_below_saved_regs; } else { ! /* General case: sub sp, sp, hard_fp_offset stp x29, x30, [sp, 0] *************** aarch64_layout_frame (void) *** 8708,8717 **** stp reg3, reg4, [sp, 16] [sub sp, sp, below_hard_fp_saved_regs_size] [save SVE registers relative to SP] ! sub sp, sp, outgoing_args_size */ ! frame.initial_adjust = frame.hard_fp_offset; ! frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; ! frame.final_adjust = crtl->outgoing_args_size; } /* Make sure the individual adjustments add up to the full frame size. */ --- 8760,8788 ---- stp reg3, reg4, [sp, 16] [sub sp, sp, below_hard_fp_saved_regs_size] [save SVE registers relative to SP] ! sub sp, sp, bytes_below_saved_regs */ ! frame.initial_adjust = frame.bytes_above_hard_fp; ! frame.sve_callee_adjust = below_hard_fp_saved_regs_size; ! frame.final_adjust = frame.bytes_below_saved_regs; ! } ! ! /* The frame is allocated in pieces, with each non-final piece ! including a register save at offset 0 that acts as a probe for ! the following piece. In addition, the save of the bottommost register ! acts as a probe for callees and allocas. Roll back any probes that ! aren't needed. ! ! A probe isn't needed if it is associated with the final allocation ! (including callees and allocas) that happens before the epilogue is ! executed. */ ! if (crtl->is_leaf ! && !cfun->calls_alloca ! && known_eq (frame.final_adjust, 0)) ! { ! if (maybe_ne (frame.sve_callee_adjust, 0)) ! frame.sve_save_and_probe = INVALID_REGNUM; ! else ! frame.hard_fp_save_and_probe = INVALID_REGNUM; } /* Make sure the individual adjustments add up to the full frame size. */ *************** aarch64_gen_storewb_pair (machine_mode m *** 8792,8797 **** --- 8863,8872 ---- return gen_storewb_pairtf_di (base, base, reg, reg2, GEN_INT (-adjustment), GEN_INT (UNITS_PER_VREG - adjustment)); + case E_V16QImode: + return gen_storewb_pairv16qi_di (base, base, reg, reg2, + GEN_INT (-adjustment), + GEN_INT (UNITS_PER_VREG - adjustment)); default: gcc_unreachable (); } *************** aarch64_gen_loadwb_pair (machine_mode mo *** 8837,8842 **** --- 8912,8921 ---- case E_TFmode: return gen_loadwb_pairtf_di (base, base, reg, reg2, GEN_INT (adjustment), GEN_INT (UNITS_PER_VREG)); + case E_V16QImode: + return gen_loadwb_pairv16qi_di (base, base, reg, reg2, + GEN_INT (adjustment), + GEN_INT (UNITS_PER_VREG)); default: gcc_unreachable (); } *************** aarch64_gen_load_pair (machine_mode mode *** 8920,8925 **** --- 8999,9007 ---- case E_V4SImode: return gen_load_pairv4siv4si (reg1, mem1, reg2, mem2); + case E_V16QImode: + return gen_load_pairv16qiv16qi (reg1, mem1, reg2, mem2); + default: gcc_unreachable (); } *************** aarch64_add_cfa_expression (rtx_insn *in *** 9069,9083 **** } /* Emit code to save the callee-saved registers from register number START ! to LIMIT to the stack at the location starting at offset START_OFFSET, ! skipping any write-back candidates if SKIP_WB is true. HARD_FP_VALID_P ! is true if the hard frame pointer has been set up. */ static void ! aarch64_save_callee_saves (poly_int64 start_offset, unsigned start, unsigned limit, bool skip_wb, bool hard_fp_valid_p) { rtx_insn *insn; unsigned regno; unsigned regno2; --- 9151,9167 ---- } /* Emit code to save the callee-saved registers from register number START ! to LIMIT to the stack. The stack pointer is currently BYTES_BELOW_SP ! bytes above the bottom of the static frame. Skip any write-back ! candidates if SKIP_WB is true. HARD_FP_VALID_P is true if the hard ! frame pointer has been set up. */ static void ! aarch64_save_callee_saves (poly_int64 bytes_below_sp, unsigned start, unsigned limit, bool skip_wb, bool hard_fp_valid_p) { + aarch64_frame &frame = cfun->machine->frame; rtx_insn *insn; unsigned regno; unsigned regno2; *************** aarch64_save_callee_saves (poly_int64 st *** 9092,9099 **** bool frame_related_p = aarch64_emit_cfi_for_reg_p (regno); if (skip_wb ! && (regno == cfun->machine->frame.wb_push_candidate1 ! || regno == cfun->machine->frame.wb_push_candidate2)) continue; if (cfun->machine->reg_is_wrapped_separately[regno]) --- 9176,9183 ---- bool frame_related_p = aarch64_emit_cfi_for_reg_p (regno); if (skip_wb ! && (regno == frame.wb_push_candidate1 ! || regno == frame.wb_push_candidate2)) continue; if (cfun->machine->reg_is_wrapped_separately[regno]) *************** aarch64_save_callee_saves (poly_int64 st *** 9101,9107 **** machine_mode mode = aarch64_reg_save_mode (regno); reg = gen_rtx_REG (mode, regno); ! offset = start_offset + cfun->machine->frame.reg_offset[regno]; rtx base_rtx = stack_pointer_rtx; poly_int64 sp_offset = offset; --- 9185,9191 ---- machine_mode mode = aarch64_reg_save_mode (regno); reg = gen_rtx_REG (mode, regno); ! offset = frame.reg_offset[regno] - bytes_below_sp; rtx base_rtx = stack_pointer_rtx; poly_int64 sp_offset = offset; *************** aarch64_save_callee_saves (poly_int64 st *** 9112,9120 **** else if (GP_REGNUM_P (regno) && (!offset.is_constant (&const_offset) || const_offset >= 512)) { ! gcc_assert (known_eq (start_offset, 0)); ! poly_int64 fp_offset ! = cfun->machine->frame.below_hard_fp_saved_regs_size; if (hard_fp_valid_p) base_rtx = hard_frame_pointer_rtx; else --- 9196,9202 ---- else if (GP_REGNUM_P (regno) && (!offset.is_constant (&const_offset) || const_offset >= 512)) { ! poly_int64 fp_offset = frame.bytes_below_hard_fp - bytes_below_sp; if (hard_fp_valid_p) base_rtx = hard_frame_pointer_rtx; else *************** aarch64_save_callee_saves (poly_int64 st *** 9136,9143 **** && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit && !cfun->machine->reg_is_wrapped_separately[regno2] && known_eq (GET_MODE_SIZE (mode), ! cfun->machine->frame.reg_offset[regno2] ! - cfun->machine->frame.reg_offset[regno])) { rtx reg2 = gen_rtx_REG (mode, regno2); rtx mem2; --- 9218,9224 ---- && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit && !cfun->machine->reg_is_wrapped_separately[regno2] && known_eq (GET_MODE_SIZE (mode), ! frame.reg_offset[regno2] - frame.reg_offset[regno])) { rtx reg2 = gen_rtx_REG (mode, regno2); rtx mem2; *************** aarch64_save_callee_saves (poly_int64 st *** 9179,9192 **** } /* Emit code to restore the callee registers from register number START ! up to and including LIMIT. Restore from the stack offset START_OFFSET, ! skipping any write-back candidates if SKIP_WB is true. Write the ! appropriate REG_CFA_RESTORE notes into CFI_OPS. */ static void ! aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, unsigned limit, bool skip_wb, rtx *cfi_ops) { unsigned regno; unsigned regno2; poly_int64 offset; --- 9260,9275 ---- } /* Emit code to restore the callee registers from register number START ! up to and including LIMIT. The stack pointer is currently BYTES_BELOW_SP ! bytes above the bottom of the static frame. Skip any write-back ! candidates if SKIP_WB is true. Write the appropriate REG_CFA_RESTORE ! notes into CFI_OPS. */ static void ! aarch64_restore_callee_saves (poly_int64 bytes_below_sp, unsigned start, unsigned limit, bool skip_wb, rtx *cfi_ops) { + aarch64_frame &frame = cfun->machine->frame; unsigned regno; unsigned regno2; poly_int64 offset; *************** aarch64_restore_callee_saves (poly_int64 *** 9203,9215 **** rtx reg, mem; if (skip_wb ! && (regno == cfun->machine->frame.wb_pop_candidate1 ! || regno == cfun->machine->frame.wb_pop_candidate2)) continue; machine_mode mode = aarch64_reg_save_mode (regno); reg = gen_rtx_REG (mode, regno); ! offset = start_offset + cfun->machine->frame.reg_offset[regno]; rtx base_rtx = stack_pointer_rtx; if (mode == VNx2DImode && BYTES_BIG_ENDIAN) aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg, --- 9286,9298 ---- rtx reg, mem; if (skip_wb ! && (regno == frame.wb_pop_candidate1 ! || regno == frame.wb_pop_candidate2)) continue; machine_mode mode = aarch64_reg_save_mode (regno); reg = gen_rtx_REG (mode, regno); ! offset = frame.reg_offset[regno] - bytes_below_sp; rtx base_rtx = stack_pointer_rtx; if (mode == VNx2DImode && BYTES_BIG_ENDIAN) aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg, *************** aarch64_restore_callee_saves (poly_int64 *** 9220,9227 **** && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit && !cfun->machine->reg_is_wrapped_separately[regno2] && known_eq (GET_MODE_SIZE (mode), ! cfun->machine->frame.reg_offset[regno2] ! - cfun->machine->frame.reg_offset[regno])) { rtx reg2 = gen_rtx_REG (mode, regno2); rtx mem2; --- 9303,9309 ---- && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit && !cfun->machine->reg_is_wrapped_separately[regno2] && known_eq (GET_MODE_SIZE (mode), ! frame.reg_offset[regno2] - frame.reg_offset[regno])) { rtx reg2 = gen_rtx_REG (mode, regno2); rtx mem2; *************** offset_12bit_unsigned_scaled_p (machine_ *** 9326,9331 **** --- 9408,9414 ---- static sbitmap aarch64_get_separate_components (void) { + aarch64_frame &frame = cfun->machine->frame; sbitmap components = sbitmap_alloc (LAST_SAVED_REGNUM + 1); bitmap_clear (components); *************** aarch64_get_separate_components (void) *** 9342,9361 **** if (mode == VNx2DImode && BYTES_BIG_ENDIAN) continue; ! poly_int64 offset = cfun->machine->frame.reg_offset[regno]; ! ! /* If the register is saved in the first SVE save slot, we use ! it as a stack probe for -fstack-clash-protection. */ ! if (flag_stack_clash_protection ! && maybe_ne (cfun->machine->frame.below_hard_fp_saved_regs_size, 0) ! && known_eq (offset, 0)) ! continue; /* Get the offset relative to the register we'll use. */ if (frame_pointer_needed) ! offset -= cfun->machine->frame.below_hard_fp_saved_regs_size; ! else ! offset += crtl->outgoing_args_size; /* Check that we can access the stack slot of the register with one direct load with no adjustments needed. */ --- 9425,9435 ---- if (mode == VNx2DImode && BYTES_BIG_ENDIAN) continue; ! poly_int64 offset = frame.reg_offset[regno]; /* Get the offset relative to the register we'll use. */ if (frame_pointer_needed) ! offset -= frame.bytes_below_hard_fp; /* Check that we can access the stack slot of the register with one direct load with no adjustments needed. */ *************** aarch64_get_separate_components (void) *** 9372,9382 **** /* If the spare predicate register used by big-endian SVE code is call-preserved, it must be saved in the main prologue before any saves that use it. */ ! if (cfun->machine->frame.spare_pred_reg != INVALID_REGNUM) ! bitmap_clear_bit (components, cfun->machine->frame.spare_pred_reg); ! unsigned reg1 = cfun->machine->frame.wb_push_candidate1; ! unsigned reg2 = cfun->machine->frame.wb_push_candidate2; /* If registers have been chosen to be stored/restored with writeback don't interfere with them to avoid having to output explicit stack adjustment instructions. */ --- 9446,9456 ---- /* If the spare predicate register used by big-endian SVE code is call-preserved, it must be saved in the main prologue before any saves that use it. */ ! if (frame.spare_pred_reg != INVALID_REGNUM) ! bitmap_clear_bit (components, frame.spare_pred_reg); ! unsigned reg1 = frame.wb_push_candidate1; ! unsigned reg2 = frame.wb_push_candidate2; /* If registers have been chosen to be stored/restored with writeback don't interfere with them to avoid having to output explicit stack adjustment instructions. */ *************** aarch64_get_separate_components (void) *** 9387,9392 **** --- 9461,9473 ---- bitmap_clear_bit (components, LR_REGNUM); bitmap_clear_bit (components, SP_REGNUM); + if (flag_stack_clash_protection) + { + if (frame.sve_save_and_probe != INVALID_REGNUM) + bitmap_clear_bit (components, frame.sve_save_and_probe); + if (frame.hard_fp_save_and_probe != INVALID_REGNUM) + bitmap_clear_bit (components, frame.hard_fp_save_and_probe); + } return components; } *************** aarch64_get_next_set_bit (sbitmap bmp, u *** 9485,9490 **** --- 9566,9572 ---- static void aarch64_process_components (sbitmap components, bool prologue_p) { + aarch64_frame &frame = cfun->machine->frame; rtx ptr_reg = gen_rtx_REG (Pmode, frame_pointer_needed ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM); *************** aarch64_process_components (sbitmap comp *** 9499,9509 **** machine_mode mode = aarch64_reg_save_mode (regno); rtx reg = gen_rtx_REG (mode, regno); ! poly_int64 offset = cfun->machine->frame.reg_offset[regno]; if (frame_pointer_needed) ! offset -= cfun->machine->frame.below_hard_fp_saved_regs_size; ! else ! offset += crtl->outgoing_args_size; rtx addr = plus_constant (Pmode, ptr_reg, offset); rtx mem = gen_frame_mem (mode, addr); --- 9581,9589 ---- machine_mode mode = aarch64_reg_save_mode (regno); rtx reg = gen_rtx_REG (mode, regno); ! poly_int64 offset = frame.reg_offset[regno]; if (frame_pointer_needed) ! offset -= frame.bytes_below_hard_fp; rtx addr = plus_constant (Pmode, ptr_reg, offset); rtx mem = gen_frame_mem (mode, addr); *************** aarch64_process_components (sbitmap comp *** 9526,9539 **** break; } ! poly_int64 offset2 = cfun->machine->frame.reg_offset[regno2]; /* The next register is not of the same class or its offset is not mergeable with the current one into a pair. */ if (aarch64_sve_mode_p (mode) || !satisfies_constraint_Ump (mem) || GP_REGNUM_P (regno) != GP_REGNUM_P (regno2) || (crtl->abi->id () == ARM_PCS_SIMD && FP_REGNUM_P (regno)) ! || maybe_ne ((offset2 - cfun->machine->frame.reg_offset[regno]), GET_MODE_SIZE (mode))) { insn = emit_insn (set); --- 9606,9619 ---- break; } ! poly_int64 offset2 = frame.reg_offset[regno2]; /* The next register is not of the same class or its offset is not mergeable with the current one into a pair. */ if (aarch64_sve_mode_p (mode) || !satisfies_constraint_Ump (mem) || GP_REGNUM_P (regno) != GP_REGNUM_P (regno2) || (crtl->abi->id () == ARM_PCS_SIMD && FP_REGNUM_P (regno)) ! || maybe_ne ((offset2 - frame.reg_offset[regno]), GET_MODE_SIZE (mode))) { insn = emit_insn (set); *************** aarch64_process_components (sbitmap comp *** 9555,9563 **** /* REGNO2 can be saved/restored in a pair with REGNO. */ rtx reg2 = gen_rtx_REG (mode, regno2); if (frame_pointer_needed) ! offset2 -= cfun->machine->frame.below_hard_fp_saved_regs_size; ! else ! offset2 += crtl->outgoing_args_size; rtx addr2 = plus_constant (Pmode, ptr_reg, offset2); rtx mem2 = gen_frame_mem (mode, addr2); rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2) --- 9635,9641 ---- /* REGNO2 can be saved/restored in a pair with REGNO. */ rtx reg2 = gen_rtx_REG (mode, regno2); if (frame_pointer_needed) ! offset2 -= frame.bytes_below_hard_fp; rtx addr2 = plus_constant (Pmode, ptr_reg, offset2); rtx mem2 = gen_frame_mem (mode, addr2); rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2) *************** aarch64_stack_clash_protection_alloca_pr *** 9631,9640 **** registers. If POLY_SIZE is not large enough to require a probe this function will only adjust the stack. When allocating the stack space FRAME_RELATED_P is then used to indicate if the allocation is frame related. ! FINAL_ADJUSTMENT_P indicates whether we are allocating the outgoing ! arguments. If we are then we ensure that any allocation larger than the ABI ! defined buffer needs a probe so that the invariant of having a 1KB buffer is ! maintained. We emit barriers after each stack adjustment to prevent optimizations from breaking the invariant that we never drop the stack more than a page. This --- 9709,9718 ---- registers. If POLY_SIZE is not large enough to require a probe this function will only adjust the stack. When allocating the stack space FRAME_RELATED_P is then used to indicate if the allocation is frame related. ! FINAL_ADJUSTMENT_P indicates whether we are allocating the area below ! the saved registers. If we are then we ensure that any allocation ! larger than the ABI defined buffer needs a probe so that the ! invariant of having a 1KB buffer is maintained. We emit barriers after each stack adjustment to prevent optimizations from breaking the invariant that we never drop the stack more than a page. This *************** aarch64_allocate_and_probe_stack_space ( *** 9650,9694 **** bool frame_related_p, bool final_adjustment_p) { HOST_WIDE_INT guard_size = 1 << param_stack_clash_protection_guard_size; HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD; HOST_WIDE_INT min_probe_threshold = (final_adjustment_p ! ? guard_used_by_caller : guard_size - guard_used_by_caller); ! /* When doing the final adjustment for the outgoing arguments, take into ! account any unprobed space there is above the current SP. There are ! two cases: ! ! - When saving SVE registers below the hard frame pointer, we force ! the lowest save to take place in the prologue before doing the final ! adjustment (i.e. we don't allow the save to be shrink-wrapped). ! This acts as a probe at SP, so there is no unprobed space. ! ! - When there are no SVE register saves, we use the store of the link ! register as a probe. We can't assume that LR was saved at position 0 ! though, so treat any space below it as unprobed. */ ! if (final_adjustment_p ! && known_eq (cfun->machine->frame.below_hard_fp_saved_regs_size, 0)) ! { ! poly_int64 lr_offset = cfun->machine->frame.reg_offset[LR_REGNUM]; ! if (known_ge (lr_offset, 0)) ! min_probe_threshold -= lr_offset.to_constant (); ! else ! gcc_assert (!flag_stack_clash_protection || known_eq (poly_size, 0)); ! } ! ! poly_int64 frame_size = cfun->machine->frame.frame_size; /* We should always have a positive probe threshold. */ gcc_assert (min_probe_threshold > 0); if (flag_stack_clash_protection && !final_adjustment_p) { ! poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; ! poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; ! poly_int64 final_adjust = cfun->machine->frame.final_adjust; if (known_eq (frame_size, 0)) { --- 9728,9753 ---- bool frame_related_p, bool final_adjustment_p) { + aarch64_frame &frame = cfun->machine->frame; HOST_WIDE_INT guard_size = 1 << param_stack_clash_protection_guard_size; HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD; + HOST_WIDE_INT byte_sp_alignment = STACK_BOUNDARY / BITS_PER_UNIT; + gcc_assert (multiple_p (poly_size, byte_sp_alignment)); HOST_WIDE_INT min_probe_threshold = (final_adjustment_p ! ? guard_used_by_caller + byte_sp_alignment : guard_size - guard_used_by_caller); ! poly_int64 frame_size = frame.frame_size; /* We should always have a positive probe threshold. */ gcc_assert (min_probe_threshold > 0); if (flag_stack_clash_protection && !final_adjustment_p) { ! poly_int64 initial_adjust = frame.initial_adjust; ! poly_int64 sve_callee_adjust = frame.sve_callee_adjust; ! poly_int64 final_adjust = frame.final_adjust; if (known_eq (frame_size, 0)) { *************** aarch64_allocate_and_probe_stack_space ( *** 9842,9848 **** /* Handle any residuals. Residuals of at least MIN_PROBE_THRESHOLD have to be probed. This maintains the requirement that each page is probed at least once. For initial probing we probe only if the allocation is ! more than GUARD_SIZE - buffer, and for the outgoing arguments we probe if the amount is larger than buffer. GUARD_SIZE - buffer + buffer == GUARD_SIZE. This works that for any allocation that is large enough to trigger a probe here, we'll have at least one, and if they're not large --- 9901,9907 ---- /* Handle any residuals. Residuals of at least MIN_PROBE_THRESHOLD have to be probed. This maintains the requirement that each page is probed at least once. For initial probing we probe only if the allocation is ! more than GUARD_SIZE - buffer, and below the saved registers we probe if the amount is larger than buffer. GUARD_SIZE - buffer + buffer == GUARD_SIZE. This works that for any allocation that is large enough to trigger a probe here, we'll have at least one, and if they're not large *************** aarch64_allocate_and_probe_stack_space ( *** 9852,9867 **** are still safe. */ if (residual) { ! HOST_WIDE_INT residual_probe_offset = guard_used_by_caller; /* If we're doing final adjustments, and we've done any full page allocations then any residual needs to be probed. */ if (final_adjustment_p && rounded_size != 0) min_probe_threshold = 0; - /* If doing a small final adjustment, we always probe at offset 0. - This is done to avoid issues when LR is not at position 0 or when - the final adjustment is smaller than the probing offset. */ - else if (final_adjustment_p && rounded_size == 0) - residual_probe_offset = 0; aarch64_sub_sp (temp1, temp2, residual, frame_related_p); if (residual >= min_probe_threshold) --- 9911,9922 ---- are still safe. */ if (residual) { ! gcc_assert (guard_used_by_caller + byte_sp_alignment <= size); ! /* If we're doing final adjustments, and we've done any full page allocations then any residual needs to be probed. */ if (final_adjustment_p && rounded_size != 0) min_probe_threshold = 0; aarch64_sub_sp (temp1, temp2, residual, frame_related_p); if (residual >= min_probe_threshold) *************** aarch64_allocate_and_probe_stack_space ( *** 9872,9879 **** HOST_WIDE_INT_PRINT_DEC " bytes, probing will be required." "\n", residual); ! emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx, ! residual_probe_offset)); emit_insn (gen_blockage ()); } } --- 9927,9934 ---- HOST_WIDE_INT_PRINT_DEC " bytes, probing will be required." "\n", residual); ! emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx, ! guard_used_by_caller)); emit_insn (gen_blockage ()); } } *************** aarch64_epilogue_uses (int regno) *** 9911,9930 **** | for register varargs | | | +-------------------------------+ ! | local variables | <-- frame_pointer_rtx | | +-------------------------------+ ! | padding | \ ! +-------------------------------+ | ! | callee-saved registers | | frame.saved_regs_size ! +-------------------------------+ | ! | LR' | | ! +-------------------------------+ | ! | FP' | | ! +-------------------------------+ |<- hard_frame_pointer_rtx (aligned) ! | SVE vector registers | | \ ! +-------------------------------+ | | below_hard_fp_saved_regs_size ! | SVE predicate registers | / / +-------------------------------+ | dynamic allocation | +-------------------------------+ --- 9966,9989 ---- | for register varargs | | | +-------------------------------+ ! | local variables (1) | <-- frame_pointer_rtx | | +-------------------------------+ ! | padding (1) | ! +-------------------------------+ ! | callee-saved registers | ! +-------------------------------+ ! | LR' | ! +-------------------------------+ ! | FP' | ! +-------------------------------+ <-- hard_frame_pointer_rtx (aligned) ! | SVE vector registers | ! +-------------------------------+ ! | SVE predicate registers | ! +-------------------------------+ ! | local variables (2) | ! +-------------------------------+ ! | padding (2) | +-------------------------------+ | dynamic allocation | +-------------------------------+ *************** aarch64_epilogue_uses (int regno) *** 9935,9940 **** --- 9994,10002 ---- +-------------------------------+ | | <-- stack_pointer_rtx (aligned) + The regions marked (1) and (2) are mutually exclusive. (2) is used + when aarch64_save_regs_above_locals_p is true. + Dynamic stack allocations via alloca() decrease stack_pointer_rtx but leave frame_pointer_rtx and hard_frame_pointer_rtx unchanged. *************** aarch64_epilogue_uses (int regno) *** 9949,9956 **** When probing is needed, we emit a probe at the start of the prologue and every PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE bytes thereafter. ! We have to track how much space has been allocated and the only stores ! to the stack we track as implicit probes are the FP/LR stores. For outgoing arguments we probe if the size is larger than 1KB, such that the ABI specified buffer is maintained for the next callee. --- 10011,10018 ---- When probing is needed, we emit a probe at the start of the prologue and every PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE bytes thereafter. ! We can also use register saves as probes. These are stored in ! sve_save_and_probe and hard_fp_save_and_probe. For outgoing arguments we probe if the size is larger than 1KB, such that the ABI specified buffer is maintained for the next callee. *************** aarch64_epilogue_uses (int regno) *** 9977,9993 **** void aarch64_expand_prologue (void) { ! poly_int64 frame_size = cfun->machine->frame.frame_size; ! poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; ! HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust; ! poly_int64 final_adjust = cfun->machine->frame.final_adjust; ! poly_int64 callee_offset = cfun->machine->frame.callee_offset; ! poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; ! poly_int64 below_hard_fp_saved_regs_size ! = cfun->machine->frame.below_hard_fp_saved_regs_size; ! unsigned reg1 = cfun->machine->frame.wb_push_candidate1; ! unsigned reg2 = cfun->machine->frame.wb_push_candidate2; ! bool emit_frame_chain = cfun->machine->frame.emit_frame_chain; rtx_insn *insn; if (flag_stack_clash_protection && known_eq (callee_adjust, 0)) --- 10039,10053 ---- void aarch64_expand_prologue (void) { ! aarch64_frame &frame = cfun->machine->frame; ! poly_int64 frame_size = frame.frame_size; ! poly_int64 initial_adjust = frame.initial_adjust; ! HOST_WIDE_INT callee_adjust = frame.callee_adjust; ! poly_int64 final_adjust = frame.final_adjust; ! poly_int64 sve_callee_adjust = frame.sve_callee_adjust; ! unsigned reg1 = frame.wb_push_candidate1; ! unsigned reg2 = frame.wb_push_candidate2; ! bool emit_frame_chain = frame.emit_frame_chain; rtx_insn *insn; if (flag_stack_clash_protection && known_eq (callee_adjust, 0)) *************** aarch64_expand_prologue (void) *** 10018,10024 **** } /* Push return address to shadow call stack. */ ! if (cfun->machine->frame.is_scs_enabled) emit_insn (gen_scs_push ()); if (flag_stack_usage_info) --- 10078,10084 ---- } /* Push return address to shadow call stack. */ ! if (frame.is_scs_enabled) emit_insn (gen_scs_push ()); if (flag_stack_usage_info) *************** aarch64_expand_prologue (void) *** 10055,10075 **** if (callee_adjust != 0) aarch64_push_regs (reg1, reg2, callee_adjust); ! /* The offset of the frame chain record (if any) from the current SP. */ ! poly_int64 chain_offset = (initial_adjust + callee_adjust ! - cfun->machine->frame.hard_fp_offset); ! gcc_assert (known_ge (chain_offset, 0)); ! ! /* The offset of the bottom of the save area from the current SP. */ ! poly_int64 saved_regs_offset = chain_offset - below_hard_fp_saved_regs_size; if (emit_frame_chain) { if (callee_adjust == 0) { reg1 = R29_REGNUM; reg2 = R30_REGNUM; ! aarch64_save_callee_saves (saved_regs_offset, reg1, reg2, false, false); } else --- 10115,10135 ---- if (callee_adjust != 0) aarch64_push_regs (reg1, reg2, callee_adjust); ! /* The offset of the current SP from the bottom of the static frame. */ ! poly_int64 bytes_below_sp = frame_size - initial_adjust - callee_adjust; if (emit_frame_chain) { + /* The offset of the frame chain record (if any) from the current SP. */ + poly_int64 chain_offset = (initial_adjust + callee_adjust + - frame.bytes_above_hard_fp); + gcc_assert (known_ge (chain_offset, 0)); + if (callee_adjust == 0) { reg1 = R29_REGNUM; reg2 = R30_REGNUM; ! aarch64_save_callee_saves (bytes_below_sp, reg1, reg2, false, false); } else *************** aarch64_expand_prologue (void) *** 10094,10101 **** implicit. */ if (!find_reg_note (insn, REG_CFA_ADJUST_CFA, NULL_RTX)) { ! rtx src = plus_constant (Pmode, stack_pointer_rtx, ! callee_offset); add_reg_note (insn, REG_CFA_ADJUST_CFA, gen_rtx_SET (hard_frame_pointer_rtx, src)); } --- 10154,10160 ---- implicit. */ if (!find_reg_note (insn, REG_CFA_ADJUST_CFA, NULL_RTX)) { ! rtx src = plus_constant (Pmode, stack_pointer_rtx, chain_offset); add_reg_note (insn, REG_CFA_ADJUST_CFA, gen_rtx_SET (hard_frame_pointer_rtx, src)); } *************** aarch64_expand_prologue (void) *** 10110,10116 **** emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx)); } ! aarch64_save_callee_saves (saved_regs_offset, R0_REGNUM, R30_REGNUM, callee_adjust != 0 || emit_frame_chain, emit_frame_chain); if (maybe_ne (sve_callee_adjust, 0)) --- 10169,10175 ---- emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx)); } ! aarch64_save_callee_saves (bytes_below_sp, R0_REGNUM, R30_REGNUM, callee_adjust != 0 || emit_frame_chain, emit_frame_chain); if (maybe_ne (sve_callee_adjust, 0)) *************** aarch64_expand_prologue (void) *** 10120,10137 **** aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, sve_callee_adjust, !frame_pointer_needed, false); ! saved_regs_offset += sve_callee_adjust; } ! aarch64_save_callee_saves (saved_regs_offset, P0_REGNUM, P15_REGNUM, false, emit_frame_chain); ! aarch64_save_callee_saves (saved_regs_offset, V0_REGNUM, V31_REGNUM, callee_adjust != 0 || emit_frame_chain, emit_frame_chain); /* We may need to probe the final adjustment if it is larger than the guard that is assumed by the called. */ aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust, !frame_pointer_needed, true); } /* Return TRUE if we can use a simple_return insn. --- 10179,10199 ---- aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, sve_callee_adjust, !frame_pointer_needed, false); ! bytes_below_sp -= sve_callee_adjust; } ! aarch64_save_callee_saves (bytes_below_sp, P0_REGNUM, P15_REGNUM, false, emit_frame_chain); ! aarch64_save_callee_saves (bytes_below_sp, V0_REGNUM, V31_REGNUM, callee_adjust != 0 || emit_frame_chain, emit_frame_chain); /* We may need to probe the final adjustment if it is larger than the guard that is assumed by the called. */ + gcc_assert (known_eq (bytes_below_sp, final_adjust)); aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust, !frame_pointer_needed, true); + if (emit_frame_chain && maybe_ne (final_adjust, 0)) + emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx)); } /* Return TRUE if we can use a simple_return insn. *************** aarch64_use_return_insn_p (void) *** 10160,10175 **** void aarch64_expand_epilogue (bool for_sibcall) { ! poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; ! HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust; ! poly_int64 final_adjust = cfun->machine->frame.final_adjust; ! poly_int64 callee_offset = cfun->machine->frame.callee_offset; ! poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; ! poly_int64 below_hard_fp_saved_regs_size ! = cfun->machine->frame.below_hard_fp_saved_regs_size; ! unsigned reg1 = cfun->machine->frame.wb_pop_candidate1; ! unsigned reg2 = cfun->machine->frame.wb_pop_candidate2; ! unsigned int last_gpr = (cfun->machine->frame.is_scs_enabled ? R29_REGNUM : R30_REGNUM); rtx cfi_ops = NULL; rtx_insn *insn; --- 10222,10236 ---- void aarch64_expand_epilogue (bool for_sibcall) { ! aarch64_frame &frame = cfun->machine->frame; ! poly_int64 initial_adjust = frame.initial_adjust; ! HOST_WIDE_INT callee_adjust = frame.callee_adjust; ! poly_int64 final_adjust = frame.final_adjust; ! poly_int64 sve_callee_adjust = frame.sve_callee_adjust; ! poly_int64 bytes_below_hard_fp = frame.bytes_below_hard_fp; ! unsigned reg1 = frame.wb_pop_candidate1; ! unsigned reg2 = frame.wb_pop_candidate2; ! unsigned int last_gpr = (frame.is_scs_enabled ? R29_REGNUM : R30_REGNUM); rtx cfi_ops = NULL; rtx_insn *insn; *************** aarch64_expand_epilogue (bool for_sibcal *** 10203,10209 **** /* We need to add memory barrier to prevent read from deallocated stack. */ bool need_barrier_p = maybe_ne (get_frame_size () ! + cfun->machine->frame.saved_varargs_size, 0); /* Emit a barrier to prevent loads from a deallocated stack. */ if (maybe_gt (final_adjust, crtl->outgoing_args_size) --- 10264,10270 ---- /* We need to add memory barrier to prevent read from deallocated stack. */ bool need_barrier_p = maybe_ne (get_frame_size () ! + frame.saved_varargs_size, 0); /* Emit a barrier to prevent loads from a deallocated stack. */ if (maybe_gt (final_adjust, crtl->outgoing_args_size) *************** aarch64_expand_epilogue (bool for_sibcal *** 10224,10230 **** is restored on the instruction doing the writeback. */ aarch64_add_offset (Pmode, stack_pointer_rtx, hard_frame_pointer_rtx, ! -callee_offset - below_hard_fp_saved_regs_size, tmp1_rtx, tmp0_rtx, callee_adjust == 0); else /* The case where we need to re-use the register here is very rare, so --- 10285,10291 ---- is restored on the instruction doing the writeback. */ aarch64_add_offset (Pmode, stack_pointer_rtx, hard_frame_pointer_rtx, ! -bytes_below_hard_fp + final_adjust, tmp1_rtx, tmp0_rtx, callee_adjust == 0); else /* The case where we need to re-use the register here is very rare, so *************** aarch64_expand_epilogue (bool for_sibcal *** 10234,10242 **** /* Restore the vector registers before the predicate registers, so that we can use P4 as a temporary for big-endian SVE frames. */ ! aarch64_restore_callee_saves (callee_offset, V0_REGNUM, V31_REGNUM, callee_adjust != 0, &cfi_ops); ! aarch64_restore_callee_saves (callee_offset, P0_REGNUM, P15_REGNUM, false, &cfi_ops); if (maybe_ne (sve_callee_adjust, 0)) aarch64_add_sp (NULL_RTX, NULL_RTX, sve_callee_adjust, true); --- 10295,10303 ---- /* Restore the vector registers before the predicate registers, so that we can use P4 as a temporary for big-endian SVE frames. */ ! aarch64_restore_callee_saves (final_adjust, V0_REGNUM, V31_REGNUM, callee_adjust != 0, &cfi_ops); ! aarch64_restore_callee_saves (final_adjust, P0_REGNUM, P15_REGNUM, false, &cfi_ops); if (maybe_ne (sve_callee_adjust, 0)) aarch64_add_sp (NULL_RTX, NULL_RTX, sve_callee_adjust, true); *************** aarch64_expand_epilogue (bool for_sibcal *** 10244,10250 **** /* When shadow call stack is enabled, the scs_pop in the epilogue will restore x30, we don't need to restore x30 again in the traditional way. */ ! aarch64_restore_callee_saves (callee_offset - sve_callee_adjust, R0_REGNUM, last_gpr, callee_adjust != 0, &cfi_ops); --- 10305,10311 ---- /* When shadow call stack is enabled, the scs_pop in the epilogue will restore x30, we don't need to restore x30 again in the traditional way. */ ! aarch64_restore_callee_saves (final_adjust + sve_callee_adjust, R0_REGNUM, last_gpr, callee_adjust != 0, &cfi_ops); *************** aarch64_expand_epilogue (bool for_sibcal *** 10284,10290 **** } /* Pop return address from shadow call stack. */ ! if (cfun->machine->frame.is_scs_enabled) { machine_mode mode = aarch64_reg_save_mode (R30_REGNUM); rtx reg = gen_rtx_REG (mode, R30_REGNUM); --- 10345,10351 ---- } /* Pop return address from shadow call stack. */ ! if (frame.is_scs_enabled) { machine_mode mode = aarch64_reg_save_mode (R30_REGNUM); rtx reg = gen_rtx_REG (mode, R30_REGNUM); *************** aarch64_can_eliminate (const int from AT *** 12740,12763 **** poly_int64 aarch64_initial_elimination_offset (unsigned from, unsigned to) { if (to == HARD_FRAME_POINTER_REGNUM) { if (from == ARG_POINTER_REGNUM) ! return cfun->machine->frame.hard_fp_offset; if (from == FRAME_POINTER_REGNUM) ! return cfun->machine->frame.hard_fp_offset ! - cfun->machine->frame.locals_offset; } if (to == STACK_POINTER_REGNUM) { if (from == FRAME_POINTER_REGNUM) ! return cfun->machine->frame.frame_size ! - cfun->machine->frame.locals_offset; } ! return cfun->machine->frame.frame_size; } --- 12801,12824 ---- poly_int64 aarch64_initial_elimination_offset (unsigned from, unsigned to) { + aarch64_frame &frame = cfun->machine->frame; + if (to == HARD_FRAME_POINTER_REGNUM) { if (from == ARG_POINTER_REGNUM) ! return frame.bytes_above_hard_fp; if (from == FRAME_POINTER_REGNUM) ! return frame.bytes_above_hard_fp - frame.bytes_above_locals; } if (to == STACK_POINTER_REGNUM) { if (from == FRAME_POINTER_REGNUM) ! return frame.frame_size - frame.bytes_above_locals; } ! return frame.frame_size; } *************** aarch64_expand_compare_and_swap (rtx ope *** 23020,23025 **** --- 23081,23088 ---- rval = copy_to_mode_reg (r_mode, oldval); else emit_move_insn (rval, gen_lowpart (r_mode, oldval)); + if (mode == TImode) + newval = force_reg (mode, newval); emit_insn (gen_aarch64_compare_and_swap_lse (mode, rval, mem, newval, mod_s)); *************** aarch64_copy_one_block_and_progress_poin *** 24801,24810 **** *dst = aarch64_progress_pointer (*dst); } ! /* Expand a cpymem using the MOPS extension. OPERANDS are taken ! from the cpymem pattern. Return true iff we succeeded. */ ! static bool ! aarch64_expand_cpymem_mops (rtx *operands) { if (!TARGET_MOPS) return false; --- 24864,24874 ---- *dst = aarch64_progress_pointer (*dst); } ! /* Expand a cpymem/movmem using the MOPS extension. OPERANDS are taken ! from the cpymem/movmem pattern. IS_MEMMOVE is true if this is a memmove ! rather than memcpy. Return true iff we succeeded. */ ! bool ! aarch64_expand_cpymem_mops (rtx *operands, bool is_memmove = false) { if (!TARGET_MOPS) return false; *************** aarch64_expand_cpymem_mops (rtx *operand *** 24816,24823 **** rtx dst_mem = replace_equiv_address (operands[0], dst_addr); rtx src_mem = replace_equiv_address (operands[1], src_addr); rtx sz_reg = copy_to_mode_reg (DImode, operands[2]); ! emit_insn (gen_aarch64_cpymemdi (dst_mem, src_mem, sz_reg)); ! return true; } --- 24880,24889 ---- rtx dst_mem = replace_equiv_address (operands[0], dst_addr); rtx src_mem = replace_equiv_address (operands[1], src_addr); rtx sz_reg = copy_to_mode_reg (DImode, operands[2]); ! if (is_memmove) ! emit_insn (gen_aarch64_movmemdi (dst_mem, src_mem, sz_reg)); ! else ! emit_insn (gen_aarch64_cpymemdi (dst_mem, src_mem, sz_reg)); return true; } *************** aarch64_operands_ok_for_ldpstp (rtx *ope *** 26104,26114 **** gcc_assert (known_eq (GET_MODE_SIZE (GET_MODE (mem_1)), GET_MODE_SIZE (GET_MODE (mem_2)))); ! /* One of the memory accesses must be a mempair operand. ! If it is not the first one, they need to be swapped by the ! peephole. */ ! if (!aarch64_mem_pair_operand (mem_1, GET_MODE (mem_1)) ! && !aarch64_mem_pair_operand (mem_2, GET_MODE (mem_2))) return false; if (REG_P (reg_1) && FP_REGNUM_P (REGNO (reg_1))) --- 26170,26178 ---- gcc_assert (known_eq (GET_MODE_SIZE (GET_MODE (mem_1)), GET_MODE_SIZE (GET_MODE (mem_2)))); ! /* The lower memory access must be a mem-pair operand. */ ! rtx lower_mem = reversed ? mem_2 : mem_1; ! if (!aarch64_mem_pair_operand (lower_mem, GET_MODE (lower_mem))) return false; if (REG_P (reg_1) && FP_REGNUM_P (REGNO (reg_1))) *************** aarch64_simd_clone_compute_vecsize_and_s *** 26965,26971 **** bool explicit_p) { tree t, ret_type; ! unsigned int elt_bits, count; unsigned HOST_WIDE_INT const_simdlen; poly_uint64 vec_bits; --- 27029,27035 ---- bool explicit_p) { tree t, ret_type; ! unsigned int elt_bits, count = 0; unsigned HOST_WIDE_INT const_simdlen; poly_uint64 vec_bits; *************** aarch64_simd_clone_compute_vecsize_and_s *** 27038,27045 **** elt_bits = GET_MODE_BITSIZE (SCALAR_TYPE_MODE (base_type)); if (known_eq (clonei->simdlen, 0U)) { ! count = 2; ! vec_bits = (num == 0 ? 64 : 128); clonei->simdlen = exact_div (vec_bits, elt_bits); } else --- 27102,27118 ---- elt_bits = GET_MODE_BITSIZE (SCALAR_TYPE_MODE (base_type)); if (known_eq (clonei->simdlen, 0U)) { ! /* We don't support simdlen == 1. */ ! if (known_eq (elt_bits, 64)) ! { ! count = 1; ! vec_bits = 128; ! } ! else ! { ! count = 2; ! vec_bits = (num == 0 ? 64 : 128); ! } clonei->simdlen = exact_div (vec_bits, elt_bits); } else *************** aarch64_simd_clone_compute_vecsize_and_s *** 27059,27064 **** --- 27132,27138 ---- return 0; } } + clonei->vecsize_int = vec_bits; clonei->vecsize_float = vec_bits; return count; diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64.h gcc-13.3.0/gcc/config/aarch64/aarch64.h *** gcc-13.2.0/gcc/config/aarch64/aarch64.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64.h Tue May 21 07:47:38 2024 *************** extern enum aarch64_processor aarch64_tu *** 766,771 **** --- 766,774 ---- #ifdef HAVE_POLY_INT_H struct GTY (()) aarch64_frame { + /* The offset from the bottom of the static frame (the bottom of the + outgoing arguments) of each register save slot, or -2 if no save is + needed. */ poly_int64 reg_offset[LAST_SAVED_REGNUM + 1]; /* The number of extra stack bytes taken up by register varargs. *************** struct GTY (()) aarch64_frame *** 774,798 **** STACK_BOUNDARY. */ HOST_WIDE_INT saved_varargs_size; ! /* The size of the callee-save registers with a slot in REG_OFFSET. */ ! poly_int64 saved_regs_size; ! /* The size of the callee-save registers with a slot in REG_OFFSET that ! are saved below the hard frame pointer. */ ! poly_int64 below_hard_fp_saved_regs_size; ! /* Offset from the base of the frame (incomming SP) to the ! top of the locals area. This value is always a multiple of STACK_BOUNDARY. */ ! poly_int64 locals_offset; ! /* Offset from the base of the frame (incomming SP) to the ! hard_frame_pointer. This value is always a multiple of STACK_BOUNDARY. */ ! poly_int64 hard_fp_offset; ! /* The size of the frame. This value is the offset from base of the ! frame (incomming SP) to the stack_pointer. This value is always a multiple of STACK_BOUNDARY. */ poly_int64 frame_size; --- 777,804 ---- STACK_BOUNDARY. */ HOST_WIDE_INT saved_varargs_size; ! /* The number of bytes between the bottom of the static frame (the bottom ! of the outgoing arguments) and the bottom of the register save area. ! This value is always a multiple of STACK_BOUNDARY. */ ! poly_int64 bytes_below_saved_regs; ! /* The number of bytes between the bottom of the static frame (the bottom ! of the outgoing arguments) and the hard frame pointer. This value is ! always a multiple of STACK_BOUNDARY. */ ! poly_int64 bytes_below_hard_fp; ! /* The number of bytes between the top of the locals area and the top ! of the frame (the incomming SP). This value is always a multiple of STACK_BOUNDARY. */ ! poly_int64 bytes_above_locals; ! /* The number of bytes between the hard_frame_pointer and the top of ! the frame (the incomming SP). This value is always a multiple of STACK_BOUNDARY. */ ! poly_int64 bytes_above_hard_fp; ! /* The size of the frame, i.e. the number of bytes between the bottom ! of the outgoing arguments and the incoming SP. This value is always a multiple of STACK_BOUNDARY. */ poly_int64 frame_size; *************** struct GTY (()) aarch64_frame *** 803,812 **** It is zero when no push is used. */ HOST_WIDE_INT callee_adjust; - /* The offset from SP to the callee-save registers after initial_adjust. - It may be non-zero if no push is used (ie. callee_adjust == 0). */ - poly_int64 callee_offset; - /* The size of the stack adjustment before saving or after restoring SVE registers. */ poly_int64 sve_callee_adjust; --- 809,814 ---- *************** struct GTY (()) aarch64_frame *** 854,859 **** --- 856,869 ---- This is the register they should use. */ unsigned spare_pred_reg; + /* An SVE register that is saved below the hard frame pointer and that acts + as a probe for later allocations, or INVALID_REGNUM if none. */ + unsigned sve_save_and_probe; + + /* A register that is saved at the hard frame pointer and that acts + as a probe for later allocations, or INVALID_REGNUM if none. */ + unsigned hard_fp_save_and_probe; + bool laid_out; /* True if shadow call stack should be enabled for the current function. */ diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/aarch64.md gcc-13.3.0/gcc/config/aarch64/aarch64.md *** gcc-13.2.0/gcc/config/aarch64/aarch64.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/aarch64.md Tue May 21 07:47:38 2024 *************** *** 1176,1184 **** { int i; /* Untyped calls always use the default ABI. It's only possible to use ABI variants if we know the type of the target function. */ ! emit_call_insn (gen_call (operands[0], const0_rtx, const0_rtx)); for (i = 0; i < XVECLEN (operands[2], 0); i++) { --- 1176,1202 ---- { int i; + /* Generate a PARALLEL that contains all of the register results. + The offsets are somewhat arbitrary, since we don't know the + actual return type. The main thing we need to avoid is having + overlapping byte ranges, since those might give the impression + that two registers are known to have data in common. */ + rtvec rets = rtvec_alloc (XVECLEN (operands[2], 0)); + poly_int64 offset = 0; + for (i = 0; i < XVECLEN (operands[2], 0); i++) + { + rtx reg = SET_SRC (XVECEXP (operands[2], 0, i)); + gcc_assert (REG_P (reg)); + rtx offset_rtx = gen_int_mode (offset, Pmode); + rtx piece = gen_rtx_EXPR_LIST (VOIDmode, reg, offset_rtx); + RTVEC_ELT (rets, i) = piece; + offset += GET_MODE_SIZE (GET_MODE (reg)); + } + rtx ret = gen_rtx_PARALLEL (VOIDmode, rets); + /* Untyped calls always use the default ABI. It's only possible to use ABI variants if we know the type of the target function. */ ! emit_call_insn (gen_call_value (ret, operands[0], const0_rtx, const0_rtx)); for (i = 0; i < XVECLEN (operands[2], 0); i++) { *************** *** 1649,1655 **** } ) ! (define_insn "aarch64_movmemdi" [(parallel [ (set (match_operand:DI 2 "register_operand" "+&r") (const_int 0)) (clobber (match_operand:DI 0 "register_operand" "+&r")) --- 1667,1688 ---- } ) ! (define_expand "aarch64_movmemdi" ! [(parallel ! [(set (match_operand 2) (const_int 0)) ! (clobber (match_dup 3)) ! (clobber (match_dup 4)) ! (clobber (reg:CC CC_REGNUM)) ! (set (match_operand 0) ! (unspec:BLK [(match_operand 1) (match_dup 2)] UNSPEC_MOVMEM))])] ! "TARGET_MOPS" ! { ! operands[3] = XEXP (operands[0], 0); ! operands[4] = XEXP (operands[1], 0); ! } ! ) ! ! (define_insn "*aarch64_movmemdi" [(parallel [ (set (match_operand:DI 2 "register_operand" "+&r") (const_int 0)) (clobber (match_operand:DI 0 "register_operand" "+&r")) *************** *** 1682,1698 **** && INTVAL (sz_reg) < aarch64_mops_memmove_size_threshold) FAIL; ! rtx addr_dst = XEXP (operands[0], 0); ! rtx addr_src = XEXP (operands[1], 0); ! ! if (!REG_P (sz_reg)) ! sz_reg = force_reg (DImode, sz_reg); ! if (!REG_P (addr_dst)) ! addr_dst = force_reg (DImode, addr_dst); ! if (!REG_P (addr_src)) ! addr_src = force_reg (DImode, addr_src); ! emit_insn (gen_aarch64_movmemdi (addr_dst, addr_src, sz_reg)); ! DONE; } ) --- 1715,1723 ---- && INTVAL (sz_reg) < aarch64_mops_memmove_size_threshold) FAIL; ! if (aarch64_expand_cpymem_mops (operands, true)) ! DONE; ! FAIL; } ) *************** *** 1871,1887 **** [(set_attr "type" "neon_load1_2reg")] ) ! (define_insn "loadwb_pair_" [(parallel [(set (match_operand:P 0 "register_operand" "=k") ! (plus:P (match_operand:P 1 "register_operand" "0") ! (match_operand:P 4 "aarch64_mem_pair_offset" "n"))) ! (set (match_operand:TX 2 "register_operand" "=w") ! (mem:TX (match_dup 1))) ! (set (match_operand:TX 3 "register_operand" "=w") ! (mem:TX (plus:P (match_dup 1) (match_operand:P 5 "const_int_operand" "n"))))])] ! "TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (mode)" "ldp\\t%q2, %q3, [%1], %4" [(set_attr "type" "neon_ldp_q")] ) --- 1896,1913 ---- [(set_attr "type" "neon_load1_2reg")] ) ! (define_insn "loadwb_pair_" [(parallel [(set (match_operand:P 0 "register_operand" "=k") ! (plus:P (match_operand:P 1 "register_operand" "0") ! (match_operand:P 4 "aarch64_mem_pair_offset" "n"))) ! (set (match_operand:TX_V16QI 2 "register_operand" "=w") ! (mem:TX_V16QI (match_dup 1))) ! (set (match_operand:TX_V16QI 3 "register_operand" "=w") ! (mem:TX_V16QI (plus:P (match_dup 1) (match_operand:P 5 "const_int_operand" "n"))))])] ! "TARGET_SIMD ! && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (mode))" "ldp\\t%q2, %q3, [%1], %4" [(set_attr "type" "neon_ldp_q")] ) *************** *** 1920,1939 **** [(set_attr "type" "neon_store1_2reg")] ) ! (define_insn "storewb_pair_" [(parallel [(set (match_operand:P 0 "register_operand" "=&k") ! (plus:P (match_operand:P 1 "register_operand" "0") ! (match_operand:P 4 "aarch64_mem_pair_offset" "n"))) ! (set (mem:TX (plus:P (match_dup 0) (match_dup 4))) ! (match_operand:TX 2 "register_operand" "w")) ! (set (mem:TX (plus:P (match_dup 0) (match_operand:P 5 "const_int_operand" "n"))) ! (match_operand:TX 3 "register_operand" "w"))])] "TARGET_SIMD ! && INTVAL (operands[5]) ! == INTVAL (operands[4]) + GET_MODE_SIZE (mode)" "stp\\t%q2, %q3, [%0, %4]!" [(set_attr "type" "neon_stp_q")] ) --- 1946,1965 ---- [(set_attr "type" "neon_store1_2reg")] ) ! (define_insn "storewb_pair_" [(parallel [(set (match_operand:P 0 "register_operand" "=&k") ! (plus:P (match_operand:P 1 "register_operand" "0") ! (match_operand:P 4 "aarch64_mem_pair_offset" "n"))) ! (set (mem:TX_V16QI (plus:P (match_dup 0) (match_dup 4))) ! (match_operand:TX_V16QI 2 "register_operand" "w")) ! (set (mem:TX_V16QI (plus:P (match_dup 0) (match_operand:P 5 "const_int_operand" "n"))) ! (match_operand:TX_V16QI 3 "register_operand" "w"))])] "TARGET_SIMD ! && known_eq (INTVAL (operands[5]), ! INTVAL (operands[4]) + GET_MODE_SIZE (mode))" "stp\\t%q2, %q3, [%0, %4]!" [(set_attr "type" "neon_stp_q")] ) diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/iterators.md gcc-13.3.0/gcc/config/aarch64/iterators.md *** gcc-13.2.0/gcc/config/aarch64/iterators.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/aarch64/iterators.md Tue May 21 07:47:38 2024 *************** *** 313,318 **** --- 313,321 ---- (define_mode_iterator TX [TI TF TD]) + ;; TX plus V16QImode. + (define_mode_iterator TX_V16QI [TI TF TD V16QI]) + (define_mode_iterator VTX [TI TF TD V16QI V8HI V4SI V2DI V8HF V4SF V2DF V8BF]) ;; Advanced SIMD opaque structure modes. diff -Nrcpad gcc-13.2.0/gcc/config/aarch64/t-aarch64-rtems gcc-13.3.0/gcc/config/aarch64/t-aarch64-rtems *** gcc-13.2.0/gcc/config/aarch64/t-aarch64-rtems Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/config/aarch64/t-aarch64-rtems Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,42 ---- + # Multilibs for aarch64 RTEMS targets. + # + # Copyright (C) 2024 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 + # . + + MULTILIB_OPTIONS = + MULTILIB_DIRNAMES = + MULTILIB_REQUIRED = + + MULTILIB_OPTIONS += mabi=ilp32 + MULTILIB_DIRNAMES += ilp32 + + MULTILIB_OPTIONS += mno-outline-atomics + MULTILIB_DIRNAMES += nooa + + MULTILIB_OPTIONS += mcpu=cortex-a53 + MULTILIB_DIRNAMES += a53 + + MULTILIB_OPTIONS += mfix-cortex-a53-835769 + MULTILIB_DIRNAMES += fix835769 + + MULTILIB_OPTIONS += mfix-cortex-a53-843419 + MULTILIB_DIRNAMES += fix843419 + + MULTILIB_REQUIRED += mabi=ilp32 + MULTILIB_REQUIRED += mabi=ilp32/mno-outline-atomics/mcpu=cortex-a53/mfix-cortex-a53-835769/mfix-cortex-a53-843419 + MULTILIB_REQUIRED += mno-outline-atomics/mcpu=cortex-a53/mfix-cortex-a53-835769/mfix-cortex-a53-843419 diff -Nrcpad gcc-13.2.0/gcc/config/alpha/alpha.cc gcc-13.3.0/gcc/config/alpha/alpha.cc *** gcc-13.2.0/gcc/config/alpha/alpha.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/alpha/alpha.cc Tue May 21 07:47:38 2024 *************** alpha_setup_incoming_varargs (cumulative *** 6089,6095 **** { CUMULATIVE_ARGS cum = *get_cumulative_args (pcum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) /* Skip the current argument. */ targetm.calls.function_arg_advance (pack_cumulative_args (&cum), arg); --- 6089,6096 ---- { CUMULATIVE_ARGS cum = *get_cumulative_args (pcum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) /* Skip the current argument. */ targetm.calls.function_arg_advance (pack_cumulative_args (&cum), arg); diff -Nrcpad gcc-13.2.0/gcc/config/arc/arc.cc gcc-13.3.0/gcc/config/arc/arc.cc *** gcc-13.2.0/gcc/config/arc/arc.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/arc/arc.cc Tue May 21 07:47:38 2024 *************** arc_setup_incoming_varargs (cumulative_a *** 2450,2456 **** /* We must treat `__builtin_va_alist' as an anonymous arg. */ next_cum = *get_cumulative_args (args_so_far); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) arc_function_arg_advance (pack_cumulative_args (&next_cum), arg); first_anon_arg = next_cum; --- 2450,2457 ---- /* We must treat `__builtin_va_alist' as an anonymous arg. */ next_cum = *get_cumulative_args (args_so_far); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) arc_function_arg_advance (pack_cumulative_args (&next_cum), arg); first_anon_arg = next_cum; diff -Nrcpad gcc-13.2.0/gcc/config/arm/arm.cc gcc-13.3.0/gcc/config/arm/arm.cc *** gcc-13.2.0/gcc/config/arm/arm.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/arm/arm.cc Tue May 21 07:47:38 2024 *************** cmse_nonsecure_call_inline_register_clea *** 19133,19138 **** --- 19133,19162 ---- end_sequence (); emit_insn_before (seq, insn); + /* The AAPCS requires the callee to widen integral types narrower + than 32 bits to the full width of the register; but when handling + calls to non-secure space, we cannot trust the callee to have + correctly done so. So forcibly re-widen the result here. */ + tree ret_type = TREE_TYPE (fntype); + if ((TREE_CODE (ret_type) == INTEGER_TYPE + || TREE_CODE (ret_type) == ENUMERAL_TYPE + || TREE_CODE (ret_type) == BOOLEAN_TYPE) + && known_lt (GET_MODE_SIZE (TYPE_MODE (ret_type)), 4)) + { + machine_mode ret_mode = TYPE_MODE (ret_type); + rtx extend; + if (TYPE_UNSIGNED (ret_type)) + extend = gen_rtx_ZERO_EXTEND (SImode, + gen_rtx_REG (ret_mode, R0_REGNUM)); + else + extend = gen_rtx_SIGN_EXTEND (SImode, + gen_rtx_REG (ret_mode, R0_REGNUM)); + emit_insn_after (gen_rtx_SET (gen_rtx_REG (SImode, R0_REGNUM), + extend), insn); + + } + + if (TARGET_HAVE_FPCXT_CMSE) { rtx_insn *last, *pop_insn, *after = insn; *************** arm_expand_prologue (void) *** 23575,23580 **** --- 23599,23649 ---- ip_rtx = gen_rtx_REG (SImode, IP_REGNUM); + /* The AAPCS requires the callee to widen integral types narrower + than 32 bits to the full width of the register; but when handling + calls to non-secure space, we cannot trust the callee to have + correctly done so. So forcibly re-widen the result here. */ + if (IS_CMSE_ENTRY (func_type)) + { + function_args_iterator args_iter; + CUMULATIVE_ARGS args_so_far_v; + cumulative_args_t args_so_far; + bool first_param = true; + tree arg_type; + tree fndecl = current_function_decl; + tree fntype = TREE_TYPE (fndecl); + arm_init_cumulative_args (&args_so_far_v, fntype, NULL_RTX, fndecl); + args_so_far = pack_cumulative_args (&args_so_far_v); + FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter) + { + rtx arg_rtx; + + if (VOID_TYPE_P (arg_type)) + break; + + function_arg_info arg (arg_type, /*named=*/true); + if (!first_param) + /* We should advance after processing the argument and pass + the argument we're advancing past. */ + arm_function_arg_advance (args_so_far, arg); + first_param = false; + arg_rtx = arm_function_arg (args_so_far, arg); + gcc_assert (REG_P (arg_rtx)); + if ((TREE_CODE (arg_type) == INTEGER_TYPE + || TREE_CODE (arg_type) == ENUMERAL_TYPE + || TREE_CODE (arg_type) == BOOLEAN_TYPE) + && known_lt (GET_MODE_SIZE (GET_MODE (arg_rtx)), 4)) + { + if (TYPE_UNSIGNED (arg_type)) + emit_set_insn (gen_rtx_REG (SImode, REGNO (arg_rtx)), + gen_rtx_ZERO_EXTEND (SImode, arg_rtx)); + else + emit_set_insn (gen_rtx_REG (SImode, REGNO (arg_rtx)), + gen_rtx_SIGN_EXTEND (SImode, arg_rtx)); + } + } + } + if (IS_STACKALIGN (func_type)) { rtx r0, r1; diff -Nrcpad gcc-13.2.0/gcc/config/arm/neon.md gcc-13.3.0/gcc/config/arm/neon.md *** gcc-13.2.0/gcc/config/arm/neon.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/arm/neon.md Tue May 21 07:47:38 2024 *************** *** 504,514 **** Enabled with -funsafe-math-optimizations -freciprocal-math and disabled for -Os since it increases code size . */ ! (define_expand "div3" [(set (match_operand:VCVTF 0 "s_register_operand") (div:VCVTF (match_operand:VCVTF 1 "s_register_operand") (match_operand:VCVTF 2 "s_register_operand")))] ! "TARGET_NEON && !optimize_size && flag_reciprocal_math" { rtx rec = gen_reg_rtx (mode); --- 504,514 ---- Enabled with -funsafe-math-optimizations -freciprocal-math and disabled for -Os since it increases code size . */ ! (define_expand "div3" [(set (match_operand:VCVTF 0 "s_register_operand") (div:VCVTF (match_operand:VCVTF 1 "s_register_operand") (match_operand:VCVTF 2 "s_register_operand")))] ! "ARM_HAVE_NEON__ARITH && !optimize_size && flag_reciprocal_math" { rtx rec = gen_reg_rtx (mode); diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr-arch.h gcc-13.3.0/gcc/config/avr/avr-arch.h *** gcc-13.2.0/gcc/config/avr/avr-arch.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr-arch.h Tue May 21 07:47:38 2024 *************** typedef struct *** 195,200 **** --- 195,201 ---- extern const avr_arch_t avr_arch_types[]; extern const avr_arch_t *avr_arch; + extern const avr_arch_t *avr_get_parch (const char *mcu); extern const avr_mcu_t avr_mcu_types[]; diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr-c.cc gcc-13.3.0/gcc/config/avr/avr-c.cc *** gcc-13.2.0/gcc/config/avr/avr-c.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr-c.cc Tue May 21 07:47:38 2024 *************** avr_cpu_cpp_builtins (struct cpp_reader *** 307,312 **** --- 307,313 ---- if (AVR_HAVE_ELPMX) cpp_define (pfile, "__AVR_HAVE_ELPMX__"); if (AVR_HAVE_MOVW) cpp_define (pfile, "__AVR_HAVE_MOVW__"); if (AVR_HAVE_LPMX) cpp_define (pfile, "__AVR_HAVE_LPMX__"); + if (AVR_HAVE_ADIW) cpp_define (pfile, "__AVR_HAVE_ADIW__"); if (avr_arch->asm_only) cpp_define (pfile, "__AVR_ASM_ONLY__"); diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr-devices.cc gcc-13.3.0/gcc/config/avr/avr-devices.cc *** gcc-13.2.0/gcc/config/avr/avr-devices.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr-devices.cc Tue May 21 07:47:38 2024 *************** avr_inform_core_architectures (void) *** 153,156 **** --- 153,172 ---- free (archs); } + + /* When MCU names a core arch like "avr5", then return a pointer to the + respective entry in avr_arch_types[]. Otherwise, return NULL. */ + + const avr_arch_t * + avr_get_parch (const char *mcu) + { + for (size_t i = 0; i < ARRAY_SIZE (avr_arch_types); ++i) + { + if (strcmp (mcu, avr_arch_types[i].name) == 0) + return & avr_arch_types[i]; + } + + return NULL; + } + #endif // IN_GEN_AVR_MMCU_TEXI diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr-mcus.def gcc-13.3.0/gcc/config/avr/avr-mcus.def *** gcc-13.2.0/gcc/config/avr/avr-mcus.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr-mcus.def Tue May 21 07:47:38 2024 *************** AVR_MCU ("attiny167", ARCH_AVR35, *** 138,146 **** AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000, 0) /* Enhanced, <= 8K. */ AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000, 0) AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000, 0) --- 138,147 ---- AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000, 0) /* Enhanced, <= 8K. */ AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) + AVR_MCU ("ata5795", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000, 0) ! AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000, 0) AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000, 0) *************** AVR_MCU ("at90pwm3b", ARCH_AVR4, *** 165,177 **** AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000, 0) /* Enhanced, > 8K, <= 64K. */ AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x0, 0x10000, 0) AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000, 0) AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000, 0) - AVR_MCU ("ata5795", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000, 0) AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000, 0) AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000, 0) AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000, 0) --- 166,180 ---- AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000, 0) /* Enhanced, > 8K, <= 64K. */ AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000, 0) ! AVR_MCU ("ata5700m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5700M322__", 0x0200, 0x8000, 0x10000, 0) ! AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x8000, 0x10000, 0) AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000, 0) + AVR_MCU ("ata5787", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5787__", 0x0200, 0x8000, 0xd200, 0) AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000, 0) + AVR_MCU ("ata5835", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5835__", 0x0200, 0x8000, 0xd200, 0) AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000, 0) AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000, 0) AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000, 0) *************** AVR_MCU ("atmega2560", ARCH_AVR6, *** 291,297 **** AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000, 0) AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000, 0) AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000, 0) ! /* Xmega, 16K <= Flash < 64K, RAM <= 64K */ AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800, 0) AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000, 0) --- 294,300 ---- AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000, 0) AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000, 0) AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000, 0) ! /* Xmega, 16K <= Flash <= 64K, RAM <= 64K */ AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800, 0) AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000, 0) *************** AVR_MCU ("atxmega16c4", ARCH_AVRXME *** 306,319 **** AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("avr64da28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA28__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64da32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA32__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64da48", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA48__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64da64", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA64__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64db28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB28__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64db32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB32__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64db48", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB48__", 0x6000, 0x0, 0x8000, 0x10000) ! AVR_MCU ("avr64db64", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB64__", 0x6000, 0x0, 0x8000, 0x10000) /* Xmega, Flash + RAM < 64K, flash visible in RAM address space */ AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000, 0) AVR_MCU ("attiny202", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny202__", 0x3f80, 0x0, 0x800, 0x8000) --- 309,331 ---- AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000, 0) AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000, 0) ! AVR_MCU ("avr64da28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA28__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64da32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA32__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64da48", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA48__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64da64", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DA64__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64db28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB28__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64db32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB32__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64db48", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB48__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64db64", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DB64__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64dd14", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DD14__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64dd20", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DD20__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64dd28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DD28__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64dd32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DD32__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64du28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DU28__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64du32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64DU32__", 0x6000, 0x0, 0x10000, 0) ! AVR_MCU ("avr64ea28", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64EA28__", 0x6800, 0x0, 0x10000, 0) ! AVR_MCU ("avr64ea32", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64EA32__", 0x6800, 0x0, 0x10000, 0) ! AVR_MCU ("avr64ea48", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_AVR64EA48__", 0x6800, 0x0, 0x10000, 0) /* Xmega, Flash + RAM < 64K, flash visible in RAM address space */ AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000, 0) AVR_MCU ("attiny202", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny202__", 0x3f80, 0x0, 0x800, 0x8000) *************** AVR_MCU ("attiny214", ARCH_AVRXME *** 332,337 **** --- 344,350 ---- AVR_MCU ("attiny412", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny412__", 0x3f00, 0x0, 0x1000, 0x8000) AVR_MCU ("attiny414", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny414__", 0x3f00, 0x0, 0x1000, 0x8000) AVR_MCU ("attiny416", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416__", 0x3f00, 0x0, 0x1000, 0x8000) + AVR_MCU ("attiny416auto", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416AUTO__", 0x3f00, 0x0, 0x1000, 0x8000) AVR_MCU ("attiny417", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny417__", 0x3f00, 0x0, 0x1000, 0x8000) AVR_MCU ("attiny814", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny814__", 0x3e00, 0x0, 0x2000, 0x8000) AVR_MCU ("attiny816", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny816__", 0x3e00, 0x0, 0x2000, 0x8000) *************** AVR_MCU ("attiny1617", ARCH_AVRXME *** 342,361 **** AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000, 0x8000) AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000, 0x8000) AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000, 0x8000) AVR_MCU ("atmega808", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega808__", 0x3c00, 0x0, 0x2000, 0x4000) AVR_MCU ("atmega809", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega809__", 0x3c00, 0x0, 0x2000, 0x4000) AVR_MCU ("atmega1608", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1608__", 0x3800, 0x0, 0x4000, 0x4000) AVR_MCU ("atmega1609", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1609__", 0x3800, 0x0, 0x4000, 0x4000) ! AVR_MCU ("atmega3208", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3208__", 0x3800, 0x0, 0x8000, 0x4000) ! AVR_MCU ("atmega3209", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3209__", 0x3800, 0x0, 0x8000, 0x4000) AVR_MCU ("atmega4808", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4808__", 0x2800, 0x0, 0xc000, 0x4000) AVR_MCU ("atmega4809", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4809__", 0x2800, 0x0, 0xc000, 0x4000) AVR_MCU ("avr32da28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA28__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32da32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA32__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32da48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA48__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB28__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB32__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB48__", 0x7000, 0x0, 0x8000, 0x8000) /* Xmega, 64K < Flash <= 128K, RAM <= 64K */ AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000, 0) --- 355,412 ---- AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000, 0x8000) AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000, 0x8000) AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000, 0x8000) + AVR_MCU ("attiny424", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny424__", 0x3e00, 0x0, 0x1000, 0x8000) + AVR_MCU ("attiny426", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny426__", 0x3e00, 0x0, 0x1000, 0x8000) + AVR_MCU ("attiny427", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny427__", 0x3e00, 0x0, 0x1000, 0x8000) + AVR_MCU ("attiny824", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny824__", 0x3c00, 0x0, 0x2000, 0x8000) + AVR_MCU ("attiny826", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny826__", 0x3c00, 0x0, 0x2000, 0x8000) + AVR_MCU ("attiny827", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny827__", 0x3c00, 0x0, 0x2000, 0x8000) + AVR_MCU ("attiny1624", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1624__", 0x3800, 0x0, 0x4000, 0x8000) + AVR_MCU ("attiny1626", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1626__", 0x3800, 0x0, 0x4000, 0x8000) + AVR_MCU ("attiny1627", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1627__", 0x3800, 0x0, 0x4000, 0x8000) + AVR_MCU ("attiny3224", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3224__", 0x3400, 0x0, 0x8000, 0x8000) + AVR_MCU ("attiny3226", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3226__", 0x3400, 0x0, 0x8000, 0x8000) + AVR_MCU ("attiny3227", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3227__", 0x3400, 0x0, 0x8000, 0x8000) AVR_MCU ("atmega808", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega808__", 0x3c00, 0x0, 0x2000, 0x4000) AVR_MCU ("atmega809", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega809__", 0x3c00, 0x0, 0x2000, 0x4000) AVR_MCU ("atmega1608", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1608__", 0x3800, 0x0, 0x4000, 0x4000) AVR_MCU ("atmega1609", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1609__", 0x3800, 0x0, 0x4000, 0x4000) ! AVR_MCU ("atmega3208", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3208__", 0x3000, 0x0, 0x8000, 0x4000) ! AVR_MCU ("atmega3209", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3209__", 0x3000, 0x0, 0x8000, 0x4000) AVR_MCU ("atmega4808", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4808__", 0x2800, 0x0, 0xc000, 0x4000) AVR_MCU ("atmega4809", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4809__", 0x2800, 0x0, 0xc000, 0x4000) + AVR_MCU ("avr16dd14", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DD14__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16dd20", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DD20__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16dd28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DD28__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16dd32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DD32__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16du14", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DU14__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16du20", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DU20__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16du28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DU28__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16du32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16DU32__", 0x7800, 0x0, 0x4000, 0x8000) AVR_MCU ("avr32da28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA28__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32da32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA32__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32da48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DA48__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB28__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB32__", 0x7000, 0x0, 0x8000, 0x8000) AVR_MCU ("avr32db48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DB48__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32dd14", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DD14__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32dd20", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DD20__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32dd28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DD28__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32dd32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DD32__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32du14", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DU14__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32du20", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DU20__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32du28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DU28__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32du32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32DU32__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr16eb14", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EB14__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16eb20", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EB20__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16eb28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EB28__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16eb32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EB32__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16ea28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EA28__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16ea32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EA32__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr16ea48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR16EA48__", 0x7800, 0x0, 0x4000, 0x8000) + AVR_MCU ("avr32ea28", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32EA28__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32ea32", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32EA32__", 0x7000, 0x0, 0x8000, 0x8000) + AVR_MCU ("avr32ea48", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_AVR32EA48__", 0x7000, 0x0, 0x8000, 0x8000) /* Xmega, 64K < Flash <= 128K, RAM <= 64K */ AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000, 0) *************** AVR_MCU ("atxmega64b1", ARCH_AVRXME *** 366,379 **** AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("avr128da28", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA28__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128da32", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA32__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128da48", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA48__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128da64", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA64__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128db28", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB28__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128db32", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB32__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128db48", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB48__", 0x4000, 0x0, 0x8000, 0x20000) ! AVR_MCU ("avr128db64", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB64__", 0x4000, 0x0, 0x8000, 0x20000) /* Xmega, 64K < Flash <= 128K, RAM > 64K */ AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000, 0) --- 417,430 ---- AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000, 0) ! AVR_MCU ("avr128da28", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA28__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128da32", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA32__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128da48", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA48__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128da64", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DA64__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128db28", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB28__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128db32", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB32__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128db48", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB48__", 0x4000, 0x0, 0x20000, 0) ! AVR_MCU ("avr128db64", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_AVR128DB64__", 0x4000, 0x0, 0x20000, 0) /* Xmega, 64K < Flash <= 128K, RAM > 64K */ AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000, 0) *************** AVR_MCU ("attiny4", ARCH_AVRTIN *** 410,415 **** --- 461,468 ---- AVR_MCU ("attiny5", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny5__", 0x0040, 0x0, 0x200, 0) AVR_MCU ("attiny9", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny9__", 0x0040, 0x0, 0x400, 0) AVR_MCU ("attiny10", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny10__", 0x0040, 0x0, 0x400, 0) + AVR_MCU ("attiny102", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny102__", 0x0040, 0x0, 0x400, 0) + AVR_MCU ("attiny104", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny104__", 0x0040, 0x0, 0x400, 0) AVR_MCU ("attiny20", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny20__", 0x0040, 0x0, 0x800, 0) AVR_MCU ("attiny40", ARCH_AVRTINY, AVR_ISA_NONE, "__AVR_ATtiny40__", 0x0040, 0x0, 0x1000, 0) /* Assembler only. */ diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr-protos.h gcc-13.3.0/gcc/config/avr/avr-protos.h *** gcc-13.2.0/gcc/config/avr/avr-protos.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr-protos.h Tue May 21 07:47:38 2024 *************** extern enum reg_class avr_mode_code_base *** 121,126 **** --- 121,127 ---- extern bool avr_regno_mode_code_ok_for_base_p (int, machine_mode, addr_space_t, RTX_CODE, RTX_CODE); extern rtx avr_incoming_return_addr_rtx (void); extern rtx avr_legitimize_reload_address (rtx*, machine_mode, int, int, int, int, rtx (*)(rtx,int)); + extern bool avr_adiw_reg_p (rtx); extern bool avr_mem_flash_p (rtx); extern bool avr_mem_memx_p (rtx); extern bool avr_load_libgcc_p (rtx); diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr.cc gcc-13.3.0/gcc/config/avr/avr.cc *** gcc-13.2.0/gcc/config/avr/avr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr.cc Tue May 21 07:47:38 2024 *************** avr_to_int_mode (rtx x) *** 290,295 **** --- 290,306 ---- : simplify_gen_subreg (int_mode_for_mode (mode).require (), x, mode, 0); } + + /* Return true if hard register REG supports the ADIW and SBIW instructions. */ + + bool + avr_adiw_reg_p (rtx reg) + { + return (AVR_HAVE_ADIW + && test_hard_reg_class (ADDW_REGS, reg)); + } + + namespace { static const pass_data avr_pass_data_recompute_notes = *************** avr_optimize_casesi (rtx_insn *insns[5], *** 644,652 **** emit_insn (gen_add (reg, reg, gen_int_mode (-low_idx, mode))); rtx op0 = reg; rtx op1 = gen_int_mode (num_idx, mode); rtx labelref = copy_rtx (xop[4]); ! emit_jump_insn (gen_cbranch (gen_rtx_fmt_ee (GTU, VOIDmode, op0, op1), ! op0, op1, ! labelref)); seq1 = get_insns(); last1 = get_last_insn(); --- 655,665 ---- emit_insn (gen_add (reg, reg, gen_int_mode (-low_idx, mode))); rtx op0 = reg; rtx op1 = gen_int_mode (num_idx, mode); rtx labelref = copy_rtx (xop[4]); ! rtx xbranch = gen_cbranch (gen_rtx_fmt_ee (GTU, VOIDmode, op0, op1), ! op0, op1, labelref); ! rtx_insn *cbranch = emit_jump_insn (xbranch); ! JUMP_LABEL (cbranch) = xop[4]; ! ++LABEL_NUSES (xop[4]); seq1 = get_insns(); last1 = get_last_insn(); *************** avr_option_override (void) *** 1095,1100 **** --- 1108,1123 ---- flag_omit_frame_pointer = 0; } + /* Disable flag_delete_null_pointer_checks if zero is a valid address. */ + if (targetm.addr_space.zero_address_valid (ADDR_SPACE_GENERIC)) + flag_delete_null_pointer_checks = 0; + + /* PR ipa/92606: Inter-procedural analysis optimizes data across + address-spaces and PROGMEM. As of v14, the PROGMEM part is + still not fixed (and there is still no target hook as proposed + in PR92932). Just disable respective bogus optimization. */ + flag_ipa_icf_variables = 0; + if (flag_pic == 1) warning (OPT_fpic, "%<-fpic%> is not supported"); if (flag_pic == 2) *************** avr_print_operand (FILE *file, rtx x, in *** 3316,3326 **** } else if (CONST_DOUBLE_P (x)) { ! long val; ! if (GET_MODE (x) != SFmode) ! fatal_insn ("internal compiler error. Unknown mode:", x); ! REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), val); ! fprintf (file, "0x%lx", val); } else if (GET_CODE (x) == CONST_STRING) fputs (XSTR (x, 0), file); --- 3339,3358 ---- } else if (CONST_DOUBLE_P (x)) { ! if (GET_MODE (x) == SFmode) ! { ! long val; ! REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), val); ! fprintf (file, "0x%lx", val); ! } ! else if (GET_MODE (x) == DFmode) ! { ! long l[2]; ! REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), l); ! fprintf (file, "0x%lx%08lx", l[1] & 0xffffffff, l[0] & 0xffffffff); ! } ! else ! fatal_insn ("internal compiler error. Unknown mode:", x); } else if (GET_CODE (x) == CONST_STRING) fputs (XSTR (x, 0), file); *************** avr_out_compare (rtx_insn *insn, rtx *xo *** 6264,6270 **** /* Word registers >= R24 can use SBIW/ADIW with 0..63. */ if (i == 0 ! && test_hard_reg_class (ADDW_REGS, reg8)) { int val16 = trunc_int_for_mode (INTVAL (xval), HImode); --- 6296,6302 ---- /* Word registers >= R24 can use SBIW/ADIW with 0..63. */ if (i == 0 ! && avr_adiw_reg_p (reg8)) { int val16 = trunc_int_for_mode (INTVAL (xval), HImode); *************** avr_out_plus_1 (rtx *xop, int *plen, enu *** 8172,8178 **** if (!started && i % 2 == 0 && i + 2 <= n_bytes ! && test_hard_reg_class (ADDW_REGS, reg8)) { rtx xval16 = simplify_gen_subreg (HImode, xval, imode, i); unsigned int val16 = UINTVAL (xval16) & GET_MODE_MASK (HImode); --- 8204,8210 ---- if (!started && i % 2 == 0 && i + 2 <= n_bytes ! && avr_adiw_reg_p (reg8)) { rtx xval16 = simplify_gen_subreg (HImode, xval, imode, i); unsigned int val16 = UINTVAL (xval16) & GET_MODE_MASK (HImode); *************** avr_out_plus_set_ZN (rtx *xop, int *plen *** 8664,8670 **** } if (n_bytes == 2 ! && test_hard_reg_class (ADDW_REGS, xreg) && IN_RANGE (INTVAL (xval), 1, 63)) { // Add 16-bit value in [1..63] to a w register. --- 8696,8702 ---- } if (n_bytes == 2 ! && avr_adiw_reg_p (xreg) && IN_RANGE (INTVAL (xval), 1, 63)) { // Add 16-bit value in [1..63] to a w register. *************** avr_out_plus_set_ZN (rtx *xop, int *plen *** 8691,8697 **** if (i == 0 && n_bytes >= 2 ! && test_hard_reg_class (ADDW_REGS, op[0])) { op[1] = simplify_gen_subreg (HImode, xval, mode, 0); if (IN_RANGE (INTVAL (op[1]), 0, 63)) --- 8723,8729 ---- if (i == 0 && n_bytes >= 2 ! && avr_adiw_reg_p (op[0])) { op[1] = simplify_gen_subreg (HImode, xval, mode, 0); if (IN_RANGE (INTVAL (op[1]), 0, 63)) *************** avr_handle_addr_attribute (tree *node, t *** 10230,10235 **** --- 10262,10271 ---- int flags ATTRIBUTE_UNUSED, bool *no_add) { bool io_p = startswith (IDENTIFIER_POINTER (name), "io"); + HOST_WIDE_INT io_start = avr_arch->sfr_offset; + HOST_WIDE_INT io_end = strcmp (IDENTIFIER_POINTER (name), "io_low") == 0 + ? io_start + 0x1f + : io_start + 0x3f; location_t loc = DECL_SOURCE_LOCATION (*node); if (!VAR_P (*node)) *************** avr_handle_addr_attribute (tree *node, t *** 10253,10264 **** } else if (io_p && (!tree_fits_shwi_p (arg) ! || !(strcmp (IDENTIFIER_POINTER (name), "io_low") == 0 ! ? 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 --- 10289,10298 ---- } else if (io_p && (!tree_fits_shwi_p (arg) ! || ! IN_RANGE (TREE_INT_CST_LOW (arg), io_start, io_end))) { ! warning_at (loc, OPT_Wattributes, "%qE attribute address out of range" ! " 0x%x%s0x%x", name, (int) io_start, "...", (int) io_end); *no_add = true; } else *************** avr_handle_addr_attribute (tree *node, t *** 10284,10289 **** --- 10318,10329 ---- warning_at (loc, OPT_Wattributes, "%qE attribute on non-volatile variable", name); + // Optimizers must not draw any conclusions from "static int addr;" etc. + // because the contents of `addr' are not given by its initializer but + // by the contents at the address as specified by the attribute. + if (VAR_P (*node) && ! *no_add) + TREE_THIS_VOLATILE (*node) = 1; + return NULL_TREE; } *************** avr_eval_addr_attrib (rtx x) *** 10301,10307 **** attr = lookup_attribute ("io", DECL_ATTRIBUTES (decl)); if (!attr || !TREE_VALUE (attr)) attr = lookup_attribute ("io_low", DECL_ATTRIBUTES (decl)); - gcc_assert (attr); } if (!attr || !TREE_VALUE (attr)) attr = lookup_attribute ("address", DECL_ATTRIBUTES (decl)); --- 10341,10346 ---- *************** avr_addr_space_diagnose_usage (addr_spac *** 10378,10383 **** --- 10417,10432 ---- (void) avr_addr_space_supported_p (as, loc); } + /* Implement `TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID. Zero is a valid + address in all address spaces. Even in ADDR_SPACE_FLASH1 etc.., + a zero address is valid and means 0x0000, where RAMPZ is + set to the appropriate segment value. */ + + static bool + avr_addr_space_zero_address_valid (addr_space_t) + { + return true; + } /* Look if DECL shall be placed in program memory space by means of attribute `progmem' or some address-space qualifier. *************** avr_pgm_check_var_decl (tree node) *** 10548,10553 **** --- 10597,10613 ---- static void avr_insert_attributes (tree node, tree *attributes) { + if (VAR_P (node) + && ! TREE_STATIC (node) + && ! DECL_EXTERNAL (node)) + { + const char *names[] = { "io", "io_low", "address", NULL }; + for (const char **p = names; *p; ++p) + if (lookup_attribute (*p, *attributes)) + error ("variable %q+D with attribute %qs must be located in " + "static storage", node, *p); + } + avr_pgm_check_var_decl (node); if (TARGET_MAIN_IS_OS_TASK *************** avr_insert_attributes (tree node, tree * *** 10608,10644 **** /* Track need of __do_clear_bss. */ void ! avr_asm_output_aligned_decl_common (FILE * stream, ! tree decl, ! const char *name, ! unsigned HOST_WIDE_INT size, ! unsigned int align, bool local_p) { - rtx mem = decl == NULL_TREE ? NULL_RTX : DECL_RTL (decl); - rtx symbol; - - if (mem != NULL_RTX && MEM_P (mem) - && SYMBOL_REF_P ((symbol = XEXP (mem, 0))) - && (SYMBOL_REF_FLAGS (symbol) & (SYMBOL_FLAG_IO | SYMBOL_FLAG_ADDRESS))) - { - if (!local_p) - { - fprintf (stream, "\t.globl\t"); - assemble_name (stream, name); - fprintf (stream, "\n"); - } - if (SYMBOL_REF_FLAGS (symbol) & SYMBOL_FLAG_ADDRESS) - { - assemble_name (stream, name); - fprintf (stream, " = %ld\n", - (long) INTVAL (avr_eval_addr_attrib (symbol))); - } - else if (local_p) - error_at (DECL_SOURCE_LOCATION (decl), - "static IO declaration for %q+D needs an address", decl); - return; - } - /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc. There is no need to trigger __do_clear_bss code for them. */ --- 10668,10678 ---- /* Track need of __do_clear_bss. */ void ! avr_asm_output_aligned_decl_common (FILE *stream, tree /* decl */, ! const char *name, ! unsigned HOST_WIDE_INT size, ! unsigned int align, bool local_p) { /* __gnu_lto_slim is just a marker for the linker injected by toplev.cc. There is no need to trigger __do_clear_bss code for them. */ *************** avr_asm_output_aligned_decl_common (FILE *** 10651,10656 **** --- 10685,10693 ---- ASM_OUTPUT_ALIGNED_COMMON (stream, name, size, align); } + + /* Implement `ASM_OUTPUT_ALIGNED_BSS'. */ + void avr_asm_asm_output_aligned_bss (FILE *file, tree decl, const char *name, unsigned HOST_WIDE_INT size, int align, *************** avr_asm_asm_output_aligned_bss (FILE *fi *** 10658,10677 **** (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int)) { ! rtx mem = decl == NULL_TREE ? NULL_RTX : DECL_RTL (decl); ! rtx symbol; ! if (mem != NULL_RTX && MEM_P (mem) ! && SYMBOL_REF_P ((symbol = XEXP (mem, 0))) ! && (SYMBOL_REF_FLAGS (symbol) & (SYMBOL_FLAG_IO | SYMBOL_FLAG_ADDRESS))) ! { ! if (!(SYMBOL_REF_FLAGS (symbol) & SYMBOL_FLAG_ADDRESS)) ! error_at (DECL_SOURCE_LOCATION (decl), ! "IO definition for %q+D needs an address", decl); ! avr_asm_output_aligned_decl_common (file, decl, name, size, align, false); ! } ! else ! default_func (file, decl, name, size, align); } --- 10695,10704 ---- (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int)) { ! if (!startswith (name, "__gnu_lto")) ! avr_need_clear_bss_p = true; ! default_func (file, decl, name, size, align); } *************** avr_output_progmem_section_asm_op (const *** 10710,10715 **** --- 10737,10794 ---- } + /* A noswitch section callback to output symbol definitions for + attributes "io", "io_low" and "address". */ + + static bool + avr_output_addr_attrib (tree decl, const char *name, + unsigned HOST_WIDE_INT /* size */, + unsigned HOST_WIDE_INT /* align */) + { + gcc_assert (DECL_RTL_SET_P (decl)); + + FILE *stream = asm_out_file; + bool local_p = ! DECL_WEAK (decl) && ! TREE_PUBLIC (decl); + rtx symbol, mem = DECL_RTL (decl); + + if (mem != NULL_RTX && MEM_P (mem) + && SYMBOL_REF_P ((symbol = XEXP (mem, 0))) + && (SYMBOL_REF_FLAGS (symbol) & (SYMBOL_FLAG_IO | SYMBOL_FLAG_ADDRESS))) + { + if (! local_p) + { + fprintf (stream, "\t%s\t", DECL_WEAK (decl) ? ".weak" : ".globl"); + assemble_name (stream, name); + fprintf (stream, "\n"); + } + + if (SYMBOL_REF_FLAGS (symbol) & SYMBOL_FLAG_ADDRESS) + { + assemble_name (stream, name); + fprintf (stream, " = %ld\n", + (long) INTVAL (avr_eval_addr_attrib (symbol))); + } + else if (local_p) + { + const char *names[] = { "io", "io_low", "address", NULL }; + for (const char **p = names; *p; ++p) + if (lookup_attribute (*p, DECL_ATTRIBUTES (decl))) + { + error ("static attribute %qs declaration for %q+D needs an " + "address", *p, decl); + break; + } + } + + return true; + } + + gcc_unreachable(); + + return false; + } + + /* Implement `TARGET_ASM_INIT_SECTIONS'. */ static void *************** avr_asm_init_sections (void) *** 10725,10730 **** --- 10804,10810 ---- readonly_data_section->unnamed.callback = avr_output_data_section_asm_op; data_section->unnamed.callback = avr_output_data_section_asm_op; bss_section->unnamed.callback = avr_output_bss_section_asm_op; + tls_comm_section->noswitch.callback = avr_output_addr_attrib; } *************** avr_asm_init_sections (void) *** 10734,10740 **** static void avr_asm_named_section (const char *name, unsigned int flags, tree decl) { ! if (flags & AVR_SECTION_PROGMEM) { addr_space_t as = (flags & AVR_SECTION_PROGMEM) / SECTION_MACH_DEP; const char *old_prefix = ".rodata"; --- 10814,10825 ---- static void avr_asm_named_section (const char *name, unsigned int flags, tree decl) { ! if (flags & AVR_SECTION_PROGMEM ! // Only use section .progmem*.data if there is no attribute section. ! && ! (decl ! && DECL_SECTION_NAME (decl) ! && symtab_node::get (decl) ! && ! symtab_node::get (decl)->implicit_section)) { addr_space_t as = (flags & AVR_SECTION_PROGMEM) / SECTION_MACH_DEP; const char *old_prefix = ".rodata"; *************** avr_section_type_flags (tree decl, const *** 10803,10808 **** --- 10888,10894 ---- flags |= as * SECTION_MACH_DEP; flags &= ~SECTION_WRITE; flags &= ~SECTION_BSS; + flags &= ~SECTION_NOTYPE; } return flags; *************** avr_encode_section_info (tree decl, rtx *** 10901,10915 **** tree io_low_attr = lookup_attribute ("io_low", attr); tree io_attr = lookup_attribute ("io", attr); if (io_low_attr && TREE_VALUE (io_low_attr) && TREE_VALUE (TREE_VALUE (io_low_attr))) ! addr_attr = io_attr; else if (io_attr && TREE_VALUE (io_attr) && TREE_VALUE (TREE_VALUE (io_attr))) addr_attr = io_attr; else ! addr_attr = lookup_attribute ("address", attr); if (io_low_attr || (io_attr && addr_attr && low_io_address_operand --- 10987,11003 ---- tree io_low_attr = lookup_attribute ("io_low", attr); tree io_attr = lookup_attribute ("io", attr); + tree address_attr = lookup_attribute ("address", attr); if (io_low_attr && TREE_VALUE (io_low_attr) && TREE_VALUE (TREE_VALUE (io_low_attr))) ! addr_attr = io_low_attr; else if (io_attr && TREE_VALUE (io_attr) && TREE_VALUE (TREE_VALUE (io_attr))) addr_attr = io_attr; else ! addr_attr = address_attr; ! if (io_low_attr || (io_attr && addr_attr && low_io_address_operand *************** avr_encode_section_info (tree decl, rtx *** 10924,10929 **** --- 11012,11047 ---- don't use the exact value for constant propagation. */ if (addr_attr && !DECL_EXTERNAL (decl)) SYMBOL_REF_FLAGS (sym) |= SYMBOL_FLAG_ADDRESS; + + if (io_attr || io_low_attr || address_attr) + { + if (DECL_INITIAL (decl)) + { + /* Initializers are not yet parsed in TARGET_INSERT_ATTRIBUTES, + hence deny initializers now. The values of symbols with an + address attribute are determined by the attribute, not by + some initializer. */ + + error ("variable %q+D with attribute %qs must not have an " + "initializer", decl, + io_low_attr ? "io_low" : io_attr ? "io" : "address"); + } + else + { + /* PR112952: The only way to output a variable declaration in a + custom manner is by means of a noswitch section callback. + There are only three noswitch sections: comm_section, + lcomm_section and tls_comm_section. And there is no way to + wire a custom noswitch section to a decl. As lcomm_section + is bypassed with -fdata-sections -fno-common, there is no + other way than making use of tls_comm_section. As we are + using that section anyway, also use it in the public case. */ + + DECL_COMMON (decl) = 1; + set_decl_section_name (decl, (const char*) nullptr); + set_decl_tls_model (decl, (tls_model) 2); + } + } } if (AVR_TINY *************** avr_conditional_register_usage (void) *** 13047,13053 **** reg_alloc_order[i] = tiny_reg_alloc_order[i]; } - CLEAR_HARD_REG_SET (reg_class_contents[(int) ADDW_REGS]); CLEAR_HARD_REG_SET (reg_class_contents[(int) NO_LD_REGS]); } } --- 13165,13170 ---- *************** avr_out_cpymem (rtx_insn *insn ATTRIBUTE *** 13778,13784 **** { addr_space_t as = (addr_space_t) INTVAL (op[0]); machine_mode loop_mode = GET_MODE (op[1]); ! bool sbiw_p = test_hard_reg_class (ADDW_REGS, op[1]); rtx xop[3]; if (plen) --- 13895,13901 ---- { addr_space_t as = (addr_space_t) INTVAL (op[0]); machine_mode loop_mode = GET_MODE (op[1]); ! bool sbiw_p = avr_adiw_reg_p (op[1]); rtx xop[3]; if (plen) *************** avr_float_lib_compare_returns_bool (mach *** 15119,15124 **** --- 15236,15244 ---- #undef TARGET_ADDR_SPACE_DIAGNOSE_USAGE #define TARGET_ADDR_SPACE_DIAGNOSE_USAGE avr_addr_space_diagnose_usage + #undef TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID + #define TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID avr_addr_space_zero_address_valid + #undef TARGET_MODE_DEPENDENT_ADDRESS_P #define TARGET_MODE_DEPENDENT_ADDRESS_P avr_mode_dependent_address_p diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr.h gcc-13.3.0/gcc/config/avr/avr.h *** gcc-13.2.0/gcc/config/avr/avr.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr.h Tue May 21 07:47:38 2024 *************** enum *** 65,70 **** --- 65,71 ---- #define AVR_HAVE_JMP_CALL (avr_arch->have_jmp_call && ! AVR_SHORT_CALLS) #define AVR_HAVE_MUL (avr_arch->have_mul) #define AVR_HAVE_MOVW (avr_arch->have_movw_lpmx) + #define AVR_HAVE_ADIW (!AVR_TINY) #define AVR_HAVE_LPM (!AVR_TINY) #define AVR_HAVE_LPMX (avr_arch->have_movw_lpmx) #define AVR_HAVE_ELPM (avr_arch->have_elpm) *************** typedef struct avr_args *** 500,508 **** --- 501,511 ---- extern const char *avr_devicespecs_file (int, const char**); extern const char *avr_double_lib (int, const char**); + extern const char *avr_no_devlib (int, const char**); #define EXTRA_SPEC_FUNCTIONS \ { "double-lib", avr_double_lib }, \ + { "no-devlib", avr_no_devlib }, \ { "device-specs-file", avr_devicespecs_file }, /* Driver self specs has lmited functionality w.r.t. '%s' for dynamic specs. diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr.md gcc-13.3.0/gcc/config/avr/avr.md *** gcc-13.2.0/gcc/config/avr/avr.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr.md Tue May 21 07:47:38 2024 *************** *** 176,185 **** ;; lpm : ISA has no LPMX lpmx : ISA has LPMX ;; elpm : ISA has ELPM but no ELPMX elpmx : ISA has ELPMX ;; no_xmega: non-XMEGA core xmega : XMEGA core ! ;; no_tiny: non-TINY core tiny : TINY core (define_attr "isa" ! "mov,movw, rjmp,jmp, ijmp,eijmp, lpm,lpmx, elpm,elpmx, no_xmega,xmega, no_tiny,tiny, standard" (const_string "standard")) --- 176,186 ---- ;; lpm : ISA has no LPMX lpmx : ISA has LPMX ;; elpm : ISA has ELPM but no ELPMX elpmx : ISA has ELPMX ;; no_xmega: non-XMEGA core xmega : XMEGA core ! ;; no_adiw: ISA has no ADIW, SBIW adiw : ISA has ADIW, SBIW (define_attr "isa" ! "mov,movw, rjmp,jmp, ijmp,eijmp, lpm,lpmx, elpm,elpmx, no_xmega,xmega, ! no_adiw,adiw, standard" (const_string "standard")) *************** *** 231,246 **** (match_test "AVR_XMEGA")) (const_int 1) - (and (eq_attr "isa" "tiny") - (match_test "AVR_TINY")) - (const_int 1) - (and (eq_attr "isa" "no_xmega") (match_test "!AVR_XMEGA")) (const_int 1) ! (and (eq_attr "isa" "no_tiny") ! (match_test "!AVR_TINY")) (const_int 1) ] (const_int 0))) --- 232,247 ---- (match_test "AVR_XMEGA")) (const_int 1) (and (eq_attr "isa" "no_xmega") (match_test "!AVR_XMEGA")) (const_int 1) ! (and (eq_attr "isa" "adiw") ! (match_test "AVR_HAVE_ADIW")) ! (const_int 1) ! ! (and (eq_attr "isa" "no_adiw") ! (match_test "!AVR_HAVE_ADIW")) (const_int 1) ] (const_int 0))) *************** *** 1313,1319 **** (use (match_dup 2)) (clobber (match_dup 3)) (clobber (match_dup 4)) ! (clobber (reg:CC REG_CC))])]) (define_insn "*clrmemhi" --- 1314,1322 ---- (use (match_dup 2)) (clobber (match_dup 3)) (clobber (match_dup 4)) ! (clobber (reg:CC REG_CC))])] ! "" ! [(set_attr "isa" "adiw,*")]) (define_insn "*clrmemhi" *************** *** 1328,1334 **** "@ 0:\;st %a0+,__zero_reg__\;sbiw %A1,1\;brne 0b 0:\;st %a0+,__zero_reg__\;subi %A1,1\;sbci %B1,0\;brne 0b" ! [(set_attr "length" "3,4")]) (define_expand "strlenhi" [(set (match_dup 4) --- 1331,1338 ---- "@ 0:\;st %a0+,__zero_reg__\;sbiw %A1,1\;brne 0b 0:\;st %a0+,__zero_reg__\;subi %A1,1\;sbci %B1,0\;brne 0b" ! [(set_attr "length" "3,4") ! (set_attr "isa" "adiw,*")]) (define_expand "strlenhi" [(set (match_dup 4) *************** *** 1615,1621 **** [(parallel [(set (match_dup 0) (plus:ALL2 (match_dup 1) (match_dup 2))) ! (clobber (reg:CC REG_CC))])]) (define_insn "*add3" [(set (match_operand:ALL2 0 "register_operand" "=??r,d,!w ,d") --- 1619,1627 ---- [(parallel [(set (match_dup 0) (plus:ALL2 (match_dup 1) (match_dup 2))) ! (clobber (reg:CC REG_CC))])] ! "" ! [(set_attr "isa" "*,*,adiw,*")]) (define_insn "*add3" [(set (match_operand:ALL2 0 "register_operand" "=??r,d,!w ,d") *************** *** 1627,1632 **** --- 1633,1639 ---- return avr_out_plus (insn, operands); } [(set_attr "length" "2") + (set_attr "isa" "*,*,adiw,*") (set_attr "adjust_len" "plus")]) ;; Adding a constant to NO_LD_REGS might have lead to a reload of *************** *** 2294,2300 **** (const_int 0)) (match_dup 2))) (clobber (match_dup 3)) ! (clobber (reg:CC REG_CC))])]) (define_insn "*addhi3.lt0" [(set (match_operand:HI 0 "register_operand" "=w,r") --- 2301,2309 ---- (const_int 0)) (match_dup 2))) (clobber (match_dup 3)) ! (clobber (reg:CC REG_CC))])] ! "" ! [(set_attr "isa" "adiw,*")]) (define_insn "*addhi3.lt0" [(set (match_operand:HI 0 "register_operand" "=w,r") *************** *** 2307,2313 **** "@ sbrc %1,7\;adiw %0,1 lsl %1\;adc %A0,__zero_reg__\;adc %B0,__zero_reg__" ! [(set_attr "length" "2,3")]) (define_insn_and_split "*addpsi3.lt0_split" [(set (match_operand:PSI 0 "register_operand" "=r") --- 2316,2323 ---- "@ sbrc %1,7\;adiw %0,1 lsl %1\;adc %A0,__zero_reg__\;adc %B0,__zero_reg__" ! [(set_attr "length" "2,3") ! (set_attr "isa" "adiw,*")]) (define_insn_and_split "*addpsi3.lt0_split" [(set (match_operand:PSI 0 "register_operand" "=r") *************** *** 6627,6632 **** --- 6637,6643 ---- return avr_out_compare (insn, operands, NULL); } [(set_attr "length" "2,2,2,3,4,2,4") + (set_attr "isa" "adiw,*,*,*,*,*,*") (set_attr "adjust_len" "tsthi,tsthi,*,*,*,compare,compare")]) (define_insn "*cmppsi" *************** *** 7600,7606 **** { const char *op; int jump_mode; ! if (test_hard_reg_class (ADDW_REGS, operands[0])) output_asm_insn ("sbiw %0,1" CR_TAB "sbc %C0,__zero_reg__" CR_TAB "sbc %D0,__zero_reg__", operands); --- 7611,7617 ---- { const char *op; int jump_mode; ! if (avr_adiw_reg_p (operands[0])) output_asm_insn ("sbiw %0,1" CR_TAB "sbc %C0,__zero_reg__" CR_TAB "sbc %D0,__zero_reg__", operands); *************** *** 7643,7649 **** { const char *op; int jump_mode; ! if (test_hard_reg_class (ADDW_REGS, operands[0])) output_asm_insn ("sbiw %0,1", operands); else output_asm_insn ("subi %A0,1" CR_TAB --- 7654,7660 ---- { const char *op; int jump_mode; ! if (avr_adiw_reg_p (operands[0])) output_asm_insn ("sbiw %0,1", operands); else output_asm_insn ("subi %A0,1" CR_TAB *************** *** 7684,7690 **** { const char *op; int jump_mode; ! if (test_hard_reg_class (ADDW_REGS, operands[0])) output_asm_insn ("sbiw %0,1", operands); else output_asm_insn ("subi %A0,1" CR_TAB --- 7695,7701 ---- { const char *op; int jump_mode; ! if (avr_adiw_reg_p (operands[0])) output_asm_insn ("sbiw %0,1", operands); else output_asm_insn ("subi %A0,1" CR_TAB *************** *** 8058,8064 **** (clobber (match_dup 2)) (clobber (reg:CC REG_CC))])] "" ! [(set_attr "isa" "no_tiny,tiny")]) (define_insn "*delay_cycles_2" [(unspec_volatile [(match_operand:HI 0 "const_int_operand" "n,n") --- 8069,8075 ---- (clobber (match_dup 2)) (clobber (reg:CC REG_CC))])] "" ! [(set_attr "isa" "adiw,no_adiw")]) (define_insn "*delay_cycles_2" [(unspec_volatile [(match_operand:HI 0 "const_int_operand" "n,n") *************** *** 8073,8079 **** ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: sbiw %A2,1\;brne 1b ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: subi %A2,1\;sbci %B2,0\;brne 1b" [(set_attr "length" "4,5") ! (set_attr "isa" "no_tiny,tiny")]) (define_insn_and_split "delay_cycles_3" [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "n") --- 8084,8090 ---- ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: sbiw %A2,1\;brne 1b ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: subi %A2,1\;sbci %B2,0\;brne 1b" [(set_attr "length" "4,5") ! (set_attr "isa" "adiw,no_adiw")]) (define_insn_and_split "delay_cycles_3" [(unspec_volatile [(match_operand:SI 0 "const_int_operand" "n") diff -Nrcpad gcc-13.2.0/gcc/config/avr/avr.opt gcc-13.3.0/gcc/config/avr/avr.opt *** gcc-13.2.0/gcc/config/avr/avr.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/avr.opt Tue May 21 07:47:38 2024 *************** Target RejectNegative Joined Var(avr_mmc *** 27,33 **** -mmcu=MCU Select the target MCU. mgas-isr-prologues ! Target Var(avr_gasisr_prologues) UInteger Init(0) Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues. mn-flash= --- 27,33 ---- -mmcu=MCU Select the target MCU. mgas-isr-prologues ! Target Var(avr_gasisr_prologues) UInteger Init(0) Optimization Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues. mn-flash= *************** Target RejectNegative Mask(NO_INTERRUPTS *** 61,71 **** Change the stack pointer without disabling interrupts. mbranch-cost= ! Target Joined RejectNegative UInteger Var(avr_branch_cost) Init(0) Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0. mmain-is-OS_task ! Target Mask(MAIN_IS_OS_TASK) Treat main as if it had attribute OS_task. morder1 --- 61,71 ---- Change the stack pointer without disabling interrupts. mbranch-cost= ! Target Joined RejectNegative UInteger Var(avr_branch_cost) Init(0) Optimization Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0. mmain-is-OS_task ! Target Mask(MAIN_IS_OS_TASK) Optimization Treat main as if it had attribute OS_task. morder1 *************** Target Mask(ABSDATA) *** 116,126 **** Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices. mdouble= ! Target Joined RejectNegative Var(avr_double) Init(0) Enum(avr_bits_e) -mdouble= Use bits wide double type. mlong-double= ! Target Joined RejectNegative Var(avr_long_double) Init(0) Enum(avr_bits_e) -mlong-double= Use bits wide long double type. nodevicelib --- 116,126 ---- Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices. mdouble= ! Target Joined RejectNegative Var(avr_double) Init(0) Enum(avr_bits_e) Save -mdouble= Use bits wide double type. mlong-double= ! Target Joined RejectNegative Var(avr_long_double) Init(0) Enum(avr_bits_e) Save -mlong-double= Use bits wide long double type. nodevicelib diff -Nrcpad gcc-13.2.0/gcc/config/avr/driver-avr.cc gcc-13.3.0/gcc/config/avr/driver-avr.cc *** gcc-13.2.0/gcc/config/avr/driver-avr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/avr/driver-avr.cc Tue May 21 07:47:38 2024 *************** avr_devicespecs_file (int argc, const ch *** 103,111 **** } return concat ("%{!nodevicespecs:-specs=device-specs", dir_separator_str, ! "specs-", mmcu, "%s} %dev_attribute & AVR_ISA_RCALL); bool is_arch = mcu->macro == NULL; bool is_device = ! is_arch; ! int flash_pm_offset = 0; if (arch->flash_pm_offset && mcu->flash_pm_offset && mcu->flash_pm_offset != arch->flash_pm_offset) { ! flash_pm_offset = mcu->flash_pm_offset; } if (is_arch --- 132,152 ---- bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL); bool is_arch = mcu->macro == NULL; bool is_device = ! is_arch; ! int rodata_pm_offset = 0; ! int pm_base_address = 0; if (arch->flash_pm_offset && mcu->flash_pm_offset && mcu->flash_pm_offset != arch->flash_pm_offset) { ! rodata_pm_offset = mcu->flash_pm_offset; ! } ! ! if (arch->flash_pm_offset) ! { ! pm_base_address = mcu->flash_pm_offset ! ? mcu->flash_pm_offset ! : arch->flash_pm_offset; } if (is_arch *************** print_mcu (const avr_mcu_t *mcu) *** 255,262 **** fprintf (f, "*link_arch:\n\t%s", LINK_ARCH_SPEC); if (is_device ! && flash_pm_offset) ! fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); fprintf (f, "\n\n"); if (is_device) --- 263,270 ---- fprintf (f, "*link_arch:\n\t%s", LINK_ARCH_SPEC); if (is_device ! && rodata_pm_offset) ! fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", rodata_pm_offset); fprintf (f, "\n\n"); if (is_device) *************** print_mcu (const avr_mcu_t *mcu) *** 293,302 **** fprintf (f, "*cpp_mcu:\n"); fprintf (f, "\t-D%s", mcu->macro); ! if (flash_pm_offset) { fprintf (f, " -U__AVR_PM_BASE_ADDRESS__"); ! fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", flash_pm_offset); } fprintf (f, "\n\n"); --- 301,310 ---- fprintf (f, "*cpp_mcu:\n"); fprintf (f, "\t-D%s", mcu->macro); ! if (pm_base_address) { fprintf (f, " -U__AVR_PM_BASE_ADDRESS__"); ! fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", pm_base_address); } fprintf (f, "\n\n"); diff -Nrcpad gcc-13.2.0/gcc/config/csky/csky.cc gcc-13.3.0/gcc/config/csky/csky.cc *** gcc-13.2.0/gcc/config/csky/csky.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/csky/csky.cc Tue May 21 07:47:38 2024 *************** csky_setup_incoming_varargs (cumulative_ *** 2091,2097 **** cfun->machine->uses_anonymous_args = 1; local_cum = *pcum; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) csky_function_arg_advance (local_cum_v, arg); regs_to_push = CSKY_NPARM_REGS - local_cum.reg; if (regs_to_push) --- 2091,2098 ---- cfun->machine->uses_anonymous_args = 1; local_cum = *pcum; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) csky_function_arg_advance (local_cum_v, arg); regs_to_push = CSKY_NPARM_REGS - local_cum.reg; if (regs_to_push) diff -Nrcpad gcc-13.2.0/gcc/config/darwin-protos.h gcc-13.3.0/gcc/config/darwin-protos.h *** gcc-13.2.0/gcc/config/darwin-protos.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/darwin-protos.h Tue May 21 07:47:38 2024 *************** extern void darwin_patch_builtins (void) *** 129,132 **** --- 129,143 ---- extern void darwin_rename_builtins (void); extern bool darwin_libc_has_function (enum function_class fn_class, tree); + /* For this port, there are several possible sources for external toolchain + components (e.g. as, ld, dsymutil) and we have to alter the allowable + output in response to which version and source is in use. */ + enum darwin_external_toolchain { + DET_UNKNOWN=0, + CCTOOLS, + DWARFUTILS, + LLVM, + CLANG + }; + #endif /* CONFIG_DARWIN_PROTOS_H */ diff -Nrcpad gcc-13.2.0/gcc/config/darwin-sections.def gcc-13.3.0/gcc/config/darwin-sections.def *** gcc-13.2.0/gcc/config/darwin-sections.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/darwin-sections.def Tue May 21 07:47:38 2024 *************** DEF_SECTION (mod_init_section, 0, ".mod_ *** 98,103 **** --- 98,105 ---- DEF_SECTION (mod_term_section, 0, ".mod_term_func", 0) DEF_SECTION (constructor_section, 0, ".constructor", 0) DEF_SECTION (destructor_section, 0, ".destructor", 0) + DEF_SECTION (static_init_section, SECTION_CODE, + ".section\t__TEXT,__StaticInit,regular,pure_instructions", 0) /* Objective-C ABI=0 (Original version) sections. */ DEF_SECTION (objc_class_section, 0, ".objc_class", 1) *************** DEF_SECTION (machopic_picsymbol_stub3_se *** 157,163 **** /* Exception-related. */ DEF_SECTION (darwin_exception_section, SECTION_NO_ANCHOR, ! ".section __DATA,__gcc_except_tab", 0) DEF_SECTION (darwin_eh_frame_section, SECTION_NO_ANCHOR, ".section " EH_FRAME_SECTION_NAME ",__eh_frame" EH_FRAME_SECTION_ATTR, 0) --- 159,165 ---- /* Exception-related. */ DEF_SECTION (darwin_exception_section, SECTION_NO_ANCHOR, ! ".section __TEXT,__gcc_except_tab", 0) DEF_SECTION (darwin_eh_frame_section, SECTION_NO_ANCHOR, ".section " EH_FRAME_SECTION_NAME ",__eh_frame" EH_FRAME_SECTION_ATTR, 0) diff -Nrcpad gcc-13.2.0/gcc/config/darwin.cc gcc-13.3.0/gcc/config/darwin.cc *** gcc-13.2.0/gcc/config/darwin.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/darwin.cc Tue May 21 07:47:38 2024 *************** static bool ld_needs_eh_markers = false; *** 114,119 **** --- 114,132 ---- /* Emit a section-start symbol for mod init and term sections. */ static bool ld_init_term_start_labels = false; + /* The source and version of dsymutil in use. */ + #ifndef DSYMUTIL_VERSION + # warning Darwin toolchain without a defined dsymutil. + # define DSYMUTIL_VERSION DET_UNKNOWN,0,0,0 + #endif + + struct { + darwin_external_toolchain kind; /* cctools, llvm, clang etc. */ + int major; /* version number. */ + int minor; + int tiny; + } dsymutil_version = {DSYMUTIL_VERSION}; + /* Section names. */ section * darwin_sections[NUM_DARWIN_SECTIONS]; *************** darwin_objc1_section (tree decl ATTRIBUT *** 1586,1592 **** else if (startswith (p, "V1_CEXT")) return darwin_sections[objc1_class_ext_section]; ! else if (startswith (p, "V2_CSTR")) return darwin_sections[objc_constant_string_object_section]; return base; --- 1599,1605 ---- else if (startswith (p, "V1_CEXT")) return darwin_sections[objc1_class_ext_section]; ! else if (startswith (p, "V1_CSTR")) return darwin_sections[objc_constant_string_object_section]; return base; *************** machopic_select_section (tree decl, *** 1679,1685 **** base_section = darwin_sections[zobj_data_section]; } else if (ro) ! base_section = darwin_sections[const_data_section]; else base_section = data_section; break; --- 1692,1707 ---- base_section = darwin_sections[zobj_data_section]; } else if (ro) ! { ! if (VAR_P (decl) && TREE_TYPE (decl) ! && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE ! && DECL_NAME (decl) ! && strncmp (IDENTIFIER_POINTER (DECL_NAME (decl)), ! "__anon_cfstring", 15) == 0) ! base_section = darwin_sections[cfstring_constant_object_section]; ! else ! base_section = darwin_sections[const_data_section]; ! } else base_section = data_section; break; *************** machopic_select_section (tree decl, *** 1721,1727 **** return base_section; /* GNU runtime is happy with it all in one pot. */ } ! /* b) Constant string objects. */ if (TREE_CODE (decl) == CONSTRUCTOR && TREE_TYPE (decl) && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE --- 1743,1749 ---- return base_section; /* GNU runtime is happy with it all in one pot. */ } ! /* b) Constructors for constant NSstring [but not CFString] objects. */ if (TREE_CODE (decl) == CONSTRUCTOR && TREE_TYPE (decl) && TREE_CODE (TREE_TYPE (decl)) == RECORD_TYPE *************** machopic_select_section (tree decl, *** 1744,1750 **** return darwin_sections[objc_string_object_section]; } else if (!strcmp (IDENTIFIER_POINTER (name), "__builtin_CFString")) ! return darwin_sections[cfstring_constant_object_section]; else return base_section; } --- 1766,1776 ---- return darwin_sections[objc_string_object_section]; } else if (!strcmp (IDENTIFIER_POINTER (name), "__builtin_CFString")) ! { ! /* We should have handled __anon_cfstrings above. */ ! gcc_checking_assert (0); ! return darwin_sections[cfstring_constant_object_section]; ! } else return base_section; } *************** darwin_emit_except_table_label (FILE *fi *** 2232,2237 **** --- 2258,2264 ---- { char section_start_label[30]; + fputs ("\t.p2align\t2\n", file); ASM_GENERATE_INTERNAL_LABEL (section_start_label, "GCC_except_table", except_table_label_num++); ASM_OUTPUT_LABEL (file, section_start_label); *************** darwin_asm_output_dwarf_offset (FILE *fi *** 3020,3026 **** void darwin_file_start (void) { ! /* Nothing to do. */ } /* Called for the TARGET_ASM_FILE_END hook. --- 3047,3081 ---- void darwin_file_start (void) { ! #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION ! /* This should not happen with a well-formed command line, but the user could ! invoke cc1* directly without it. */ ! if (!darwin_macosx_version_min) ! return; ! /* This assumes that the version passed has been validated in the driver. */ ! unsigned maj, min, tiny; ! int count = sscanf (darwin_macosx_version_min, "%u.%u.%u", &maj, &min, &tiny); ! if (count < 0) ! return; ! if (count < 3) ! tiny = 0; ! if (count < 2) ! min = 0; ! const char *directive; ! #ifdef HAVE_AS_MACOS_BUILD_VERSION ! /* We only handle macos, so far. */ ! if (generating_for_darwin_version >= 18) ! directive = "build_version macos, "; ! else ! #endif ! directive = "macosx_version_min "; ! if (count > 2 && tiny != 0) ! fprintf (asm_out_file, "\t.%s %u, %u, %u\n", directive, maj, min, tiny); ! else if (count > 1) ! fprintf (asm_out_file, "\t.%s %u, %u\n", directive, maj, min); ! else ! fprintf (asm_out_file, "\t.%s %u, 0\n", directive, maj); ! #endif } /* Called for the TARGET_ASM_FILE_END hook. *************** darwin_override_options (void) *** 3242,3248 **** /* Keep track of which (major) version we're generating code for. */ if (darwin_macosx_version_min) { ! if (strverscmp (darwin_macosx_version_min, "10.7") >= 0) generating_for_darwin_version = 11; else if (strverscmp (darwin_macosx_version_min, "10.6") >= 0) generating_for_darwin_version = 10; --- 3297,3307 ---- /* Keep track of which (major) version we're generating code for. */ if (darwin_macosx_version_min) { ! if (strverscmp (darwin_macosx_version_min, "10.14") >= 0) ! generating_for_darwin_version = 18; ! else if (strverscmp (darwin_macosx_version_min, "10.8") >= 0) ! generating_for_darwin_version = 12; ! else if (strverscmp (darwin_macosx_version_min, "10.7") >= 0) generating_for_darwin_version = 11; else if (strverscmp (darwin_macosx_version_min, "10.6") >= 0) generating_for_darwin_version = 10; *************** darwin_override_options (void) *** 3317,3330 **** global_options.x_flag_objc_abi); } ! /* Don't emit DWARF3/4 unless specifically selected. This is a ! workaround for tool bugs. */ ! if (!OPTION_SET_P (dwarf_strict)) ! dwarf_strict = 1; if (!OPTION_SET_P (dwarf_version)) ! dwarf_version = 2; ! if (OPTION_SET_P (dwarf_split_debug_info)) { inform (input_location, "%<-gsplit-dwarf%> is not supported on this platform, ignored"); --- 3376,3397 ---- global_options.x_flag_objc_abi); } ! if (!OPTION_SET_P (dwarf_version)) ! { ! /* External toolchains based on LLVM or clang 7+ have support for ! dwarf-4. */ ! if ((dsymutil_version.kind == LLVM && dsymutil_version.major >= 7) ! || (dsymutil_version.kind == CLANG && dsymutil_version.major >= 700)) ! dwarf_version = 4; ! else if (dsymutil_version.kind == DWARFUTILS ! && dsymutil_version.major >= 121) ! dwarf_version = 3; /* From XC 6.4. */ ! else ! dwarf_version = 2; /* Older cannot safely exceed dwarf-2. */ ! } ! if (OPTION_SET_P (dwarf_split_debug_info) && dwarf_split_debug_info) { inform (input_location, "%<-gsplit-dwarf%> is not supported on this platform, ignored"); *************** darwin_override_options (void) *** 3332,3337 **** --- 3399,3422 ---- OPTION_SET_P (dwarf_split_debug_info) = 0; } + /* Cases where dsymutil will exclude files with .macinfo sections; we are + better off forcing the debug level to 2 than completely excluding the + files. If strict dwarf is set, then emit the macinfo anyway. */ + if (debug_info_level == DINFO_LEVEL_VERBOSE + && (!OPTION_SET_P (dwarf_strict) || dwarf_strict == 0) + && ((dsymutil_version.kind == CLANG && dsymutil_version.major >= 1500) + || (dsymutil_version.kind == LLVM && dsymutil_version.major >= 15))) + { + inform (input_location, + "%<-g3%> is not supported by the debug linker in use (set to 2)"); + debug_info_level = DINFO_LEVEL_NORMAL; + } + + /* Limit DWARF to the chosen version, the linker and debug linker might not + be able to consume newer structures. */ + if (!OPTION_SET_P (dwarf_strict)) + dwarf_strict = 1; + /* Do not allow unwind tables to be generated by default for m32. fnon-call-exceptions will override this, regardless of what we do. */ if (generating_for_darwin_version < 10 *************** darwin_override_options (void) *** 3400,3407 **** && dwarf_debuginfo_p ()) flag_var_tracking_uninit = flag_var_tracking; ! /* Final check on PCI options; for Darwin these are not dependent on the PIE ! ones, although PIE does require PIC to support it. */ if (MACHO_DYNAMIC_NO_PIC_P) { if (flag_pic) --- 3485,3501 ---- && dwarf_debuginfo_p ()) flag_var_tracking_uninit = flag_var_tracking; ! if (OPTION_SET_P (flag_pie) && flag_pie) ! { ! /* This is a little complicated, to match Xcode tools. ! For Darwin, PIE requires PIC codegen, but otherwise is only a link- ! time change. For almost all Darwin, we do not report __PIE__; the ! exception is Darwin12-17 and for 32b only. */ ! flag_pie = generating_for_darwin_version >= 12 && !TARGET_64BIT ? 2 : 0; ! flag_pic = 2; /* We always set this. */ ! } ! ! /* Final check on PIC options. */ if (MACHO_DYNAMIC_NO_PIC_P) { if (flag_pic) *************** darwin_patch_builtins (void) *** 3506,3511 **** --- 3600,3628 ---- } #endif + void + darwin_rename_builtins (void) + { + } + + /* Implementation for the TARGET_LIBC_HAS_FUNCTION hook. */ + + bool + darwin_libc_has_function (enum function_class fn_class, + tree type ATTRIBUTE_UNUSED) + { + if (fn_class == function_sincos && darwin_macosx_version_min) + return (strverscmp (darwin_macosx_version_min, "10.9") >= 0); + #if DARWIN_PPC && SUPPORT_DARWIN_LEGACY + if (fn_class == function_c99_math_complex + || fn_class == function_c99_misc) + return (TARGET_64BIT + || (darwin_macosx_version_min && + strverscmp (darwin_macosx_version_min, "10.3") >= 0)); + #endif + return default_libc_has_function (fn_class, type); + } + /* CFStrings implementation. */ static GTY(()) tree cfstring_class_reference = NULL_TREE; static GTY(()) tree cfstring_type_node = NULL_TREE; *************** typedef struct GTY ((for_user)) cfstring *** 3523,3529 **** /* The string literal. */ tree literal; /* The resulting constant CFString. */ ! tree constructor; } cfstring_descriptor; struct cfstring_hasher : ggc_ptr_hash --- 3640,3646 ---- /* The string literal. */ tree literal; /* The resulting constant CFString. */ ! tree ccf_str; } cfstring_descriptor; struct cfstring_hasher : ggc_ptr_hash *************** darwin_init_cfstring_builtins (unsigned *** 3598,3604 **** /* Make a lang-specific section - dup_lang_specific_decl makes a new node in place of the existing, which may be NULL. */ DECL_LANG_SPECIFIC (cfsfun) = NULL; ! (*lang_hooks.dup_lang_specific_decl) (cfsfun); set_decl_built_in_function (cfsfun, BUILT_IN_MD, darwin_builtin_cfstring); lang_hooks.builtin_function (cfsfun); --- 3715,3721 ---- /* Make a lang-specific section - dup_lang_specific_decl makes a new node in place of the existing, which may be NULL. */ DECL_LANG_SPECIFIC (cfsfun) = NULL; ! lang_hooks.dup_lang_specific_decl (cfsfun); set_decl_built_in_function (cfsfun, BUILT_IN_MD, darwin_builtin_cfstring); lang_hooks.builtin_function (cfsfun); *************** darwin_init_cfstring_builtins (unsigned *** 3609,3615 **** TREE_PUBLIC (cfstring_class_reference) = 1; DECL_ARTIFICIAL (cfstring_class_reference) = 1; ! (*lang_hooks.decls.pushdecl) (cfstring_class_reference); DECL_EXTERNAL (cfstring_class_reference) = 1; rest_of_decl_compilation (cfstring_class_reference, 0, 0); --- 3726,3732 ---- TREE_PUBLIC (cfstring_class_reference) = 1; DECL_ARTIFICIAL (cfstring_class_reference) = 1; ! lang_hooks.decls.pushdecl (cfstring_class_reference); DECL_EXTERNAL (cfstring_class_reference) = 1; rest_of_decl_compilation (cfstring_class_reference, 0, 0); *************** darwin_fold_builtin (tree fndecl, int n_ *** 3646,3674 **** return NULL_TREE; } - void - darwin_rename_builtins (void) - { - } - - /* Implementation for the TARGET_LIBC_HAS_FUNCTION hook. */ - - bool - darwin_libc_has_function (enum function_class fn_class, - tree type ATTRIBUTE_UNUSED) - { - if (fn_class == function_sincos && darwin_macosx_version_min) - return (strverscmp (darwin_macosx_version_min, "10.9") >= 0); - #if DARWIN_PPC && SUPPORT_DARWIN_LEGACY - if (fn_class == function_c99_math_complex - || fn_class == function_c99_misc) - return (TARGET_64BIT - || (darwin_macosx_version_min && - strverscmp (darwin_macosx_version_min, "10.3") >= 0)); - #endif - return default_libc_has_function (fn_class, type); - } - hashval_t cfstring_hasher::hash (cfstring_descriptor *ptr) { --- 3763,3768 ---- *************** darwin_build_constant_cfstring (tree str *** 3766,3794 **** build_int_cst (TREE_TYPE (field), length)); constructor = build_constructor (ccfstring_type_node, v); ! TREE_READONLY (constructor) = 1; ! TREE_CONSTANT (constructor) = 1; ! TREE_STATIC (constructor) = 1; ! /* Fromage: The C++ flavor of 'build_unary_op' expects constructor nodes ! to have the TREE_HAS_CONSTRUCTOR (...) bit set. However, this file is ! being built without any knowledge of C++ tree accessors; hence, we shall ! use the generic accessor that TREE_HAS_CONSTRUCTOR actually maps to! */ if (darwin_running_cxx) TREE_LANG_FLAG_4 (constructor) = 1; /* TREE_HAS_CONSTRUCTOR */ /* Create an anonymous global variable for this CFString. */ ! var = build_decl (input_location, CONST_DECL, NULL, TREE_TYPE (constructor)); ! DECL_ARTIFICIAL (var) = 1; ! TREE_STATIC (var) = 1; DECL_INITIAL (var) = constructor; ! /* FIXME: This should use a translation_unit_decl to indicate file scope. */ DECL_CONTEXT (var) = NULL_TREE; ! desc->constructor = var; } ! addr = build1 (ADDR_EXPR, pccfstring_type_node, desc->constructor); TREE_CONSTANT (addr) = 1; return addr; --- 3860,3896 ---- build_int_cst (TREE_TYPE (field), length)); constructor = build_constructor (ccfstring_type_node, v); ! TREE_READONLY (constructor) = true; ! TREE_CONSTANT (constructor) = true; ! TREE_STATIC (constructor) = true; ! /* This file is being built without any knowledge of C++ tree accessors; ! hence, we shall use the generic accessor to set TREE_HAS_CONSTRUCTOR. ! ??? Is this actually used any more? */ if (darwin_running_cxx) TREE_LANG_FLAG_4 (constructor) = 1; /* TREE_HAS_CONSTRUCTOR */ /* Create an anonymous global variable for this CFString. */ ! var = build_decl (input_location, VAR_DECL, NULL, TREE_TYPE (constructor)); ! char *name = xasprintf ("__anon_cfstring.%u", DECL_UID (var)); ! DECL_NAME (var) = get_identifier (name); ! free (name); ! DECL_ARTIFICIAL (var) = true; ! TREE_STATIC (var) = true; ! TREE_READONLY (var) = true; ! TREE_CONSTANT (var) = true; DECL_INITIAL (var) = constructor; ! /* global namespace. */ DECL_CONTEXT (var) = NULL_TREE; ! DECL_INITIAL (var) = constructor; ! DECL_USER_ALIGN (var) = 1; ! lang_hooks.decls.pushdecl (var); ! rest_of_decl_compilation (var, 1, 0); ! desc->ccf_str = var; } ! addr = build1 (ADDR_EXPR, pccfstring_type_node, desc->ccf_str); TREE_CONSTANT (addr) = 1; return addr; *************** darwin_function_section (tree decl, enum *** 3853,3863 **** if (decl && DECL_SECTION_NAME (decl) != NULL) return get_named_section (decl, NULL, 0); ! /* We always put unlikely executed stuff in the cold section. */ if (freq == NODE_FREQUENCY_UNLIKELY_EXECUTED) return (use_coal) ? darwin_sections[text_cold_coal_section] : darwin_sections[text_cold_section]; /* If we have LTO *and* feedback information, then let LTO handle the function ordering, it makes a better job (for normal, hot, startup and exit - hence the bailout for cold above). */ --- 3955,3976 ---- if (decl && DECL_SECTION_NAME (decl) != NULL) return get_named_section (decl, NULL, 0); ! /* We always put unlikely executed stuff in the cold section; we have to put ! this ahead of the global init section, since partitioning within a section ! breaks some assumptions made in the DWARF handling. */ if (freq == NODE_FREQUENCY_UNLIKELY_EXECUTED) return (use_coal) ? darwin_sections[text_cold_coal_section] : darwin_sections[text_cold_section]; + /* Intercept functions in global init; these are placed in separate sections. + FIXME: there should be some neater way to do this, FIXME we should be able + to partition within a section. */ + if (DECL_NAME (decl) + && (startswith (IDENTIFIER_POINTER (DECL_NAME (decl)), "_GLOBAL__sub_I") + || startswith (IDENTIFIER_POINTER (DECL_NAME (decl)), + "__static_initialization_and_destruction"))) + return darwin_sections[static_init_section]; + /* If we have LTO *and* feedback information, then let LTO handle the function ordering, it makes a better job (for normal, hot, startup and exit - hence the bailout for cold above). */ diff -Nrcpad gcc-13.2.0/gcc/config/darwin.h gcc-13.3.0/gcc/config/darwin.h *** gcc-13.2.0/gcc/config/darwin.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/darwin.h Tue May 21 07:47:38 2024 *************** extern GTY(()) int darwin_ms_struct; *** 366,372 **** %{e*} %{r} \ %{o*}%{!o:-o a.out} \ %{!r:%{!nostdlib:%{!nostartfiles:%S}}} \ ! %{L*} %(link_libgcc) %o \ %{!r:%{!nostdlib:%{!nodefaultlibs:\ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \ --- 366,374 ---- %{e*} %{r} \ %{o*}%{!o:-o a.out} \ %{!r:%{!nostdlib:%{!nostartfiles:%S}}} \ ! %{L*} %(link_libgcc) \ ! %{!r:%{!nostdlib:%{!nodefaultlibs: " DARWIN_WEAK_CRTS "}}} \ ! %o \ %{!r:%{!nostdlib:%{!nodefaultlibs:\ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1): \ *************** extern GTY(()) int darwin_ms_struct; *** 380,394 **** %(link_ssp) \ %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \ %(link_gcc_c_sequence) \ ! %{!nodefaultexport:%{dylib|dynamiclib|bundle: \ ! %:version-compare(>= 10.11 asm_macosx_version_min= -U) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_get_address) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= -U) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= -exported_symbol) \ ! %:version-compare(>= 10.11 asm_macosx_version_min= ___emutls_register_common) \ }} \ }}}\ %{!r:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} "\ --- 382,396 ---- %(link_ssp) \ %:version-compare(>< 10.6 10.7 mmacosx-version-min= -ld10-uwfef) \ %(link_gcc_c_sequence) \ ! %{!nodefaultexport: \ ! %{%:version-compare(>= 10.11 asm_macosx_version_min= -U): \ ! ___emutls_get_address -exported_symbol ___emutls_get_address \ ! -U ___emutls_register_common \ ! -exported_symbol ___emutls_register_common \ ! -U ___gcc_nested_func_ptr_created \ ! -exported_symbol ___gcc_nested_func_ptr_created \ ! -U ___gcc_nested_func_ptr_deleted \ ! -exported_symbol ___gcc_nested_func_ptr_deleted \ }} \ }}}\ %{!r:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} "\ *************** extern GTY(()) int darwin_ms_struct; *** 508,524 **** #undef REAL_LIBGCC_SPEC #define REAL_LIBGCC_SPEC \ "%{static-libgcc|static: \ ! %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh) \ ! %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w); \ shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \ %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1) \ - %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w) \ %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ! %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5); \ ! : -lemutls_w \ } -lgcc " /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ #undef STARTFILE_SPEC --- 510,531 ---- #undef REAL_LIBGCC_SPEC #define REAL_LIBGCC_SPEC \ "%{static-libgcc|static: \ ! %:version-compare(!> 10.6 mmacosx-version-min= -lgcc_eh); \ shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \ %:version-compare(!> 10.11 mmacosx-version-min= -lgcc_s.1.1) \ %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ! %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ } -lgcc " + #define DARWIN_WEAK_CRTS \ + "%{static-libgcc|static: \ + %:version-compare(>= 10.6 mmacosx-version-min= -lemutls_w) ; \ + shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \ + %:version-compare(>= 10.11 mmacosx-version-min= -lemutls_w) ; \ + : -lemutls_w \ + }" + /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ #undef STARTFILE_SPEC *************** int darwin_label_is_anonymous_local_objc *** 823,829 **** else if (xname[0] == '+' || xname[0] == '-') \ fprintf (FILE, "\"%s\"", xname); \ else if (darwin_label_is_anonymous_local_objc_name (xname)) \ ! fprintf (FILE, "L%s", xname); \ else if (xname[0] != '"' && name_needs_quotes (xname)) \ asm_fprintf (FILE, "\"%U%s\"", xname); \ else \ --- 830,838 ---- else if (xname[0] == '+' || xname[0] == '-') \ fprintf (FILE, "\"%s\"", xname); \ else if (darwin_label_is_anonymous_local_objc_name (xname)) \ ! fprintf (FILE, "%c%s", flag_next_runtime ? 'L' : 'l', xname); \ ! else if (strncmp (xname, "__anon_cfstring", 15) == 0) \ ! fprintf (FILE, "L%s", xname); \ else if (xname[0] != '"' && name_needs_quotes (xname)) \ asm_fprintf (FILE, "\"%U%s\"", xname); \ else \ *************** enum machopic_addr_class { *** 1082,1088 **** #undef ASM_PREFERRED_EH_DATA_FORMAT #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ ! (((CODE) == 2 && (GLOBAL) == 1) \ ? (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) : \ ((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr) --- 1091,1097 ---- #undef ASM_PREFERRED_EH_DATA_FORMAT #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ ! (((CODE) == 2 && (GLOBAL) == 1) || ((CODE) == 0 && (GLOBAL) == 1) \ ? (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) : \ ((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr) diff -Nrcpad gcc-13.2.0/gcc/config/epiphany/epiphany.cc gcc-13.3.0/gcc/config/epiphany/epiphany.cc *** gcc-13.2.0/gcc/config/epiphany/epiphany.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/epiphany/epiphany.cc Tue May 21 07:47:38 2024 *************** epiphany_setup_incoming_varargs (cumulat *** 731,737 **** gcc_assert (arg.mode != BLKmode); next_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) next_cum = (ROUND_ADVANCE_CUM (next_cum, arg.mode, arg.type) + ROUND_ADVANCE_ARG (arg.mode, arg.type)); first_anon_arg = next_cum; --- 731,738 ---- gcc_assert (arg.mode != BLKmode); next_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) next_cum = (ROUND_ADVANCE_CUM (next_cum, arg.mode, arg.type) + ROUND_ADVANCE_ARG (arg.mode, arg.type)); first_anon_arg = next_cum; diff -Nrcpad gcc-13.2.0/gcc/config/ft32/ft32.cc gcc-13.3.0/gcc/config/ft32/ft32.cc *** gcc-13.2.0/gcc/config/ft32/ft32.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/ft32/ft32.cc Tue May 21 07:47:38 2024 *************** ft32_setup_incoming_varargs (cumulative_ *** 635,643 **** { CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v); int named_size = 0; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) ! named_size = ! GET_MODE_SIZE (SImode) * (*cum - FT32_R0) + GET_MODE_SIZE (arg.mode); if (named_size < 24) *pretend_size = 24 - named_size; --- 635,644 ---- { CUMULATIVE_ARGS *cum = get_cumulative_args (cum_v); int named_size = 0; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) ! named_size ! = GET_MODE_SIZE (SImode) * (*cum - FT32_R0) + GET_MODE_SIZE (arg.mode); if (named_size < 24) *pretend_size = 24 - named_size; diff -Nrcpad gcc-13.2.0/gcc/config/i386/amxtileintrin.h gcc-13.3.0/gcc/config/i386/amxtileintrin.h *** gcc-13.2.0/gcc/config/i386/amxtileintrin.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/amxtileintrin.h Tue May 21 07:47:38 2024 *************** extern __inline void *** 39,52 **** __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tile_loadconfig (const void *__config) { ! __asm__ volatile ("ldtilecfg\t%X0" :: "m" (*((const void **)__config))); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tile_storeconfig (void *__config) { ! __asm__ volatile ("sttilecfg\t%X0" : "=m" (*((void **)__config))); } extern __inline void --- 39,52 ---- __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tile_loadconfig (const void *__config) { ! __builtin_ia32_ldtilecfg (__config); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tile_storeconfig (void *__config) { ! __builtin_ia32_sttilecfg (__config); } extern __inline void diff -Nrcpad gcc-13.2.0/gcc/config/i386/driver-i386.cc gcc-13.3.0/gcc/config/i386/driver-i386.cc *** gcc-13.2.0/gcc/config/i386/driver-i386.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/driver-i386.cc Tue May 21 07:47:38 2024 *************** const char *host_detect_local_cpu (int a *** 591,601 **** /* This is unknown family 0x6 CPU. */ if (has_feature (FEATURE_AVX)) { - /* Assume Grand Ridge. */ - if (has_feature (FEATURE_RAOINT)) - cpu = "grandridge"; /* Assume Granite Rapids D. */ ! else if (has_feature (FEATURE_AMX_COMPLEX)) cpu = "graniterapids-d"; /* Assume Granite Rapids. */ else if (has_feature (FEATURE_AMX_FP16)) --- 591,598 ---- /* This is unknown family 0x6 CPU. */ if (has_feature (FEATURE_AVX)) { /* Assume Granite Rapids D. */ ! if (has_feature (FEATURE_AMX_COMPLEX)) cpu = "graniterapids-d"; /* Assume Granite Rapids. */ else if (has_feature (FEATURE_AMX_FP16)) diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-builtin.def gcc-13.3.0/gcc/config/i386/i386-builtin.def *** gcc-13.2.0/gcc/config/i386/i386-builtin.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-builtin.def Tue May 21 07:47:38 2024 *************** BDESC (OPTION_MASK_ISA_XSAVES | OPTION_M *** 126,131 **** --- 126,135 ---- BDESC (OPTION_MASK_ISA_XSAVES | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_nothing, "__builtin_ia32_xrstors64", IX86_BUILTIN_XRSTORS64, UNKNOWN, (int) VOID_FTYPE_PVOID_INT64) BDESC (OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_64BIT, 0, CODE_FOR_nothing, "__builtin_ia32_xsavec64", IX86_BUILTIN_XSAVEC64, UNKNOWN, (int) VOID_FTYPE_PVOID_INT64) + /* LDFILECFG and STFILECFG. */ + BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AMX_TILE, CODE_FOR_nothing, "__builtin_ia32_ldtilecfg", IX86_BUILTIN_LDTILECFG, UNKNOWN, (int) VOID_FTYPE_PCVOID) + BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AMX_TILE, CODE_FOR_nothing, "__builtin_ia32_sttilecfg", IX86_BUILTIN_STTILECFG, UNKNOWN, (int) VOID_FTYPE_PVOID) + /* SSE */ BDESC (OPTION_MASK_ISA_SSE, 0, CODE_FOR_movv4sf_internal, "__builtin_ia32_storeups", IX86_BUILTIN_STOREUPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF) BDESC (OPTION_MASK_ISA_SSE, 0, CODE_FOR_sse_movntv4sf, "__builtin_ia32_movntps", IX86_BUILTIN_MOVNTPS, UNKNOWN, (int) VOID_FTYPE_PFLOAT_V4SF) diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-builtins.cc gcc-13.3.0/gcc/config/i386/i386-builtins.cc *** gcc-13.2.0/gcc/config/i386/i386-builtins.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-builtins.cc Tue May 21 07:47:38 2024 *************** ix86_vectorize_builtin_gather (const_tre *** 1649,1655 **** ? !TARGET_USE_GATHER_2PARTS : (known_eq (TYPE_VECTOR_SUBPARTS (mem_vectype), 4u) ? !TARGET_USE_GATHER_4PARTS ! : !TARGET_USE_GATHER))) return NULL_TREE; if ((TREE_CODE (index_type) != INTEGER_TYPE --- 1649,1655 ---- ? !TARGET_USE_GATHER_2PARTS : (known_eq (TYPE_VECTOR_SUBPARTS (mem_vectype), 4u) ? !TARGET_USE_GATHER_4PARTS ! : !TARGET_USE_GATHER_8PARTS))) return NULL_TREE; if ((TREE_CODE (index_type) != INTEGER_TYPE diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-c.cc gcc-13.3.0/gcc/config/i386/i386-c.cc *** gcc-13.2.0/gcc/config/i386/i386-c.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-c.cc Tue May 21 07:47:38 2024 *************** ix86_target_macros_internal (HOST_WIDE_I *** 258,263 **** --- 258,267 ---- def_or_undef (parse_in, "__graniterapids"); def_or_undef (parse_in, "__graniterapids__"); break; + case PROCESSOR_GRANITERAPIDS_D: + def_or_undef (parse_in, "__graniterapids_d"); + def_or_undef (parse_in, "__graniterapids_d__"); + break; case PROCESSOR_ALDERLAKE: def_or_undef (parse_in, "__alderlake"); def_or_undef (parse_in, "__alderlake__"); *************** ix86_target_macros_internal (HOST_WIDE_I *** 447,452 **** --- 451,459 ---- case PROCESSOR_GRANITERAPIDS: def_or_undef (parse_in, "__tune_graniterapids__"); break; + case PROCESSOR_GRANITERAPIDS_D: + def_or_undef (parse_in, "__tune_graniterapids_d__"); + break; case PROCESSOR_INTEL: case PROCESSOR_GENERIC: break; diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-expand.cc gcc-13.3.0/gcc/config/i386/i386-expand.cc *** gcc-13.2.0/gcc/config/i386/i386-expand.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-expand.cc Tue May 21 07:47:38 2024 *************** ix86_expand_move (machine_mode mode, rtx *** 429,434 **** --- 429,451 ---- default: break; + + case SUBREG: + /* As not all values in XFmode are representable in real_value, + we might be called with unfoldable SUBREGs of constants. */ + if (mode == XFmode + && CONSTANT_P (SUBREG_REG (op1)) + && can_create_pseudo_p ()) + { + machine_mode imode = GET_MODE (SUBREG_REG (op1)); + rtx r = force_const_mem (imode, SUBREG_REG (op1)); + if (r) + r = validize_mem (r); + else + r = force_reg (imode, SUBREG_REG (op1)); + op1 = simplify_gen_subreg (mode, r, imode, SUBREG_BYTE (op1)); + } + break; } if ((flag_pic || MACHOPIC_INDIRECT) *************** ix86_expand_int_sse_cmp (rtx dest, enum *** 4565,4571 **** rtx elt = CONST_VECTOR_ELT (cop1, i); if (!CONST_INT_P (elt)) break; ! if (code == GE) { /* For LE punt if some element is signed maximum. */ if ((INTVAL (elt) & (GET_MODE_MASK (eltmode) >> 1)) --- 4582,4588 ---- rtx elt = CONST_VECTOR_ELT (cop1, i); if (!CONST_INT_P (elt)) break; ! if (code == LE) { /* For LE punt if some element is signed maximum. */ if ((INTVAL (elt) & (GET_MODE_MASK (eltmode) >> 1)) *************** ix86_expand_builtin (tree exp, rtx targe *** 13720,13725 **** --- 13737,13761 ---- emit_insn (pat); return 0; + case IX86_BUILTIN_LDTILECFG: + case IX86_BUILTIN_STTILECFG: + arg0 = CALL_EXPR_ARG (exp, 0); + op0 = expand_normal (arg0); + + if (!address_operand (op0, VOIDmode)) + { + op0 = convert_memory_address (Pmode, op0); + op0 = copy_addr_to_reg (op0); + } + op0 = gen_rtx_MEM (XImode, op0); + if (fcode == IX86_BUILTIN_LDTILECFG) + icode = CODE_FOR_ldtilecfg; + else + icode = CODE_FOR_sttilecfg; + pat = GEN_FCN (icode) (op0); + emit_insn (pat); + return 0; + case IX86_BUILTIN_LLWPCB: arg0 = CALL_EXPR_ARG (exp, 0); op0 = expand_normal (arg0); diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-features.cc gcc-13.3.0/gcc/config/i386/i386-features.cc *** gcc-13.2.0/gcc/config/i386/i386-features.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-features.cc Tue May 21 07:47:38 2024 *************** scalar_chain::convert_reg (rtx_insn *ins *** 896,909 **** REGNO (src), REGNO (dst), INSN_UID (insn)); } /* Convert operand OP in INSN. We should handle memory operands and uninitialized registers. All other register uses are converted during registers conversion. */ void ! general_scalar_chain::convert_op (rtx *op, rtx_insn *insn) { *op = copy_rtx_if_shared (*op); if (GET_CODE (*op) == NOT) --- 896,930 ---- REGNO (src), REGNO (dst), INSN_UID (insn)); } + /* Helper function to convert immediate constant X to vmode. */ + static rtx + smode_convert_cst (rtx x, enum machine_mode vmode) + { + /* Prefer all ones vector in case of -1. */ + if (constm1_operand (x, GET_MODE (x))) + return CONSTM1_RTX (vmode); + + unsigned n = GET_MODE_NUNITS (vmode); + rtx *v = XALLOCAVEC (rtx, n); + v[0] = x; + for (unsigned i = 1; i < n; ++i) + v[i] = const0_rtx; + return gen_rtx_CONST_VECTOR (vmode, gen_rtvec_v (n, v)); + } + /* Convert operand OP in INSN. We should handle memory operands and uninitialized registers. All other register uses are converted during registers conversion. */ void ! scalar_chain::convert_op (rtx *op, rtx_insn *insn) { + rtx tmp; + + if (GET_MODE (*op) == V1TImode) + return; + *op = copy_rtx_if_shared (*op); if (GET_CODE (*op) == NOT) *************** general_scalar_chain::convert_op (rtx *o *** 913,959 **** } else if (MEM_P (*op)) { ! rtx tmp = gen_reg_rtx (GET_MODE (*op)); ! /* Handle movabs. */ if (!memory_operand (*op, GET_MODE (*op))) { ! rtx tmp2 = gen_reg_rtx (GET_MODE (*op)); ! emit_insn_before (gen_rtx_SET (tmp2, *op), insn); ! *op = tmp2; } ! emit_insn_before (gen_rtx_SET (gen_rtx_SUBREG (vmode, tmp, 0), ! gen_gpr_to_xmm_move_src (vmode, *op)), ! insn); ! *op = gen_rtx_SUBREG (vmode, tmp, 0); if (dump_file) fprintf (dump_file, " Preloading operand for insn %d into r%d\n", INSN_UID (insn), REGNO (tmp)); } else if (REG_P (*op)) { ! *op = gen_rtx_SUBREG (vmode, *op, 0); ! } ! else if (CONST_INT_P (*op)) ! { ! rtx vec_cst; ! rtx tmp = gen_rtx_SUBREG (vmode, gen_reg_rtx (smode), 0); ! ! /* Prefer all ones vector in case of -1. */ ! if (constm1_operand (*op, GET_MODE (*op))) ! vec_cst = CONSTM1_RTX (vmode); ! else ! { ! unsigned n = GET_MODE_NUNITS (vmode); ! rtx *v = XALLOCAVEC (rtx, n); ! v[0] = *op; ! for (unsigned i = 1; i < n; ++i) ! v[i] = const0_rtx; ! vec_cst = gen_rtx_CONST_VECTOR (vmode, gen_rtvec_v (n, v)); ! } if (!standard_sse_constant_p (vec_cst, vmode)) { --- 934,981 ---- } else if (MEM_P (*op)) { ! rtx_insn *movabs = NULL; ! /* Emit MOVABS to load from a 64-bit absolute address to a GPR. */ if (!memory_operand (*op, GET_MODE (*op))) { ! tmp = gen_reg_rtx (GET_MODE (*op)); ! movabs = emit_insn_before (gen_rtx_SET (tmp, *op), insn); ! *op = tmp; } ! tmp = gen_rtx_SUBREG (vmode, gen_reg_rtx (GET_MODE (*op)), 0); ! ! rtx_insn *eh_insn ! = emit_insn_before (gen_rtx_SET (copy_rtx (tmp), ! gen_gpr_to_xmm_move_src (vmode, *op)), ! insn); ! ! if (cfun->can_throw_non_call_exceptions) ! { ! /* Handle REG_EH_REGION note. */ ! rtx note = find_reg_note (insn, REG_EH_REGION, NULL_RTX); ! if (note) ! { ! if (movabs) ! eh_insn = movabs; ! control_flow_insns.safe_push (eh_insn); ! add_reg_note (eh_insn, REG_EH_REGION, XEXP (note, 0)); ! } ! } ! ! *op = tmp; if (dump_file) fprintf (dump_file, " Preloading operand for insn %d into r%d\n", INSN_UID (insn), REGNO (tmp)); } else if (REG_P (*op)) + *op = gen_rtx_SUBREG (vmode, *op, 0); + else if (CONST_SCALAR_INT_P (*op)) { ! rtx vec_cst = smode_convert_cst (*op, vmode); if (!standard_sse_constant_p (vec_cst, vmode)) { *************** general_scalar_chain::convert_op (rtx *o *** 964,969 **** --- 986,993 ---- emit_insn_before (seq, insn); } + tmp = gen_rtx_SUBREG (vmode, gen_reg_rtx (smode), 0); + emit_insn_before (gen_move_insn (copy_rtx (tmp), vec_cst), insn); *op = tmp; } *************** timode_scalar_chain::fix_debug_reg_uses *** 1512,1572 **** } } - /* Convert operand OP in INSN from TImode to V1TImode. */ - - void - timode_scalar_chain::convert_op (rtx *op, rtx_insn *insn) - { - *op = copy_rtx_if_shared (*op); - - if (REG_P (*op)) - *op = gen_rtx_SUBREG (V1TImode, *op, 0); - else if (MEM_P (*op)) - { - rtx tmp = gen_reg_rtx (V1TImode); - emit_insn_before (gen_rtx_SET (gen_rtx_SUBREG (V1TImode, tmp, 0), - gen_gpr_to_xmm_move_src (V1TImode, *op)), - insn); - *op = gen_rtx_SUBREG (V1TImode, tmp, 0); - - if (dump_file) - fprintf (dump_file, " Preloading operand for insn %d into r%d\n", - INSN_UID (insn), REGNO (tmp)); - } - else if (CONST_INT_P (*op)) - { - rtx vec_cst; - rtx tmp = gen_rtx_SUBREG (V1TImode, gen_reg_rtx (TImode), 0); - - /* Prefer all ones vector in case of -1. */ - if (constm1_operand (*op, TImode)) - vec_cst = CONSTM1_RTX (V1TImode); - else - { - rtx *v = XALLOCAVEC (rtx, 1); - v[0] = *op; - vec_cst = gen_rtx_CONST_VECTOR (V1TImode, gen_rtvec_v (1, v)); - } - - if (!standard_sse_constant_p (vec_cst, V1TImode)) - { - start_sequence (); - vec_cst = validize_mem (force_const_mem (V1TImode, vec_cst)); - rtx_insn *seq = get_insns (); - end_sequence (); - emit_insn_before (seq, insn); - } - - emit_insn_before (gen_move_insn (copy_rtx (tmp), vec_cst), insn); - *op = tmp; - } - else - { - gcc_assert (SUBREG_P (*op)); - gcc_assert (GET_MODE (*op) == vmode); - } - } - /* Convert INSN from TImode to V1T1mode. */ void --- 1536,1541 ---- *************** convert_scalars_to_vector (bool timode_p *** 2215,2220 **** --- 2184,2190 ---- { basic_block bb; int converted_insns = 0; + auto_vec control_flow_insns; bitmap_obstack_initialize (NULL); const machine_mode cand_mode[3] = { SImode, DImode, TImode }; *************** convert_scalars_to_vector (bool timode_p *** 2296,2301 **** --- 2266,2276 ---- chain->chain_id); } + rtx_insn* iter_insn; + unsigned int ii; + FOR_EACH_VEC_ELT (chain->control_flow_insns, ii, iter_insn) + control_flow_insns.safe_push (iter_insn); + delete chain; } } *************** convert_scalars_to_vector (bool timode_p *** 2364,2369 **** --- 2339,2362 ---- DECL_INCOMING_RTL (parm) = gen_rtx_SUBREG (TImode, r, 0); } } + + if (!control_flow_insns.is_empty ()) + { + free_dominance_info (CDI_DOMINATORS); + + unsigned int i; + rtx_insn* insn; + FOR_EACH_VEC_ELT (control_flow_insns, i, insn) + if (control_flow_insn_p (insn)) + { + /* Split the block after insn. There will be a fallthru + edge, which is OK so we keep it. We have to create + the exception edges ourselves. */ + bb = BLOCK_FOR_INSN (insn); + split_block (bb, insn); + rtl_make_eh_edge (NULL, bb, BB_END (bb)); + } + } } return 0; diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-features.h gcc-13.3.0/gcc/config/i386/i386-features.h *** gcc-13.2.0/gcc/config/i386/i386-features.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-features.h Tue May 21 07:47:38 2024 *************** class scalar_chain *** 155,160 **** --- 155,161 ---- hash_map defs_map; unsigned n_sse_to_integer; unsigned n_integer_to_sse; + auto_vec control_flow_insns; bool build (bitmap candidates, unsigned insn_uid, bitmap disallowed); virtual int compute_convert_gain () = 0; *************** class scalar_chain *** 169,181 **** void convert_insn_common (rtx_insn *insn); void make_vector_copies (rtx_insn *, rtx); void convert_registers (); private: bool add_insn (bitmap candidates, unsigned insn_uid, bitmap disallowed); bool analyze_register_chain (bitmap candidates, df_ref ref, bitmap disallowed); virtual void convert_insn (rtx_insn *insn) = 0; - virtual void convert_op (rtx *op, rtx_insn *insn) = 0; }; class general_scalar_chain : public scalar_chain --- 170,182 ---- void convert_insn_common (rtx_insn *insn); void make_vector_copies (rtx_insn *, rtx); void convert_registers (); + void convert_op (rtx *op, rtx_insn *insn); private: bool add_insn (bitmap candidates, unsigned insn_uid, bitmap disallowed); bool analyze_register_chain (bitmap candidates, df_ref ref, bitmap disallowed); virtual void convert_insn (rtx_insn *insn) = 0; }; class general_scalar_chain : public scalar_chain *************** class general_scalar_chain : public scal *** 187,193 **** private: void convert_insn (rtx_insn *insn) final override; - void convert_op (rtx *op, rtx_insn *insn) final override; int vector_const_cost (rtx exp); }; --- 188,193 ---- *************** class timode_scalar_chain : public scala *** 200,206 **** private: void fix_debug_reg_uses (rtx reg); void convert_insn (rtx_insn *insn) final override; - void convert_op (rtx *op, rtx_insn *insn) final override; }; } // anon namespace --- 200,205 ---- diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386-options.cc gcc-13.3.0/gcc/config/i386/i386-options.cc *** gcc-13.2.0/gcc/config/i386/i386-options.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386-options.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 128,137 **** #define m_ALDERLAKE (HOST_WIDE_INT_1U<: %s", ! clear ? curr_feature_string - 1 : curr_feature_string); curr_feature_string = next_feature_string; } while (curr_feature_string); --- 1729,1774 ---- curr_feature_string++; clear = true; } ! ! if (!strcmp (curr_feature_string, "use_gather")) ! { ! ix86_tune_features[X86_TUNE_USE_GATHER_2PARTS] = !clear; ! ix86_tune_features[X86_TUNE_USE_GATHER_4PARTS] = !clear; ! ix86_tune_features[X86_TUNE_USE_GATHER_8PARTS] = !clear; ! if (dump) ! fprintf (stderr, "Explicitly %s features use_gather_2parts," ! " use_gather_4parts, use_gather_8parts\n", ! clear ? "clear" : "set"); ! ! } ! else if (!strcmp (curr_feature_string, "use_scatter")) ! { ! ix86_tune_features[X86_TUNE_USE_SCATTER_2PARTS] = !clear; ! ix86_tune_features[X86_TUNE_USE_SCATTER_4PARTS] = !clear; ! ix86_tune_features[X86_TUNE_USE_SCATTER_8PARTS] = !clear; ! if (dump) ! fprintf (stderr, "Explicitly %s features use_scatter_2parts," ! " use_scatter_4parts, use_scatter_8parts\n", ! clear ? "clear" : "set"); ! } ! else ! { ! for (i = 0; i < X86_TUNE_LAST; i++) ! { ! if (!strcmp (curr_feature_string, ix86_tune_feature_names[i])) ! { ! ix86_tune_features[i] = !clear; ! if (dump) ! fprintf (stderr, "Explicitly %s feature %s\n", ! clear ? "clear" : "set", ix86_tune_feature_names[i]); ! break; ! } ! } ! ! if (i == X86_TUNE_LAST) ! error ("unknown parameter to option %<-mtune-ctrl%>: %s", ! clear ? curr_feature_string - 1 : curr_feature_string); ! } curr_feature_string = next_feature_string; } while (curr_feature_string); diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386.cc gcc-13.3.0/gcc/config/i386/i386.cc *** gcc-13.2.0/gcc/config/i386/i386.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386.cc Tue May 21 07:47:38 2024 *************** ix86_setup_incoming_varargs (cumulative_ *** 4564,4570 **** /* For varargs, we do not want to skip the dummy va_dcl argument. For stdargs, we do want to skip the last named argument. */ next_cum = *cum; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) && stdarg_p (fntype)) ix86_function_arg_advance (pack_cumulative_args (&next_cum), arg); --- 4564,4571 ---- /* For varargs, we do not want to skip the dummy va_dcl argument. For stdargs, we do want to skip the last named argument. */ next_cum = *cum; ! if ((!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) && stdarg_p (fntype)) ix86_function_arg_advance (pack_cumulative_args (&next_cum), arg); *************** ix86_elim_entry_set_got (rtx reg) *** 8327,8336 **** rtx pat = PATTERN (c_insn); if (GET_CODE (pat) == PARALLEL) { ! rtx vec = XVECEXP (pat, 0, 0); ! if (GET_CODE (vec) == SET ! && XINT (XEXP (vec, 1), 1) == UNSPEC_SET_GOT ! && REGNO (XEXP (vec, 0)) == REGNO (reg)) delete_insn (c_insn); } } --- 8328,8338 ---- rtx pat = PATTERN (c_insn); if (GET_CODE (pat) == PARALLEL) { ! rtx set = XVECEXP (pat, 0, 0); ! if (GET_CODE (set) == SET ! && GET_CODE (SET_SRC (set)) == UNSPEC ! && XINT (SET_SRC (set), 1) == UNSPEC_SET_GOT ! && REGNO (SET_DEST (set)) == REGNO (reg)) delete_insn (c_insn); } } *************** output_pic_addr_const (FILE *file, rtx x *** 12302,12309 **** assemble_name (asm_out_file, buf); break; ! case CONST_INT: ! fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); break; case CONST: --- 12304,12311 ---- assemble_name (asm_out_file, buf); break; ! CASE_CONST_SCALAR_INT: ! output_addr_const (file, x); break; case CONST: *************** ix86_avx_u128_mode_needed (rtx_insn *ins *** 14487,14494 **** modes wider than 256 bits. It's only safe to issue a vzeroupper if all SSE registers are clobbered. */ const function_abi &abi = insn_callee_abi (insn); ! if (!hard_reg_set_subset_p (reg_class_contents[SSE_REGS], ! abi.mode_clobbers (V4DImode))) return AVX_U128_ANY; return AVX_U128_CLEAN; --- 14489,14500 ---- modes wider than 256 bits. It's only safe to issue a vzeroupper if all SSE registers are clobbered. */ const function_abi &abi = insn_callee_abi (insn); ! /* Should be safe to issue an vzeroupper before sibling_call_p. ! Also there not mode_exit for sibling_call, so there could be ! missing vzeroupper for that. */ ! if (!(SIBLING_CALL_P (insn) ! || hard_reg_set_subset_p (reg_class_contents[SSE_REGS], ! abi.mode_clobbers (V4DImode)))) return AVX_U128_ANY; return AVX_U128_CLEAN; *************** ix86_avx_u128_mode_after (int mode, rtx_ *** 14626,14632 **** bool avx_upper_reg_found = false; note_stores (insn, 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 --- 14632,14650 ---- bool avx_upper_reg_found = false; note_stores (insn, ix86_check_avx_upper_stores, &avx_upper_reg_found); ! if (avx_upper_reg_found) ! return AVX_U128_DIRTY; ! ! /* If the function desn't clobber any sse registers or only clobber ! 128-bit part, Then vzeroupper isn't issued before the function exit. ! the status not CLEAN but ANY after the function. */ ! const function_abi &abi = insn_callee_abi (insn); ! if (!(SIBLING_CALL_P (insn) ! || hard_reg_set_subset_p (reg_class_contents[SSE_REGS], ! abi.mode_clobbers (V4DImode)))) ! return AVX_U128_ANY; ! ! return AVX_U128_CLEAN; } /* Otherwise, return current mode. Remember that if insn *************** ix86_vectorize_builtin_scatter (const_tr *** 19078,19084 **** ? !TARGET_USE_SCATTER_2PARTS : (known_eq (TYPE_VECTOR_SUBPARTS (vectype), 4u) ? !TARGET_USE_SCATTER_4PARTS ! : !TARGET_USE_SCATTER)) return NULL_TREE; if ((TREE_CODE (index_type) != INTEGER_TYPE --- 19096,19102 ---- ? !TARGET_USE_SCATTER_2PARTS : (known_eq (TYPE_VECTOR_SUBPARTS (vectype), 4u) ? !TARGET_USE_SCATTER_4PARTS ! : !TARGET_USE_SCATTER_8PARTS)) return NULL_TREE; if ((TREE_CODE (index_type) != INTEGER_TYPE *************** x86_function_profiler (FILE *file, int l *** 21794,21800 **** if (TARGET_64BIT) { #ifndef NO_PROFILE_COUNTERS ! fprintf (file, "\tleaq\t%sP%d(%%rip),%%r11\n", LPREFIX, labelno); #endif if (!TARGET_PECOFF) --- 21812,21821 ---- if (TARGET_64BIT) { #ifndef NO_PROFILE_COUNTERS ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, "\tlea\tr11, %sP%d[rip]\n", LPREFIX, labelno); ! else ! fprintf (file, "\tleaq\t%sP%d(%%rip), %%r11\n", LPREFIX, labelno); #endif if (!TARGET_PECOFF) *************** x86_function_profiler (FILE *file, int l *** 21805,21816 **** /* NB: R10 is caller-saved. Although it can be used as a static chain register, it is preserved when calling mcount for nested functions. */ ! fprintf (file, "1:\tmovabsq\t$%s, %%r10\n\tcall\t*%%r10\n", ! mcount_name); break; case CM_LARGE_PIC: #ifdef NO_PROFILE_COUNTERS ! fprintf (file, "1:\tmovabsq\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\n"); fprintf (file, "\tleaq\t1b(%%rip), %%r10\n"); fprintf (file, "\taddq\t%%r11, %%r10\n"); fprintf (file, "\tmovabsq\t$%s@PLTOFF, %%r11\n", mcount_name); --- 21826,21854 ---- /* NB: R10 is caller-saved. Although it can be used as a static chain register, it is preserved when calling mcount for nested functions. */ ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, "1:\tmovabs\tr10, OFFSET FLAT:%s\n" ! "\tcall\tr10\n", mcount_name); ! else ! fprintf (file, "1:\tmovabsq\t$%s, %%r10\n\tcall\t*%%r10\n", ! mcount_name); break; case CM_LARGE_PIC: #ifdef NO_PROFILE_COUNTERS ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! { ! fprintf (file, "1:movabs\tr11, " ! "OFFSET FLAT:_GLOBAL_OFFSET_TABLE_-1b\n"); ! fprintf (file, "\tlea\tr10, 1b[rip]\n"); ! fprintf (file, "\tadd\tr10, r11\n"); ! fprintf (file, "\tmovabs\tr11, OFFSET FLAT:%s@PLTOFF\n", ! mcount_name); ! fprintf (file, "\tadd\tr10, r11\n"); ! fprintf (file, "\tcall\tr10\n"); ! break; ! } ! fprintf (file, ! "1:\tmovabsq\t$_GLOBAL_OFFSET_TABLE_-1b, %%r11\n"); fprintf (file, "\tleaq\t1b(%%rip), %%r10\n"); fprintf (file, "\taddq\t%%r11, %%r10\n"); fprintf (file, "\tmovabsq\t$%s@PLTOFF, %%r11\n", mcount_name); *************** x86_function_profiler (FILE *file, int l *** 21822,21828 **** break; case CM_SMALL_PIC: case CM_MEDIUM_PIC: ! fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n", mcount_name); break; default: x86_print_call_or_nop (file, mcount_name); --- 21860,21870 ---- break; case CM_SMALL_PIC: case CM_MEDIUM_PIC: ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]\n", ! mcount_name); ! else ! fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n", mcount_name); break; default: x86_print_call_or_nop (file, mcount_name); *************** x86_function_profiler (FILE *file, int l *** 21835,21857 **** else if (flag_pic) { #ifndef NO_PROFILE_COUNTERS ! fprintf (file, "\tleal\t%sP%d@GOTOFF(%%ebx),%%" PROFILE_COUNT_REGISTER "\n", ! LPREFIX, labelno); #endif ! fprintf (file, "1:\tcall\t*%s@GOT(%%ebx)\n", mcount_name); } else { #ifndef NO_PROFILE_COUNTERS ! fprintf (file, "\tmovl\t$%sP%d,%%" PROFILE_COUNT_REGISTER "\n", ! LPREFIX, labelno); #endif x86_print_call_or_nop (file, mcount_name); } if (flag_record_mcount ! || lookup_attribute ("fentry_section", ! DECL_ATTRIBUTES (current_function_decl))) { const char *sname = "__mcount_loc"; --- 21877,21913 ---- else if (flag_pic) { #ifndef NO_PROFILE_COUNTERS ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, ! "\tlea\t" PROFILE_COUNT_REGISTER ", %sP%d@GOTOFF[ebx]\n", ! LPREFIX, labelno); ! else ! fprintf (file, ! "\tleal\t%sP%d@GOTOFF(%%ebx), %%" PROFILE_COUNT_REGISTER "\n", ! LPREFIX, labelno); #endif ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, "1:\tcall\t[DWORD PTR %s@GOT[ebx]]\n", mcount_name); ! else ! fprintf (file, "1:\tcall\t*%s@GOT(%%ebx)\n", mcount_name); } else { #ifndef NO_PROFILE_COUNTERS ! if (ASSEMBLER_DIALECT == ASM_INTEL) ! fprintf (file, ! "\tmov\t" PROFILE_COUNT_REGISTER ", OFFSET FLAT:%sP%d\n", ! LPREFIX, labelno); ! else ! fprintf (file, "\tmovl\t$%sP%d, %%" PROFILE_COUNT_REGISTER "\n", ! LPREFIX, labelno); #endif x86_print_call_or_nop (file, mcount_name); } if (flag_record_mcount ! || lookup_attribute ("fentry_section", ! DECL_ATTRIBUTES (current_function_decl))) { const char *sname = "__mcount_loc"; *************** ix86_invalid_conversion (const_tree from *** 22458,22466 **** || (TYPE_MODE (totype) == BFmode && TYPE_MODE (fromtype) == HImode)) warning (0, "%<__bfloat16%> is redefined from typedef % " ! "to real %<__bf16%> since GCC V13, be careful of " "implicit conversion between %<__bf16%> and %; " ! "a explicit bitcast may be needed here"); } /* Conversion allowed. */ --- 22514,22522 ---- || (TYPE_MODE (totype) == BFmode && TYPE_MODE (fromtype) == HImode)) warning (0, "%<__bfloat16%> is redefined from typedef % " ! "to real %<__bf16%> since GCC 13.1, be careful of " "implicit conversion between %<__bf16%> and %; " ! "an explicit bitcast may be needed here"); } /* Conversion allowed. */ diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386.h gcc-13.3.0/gcc/config/i386/i386.h *** gcc-13.2.0/gcc/config/i386/i386.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386.h Tue May 21 07:47:38 2024 *************** extern unsigned char ix86_tune_features[ *** 403,412 **** ix86_tune_features[X86_TUNE_USE_GATHER_4PARTS] #define TARGET_USE_SCATTER_4PARTS \ ix86_tune_features[X86_TUNE_USE_SCATTER_4PARTS] ! #define TARGET_USE_GATHER \ ! ix86_tune_features[X86_TUNE_USE_GATHER] ! #define TARGET_USE_SCATTER \ ! ix86_tune_features[X86_TUNE_USE_SCATTER] #define TARGET_FUSE_CMP_AND_BRANCH_32 \ ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH_32] #define TARGET_FUSE_CMP_AND_BRANCH_64 \ --- 403,412 ---- ix86_tune_features[X86_TUNE_USE_GATHER_4PARTS] #define TARGET_USE_SCATTER_4PARTS \ ix86_tune_features[X86_TUNE_USE_SCATTER_4PARTS] ! #define TARGET_USE_GATHER_8PARTS \ ! ix86_tune_features[X86_TUNE_USE_GATHER_8PARTS] ! #define TARGET_USE_SCATTER_8PARTS \ ! ix86_tune_features[X86_TUNE_USE_SCATTER_8PARTS] #define TARGET_FUSE_CMP_AND_BRANCH_32 \ ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH_32] #define TARGET_FUSE_CMP_AND_BRANCH_64 \ *************** extern int const svr4_debugger_register_ *** 2214,2220 **** #define DEFAULT_LARGE_SECTION_THRESHOLD 65536 /* Which processor to tune code generation for. These must be in sync ! with processor_target_table in i386.cc. */ enum processor_type { --- 2214,2220 ---- #define DEFAULT_LARGE_SECTION_THRESHOLD 65536 /* Which processor to tune code generation for. These must be in sync ! with processor_cost_table in i386-options.cc. */ enum processor_type { *************** enum processor_type *** 2251,2256 **** --- 2251,2257 ---- PROCESSOR_ALDERLAKE, PROCESSOR_ROCKETLAKE, PROCESSOR_GRANITERAPIDS, + PROCESSOR_GRANITERAPIDS_D, PROCESSOR_INTEL, PROCESSOR_LUJIAZUI, PROCESSOR_GEODE, *************** constexpr wide_int_bitmask PTA_GRANITERA *** 2364,2370 **** | PTA_PREFETCHI; constexpr wide_int_bitmask PTA_GRANITERAPIDS_D = PTA_GRANITERAPIDS | PTA_AMX_COMPLEX; ! constexpr wide_int_bitmask PTA_GRANDRIDGE = PTA_SIERRAFOREST | PTA_RAOINT; constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ; constexpr wide_int_bitmask PTA_ZNVER1 = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 --- 2365,2371 ---- | PTA_PREFETCHI; constexpr wide_int_bitmask PTA_GRANITERAPIDS_D = PTA_GRANITERAPIDS | PTA_AMX_COMPLEX; ! constexpr wide_int_bitmask PTA_GRANDRIDGE = PTA_SIERRAFOREST; constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ; constexpr wide_int_bitmask PTA_ZNVER1 = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386.md gcc-13.3.0/gcc/config/i386/i386.md *** gcc-13.2.0/gcc/config/i386/i386.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386.md Tue May 21 07:47:38 2024 *************** *** 334,339 **** --- 334,343 ---- ;; For PREFETCHI support UNSPECV_PREFETCHI + + ;; For AMX-TILE + UNSPECV_LDTILECFG + UNSPECV_STTILECFG ]) ;; Constants to represent rounding modes in the ROUND instruction *************** *** 2546,2552 **** (clobber (reg:CC FLAGS_REG))])] { int shift = ctz_hwi (UINTVAL (operands[1])); ! operands[1] = gen_int_mode (UINTVAL (operands[1]) >> shift, DImode); operands[2] = gen_int_mode (shift, QImode); }) --- 2550,2559 ---- (clobber (reg:CC FLAGS_REG))])] { int shift = ctz_hwi (UINTVAL (operands[1])); ! rtx op1 = gen_int_mode (UINTVAL (operands[1]) >> shift, DImode); ! if (ix86_endbr_immediate_operand (op1, VOIDmode)) ! FAIL; ! operands[1] = op1; operands[2] = gen_int_mode (shift, QImode); }) *************** *** 3744,3752 **** ;; Possible store forwarding (partial memory) stall in alternatives 4, 6 and 7. (define_insn "*movdf_internal" [(set (match_operand:DF 0 "nonimmediate_operand" ! "=Yf*f,m ,Yf*f,?r ,!o,?*r ,!o,!o,?r,?m,?r,?r,v,v,v,m,*x,*x,*x,m ,r ,v,r ,o ,r ,m") (match_operand:DF 1 "general_operand" ! "Yf*fm,Yf*f,G ,roF,r ,*roF,*r,F ,rm,rC,C ,F ,C,v,m,v,C ,*x,m ,*x,v,r ,roF,rF,rmF,rC"))] "!(MEM_P (operands[0]) && MEM_P (operands[1])) && (lra_in_progress || reload_completed || !CONST_DOUBLE_P (operands[1]) --- 3751,3759 ---- ;; Possible store forwarding (partial memory) stall in alternatives 4, 6 and 7. (define_insn "*movdf_internal" [(set (match_operand:DF 0 "nonimmediate_operand" ! "=Yf*f,m ,Yf*f,?r ,!o,?*r ,!o,!o,?r,?m,?r,?r,v,v,v,m,*x,*x,*x,m ,?r,?v,r ,o ,r ,m") (match_operand:DF 1 "general_operand" ! "Yf*fm,Yf*f,G ,roF,r ,*roF,*r,F ,rm,rC,C ,F ,C,v,m,v,C ,*x,m ,*x, v, r,roF,rF,rmF,rC"))] "!(MEM_P (operands[0]) && MEM_P (operands[1])) && (lra_in_progress || reload_completed || !CONST_DOUBLE_P (operands[1]) *************** *** 11526,11532 **** { split_double_concat (mode, operands[0], operands[3], operands[1]); DONE; ! }) (define_insn_and_split "*concat3_4" [(set (match_operand: 0 "nonimmediate_operand" "=ro,r,r,&r") --- 11533,11540 ---- { split_double_concat (mode, operands[0], operands[3], operands[1]); DONE; ! } ! [(set_attr "isa" "*,*,*,x64")]) (define_insn_and_split "*concat3_4" [(set (match_operand: 0 "nonimmediate_operand" "=ro,r,r,&r") *************** *** 11544,11550 **** { split_double_concat (mode, operands[0], operands[1], operands[2]); DONE; ! }) (define_insn_and_split "*concat3_5" [(set (match_operand:DWI 0 "nonimmediate_operand" "=r,o,o") --- 11552,11559 ---- { split_double_concat (mode, operands[0], operands[1], operands[2]); DONE; ! } ! [(set_attr "isa" "*,*,*,x64")]) (define_insn_and_split "*concat3_5" [(set (match_operand:DWI 0 "nonimmediate_operand" "=r,o,o") *************** *** 14359,14365 **** emit_insn (gen_ix86_ti3_doubleword (operands[0], operands[1], operands[2])); else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64) ! emit_insn (gen_64ti2_doubleword (operands[0], operands[1])); else { rtx amount = force_reg (QImode, operands[2]); --- 14368,14377 ---- emit_insn (gen_ix86_ti3_doubleword (operands[0], operands[1], operands[2])); else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64) ! { ! operands[1] = force_reg (TImode, operands[1]); ! emit_insn (gen_64ti2_doubleword (operands[0], operands[1])); ! } else { rtx amount = force_reg (QImode, operands[2]); *************** *** 14394,14400 **** emit_insn (gen_ix86_di3_doubleword (operands[0], operands[1], operands[2])); else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32) ! emit_insn (gen_32di2_doubleword (operands[0], operands[1])); else FAIL; --- 14406,14415 ---- emit_insn (gen_ix86_di3_doubleword (operands[0], operands[1], operands[2])); else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32) ! { ! operands[1] = force_reg (DImode, operands[1]); ! emit_insn (gen_32di2_doubleword (operands[0], operands[1])); ! } else FAIL; *************** *** 14562,14569 **** }) (define_insn_and_split "32di2_doubleword" ! [(set (match_operand:DI 0 "register_operand" "=r,r,r") ! (any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o") (const_int 32)))] "!TARGET_64BIT" "#" --- 14577,14584 ---- }) (define_insn_and_split "32di2_doubleword" ! [(set (match_operand:DI 0 "register_operand" "=r,r") ! (any_rotate:DI (match_operand:DI 1 "register_operand" "0,r") (const_int 32)))] "!TARGET_64BIT" "#" *************** *** 14580,14587 **** }) (define_insn_and_split "64ti2_doubleword" ! [(set (match_operand:TI 0 "register_operand" "=r,r,r") ! (any_rotate:TI (match_operand:TI 1 "nonimmediate_operand" "0,r,o") (const_int 64)))] "TARGET_64BIT" "#" --- 14595,14602 ---- }) (define_insn_and_split "64ti2_doubleword" ! [(set (match_operand:TI 0 "register_operand" "=r,r") ! (any_rotate:TI (match_operand:TI 1 "register_operand" "0,r") (const_int 64)))] "TARGET_64BIT" "#" *************** *** 15257,15263 **** (const_int 1) (and:SI (match_operand:SI 2 "register_operand") ! (match_operand 3 "const_int_operand")))]) (label_ref (match_operand 4)) (pc))) (clobber (reg:CC FLAGS_REG))] --- 15272,15279 ---- (const_int 1) (and:SI (match_operand:SI 2 "register_operand") ! (match_operand 3 "const_int_operand"))) ! (const_int 0)]) (label_ref (match_operand 4)) (pc))) (clobber (reg:CC FLAGS_REG))] *************** *** 15293,15299 **** (subreg:QI (and (match_operand 2 "int248_register_operand") ! (match_operand 3 "const_int_operand")) 0)))]) (label_ref (match_operand 4)) (pc))) (clobber (reg:CC FLAGS_REG))] --- 15309,15316 ---- (subreg:QI (and (match_operand 2 "int248_register_operand") ! (match_operand 3 "const_int_operand")) 0))) ! (const_int 0)]) (label_ref (match_operand 4)) (pc))) (clobber (reg:CC FLAGS_REG))] *************** *** 18387,18394 **** "! TARGET_POPCNT" { rtx scratch = gen_reg_rtx (QImode); ! emit_insn (gen_parityhi2_cmp (operands[1])); ix86_expand_setcc (scratch, ORDERED, gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx); --- 18404,18413 ---- "! TARGET_POPCNT" { rtx scratch = gen_reg_rtx (QImode); + rtx tmp = gen_reg_rtx (HImode); ! emit_move_insn (tmp, operands[1]); ! emit_insn (gen_parityhi2_cmp (tmp)); ix86_expand_setcc (scratch, ORDERED, gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx); *************** *** 25417,25422 **** --- 25436,25461 ---- DONE; }) + (define_insn "ldtilecfg" + [(unspec_volatile [(match_operand:XI 0 "memory_operand" "m")] + UNSPECV_LDTILECFG)] + "TARGET_AMX_TILE" + "ldtilecfg\t%0" + [(set_attr "type" "other") + (set_attr "prefix" "maybe_evex") + (set_attr "memory" "load") + (set_attr "mode" "XI")]) + + (define_insn "sttilecfg" + [(set (match_operand:XI 0 "memory_operand" "=m") + (unspec_volatile:XI [(const_int 0)] UNSPECV_STTILECFG))] + "TARGET_AMX_TILE" + "sttilecfg\t%0" + [(set_attr "type" "other") + (set_attr "prefix" "maybe_evex") + (set_attr "memory" "store") + (set_attr "mode" "XI")]) + (include "mmx.md") (include "sse.md") (include "sync.md") diff -Nrcpad gcc-13.2.0/gcc/config/i386/i386.opt gcc-13.3.0/gcc/config/i386/i386.opt *** gcc-13.2.0/gcc/config/i386/i386.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/i386.opt Tue May 21 07:47:38 2024 *************** Enum(lam_type) String(u57) Value(lam_u57 *** 1278,1280 **** --- 1278,1288 ---- mamx-complex Target Mask(ISA2_AMX_COMPLEX) Var(ix86_isa_flags2) Save Support AMX-COMPLEX built-in functions and code generation. + + mgather + Target Alias(mtune-ctrl=, use_gather, ^use_gather) + Enable vectorization for gather instruction. + + mscatter + Target Alias(mtune-ctrl=, use_scatter, ^use_scatter) + Enable vectorization for scatter instruction. diff -Nrcpad gcc-13.2.0/gcc/config/i386/mmx.md gcc-13.3.0/gcc/config/i386/mmx.md *** gcc-13.2.0/gcc/config/i386/mmx.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/mmx.md Tue May 21 07:47:38 2024 *************** *** 1268,1274 **** (match_operand:V2SF 1 "register_operand") 0) (match_dup 2)))] "TARGET_MMX_WITH_SSE" ! "operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V2SFmode)-1);") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; --- 1268,1277 ---- (match_operand:V2SF 1 "register_operand") 0) (match_dup 2)))] "TARGET_MMX_WITH_SSE" ! { ! operands[1] = force_reg (V2SFmode, operands[1]); ! operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V2SFmode)-1); ! }) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; diff -Nrcpad gcc-13.2.0/gcc/config/i386/sse.md gcc-13.3.0/gcc/config/i386/sse.md *** gcc-13.2.0/gcc/config/i386/sse.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/sse.md Tue May 21 07:47:38 2024 *************** *** 4961,4967 **** (match_operand:VF1_AVX2 1 "register_operand") 0) (match_dup 2)))] "TARGET_SSE2" ! "operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (mode)-1);") ;; Also define scalar versions. These are used for abs, neg, and ;; conditional move. Using subregs into vector modes causes register --- 4961,4970 ---- (match_operand:VF1_AVX2 1 "register_operand") 0) (match_dup 2)))] "TARGET_SSE2" ! { ! operands[1] = force_reg (mode, operands[1]); ! operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (mode)-1); ! }) ;; Also define scalar versions. These are used for abs, neg, and ;; conditional move. Using subregs into vector modes causes register *************** *** 6431,6436 **** --- 6434,6447 ---- [(UNSPEC_COMPLEX_FMA_PAIR "fmaddc") (UNSPEC_COMPLEX_FCMA_PAIR "fcmaddc")]) + (define_int_attr int_comm + [(UNSPEC_COMPLEX_FMA "") + (UNSPEC_COMPLEX_FMA_PAIR "") + (UNSPEC_COMPLEX_FCMA "") + (UNSPEC_COMPLEX_FCMA_PAIR "") + (UNSPEC_COMPLEX_FMUL "%") + (UNSPEC_COMPLEX_FCMUL "")]) + (define_int_attr conj_op [(UNSPEC_COMPLEX_FMA "") (UNSPEC_COMPLEX_FCMA "_conj") *************** *** 6544,6550 **** (define_insn "fma__" [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "" "%v") (match_operand:VF_AVX512FP16VL 2 "" "") (match_operand:VF_AVX512FP16VL 3 "" "0")] UNSPEC_COMPLEX_F_C_MA))] --- 6555,6561 ---- (define_insn "fma__" [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "" "v") (match_operand:VF_AVX512FP16VL 2 "" "") (match_operand:VF_AVX512FP16VL 3 "" "0")] UNSPEC_COMPLEX_F_C_MA))] *************** *** 6608,6614 **** (define_insn "fma___pair" [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=&v") (unspec:VF1_AVX512VL ! [(match_operand:VF1_AVX512VL 1 "vector_operand" "%v") (match_operand:VF1_AVX512VL 2 "bcst_vector_operand" "vmBr") (match_operand:VF1_AVX512VL 3 "vector_operand" "0")] UNSPEC_COMPLEX_F_C_MA_PAIR))] --- 6619,6625 ---- (define_insn "fma___pair" [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=&v") (unspec:VF1_AVX512VL ! [(match_operand:VF1_AVX512VL 1 "vector_operand" "v") (match_operand:VF1_AVX512VL 2 "bcst_vector_operand" "vmBr") (match_operand:VF1_AVX512VL 3 "vector_operand" "0")] UNSPEC_COMPLEX_F_C_MA_PAIR))] *************** *** 6675,6681 **** [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (vec_merge:VF_AVX512FP16VL (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "nonimmediate_operand" "%v") (match_operand:VF_AVX512FP16VL 2 "nonimmediate_operand" "") (match_operand:VF_AVX512FP16VL 3 "register_operand" "0")] UNSPEC_COMPLEX_F_C_MA) --- 6686,6692 ---- [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (vec_merge:VF_AVX512FP16VL (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "nonimmediate_operand" "v") (match_operand:VF_AVX512FP16VL 2 "nonimmediate_operand" "") (match_operand:VF_AVX512FP16VL 3 "register_operand" "0")] UNSPEC_COMPLEX_F_C_MA) *************** *** 6699,6705 **** (define_insn "__" [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "nonimmediate_operand" "%v") (match_operand:VF_AVX512FP16VL 2 "nonimmediate_operand" "")] UNSPEC_COMPLEX_F_C_MUL))] "TARGET_AVX512FP16 && " --- 6710,6716 ---- (define_insn "__" [(set (match_operand:VF_AVX512FP16VL 0 "register_operand" "=&v") (unspec:VF_AVX512FP16VL ! [(match_operand:VF_AVX512FP16VL 1 "nonimmediate_operand" "v") (match_operand:VF_AVX512FP16VL 2 "nonimmediate_operand" "")] UNSPEC_COMPLEX_F_C_MUL))] "TARGET_AVX512FP16 && " *************** *** 16627,16633 **** (match_dup 4))] UNSPEC_BLENDV))] { ! if (INTVAL (operands[5]) == 1) std::swap (operands[1], operands[2]); operands[3] = gen_lowpart (mode, operands[3]); }) --- 16638,16644 ---- (match_dup 4))] UNSPEC_BLENDV))] { ! if (INTVAL (operands[5]) == 5) std::swap (operands[1], operands[2]); operands[3] = gen_lowpart (mode, operands[3]); }) *************** *** 16657,16663 **** (match_dup 4))] UNSPEC_BLENDV))] { ! if (INTVAL (operands[5]) == 1) std::swap (operands[1], operands[2]); }) --- 16668,16674 ---- (match_dup 4))] UNSPEC_BLENDV))] { ! if (INTVAL (operands[5]) == 5) std::swap (operands[1], operands[2]); }) *************** *** 28936,28943 **** (match_operand: 3 "register_operand")] "TARGET_AVX512BF16" { ! emit_insn (gen_avx512f_cvtne2ps2bf16__mask(operands[0], operands[2], ! operands[1], CONST0_RTX(mode), operands[3])); DONE; }) --- 28947,28954 ---- (match_operand: 3 "register_operand")] "TARGET_AVX512BF16" { ! emit_insn (gen_avx512f_cvtne2ps2bf16__mask(operands[0], operands[1], ! operands[2], CONST0_RTX(mode), operands[3])); DONE; }) diff -Nrcpad gcc-13.2.0/gcc/config/i386/x86-tune.def gcc-13.3.0/gcc/config/i386/x86-tune.def *** gcc-13.2.0/gcc/config/i386/x86-tune.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/i386/x86-tune.def Tue May 21 07:47:38 2024 *************** DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES, *** 481,487 **** /* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC)) /* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2 elements. */ --- 481,488 ---- /* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE ! | m_CORE_ATOM | m_GENERIC | m_GDS)) /* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2 elements. */ *************** DEF_TUNE (X86_TUNE_USE_SCATTER_2PARTS, " *** 491,497 **** /* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC)) /* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4 elements. */ --- 492,499 ---- /* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE ! | m_CORE_ATOM | m_GENERIC | m_GDS)) /* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4 elements. */ *************** DEF_TUNE (X86_TUNE_USE_SCATTER_4PARTS, " *** 500,511 **** /* X86_TUNE_USE_GATHER: Use gather instructions for vectors with 8 or more elements. */ ! DEF_TUNE (X86_TUNE_USE_GATHER, "use_gather", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER4 | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC)) /* X86_TUNE_USE_SCATTER: Use scater instructions for vectors with 8 or more elements. */ ! DEF_TUNE (X86_TUNE_USE_SCATTER, "use_scatter", ~(m_ZNVER4)) /* X86_TUNE_AVOID_128FMA_CHAINS: Avoid creating loops with tight 128bit or --- 502,514 ---- /* X86_TUNE_USE_GATHER: Use gather instructions for vectors with 8 or more elements. */ ! DEF_TUNE (X86_TUNE_USE_GATHER_8PARTS, "use_gather_8parts", ! ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER4 | m_ALDERLAKE ! | m_CORE_ATOM | m_GENERIC | m_GDS)) /* X86_TUNE_USE_SCATTER: Use scater instructions for vectors with 8 or more elements. */ ! DEF_TUNE (X86_TUNE_USE_SCATTER_8PARTS, "use_scatter_8parts", ~(m_ZNVER4)) /* X86_TUNE_AVOID_128FMA_CHAINS: Avoid creating loops with tight 128bit or diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/genopts/loongarch.opt.in gcc-13.3.0/gcc/config/loongarch/genopts/loongarch.opt.in *** gcc-13.2.0/gcc/config/loongarch/genopts/loongarch.opt.in Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/genopts/loongarch.opt.in Tue May 21 07:47:38 2024 *************** EnumValue *** 58,64 **** Enum(isa_ext_fpu) String(@@STR_ISA_EXT_FPU64@@) Value(ISA_EXT_FPU64) m@@OPTSTR_ISA_EXT_FPU@@= ! Target RejectNegative Joined ToLower Enum(isa_ext_fpu) Var(la_opt_fpu) Init(M_OPTION_NOT_SEEN) -m@@OPTSTR_ISA_EXT_FPU@@=FPU Generate code for the given FPU. m@@OPTSTR_ISA_EXT_FPU@@=@@STR_ISA_EXT_FPU0@@ --- 58,64 ---- Enum(isa_ext_fpu) String(@@STR_ISA_EXT_FPU64@@) Value(ISA_EXT_FPU64) m@@OPTSTR_ISA_EXT_FPU@@= ! Target RejectNegative Joined ToLower Enum(isa_ext_fpu) Var(la_opt_fpu) Init(M_OPTION_NOT_SEEN) Save -m@@OPTSTR_ISA_EXT_FPU@@=FPU Generate code for the given FPU. m@@OPTSTR_ISA_EXT_FPU@@=@@STR_ISA_EXT_FPU0@@ *************** EnumValue *** 92,102 **** Enum(cpu_type) String(@@STR_CPU_LA464@@) Value(CPU_LA464) m@@OPTSTR_ARCH@@= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_arch) Init(M_OPTION_NOT_SEEN) -m@@OPTSTR_ARCH@@=PROCESSOR Generate code for the given PROCESSOR ISA. m@@OPTSTR_TUNE@@= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_tune) Init(M_OPTION_NOT_SEEN) -m@@OPTSTR_TUNE@@=PROCESSOR Generate optimized code for PROCESSOR. --- 92,102 ---- Enum(cpu_type) String(@@STR_CPU_LA464@@) Value(CPU_LA464) m@@OPTSTR_ARCH@@= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_arch) Init(M_OPTION_NOT_SEEN) Save -m@@OPTSTR_ARCH@@=PROCESSOR Generate code for the given PROCESSOR ISA. m@@OPTSTR_TUNE@@= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_tune) Init(M_OPTION_NOT_SEEN) Save -m@@OPTSTR_TUNE@@=PROCESSOR Generate optimized code for PROCESSOR. *************** int la_opt_abi_ext = M_OPTION_NOT_SEEN *** 127,161 **** mbranch-cost= ! Target RejectNegative Joined UInteger Var(loongarch_branch_cost) -mbranch-cost=COST Set the cost of branches to roughly COST instructions. mcheck-zero-division ! Target Mask(CHECK_ZERO_DIV) Trap on integer divide by zero. mcond-move-int ! Target Var(TARGET_COND_MOVE_INT) Init(1) Conditional moves for integral are enabled. mcond-move-float ! Target Var(TARGET_COND_MOVE_FLOAT) Init(1) Conditional moves for float are enabled. mmemcpy ! Target Mask(MEMCPY) Prevent optimizing block moves, which is also the default behavior of -Os. mstrict-align ! Target Var(TARGET_STRICT_ALIGN) Init(0) Do not generate unaligned memory accesses. mmax-inline-memcpy-size= ! Target Joined RejectNegative UInteger Var(loongarch_max_inline_memcpy_size) Init(1024) -mmax-inline-memcpy-size=SIZE Set the max size of memcpy to inline, default is 1024. mexplicit-relocs ! Target Var(TARGET_EXPLICIT_RELOCS) Init(HAVE_AS_EXPLICIT_RELOCS) Use %reloc() assembly operators. ; The code model option names for -mcmodel. --- 127,161 ---- mbranch-cost= ! Target RejectNegative Joined UInteger Var(loongarch_branch_cost) Save -mbranch-cost=COST Set the cost of branches to roughly COST instructions. mcheck-zero-division ! Target Mask(CHECK_ZERO_DIV) Save Trap on integer divide by zero. mcond-move-int ! Target Var(TARGET_COND_MOVE_INT) Init(1) Save Conditional moves for integral are enabled. mcond-move-float ! Target Var(TARGET_COND_MOVE_FLOAT) Init(1) Save Conditional moves for float are enabled. mmemcpy ! Target Mask(MEMCPY) Save Prevent optimizing block moves, which is also the default behavior of -Os. mstrict-align ! Target Var(TARGET_STRICT_ALIGN) Init(0) Save Do not generate unaligned memory accesses. mmax-inline-memcpy-size= ! Target Joined RejectNegative UInteger Var(loongarch_max_inline_memcpy_size) Init(1024) Save -mmax-inline-memcpy-size=SIZE Set the max size of memcpy to inline, default is 1024. mexplicit-relocs ! Target Var(TARGET_EXPLICIT_RELOCS) Init(M_OPTION_NOT_SEEN) Use %reloc() assembly operators. ; The code model option names for -mcmodel. *************** EnumValue *** 182,190 **** Enum(cmodel) String(@@STR_CMODEL_EXTREME@@) Value(CMODEL_EXTREME) mcmodel= ! Target RejectNegative Joined Enum(cmodel) Var(la_opt_cmodel) Init(CMODEL_NORMAL) Specify the code model. mdirect-extern-access ! Target Var(TARGET_DIRECT_EXTERN_ACCESS) Init(0) Avoid using the GOT to access external symbols. --- 182,199 ---- Enum(cmodel) String(@@STR_CMODEL_EXTREME@@) Value(CMODEL_EXTREME) mcmodel= ! Target RejectNegative Joined Enum(cmodel) Var(la_opt_cmodel) Init(CMODEL_NORMAL) Save Specify the code model. mdirect-extern-access ! Target Var(TARGET_DIRECT_EXTERN_ACCESS) Init(0) Save Avoid using the GOT to access external symbols. + + mrelax + Target Var(loongarch_mrelax) Init(HAVE_AS_MRELAX_OPTION && HAVE_AS_COND_BRANCH_RELAXATION) + Take advantage of linker relaxations to reduce the number of instructions + required to materialize symbol addresses. + + mpass-mrelax-to-as + Target Var(loongarch_pass_mrelax_to_as) Init(HAVE_AS_MRELAX_OPTION) + Pass -mrelax or -mno-relax option to the assembler. diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/gnu-user.h gcc-13.3.0/gcc/config/loongarch/gnu-user.h *** gcc-13.2.0/gcc/config/loongarch/gnu-user.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/gnu-user.h Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 33,41 **** #define GLIBC_DYNAMIC_LINKER \ "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1" #undef MUSL_DYNAMIC_LINKER #define MUSL_DYNAMIC_LINKER \ ! "/lib" ABI_GRLEN_SPEC "/ld-musl-loongarch-" ABI_SPEC ".so.1" #undef GNU_USER_TARGET_LINK_SPEC #define GNU_USER_TARGET_LINK_SPEC \ --- 33,46 ---- #define GLIBC_DYNAMIC_LINKER \ "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1" + #define MUSL_ABI_SPEC \ + "%{mabi=lp64d:}" \ + "%{mabi=lp64f:-sp}" \ + "%{mabi=lp64s:-sf}" + #undef MUSL_DYNAMIC_LINKER #define MUSL_DYNAMIC_LINKER \ ! "/lib/ld-musl-loongarch" ABI_GRLEN_SPEC MUSL_ABI_SPEC ".so.1" #undef GNU_USER_TARGET_LINK_SPEC #define GNU_USER_TARGET_LINK_SPEC \ *************** along with GCC; see the file COPYING3. *** 43,49 **** "%{!shared: %{static} " \ "%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \ "-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \ ! "%{static-pie: -static -pie --no-dynamic-linker -z text}}" /* Similar to standard Linux, but adding -ffast-math support. */ --- 48,55 ---- "%{!shared: %{static} " \ "%{!static: %{!static-pie: %{rdynamic:-export-dynamic} " \ "-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} " \ ! "%{static-pie: -static -pie --no-dynamic-linker -z text}}" \ ! "%{mno-relax: --no-relax}" /* Similar to standard Linux, but adding -ffast-math support. */ diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch-opts.cc gcc-13.3.0/gcc/config/loongarch/loongarch-opts.cc *** gcc-13.2.0/gcc/config/loongarch/loongarch-opts.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch-opts.cc Tue May 21 07:47:38 2024 *************** multilib_enabled_abi_list () *** 594,596 **** --- 594,618 ---- return XOBFINISH (&msg_obstack, const char *); } + + /* option status feedback for "gcc --help=target -Q" */ + void + loongarch_update_gcc_opt_status (struct loongarch_target *target, + struct gcc_options *opts, + struct gcc_options *opts_set) + { + (void) opts_set; + + /* status of -mabi */ + opts->x_la_opt_abi_base = target->abi.base; + + /* status of -march and -mtune */ + opts->x_la_opt_cpu_arch = target->cpu_arch; + opts->x_la_opt_cpu_tune = target->cpu_tune; + + /* status of -mcmodel */ + opts->x_la_opt_cmodel = target->cmodel; + + /* status of -mfpu */ + opts->x_la_opt_fpu = target->isa.fpu; + } diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch-opts.h gcc-13.3.0/gcc/config/loongarch/loongarch-opts.h *** gcc-13.2.0/gcc/config/loongarch/loongarch-opts.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch-opts.h Tue May 21 07:47:38 2024 *************** loongarch_config_target (struct loongarc *** 39,44 **** --- 39,50 ---- int opt_arch, int opt_tune, int opt_fpu, int opt_abi_base, int opt_abi_ext, int opt_cmodel, int follow_multilib_list); + + /* option status feedback for "gcc --help=target -Q" */ + void + loongarch_update_gcc_opt_status (struct loongarch_target *target, + struct gcc_options *opts, + struct gcc_options *opts_set); #endif *************** loongarch_config_target (struct loongarc *** 92,95 **** --- 98,113 ---- #define HAVE_AS_EXPLICIT_RELOCS 0 #endif + #ifndef HAVE_AS_MRELAX_OPTION + #define HAVE_AS_MRELAX_OPTION 0 + #endif + + #ifndef HAVE_AS_COND_BRANCH_RELAXATION + #define HAVE_AS_COND_BRANCH_RELAXATION 0 + #endif + + #ifndef HAVE_AS_TLS + #define HAVE_AS_TLS 0 + #endif + #endif /* LOONGARCH_OPTS_H */ diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch-protos.h gcc-13.3.0/gcc/config/loongarch/loongarch-protos.h *** gcc-13.2.0/gcc/config/loongarch/loongarch-protos.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch-protos.h Tue May 21 07:47:38 2024 *************** enum loongarch_symbol_type { *** 60,66 **** extern rtx loongarch_emit_move (rtx, rtx); extern HOST_WIDE_INT loongarch_initial_elimination_offset (int, int); extern void loongarch_expand_prologue (void); ! extern void loongarch_expand_epilogue (bool); extern bool loongarch_can_use_return_insn (void); extern bool loongarch_symbolic_constant_p (rtx, enum loongarch_symbol_type *); --- 60,66 ---- extern rtx loongarch_emit_move (rtx, rtx); extern HOST_WIDE_INT loongarch_initial_elimination_offset (int, int); extern void loongarch_expand_prologue (void); ! extern void loongarch_expand_epilogue (int); extern bool loongarch_can_use_return_insn (void); extern bool loongarch_symbolic_constant_p (rtx, enum loongarch_symbol_type *); diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch.cc gcc-13.3.0/gcc/config/loongarch/loongarch.cc *** gcc-13.2.0/gcc/config/loongarch/loongarch.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch.cc Tue May 21 07:47:38 2024 *************** loongarch_setup_incoming_varargs (cumula *** 760,766 **** argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) loongarch_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ --- 760,772 ---- argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! ! /* For a C23 variadic function w/o any named argument, and w/o an ! artifical argument for large return value, skip advancing args. ! There is such an artifical argument iff. arg.type is non-NULL ! (PR 114175). */ ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) loongarch_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ *************** loongarch_save_restore_reg (machine_mode *** 1006,1012 **** static void loongarch_for_each_saved_reg (HOST_WIDE_INT sp_offset, ! loongarch_save_restore_fn fn) { HOST_WIDE_INT offset; --- 1012,1019 ---- static void loongarch_for_each_saved_reg (HOST_WIDE_INT sp_offset, ! loongarch_save_restore_fn fn, ! bool skip_eh_data_regs_p) { HOST_WIDE_INT offset; *************** loongarch_for_each_saved_reg (HOST_WIDE_ *** 1015,1021 **** for (int regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++) if (BITSET_P (cfun->machine->frame.mask, regno - GP_REG_FIRST)) { ! loongarch_save_restore_reg (word_mode, regno, offset, fn); offset -= UNITS_PER_WORD; } --- 1022,1036 ---- for (int regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++) if (BITSET_P (cfun->machine->frame.mask, regno - GP_REG_FIRST)) { ! /* Special care needs to be taken for $r4-$r7 (EH_RETURN_DATA_REGNO) ! when returning normally from a function that calls ! __builtin_eh_return. In this case, these registers are saved but ! should not be restored, or the return value may be clobbered. */ ! ! if (!(skip_eh_data_regs_p ! && GP_ARG_FIRST <= regno && regno < GP_ARG_FIRST + 4)) ! loongarch_save_restore_reg (word_mode, regno, offset, fn); ! offset -= UNITS_PER_WORD; } *************** loongarch_first_stack_step (struct loong *** 1105,1111 **** static void loongarch_emit_stack_tie (void) { ! emit_insn (gen_stack_tie (Pmode, stack_pointer_rtx, hard_frame_pointer_rtx)); } #define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP) --- 1120,1128 ---- static void loongarch_emit_stack_tie (void) { ! emit_insn (gen_stack_tie (Pmode, stack_pointer_rtx, ! frame_pointer_needed ? hard_frame_pointer_rtx ! : stack_pointer_rtx)); } #define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP) *************** loongarch_expand_prologue (void) *** 1282,1288 **** GEN_INT (-step1)); RTX_FRAME_RELATED_P (emit_insn (insn)) = 1; size -= step1; ! loongarch_for_each_saved_reg (size, loongarch_save_reg); } /* Set up the frame pointer, if we're using one. */ --- 1299,1305 ---- GEN_INT (-step1)); RTX_FRAME_RELATED_P (emit_insn (insn)) = 1; size -= step1; ! loongarch_for_each_saved_reg (size, loongarch_save_reg, false); } /* Set up the frame pointer, if we're using one. */ *************** loongarch_can_use_return_insn (void) *** 1367,1377 **** return reload_completed && cfun->machine->frame.total_size == 0; } ! /* Expand an "epilogue" or "sibcall_epilogue" pattern; SIBCALL_P ! says which. */ void ! loongarch_expand_epilogue (bool sibcall_p) { /* Split the frame into two. STEP1 is the amount of stack we should deallocate before restoring the registers. STEP2 is the amount we --- 1384,1396 ---- return reload_completed && cfun->machine->frame.total_size == 0; } ! /* Expand function epilogue using the following insn patterns: ! "epilogue" (style == NORMAL_RETURN) ! "sibcall_epilogue" (style == SIBCALL_RETURN) ! "eh_return" (style == EXCEPTION_RETURN) */ void ! loongarch_expand_epilogue (int style) { /* Split the frame into two. STEP1 is the amount of stack we should deallocate before restoring the registers. STEP2 is the amount we *************** loongarch_expand_epilogue (bool sibcall_ *** 1388,1394 **** bool need_barrier_p = (get_frame_size () + cfun->machine->frame.arg_pointer_offset) != 0; ! if (!sibcall_p && loongarch_can_use_return_insn ()) { emit_jump_insn (gen_return ()); return; --- 1407,1414 ---- bool need_barrier_p = (get_frame_size () + cfun->machine->frame.arg_pointer_offset) != 0; ! /* Handle simple returns. */ ! if (style == NORMAL_RETURN && loongarch_can_use_return_insn ()) { emit_jump_insn (gen_return ()); return; *************** loongarch_expand_epilogue (bool sibcall_ *** 1464,1470 **** /* Restore the registers. */ loongarch_for_each_saved_reg (frame->total_size - step2, ! loongarch_restore_reg); if (need_barrier_p) loongarch_emit_stack_tie (); --- 1484,1492 ---- /* Restore the registers. */ loongarch_for_each_saved_reg (frame->total_size - step2, ! loongarch_restore_reg, ! crtl->calls_eh_return ! && style != EXCEPTION_RETURN); if (need_barrier_p) loongarch_emit_stack_tie (); *************** loongarch_expand_epilogue (bool sibcall_ *** 1485,1495 **** } /* Add in the __builtin_eh_return stack adjustment. */ ! if (crtl->calls_eh_return) emit_insn (gen_add3_insn (stack_pointer_rtx, stack_pointer_rtx, EH_RETURN_STACKADJ_RTX)); ! if (!sibcall_p) emit_jump_insn (gen_simple_return_internal (ra)); } --- 1507,1518 ---- } /* Add in the __builtin_eh_return stack adjustment. */ ! if (crtl->calls_eh_return && style == EXCEPTION_RETURN) emit_insn (gen_add3_insn (stack_pointer_rtx, stack_pointer_rtx, EH_RETURN_STACKADJ_RTX)); ! /* Emit return unless doing sibcall. */ ! if (style != SIBCALL_RETURN) emit_jump_insn (gen_simple_return_internal (ra)); } *************** loongarch_memmodel_needs_rel_acq_fence ( *** 4812,4838 **** } } ! /* Return true if a FENCE should be emitted to before a memory access to ! implement the release portion of memory model MODEL. */ static bool ! loongarch_memmodel_needs_release_fence (enum memmodel model) { ! switch (model) { case MEMMODEL_ACQ_REL: case MEMMODEL_SEQ_CST: - case MEMMODEL_SYNC_SEQ_CST: - case MEMMODEL_RELEASE: - case MEMMODEL_SYNC_RELEASE: return true; - case MEMMODEL_ACQUIRE: - case MEMMODEL_CONSUME: - case MEMMODEL_SYNC_ACQUIRE: case MEMMODEL_RELAXED: return false; default: gcc_unreachable (); } --- 4835,4861 ---- } } ! /* Return true if a FENCE should be emitted after a failed CAS to ! implement the acquire semantic of failure_memorder. */ static bool ! loongarch_cas_failure_memorder_needs_acquire (enum memmodel model) { ! switch (memmodel_base (model)) { + case MEMMODEL_ACQUIRE: case MEMMODEL_ACQ_REL: case MEMMODEL_SEQ_CST: return true; case MEMMODEL_RELAXED: + case MEMMODEL_RELEASE: return false; + /* MEMMODEL_CONSUME is deliberately not handled because it's always + replaced by MEMMODEL_ACQUIRE as at now. If you see an ICE caused by + MEMMODEL_CONSUME, read the change (re)introducing it carefully and + decide what to do. See PR 59448 and get_memmodel in builtins.cc. */ default: gcc_unreachable (); } *************** loongarch_print_operand_reloc (FILE *fil *** 4942,4948 **** 'C' Print the integer branch condition for comparison OP. 'd' Print CONST_INT OP in decimal. 'F' Print the FPU branch condition for comparison OP. ! 'G' Print a DBAR insn if the memory model requires a release. 'H' Print address 52-61bit relocation associated with OP. 'h' Print the high-part relocation associated with OP. 'i' Print i if the operand is not a register. --- 4965,4972 ---- 'C' Print the integer branch condition for comparison OP. 'd' Print CONST_INT OP in decimal. 'F' Print the FPU branch condition for comparison OP. ! 'G' Print a DBAR insn for CAS failure (with an acquire semantic if ! needed, otherwise a simple load-load barrier). 'H' Print address 52-61bit relocation associated with OP. 'h' Print the high-part relocation associated with OP. 'i' Print i if the operand is not a register. *************** loongarch_print_operand (FILE *file, rtx *** 5009,5016 **** break; case 'G': ! if (loongarch_memmodel_needs_release_fence ((enum memmodel) INTVAL (op))) ! fputs ("dbar\t0", file); break; case 'h': --- 5033,5043 ---- break; case 'G': ! if (loongarch_cas_failure_memorder_needs_acquire ( ! memmodel_from_int (INTVAL (op)))) ! fputs ("dbar\t0b10100", file); ! else ! fputs ("dbar\t0x700", file); break; case 'h': *************** loongarch_init_machine_status (void) *** 6132,6138 **** } static void ! loongarch_option_override_internal (struct gcc_options *opts) { int i, regno, mode; --- 6159,6166 ---- } static void ! loongarch_option_override_internal (struct gcc_options *opts, ! struct gcc_options *opts_set) { int i, regno, mode; *************** loongarch_option_override_internal (stru *** 6144,6149 **** --- 6172,6179 ---- la_opt_cpu_arch, la_opt_cpu_tune, la_opt_fpu, la_opt_abi_base, la_opt_abi_ext, la_opt_cmodel, 0); + loongarch_update_gcc_opt_status (&la_target, opts, opts_set); + if (TARGET_ABI_LP64) flag_pcc_struct_return = 0; *************** loongarch_option_override_internal (stru *** 6216,6221 **** --- 6246,6255 ---- gcc_unreachable (); } + if (TARGET_EXPLICIT_RELOCS == M_OPTION_NOT_SEEN) + TARGET_EXPLICIT_RELOCS = (HAVE_AS_EXPLICIT_RELOCS + && !loongarch_mrelax); + /* Validate the guard size. */ int guard_size = param_stack_clash_protection_guard_size; *************** loongarch_option_override_internal (stru *** 6254,6260 **** static void loongarch_option_override (void) { ! loongarch_option_override_internal (&global_options); } /* Implement TARGET_CONDITIONAL_REGISTER_USAGE. */ --- 6288,6317 ---- static void loongarch_option_override (void) { ! loongarch_option_override_internal (&global_options, &global_options_set); ! } ! ! /* Implement TARGET_OPTION_SAVE. */ ! static void ! loongarch_option_save (struct cl_target_option *, ! struct gcc_options *opts, ! struct gcc_options *opts_set) ! { ! loongarch_update_gcc_opt_status (&la_target, opts, opts_set); ! } ! ! /* Implement TARGET_OPTION_RESTORE. */ ! static void ! loongarch_option_restore (struct gcc_options *, ! struct gcc_options *, ! struct cl_target_option *ptr) ! { ! la_target.cpu_arch = ptr->x_la_opt_cpu_arch; ! la_target.cpu_tune = ptr->x_la_opt_cpu_tune; ! ! la_target.isa.fpu = ptr->x_la_opt_fpu; ! ! la_target.cmodel = ptr->x_la_opt_cmodel; } /* Implement TARGET_CONDITIONAL_REGISTER_USAGE. */ *************** loongarch_asan_shadow_offset (void) *** 6584,6589 **** --- 6641,6650 ---- #undef TARGET_OPTION_OVERRIDE #define TARGET_OPTION_OVERRIDE loongarch_option_override + #define TARGET_OPTION_SAVE loongarch_option_save + #undef TARGET_OPTION_RESTORE + #define TARGET_OPTION_RESTORE loongarch_option_restore + #undef TARGET_LEGITIMIZE_ADDRESS #define TARGET_LEGITIMIZE_ADDRESS loongarch_legitimize_address diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch.h gcc-13.3.0/gcc/config/loongarch/loongarch.h *** gcc-13.2.0/gcc/config/loongarch/loongarch.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch.h Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 69,76 **** #define SUBTARGET_ASM_SPEC "" #endif #undef ASM_SPEC ! #define ASM_SPEC "%{mabi=*} %{subtarget_asm_spec}" /* Extra switches sometimes passed to the linker. */ --- 69,91 ---- #define SUBTARGET_ASM_SPEC "" #endif + #if HAVE_AS_MRELAX_OPTION && HAVE_AS_COND_BRANCH_RELAXATION + #define ASM_MRELAX_DEFAULT "%{!mrelax:%{!mno-relax:-mrelax}}" + #else + #define ASM_MRELAX_DEFAULT "%{!mrelax:%{!mno-relax:-mno-relax}}" + #endif + + #if HAVE_AS_MRELAX_OPTION + #define ASM_MRELAX_SPEC \ + "%{!mno-pass-mrelax-to-as:%{mrelax} %{mno-relax} " ASM_MRELAX_DEFAULT "}" + #else + #define ASM_MRELAX_SPEC \ + "%{mpass-mrelax-to-as:%{mrelax} %{mno-relax} " ASM_MRELAX_DEFAULT "}" + #endif + #undef ASM_SPEC ! #define ASM_SPEC \ ! "%{mabi=*} " ASM_MRELAX_SPEC " %(subtarget_asm_spec)" /* Extra switches sometimes passed to the linker. */ *************** typedef struct { *** 982,992 **** #define ASM_OUTPUT_ALIGN(STREAM, LOG) fprintf (STREAM, "\t.align\t%d\n", (LOG)) - /* "nop" instruction 54525952 (andi $r0,$r0,0) is - used for padding. */ - #define ASM_OUTPUT_ALIGN_WITH_NOP(STREAM, LOG) \ - fprintf (STREAM, "\t.align\t%d,54525952,4\n", (LOG)) - /* This is how to output an assembler line to advance the location counter by SIZE bytes. */ --- 997,1002 ---- *************** struct GTY (()) machine_function *** 1157,1159 **** --- 1167,1174 ---- (TARGET_HARD_FLOAT_ABI ? (TARGET_DOUBLE_FLOAT_ABI ? 8 : 4) : 0) #define FUNCTION_VALUE_REGNO_P(N) ((N) == GP_RETURN || (N) == FP_RETURN) + + /* LoongArch maintains ICache/DCache coherency by hardware, + we just need "ibar" to avoid instruction hazard here. */ + #undef CLEAR_INSN_CACHE + #define CLEAR_INSN_CACHE(beg, end) __builtin_loongarch_ibar (0) diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch.md gcc-13.3.0/gcc/config/loongarch/loongarch.md *** gcc-13.2.0/gcc/config/loongarch/loongarch.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch.md Tue May 21 07:47:38 2024 *************** *** 110,119 **** --- 110,125 ---- (define_constants [(RETURN_ADDR_REGNUM 1) + (TP_REGNUM 2) (T0_REGNUM 12) (T1_REGNUM 13) (S0_REGNUM 23) + ;; Return path styles + (NORMAL_RETURN 0) + (SIBCALL_RETURN 1) + (EXCEPTION_RETURN 2) + ;; PIC long branch sequences are never longer than 100 bytes. (MAX_PIC_BRANCH_LENGTH 100) ]) *************** *** 2946,2952 **** [(const_int 2)] "" { ! loongarch_expand_epilogue (false); DONE; }) --- 2952,2958 ---- [(const_int 2)] "" { ! loongarch_expand_epilogue (NORMAL_RETURN); DONE; }) *************** *** 2954,2960 **** [(const_int 2)] "" { ! loongarch_expand_epilogue (true); DONE; }) --- 2960,2966 ---- [(const_int 2)] "" { ! loongarch_expand_epilogue (SIBCALL_RETURN); DONE; }) *************** *** 3011,3016 **** --- 3017,3036 ---- emit_insn (gen_eh_set_ra_di (operands[0])); else emit_insn (gen_eh_set_ra_si (operands[0])); + + emit_jump_insn (gen_eh_return_internal ()); + emit_barrier (); + DONE; + }) + + (define_insn_and_split "eh_return_internal" + [(eh_return)] + "" + "#" + "epilogue_completed" + [(const_int 0)] + { + loongarch_expand_epilogue (EXCEPTION_RETURN); DONE; }) *************** *** 3446,3451 **** --- 3466,3477 ---- [(set_attr "length" "0") (set_attr "type" "ghost")]) + ;; Named pattern for expanding thread pointer reference. + (define_expand "get_thread_pointer" + [(set (match_operand:P 0 "register_operand" "=r") + (reg:P TP_REGNUM))] + "HAVE_AS_TLS" + {}) (define_split [(match_operand 0 "small_data_pattern")] diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/loongarch.opt gcc-13.3.0/gcc/config/loongarch/loongarch.opt *** gcc-13.2.0/gcc/config/loongarch/loongarch.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/loongarch.opt Tue May 21 07:47:38 2024 *************** EnumValue *** 65,71 **** Enum(isa_ext_fpu) String(64) Value(ISA_EXT_FPU64) mfpu= ! Target RejectNegative Joined ToLower Enum(isa_ext_fpu) Var(la_opt_fpu) Init(M_OPTION_NOT_SEEN) -mfpu=FPU Generate code for the given FPU. mfpu=0 --- 65,71 ---- Enum(isa_ext_fpu) String(64) Value(ISA_EXT_FPU64) mfpu= ! Target RejectNegative Joined ToLower Enum(isa_ext_fpu) Var(la_opt_fpu) Init(M_OPTION_NOT_SEEN) Save -mfpu=FPU Generate code for the given FPU. mfpu=0 *************** EnumValue *** 99,109 **** Enum(cpu_type) String(la464) Value(CPU_LA464) march= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_arch) Init(M_OPTION_NOT_SEEN) -march=PROCESSOR Generate code for the given PROCESSOR ISA. mtune= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_tune) Init(M_OPTION_NOT_SEEN) -mtune=PROCESSOR Generate optimized code for PROCESSOR. --- 99,109 ---- Enum(cpu_type) String(la464) Value(CPU_LA464) march= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_arch) Init(M_OPTION_NOT_SEEN) Save -march=PROCESSOR Generate code for the given PROCESSOR ISA. mtune= ! Target RejectNegative Joined Enum(cpu_type) Var(la_opt_cpu_tune) Init(M_OPTION_NOT_SEEN) Save -mtune=PROCESSOR Generate optimized code for PROCESSOR. *************** int la_opt_abi_ext = M_OPTION_NOT_SEEN *** 134,168 **** mbranch-cost= ! Target RejectNegative Joined UInteger Var(loongarch_branch_cost) -mbranch-cost=COST Set the cost of branches to roughly COST instructions. mcheck-zero-division ! Target Mask(CHECK_ZERO_DIV) Trap on integer divide by zero. mcond-move-int ! Target Var(TARGET_COND_MOVE_INT) Init(1) Conditional moves for integral are enabled. mcond-move-float ! Target Var(TARGET_COND_MOVE_FLOAT) Init(1) Conditional moves for float are enabled. mmemcpy ! Target Mask(MEMCPY) Prevent optimizing block moves, which is also the default behavior of -Os. mstrict-align ! Target Var(TARGET_STRICT_ALIGN) Init(0) Do not generate unaligned memory accesses. mmax-inline-memcpy-size= ! Target Joined RejectNegative UInteger Var(loongarch_max_inline_memcpy_size) Init(1024) -mmax-inline-memcpy-size=SIZE Set the max size of memcpy to inline, default is 1024. mexplicit-relocs ! Target Var(TARGET_EXPLICIT_RELOCS) Init(HAVE_AS_EXPLICIT_RELOCS) Use %reloc() assembly operators. ; The code model option names for -mcmodel. --- 134,168 ---- mbranch-cost= ! Target RejectNegative Joined UInteger Var(loongarch_branch_cost) Save -mbranch-cost=COST Set the cost of branches to roughly COST instructions. mcheck-zero-division ! Target Mask(CHECK_ZERO_DIV) Save Trap on integer divide by zero. mcond-move-int ! Target Var(TARGET_COND_MOVE_INT) Init(1) Save Conditional moves for integral are enabled. mcond-move-float ! Target Var(TARGET_COND_MOVE_FLOAT) Init(1) Save Conditional moves for float are enabled. mmemcpy ! Target Mask(MEMCPY) Save Prevent optimizing block moves, which is also the default behavior of -Os. mstrict-align ! Target Var(TARGET_STRICT_ALIGN) Init(0) Save Do not generate unaligned memory accesses. mmax-inline-memcpy-size= ! Target Joined RejectNegative UInteger Var(loongarch_max_inline_memcpy_size) Init(1024) Save -mmax-inline-memcpy-size=SIZE Set the max size of memcpy to inline, default is 1024. mexplicit-relocs ! Target Var(TARGET_EXPLICIT_RELOCS) Init(M_OPTION_NOT_SEEN) Use %reloc() assembly operators. ; The code model option names for -mcmodel. *************** EnumValue *** 189,197 **** Enum(cmodel) String(extreme) Value(CMODEL_EXTREME) mcmodel= ! Target RejectNegative Joined Enum(cmodel) Var(la_opt_cmodel) Init(CMODEL_NORMAL) Specify the code model. mdirect-extern-access ! Target Var(TARGET_DIRECT_EXTERN_ACCESS) Init(0) Avoid using the GOT to access external symbols. --- 189,206 ---- Enum(cmodel) String(extreme) Value(CMODEL_EXTREME) mcmodel= ! Target RejectNegative Joined Enum(cmodel) Var(la_opt_cmodel) Init(CMODEL_NORMAL) Save Specify the code model. mdirect-extern-access ! Target Var(TARGET_DIRECT_EXTERN_ACCESS) Init(0) Save Avoid using the GOT to access external symbols. + + mrelax + Target Var(loongarch_mrelax) Init(HAVE_AS_MRELAX_OPTION && HAVE_AS_COND_BRANCH_RELAXATION) + Take advantage of linker relaxations to reduce the number of instructions + required to materialize symbol addresses. + + mpass-mrelax-to-as + Target Var(loongarch_pass_mrelax_to_as) Init(HAVE_AS_MRELAX_OPTION) + Pass -mrelax or -mno-relax option to the assembler. diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/sync.md gcc-13.3.0/gcc/config/loongarch/sync.md *** gcc-13.2.0/gcc/config/loongarch/sync.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/sync.md Tue May 21 07:47:38 2024 *************** *** 129,147 **** (clobber (match_scratch:GPR 6 "=&r"))] "" { ! return "%G5\\n\\t" ! "1:\\n\\t" ! "ll.\\t%0,%1\\n\\t" ! "bne\\t%0,%z2,2f\\n\\t" ! "or%i3\\t%6,$zero,%3\\n\\t" ! "sc.\\t%6,%1\\n\\t" ! "beq\\t$zero,%6,1b\\n\\t" ! "b\\t3f\\n\\t" ! "2:\\n\\t" ! "dbar\\t0x700\\n\\t" ! "3:\\n\\t"; } ! [(set (attr "length") (const_int 32))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output --- 129,170 ---- (clobber (match_scratch:GPR 6 "=&r"))] "" { ! output_asm_insn ("1:", operands); ! output_asm_insn ("ll.\t%0,%1", operands); ! ! /* Like the test case atomic-cas-int.C, in loongarch64, O1 and higher, the ! return value of the val_without_const_folding will not be truncated and ! will be passed directly to the function compare_exchange_strong. ! However, the instruction 'bne' does not distinguish between 32-bit and ! 64-bit operations. so if the upper 32 bits of the register are not ! extended by the 32nd bit symbol, then the comparison may not be valid ! here. This will affect the result of the operation. */ ! ! if (TARGET_64BIT && REG_P (operands[2]) ! && GET_MODE (operands[2]) == SImode) ! { ! output_asm_insn ("addi.w\t%6,%2,0", operands); ! output_asm_insn ("bne\t%0,%6,2f", operands); ! } ! else ! output_asm_insn ("bne\t%0,%z2,2f", operands); ! ! output_asm_insn ("or%i3\t%6,$zero,%3", operands); ! output_asm_insn ("sc.\t%6,%1", operands); ! output_asm_insn ("beqz\t%6,1b", operands); ! output_asm_insn ("b\t3f", operands); ! output_asm_insn ("2:", operands); ! output_asm_insn ("%G5", operands); ! output_asm_insn ("3:", operands); ! ! return ""; } ! [(set (attr "length") ! (if_then_else ! (and (match_test "GET_MODE (operands[2]) == SImode") ! (match_test "REG_P (operands[2])")) ! (const_int 32) ! (const_int 28)))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output *************** *** 234,241 **** (clobber (match_scratch:GPR 7 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%2\\n\\t" "bne\\t%7,%z4,2f\\n\\t" --- 257,263 ---- (clobber (match_scratch:GPR 7 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%2\\n\\t" "bne\\t%7,%z4,2f\\n\\t" *************** *** 245,254 **** "beq\\t$zero,%7,1b\\n\\t" "b\\t3f\\n\\t" "2:\\n\\t" ! "dbar\\t0x700\\n\\t" "3:\\n\\t"; } ! [(set (attr "length") (const_int 40))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output --- 267,276 ---- "beq\\t$zero,%7,1b\\n\\t" "b\\t3f\\n\\t" "2:\\n\\t" ! "%G6\\n\\t" "3:\\n\\t"; } ! [(set (attr "length") (const_int 36))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output *************** *** 303,310 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "add.w\\t%8,%0,%z5\\n\\t" --- 325,331 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "add.w\\t%8,%0,%z5\\n\\t" *************** *** 314,320 **** "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_sub_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res --- 335,341 ---- "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_sub_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res *************** *** 330,337 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "sub.w\\t%8,%0,%z5\\n\\t" --- 351,357 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "sub.w\\t%8,%0,%z5\\n\\t" *************** *** 340,346 **** "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_and_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res --- 360,366 ---- "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_and_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res *************** *** 356,363 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "and\\t%8,%0,%z5\\n\\t" --- 376,382 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "and\\t%8,%0,%z5\\n\\t" *************** *** 366,372 **** "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_xor_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res --- 385,391 ---- "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_xor_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res *************** *** 382,389 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "xor\\t%8,%0,%z5\\n\\t" --- 401,407 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "xor\\t%8,%0,%z5\\n\\t" *************** *** 393,399 **** "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_or_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res --- 411,417 ---- "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_or_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res *************** *** 409,416 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "or\\t%8,%0,%z5\\n\\t" --- 427,433 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "or\\t%8,%0,%z5\\n\\t" *************** *** 420,426 **** "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_nand_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res --- 437,443 ---- "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_nand_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") ;; res *************** *** 436,443 **** (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "and\\t%8,%0,%z5\\n\\t" --- 453,459 ---- (clobber (match_scratch:GPR 8 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%3\\n\\t" "and\\t%8,%0,%z5\\n\\t" *************** *** 446,452 **** "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 32))]) (define_insn "atomic_cas_value_exchange_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") --- 462,468 ---- "sc.\\t%7,%1\\n\\t" "beq\\t$zero,%7,1b"; } ! [(set (attr "length") (const_int 28))]) (define_insn "atomic_cas_value_exchange_7_" [(set (match_operand:GPR 0 "register_operand" "=&r") *************** *** 461,468 **** (clobber (match_scratch:GPR 7 "=&r"))] "" { ! return "%G6\\n\\t" ! "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%z3\\n\\t" "or%i5\\t%7,%7,%5\\n\\t" --- 477,483 ---- (clobber (match_scratch:GPR 7 "=&r"))] "" { ! return "1:\\n\\t" "ll.\\t%0,%1\\n\\t" "and\\t%7,%0,%z3\\n\\t" "or%i5\\t%7,%7,%5\\n\\t" diff -Nrcpad gcc-13.2.0/gcc/config/loongarch/t-loongarch gcc-13.3.0/gcc/config/loongarch/t-loongarch *** gcc-13.2.0/gcc/config/loongarch/t-loongarch Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/loongarch/t-loongarch Tue May 21 07:47:38 2024 *************** *** 16,21 **** --- 16,25 ---- # along with GCC; see the file COPYING3. If not see # . + TM_H += $(srcdir)/config/loongarch/loongarch-driver.h + OPTIONS_H_EXTRA += $(srcdir)/config/loongarch/loongarch-def.h \ + $(srcdir)/config/loongarch/loongarch-tune.h + # Canonical target triplet from config.gcc LA_MULTIARCH_TRIPLET = $(patsubst LA_MULTIARCH_TRIPLET=%,%,$\ $(filter LA_MULTIARCH_TRIPLET=%,$(tm_defines))) diff -Nrcpad gcc-13.2.0/gcc/config/m32r/m32r.cc gcc-13.3.0/gcc/config/m32r/m32r.cc *** gcc-13.2.0/gcc/config/m32r/m32r.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/m32r/m32r.cc Tue May 21 07:47:38 2024 *************** m32r_setup_incoming_varargs (cumulative_ *** 1290,1296 **** if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) gcc_assert (arg.mode != BLKmode); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) first_anon_arg = (ROUND_ADVANCE_CUM (*get_cumulative_args (cum), arg.mode, arg.type) + ROUND_ADVANCE_ARG (arg.mode, arg.type)); --- 1290,1297 ---- if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) gcc_assert (arg.mode != BLKmode); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) first_anon_arg = (ROUND_ADVANCE_CUM (*get_cumulative_args (cum), arg.mode, arg.type) + ROUND_ADVANCE_ARG (arg.mode, arg.type)); diff -Nrcpad gcc-13.2.0/gcc/config/mips/driver-native.cc gcc-13.3.0/gcc/config/mips/driver-native.cc *** gcc-13.2.0/gcc/config/mips/driver-native.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/mips/driver-native.cc Tue May 21 07:47:38 2024 *************** const char * *** 44,49 **** --- 44,51 ---- host_detect_local_cpu (int argc, const char **argv) { const char *cpu = NULL; + /* Don't assigne any static string to ret. If you need to do so, + use concat. */ char *ret = NULL; char buf[128]; FILE *f; *************** host_detect_local_cpu (int argc, const c *** 90,96 **** fallback_cpu: #if defined (__mips_nan2008) ! ret = reconcat (ret, " -mnan=2008 ", NULL); #endif #ifdef HAVE_GETAUXVAL --- 92,100 ---- fallback_cpu: #if defined (__mips_nan2008) ! /* Put the ret to the end of list, since it may be NULL. */ ! if (arch) ! ret = reconcat (ret, " -mnan=2008 ", ret, NULL); #endif #ifdef HAVE_GETAUXVAL *************** fallback_cpu: *** 104,110 **** #endif if (cpu) ! ret = reconcat (ret, ret, "-m", argv[0], "=", cpu, NULL); return ret; } --- 108,114 ---- #endif if (cpu) ! ret = reconcat (ret, " -m", argv[0], "=", cpu, ret, NULL); return ret; } diff -Nrcpad gcc-13.2.0/gcc/config/mips/mips-msa.md gcc-13.3.0/gcc/config/mips/mips-msa.md *** gcc-13.2.0/gcc/config/mips/mips-msa.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/mips/mips-msa.md Tue May 21 07:47:38 2024 *************** *** 231,236 **** --- 231,240 ---- (V4SI "uimm5") (V2DI "uimm6")]) + ;; The index of sign bit in FP vector elements. + (define_mode_attr elmsgnbit [(V2DF "63") (V4DF "63") + (V4SF "31") (V8SF "31")]) + (define_expand "vec_init" [(match_operand:MSA 0 "register_operand") (match_operand:MSA 1 "")] *************** *** 597,605 **** }) (define_expand "neg2" ! [(set (match_operand:MSA 0 "register_operand") ! (minus:MSA (match_dup 2) ! (match_operand:MSA 1 "register_operand")))] "ISA_HAS_MSA" { rtx reg = gen_reg_rtx (mode); --- 601,609 ---- }) (define_expand "neg2" ! [(set (match_operand:IMSA 0 "register_operand") ! (minus:IMSA (match_dup 2) ! (match_operand:IMSA 1 "register_operand")))] "ISA_HAS_MSA" { rtx reg = gen_reg_rtx (mode); *************** *** 607,612 **** --- 611,624 ---- operands[2] = reg; }) + (define_insn "neg2" + [(set (match_operand:FMSA 0 "register_operand" "=f") + (neg:FMSA (match_operand:FMSA 1 "register_operand" "f")))] + "ISA_HAS_MSA" + "bnegi.\t%w0,%w1," + [(set_attr "type" "simd_bit") + (set_attr "mode" "")]) + (define_expand "msa_ldi" [(match_operand:IMSA 0 "register_operand") (match_operand 1 "const_imm10_operand")] diff -Nrcpad gcc-13.2.0/gcc/config/mips/mips.cc gcc-13.3.0/gcc/config/mips/mips.cc *** gcc-13.2.0/gcc/config/mips/mips.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/mips/mips.cc Tue May 21 07:47:38 2024 *************** mips_setup_incoming_varargs (cumulative_ *** 6684,6690 **** argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) mips_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ --- 6684,6696 ---- argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! ! /* For a C23 variadic function w/o any named argument, and w/o an ! artifical argument for large return value, skip advancing args. ! There is such an artifical argument iff. arg.type is non-NULL ! (PR 114175). */ ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) mips_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ diff -Nrcpad gcc-13.2.0/gcc/config/nds32/nds32.cc gcc-13.3.0/gcc/config/nds32/nds32.cc *** gcc-13.2.0/gcc/config/nds32/nds32.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/nds32/nds32.cc Tue May 21 07:47:38 2024 *************** nds32_setup_incoming_varargs (cumulative *** 2377,2383 **** for varargs. */ total_args_regs = NDS32_MAX_GPR_REGS_FOR_ARGS + NDS32_GPR_ARG_FIRST_REGNUM; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) num_of_used_regs = NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG (cum->gpr_offset, arg.mode, arg.type) + NDS32_NEED_N_REGS_FOR_ARG (arg.mode, arg.type); --- 2377,2384 ---- for varargs. */ total_args_regs = NDS32_MAX_GPR_REGS_FOR_ARGS + NDS32_GPR_ARG_FIRST_REGNUM; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) num_of_used_regs = NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG (cum->gpr_offset, arg.mode, arg.type) + NDS32_NEED_N_REGS_FOR_ARG (arg.mode, arg.type); diff -Nrcpad gcc-13.2.0/gcc/config/nios2/nios2.cc gcc-13.3.0/gcc/config/nios2/nios2.cc *** gcc-13.2.0/gcc/config/nios2/nios2.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/nios2/nios2.cc Tue May 21 07:47:38 2024 *************** nios2_setup_incoming_varargs (cumulative *** 3524,3530 **** cfun->machine->uses_anonymous_args = 1; local_cum = *cum; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) nios2_function_arg_advance (local_cum_v, arg); regs_to_push = NUM_ARG_REGS - local_cum.regs_used; --- 3524,3531 ---- cfun->machine->uses_anonymous_args = 1; local_cum = *cum; ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) nios2_function_arg_advance (local_cum_v, arg); regs_to_push = NUM_ARG_REGS - local_cum.regs_used; diff -Nrcpad gcc-13.2.0/gcc/config/pa/pa.cc gcc-13.3.0/gcc/config/pa/pa.cc *** gcc-13.2.0/gcc/config/pa/pa.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/pa/pa.cc Tue May 21 07:47:38 2024 *************** pa_asm_trampoline_template (FILE *f) *** 10400,10406 **** fputs ("\tldw 0(%r22),%r21\n", f); fputs ("\tldw 4(%r22),%r19\n", f); fputs ("\tbve (%r21)\n", f); ! fputs ("\tldw 52(%r1),%r29\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); --- 10400,10406 ---- fputs ("\tldw 0(%r22),%r21\n", f); fputs ("\tldw 4(%r22),%r19\n", f); fputs ("\tbve (%r21)\n", f); ! fputs ("\tldw 52(%r20),%r29\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); fputs ("\t.word 0\n", f); diff -Nrcpad gcc-13.2.0/gcc/config/pa/pa.md gcc-13.3.0/gcc/config/pa/pa.md *** gcc-13.2.0/gcc/config/pa/pa.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/pa/pa.md Tue May 21 07:47:38 2024 *************** add,l %2,%3,%3\;bv,n %%r0(%3)" *** 10578,10590 **** (define_insn "atomic_storedi_1" [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r")) (match_operand:DI 1 "reg_or_0_operand" "M,r")) ! (clobber (match_scratch:DI 2 "=X,f"))] "!TARGET_64BIT && !TARGET_SOFT_FLOAT" "@ ! {fstds|fstd} %%fr0,0(%0) {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)" [(set_attr "type" "move,move") ! (set_attr "length" "4,16")]) ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so ;; we need memory barriers to enforce program order for memory references --- 10578,10590 ---- (define_insn "atomic_storedi_1" [(set (mem:DI (match_operand:SI 0 "register_operand" "r,r")) (match_operand:DI 1 "reg_or_0_operand" "M,r")) ! (clobber (match_scratch:DI 2 "=f,f"))] "!TARGET_64BIT && !TARGET_SOFT_FLOAT" "@ ! fcpy,dbl %%fr0,%2\n\t{fstds|fstd} %2,0(%0) {stws|stw} %1,-16(%%sp)\n\t{stws|stw} %R1,-12(%%sp)\n\t{fldds|fldd} -16(%%sp),%2\n\t{fstds|fstd} %2,0(%0)" [(set_attr "type" "move,move") ! (set_attr "length" "8,16")]) ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so ;; we need memory barriers to enforce program order for memory references diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv-protos.h gcc-13.3.0/gcc/config/riscv/riscv-protos.h *** gcc-13.2.0/gcc/config/riscv/riscv-protos.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv-protos.h Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 22,27 **** --- 22,29 ---- #ifndef GCC_RISCV_PROTOS_H #define GCC_RISCV_PROTOS_H + #include "memmodel.h" + /* Symbol types we understand. The order of this list must match that of the unspec enum in riscv.md, subsequent to UNSPEC_ADDRESS_FIRST. */ enum riscv_symbol_type { *************** extern bool riscv_v_ext_vector_mode_p (m *** 81,86 **** --- 83,89 ---- extern bool riscv_shamt_matches_mask_p (int, HOST_WIDE_INT); extern void riscv_subword_address (rtx, rtx *, rtx *, rtx *, rtx *); extern void riscv_lshift_subword (machine_mode, rtx, rtx, rtx *); + extern enum memmodel riscv_union_memmodels (enum memmodel, enum memmodel); /* Routines implemented in riscv-c.cc. */ void riscv_cpu_cpp_builtins (cpp_reader *); diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv-v.cc gcc-13.3.0/gcc/config/riscv/riscv-v.cc *** gcc-13.2.0/gcc/config/riscv/riscv-v.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv-v.cc Tue May 21 07:47:38 2024 *************** slide1_sew64_helper (int unspec, machine *** 701,709 **** CONSTM1_RTX (demote_mask_mode), merge, temp, demote_scalar_op2, vl_x2, ta, ma, ops[8])); ! if (rtx_equal_p (ops[1], CONSTM1_RTX (GET_MODE (ops[1])))) ! return true; ! else emit_insn (gen_pred_merge (mode, ops[0], ops[2], ops[2], ops[0], ops[1], force_vector_length_operand (ops[5]), ops[6], ops[8])); --- 701,708 ---- CONSTM1_RTX (demote_mask_mode), merge, temp, demote_scalar_op2, vl_x2, ta, ma, ops[8])); ! if (!rtx_equal_p (ops[1], CONSTM1_RTX (GET_MODE (ops[1]))) ! && !rtx_equal_p (ops[2], RVV_VUNDEF (GET_MODE (ops[2])))) emit_insn (gen_pred_merge (mode, ops[0], ops[2], ops[2], ops[0], ops[1], force_vector_length_operand (ops[5]), ops[6], ops[8])); diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv-vector-builtins-bases.cc gcc-13.3.0/gcc/config/riscv/riscv-vector-builtins-bases.cc *** gcc-13.2.0/gcc/config/riscv/riscv-vector-builtins-bases.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv-vector-builtins-bases.cc Tue May 21 07:47:38 2024 *************** public: *** 1550,1555 **** --- 1550,1557 ---- rtx expand (function_expander &e) const override { + if (!e.target) + return NULL_RTX; rtx dest = expand_normal (CALL_EXPR_ARG (e.exp, 0)); rtx index = expand_normal (CALL_EXPR_ARG (e.exp, 1)); rtx src = expand_normal (CALL_EXPR_ARG (e.exp, 2)); *************** public: *** 1569,1574 **** --- 1571,1578 ---- rtx expand (function_expander &e) const override { + if (!e.target) + return NULL_RTX; rtx src = expand_normal (CALL_EXPR_ARG (e.exp, 0)); rtx index = expand_normal (CALL_EXPR_ARG (e.exp, 1)); poly_int64 offset = INTVAL (index) * GET_MODE_SIZE (GET_MODE (e.target)); diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv-vsetvl.cc gcc-13.3.0/gcc/config/riscv/riscv-vsetvl.cc *** gcc-13.2.0/gcc/config/riscv/riscv-vsetvl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv-vsetvl.cc Tue May 21 07:47:38 2024 *************** anticipatable_occurrence_p (const bb_inf *** 330,336 **** if (dem.has_avl_reg ()) { /* rs1 (avl) are not modified in the basic block prior to the VSETVL. */ ! if (!vlmax_avl_p (dem.get_avl ())) { set_info *set = dem.get_avl_source (); /* If it's undefined, it's not anticipatable conservatively. */ --- 330,338 ---- if (dem.has_avl_reg ()) { /* rs1 (avl) are not modified in the basic block prior to the VSETVL. */ ! rtx avl ! = has_vl_op (insn->rtl ()) ? get_vl (insn->rtl ()) : dem.get_avl (); ! if (!vlmax_avl_p (avl)) { set_info *set = dem.get_avl_source (); /* If it's undefined, it's not anticipatable conservatively. */ *************** static rtx *** 616,621 **** --- 618,628 ---- gen_vsetvl_pat (enum vsetvl_type insn_type, const vl_vtype_info &info, rtx vl) { rtx avl = info.get_avl (); + /* if optimization == 0 and the instruction is vmv.x.s/vfmv.f.s, + set the value of avl to (const_int 0) so that VSETVL PASS will + insert vsetvl correctly.*/ + if (info.has_avl_no_reg ()) + avl = GEN_INT (0); rtx sew = gen_int_mode (info.get_sew (), Pmode); rtx vlmul = gen_int_mode (info.get_vlmul (), Pmode); rtx ta = gen_int_mode (info.get_ta (), Pmode); *************** gen_vsetvl_pat (rtx_insn *rinsn, const v *** 642,648 **** && fault_first_load_p (info.get_insn ()->rtl ())) new_info.set_avl_info ( avl_info (get_avl (info.get_insn ()->rtl ()), nullptr)); ! if (vsetvl_insn_p (rinsn) || vlmax_avl_p (info.get_avl ())) { rtx dest = get_vl (rinsn); new_pat = gen_vsetvl_pat (VSETVL_NORMAL, new_info, vl ? vl : dest); --- 649,655 ---- && fault_first_load_p (info.get_insn ()->rtl ())) new_info.set_avl_info ( avl_info (get_avl (info.get_insn ()->rtl ()), nullptr)); ! if (vsetvl_insn_p (rinsn)) { rtx dest = get_vl (rinsn); new_pat = gen_vsetvl_pat (VSETVL_NORMAL, new_info, vl ? vl : dest); *************** local_eliminate_vsetvl_insn (const vecto *** 1099,1104 **** --- 1106,1121 ---- if (!new_info.skip_avl_compatible_p (dem)) return; + /* Be more conservative here since we don't really get full + demand info for following instructions, also that instruction + isn't exist in RTL-SSA yet so we need parse that by low level + API rather than vector_insn_info::parse_insn, see PR114747. */ + unsigned last_vsetvli_sew = ::get_sew (PREV_INSN (i->rtl ())); + unsigned last_vsetvli_lmul = ::get_vlmul (PREV_INSN (i->rtl ())); + if (new_info.get_sew() != last_vsetvli_sew || + new_info.get_vlmul() != last_vsetvli_lmul) + return; + new_info.set_avl_info (dem.get_avl_info ()); new_info = dem.merge (new_info, LOCAL_MERGE); change_vsetvl_insn (insn, new_info); *************** extract_single_source (set_info *set) *** 1181,1191 **** --- 1198,1215 ---- return nullptr; hash_set sets = get_all_sets (set, true, false, true); + if (sets.is_empty ()) + return nullptr; + insn_info *first_insn = (*sets.begin ())->insn (); if (first_insn->is_artificial ()) return nullptr; for (const set_info *set : sets) { + /* Skip first set, this can prevent us run into infinite recursive + checking if first set is come from itself. */ + if (set == *sets.begin ()) + continue; /* If there is a head or end insn, we conservative return NULL so that VSETVL PASS will insert vsetvl directly. */ if (set->insn ()->is_artificial ()) *************** vector_infos_manager::release (void) *** 2484,2491 **** if (!vector_exprs.is_empty ()) vector_exprs.release (); - gcc_assert (to_refine_vsetvls.is_empty ()); - gcc_assert (to_delete_vsetvls.is_empty ()); if (optimize > 0) free_bitmap_vectors (); } --- 2508,2513 ---- *************** private: *** 2692,2700 **** /* Phase 5. */ void cleanup_insns (void) const; - /* Phase 6. */ - void propagate_avl (void) const; - void init (void); void done (void); void compute_probabilities (void); --- 2714,2719 ---- *************** pass_vsetvl::refine_vsetvls (void) const *** 3813,3822 **** /* We can't refine user vsetvl into vsetvl zero,zero since the dest will be used by the following instructions. */ if (vector_config_insn_p (rinsn)) - { - m_vector_manager->to_refine_vsetvls.add (rinsn); continue; ! } rinsn = PREV_INSN (rinsn); rtx new_pat = gen_vsetvl_pat (VSETVL_VTYPE_CHANGE_ONLY, info, NULL_RTX); change_insn (rinsn, new_pat); --- 3832,3839 ---- /* We can't refine user vsetvl into vsetvl zero,zero since the dest will be used by the following instructions. */ if (vector_config_insn_p (rinsn)) continue; ! rinsn = PREV_INSN (rinsn); rtx new_pat = gen_vsetvl_pat (VSETVL_VTYPE_CHANGE_ONLY, info, NULL_RTX); change_insn (rinsn, new_pat); *************** pass_vsetvl::cleanup_vsetvls () *** 3852,3861 **** /* We can't eliminate user vsetvl since the dest will be used * by the following instructions. */ if (vector_config_insn_p (insn->rtl ())) ! { ! m_vector_manager->to_delete_vsetvls.add (insn->rtl ()); ! continue; ! } gcc_assert (has_vtype_op (insn->rtl ())); rinsn = PREV_INSN (insn->rtl ()); --- 3869,3875 ---- /* We can't eliminate user vsetvl since the dest will be used * by the following instructions. */ if (vector_config_insn_p (insn->rtl ())) ! continue; gcc_assert (has_vtype_op (insn->rtl ())); rinsn = PREV_INSN (insn->rtl ()); *************** pass_vsetvl::cleanup_insns (void) const *** 4058,4196 **** } void - pass_vsetvl::propagate_avl (void) const - { - /* Rebuild the RTL_SSA according to the new CFG generated by LCM. */ - /* Finalization of RTL_SSA. */ - free_dominance_info (CDI_DOMINATORS); - if (crtl->ssa->perform_pending_updates ()) - cleanup_cfg (0); - delete crtl->ssa; - crtl->ssa = nullptr; - /* Initialization of RTL_SSA. */ - calculate_dominance_info (CDI_DOMINATORS); - df_analyze (); - crtl->ssa = new function_info (cfun); - - hash_set to_delete; - for (const bb_info *bb : crtl->ssa->bbs ()) - { - for (insn_info *insn : bb->real_nondebug_insns ()) - { - if (vsetvl_discard_result_insn_p (insn->rtl ())) - { - rtx avl = get_avl (insn->rtl ()); - if (!REG_P (avl)) - continue; - - set_info *set = find_access (insn->uses (), REGNO (avl))->def (); - insn_info *def_insn = extract_single_source (set); - if (!def_insn) - continue; - - /* Handle this case: - vsetvli a6,zero,e32,m1,ta,mu - li a5,4096 - add a7,a0,a5 - addi a7,a7,-96 - vsetvli t1,zero,e8,mf8,ta,ma - vle8.v v24,0(a7) - add a5,a3,a5 - addi a5,a5,-96 - vse8.v v24,0(a5) - vsetvli zero,a6,e32,m1,tu,ma - */ - if (vsetvl_insn_p (def_insn->rtl ())) - { - vl_vtype_info def_info = get_vl_vtype_info (def_insn); - vl_vtype_info info = get_vl_vtype_info (insn); - rtx avl = get_avl (def_insn->rtl ()); - rtx vl = get_vl (def_insn->rtl ()); - if (def_info.get_ratio () == info.get_ratio ()) - { - if (vlmax_avl_p (def_info.get_avl ())) - { - info.set_avl_info ( - avl_info (def_info.get_avl (), nullptr)); - rtx new_pat - = gen_vsetvl_pat (VSETVL_NORMAL, info, vl); - validate_change (insn->rtl (), - &PATTERN (insn->rtl ()), new_pat, - false); - continue; - } - if (def_info.has_avl_imm () || rtx_equal_p (avl, vl)) - { - info.set_avl_info (avl_info (avl, nullptr)); - emit_vsetvl_insn (VSETVL_DISCARD_RESULT, EMIT_AFTER, - info, NULL_RTX, insn->rtl ()); - if (set->single_nondebug_insn_use ()) - { - to_delete.add (insn->rtl ()); - to_delete.add (def_insn->rtl ()); - } - continue; - } - } - } - } - - /* Change vsetvl rd, rs1 --> vsevl zero, rs1, - if rd is not used by any nondebug instructions. - Even though this PASS runs after RA and it doesn't help for - reduce register pressure, it can help instructions scheduling - since we remove the dependencies. */ - if (vsetvl_insn_p (insn->rtl ())) - { - rtx vl = get_vl (insn->rtl ()); - rtx avl = get_avl (insn->rtl ()); - def_info *def = find_access (insn->defs (), REGNO (vl)); - set_info *set = safe_dyn_cast (def); - vector_insn_info info; - info.parse_insn (insn); - gcc_assert (set); - if (m_vector_manager->to_delete_vsetvls.contains (insn->rtl ())) - { - m_vector_manager->to_delete_vsetvls.remove (insn->rtl ()); - if (m_vector_manager->to_refine_vsetvls.contains ( - insn->rtl ())) - m_vector_manager->to_refine_vsetvls.remove (insn->rtl ()); - if (!set->has_nondebug_insn_uses ()) - { - to_delete.add (insn->rtl ()); - continue; - } - } - if (m_vector_manager->to_refine_vsetvls.contains (insn->rtl ())) - { - m_vector_manager->to_refine_vsetvls.remove (insn->rtl ()); - if (!set->has_nondebug_insn_uses ()) - { - rtx new_pat = gen_vsetvl_pat (VSETVL_VTYPE_CHANGE_ONLY, - info, NULL_RTX); - change_insn (insn->rtl (), new_pat); - continue; - } - } - if (vlmax_avl_p (avl)) - continue; - rtx new_pat - = gen_vsetvl_pat (VSETVL_DISCARD_RESULT, info, NULL_RTX); - if (!set->has_nondebug_insn_uses ()) - { - validate_change (insn->rtl (), &PATTERN (insn->rtl ()), - new_pat, false); - continue; - } - } - } - } - - for (rtx_insn *rinsn : to_delete) - eliminate_insn (rinsn); - } - - void pass_vsetvl::init (void) { if (optimize > 0) --- 4072,4077 ---- *************** pass_vsetvl::lazy_vsetvl (void) *** 4312,4323 **** if (dump_file) fprintf (dump_file, "\nPhase 5: Cleanup AVL and VL operands\n"); cleanup_insns (); - - /* Phase 6 - Rebuild RTL_SSA to propagate AVL between vsetvls. */ - if (dump_file) - fprintf (dump_file, - "\nPhase 6: Rebuild RTL_SSA to propagate AVL between vsetvls\n"); - propagate_avl (); } /* Main entry point for this pass. */ --- 4193,4198 ---- diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv-vsetvl.h gcc-13.3.0/gcc/config/riscv/riscv-vsetvl.h *** gcc-13.2.0/gcc/config/riscv/riscv-vsetvl.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv-vsetvl.h Tue May 21 07:47:38 2024 *************** public: *** 418,425 **** auto_vec vector_insn_infos; auto_vec vector_block_infos; auto_vec vector_exprs; - hash_set to_refine_vsetvls; - hash_set to_delete_vsetvls; struct edge_list *vector_edge_list; sbitmap *vector_kill; --- 418,423 ---- diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv.cc gcc-13.3.0/gcc/config/riscv/riscv.cc *** gcc-13.2.0/gcc/config/riscv/riscv.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv.cc Tue May 21 07:47:38 2024 *************** riscv_setup_incoming_varargs (cumulative *** 3961,3967 **** argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) riscv_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ --- 3961,3968 ---- argument. Advance a local copy of CUM past the last "real" named argument, to find out how many registers are left over. */ local_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) riscv_function_arg_advance (pack_cumulative_args (&local_cum), arg); /* Found out how many registers we need to save. */ *************** riscv_print_operand_reloc (FILE *file, r *** 4284,4289 **** --- 4285,4320 ---- fputc (')', file); } + /* Return the memory model that encapuslates both given models. */ + + enum memmodel + riscv_union_memmodels (enum memmodel model1, enum memmodel model2) + { + model1 = memmodel_base (model1); + model2 = memmodel_base (model2); + + enum memmodel weaker = model1 <= model2 ? model1: model2; + enum memmodel stronger = model1 > model2 ? model1: model2; + + switch (stronger) + { + case MEMMODEL_SEQ_CST: + case MEMMODEL_ACQ_REL: + return stronger; + case MEMMODEL_RELEASE: + if (weaker == MEMMODEL_ACQUIRE || weaker == MEMMODEL_CONSUME) + return MEMMODEL_ACQ_REL; + else + return stronger; + case MEMMODEL_ACQUIRE: + case MEMMODEL_CONSUME: + case MEMMODEL_RELAXED: + return stronger; + default: + gcc_unreachable (); + } + } + /* Return true if the .AQ suffix should be added to an AMO to implement the acquire portion of memory model MODEL. */ *************** riscv_memmodel_needs_amo_acquire (enum m *** 4294,4307 **** { case MEMMODEL_ACQ_REL: case MEMMODEL_SEQ_CST: - case MEMMODEL_SYNC_SEQ_CST: case MEMMODEL_ACQUIRE: case MEMMODEL_CONSUME: - case MEMMODEL_SYNC_ACQUIRE: return true; case MEMMODEL_RELEASE: - case MEMMODEL_SYNC_RELEASE: case MEMMODEL_RELAXED: return false; --- 4325,4335 ---- *************** riscv_memmodel_needs_amo_acquire (enum m *** 4310,4333 **** } } ! /* Return true if a FENCE should be emitted to before a memory access to ! implement the release portion of memory model MODEL. */ static bool ! riscv_memmodel_needs_release_fence (enum memmodel model) { switch (model) { case MEMMODEL_ACQ_REL: case MEMMODEL_SEQ_CST: - case MEMMODEL_SYNC_SEQ_CST: case MEMMODEL_RELEASE: - case MEMMODEL_SYNC_RELEASE: return true; case MEMMODEL_ACQUIRE: case MEMMODEL_CONSUME: - case MEMMODEL_SYNC_ACQUIRE: case MEMMODEL_RELAXED: return false; --- 4338,4358 ---- } } ! /* Return true if the .RL suffix should be added to an AMO to implement the ! release portion of memory model MODEL. */ static bool ! riscv_memmodel_needs_amo_release (enum memmodel model) { switch (model) { case MEMMODEL_ACQ_REL: case MEMMODEL_SEQ_CST: case MEMMODEL_RELEASE: return true; case MEMMODEL_ACQUIRE: case MEMMODEL_CONSUME: case MEMMODEL_RELAXED: return false; *************** riscv_memmodel_needs_release_fence (enum *** 4343,4349 **** 'R' Print the low-part relocation associated with OP. 'C' Print the integer branch condition for comparison OP. 'A' Print the atomic operation suffix for memory model OP. ! 'F' Print a FENCE if the memory model requires a release. 'z' Print x0 if OP is zero, otherwise print OP normally. 'i' Print i if the operand is not a register. 'S' Print shift-index of single-bit mask OP. --- 4368,4375 ---- 'R' Print the low-part relocation associated with OP. 'C' Print the integer branch condition for comparison OP. 'A' Print the atomic operation suffix for memory model OP. ! 'I' Print the LR suffix for memory model OP. ! 'J' Print the SC suffix for memory model OP. 'z' Print x0 if OP is zero, otherwise print OP normally. 'i' Print i if the operand is not a register. 'S' Print shift-index of single-bit mask OP. *************** riscv_print_operand (FILE *file, rtx op, *** 4502,4516 **** fputs (GET_RTX_NAME (code), file); break; ! case 'A': ! if (riscv_memmodel_needs_amo_acquire ((enum memmodel) INTVAL (op))) fputs (".aq", file); break; ! case 'F': ! if (riscv_memmodel_needs_release_fence ((enum memmodel) INTVAL (op))) ! fputs ("fence iorw,ow; ", file); break; case 'i': if (code != REG) --- 4528,4560 ---- fputs (GET_RTX_NAME (code), file); break; ! case 'A': { ! const enum memmodel model = memmodel_base (INTVAL (op)); ! if (riscv_memmodel_needs_amo_acquire (model) ! && riscv_memmodel_needs_amo_release (model)) ! fputs (".aqrl", file); ! else if (riscv_memmodel_needs_amo_acquire (model)) fputs (".aq", file); + else if (riscv_memmodel_needs_amo_release (model)) + fputs (".rl", file); break; + } ! case 'I': { ! const enum memmodel model = memmodel_base (INTVAL (op)); ! if (model == MEMMODEL_SEQ_CST) ! fputs (".aqrl", file); ! else if (riscv_memmodel_needs_amo_acquire (model)) ! fputs (".aq", file); ! break; ! } ! ! case 'J': { ! const enum memmodel model = memmodel_base (INTVAL (op)); ! if (riscv_memmodel_needs_amo_release (model)) ! fputs (".rl", file); break; + } case 'i': if (code != REG) *************** riscv_expand_prologue (void) *** 5349,5355 **** /* Second step for constant frame. */ HOST_WIDE_INT constant_frame = size.to_constant (); if (constant_frame == 0) ! return; if (SMALL_OPERAND (-constant_frame)) { --- 5393,5407 ---- /* Second step for constant frame. */ HOST_WIDE_INT constant_frame = size.to_constant (); if (constant_frame == 0) ! { ! /* We must have allocated stack space for the scalable frame. ! Emit a stack tie if we have a frame pointer so that the ! allocation is ordered WRT fp setup and subsequent writes ! into the frame. */ ! if (frame_pointer_needed) ! riscv_emit_stack_tie (); ! return; ! } if (SMALL_OPERAND (-constant_frame)) { *************** riscv_expand_prologue (void) *** 5369,5374 **** --- 5421,5433 ---- insn = gen_rtx_SET (stack_pointer_rtx, insn); riscv_set_frame_expr (insn); } + + /* We must have allocated the remainder of the stack frame. + Emit a stack tie if we have a frame pointer so that the + allocation is ordered WRT fp setup and subsequent writes + into the frame. */ + if (frame_pointer_needed) + riscv_emit_stack_tie (); } } diff -Nrcpad gcc-13.2.0/gcc/config/riscv/riscv.md gcc-13.3.0/gcc/config/riscv/riscv.md *** gcc-13.2.0/gcc/config/riscv/riscv.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/riscv.md Tue May 21 07:47:38 2024 *************** *** 2350,2355 **** --- 2350,2387 ---- (set_attr "type" "sfb_alu") (set_attr "mode" "")]) + ;; Combine creates this form ((typeof(y))zero_one * z) y + ;; for SiFive short forward branches. + + (define_split + [(set (match_operand:X 0 "register_operand") + (and:X (sign_extract:X (match_operand:X 1 "register_operand") + (const_int 1) + (match_operand 2 "immediate_operand")) + (match_operand:X 3 "register_operand"))) + (clobber (match_operand:X 4 "register_operand"))] + "TARGET_SFB_ALU" + [(set (match_dup 4) (zero_extract:X (match_dup 1) (const_int 1) (match_dup 2))) + (set (match_dup 0) (if_then_else:X (ne (match_dup 4) (const_int 0)) + (match_dup 3) + (const_int 0)))]) + + (define_split + [(set (match_operand:X 0 "register_operand") + (and:X (sign_extract:X (match_operand:X 1 "register_operand") + (const_int 1) + (match_operand 2 "immediate_operand")) + (match_operand:X 3 "register_operand"))) + (clobber (match_operand:X 4 "register_operand"))] + "TARGET_SFB_ALU && (UINTVAL (operands[2]) < 11)" + [(set (match_dup 4) (and:X (match_dup 1) (match_dup 2))) + (set (match_dup 0) (if_then_else:X (ne (match_dup 4) (const_int 0)) + (match_dup 3) + (const_int 0)))] + { + operands[2] = GEN_INT (1 << UINTVAL(operands[2])); + }) + ;; Used to implement built-in functions. (define_expand "condjump" [(set (pc) diff -Nrcpad gcc-13.2.0/gcc/config/riscv/sync.md gcc-13.3.0/gcc/config/riscv/sync.md *** gcc-13.2.0/gcc/config/riscv/sync.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/sync.md Tue May 21 07:47:38 2024 *************** *** 26,31 **** --- 26,32 ---- UNSPEC_SYNC_OLD_OP_SUBWORD UNSPEC_SYNC_EXCHANGE UNSPEC_SYNC_EXCHANGE_SUBWORD + UNSPEC_ATOMIC_LOAD UNSPEC_ATOMIC_STORE UNSPEC_MEMORY_BARRIER ]) *************** *** 45,62 **** DONE; }) - ;; Until the RISC-V memory model (hence its mapping from C++) is finalized, - ;; conservatively emit a full FENCE. (define_insn "mem_thread_fence_1" [(set (match_operand:BLK 0 "" "") (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) (match_operand:SI 1 "const_int_operand" "")] ;; model "" ! "fence\tiorw,iorw") ;; Atomic memory operations. ! ;; Implement atomic stores with amoswap. Fall back to fences for atomic loads. (define_insn "atomic_store" [(set (match_operand:GPR 0 "memory_operand" "=A") (unspec_volatile:GPR --- 46,100 ---- DONE; }) (define_insn "mem_thread_fence_1" [(set (match_operand:BLK 0 "" "") (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) (match_operand:SI 1 "const_int_operand" "")] ;; model "" ! { ! enum memmodel model = (enum memmodel) INTVAL (operands[1]); ! model = memmodel_base (model); ! if (model == MEMMODEL_SEQ_CST) ! return "fence\trw,rw"; ! else if (model == MEMMODEL_ACQ_REL) ! return "fence.tso"; ! else if (model == MEMMODEL_ACQUIRE) ! return "fence\tr,rw"; ! else if (model == MEMMODEL_RELEASE) ! return "fence\trw,w"; ! else ! gcc_unreachable (); ! } ! [(set (attr "length") (const_int 4))]) ;; Atomic memory operations. ! (define_insn "atomic_load" ! [(set (match_operand:GPR 0 "register_operand" "=r") ! (unspec_volatile:GPR ! [(match_operand:GPR 1 "memory_operand" "A") ! (match_operand:SI 2 "const_int_operand")] ;; model ! UNSPEC_ATOMIC_LOAD))] ! "TARGET_ATOMIC" ! { ! enum memmodel model = (enum memmodel) INTVAL (operands[2]); ! model = memmodel_base (model); ! ! if (model == MEMMODEL_SEQ_CST) ! return "fence\trw,rw\;" ! "l\t%0,%1\;" ! "fence\tr,rw"; ! if (model == MEMMODEL_ACQUIRE) ! return "l\t%0,%1\;" ! "fence\tr,rw"; ! else ! return "l\t%0,%1"; ! } ! [(set_attr "type" "atomic") ! (set (attr "length") (const_int 12))]) ! ! ;; Implement atomic stores with conservative fences. ! ;; This allows us to be compatible with the ISA manual Table A.6 and Table A.7. (define_insn "atomic_store" [(set (match_operand:GPR 0 "memory_operand" "=A") (unspec_volatile:GPR *************** *** 64,72 **** (match_operand:SI 2 "const_int_operand")] ;; model UNSPEC_ATOMIC_STORE))] "TARGET_ATOMIC" ! "%F2amoswap.%A2 zero,%z1,%0" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 8))]) (define_insn "atomic_" [(set (match_operand:GPR 0 "memory_operand" "+A") --- 102,123 ---- (match_operand:SI 2 "const_int_operand")] ;; model UNSPEC_ATOMIC_STORE))] "TARGET_ATOMIC" ! { ! enum memmodel model = (enum memmodel) INTVAL (operands[2]); ! model = memmodel_base (model); ! ! if (model == MEMMODEL_SEQ_CST) ! return "fence\trw,w\;" ! "s\t%z1,%0\;" ! "fence\trw,rw"; ! if (model == MEMMODEL_RELEASE) ! return "fence\trw,w\;" ! "s\t%z1,%0"; ! else ! return "s\t%z1,%0"; ! } [(set_attr "type" "atomic") ! (set (attr "length") (const_int 12))]) (define_insn "atomic_" [(set (match_operand:GPR 0 "memory_operand" "+A") *************** *** 76,84 **** (match_operand:SI 2 "const_int_operand")] ;; model UNSPEC_SYNC_OLD_OP))] "TARGET_ATOMIC" ! "%F2amo.%A2 zero,%z1,%0" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 8))]) (define_insn "atomic_fetch_" [(set (match_operand:GPR 0 "register_operand" "=&r") --- 127,135 ---- (match_operand:SI 2 "const_int_operand")] ;; model UNSPEC_SYNC_OLD_OP))] "TARGET_ATOMIC" ! "amo.%A2\tzero,%z1,%0" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 4))]) (define_insn "atomic_fetch_" [(set (match_operand:GPR 0 "register_operand" "=&r") *************** *** 90,98 **** (match_operand:SI 3 "const_int_operand")] ;; model UNSPEC_SYNC_OLD_OP))] "TARGET_ATOMIC" ! "%F3amo.%A3 %0,%z2,%1" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 8))]) (define_insn "subword_atomic_fetch_strong_" [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem --- 141,149 ---- (match_operand:SI 3 "const_int_operand")] ;; model UNSPEC_SYNC_OLD_OP))] "TARGET_ATOMIC" ! "amo.%A3\t%0,%z2,%1" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 4))]) (define_insn "subword_atomic_fetch_strong_" [(set (match_operand:SI 0 "register_operand" "=&r") ;; old value at mem *************** *** 101,121 **** (unspec_volatile:SI [(any_atomic:SI (match_dup 1) (match_operand:SI 2 "register_operand" "rI")) ;; value for op ! (match_operand:SI 3 "register_operand" "rI")] ;; mask UNSPEC_SYNC_OLD_OP_SUBWORD)) ! (match_operand:SI 4 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 5 "=&r")) ;; tmp_1 ! (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_2 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w.aq\t%0, %1\;" ! "\t%5, %0, %2\;" ! "and\t%5, %5, %3\;" ! "and\t%6, %0, %4\;" ! "or\t%6, %6, %5\;" ! "sc.w.rl\t%5, %6, %1\;" ! "bnez\t%5, 1b"; } [(set (attr "length") (const_int 28))]) --- 152,173 ---- (unspec_volatile:SI [(any_atomic:SI (match_dup 1) (match_operand:SI 2 "register_operand" "rI")) ;; value for op ! (match_operand:SI 3 "const_int_operand")] ;; model UNSPEC_SYNC_OLD_OP_SUBWORD)) ! (match_operand:SI 4 "register_operand" "rI") ;; mask ! (match_operand:SI 5 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 6 "=&r")) ;; tmp_1 ! (clobber (match_scratch:SI 7 "=&r"))] ;; tmp_2 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w%I3\t%0, %1\;" ! "\t%6, %0, %2\;" ! "and\t%6, %6, %4\;" ! "and\t%7, %0, %5\;" ! "or\t%7, %7, %6\;" ! "sc.w%J3\t%6, %7, %1\;" ! "bnez\t%6, 1b"; } [(set (attr "length") (const_int 28))]) *************** *** 136,141 **** --- 188,194 ---- rtx old = gen_reg_rtx (SImode); rtx mem = operands[1]; rtx value = operands[2]; + rtx model = operands[3]; rtx aligned_mem = gen_reg_rtx (SImode); rtx shift = gen_reg_rtx (SImode); rtx mask = gen_reg_rtx (SImode); *************** *** 147,153 **** riscv_lshift_subword (mode, value, shift, &shifted_value); emit_insn (gen_subword_atomic_fetch_strong_nand (old, aligned_mem, ! shifted_value, mask, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, --- 200,206 ---- riscv_lshift_subword (mode, value, shift, &shifted_value); emit_insn (gen_subword_atomic_fetch_strong_nand (old, aligned_mem, ! shifted_value, model, mask, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, *************** *** 165,186 **** (unspec_volatile:SI [(not:SI (and:SI (match_dup 1) (match_operand:SI 2 "register_operand" "rI"))) ;; value for op ! (match_operand:SI 3 "register_operand" "rI")] ;; mask UNSPEC_SYNC_OLD_OP_SUBWORD)) ! (match_operand:SI 4 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 5 "=&r")) ;; tmp_1 ! (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_2 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w.aq\t%0, %1\;" ! "and\t%5, %0, %2\;" ! "not\t%5, %5\;" ! "and\t%5, %5, %3\;" ! "and\t%6, %0, %4\;" ! "or\t%6, %6, %5\;" ! "sc.w.rl\t%5, %6, %1\;" ! "bnez\t%5, 1b"; } [(set (attr "length") (const_int 32))]) --- 218,240 ---- (unspec_volatile:SI [(not:SI (and:SI (match_dup 1) (match_operand:SI 2 "register_operand" "rI"))) ;; value for op ! (match_operand:SI 3 "const_int_operand")] ;; mask UNSPEC_SYNC_OLD_OP_SUBWORD)) ! (match_operand:SI 4 "register_operand" "rI") ;; mask ! (match_operand:SI 5 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 6 "=&r")) ;; tmp_1 ! (clobber (match_scratch:SI 7 "=&r"))] ;; tmp_2 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w%I3\t%0, %1\;" ! "and\t%6, %0, %2\;" ! "not\t%6, %6\;" ! "and\t%6, %6, %4\;" ! "and\t%7, %0, %5\;" ! "or\t%7, %7, %6\;" ! "sc.w%J3\t%6, %7, %1\;" ! "bnez\t%6, 1b"; } [(set (attr "length") (const_int 32))]) *************** *** 201,206 **** --- 255,261 ---- rtx old = gen_reg_rtx (SImode); rtx mem = operands[1]; rtx value = operands[2]; + rtx model = operands[3]; rtx aligned_mem = gen_reg_rtx (SImode); rtx shift = gen_reg_rtx (SImode); rtx mask = gen_reg_rtx (SImode); *************** *** 213,219 **** emit_insn (gen_subword_atomic_fetch_strong_ (old, aligned_mem, shifted_value, ! mask, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); --- 268,275 ---- emit_insn (gen_subword_atomic_fetch_strong_ (old, aligned_mem, shifted_value, ! model, mask, ! not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); *************** *** 232,240 **** (set (match_dup 1) (match_operand:GPR 2 "register_operand" "0"))] "TARGET_ATOMIC" ! "%F3amoswap.%A3 %0,%z2,%1" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 8))]) (define_expand "atomic_exchange" [(match_operand:SHORT 0 "register_operand") ;; old value at mem --- 288,296 ---- (set (match_dup 1) (match_operand:GPR 2 "register_operand" "0"))] "TARGET_ATOMIC" ! "amoswap.%A3\t%0,%z2,%1" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 4))]) (define_expand "atomic_exchange" [(match_operand:SHORT 0 "register_operand") ;; old value at mem *************** *** 246,251 **** --- 302,308 ---- rtx old = gen_reg_rtx (SImode); rtx mem = operands[1]; rtx value = operands[2]; + rtx model = operands[3]; rtx aligned_mem = gen_reg_rtx (SImode); rtx shift = gen_reg_rtx (SImode); rtx mask = gen_reg_rtx (SImode); *************** *** 257,263 **** riscv_lshift_subword (mode, value, shift, &shifted_value); emit_insn (gen_subword_atomic_exchange_strong (old, aligned_mem, ! shifted_value, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); --- 314,321 ---- riscv_lshift_subword (mode, value, shift, &shifted_value); emit_insn (gen_subword_atomic_exchange_strong (old, aligned_mem, ! shifted_value, model, ! not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); *************** *** 271,288 **** (match_operand:SI 1 "memory_operand" "+A")) ;; mem location (set (match_dup 1) (unspec_volatile:SI ! [(match_operand:SI 2 "reg_or_0_operand" "rI") ;; value ! (match_operand:SI 3 "reg_or_0_operand" "rI")] ;; not_mask UNSPEC_SYNC_EXCHANGE_SUBWORD)) ! (clobber (match_scratch:SI 4 "=&r"))] ;; tmp_1 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w.aq\t%0, %1\;" ! "and\t%4, %0, %3\;" ! "or\t%4, %4, %2\;" ! "sc.w.rl\t%4, %4, %1\;" ! "bnez\t%4, 1b"; } [(set (attr "length") (const_int 20))]) --- 329,347 ---- (match_operand:SI 1 "memory_operand" "+A")) ;; mem location (set (match_dup 1) (unspec_volatile:SI ! [(match_operand:SI 2 "reg_or_0_operand" "rI") ;; value ! (match_operand:SI 3 "const_int_operand")] ;; model UNSPEC_SYNC_EXCHANGE_SUBWORD)) ! (match_operand:SI 4 "reg_or_0_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 5 "=&r"))] ;; tmp_1 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w%I3\t%0, %1\;" ! "and\t%5, %0, %4\;" ! "or\t%5, %5, %2\;" ! "sc.w%J3\t%5, %5, %1\;" ! "bnez\t%5, 1b"; } [(set (attr "length") (const_int 20))]) *************** *** 297,305 **** UNSPEC_COMPARE_AND_SWAP)) (clobber (match_scratch:GPR 6 "=&r"))] "TARGET_ATOMIC" ! "%F5 1: lr.%A5 %0,%1; bne %0,%z2,1f; sc.%A4 %6,%z3,%1; bnez %6,1b; 1:" [(set_attr "type" "atomic") ! (set (attr "length") (const_int 20))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output --- 356,376 ---- UNSPEC_COMPARE_AND_SWAP)) (clobber (match_scratch:GPR 6 "=&r"))] "TARGET_ATOMIC" ! { ! enum memmodel model_success = (enum memmodel) INTVAL (operands[4]); ! enum memmodel model_failure = (enum memmodel) INTVAL (operands[5]); ! /* Find the union of the two memory models so we can satisfy both success ! and failure memory models. */ ! operands[5] = GEN_INT (riscv_union_memmodels (model_success, model_failure)); ! return "1:\;" ! "lr.%I5\t%0,%1\;" ! "bne\t%0,%z2,1f\;" ! "sc.%J5\t%6,%z3,%1\;" ! "bnez\t%6,1b\;" ! "1:"; ! } [(set_attr "type" "atomic") ! (set (attr "length") (const_int 16))]) (define_expand "atomic_compare_and_swap" [(match_operand:SI 0 "register_operand" "") ;; bool output *************** *** 312,317 **** --- 383,397 ---- (match_operand:SI 7 "const_int_operand" "")] ;; mod_f "TARGET_ATOMIC" { + if (word_mode != mode && operands[3] != const0_rtx) + { + /* We don't have SI mode compare on RV64, so we need to make sure expected + value is sign-extended. */ + rtx tmp0 = gen_reg_rtx (word_mode); + emit_insn (gen_extend_insn (tmp0, operands[3], word_mode, mode, 0)); + operands[3] = simplify_gen_subreg (mode, tmp0, word_mode, 0); + } + emit_insn (gen_atomic_cas_value_strong (operands[1], operands[2], operands[3], operands[4], operands[6], operands[7])); *************** *** 418,426 **** emit_move_insn (shifted_o, gen_rtx_AND (SImode, shifted_o, mask)); emit_move_insn (shifted_n, gen_rtx_AND (SImode, shifted_n, mask)); emit_insn (gen_subword_atomic_cas_strong (old, aligned_mem, shifted_o, shifted_n, ! mask, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); --- 498,512 ---- emit_move_insn (shifted_o, gen_rtx_AND (SImode, shifted_o, mask)); emit_move_insn (shifted_n, gen_rtx_AND (SImode, shifted_n, mask)); + enum memmodel model_success = (enum memmodel) INTVAL (operands[4]); + enum memmodel model_failure = (enum memmodel) INTVAL (operands[5]); + /* Find the union of the two memory models so we can satisfy both success + and failure memory models. */ + rtx model = GEN_INT (riscv_union_memmodels (model_success, model_failure)); + emit_insn (gen_subword_atomic_cas_strong (old, aligned_mem, shifted_o, shifted_n, ! model, mask, not_mask)); emit_move_insn (old, gen_rtx_ASHIFTRT (SImode, old, gen_lowpart (QImode, shift))); *************** *** 437,455 **** (unspec_volatile:SI [(match_operand:SI 2 "reg_or_0_operand" "rJ") ;; expected value (match_operand:SI 3 "reg_or_0_operand" "rJ")] ;; desired value UNSPEC_COMPARE_AND_SWAP_SUBWORD)) ! (match_operand:SI 4 "register_operand" "rI") ;; mask ! (match_operand:SI 5 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 6 "=&r"))] ;; tmp_1 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w.aq\t%0, %1\;" ! "and\t%6, %0, %4\;" ! "bne\t%6, %z2, 1f\;" ! "and\t%6, %0, %5\;" ! "or\t%6, %6, %3\;" ! "sc.w.rl\t%6, %6, %1\;" ! "bnez\t%6, 1b\;" "1:"; } [(set (attr "length") (const_int 28))]) --- 523,542 ---- (unspec_volatile:SI [(match_operand:SI 2 "reg_or_0_operand" "rJ") ;; expected value (match_operand:SI 3 "reg_or_0_operand" "rJ")] ;; desired value UNSPEC_COMPARE_AND_SWAP_SUBWORD)) ! (match_operand:SI 4 "const_int_operand") ;; model ! (match_operand:SI 5 "register_operand" "rI") ;; mask ! (match_operand:SI 6 "register_operand" "rI") ;; not_mask ! (clobber (match_scratch:SI 7 "=&r"))] ;; tmp_1 "TARGET_ATOMIC && TARGET_INLINE_SUBWORD_ATOMIC" { return "1:\;" ! "lr.w%I4\t%0, %1\;" ! "and\t%7, %0, %5\;" ! "bne\t%7, %z2, 1f\;" ! "and\t%7, %0, %6\;" ! "or\t%7, %7, %3\;" ! "sc.w%J4\t%7, %7, %1\;" ! "bnez\t%7, 1b\;" "1:"; } [(set (attr "length") (const_int 28))]) diff -Nrcpad gcc-13.2.0/gcc/config/riscv/t-riscv gcc-13.3.0/gcc/config/riscv/t-riscv *** gcc-13.2.0/gcc/config/riscv/t-riscv Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/t-riscv Tue May 21 07:47:38 2024 *************** riscv-vsetvl.o: $(srcdir)/config/riscv/r *** 62,68 **** $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \ $(TARGET_H) tree-pass.h df.h rtl-ssa.h cfgcleanup.h insn-config.h \ insn-attr.h insn-opinit.h tm-constrs.h cfgrtl.h cfganal.h lcm.h \ ! predict.h profile-count.h $(srcdir)/config/riscv/riscv-vsetvl.h $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/riscv/riscv-vsetvl.cc --- 62,69 ---- $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \ $(TARGET_H) tree-pass.h df.h rtl-ssa.h cfgcleanup.h insn-config.h \ insn-attr.h insn-opinit.h tm-constrs.h cfgrtl.h cfganal.h lcm.h \ ! predict.h profile-count.h $(srcdir)/config/riscv/riscv-vsetvl.h \ ! $(srcdir)/config/riscv/riscv-vsetvl.def $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/riscv/riscv-vsetvl.cc diff -Nrcpad gcc-13.2.0/gcc/config/riscv/thead.cc gcc-13.3.0/gcc/config/riscv/thead.cc *** gcc-13.2.0/gcc/config/riscv/thead.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/riscv/thead.cc Tue May 21 07:47:38 2024 *************** th_mempair_save_regs (rtx operands[4]) *** 368,375 **** rtx set2 = gen_rtx_SET (operands[2], operands[3]); rtx insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, set1, set2))); RTX_FRAME_RELATED_P (insn) = 1; ! add_reg_note (insn, REG_CFA_OFFSET, copy_rtx (set1)); ! add_reg_note (insn, REG_CFA_OFFSET, copy_rtx (set2)); } /* Similar like riscv_restore_reg, but restores two registers from memory --- 368,379 ---- rtx set2 = gen_rtx_SET (operands[2], operands[3]); rtx insn = emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, set1, set2))); RTX_FRAME_RELATED_P (insn) = 1; ! ! REG_NOTES (insn) = alloc_EXPR_LIST (REG_FRAME_RELATED_EXPR, ! copy_rtx (set1), REG_NOTES (insn)); ! ! REG_NOTES (insn) = alloc_EXPR_LIST (REG_FRAME_RELATED_EXPR, ! copy_rtx (set2), REG_NOTES (insn)); } /* Similar like riscv_restore_reg, but restores two registers from memory diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/mma.md gcc-13.3.0/gcc/config/rs6000/mma.md *** gcc-13.2.0/gcc/config/rs6000/mma.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/mma.md Tue May 21 07:47:38 2024 *************** *** 293,300 **** }) (define_insn_and_split "*movoo" ! [(set (match_operand:OO 0 "nonimmediate_operand" "=wa,m,wa") ! (match_operand:OO 1 "input_operand" "m,wa,wa"))] "TARGET_MMA && (gpc_reg_operand (operands[0], OOmode) || gpc_reg_operand (operands[1], OOmode))" --- 293,300 ---- }) (define_insn_and_split "*movoo" ! [(set (match_operand:OO 0 "nonimmediate_operand" "=wa,ZwO,wa") ! (match_operand:OO 1 "input_operand" "ZwO,wa,wa"))] "TARGET_MMA && (gpc_reg_operand (operands[0], OOmode) || gpc_reg_operand (operands[1], OOmode))" *************** *** 340,347 **** }) (define_insn_and_split "*movxo" ! [(set (match_operand:XO 0 "nonimmediate_operand" "=d,m,d") ! (match_operand:XO 1 "input_operand" "m,d,d"))] "TARGET_MMA && (gpc_reg_operand (operands[0], XOmode) || gpc_reg_operand (operands[1], XOmode))" --- 340,347 ---- }) (define_insn_and_split "*movxo" ! [(set (match_operand:XO 0 "nonimmediate_operand" "=d,ZwO,d") ! (match_operand:XO 1 "input_operand" "ZwO,d,d"))] "TARGET_MMA && (gpc_reg_operand (operands[0], XOmode) || gpc_reg_operand (operands[1], XOmode))" diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/predicates.md gcc-13.3.0/gcc/config/rs6000/predicates.md *** gcc-13.2.0/gcc/config/rs6000/predicates.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/predicates.md Tue May 21 07:47:38 2024 *************** *** 913,919 **** (define_predicate "vsx_quad_dform_memory_operand" (match_code "mem") { ! if (!TARGET_P9_VECTOR || !MEM_P (op) || GET_MODE_SIZE (mode) != 16) return false; return quad_address_p (XEXP (op, 0), mode, false); --- 913,919 ---- (define_predicate "vsx_quad_dform_memory_operand" (match_code "mem") { ! if (!TARGET_P9_VECTOR) return false; return quad_address_p (XEXP (op, 0), mode, false); diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000-builtin.cc gcc-13.3.0/gcc/config/rs6000/rs6000-builtin.cc *** gcc-13.2.0/gcc/config/rs6000/rs6000-builtin.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000-builtin.cc Tue May 21 07:47:38 2024 *************** rs6000_builtin_is_supported (enum rs6000 *** 165,171 **** case ENB_P7_64: return TARGET_POPCNTD && TARGET_POWERPC64; case ENB_P8: ! return TARGET_DIRECT_MOVE; case ENB_P8V: return TARGET_P8_VECTOR; case ENB_P9: --- 165,171 ---- case ENB_P7_64: return TARGET_POPCNTD && TARGET_POWERPC64; case ENB_P8: ! return TARGET_POWER8; case ENB_P8V: return TARGET_P8_VECTOR; case ENB_P9: *************** rs6000_gimple_fold_builtin (gimple_stmt_ *** 1896,1902 **** tree lhs_type = TREE_TYPE (lhs); /* In GIMPLE the type of the MEM_REF specifies the alignment. The required alignment (power) is 4 bytes regardless of data type. */ ! tree align_ltype = build_aligned_type (lhs_type, 4); /* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'. Create the tree using the value from arg0. The resulting type will match the type of arg1. */ --- 1896,1902 ---- tree lhs_type = TREE_TYPE (lhs); /* In GIMPLE the type of the MEM_REF specifies the alignment. The required alignment (power) is 4 bytes regardless of data type. */ ! tree align_ltype = build_aligned_type (lhs_type, 32); /* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'. Create the tree using the value from arg0. The resulting type will match the type of arg1. */ *************** rs6000_gimple_fold_builtin (gimple_stmt_ *** 1940,1946 **** tree arg2_type = ptr_type_node; /* In GIMPLE the type of the MEM_REF specifies the alignment. The required alignment (power) is 4 bytes regardless of data type. */ ! tree align_stype = build_aligned_type (arg0_type, 4); /* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'. Create the tree using the value from arg1. */ gimple_seq stmts = NULL; --- 1940,1946 ---- tree arg2_type = ptr_type_node; /* In GIMPLE the type of the MEM_REF specifies the alignment. The required alignment (power) is 4 bytes regardless of data type. */ ! tree align_stype = build_aligned_type (arg0_type, 32); /* POINTER_PLUS_EXPR wants the offset to be of type 'sizetype'. Create the tree using the value from arg1. */ gimple_seq stmts = NULL; diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000-c.cc gcc-13.3.0/gcc/config/rs6000/rs6000-c.cc *** gcc-13.2.0/gcc/config/rs6000/rs6000-c.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000-c.cc Tue May 21 07:47:38 2024 *************** rs6000_target_modify_macros (bool define *** 429,447 **** rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6"); if ((flags & OPTION_MASK_POPCNTD) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7"); ! /* Note that the OPTION_MASK_DIRECT_MOVE flag is automatically ! turned on in the following condition: ! 1. TARGET_P8_VECTOR is enabled and OPTION_MASK_DIRECT_MOVE is not ! explicitly disabled. ! Hereafter, the OPTION_MASK_DIRECT_MOVE flag is considered to ! have been turned on explicitly. ! Note that the OPTION_MASK_DIRECT_MOVE flag is automatically ! turned off in any of the following conditions: ! 1. TARGET_HARD_FLOAT, TARGET_ALTIVEC, or TARGET_VSX is explicitly ! disabled and OPTION_MASK_DIRECT_MOVE was not explicitly ! enabled. ! 2. TARGET_VSX is off. */ ! if ((flags & OPTION_MASK_DIRECT_MOVE) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8"); if ((flags & OPTION_MASK_MODULO) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9"); --- 429,435 ---- rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6"); if ((flags & OPTION_MASK_POPCNTD) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7"); ! if ((flags & OPTION_MASK_POWER8) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8"); if ((flags & OPTION_MASK_MODULO) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9"); diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000-call.cc gcc-13.3.0/gcc/config/rs6000/rs6000-call.cc *** gcc-13.2.0/gcc/config/rs6000/rs6000-call.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000-call.cc Tue May 21 07:47:38 2024 *************** setup_incoming_varargs (cumulative_args_ *** 2253,2259 **** /* Skip the last named argument. */ next_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) rs6000_function_arg_advance_1 (&next_cum, arg.mode, arg.type, arg.named, 0); --- 2253,2260 ---- /* Skip the last named argument. */ next_cum = *get_cumulative_args (cum); ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) rs6000_function_arg_advance_1 (&next_cum, arg.mode, arg.type, arg.named, 0); diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000-cpus.def gcc-13.3.0/gcc/config/rs6000/rs6000-cpus.def *** gcc-13.2.0/gcc/config/rs6000/rs6000-cpus.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000-cpus.def Tue May 21 07:47:38 2024 *************** *** 47,55 **** fusion here, instead set it in rs6000.cc if we are tuning for a power8 system. */ #define ISA_2_7_MASKS_SERVER (ISA_2_6_MASKS_SERVER \ | OPTION_MASK_P8_VECTOR \ | OPTION_MASK_CRYPTO \ - | OPTION_MASK_DIRECT_MOVE \ | OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ | OPTION_MASK_QUAD_MEMORY \ | OPTION_MASK_QUAD_MEMORY_ATOMIC) --- 47,55 ---- fusion here, instead set it in rs6000.cc if we are tuning for a power8 system. */ #define ISA_2_7_MASKS_SERVER (ISA_2_6_MASKS_SERVER \ + | OPTION_MASK_POWER8 \ | OPTION_MASK_P8_VECTOR \ | OPTION_MASK_CRYPTO \ | OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ | OPTION_MASK_QUAD_MEMORY \ | OPTION_MASK_QUAD_MEMORY_ATOMIC) *************** *** 93,99 **** /* Flags that need to be turned off if -mno-power8-vector. */ #define OTHER_P8_VECTOR_MASKS (OTHER_P9_VECTOR_MASKS \ | OPTION_MASK_P9_VECTOR \ - | OPTION_MASK_DIRECT_MOVE \ | OPTION_MASK_CRYPTO) /* Flags that need to be turned off if -mno-vsx. */ --- 93,98 ---- *************** *** 124,130 **** | OPTION_MASK_CMPB \ | OPTION_MASK_CRYPTO \ | OPTION_MASK_DFP \ - | OPTION_MASK_DIRECT_MOVE \ | OPTION_MASK_DLMZB \ | OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ | OPTION_MASK_FLOAT128_HW \ --- 123,128 ---- *************** *** 139,144 **** --- 137,143 ---- | OPTION_MASK_MODULO \ | OPTION_MASK_MULHW \ | OPTION_MASK_NO_UPDATE \ + | OPTION_MASK_POWER8 \ | OPTION_MASK_P8_FUSION \ | OPTION_MASK_P8_VECTOR \ | OPTION_MASK_P9_MINMAX \ diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000-string.cc gcc-13.3.0/gcc/config/rs6000/rs6000-string.cc *** gcc-13.2.0/gcc/config/rs6000/rs6000-string.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000-string.cc Tue May 21 07:47:38 2024 *************** expand_block_move (rtx operands[], bool *** 2811,2821 **** gen_func.mov = gen_vsx_movv2di_64bit; } else if (TARGET_BLOCK_OPS_UNALIGNED_VSX ! && TARGET_POWER10 && bytes < 16 && orig_bytes > 16 ! && !(bytes == 1 || bytes == 2 ! || bytes == 4 || bytes == 8) ! && (align >= 128 || !STRICT_ALIGNMENT)) { /* Only use lxvl/stxvl if it could replace multiple ordinary loads+stores. Also don't use it unless we likely already --- 2811,2827 ---- gen_func.mov = gen_vsx_movv2di_64bit; } else if (TARGET_BLOCK_OPS_UNALIGNED_VSX ! /* Only use lxvl/stxvl on 64bit POWER10. */ ! && TARGET_POWER10 ! && TARGET_64BIT ! && bytes < 16 && orig_bytes > 16 ! && !(bytes == 1 ! || bytes == 2 ! || bytes == 4 ! || bytes == 8) ! && (align >= 128 ! || !STRICT_ALIGNMENT)) { /* Only use lxvl/stxvl if it could replace multiple ordinary loads+stores. Also don't use it unless we likely already diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000.cc gcc-13.3.0/gcc/config/rs6000/rs6000.cc *** gcc-13.2.0/gcc/config/rs6000/rs6000.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000.cc Tue May 21 07:47:38 2024 *************** rs6000_option_override_internal (bool gl *** 3790,3800 **** "-mmultiple"); } ! /* If little-endian, default to -mstrict-align on older processors. ! Testing for direct_move matches power8 and later. */ if (!BYTES_BIG_ENDIAN && !(processor_target_table[tune_index].target_enable ! & OPTION_MASK_DIRECT_MOVE)) rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN; /* Add some warnings for VSX. */ --- 3790,3799 ---- "-mmultiple"); } ! /* If little-endian, default to -mstrict-align on older processors. */ if (!BYTES_BIG_ENDIAN && !(processor_target_table[tune_index].target_enable ! & OPTION_MASK_POWER8)) rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN; /* Add some warnings for VSX. */ *************** rs6000_option_override_internal (bool gl *** 3836,3843 **** && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT | OPTION_MASK_ALTIVEC | OPTION_MASK_VSX)) != 0) ! rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO ! | OPTION_MASK_DIRECT_MOVE) & ~rs6000_isa_flags_explicit); if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET) --- 3835,3841 ---- && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT | OPTION_MASK_ALTIVEC | OPTION_MASK_VSX)) != 0) ! rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO) & ~rs6000_isa_flags_explicit); if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET) *************** rs6000_option_override_internal (bool gl *** 3881,3887 **** else rs6000_isa_flags |= ISA_3_0_MASKS_SERVER; } ! else if (TARGET_P8_VECTOR || TARGET_DIRECT_MOVE || TARGET_CRYPTO) rs6000_isa_flags |= (ISA_2_7_MASKS_SERVER & ~ignore_masks); else if (TARGET_VSX) rs6000_isa_flags |= (ISA_2_6_MASKS_SERVER & ~ignore_masks); --- 3879,3885 ---- else rs6000_isa_flags |= ISA_3_0_MASKS_SERVER; } ! else if (TARGET_P8_VECTOR || TARGET_POWER8 || TARGET_CRYPTO) rs6000_isa_flags |= (ISA_2_7_MASKS_SERVER & ~ignore_masks); else if (TARGET_VSX) rs6000_isa_flags |= (ISA_2_6_MASKS_SERVER & ~ignore_masks); *************** rs6000_option_override_internal (bool gl *** 3922,3934 **** rs6000_isa_flags &= ~OPTION_MASK_FPRND; } - if (TARGET_DIRECT_MOVE && !TARGET_VSX) - { - if (rs6000_isa_flags_explicit & OPTION_MASK_DIRECT_MOVE) - error ("%qs requires %qs", "-mdirect-move", "-mvsx"); - rs6000_isa_flags &= ~OPTION_MASK_DIRECT_MOVE; - } - if (TARGET_P8_VECTOR && !TARGET_ALTIVEC) { if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR) --- 3920,3925 ---- *************** rs6000_rtx_costs (rtx x, machine_mode mo *** 22102,22108 **** *total = rs6000_cost->divsi; } /* Add in shift and subtract for MOD unless we have a mod instruction. */ ! if (!TARGET_MODULO && (code == MOD || code == UMOD)) *total += COSTS_N_INSNS (2); return false; --- 22093,22101 ---- *total = rs6000_cost->divsi; } /* Add in shift and subtract for MOD unless we have a mod instruction. */ ! if ((!TARGET_MODULO ! || (RS6000_DISABLE_SCALAR_MODULO && SCALAR_INT_MODE_P (mode))) ! && (code == MOD || code == UMOD)) *total += COSTS_N_INSNS (2); return false; *************** static struct rs6000_opt_mask const rs60 *** 24154,24160 **** false, true }, { "cmpb", OPTION_MASK_CMPB, false, true }, { "crypto", OPTION_MASK_CRYPTO, false, true }, ! { "direct-move", OPTION_MASK_DIRECT_MOVE, false, true }, { "dlmzb", OPTION_MASK_DLMZB, false, true }, { "efficient-unaligned-vsx", OPTION_MASK_EFFICIENT_UNALIGNED_VSX, false, true }, --- 24147,24153 ---- false, true }, { "cmpb", OPTION_MASK_CMPB, false, true }, { "crypto", OPTION_MASK_CRYPTO, false, true }, ! { "direct-move", 0, false, true }, { "dlmzb", OPTION_MASK_DLMZB, false, true }, { "efficient-unaligned-vsx", OPTION_MASK_EFFICIENT_UNALIGNED_VSX, false, true }, *************** rs6000_need_ipa_fn_target_info (const_tr *** 25410,25424 **** static bool rs6000_update_ipa_fn_target_info (unsigned int &info, const gimple *stmt) { /* Assume inline asm can use any instruction features. */ if (gimple_code (stmt) == GIMPLE_ASM) { ! /* Should set any bits we concerned, for now OPTION_MASK_HTM is ! the only bit we care about. */ ! info |= RS6000_FN_TARGET_INFO_HTM; return false; } ! else if (gimple_code (stmt) == GIMPLE_CALL) { tree fndecl = gimple_call_fndecl (stmt); if (fndecl && fndecl_built_in_p (fndecl, BUILT_IN_MD)) --- 25403,25423 ---- static bool rs6000_update_ipa_fn_target_info (unsigned int &info, const gimple *stmt) { + #ifndef HAVE_AS_POWER10_HTM /* Assume inline asm can use any instruction features. */ if (gimple_code (stmt) == GIMPLE_ASM) { ! const char *asm_str = gimple_asm_string (as_a (stmt)); ! /* Ignore empty inline asm string. */ ! if (strlen (asm_str) > 0) ! /* Should set any bits we concerned, for now OPTION_MASK_HTM is ! the only bit we care about. */ ! info |= RS6000_FN_TARGET_INFO_HTM; return false; } ! #endif ! ! if (gimple_code (stmt) == GIMPLE_CALL) { tree fndecl = gimple_call_fndecl (stmt); if (fndecl && fndecl_built_in_p (fndecl, BUILT_IN_MD)) *************** rs6000_can_inline_p (tree caller, tree c *** 25446,25494 **** tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller); tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); ! /* If the callee has no option attributes, then it is ok to inline. */ if (!callee_tree) ! ret = true; ! else ! { ! HOST_WIDE_INT caller_isa; ! struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree); ! HOST_WIDE_INT callee_isa = callee_opts->x_rs6000_isa_flags; ! HOST_WIDE_INT explicit_isa = callee_opts->x_rs6000_isa_flags_explicit; ! /* If the caller has option attributes, then use them. ! Otherwise, use the command line options. */ ! if (caller_tree) ! caller_isa = TREE_TARGET_OPTION (caller_tree)->x_rs6000_isa_flags; ! else ! caller_isa = rs6000_isa_flags; ! cgraph_node *callee_node = cgraph_node::get (callee); ! if (ipa_fn_summaries && ipa_fn_summaries->get (callee_node) != NULL) { ! unsigned int info = ipa_fn_summaries->get (callee_node)->target_info; ! if ((info & RS6000_FN_TARGET_INFO_HTM) == 0) ! { ! callee_isa &= ~OPTION_MASK_HTM; ! explicit_isa &= ~OPTION_MASK_HTM; ! } } ! /* Ignore -mpower8-fusion and -mpower10-fusion options for inlining ! purposes. */ ! callee_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION); ! explicit_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION); ! /* The callee's options must be a subset of the caller's options, i.e. ! a vsx function may inline an altivec function, but a no-vsx function ! must not inline a vsx function. However, for those options that the ! callee has explicitly enabled or disabled, then we must enforce that ! the callee's and caller's options match exactly; see PR70010. */ ! if (((caller_isa & callee_isa) == callee_isa) ! && (caller_isa & explicit_isa) == (callee_isa & explicit_isa)) ! ret = true; ! } if (TARGET_DEBUG_TARGET) fprintf (stderr, "rs6000_can_inline_p:, caller %s, callee %s, %s inline\n", --- 25445,25488 ---- tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller); tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); ! /* If the caller/callee has option attributes, then use them. ! Otherwise, use the command line options. */ if (!callee_tree) ! callee_tree = target_option_default_node; ! if (!caller_tree) ! caller_tree = target_option_default_node; ! struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree); ! struct cl_target_option *caller_opts = TREE_TARGET_OPTION (caller_tree); ! HOST_WIDE_INT callee_isa = callee_opts->x_rs6000_isa_flags; ! HOST_WIDE_INT caller_isa = caller_opts->x_rs6000_isa_flags; ! HOST_WIDE_INT explicit_isa = callee_opts->x_rs6000_isa_flags_explicit; ! cgraph_node *callee_node = cgraph_node::get (callee); ! if (ipa_fn_summaries && ipa_fn_summaries->get (callee_node) != NULL) ! { ! unsigned int info = ipa_fn_summaries->get (callee_node)->target_info; ! if ((info & RS6000_FN_TARGET_INFO_HTM) == 0) { ! callee_isa &= ~OPTION_MASK_HTM; ! explicit_isa &= ~OPTION_MASK_HTM; } + } ! /* Ignore -mpower8-fusion and -mpower10-fusion options for inlining ! purposes. */ ! callee_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION); ! explicit_isa &= ~(OPTION_MASK_P8_FUSION | OPTION_MASK_P10_FUSION); ! /* The callee's options must be a subset of the caller's options, i.e. ! a vsx function may inline an altivec function, but a no-vsx function ! must not inline a vsx function. However, for those options that the ! callee has explicitly enabled or disabled, then we must enforce that ! the callee's and caller's options match exactly; see PR70010. */ ! if (((caller_isa & callee_isa) == callee_isa) ! && (caller_isa & explicit_isa) == (callee_isa & explicit_isa)) ! ret = true; if (TARGET_DEBUG_TARGET) fprintf (stderr, "rs6000_can_inline_p:, caller %s, callee %s, %s inline\n", diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000.h gcc-13.3.0/gcc/config/rs6000/rs6000.h *** gcc-13.2.0/gcc/config/rs6000/rs6000.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000.h Tue May 21 07:47:38 2024 *************** extern int rs6000_vector_align[]; *** 471,476 **** --- 471,478 ---- #define TARGET_EXTSWSLI (TARGET_MODULO && TARGET_POWERPC64) #define TARGET_MADDLD TARGET_MODULO + /* TARGET_DIRECT_MOVE is redundant to TARGET_P8_VECTOR, so alias it to that. */ + #define TARGET_DIRECT_MOVE TARGET_P8_VECTOR #define TARGET_XSCVDPSPN (TARGET_DIRECT_MOVE || TARGET_P8_VECTOR) #define TARGET_XSCVSPDPN (TARGET_DIRECT_MOVE || TARGET_P8_VECTOR) #define TARGET_VADDUQM (TARGET_P8_VECTOR && TARGET_POWERPC64) *************** extern int rs6000_vector_align[]; *** 492,498 **** memory support. */ #define TARGET_SYNC_HI_QI (TARGET_QUAD_MEMORY \ || TARGET_QUAD_MEMORY_ATOMIC \ ! || TARGET_DIRECT_MOVE) #define TARGET_SYNC_TI TARGET_QUAD_MEMORY_ATOMIC --- 494,500 ---- memory support. */ #define TARGET_SYNC_HI_QI (TARGET_QUAD_MEMORY \ || TARGET_QUAD_MEMORY_ATOMIC \ ! || TARGET_POWER8) #define TARGET_SYNC_TI TARGET_QUAD_MEMORY_ATOMIC *************** while (0) *** 2492,2494 **** --- 2494,2502 ---- rs6000_asm_output_opcode (STREAM); \ } \ while (0) + + /* Disable generation of scalar modulo instructions due to performance issues + with certain input values. This can be removed in the future when the + issues have been resolved. */ + #define RS6000_DISABLE_SCALAR_MODULO 1 + diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000.md gcc-13.3.0/gcc/config/rs6000/rs6000.md *** gcc-13.2.0/gcc/config/rs6000/rs6000.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000.md Tue May 21 07:47:38 2024 *************** *** 354,360 **** (const (symbol_ref "(enum attr_cpu) rs6000_tune"))) ;; The ISA we implement. ! (define_attr "isa" "any,p5,p6,p7,p7v,p8v,p9,p9v,p9kf,p9tf,p10" (const_string "any")) ;; Is this alternative enabled for the current CPU/ISA/etc.? --- 354,360 ---- (const (symbol_ref "(enum attr_cpu) rs6000_tune"))) ;; The ISA we implement. ! (define_attr "isa" "any,p5,p6,p7,p7v,p8,p8v,p9,p9v,p9kf,p9tf,p10" (const_string "any")) ;; Is this alternative enabled for the current CPU/ISA/etc.? *************** *** 379,384 **** --- 379,388 ---- (match_test "TARGET_VSX")) (const_int 1) + (and (eq_attr "isa" "p8") + (match_test "TARGET_POWER8")) + (const_int 1) + (and (eq_attr "isa" "p8v") (match_test "TARGET_P8_VECTOR")) (const_int 1) *************** *** 3421,3426 **** --- 3425,3441 ---- FAIL; operands[2] = force_reg (mode, operands[2]); + + if (RS6000_DISABLE_SCALAR_MODULO) + { + temp1 = gen_reg_rtx (mode); + temp2 = gen_reg_rtx (mode); + + emit_insn (gen_div3 (temp1, operands[1], operands[2])); + emit_insn (gen_mul3 (temp2, temp1, operands[2])); + emit_insn (gen_sub3 (operands[0], operands[1], temp2)); + DONE; + } } else { *************** *** 3440,3456 **** [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r,r") (mod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r,r") (match_operand:GPR 2 "gpc_reg_operand" "r,r")))] ! "TARGET_MODULO" "mods %0,%1,%2" [(set_attr "type" "div") (set_attr "size" "")]) ! (define_insn "umod3" [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r,r") (umod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r,r") (match_operand:GPR 2 "gpc_reg_operand" "r,r")))] ! "TARGET_MODULO" "modu %0,%1,%2" [(set_attr "type" "div") (set_attr "size" "")]) --- 3455,3490 ---- [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r,r") (mod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r,r") (match_operand:GPR 2 "gpc_reg_operand" "r,r")))] ! "TARGET_MODULO && !RS6000_DISABLE_SCALAR_MODULO" "mods %0,%1,%2" [(set_attr "type" "div") (set_attr "size" "")]) + ;; This define_expand can be removed when RS6000_DISABLE_SCALAR_MODULO is + ;; removed. + (define_expand "umod3" + [(set (match_operand:GPR 0 "gpc_reg_operand") + (umod:GPR (match_operand:GPR 1 "gpc_reg_operand") + (match_operand:GPR 2 "gpc_reg_operand")))] + "TARGET_MODULO" + { + if (RS6000_DISABLE_SCALAR_MODULO) + { + rtx temp1 = gen_reg_rtx (mode); + rtx temp2 = gen_reg_rtx (mode); ! emit_insn (gen_udiv3 (temp1, operands[1], operands[2])); ! emit_insn (gen_mul3 (temp2, temp1, operands[2])); ! emit_insn (gen_sub3 (operands[0], operands[1], temp2)); ! DONE; ! } ! }) ! ! (define_insn "*umod3" [(set (match_operand:GPR 0 "gpc_reg_operand" "=&r,r") (umod:GPR (match_operand:GPR 1 "gpc_reg_operand" "r,r") (match_operand:GPR 2 "gpc_reg_operand" "r,r")))] ! "TARGET_MODULO && !RS6000_DISABLE_SCALAR_MODULO" "modu %0,%1,%2" [(set_attr "type" "div") (set_attr "size" "")]) *************** *** 3507,3513 **** [(set (match_operand:TI 0 "altivec_register_operand" "=v") (umod:TI (match_operand:TI 1 "altivec_register_operand" "v") (match_operand:TI 2 "altivec_register_operand" "v")))] ! "TARGET_POWER10 && TARGET_POWERPC64" "vmoduq %0,%1,%2" [(set_attr "type" "vecdiv") (set_attr "size" "128")]) --- 3541,3547 ---- [(set (match_operand:TI 0 "altivec_register_operand" "=v") (umod:TI (match_operand:TI 1 "altivec_register_operand" "v") (match_operand:TI 2 "altivec_register_operand" "v")))] ! "TARGET_POWER10 && TARGET_POWERPC64 && !RS6000_DISABLE_SCALAR_MODULO" "vmoduq %0,%1,%2" [(set_attr "type" "vecdiv") (set_attr "size" "128")]) *************** *** 3516,3522 **** [(set (match_operand:TI 0 "altivec_register_operand" "=v") (mod:TI (match_operand:TI 1 "altivec_register_operand" "v") (match_operand:TI 2 "altivec_register_operand" "v")))] ! "TARGET_POWER10 && TARGET_POWERPC64" "vmodsq %0,%1,%2" [(set_attr "type" "vecdiv") (set_attr "size" "128")]) --- 3550,3556 ---- [(set (match_operand:TI 0 "altivec_register_operand" "=v") (mod:TI (match_operand:TI 1 "altivec_register_operand" "v") (match_operand:TI 2 "altivec_register_operand" "v")))] ! "TARGET_POWER10 && TARGET_POWERPC64 && !RS6000_DISABLE_SCALAR_MODULO" "vmodsq %0,%1,%2" [(set_attr "type" "vecdiv") (set_attr "size" "128")]) *************** *** 12324,12356 **** DONE; }) - (define_insn "stack_protect_setsi" - [(set (match_operand:SI 0 "memory_operand" "=m") - (unspec:SI [(match_operand:SI 1 "memory_operand" "m")] UNSPEC_SP_SET)) - (set (match_scratch:SI 2 "=&r") (const_int 0))] - "TARGET_32BIT" - "lwz%U1%X1 %2,%1\;stw%U0%X0 %2,%0\;li %2,0" - [(set_attr "type" "three") - (set_attr "length" "12")]) - ;; We can't use the prefixed attribute here because there are two memory ;; instructions. We can't split the insn due to the fact that this operation ;; needs to be done in one piece. ! (define_insn "stack_protect_setdi" ! [(set (match_operand:DI 0 "memory_operand" "=Y") ! (unspec:DI [(match_operand:DI 1 "memory_operand" "Y")] UNSPEC_SP_SET)) ! (set (match_scratch:DI 2 "=&r") (const_int 0))] ! "TARGET_64BIT" { ! if (prefixed_memory (operands[1], DImode)) ! output_asm_insn ("pld %2,%1", operands); else ! output_asm_insn ("ld%U1%X1 %2,%1", operands); ! if (prefixed_memory (operands[0], DImode)) ! output_asm_insn ("pstd %2,%0", operands); else ! output_asm_insn ("std%U0%X0 %2,%0", operands); return "li %2,0"; } --- 12358,12383 ---- DONE; }) ;; We can't use the prefixed attribute here because there are two memory ;; instructions. We can't split the insn due to the fact that this operation ;; needs to be done in one piece. ! (define_insn "stack_protect_set" ! [(set (match_operand:P 0 "memory_operand" "=YZ") ! (unspec:P [(match_operand:P 1 "memory_operand" "YZ")] UNSPEC_SP_SET)) ! (set (match_scratch:P 2 "=&r") (const_int 0))] ! "" { ! if (prefixed_memory (operands[1], mode)) ! /* Prefixed load only supports D-form but no update and X-form. */ ! output_asm_insn ("p %2,%1", operands); else ! output_asm_insn ("%U1%X1 %2,%1", operands); ! if (prefixed_memory (operands[0], mode)) ! /* Prefixed store only supports D-form but no update and X-form. */ ! output_asm_insn ("pst %2,%0", operands); else ! output_asm_insn ("st%U0%X0 %2,%0", operands); return "li %2,0"; } *************** *** 12396,12440 **** DONE; }) - (define_insn "stack_protect_testsi" - [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y") - (unspec:CCEQ [(match_operand:SI 1 "memory_operand" "m,m") - (match_operand:SI 2 "memory_operand" "m,m")] - UNSPEC_SP_TEST)) - (set (match_scratch:SI 4 "=r,r") (const_int 0)) - (clobber (match_scratch:SI 3 "=&r,&r"))] - "TARGET_32BIT" - "@ - lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;xor. %3,%3,%4\;li %4,0 - lwz%U1%X1 %3,%1\;lwz%U2%X2 %4,%2\;cmplw %0,%3,%4\;li %3,0\;li %4,0" - [(set_attr "length" "16,20")]) - ;; We can't use the prefixed attribute here because there are two memory ;; instructions. We can't split the insn due to the fact that this operation ;; needs to be done in one piece. ! (define_insn "stack_protect_testdi" [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y") ! (unspec:CCEQ [(match_operand:DI 1 "memory_operand" "Y,Y") ! (match_operand:DI 2 "memory_operand" "Y,Y")] UNSPEC_SP_TEST)) ! (set (match_scratch:DI 4 "=r,r") (const_int 0)) ! (clobber (match_scratch:DI 3 "=&r,&r"))] ! "TARGET_64BIT" { ! if (prefixed_memory (operands[1], DImode)) ! output_asm_insn ("pld %3,%1", operands); else ! output_asm_insn ("ld%U1%X1 %3,%1", operands); ! if (prefixed_memory (operands[2], DImode)) ! output_asm_insn ("pld %4,%2", operands); else ! output_asm_insn ("ld%U2%X2 %4,%2", operands); if (which_alternative == 0) output_asm_insn ("xor. %3,%3,%4", operands); else ! output_asm_insn ("cmpld %0,%3,%4\;li %3,0", operands); return "li %4,0"; } --- 12423,12455 ---- DONE; }) ;; We can't use the prefixed attribute here because there are two memory ;; instructions. We can't split the insn due to the fact that this operation ;; needs to be done in one piece. ! (define_insn "stack_protect_test" [(set (match_operand:CCEQ 0 "cc_reg_operand" "=x,?y") ! (unspec:CCEQ [(match_operand:P 1 "memory_operand" "YZ,YZ") ! (match_operand:P 2 "memory_operand" "YZ,YZ")] UNSPEC_SP_TEST)) ! (set (match_scratch:P 4 "=r,r") (const_int 0)) ! (clobber (match_scratch:P 3 "=&r,&r"))] ! "" { ! if (prefixed_memory (operands[1], mode)) ! /* Prefixed load only supports D-form but no update and X-form. */ ! output_asm_insn ("p %3,%1", operands); else ! output_asm_insn ("%U1%X1 %3,%1", operands); ! if (prefixed_memory (operands[2], mode)) ! output_asm_insn ("p %4,%2", operands); else ! output_asm_insn ("%U2%X2 %4,%2", operands); if (which_alternative == 0) output_asm_insn ("xor. %3,%3,%4", operands); else ! output_asm_insn ("cmpl %0,%3,%4\;li %3,0", operands); return "li %4,0"; } *************** *** 14160,14166 **** AIX does not support the dcbtstt and dcbtt extended mnemonics. The AIX assembler does not support the three operand form of dcbt and dcbtst on Power 7 (-mpwr7). */ ! int inst_select = INTVAL (operands[2]) || !TARGET_DIRECT_MOVE; if (REG_P (operands[0])) { --- 14175,14181 ---- AIX does not support the dcbtstt and dcbtt extended mnemonics. The AIX assembler does not support the three operand form of dcbt and dcbtst on Power 7 (-mpwr7). */ ! int inst_select = INTVAL (operands[2]) || !TARGET_POWER8; if (REG_P (operands[0])) { diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rs6000.opt gcc-13.3.0/gcc/config/rs6000/rs6000.opt *** gcc-13.2.0/gcc/config/rs6000/rs6000.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rs6000.opt Tue May 21 07:47:38 2024 *************** Save the TOC in the prologue for indirec *** 470,475 **** --- 470,479 ---- mvsx-timode Target RejectNegative Undocumented Ignore + ;; This option exists only to create its MASK. It is not intended for users. + mpower8-internal + Target Undocumented Mask(POWER8) Var(rs6000_isa_flags) Warn(Do not use %<-mpower8-internal%>; use %<-mcpu=power8%> instead) + mpower8-fusion Target Mask(P8_FUSION) Var(rs6000_isa_flags) Fuse certain integer operations together for better performance on power8. *************** Target Mask(CRYPTO) Var(rs6000_isa_flags *** 491,497 **** Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions. mdirect-move ! Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) WarnRemoved mhtm Target Mask(HTM) Var(rs6000_isa_flags) --- 495,501 ---- Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions. mdirect-move ! Target Undocumented WarnRemoved mhtm Target Mask(HTM) Var(rs6000_isa_flags) diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/rtems.h gcc-13.3.0/gcc/config/rs6000/rtems.h *** gcc-13.2.0/gcc/config/rs6000/rtems.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/rtems.h Tue May 21 07:47:38 2024 *************** *** 36,41 **** --- 36,45 ---- #endif #endif + /* RTEMS configured for the 32-bit multilibs doesn't support saving and + restoring 64-bit regs. */ + #define OS_MISSING_POWERPC64 !TARGET_64BIT + /* Copy and paste from linux64.h and freebsd64.h */ #undef TARGET_AIX #define TARGET_AIX TARGET_64BIT diff -Nrcpad gcc-13.2.0/gcc/config/rs6000/vsx.md gcc-13.3.0/gcc/config/rs6000/vsx.md *** gcc-13.2.0/gcc/config/rs6000/vsx.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/rs6000/vsx.md Tue May 21 07:47:38 2024 *************** *** 4551,4558 **** rtx op1 = operands[1]; if (MEM_P (op1)) operands[1] = rs6000_force_indexed_or_indirect_mem (op1); ! else if (!REG_P (op1)) ! op1 = force_reg (mode, op1); }) (define_insn "vsx_splat__reg" --- 4551,4558 ---- rtx op1 = operands[1]; if (MEM_P (op1)) operands[1] = rs6000_force_indexed_or_indirect_mem (op1); ! else ! operands[1] = force_reg (mode, op1); }) (define_insn "vsx_splat__reg" *************** *** 6555,6561 **** (match_operand:QI 4 "u8bit_cint_operand" "n")] UNSPEC_XXEVAL))] "TARGET_POWER10" ! "xxeval %0,%1,%2,%3,%4" [(set_attr "type" "vecperm") (set_attr "prefixed" "yes")]) --- 6555,6561 ---- (match_operand:QI 4 "u8bit_cint_operand" "n")] UNSPEC_XXEVAL))] "TARGET_POWER10" ! "xxeval %x0,%x1,%x2,%x3,%4" [(set_attr "type" "vecperm") (set_attr "prefixed" "yes")]) diff -Nrcpad gcc-13.2.0/gcc/config/sh/sh.cc gcc-13.3.0/gcc/config/sh/sh.cc *** gcc-13.2.0/gcc/config/sh/sh.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/sh/sh.cc Tue May 21 07:47:38 2024 *************** sh_insn_operands_modified_between_p (rtx *** 11767,11773 **** bool sh_is_nott_insn (const rtx_insn* i) { ! return i != NULL && GET_CODE (PATTERN (i)) == SET && t_reg_operand (XEXP (PATTERN (i), 0), VOIDmode) && negt_reg_operand (XEXP (PATTERN (i), 1), VOIDmode); } --- 11767,11774 ---- bool sh_is_nott_insn (const rtx_insn* i) { ! return i != NULL_RTX && PATTERN (i) != NULL_RTX ! && GET_CODE (PATTERN (i)) == SET && t_reg_operand (XEXP (PATTERN (i), 0), VOIDmode) && negt_reg_operand (XEXP (PATTERN (i), 1), VOIDmode); } diff -Nrcpad gcc-13.2.0/gcc/config/sh/sh.md gcc-13.3.0/gcc/config/sh/sh.md *** gcc-13.2.0/gcc/config/sh/sh.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/sh/sh.md Tue May 21 07:47:38 2024 *************** *** 842,848 **** if (SUBREG_P (reg)) reg = SUBREG_REG (reg); gcc_assert (REG_P (reg)); ! if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) != NULL_RTX) FAIL; /* FIXME: Maybe also search the predecessor basic blocks to catch --- 842,848 ---- if (SUBREG_P (reg)) reg = SUBREG_REG (reg); gcc_assert (REG_P (reg)); ! if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) == NULL_RTX) FAIL; /* FIXME: Maybe also search the predecessor basic blocks to catch diff -Nrcpad gcc-13.2.0/gcc/config/sh/sh_treg_combine.cc gcc-13.3.0/gcc/config/sh/sh_treg_combine.cc *** gcc-13.2.0/gcc/config/sh/sh_treg_combine.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/sh/sh_treg_combine.cc Tue May 21 07:47:38 2024 *************** sh_treg_combine::record_set_of_reg (rtx *** 729,735 **** } else if (REG_P (new_entry.cstore.set_src ())) { ! // If it's a reg-reg copy follow the copied reg. new_entry.cstore_reg_reg_copies.push_back (new_entry.cstore); reg = new_entry.cstore.set_src (); i = new_entry.cstore.insn; --- 729,742 ---- } else if (REG_P (new_entry.cstore.set_src ())) { ! // If it's a reg-reg copy follow the copied reg, but ignore ! // nop copies of the reg onto itself. ! if (REGNO (new_entry.cstore.set_src ()) == REGNO (reg)) ! { ! i = prev_nonnote_nondebug_insn_bb (i); ! continue; ! } ! new_entry.cstore_reg_reg_copies.push_back (new_entry.cstore); reg = new_entry.cstore.set_src (); i = new_entry.cstore.insn; diff -Nrcpad gcc-13.2.0/gcc/config/sparc/sparc.cc gcc-13.3.0/gcc/config/sparc/sparc.cc *** gcc-13.2.0/gcc/config/sparc/sparc.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/sparc/sparc.cc Tue May 21 07:47:38 2024 *************** atomic_insn_for_leon3_p (rtx_insn *insn) *** 1063,1068 **** --- 1063,1069 ---- { switch (INSN_CODE (insn)) { + case CODE_FOR_membar_storeload: case CODE_FOR_swapsi: case CODE_FOR_ldstub: case CODE_FOR_atomic_compare_and_swap_leon3_1: *************** next_active_non_empty_insn (rtx_insn *in *** 1129,1134 **** --- 1130,1136 ---- while (insn && (GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE || GET_CODE (PATTERN (insn)) == ASM_INPUT + || get_attr_length (insn) == 0 || (USEFUL_INSN_P (insn) && (asm_noperands (PATTERN (insn)) >= 0) && !strcmp (decode_asm_operands (PATTERN (insn), diff -Nrcpad gcc-13.2.0/gcc/config/sparc/sync.md gcc-13.3.0/gcc/config/sparc/sync.md *** gcc-13.2.0/gcc/config/sparc/sync.md Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/sparc/sync.md Tue May 21 07:47:38 2024 *************** *** 64,84 **** "stbar" [(set_attr "type" "multi")]) - ;; For LEON3, STB has the effect of membar #StoreLoad. - (define_insn "*membar_storeload_leon3" - [(set (match_operand:BLK 0 "" "") - (unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))] - "TARGET_LEON3" - "stb\t%%g0, [%%sp-1]" - [(set_attr "type" "store")]) - ;; For V8, LDSTUB has the effect of membar #StoreLoad. ! (define_insn "*membar_storeload" [(set (match_operand:BLK 0 "" "") (unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))] ! "TARGET_V8 && !TARGET_LEON3" ! "ldstub\t[%%sp-1], %%g0" ! [(set_attr "type" "multi")]) ;; Put the two together, in combination with the fact that V8 implements PSO ;; as its weakest memory model, means a full barrier. Match all remaining --- 64,83 ---- "stbar" [(set_attr "type" "multi")]) ;; For V8, LDSTUB has the effect of membar #StoreLoad. ! (define_insn "membar_storeload" [(set (match_operand:BLK 0 "" "") (unspec:BLK [(match_dup 0) (const_int 2)] UNSPEC_MEMBAR))] ! "TARGET_V8" ! { ! if (sparc_fix_gr712rc) ! return ".align\t16\n\tldstub\t[%%sp-1], %%g0"; ! else ! return "ldstub\t[%%sp-1], %%g0"; ! } ! [(set_attr "type" "multi") ! (set (attr "length") (if_then_else (eq_attr "fix_gr712rc" "true") ! (const_int 4) (const_int 1)))]) ;; Put the two together, in combination with the fact that V8 implements PSO ;; as its weakest memory model, means a full barrier. Match all remaining *************** *** 88,96 **** (unspec:BLK [(match_dup 0) (match_operand:SI 1 "const_int_operand")] UNSPEC_MEMBAR))] "TARGET_V8" ! "stbar\n\tldstub\t[%%sp-1], %%g0" [(set_attr "type" "multi") ! (set_attr "length" "2")]) ;; For V9, we have the full membar instruction. (define_insn "*membar" --- 87,101 ---- (unspec:BLK [(match_dup 0) (match_operand:SI 1 "const_int_operand")] UNSPEC_MEMBAR))] "TARGET_V8" ! { ! if (sparc_fix_gr712rc) ! return "stbar\n.align\t16\n\tldstub\t[%%sp-1], %%g0"; ! else ! return "stbar\n\tldstub\t[%%sp-1], %%g0"; ! } [(set_attr "type" "multi") ! (set (attr "length") (if_then_else (eq_attr "fix_gr712rc" "true") ! (const_int 5) (const_int 2)))]) ;; For V9, we have the full membar instruction. (define_insn "*membar" diff -Nrcpad gcc-13.2.0/gcc/config/vax/vax.cc gcc-13.3.0/gcc/config/vax/vax.cc *** gcc-13.2.0/gcc/config/vax/vax.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/vax/vax.cc Tue May 21 07:47:38 2024 *************** nonindexed_address_p (rtx x, bool strict *** 1830,1836 **** } /* True if PROD is either a reg times size of mode MODE and MODE is less ! than or equal 8 bytes, or just a reg if MODE is one byte. */ static bool index_term_p (rtx prod, machine_mode mode, bool strict) --- 1830,1838 ---- } /* True if PROD is either a reg times size of mode MODE and MODE is less ! than or equal 8 bytes, or just a reg if MODE is one byte. For a MULT ! RTX we accept its operands in either order, however ASHIFT is not ! commutative, so in that case reg has to be the left operand. */ static bool index_term_p (rtx prod, machine_mode mode, bool strict) *************** index_term_p (rtx prod, machine_mode mod *** 1849,1856 **** xfoo0 = XEXP (prod, 0); xfoo1 = XEXP (prod, 1); ! if (CONST_INT_P (xfoo0) ! && GET_MODE_SIZE (mode) == (log_p ? 1 << INTVAL (xfoo0) : INTVAL (xfoo0)) && INDEX_REGISTER_P (xfoo1, strict)) return true; --- 1851,1859 ---- xfoo0 = XEXP (prod, 0); xfoo1 = XEXP (prod, 1); ! if (!log_p ! && CONST_INT_P (xfoo0) ! && GET_MODE_SIZE (mode) == INTVAL (xfoo0) && INDEX_REGISTER_P (xfoo1, strict)) return true; diff -Nrcpad gcc-13.2.0/gcc/config/visium/visium.cc gcc-13.3.0/gcc/config/visium/visium.cc *** gcc-13.2.0/gcc/config/visium/visium.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config/visium/visium.cc Tue May 21 07:47:38 2024 *************** visium_setup_incoming_varargs (cumulativ *** 1481,1487 **** /* The caller has advanced ARGS_SO_FAR up to, but not beyond, the last named argument. Advance a local copy of ARGS_SO_FAR past the last "real" named argument, to find out how many registers are left over. */ ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))) TARGET_FUNCTION_ARG_ADVANCE (local_args_so_far, arg); /* Find how many registers we need to save. */ --- 1481,1488 ---- /* The caller has advanced ARGS_SO_FAR up to, but not beyond, the last named argument. Advance a local copy of ARGS_SO_FAR past the last "real" named argument, to find out how many registers are left over. */ ! if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)) ! || arg.type != NULL_TREE) TARGET_FUNCTION_ARG_ADVANCE (local_args_so_far, arg); /* Find how many registers we need to save. */ diff -Nrcpad gcc-13.2.0/gcc/config.gcc gcc-13.3.0/gcc/config.gcc *** gcc-13.2.0/gcc/config.gcc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config.gcc Tue May 21 07:47:38 2024 *************** aarch64*-*-elf | aarch64*-*-fuchsia* | a *** 1139,1144 **** --- 1139,1145 ---- ;; aarch64-*-rtems*) tm_file="${tm_file} aarch64/rtems.h rtems.h" + tmake_file="${tmake_file} aarch64/t-aarch64-rtems" ;; esac case $target in diff -Nrcpad gcc-13.2.0/gcc/config.host gcc-13.3.0/gcc/config.host *** gcc-13.2.0/gcc/config.host Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/config.host Tue May 21 07:47:38 2024 *************** case ${host} in *** 230,253 **** host_exeext=.exe host_lto_plugin_soname=cyglto_plugin.dll ;; ! i[34567]86-*-mingw32*) ! host_xm_file=i386/xm-mingw32.h ! host_xmake_file="${host_xmake_file} i386/x-mingw32 i386/x-mingw32-utf8" ! host_exeext=.exe ! out_host_hook_obj=host-mingw32.o ! host_extra_objs="${host_extra_objs} utf8-mingw32.o" ! host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o utf8rc-mingw32.o" ! host_lto_plugin_soname=liblto_plugin.dll ! ;; ! x86_64-*-mingw*) ! use_long_long_for_widest_fast_int=yes host_xm_file=i386/xm-mingw32.h ! host_xmake_file="${host_xmake_file} i386/x-mingw32 i386/x-mingw32-utf8" host_exeext=.exe out_host_hook_obj=host-mingw32.o - host_extra_objs="${host_extra_objs} utf8-mingw32.o" - host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o utf8rc-mingw32.o" host_lto_plugin_soname=liblto_plugin.dll ;; aarch64*-*-darwin*) out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" --- 230,248 ---- host_exeext=.exe host_lto_plugin_soname=cyglto_plugin.dll ;; ! i[34567]86-*-mingw32* | x86_64-*-mingw*) host_xm_file=i386/xm-mingw32.h ! host_xmake_file="${host_xmake_file} ${host_xmake_mingw} i386/x-mingw32" ! host_extra_gcc_objs="${host_extra_gcc_objs} ${host_extra_gcc_objs_mingw} driver-mingw32.o" ! host_extra_objs="${host_extra_objs} ${host_extra_objs_mingw}" host_exeext=.exe out_host_hook_obj=host-mingw32.o host_lto_plugin_soname=liblto_plugin.dll + case ${host} in + x86_64-*-*) + use_long_long_for_widest_fast_int=yes + ;; + esac ;; aarch64*-*-darwin*) out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o" diff -Nrcpad gcc-13.2.0/gcc/config.in gcc-13.3.0/gcc/config.in *** gcc-13.2.0/gcc/config.in Thu Jul 27 08:17:14 2023 --- gcc-13.3.0/gcc/config.in Tue May 21 07:49:00 2024 *************** *** 373,378 **** --- 373,384 ---- #endif + /* Define if your assembler supports conditional branch relaxation. */ + #ifndef USED_FOR_TARGET + #undef HAVE_AS_COND_BRANCH_RELAXATION + #endif + + /* Define if your assembler supports the --debug-prefix-map option. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_DEBUG_PREFIX_MAP *************** *** 604,609 **** --- 610,621 ---- #endif + /* Define if your macOS assembler supports .build_version directives */ + #ifndef USED_FOR_TARGET + #undef HAVE_AS_MACOS_BUILD_VERSION + #endif + + /* Define if the assembler understands -march=rv*_zifencei. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_MARCH_ZIFENCEI *************** *** 629,641 **** #endif ! /* Define if your Mac OS X assembler supports the -mmacos-version-min option. ! */ #ifndef USED_FOR_TARGET #undef HAVE_AS_MMACOSX_VERSION_MIN_OPTION #endif /* Define if your assembler supports .mspabi_attribute. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_MSPABI_ATTRIBUTE --- 641,658 ---- #endif ! /* Define if your macOS assembler supports the -mmacos-version-min option. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_MMACOSX_VERSION_MIN_OPTION #endif + /* Define if your assembler supports -mrelax option. */ + #ifndef USED_FOR_TARGET + #undef HAVE_AS_MRELAX_OPTION + #endif + + /* Define if your assembler supports .mspabi_attribute. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_MSPABI_ATTRIBUTE *************** *** 678,683 **** --- 695,706 ---- #endif + /* Define if your assembler supports htm insns on power10. */ + #ifndef USED_FOR_TARGET + #undef HAVE_AS_POWER10_HTM + #endif + + /* Define if your assembler supports .ref */ #ifndef USED_FOR_TARGET #undef HAVE_AS_REF diff -Nrcpad gcc-13.2.0/gcc/configure gcc-13.3.0/gcc/configure *** gcc-13.2.0/gcc/configure Thu Jul 27 08:17:14 2023 --- gcc-13.3.0/gcc/configure Tue May 21 07:49:00 2024 *************** enable_rpath *** 991,996 **** --- 991,997 ---- with_libiconv_prefix with_libiconv_type enable_sjlj_exceptions + enable_win32_utf8_manifest with_gcc_major_version_only enable_secureplt enable_mingw_wildcard *************** Optional Features: *** 1715,1720 **** --- 1716,1726 ---- --disable-rpath do not hardcode runtime library paths --enable-sjlj-exceptions arrange to use setjmp/longjmp exception handling + --disable-win32-utf8-manifest + disable embedding a utf8 manifest on mingw hosts + --enable-win32-utf8-manifest + enable embedding a utf8 manifest on mingw hosts + (default) --enable-secureplt enable -msecure-plt by default for PowerPC --enable-mingw-wildcard Set whether to expand wildcard on command-line. Default to platform configuration *************** gcc_gxx_libcxx_include_dir= *** 3755,3785 **** if test "${with_gxx_libcxx_include_dir+set}" = set; then : withval=$with_gxx_libcxx_include_dir; case "${withval}" in yes) as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;; - no) ;; *) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;; esac fi # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we # check to see if the latter starts with the former and, upon success, compute # gcc_gxx_libcxx_include_dir as relative to the sysroot. gcc_gxx_libcxx_include_dir_add_sysroot=0 ! if test x${gcc_gxx_libcxx_include_dir} != x; then ! $as_echo "#define ENABLE_STDLIB_OPTION 1" >>confdefs.h - else - $as_echo "#define ENABLE_STDLIB_OPTION 0" >>confdefs.h ! fi ! # ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO. if test x${gcc_gxx_libcxx_include_dir} = x; then if test x${enable_version_specific_runtime_libs} = xyes; then ! gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1' else - libcxx_incdir='libc++_include/c++/$(version)/v1' if test x$host != x$target; then libcxx_incdir="$target_alias/$libcxx_incdir" fi --- 3761,3814 ---- if test "${with_gxx_libcxx_include_dir+set}" = set; then : withval=$with_gxx_libcxx_include_dir; case "${withval}" in yes) as_fn_error $? "bad value ${withval} given for libc++ include directory" "$LINENO" 5 ;; *) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;; esac fi + # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option. + # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option. + # if --with-gxx-libcxx-include-dir is unset we enable the stdlib option + # based on the platform (to be available on platform versions where it is the + # default for the system tools). We also use a default path within the compiler + # install tree. + # Otherwise, we use the path provided and enable the stdlib option. # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we # check to see if the latter starts with the former and, upon success, compute # gcc_gxx_libcxx_include_dir as relative to the sysroot. gcc_gxx_libcxx_include_dir_add_sysroot=0 ! gcc_enable_stdlib_opt=0 if test x${gcc_gxx_libcxx_include_dir} != x; then + if test x${gcc_gxx_libcxx_include_dir} = xno; then + # set defaults for the dir, but the option is disabled anyway. + gcc_gxx_libcxx_include_dir= + else + gcc_enable_stdlib_opt=1 + fi + else + case $target in + *-darwin1[1-9]* | *-darwin2*) + # Default this on for Darwin versions which default to libcxx, + # and embed the path in the compiler install so that we get a + # self-contained toolchain. + gcc_enable_stdlib_opt=1 + ;; + *) ;; + esac + fi ! cat >>confdefs.h <<_ACEOF ! #define ENABLE_STDLIB_OPTION $gcc_enable_stdlib_opt ! _ACEOF ! # Sysroot behaviour as for gxx-include-dir if test x${gcc_gxx_libcxx_include_dir} = x; then + # default path,embedded in the compiler tree. + libcxx_incdir='include/c++/v1' if test x${enable_version_specific_runtime_libs} = xyes; then ! gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir' else if test x$host != x$target; then libcxx_incdir="$target_alias/$libcxx_incdir" fi *************** _ACEOF *** 12811,12816 **** --- 12840,12862 ---- fi + # Windows32 UTF-8 manifest support for running the driver and compiler + # executables with the UTF-8 active code page on mingw hosts. + # Non-mingw hosts ignore this option. + # The shell variables this sets are picked up from the mingw branches + # of config.host so they have to be set before it gets sourced. + # Check whether --enable-win32-utf8-manifest was given. + if test "${enable_win32_utf8_manifest+set}" = set; then : + enableval=$enable_win32_utf8_manifest; + fi + + + if test "x$enable_win32_utf8_manifest" != xno; then + host_xmake_mingw=i386/x-mingw32-utf8 + host_extra_gcc_objs_mingw=utf8rc-mingw32.o + host_extra_objs_mingw=utf8-mingw32.o + fi + # -------------------------------------------------------- # Build, host, and target specific configuration fragments # -------------------------------------------------------- *************** else *** 19825,19831 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 19828 "configure" #include "confdefs.h" #if HAVE_DLFCN_H --- 19871,19877 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 19874 "configure" #include "confdefs.h" #if HAVE_DLFCN_H *************** else *** 19931,19937 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 19934 "configure" #include "confdefs.h" #if HAVE_DLFCN_H --- 19977,19983 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF ! #line 19980 "configure" #include "confdefs.h" #if HAVE_DLFCN_H *************** $as_echo "#define HAVE_AS_MMACOSX_VERSIO *** 26220,26225 **** --- 26266,26304 ---- fi + if test x$gcc_cv_as_mmacosx_version_min = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .build_version" >&5 + $as_echo_n "checking assembler for .build_version... " >&6; } + if ${gcc_cv_as_darwin_build_version+:} false; then : + $as_echo_n "(cached) " >&6 + else + gcc_cv_as_darwin_build_version=no + if test x$gcc_cv_as != x; then + $as_echo ' .build_version macos, 10, 14 sdk_version 10, 14' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -mmacosx-version-min=10.14 -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_darwin_build_version=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_darwin_build_version" >&5 + $as_echo "$gcc_cv_as_darwin_build_version" >&6; } + if test $gcc_cv_as_darwin_build_version = yes; then + + $as_echo "#define HAVE_AS_MACOS_BUILD_VERSION 1" >>confdefs.h + + fi + + fi ;; esac *************** fi *** 28081,28086 **** --- 28160,28208 ---- case $target in + *-*-aix*) conftest_s=' .machine "pwr10" + .csect .text[PR] + tend. 0';; + *-*-darwin*) conftest_s=' .text + tend. 0';; + *) conftest_s=' .machine power10 + .text + tend. 0';; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for htm support on Power10" >&5 + $as_echo_n "checking assembler for htm support on Power10... " >&6; } + if ${gcc_cv_as_power10_htm+:} false; then : + $as_echo_n "(cached) " >&6 + else + gcc_cv_as_power10_htm=no + if test x$gcc_cv_as != x; then + $as_echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -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_power10_htm=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_power10_htm" >&5 + $as_echo "$gcc_cv_as_power10_htm" >&6; } + if test $gcc_cv_as_power10_htm = yes; then + + $as_echo "#define HAVE_AS_POWER10_HTM 1" >>confdefs.h + + fi + + + case $target in *-*-aix*) conftest_s=' .csect .text[PR] LCF..0: addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';; *************** $as_echo "#define HAVE_AS_EH_FRAME_PCREL *** 29011,29016 **** --- 29133,29204 ---- fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for -mrelax option" >&5 + $as_echo_n "checking assembler for -mrelax option... " >&6; } + if ${gcc_cv_as_loongarch_relax+:} false; then : + $as_echo_n "(cached) " >&6 + else + gcc_cv_as_loongarch_relax=no + if test x$gcc_cv_as != x; then + $as_echo '.text' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -mrelax -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_loongarch_relax=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_loongarch_relax" >&5 + $as_echo "$gcc_cv_as_loongarch_relax" >&6; } + if test $gcc_cv_as_loongarch_relax = yes; then + + $as_echo "#define HAVE_AS_MRELAX_OPTION 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for conditional branch relaxation support" >&5 + $as_echo_n "checking assembler for conditional branch relaxation support... " >&6; } + if ${gcc_cv_as_loongarch_cond_branch_relax+:} false; then : + $as_echo_n "(cached) " >&6 + else + gcc_cv_as_loongarch_cond_branch_relax=no + if test x$gcc_cv_as != x; then + $as_echo 'a: + .rept 32769 + nop + .endr + beq $a0,$a1,a' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -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_loongarch_cond_branch_relax=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_loongarch_cond_branch_relax" >&5 + $as_echo "$gcc_cv_as_loongarch_cond_branch_relax" >&6; } + if test $gcc_cv_as_loongarch_cond_branch_relax = yes; then + + $as_echo "#define HAVE_AS_COND_BRANCH_RELAXATION 1" >>confdefs.h + + fi + ;; s390*-*-*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .gnu_attribute support" >&5 *************** $as_echo "$gcc_cv_ld64_major" >&6; } *** 30484,30490 **** { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5 $as_echo_n "checking linker version... " >&6; } if test x"${gcc_cv_ld64_version}" = x; then ! gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | grep ld64 | sed s/.*ld64-// | awk '{print $1}'` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5 $as_echo "$gcc_cv_ld64_version" >&6; } --- 30672,30679 ---- { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker version" >&5 $as_echo_n "checking linker version... " >&6; } if test x"${gcc_cv_ld64_version}" = x; then ! gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \ ! | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld64_version" >&5 $as_echo "$gcc_cv_ld64_version" >&6; } *************** $as_echo_n "checking dsymutil version \" *** 30554,30560 **** dsymutil_kind=LLVM dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'` else ! dsymutil_kind=UNKNOWN dsymutil_vers="0.0" fi dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'` --- 30743,30749 ---- dsymutil_kind=LLVM dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([0-9\.]*\).*/\1/'` else ! dsymutil_kind=DET_UNKNOWN dsymutil_vers="0.0" fi dsymutil_major=`expr "$dsymutil_vers" : '\([0-9]*\)'` diff -Nrcpad gcc-13.2.0/gcc/configure.ac gcc-13.3.0/gcc/configure.ac *** gcc-13.2.0/gcc/configure.ac Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/configure.ac Tue May 21 07:47:38 2024 *************** AC_ARG_WITH(gxx-libcxx-include-dir, *** 237,263 **** [specifies directory to find libc++ header files])], [case "${withval}" in yes) AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;; - no) ;; *) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;; esac]) # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we # check to see if the latter starts with the former and, upon success, compute # gcc_gxx_libcxx_include_dir as relative to the sysroot. gcc_gxx_libcxx_include_dir_add_sysroot=0 ! if test x${gcc_gxx_libcxx_include_dir} != x; then ! AC_DEFINE(ENABLE_STDLIB_OPTION, 1, ! [Define if the -stdlib= option should be enabled.]) else ! AC_DEFINE(ENABLE_STDLIB_OPTION, 0) fi ! # ??? This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO. if test x${gcc_gxx_libcxx_include_dir} = x; then if test x${enable_version_specific_runtime_libs} = xyes; then ! gcc_gxx_libcxx_include_dir='${libsubdir}/libc++_include/c++/v1' else - libcxx_incdir='libc++_include/c++/$(version)/v1' if test x$host != x$target; then libcxx_incdir="$target_alias/$libcxx_incdir" fi --- 237,285 ---- [specifies directory to find libc++ header files])], [case "${withval}" in yes) AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;; *) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;; esac]) + # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option. + # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option. + # if --with-gxx-libcxx-include-dir is unset we enable the stdlib option + # based on the platform (to be available on platform versions where it is the + # default for the system tools). We also use a default path within the compiler + # install tree. + # Otherwise, we use the path provided and enable the stdlib option. # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we # check to see if the latter starts with the former and, upon success, compute # gcc_gxx_libcxx_include_dir as relative to the sysroot. gcc_gxx_libcxx_include_dir_add_sysroot=0 ! gcc_enable_stdlib_opt=0 if test x${gcc_gxx_libcxx_include_dir} != x; then ! if test x${gcc_gxx_libcxx_include_dir} = xno; then ! # set defaults for the dir, but the option is disabled anyway. ! gcc_gxx_libcxx_include_dir= ! else ! gcc_enable_stdlib_opt=1 ! fi else ! case $target in ! *-darwin1[[1-9]]* | *-darwin2*) ! # Default this on for Darwin versions which default to libcxx, ! # and embed the path in the compiler install so that we get a ! # self-contained toolchain. ! gcc_enable_stdlib_opt=1 ! ;; ! *) ;; ! esac fi ! AC_DEFINE_UNQUOTED(ENABLE_STDLIB_OPTION, $gcc_enable_stdlib_opt, ! [Define if the -stdlib= option should be enabled.]) ! ! # Sysroot behaviour as for gxx-include-dir if test x${gcc_gxx_libcxx_include_dir} = x; then + # default path,embedded in the compiler tree. + libcxx_incdir='include/c++/v1' if test x${enable_version_specific_runtime_libs} = xyes; then ! gcc_gxx_libcxx_include_dir='${libsubdir}/$libcxx_incdir' else if test x$host != x$target; then libcxx_incdir="$target_alias/$libcxx_incdir" fi *************** if test $force_sjlj_exceptions = yes; th *** 1846,1851 **** --- 1868,1890 ---- [Define 0/1 to force the choice for exception handling model.]) fi + # Windows32 UTF-8 manifest support for running the driver and compiler + # executables with the UTF-8 active code page on mingw hosts. + # Non-mingw hosts ignore this option. + # The shell variables this sets are picked up from the mingw branches + # of config.host so they have to be set before it gets sourced. + AC_ARG_ENABLE(win32-utf8-manifest, + [AS_HELP_STRING([--disable-win32-utf8-manifest], + [disable embedding a utf8 manifest on mingw hosts]) + AS_HELP_STRING([--enable-win32-utf8-manifest], + [enable embedding a utf8 manifest on mingw hosts (default)])],,) + + if test "x$enable_win32_utf8_manifest" != xno; then + host_xmake_mingw=i386/x-mingw32-utf8 + host_extra_gcc_objs_mingw=utf8rc-mingw32.o + host_extra_objs_mingw=utf8-mingw32.o + fi + # -------------------------------------------------------- # Build, host, and target specific configuration fragments # -------------------------------------------------------- *************** case "$target_os" in *** 4309,4315 **** gcc_cv_as_mmacosx_version_min, [-mmacosx-version-min=10.1], [.text],, [AC_DEFINE(HAVE_AS_MMACOSX_VERSION_MIN_OPTION, 1, ! [Define if your Mac OS X assembler supports the -mmacos-version-min option.])]) ;; esac --- 4348,4362 ---- gcc_cv_as_mmacosx_version_min, [-mmacosx-version-min=10.1], [.text],, [AC_DEFINE(HAVE_AS_MMACOSX_VERSION_MIN_OPTION, 1, ! [Define if your macOS assembler supports the -mmacos-version-min option.])]) ! if test x$gcc_cv_as_mmacosx_version_min = "xyes"; then ! gcc_GAS_CHECK_FEATURE([.build_version], ! gcc_cv_as_darwin_build_version, ! [-mmacosx-version-min=10.14], ! [ .build_version macos, 10, 14 sdk_version 10, 14],, ! [AC_DEFINE(HAVE_AS_MACOS_BUILD_VERSION, 1, ! [Define if your macOS assembler supports .build_version directives])]) ! fi ;; esac *************** gd: *** 5033,5038 **** --- 5080,5102 ---- [Define if your assembler supports mfcr field.])]) case $target in + *-*-aix*) conftest_s=' .machine "pwr10" + .csect .text[[PR]] + tend. 0';; + *-*-darwin*) conftest_s=' .text + tend. 0';; + *) conftest_s=' .machine power10 + .text + tend. 0';; + esac + + gcc_GAS_CHECK_FEATURE([htm support on Power10], + gcc_cv_as_power10_htm,, + [$conftest_s],, + [AC_DEFINE(HAVE_AS_POWER10_HTM, 1, + [Define if your assembler supports htm insns on power10.])]) + + case $target in *-*-aix*) conftest_s=' .csect .text[[PR]] LCF..0: addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';; *************** x: *** 5332,5337 **** --- 5396,5415 ---- .cfi_endproc],, [AC_DEFINE(HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT, 1, [Define if your assembler supports eh_frame pcrel encoding.])]) + gcc_GAS_CHECK_FEATURE([-mrelax option], gcc_cv_as_loongarch_relax, + [-mrelax], [.text],, + [AC_DEFINE(HAVE_AS_MRELAX_OPTION, 1, + [Define if your assembler supports -mrelax option.])]) + gcc_GAS_CHECK_FEATURE([conditional branch relaxation support], + gcc_cv_as_loongarch_cond_branch_relax, + [--fatal-warnings], + [a: + .rept 32769 + nop + .endr + beq $a0,$a1,a],, + [AC_DEFINE(HAVE_AS_COND_BRANCH_RELAXATION, 1, + [Define if your assembler supports conditional branch relaxation.])]) ;; s390*-*-*) gcc_GAS_CHECK_FEATURE([.gnu_attribute support], *************** if test x"$ld64_flag" = x"yes"; then *** 6226,6232 **** # If the version was not specified, try to find it. AC_MSG_CHECKING(linker version) if test x"${gcc_cv_ld64_version}" = x; then ! gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | grep ld64 | sed s/.*ld64-// | awk '{print $1}'` fi AC_MSG_RESULT($gcc_cv_ld64_version) --- 6304,6311 ---- # If the version was not specified, try to find it. AC_MSG_CHECKING(linker version) if test x"${gcc_cv_ld64_version}" = x; then ! gcc_cv_ld64_version=`$gcc_cv_ld -v 2>&1 | $EGREP 'ld64|dyld' \ ! | sed -e 's/.*ld64-//' -e 's/.*dyld-//'| awk '{print $1}'` fi AC_MSG_RESULT($gcc_cv_ld64_version) *************** if test x"$dsymutil_flag" = x"yes"; then *** 6280,6286 **** dsymutil_kind=LLVM dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'` else ! dsymutil_kind=UNKNOWN dsymutil_vers="0.0" fi dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'` --- 6359,6365 ---- dsymutil_kind=LLVM dsymutil_vers=`echo $dsymutil_temp | sed 's/.*LLVM\ version\ \([[0-9\.]]*\).*/\1/'` else ! dsymutil_kind=DET_UNKNOWN dsymutil_vers="0.0" fi dsymutil_major=`expr "$dsymutil_vers" : '\([[0-9]]*\)'` diff -Nrcpad gcc-13.2.0/gcc/cp/ChangeLog gcc-13.3.0/gcc/cp/ChangeLog *** gcc-13.2.0/gcc/cp/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/cp/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,541 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-14 Patrick Palka + + Backported from master: + 2024-04-11 Patrick Palka + + PR c++/114303 + * constraint.cc (tsubst_requires_expr): Clear + REQUIRES_EXPR_EXTRA_ARGS before calling build_extra_args. + * pt.cc (tree_extra_args): Define. + (extract_locals_r): Assert *_EXTRA_ARGS is empty. + (tsubst_stmt) : Clear IF_SCOPE on the new + IF_STMT. Call build_extra_args on the new IF_STMT instead + of t which might already have IF_STMT_EXTRA_ARGS. + + 2024-05-13 Patrick Palka + + Backported from master: + 2024-04-24 Patrick Palka + + PR c++/114709 + * constexpr.cc (cxx_fold_indirect_ref): Restrict object/offset + canonicalization to RECORD_TYPE member accesses. + + 2024-05-09 Jakub Jelinek + + Backported from master: + 2024-04-25 Jakub Jelinek + + PR c++/111284 + * constexpr.cc (cxx_bind_parameters_in_call): For PARM_DECLs with + TREE_ADDRESSABLE types use vc_glvalue rather than vc_prvalue for + cxx_eval_constant_expression and if it doesn't have the same + type as it should, cast the reference type to reference to type + before convert_from_reference and instead of adjust_temp_type + take address of the arg, cast to reference to type and then + convert_from_reference. + (cxx_eval_constant_expression) : For lval case + on parameters with TREE_ADDRESSABLE types lookup result in + ctx->globals if possible. Otherwise if lookup in ctx->globals + was successful for parameter with TREE_ADDRESSABLE type, + recurse with vc_prvalue on the returned value. + + 2024-05-07 Andrew Pinski + + Backported from master: + 2024-05-07 Andrew Pinski + + PR c++/89224 + * constexpr.cc (cxx_eval_array_reference): Compare main variants + for the vector/array types instead of the types directly. + + 2024-05-01 Patrick Palka + + PR c++/113141 + * call.cc (reference_binding): Remove badness criteria sanity + check in the recursive case. + + 2024-05-01 centurion + + Backported from master: + 2024-04-04 centurion + + PR c++/114377 + * pt.cc (find_template_parameter_info::found): Use TREE_TYPE for + TEMPLATE_DECL instead of DECL_INITIAL. + + 2024-05-01 Jason Merrill + + Backported from master: + 2024-04-02 Jason Merrill + + PR c++/114561 + PR c++/114562 + * call.cc (convert_like_internal): Avoid adding qualification + conversion in direct reference binding. + + 2024-05-01 Jason Merrill + + Backported from master: + 2024-03-28 Jason Merrill + + PR c++/100667 + * semantics.cc (same_type_ref_bind_p): New. + (finish_trait_expr): Use it. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-12 Jakub Jelinek + + PR c++/114691 + * semantics.cc (simplify_loop_decl_cond): Use cp_build_unary_op with + TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than + ANNOTATE_EXPR itself. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-09 Jakub Jelinek + + PR c++/114580 + * semantics.cc (finish_if_stmt_cond): Call + maybe_warn_for_constant_evaluated with IF_STMT_CONSTEXPR_P (if_stmt) + as the second argument, rather than true/false depending on if + it is if constexpr with non-dependent constant expression with + bool type. + + 2024-04-21 Jakub Jelinek + + Backported from master: + 2024-04-05 Jakub Jelinek + + PR c++/114572 + * cp-gimplify.cc (cxx_omp_clause_apply_fn): Call build_cplus_new + on build_call_a result if it has class type. + + 2024-04-15 Patrick Palka + + Backported from master: + 2024-02-19 Patrick Palka + + PR c++/113966 + * constraint.cc (tsubst_compound_requirement): Don't check + the noexcept condition or the return-type-requirement when + partially substituting. + + 2024-04-15 Patrick Palka + + Backported from master: + 2024-02-03 Patrick Palka + + PR c++/110006 + PR c++/112769 + * constraint.cc (subst_info::quiet): Accomodate non-diagnostic + tsubst flags. + (tsubst_valid_expression_requirement): Likewise. + (tsubst_simple_requirement): Return a substituted _REQ node when + processing_template_decl. + (tsubst_type_requirement_1): Accomodate non-diagnostic tsubst + flags. + (tsubst_type_requirement): Return a substituted _REQ node when + processing_template_decl. + (tsubst_compound_requirement): Likewise. Accomodate non-diagnostic + tsubst flags. + (tsubst_nested_requirement): Likewise. + (tsubst_requires_expr): Don't defer partial substitution when + processing_constraint_expression_p is true, in which case return + a substituted REQUIRES_EXPR. + * pt.cc (tsubst_expr) : Accomodate + non-diagnostic tsubst flags. + + 2024-04-02 Marek Polacek + + Backported from master: + 2024-04-02 Marek Polacek + + PR c++/103825 + * typeck.cc (is_bitfield_expr_with_lowered_type): Handle + CLEANUP_POINT_EXPR. + + 2024-02-16 Marek Polacek + + Backported from master: + 2024-02-12 Marek Polacek + + PR c++/113545 + * constexpr.cc (cxx_eval_switch_expr): If the condition doesn't reduce + to an INTEGER_CST, consider it non-constant. + + 2024-02-13 Jason Merrill + + Backported from master: + 2024-02-13 Jason Merrill + + PR c++/113612 + * pt.cc (process_partial_specialization): Return early + on redeclaration. + + 2024-02-09 Alexandre Oliva + + Backported from master: + 2023-11-29 Alexandre Oliva + + * decl.cc (maybe_prepare_return_this): Split out of... + (maybe_return_this): ... this. + * cp-tree.h (maybe_prepare_return_this): Declare. + * class.cc (build_clone): Call it. + + 2024-02-09 Alexandre Oliva + + Backported from master: + 2023-11-29 Alexandre Oliva + + * contracts.cc (check_postcondition_result): Cope with + cdtor_return_this. + + 2024-02-06 Jason Merrill + + Backported from master: + 2024-02-06 Jason Merrill + + PR c++/107291 + * method.cc (early_check_defaulted_comparison): Fail if not friend. + + 2024-02-05 Jason Merrill + + Backported from master: + 2024-02-05 Jason Merrill + + PR c++/111286 + * tree.cc (rvalue): Don't drop cv-quals from an array. + + 2024-02-02 Jason Merrill + + Backported from master: + 2024-02-02 Jason Merrill + + PR c++/110084 + * pt.cc (tsubst_function_decl): Only check a function defaulted + outside the class if the class is complete. + + 2024-02-02 Jason Merrill + + Backported from master: + 2024-02-02 Jason Merrill + + PR c++/113638 + * cp-tree.h: Adjust comment. + * pt.cc (instantiate_template): Set VAR_HAD_UNKNOWN_BOUND for + variable template. + + 2024-02-02 Jason Merrill + + Backported from master: + 2024-02-02 Jason Merrill + + PR c++/112439 + * constexpr.cc (cxx_eval_store_expression): Check empty_base + before marking a CONSTRUCTOR readonly. + + 2024-02-01 Marek Polacek + + Backported from master: + 2024-02-01 Marek Polacek + + PR c++/112437 + * typeck.cc (treat_lvalue_as_rvalue_p): Bail out on sk_namespace in + the move on throw of parms loop. + + 2024-01-26 Patrick Palka + + Backported from master: + 2024-01-24 Patrick Palka + + PR c++/113529 + * call.cc (add_operator_candidates): Propagate error_mark_node + result after recursing to find rewritten candidates. + + 2024-01-24 Jason Merrill + + PR c++/113347 + * semantics.cc (finalize_nrv_r): Handle null + current_retval_sentinel. + + 2024-01-24 Jason Merrill + + Backported from master: + 2023-12-20 Jason Merrill + + PR c++/103185 + * typeck.cc (cp_build_array_ref): Handle swapped operands. + + 2024-01-24 Jason Merrill + + Backported from master: + 2023-12-20 Jason Merrill + + PR c++/113088 + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Handle an empty block. + + 2024-01-18 Patrick Palka + + Backported from master: + 2024-01-17 Patrick Palka + + PR c++/113242 + PR c++/99493 + * pt.cc (invalid_tparm_referent_p) : Suppress + DECL_ARTIFICIAL rejection test for class NTTP objects. + + 2024-01-15 Patrick Palka + + Backported from master: + 2024-01-15 Patrick Palka + + PR c++/104634 + * pt.cc (maybe_new_partial_specialization): Propagate TREE_PUBLIC + to the newly created partial specialization. + + 2024-01-15 Patrick Palka + + Backported from master: + 2024-01-15 Patrick Palka + + PR c++/109899 + * init.cc (build_vec_delete_1): Assume expr_noexcept_p returns + false in a template context. + + 2023-12-20 Patrick Palka + + Backported from master: + 2023-04-25 Patrick Palka + + PR c++/108975 + * pt.cc (value_dependent_expression_p) : + Suppress conservative early exit for reference variables + when DECL_HAS_VALUE_EXPR_P. + + 2023-12-15 Jakub Jelinek + + Backported from master: + 2023-12-08 Jakub Jelinek + + PR sanitizer/112727 + * cp-gimplify.cc (cp_fold): If SAVE_EXPR has been previously + folded, unshare_expr what is returned. + + 2023-12-12 Marek Polacek + + Backported from master: + 2023-07-21 Marek Polacek + + PR c++/110106 + * constexpr.cc (potential_constant_expression_1): Try to complete the + type when !processing_template_decl. + + 2023-12-12 Marek Polacek + + Backported from master: + 2023-11-16 Marek Polacek + + PR c++/112410 + * parser.cc (cp_parser_direct_declarator): Maybe call + abort_fully_implicit_template if it turned out the parameter list was + ill-formed. + + 2023-12-12 Marek Polacek + + Backported from master: + 2023-07-14 Marek Polacek + Jason Merrill + + PR c++/109876 + * decl.cc (cp_finish_decl): Set TREE_CONSTANT when initializing + an object of empty class type. + * pt.cc (value_dependent_expression_p) : Treat a + constexpr-declared non-constant variable as value-dependent. + + 2023-12-05 Jakub Jelinek + + Backported from master: + 2023-12-04 Jakub Jelinek + + PR c++/112795 + * parser.cc (cp_parser_pragma_unroll): Use fold_non_dependent_expr + instead of maybe_constant_value. + + 2023-11-24 Patrick Palka + + Backported from master: + 2023-11-16 Patrick Palka + + PR c++/111703 + PR c++/107939 + * constexpr.cc (potential_constant_expression_1) : + Fix FUNCTION_POINTER_TYPE_P test. + + 2023-11-24 Patrick Palka + + Backported from master: + 2023-11-15 Patrick Palka + + PR c++/111703 + PR c++/112269 + * constexpr.cc (potential_constant_expression_1) : + Only consider var_in_maybe_constexpr_fn if 'now' is false. + : Likewise. + + 2023-11-23 Patrick Palka + + Backported from master: + 2023-11-22 Patrick Palka + + PR c++/112633 + * pt.cc (tsubst_aggr_type): Handle empty TYPE_TEMPLATE_INFO + in the entering_scope adjustment. + + 2023-11-17 Jason Merrill + + PR c++/112301 + PR c++/102191 + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Clear + current_retval_sentinel when destroying retval. + * semantics.cc (nrv_data): Add in_nrv_cleanup. + (finalize_nrv): Set it. + (finalize_nrv_r): Fix handling of throwing cleanups. + + 2023-11-17 Jason Merrill + + * semantics.cc (finalize_nrv_r): [RETURN_EXPR]: Only replace the + INIT_EXPR. + + 2023-11-17 Jason Merrill + + PR c++/33799 + * except.cc (maybe_splice_retval_cleanup): Change + recognition of function body and try scopes. + * semantics.cc (do_poplevel): Call it after poplevel. + (at_try_scope): New. + * cp-tree.h (maybe_splice_retval_cleanup): Adjust. + + 2023-09-24 Patrick Palka + + Backported from master: + 2023-09-22 Patrick Palka + + PR c++/111493 + * decl2.cc (grok_array_decl): Guard diagnostic and backward + compatibility fallback code paths with tf_error. + + 2023-09-24 Patrick Palka + + Backported from master: + 2023-09-22 Patrick Palka + + PR c++/111485 + * pt.cc (is_compatible_template_arg): New parameter 'args'. + Add the outer template arguments 'args' to 'new_args'. + (convert_template_argument): Pass 'args' to + is_compatible_template_arg. + + 2023-09-24 Patrick Palka + + Backported from master: + 2023-09-19 Patrick Palka + + PR c++/99631 + * semantics.cc (finish_decltype_type): For an NTTP object, + return its type modulo cv-quals. + + 2023-09-22 Patrick Palka + + Backported from master: + 2023-09-20 Patrick Palka + + PR c++/111471 + * cxx-pretty-print.cc (cxx_pretty_printer::expression) + : Handle class NTTP objects by printing + their type and value. + : Strip const VIEW_CONVERT_EXPR + wrappers for class NTTPs. + (pp_cxx_template_argument_list): Don't handle class NTTP + objects here. + + 2023-08-31 Jason Merrill + + PR c++/109751 + * pt.cc (tsubst_friend_function): Don't check constraints. + + 2023-08-31 Jason Merrill + + PR c++/92407 + * cp-tree.h (struct language_function): Add backward_goto. + * decl.cc (check_goto): Set it. + * typeck.cc (check_return_expr): Prevent NRV if set. + + 2023-08-16 Patrick Palka + + Backported from master: + 2023-08-11 Patrick Palka + + PR c++/110927 + * parser.cc (cp_parser_type_requirement): Pass + check_dependency_p=true instead of =false. + + 2023-08-11 Jason Merrill + + PR c++/109678 + * constexpr.cc (cxx_fold_indirect_ref_1): Handle empty base first. + + 2023-08-11 Jason Merrill + + PR c++/106310 + * parser.cc (cp_parser_template_name): Skip non-member + lookup after the template keyword. + (cp_parser_lookup_name): Pass down template_keyword_p. + + 2023-08-07 Patrick Palka + + Backported from master: + 2023-07-27 Patrick Palka + + PR c++/110197 + * constexpr.cc (cxx_eval_array_reference): Allow synthesizing an + empty subobject even if CONSTRUCTOR_NO_CLEARING is set. + (cxx_eval_bare_aggregate): Set 'no_slot' to true more generally + whenever new_ctx.ctor is set to NULL_TREE by init_subob_ctx, + i.e. whenever initializing an subobject of empty type. + (cxx_eval_vec_init_1): Define 'no_slot' as above and use it + accordingly. + + 2023-08-07 Patrick Palka + + Backported from master: + 2023-07-26 Patrick Palka + + PR c++/110566 + PR c++/108179 + * pt.cc (coerce_template_template_parms): Simplify by using + DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts. + Always pass the parameters of the most general template to + coerce_template_parms. + + 2023-07-27 Patrick Palka + + Backported from master: + 2023-07-26 Patrick Palka + + PR c++/110809 + * pt.cc (unify) : Generalize to handle + REAL_CST as well. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/cp/call.cc gcc-13.3.0/gcc/cp/call.cc *** gcc-13.2.0/gcc/cp/call.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/call.cc Tue May 21 07:47:38 2024 *************** reference_binding (tree rto, tree rfrom, *** 2017,2023 **** if (!new_second) return NULL; conv = merge_conversion_sequences (t, new_second); - gcc_assert (maybe_valid_p || conv->bad_p); return conv; } } --- 2017,2022 ---- *************** op_is_ordered (tree_code code) *** 6731,6737 **** /* Subroutine of build_new_op: Add to CANDIDATES all candidates for the operator indicated by CODE/CODE2. This function calls itself recursively to ! handle C++20 rewritten comparison operator candidates. LOOKUPS, if non-NULL, is the set of pertinent namespace-scope operator overloads to consider. This parameter is used when instantiating a --- 6730,6738 ---- /* Subroutine of build_new_op: Add to CANDIDATES all candidates for the operator indicated by CODE/CODE2. This function calls itself recursively to ! handle C++20 rewritten comparison operator candidates. Returns NULL_TREE ! upon success, and error_mark_node if something went wrong that prevented ! us from performing overload resolution (e.g. ambiguous member name lookup). LOOKUPS, if non-NULL, is the set of pertinent namespace-scope operator overloads to consider. This parameter is used when instantiating a *************** add_operator_candidates (z_candidate **c *** 6908,6918 **** if (rewrite_code) { flags |= LOOKUP_REWRITTEN; if (rewrite_code != code) ! /* Add rewritten candidates in same order. */ ! add_operator_candidates (candidates, rewrite_code, ERROR_MARK, ! arglist, lookups, flags, complain); z_candidate *save_cand = *candidates; --- 6909,6924 ---- if (rewrite_code) { + tree r; flags |= LOOKUP_REWRITTEN; if (rewrite_code != code) ! { ! /* Add rewritten candidates in same order. */ ! r = add_operator_candidates (candidates, rewrite_code, ERROR_MARK, ! arglist, lookups, flags, complain); ! if (r == error_mark_node) ! return error_mark_node; ! } z_candidate *save_cand = *candidates; *************** add_operator_candidates (z_candidate **c *** 6921,6928 **** vec *revlist = make_tree_vector (); revlist->quick_push ((*arglist)[1]); revlist->quick_push ((*arglist)[0]); ! add_operator_candidates (candidates, rewrite_code, ERROR_MARK, ! revlist, lookups, flags, complain); /* Release the vec if we didn't add a candidate that uses it. */ for (z_candidate *c = *candidates; c != save_cand; c = c->next) --- 6927,6936 ---- vec *revlist = make_tree_vector (); revlist->quick_push ((*arglist)[1]); revlist->quick_push ((*arglist)[0]); ! r = add_operator_candidates (candidates, rewrite_code, ERROR_MARK, ! revlist, lookups, flags, complain); ! if (r == error_mark_node) ! return error_mark_node; /* Release the vec if we didn't add a candidate that uses it. */ for (z_candidate *c = *candidates; c != save_cand; c = c->next) *************** convert_like_internal (conversion *convs *** 8623,8629 **** break; }; ! expr = convert_like (next_conversion (convs), expr, fn, argnum, convs->kind == ck_ref_bind ? issue_conversion_warnings : false, c_cast_p, /*nested_p=*/true, complain & ~tf_no_cleanup); --- 8631,8645 ---- break; }; ! conversion *nc = next_conversion (convs); ! if (convs->kind == ck_ref_bind && nc->kind == ck_qual ! && !convs->need_temporary_p) ! /* direct_reference_binding might have inserted a ck_qual under ! this ck_ref_bind for the benefit of conversion sequence ranking. ! Don't actually perform that conversion. */ ! nc = next_conversion (nc); ! ! expr = convert_like (nc, expr, fn, argnum, convs->kind == ck_ref_bind ? issue_conversion_warnings : false, c_cast_p, /*nested_p=*/true, complain & ~tf_no_cleanup); *************** convert_like_internal (conversion *convs *** 8701,8719 **** { tree ref_type = totype; - /* direct_reference_binding might have inserted a ck_qual under - this ck_ref_bind for the benefit of conversion sequence ranking. - Ignore the conversion; we'll create our own below. */ - if (next_conversion (convs)->kind == ck_qual - && !convs->need_temporary_p) - { - gcc_assert (same_type_p (TREE_TYPE (expr), - next_conversion (convs)->type)); - /* Strip the cast created by the ck_qual; cp_build_addr_expr - below expects an lvalue. */ - STRIP_NOPS (expr); - } - if (convs->bad_p && !next_conversion (convs)->bad_p) { tree extype = TREE_TYPE (expr); --- 8717,8722 ---- diff -Nrcpad gcc-13.2.0/gcc/cp/class.cc gcc-13.3.0/gcc/cp/class.cc *** gcc-13.2.0/gcc/cp/class.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/class.cc Tue May 21 07:47:38 2024 *************** build_clone (tree fn, tree name, bool ne *** 5016,5021 **** --- 5016,5023 ---- clone = copy_fndecl_with_name (fn, name, ERROR_MARK, need_vtt_parm_p, omit_inherited_parms_p); DECL_CLONED_FUNCTION (clone) = fn; + + maybe_prepare_return_this (clone); } /* Remember where this function came from. */ diff -Nrcpad gcc-13.2.0/gcc/cp/constexpr.cc gcc-13.3.0/gcc/cp/constexpr.cc *** gcc-13.2.0/gcc/cp/constexpr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/constexpr.cc Tue May 21 07:47:38 2024 *************** cxx_bind_parameters_in_call (const const *** 1800,1812 **** x = build_address (x); } if (TREE_ADDRESSABLE (type)) ! /* Undo convert_for_arg_passing work here. */ ! x = convert_from_reference (x); ! /* Normally we would strip a TARGET_EXPR in an initialization context ! such as this, but here we do the elision differently: we keep the ! TARGET_EXPR, and use its CONSTRUCTOR as the value of the parm. */ ! arg = cxx_eval_constant_expression (ctx, x, vc_prvalue, ! non_constant_p, overflow_p); /* Don't VERIFY_CONSTANT here. */ if (*non_constant_p && ctx->quiet) break; --- 1800,1817 ---- x = build_address (x); } if (TREE_ADDRESSABLE (type)) ! { ! /* Undo convert_for_arg_passing work here. */ ! x = convert_from_reference (x); ! arg = cxx_eval_constant_expression (ctx, x, vc_glvalue, ! non_constant_p, overflow_p); ! } ! else ! /* Normally we would strip a TARGET_EXPR in an initialization context ! such as this, but here we do the elision differently: we keep the ! TARGET_EXPR, and use its CONSTRUCTOR as the value of the parm. */ ! arg = cxx_eval_constant_expression (ctx, x, vc_prvalue, ! non_constant_p, overflow_p); /* Don't VERIFY_CONSTANT here. */ if (*non_constant_p && ctx->quiet) break; *************** cxx_bind_parameters_in_call (const const *** 1818,1824 **** { /* Make sure the binding has the same type as the parm. But only for constant args. */ ! if (!TYPE_REF_P (type)) arg = adjust_temp_type (type, arg); if (!TREE_CONSTANT (arg)) *non_constant_args = true; --- 1823,1838 ---- { /* Make sure the binding has the same type as the parm. But only for constant args. */ ! if (TREE_ADDRESSABLE (type)) ! { ! if (!same_type_p (type, TREE_TYPE (arg))) ! { ! arg = build_fold_addr_expr (arg); ! arg = cp_fold_convert (build_reference_type (type), arg); ! arg = convert_from_reference (arg); ! } ! } ! else if (!TYPE_REF_P (type)) arg = adjust_temp_type (type, arg); if (!TREE_CONSTANT (arg)) *non_constant_args = true; *************** cxx_eval_array_reference (const constexp *** 4187,4193 **** if (!lval && TREE_CODE (ary) == VIEW_CONVERT_EXPR && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (ary, 0))) ! && TREE_TYPE (t) == TREE_TYPE (TREE_TYPE (TREE_OPERAND (ary, 0)))) ary = TREE_OPERAND (ary, 0); tree oldidx = TREE_OPERAND (t, 1); --- 4201,4208 ---- if (!lval && TREE_CODE (ary) == VIEW_CONVERT_EXPR && VECTOR_TYPE_P (TREE_TYPE (TREE_OPERAND (ary, 0))) ! && (TYPE_MAIN_VARIANT (TREE_TYPE (t)) ! == TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (TREE_OPERAND (ary, 0)))))) ary = TREE_OPERAND (ary, 0); tree oldidx = TREE_OPERAND (t, 1); *************** cxx_eval_array_reference (const constexp *** 4258,4263 **** --- 4273,4281 ---- /* Not found. */ + if (is_really_empty_class (elem_type, /*ignore_vptr*/false)) + return build_constructor (elem_type, NULL); + if (TREE_CODE (ary) == CONSTRUCTOR && CONSTRUCTOR_NO_CLEARING (ary)) { *************** cxx_eval_array_reference (const constexp *** 4275,4283 **** directly for non-aggregates to avoid creating a garbage CONSTRUCTOR. */ tree val; constexpr_ctx new_ctx; ! if (is_really_empty_class (elem_type, /*ignore_vptr*/false)) ! return build_constructor (elem_type, NULL); ! else if (CP_AGGREGATE_TYPE_P (elem_type)) { tree empty_ctor = build_constructor (init_list_type_node, NULL); val = digest_init (elem_type, empty_ctor, tf_warning_or_error); --- 4293,4299 ---- directly for non-aggregates to avoid creating a garbage CONSTRUCTOR. */ tree val; constexpr_ctx new_ctx; ! if (CP_AGGREGATE_TYPE_P (elem_type)) { tree empty_ctor = build_constructor (init_list_type_node, NULL); val = digest_init (elem_type, empty_ctor, tf_warning_or_error); *************** cxx_eval_bare_aggregate (const constexpr *** 5040,5048 **** FOR_EACH_CONSTRUCTOR_ELT (v, i, index, value) { tree orig_value = value; - /* Like in cxx_eval_store_expression, omit entries for empty fields. */ - bool no_slot = TREE_CODE (type) == RECORD_TYPE && is_empty_field (index); init_subob_ctx (ctx, new_ctx, index, value); int pos_hint = -1; if (new_ctx.ctor != ctx->ctor && !no_slot) { --- 5056,5064 ---- FOR_EACH_CONSTRUCTOR_ELT (v, i, index, value) { tree orig_value = value; init_subob_ctx (ctx, new_ctx, index, value); + /* Like in cxx_eval_store_expression, omit entries for empty fields. */ + bool no_slot = new_ctx.ctor == NULL_TREE; int pos_hint = -1; if (new_ctx.ctor != ctx->ctor && !no_slot) { *************** cxx_eval_vec_init_1 (const constexpr_ctx *** 5206,5212 **** bool reuse = false; constexpr_ctx new_ctx; init_subob_ctx (ctx, new_ctx, idx, pre_init ? init : elttype); ! if (new_ctx.ctor != ctx->ctor) { if (zeroed_out) CONSTRUCTOR_NO_CLEARING (new_ctx.ctor) = false; --- 5222,5229 ---- bool reuse = false; constexpr_ctx new_ctx; init_subob_ctx (ctx, new_ctx, idx, pre_init ? init : elttype); ! bool no_slot = new_ctx.ctor == NULL_TREE; ! if (new_ctx.ctor != ctx->ctor && !no_slot) { if (zeroed_out) CONSTRUCTOR_NO_CLEARING (new_ctx.ctor) = false; *************** cxx_eval_vec_init_1 (const constexpr_ctx *** 5251,5257 **** } if (*non_constant_p) break; ! if (new_ctx.ctor != ctx->ctor) { /* We appended this element above; update the value. */ gcc_assert ((*p)->last().index == idx); --- 5268,5281 ---- } if (*non_constant_p) break; ! if (no_slot) ! { ! /* This is an initializer for an empty subobject; now that we've ! checked that it's constant, we can ignore it. */ ! gcc_checking_assert (i == 0); ! break; ! } ! else if (new_ctx.ctor != ctx->ctor) { /* We appended this element above; update the value. */ gcc_assert ((*p)->last().index == idx); *************** cxx_fold_indirect_ref_1 (const constexpr *** 5446,5451 **** --- 5470,5488 ---- return ret; } } + + /* Handle conversion to an empty base class, which is represented with a + NOP_EXPR. Do this before spelunking into the non-empty subobjects, + which is likely to be a waste of time (109678). */ + if (is_empty_class (type) + && CLASS_TYPE_P (optype) + && DERIVED_FROM_P (type, optype)) + { + if (empty_base) + *empty_base = true; + return op; + } + for (tree field = TYPE_FIELDS (optype); field; field = DECL_CHAIN (field)) if (TREE_CODE (field) == FIELD_DECL *************** cxx_fold_indirect_ref_1 (const constexpr *** 5468,5482 **** return ret; } } - /* Also handle conversion to an empty base class, which - is represented with a NOP_EXPR. */ - if (is_empty_class (type) - && CLASS_TYPE_P (optype) - && DERIVED_FROM_P (type, optype)) - { - *empty_base = true; - return op; - } } return NULL_TREE; --- 5505,5510 ---- *************** cxx_fold_indirect_ref (const constexpr_c *** 5519,5524 **** --- 5547,5555 ---- more folding opportunities. */ auto canonicalize_obj_off = [] (tree& obj, tree& off) { while (TREE_CODE (obj) == COMPONENT_REF + /* We need to preserve union member accesses so that we can + later properly diagnose accessing the wrong member. */ + && TREE_CODE (TREE_TYPE (TREE_OPERAND (obj, 0))) == RECORD_TYPE && (tree_int_cst_sign_bit (off) || integer_zerop (off))) { tree field = TREE_OPERAND (obj, 1); *************** cxx_eval_store_expression (const constex *** 6285,6290 **** --- 6316,6322 ---- object. Make a note of this fact by marking the CONSTRUCTOR TREE_READONLY. */ if (TREE_CODE (t) == INIT_EXPR + && !empty_base && TREE_CODE (*valp) == CONSTRUCTOR && TYPE_READONLY (type)) { *************** cxx_eval_switch_expr (const constexpr_ct *** 6708,6713 **** --- 6740,6755 ---- cond = cxx_eval_constant_expression (ctx, cond, vc_prvalue, non_constant_p, overflow_p); VERIFY_CONSTANT (cond); + if (TREE_CODE (cond) != INTEGER_CST) + { + /* If the condition doesn't reduce to an INTEGER_CST it isn't a usable + switch condition even if it's constant enough for other things + (c++/113545). */ + gcc_checking_assert (ctx->quiet); + *non_constant_p = true; + return t; + } + *jump_target = cond; tree body *************** cxx_eval_constant_expression (const cons *** 7077,7085 **** case PARM_DECL: if (lval && !TYPE_REF_P (TREE_TYPE (t))) ! /* glvalue use. */; else if (tree v = ctx->global->get_value (r)) ! r = v; else if (lval) /* Defer in case this is only used for its type. */; else if (COMPLETE_TYPE_P (TREE_TYPE (t)) --- 7119,7137 ---- case PARM_DECL: if (lval && !TYPE_REF_P (TREE_TYPE (t))) ! { ! /* glvalue use. */ ! if (TREE_ADDRESSABLE (TREE_TYPE (t))) ! if (tree v = ctx->global->get_value (t)) ! r = v; ! } else if (tree v = ctx->global->get_value (r)) ! { ! r = v; ! if (TREE_ADDRESSABLE (TREE_TYPE (t))) ! r = cxx_eval_constant_expression (ctx, r, vc_prvalue, ! non_constant_p, overflow_p); ! } else if (lval) /* Defer in case this is only used for its type. */; else if (COMPLETE_TYPE_P (TREE_TYPE (t)) *************** potential_constant_expression_1 (tree t, *** 9067,9074 **** if (now && want_rval) { tree type = TREE_TYPE (t); ! if ((processing_template_decl && !COMPLETE_TYPE_P (type)) ! || dependent_type_p (type) || is_really_empty_class (type, /*ignore_vptr*/false)) /* An empty class has no data to read. */ return true; --- 9119,9127 ---- if (now && want_rval) { tree type = TREE_TYPE (t); ! if (dependent_type_p (type) ! || !COMPLETE_TYPE_P (processing_template_decl ! ? type : complete_type (type)) || is_really_empty_class (type, /*ignore_vptr*/false)) /* An empty class has no data to read. */ return true; *************** potential_constant_expression_1 (tree t, *** 9194,9200 **** } else if (fun) { ! if (RECUR (fun, FUNCTION_POINTER_TYPE_P (fun) ? rval : any)) /* Might end up being a constant function pointer. But it could also be a function object with constexpr op(), so we pass 'any' so that the underlying VAR_DECL is deemed --- 9247,9258 ---- } else if (fun) { ! if (TREE_TYPE (fun) ! && FUNCTION_POINTER_TYPE_P (TREE_TYPE (fun))) ! want_rval = rval; ! else ! want_rval = any; ! if (RECUR (fun, want_rval)) /* Might end up being a constant function pointer. But it could also be a function object with constexpr op(), so we pass 'any' so that the underlying VAR_DECL is deemed *************** potential_constant_expression_1 (tree t, *** 9269,9275 **** return RECUR (DECL_VALUE_EXPR (t), rval); } if (want_rval ! && !var_in_maybe_constexpr_fn (t) && !type_dependent_expression_p (t) && !decl_maybe_constant_var_p (t) && (strict --- 9327,9333 ---- return RECUR (DECL_VALUE_EXPR (t), rval); } if (want_rval ! && (now || !var_in_maybe_constexpr_fn (t)) && !type_dependent_expression_p (t) && !decl_maybe_constant_var_p (t) && (strict *************** potential_constant_expression_1 (tree t, *** 9383,9389 **** STRIP_NOPS (x); if (is_this_parameter (x) && !is_capture_proxy (x)) { ! if (!var_in_maybe_constexpr_fn (x)) { if (flags & tf_error) constexpr_error (loc, fundef_p, "use of % in a " --- 9441,9447 ---- STRIP_NOPS (x); if (is_this_parameter (x) && !is_capture_proxy (x)) { ! if (now || !var_in_maybe_constexpr_fn (x)) { if (flags & tf_error) constexpr_error (loc, fundef_p, "use of % in a " diff -Nrcpad gcc-13.2.0/gcc/cp/constraint.cc gcc-13.3.0/gcc/cp/constraint.cc *** gcc-13.2.0/gcc/cp/constraint.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/constraint.cc Tue May 21 07:47:38 2024 *************** struct subst_info *** 85,91 **** /* True if we should not diagnose errors. */ bool quiet() const { ! return complain == tf_none; } /* True if we should diagnose errors. */ --- 85,91 ---- /* True if we should not diagnose errors. */ bool quiet() const { ! return !(complain & tf_warning_or_error); } /* True if we should diagnose errors. */ *************** hash_placeholder_constraint (tree c) *** 1999,2006 **** static tree tsubst_valid_expression_requirement (tree t, tree args, sat_info info) { ! tree r = tsubst_expr (t, args, tf_none, info.in_decl); ! if (convert_to_void (r, ICV_STATEMENT, tf_none) != error_mark_node) return r; if (info.diagnose_unsatisfaction_p ()) --- 1999,2007 ---- static tree tsubst_valid_expression_requirement (tree t, tree args, sat_info info) { ! tsubst_flags_t quiet = info.complain & ~tf_warning_or_error; ! tree r = tsubst_expr (t, args, quiet, info.in_decl); ! if (convert_to_void (r, ICV_STATEMENT, quiet) != error_mark_node) return r; if (info.diagnose_unsatisfaction_p ()) *************** tsubst_simple_requirement (tree t, tree *** 2036,2041 **** --- 2037,2044 ---- tree expr = tsubst_valid_expression_requirement (t0, args, info); if (expr == error_mark_node) return error_mark_node; + if (processing_template_decl) + return finish_simple_requirement (EXPR_LOCATION (t), expr); return boolean_true_node; } *************** tsubst_simple_requirement (tree t, tree *** 2045,2051 **** static tree tsubst_type_requirement_1 (tree t, tree args, sat_info info, location_t loc) { ! tree r = tsubst (t, args, tf_none, info.in_decl); if (r != error_mark_node) return r; --- 2048,2055 ---- static tree tsubst_type_requirement_1 (tree t, tree args, sat_info info, location_t loc) { ! tsubst_flags_t quiet = info.complain & ~tf_warning_or_error; ! tree r = tsubst (t, args, quiet, info.in_decl); if (r != error_mark_node) return r; *************** tsubst_type_requirement (tree t, tree ar *** 2076,2081 **** --- 2080,2087 ---- tree type = tsubst_type_requirement_1 (t0, args, info, EXPR_LOCATION (t)); if (type == error_mark_node) return error_mark_node; + if (processing_template_decl) + return finish_type_requirement (EXPR_LOCATION (t), type); return boolean_true_node; } *************** tsubst_compound_requirement (tree t, tre *** 2132,2140 **** location_t loc = cp_expr_loc_or_input_loc (expr); /* Check the noexcept condition. */ bool noexcept_p = COMPOUND_REQ_NOEXCEPT_P (t); ! if (noexcept_p && !expr_noexcept_p (expr, tf_none)) { if (info.diagnose_unsatisfaction_p ()) inform (loc, "%qE is not %", expr); --- 2138,2149 ---- location_t loc = cp_expr_loc_or_input_loc (expr); + subst_info quiet (info.complain & ~tf_warning_or_error, info.in_decl); + /* Check the noexcept condition. */ bool noexcept_p = COMPOUND_REQ_NOEXCEPT_P (t); ! if (noexcept_p && !processing_template_decl ! && !expr_noexcept_p (expr, quiet.complain)) { if (info.diagnose_unsatisfaction_p ()) inform (loc, "%qE is not %", expr); *************** tsubst_compound_requirement (tree t, tre *** 2147,2156 **** if (type == error_mark_node) return error_mark_node; - subst_info quiet (tf_none, info.in_decl); - /* Check expression against the result type. */ ! if (type) { if (tree placeholder = type_uses_auto (type)) { --- 2156,2163 ---- if (type == error_mark_node) return error_mark_node; /* Check expression against the result type. */ ! if (type && !processing_template_decl) { if (tree placeholder = type_uses_auto (type)) { *************** tsubst_compound_requirement (tree t, tre *** 2190,2195 **** --- 2197,2205 ---- } } + if (processing_template_decl) + return finish_compound_requirement (EXPR_LOCATION (t), + expr, type, noexcept_p); return boolean_true_node; } *************** tsubst_compound_requirement (tree t, tre *** 2198,2204 **** static tree tsubst_nested_requirement (tree t, tree args, sat_info info) { ! sat_info quiet (tf_none, info.in_decl); tree result = constraint_satisfaction_value (t, args, quiet); if (result == boolean_true_node) return boolean_true_node; --- 2208,2223 ---- static tree tsubst_nested_requirement (tree t, tree args, sat_info info) { ! if (processing_template_decl) ! { ! tree req = TREE_OPERAND (t, 0); ! req = tsubst_constraint (req, args, info.complain, info.in_decl); ! if (req == error_mark_node) ! return error_mark_node; ! return finish_nested_requirement (EXPR_LOCATION (t), req); ! } ! ! sat_info quiet (info.complain & ~tf_warning_or_error, info.in_decl); tree result = constraint_satisfaction_value (t, args, quiet); if (result == boolean_true_node) return boolean_true_node; *************** tsubst_requires_expr (tree t, tree args, *** 2338,2355 **** args = add_extra_args (REQUIRES_EXPR_EXTRA_ARGS (t), args, info.complain, info.in_decl); ! if (processing_template_decl) { /* We're partially instantiating a generic lambda. Substituting into this requires-expression now may cause its requirements to get checked out of order, so instead just remember the template ! arguments and wait until we can substitute them all at once. */ t = copy_node (t); REQUIRES_EXPR_EXTRA_ARGS (t) = build_extra_args (t, args, info.complain); return t; } ! if (tree parms = REQUIRES_EXPR_PARMS (t)) { parms = tsubst_constraint_variables (parms, args, info); if (parms == error_mark_node) --- 2357,2382 ---- args = add_extra_args (REQUIRES_EXPR_EXTRA_ARGS (t), args, info.complain, info.in_decl); ! if (processing_template_decl ! && !processing_constraint_expression_p ()) { /* We're partially instantiating a generic lambda. Substituting into this requires-expression now may cause its requirements to get checked out of order, so instead just remember the template ! arguments and wait until we can substitute them all at once. ! ! Except if this requires-expr is part of associated constraints ! that we're substituting into directly (for e.g. declaration ! matching or dguide constraint rewriting), in which case we need ! to partially substitute. */ t = copy_node (t); + REQUIRES_EXPR_EXTRA_ARGS (t) = NULL_TREE; REQUIRES_EXPR_EXTRA_ARGS (t) = build_extra_args (t, args, info.complain); return t; } ! tree parms = REQUIRES_EXPR_PARMS (t); ! if (parms) { parms = tsubst_constraint_variables (parms, args, info); if (parms == error_mark_node) *************** tsubst_requires_expr (tree t, tree args, *** 2357,2366 **** } tree result = boolean_true_node; for (tree reqs = REQUIRES_EXPR_REQS (t); reqs; reqs = TREE_CHAIN (reqs)) { tree req = TREE_VALUE (reqs); ! if (tsubst_requirement (req, args, info) == error_mark_node) { result = boolean_false_node; if (info.diagnose_unsatisfaction_p ()) --- 2384,2396 ---- } tree result = boolean_true_node; + if (processing_template_decl) + result = NULL_TREE; for (tree reqs = REQUIRES_EXPR_REQS (t); reqs; reqs = TREE_CHAIN (reqs)) { tree req = TREE_VALUE (reqs); ! req = tsubst_requirement (req, args, info); ! if (req == error_mark_node) { result = boolean_false_node; if (info.diagnose_unsatisfaction_p ()) *************** tsubst_requires_expr (tree t, tree args, *** 2368,2374 **** --- 2398,2408 ---- else break; } + else if (processing_template_decl) + result = tree_cons (NULL_TREE, req, result); } + if (processing_template_decl && result != boolean_false_node) + result = finish_requires_expr (EXPR_LOCATION (t), parms, nreverse (result)); return result; } diff -Nrcpad gcc-13.2.0/gcc/cp/contracts.cc gcc-13.3.0/gcc/cp/contracts.cc *** gcc-13.2.0/gcc/cp/contracts.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/contracts.cc Tue May 21 07:47:38 2024 *************** make_postcondition_variable (cp_expr id) *** 636,642 **** bool check_postcondition_result (tree decl, tree type, location_t loc) { ! if (VOID_TYPE_P (type)) { error_at (loc, DECL_CONSTRUCTOR_P (decl) --- 636,646 ---- bool check_postcondition_result (tree decl, tree type, location_t loc) { ! /* Do not be confused by targetm.cxx.cdtor_return_this (); ! conceptually, cdtors have no return value. */ ! if (VOID_TYPE_P (type) ! || DECL_CONSTRUCTOR_P (decl) ! || DECL_DESTRUCTOR_P (decl)) { error_at (loc, DECL_CONSTRUCTOR_P (decl) diff -Nrcpad gcc-13.2.0/gcc/cp/cp-gimplify.cc gcc-13.3.0/gcc/cp/cp-gimplify.cc *** gcc-13.2.0/gcc/cp/cp-gimplify.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/cp-gimplify.cc Tue May 21 07:47:38 2024 *************** cxx_omp_clause_apply_fn (tree fn, tree a *** 2116,2121 **** --- 2116,2123 ---- TREE_PURPOSE (parm), fn, i - is_method, tf_warning_or_error); t = build_call_a (fn, i, argarray); + if (MAYBE_CLASS_TYPE_P (TREE_TYPE (t))) + t = build_cplus_new (TREE_TYPE (t), t, tf_warning_or_error); t = fold_convert (void_type_node, t); t = fold_build_cleanup_point_expr (TREE_TYPE (t), t); append_to_statement_list (t, &ret); *************** cxx_omp_clause_apply_fn (tree fn, tree a *** 2149,2154 **** --- 2151,2158 ---- TREE_PURPOSE (parm), fn, i - is_method, tf_warning_or_error); t = build_call_a (fn, i, argarray); + if (MAYBE_CLASS_TYPE_P (TREE_TYPE (t))) + t = build_cplus_new (TREE_TYPE (t), t, tf_warning_or_error); t = fold_convert (void_type_node, t); return fold_build_cleanup_point_expr (TREE_TYPE (t), t); } *************** cp_fold (tree x, fold_flags_t flags) *** 2567,2573 **** fold_cache = hash_map::create_ggc (101); if (tree *cached = fold_cache->get (x)) ! return *cached; uid_sensitive_constexpr_evaluation_checker c; --- 2571,2584 ---- fold_cache = hash_map::create_ggc (101); if (tree *cached = fold_cache->get (x)) ! { ! /* unshare_expr doesn't recurse into SAVE_EXPRs. If SAVE_EXPR's ! argument has been folded into a tree invariant, make sure it is ! unshared. See PR112727. */ ! if (TREE_CODE (x) == SAVE_EXPR && *cached != x) ! return unshare_expr (*cached); ! return *cached; ! } uid_sensitive_constexpr_evaluation_checker c; diff -Nrcpad gcc-13.2.0/gcc/cp/cp-tree.h gcc-13.3.0/gcc/cp/cp-tree.h *** gcc-13.2.0/gcc/cp/cp-tree.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/cp-tree.h Tue May 21 07:47:38 2024 *************** struct GTY(()) language_function { *** 2111,2116 **** --- 2111,2117 ---- BOOL_BITFIELD invalid_constexpr : 1; BOOL_BITFIELD throwing_cleanup : 1; + BOOL_BITFIELD backward_goto : 1; hash_table *x_named_labels; *************** struct GTY(()) lang_decl { *** 3219,3225 **** #define DECL_CONV_FN_TYPE(FN) \ TREE_TYPE ((gcc_checking_assert (DECL_CONV_FN_P (FN)), DECL_NAME (FN))) ! /* Nonzero if NODE, a static data member, was declared in its class as an array of unknown bound. */ #define VAR_HAD_UNKNOWN_BOUND(NODE) \ (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ --- 3220,3226 ---- #define DECL_CONV_FN_TYPE(FN) \ TREE_TYPE ((gcc_checking_assert (DECL_CONV_FN_P (FN)), DECL_NAME (FN))) ! /* Nonzero if NODE, a templated variable, was declared as an array of unknown bound. */ #define VAR_HAD_UNKNOWN_BOUND(NODE) \ (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ *************** extern tree lookup_enumerator (tree, t *** 6888,6893 **** --- 6889,6895 ---- extern bool start_preparsed_function (tree, tree, int); extern bool start_function (cp_decl_specifier_seq *, const cp_declarator *, tree); + extern tree maybe_prepare_return_this (tree); extern void maybe_return_this (void); extern tree begin_function_body (void); extern void finish_function_body (tree); *************** extern tree begin_eh_spec_block (void) *** 7044,7050 **** extern void finish_eh_spec_block (tree, tree); extern tree build_eh_type_type (tree); extern tree cp_protect_cleanup_actions (void); ! extern void maybe_splice_retval_cleanup (tree); extern tree maybe_set_retval_sentinel (void); extern tree template_parms_to_args (tree); --- 7046,7052 ---- extern void finish_eh_spec_block (tree, tree); extern tree build_eh_type_type (tree); extern tree cp_protect_cleanup_actions (void); ! extern void maybe_splice_retval_cleanup (tree, bool); extern tree maybe_set_retval_sentinel (void); extern tree template_parms_to_args (tree); diff -Nrcpad gcc-13.2.0/gcc/cp/cxx-pretty-print.cc gcc-13.3.0/gcc/cp/cxx-pretty-print.cc *** gcc-13.2.0/gcc/cp/cxx-pretty-print.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/cxx-pretty-print.cc Tue May 21 07:47:38 2024 *************** cxx_pretty_printer::expression (tree t) *** 1116,1121 **** --- 1116,1130 ---- t = OVL_FIRST (t); /* FALLTHRU */ case VAR_DECL: + if (DECL_NTTP_OBJECT_P (t)) + { + /* Print the type followed by the CONSTRUCTOR value of the + NTTP object. */ + simple_type_specifier (cv_unqualified (TREE_TYPE (t))); + expression (DECL_INITIAL (t)); + break; + } + /* FALLTHRU */ case PARM_DECL: case FIELD_DECL: case CONST_DECL: *************** cxx_pretty_printer::expression (tree t) *** 1256,1261 **** --- 1265,1278 ---- pp_cxx_right_paren (this); break; + case VIEW_CONVERT_EXPR: + if (TREE_CODE (TREE_OPERAND (t, 0)) == TEMPLATE_PARM_INDEX) + { + /* Strip const VIEW_CONVERT_EXPR wrappers for class NTTPs. */ + expression (TREE_OPERAND (t, 0)); + break; + } + /* FALLTHRU */ default: c_pretty_printer::expression (t); break; *************** pp_cxx_template_argument_list (cxx_prett *** 1960,1967 **** if (TYPE_P (arg) || (TREE_CODE (arg) == TEMPLATE_DECL && TYPE_P (DECL_TEMPLATE_RESULT (arg)))) pp->type_id (arg); - else if (TREE_CODE (arg) == VAR_DECL && DECL_NTTP_OBJECT_P (arg)) - pp->expression (DECL_INITIAL (arg)); else pp->expression (arg); } --- 1977,1982 ---- diff -Nrcpad gcc-13.2.0/gcc/cp/decl.cc gcc-13.3.0/gcc/cp/decl.cc *** gcc-13.2.0/gcc/cp/decl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/decl.cc Tue May 21 07:47:38 2024 *************** check_goto (tree decl) *** 3768,3773 **** --- 3768,3775 ---- return; } + cp_function_chain->backward_goto = true; + bool saw_catch = false, complained = false; int identified = 0; tree bad; *************** void *** 8214,8220 **** cp_finish_decl (tree decl, tree init, bool init_const_expr_p, tree asmspec_tree, int flags) { - tree type; vec *cleanups = NULL; const char *asmspec = NULL; int was_readonly = 0; --- 8216,8221 ---- *************** cp_finish_decl (tree decl, tree init, bo *** 8234,8240 **** /* Parameters are handled by store_parm_decls, not cp_finish_decl. */ gcc_assert (TREE_CODE (decl) != PARM_DECL); ! type = TREE_TYPE (decl); if (type == error_mark_node) return; --- 8235,8241 ---- /* Parameters are handled by store_parm_decls, not cp_finish_decl. */ gcc_assert (TREE_CODE (decl) != PARM_DECL); ! tree type = TREE_TYPE (decl); if (type == error_mark_node) return; *************** cp_finish_decl (tree decl, tree init, bo *** 8424,8430 **** if (decl_maybe_constant_var_p (decl) /* FIXME setting TREE_CONSTANT on refs breaks the back end. */ && !TYPE_REF_P (type)) ! TREE_CONSTANT (decl) = 1; } /* This is handled mostly by gimplify.cc, but we have to deal with not warning about int x = x; as it is a GCC extension to turn off --- 8425,8431 ---- if (decl_maybe_constant_var_p (decl) /* FIXME setting TREE_CONSTANT on refs breaks the back end. */ && !TYPE_REF_P (type)) ! TREE_CONSTANT (decl) = true; } /* This is handled mostly by gimplify.cc, but we have to deal with not warning about int x = x; as it is a GCC extension to turn off *************** cp_finish_decl (tree decl, tree init, bo *** 8435,8440 **** --- 8436,8449 ---- && !warning_enabled_at (DECL_SOURCE_LOCATION (decl), OPT_Winit_self)) suppress_warning (decl, OPT_Winit_self); } + else if (VAR_P (decl) + && COMPLETE_TYPE_P (type) + && !TYPE_REF_P (type) + && !dependent_type_p (type) + && is_really_empty_class (type, /*ignore_vptr*/false)) + /* We have no initializer but there's nothing to initialize anyway. + Treat DECL as constant due to c++/109876. */ + TREE_CONSTANT (decl) = true; if (flag_openmp && TREE_CODE (decl) == FUNCTION_DECL *************** store_parm_decls (tree current_function_ *** 17819,17834 **** } /* Set the return value of the [cd]tor if the ABI wants that. */ void ! maybe_return_this (void) { ! if (targetm.cxx.cdtor_returns_this ()) { /* Return the address of the object. */ - tree val = DECL_ARGUMENTS (current_function_decl); - suppress_warning (val, OPT_Wuse_after_free); val = fold_convert (TREE_TYPE (DECL_RESULT (current_function_decl)), val); val = build2 (MODIFY_EXPR, TREE_TYPE (val), DECL_RESULT (current_function_decl), val); --- 17828,17858 ---- } + /* Mark CDTOR's implicit THIS argument for returning, if required by + the ABI.. Return the decl for THIS, if it is to be returned, and + NULL otherwise. */ + + tree + maybe_prepare_return_this (tree cdtor) + { + if (targetm.cxx.cdtor_returns_this ()) + if (tree val = DECL_ARGUMENTS (cdtor)) + { + suppress_warning (val, OPT_Wuse_after_free); + return val; + } + + return NULL_TREE; + } + /* Set the return value of the [cd]tor if the ABI wants that. */ void ! maybe_return_this () { ! if (tree val = maybe_prepare_return_this (current_function_decl)) { /* Return the address of the object. */ val = fold_convert (TREE_TYPE (DECL_RESULT (current_function_decl)), val); val = build2 (MODIFY_EXPR, TREE_TYPE (val), DECL_RESULT (current_function_decl), val); diff -Nrcpad gcc-13.2.0/gcc/cp/decl2.cc gcc-13.3.0/gcc/cp/decl2.cc *** gcc-13.2.0/gcc/cp/decl2.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/decl2.cc Tue May 21 07:47:38 2024 *************** grok_array_decl (location_t loc, tree ar *** 459,465 **** { expr = build_op_subscript (loc, array_expr, index_exp_list, &overload, complain & tf_decltype); ! if (expr == error_mark_node) { tree idx = build_x_compound_expr_from_vec (*index_exp_list, NULL, tf_none); --- 459,468 ---- { expr = build_op_subscript (loc, array_expr, index_exp_list, &overload, complain & tf_decltype); ! if (expr == error_mark_node ! /* Don't do the backward compatibility fallback in a SFINAE ! context. */ ! && (complain & tf_error)) { tree idx = build_x_compound_expr_from_vec (*index_exp_list, NULL, tf_none); *************** grok_array_decl (location_t loc, tree ar *** 510,515 **** --- 513,523 ---- if (index_exp == NULL_TREE) { + if (!(complain & tf_error)) + /* Don't do the backward compatibility fallback in a SFINAE + context. */ + return error_mark_node; + if ((*index_exp_list)->is_empty ()) { error_at (loc, "built-in subscript operator without expression " *************** grok_array_decl (location_t loc, tree ar *** 561,568 **** swapped = true, array_expr = p2, index_exp = i1; else { ! error_at (loc, "invalid types %<%T[%T]%> for array subscript", ! type, TREE_TYPE (index_exp)); return error_mark_node; } --- 569,577 ---- swapped = true, array_expr = p2, index_exp = i1; else { ! if (complain & tf_error) ! error_at (loc, "invalid types %<%T[%T]%> for array subscript", ! type, TREE_TYPE (index_exp)); return error_mark_node; } diff -Nrcpad gcc-13.2.0/gcc/cp/except.cc gcc-13.3.0/gcc/cp/except.cc *** gcc-13.2.0/gcc/cp/except.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/except.cc Tue May 21 07:47:38 2024 *************** maybe_set_retval_sentinel () *** 1309,1329 **** on throw. */ void ! maybe_splice_retval_cleanup (tree compound_stmt) { ! /* If we need a cleanup for the return value, add it in at the same level as pushdecl_outermost_localscope. And also in try blocks. */ ! const bool function_body ! = (current_binding_level->level_chain ! && current_binding_level->level_chain->kind == sk_function_parms ! /* When we're processing a default argument, c_f_d may not have been ! set. */ ! && current_function_decl); ! if ((function_body || current_binding_level->kind == sk_try) ! && !DECL_CONSTRUCTOR_P (current_function_decl) ! && !DECL_DESTRUCTOR_P (current_function_decl) ! && current_retval_sentinel) { location_t loc = DECL_SOURCE_LOCATION (current_function_decl); tree_stmt_iterator iter = tsi_start (compound_stmt); --- 1309,1328 ---- on throw. */ void ! maybe_splice_retval_cleanup (tree compound_stmt, bool is_try) { ! if (!current_function_decl || !cfun ! || DECL_CONSTRUCTOR_P (current_function_decl) ! || DECL_DESTRUCTOR_P (current_function_decl) ! || !current_retval_sentinel) ! return; ! ! /* if we need a cleanup for the return value, add it in at the same level as pushdecl_outermost_localscope. And also in try blocks. */ ! cp_binding_level *b = current_binding_level; ! const bool function_body = b->kind == sk_function_parms; ! if (function_body || is_try) { location_t loc = DECL_SOURCE_LOCATION (current_function_decl); tree_stmt_iterator iter = tsi_start (compound_stmt); *************** maybe_splice_retval_cleanup (tree compou *** 1337,1345 **** } /* Skip past other decls, they can't contain a return. */ ! while (TREE_CODE (tsi_stmt (iter)) == DECL_EXPR) tsi_next (&iter); ! gcc_assert (!tsi_end_p (iter)); /* Wrap the rest of the STATEMENT_LIST in a CLEANUP_STMT. */ tree stmts = NULL_TREE; --- 1336,1348 ---- } /* Skip past other decls, they can't contain a return. */ ! while (!tsi_end_p (iter) ! && TREE_CODE (tsi_stmt (iter)) == DECL_EXPR) tsi_next (&iter); ! ! if (tsi_end_p (iter)) ! /* Nothing to wrap. */ ! return; /* Wrap the rest of the STATEMENT_LIST in a CLEANUP_STMT. */ tree stmts = NULL_TREE; *************** maybe_splice_retval_cleanup (tree compou *** 1349,1354 **** --- 1352,1365 ---- tsi_delink (&iter); } tree dtor = build_cleanup (retval); + if (!function_body) + { + /* Clear the sentinel so we don't try to destroy the retval again on + rethrow (c++/112301). */ + tree clear = build2 (MODIFY_EXPR, boolean_type_node, + current_retval_sentinel, boolean_false_node); + dtor = build2 (COMPOUND_EXPR, void_type_node, clear, dtor); + } tree cond = build3 (COND_EXPR, void_type_node, current_retval_sentinel, dtor, void_node); tree cleanup = build_stmt (loc, CLEANUP_STMT, diff -Nrcpad gcc-13.2.0/gcc/cp/init.cc gcc-13.3.0/gcc/cp/init.cc *** gcc-13.2.0/gcc/cp/init.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/init.cc Tue May 21 07:47:38 2024 *************** build_vec_delete_1 (location_t loc, tree *** 4159,4165 **** /* If one destructor throws, keep trying to clean up the rest, unless we're already in a build_vec_init cleanup. */ ! if (flag_exceptions && !in_cleanup && !expr_noexcept_p (tmp, tf_none)) { loop = build2 (TRY_CATCH_EXPR, void_type_node, loop, unshare_expr (loop)); --- 4159,4166 ---- /* If one destructor throws, keep trying to clean up the rest, unless we're already in a build_vec_init cleanup. */ ! if (flag_exceptions && !in_cleanup && !processing_template_decl ! && !expr_noexcept_p (tmp, tf_none)) { loop = build2 (TRY_CATCH_EXPR, void_type_node, loop, unshare_expr (loop)); diff -Nrcpad gcc-13.2.0/gcc/cp/method.cc gcc-13.3.0/gcc/cp/method.cc *** gcc-13.2.0/gcc/cp/method.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/method.cc Tue May 21 07:47:38 2024 *************** early_check_defaulted_comparison (tree f *** 1222,1228 **** /* Defaulted outside the class body. */ ctx = TYPE_MAIN_VARIANT (parmtype); if (!is_friend (ctx, fn)) ! error_at (loc, "defaulted %qD is not a friend of %qT", fn, ctx); } else if (!same_type_ignoring_top_level_qualifiers_p (parmtype, ctx)) saw_bad = true; --- 1222,1232 ---- /* Defaulted outside the class body. */ ctx = TYPE_MAIN_VARIANT (parmtype); if (!is_friend (ctx, fn)) ! { ! error_at (loc, "defaulted %qD is not a friend of %qT", fn, ctx); ! inform (location_of (ctx), "declared here"); ! ok = false; ! } } else if (!same_type_ignoring_top_level_qualifiers_p (parmtype, ctx)) saw_bad = true; diff -Nrcpad gcc-13.2.0/gcc/cp/parser.cc gcc-13.3.0/gcc/cp/parser.cc *** gcc-13.2.0/gcc/cp/parser.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/parser.cc Tue May 21 07:47:38 2024 *************** static tree cp_parser_objc_struct_declar *** 2748,2754 **** /* Utility Routines */ static cp_expr cp_parser_lookup_name ! (cp_parser *, tree, enum tag_types, bool, bool, bool, tree *, location_t); static tree cp_parser_lookup_name_simple (cp_parser *, tree, location_t); static tree cp_parser_maybe_treat_template_as_class --- 2748,2754 ---- /* Utility Routines */ static cp_expr cp_parser_lookup_name ! (cp_parser *, tree, enum tag_types, int, bool, bool, tree *, location_t); static tree cp_parser_lookup_name_simple (cp_parser *, tree, location_t); static tree cp_parser_maybe_treat_template_as_class *************** cp_parser_template_name (cp_parser* pars *** 18739,18745 **** /* Look up the name. */ decl = cp_parser_lookup_name (parser, identifier, tag_type, ! /*is_template=*/true, /*is_namespace=*/false, check_dependency_p, /*ambiguous_decls=*/NULL, --- 18739,18745 ---- /* Look up the name. */ decl = cp_parser_lookup_name (parser, identifier, tag_type, ! /*is_template=*/1 + template_keyword_p, /*is_namespace=*/false, check_dependency_p, /*ambiguous_decls=*/NULL, *************** cp_parser_direct_declarator (cp_parser* *** 23334,23339 **** --- 23334,23352 ---- /* Consume the `)'. */ parens.require_close (parser); + /* For code like + int x(auto(42)); + A a(auto(i), 42); + we have synthesized an implicit template parameter and marked + what we thought was a function as an implicit function template. + But now, having seen the whole parameter list, we know it's not + a function declaration, so undo that. */ + if (cp_parser_error_occurred (parser) + && parser->fully_implicit_function_template_p + /* Don't do this for the inner (). */ + && parser->default_arg_ok_p) + abort_fully_implicit_template (parser); + /* If all went well, parse the cv-qualifier-seq, ref-qualifier and the exception-specification. */ if (member_p || cp_parser_parse_definitely (parser)) *************** cp_parser_type_requirement (cp_parser *p *** 30939,30945 **** cp_parser_global_scope_opt (parser, /*current_scope_valid_p=*/false); cp_parser_nested_name_specifier_opt (parser, /*typename_keyword_p=*/true, ! /*check_dependency_p=*/false, /*type_p=*/true, /*is_declaration=*/false); --- 30952,30958 ---- cp_parser_global_scope_opt (parser, /*current_scope_valid_p=*/false); cp_parser_nested_name_specifier_opt (parser, /*typename_keyword_p=*/true, ! /*check_dependency_p=*/true, /*type_p=*/true, /*is_declaration=*/false); *************** cp_parser_type_requirement (cp_parser *p *** 30949,30955 **** cp_lexer_consume_token (parser->lexer); type = cp_parser_template_id (parser, /*template_keyword_p=*/true, ! /*check_dependency=*/false, /*tag_type=*/none_type, /*is_declaration=*/false); type = make_typename_type (parser->scope, type, typename_type, --- 30962,30968 ---- cp_lexer_consume_token (parser->lexer); type = cp_parser_template_id (parser, /*template_keyword_p=*/true, ! /*check_dependency_p=*/true, /*tag_type=*/none_type, /*is_declaration=*/false); type = make_typename_type (parser->scope, type, typename_type, *************** prefer_type_arg (tag_types tag_type) *** 31128,31134 **** refer to types are ignored. If IS_TEMPLATE is TRUE, bindings that do not refer to templates are ! ignored. If IS_NAMESPACE is TRUE, bindings that do not refer to namespaces are ignored. --- 31141,31147 ---- refer to types are ignored. If IS_TEMPLATE is TRUE, bindings that do not refer to templates are ! ignored. If IS_TEMPLATE IS 2, the 'template' keyword was specified. If IS_NAMESPACE is TRUE, bindings that do not refer to namespaces are ignored. *************** prefer_type_arg (tag_types tag_type) *** 31143,31149 **** static cp_expr cp_parser_lookup_name (cp_parser *parser, tree name, enum tag_types tag_type, ! bool is_template, bool is_namespace, bool check_dependency, tree *ambiguous_decls, --- 31156,31162 ---- static cp_expr cp_parser_lookup_name (cp_parser *parser, tree name, enum tag_types tag_type, ! int is_template, bool is_namespace, bool check_dependency, tree *ambiguous_decls, *************** cp_parser_lookup_name (cp_parser *parser *** 31327,31333 **** else decl = NULL_TREE; ! if (!decl) /* Look it up in the enclosing context. DR 141: When looking for a template-name after -> or ., only consider class templates. */ decl = lookup_name (name, is_namespace ? LOOK_want::NAMESPACE --- 31340,31353 ---- else decl = NULL_TREE; ! /* If we didn't find a member and have dependent bases, the member lookup ! is now dependent. */ ! if (!dep && !decl && any_dependent_bases_p (object_type)) ! dep = true; ! ! if (dep && is_template == 2) ! /* The template keyword specifies a dependent template. */; ! else if (!decl) /* Look it up in the enclosing context. DR 141: When looking for a template-name after -> or ., only consider class templates. */ decl = lookup_name (name, is_namespace ? LOOK_want::NAMESPACE *************** cp_parser_lookup_name (cp_parser *parser *** 31355,31362 **** /* If we know we're looking for a type (e.g. A in p->A::x), mock up a typename. */ ! if (!decl && object_type && tag_type != none_type ! && dependentish_scope_p (object_type)) { tree type = build_typename_type (object_type, name, name, typename_type); --- 31375,31381 ---- /* If we know we're looking for a type (e.g. A in p->A::x), mock up a typename. */ ! if (!decl && dep && tag_type != none_type) { tree type = build_typename_type (object_type, name, name, typename_type); *************** cp_parser_pragma_unroll (cp_parser *pars *** 49122,49128 **** location_t location = cp_lexer_peek_token (parser->lexer)->location; tree expr = cp_parser_constant_expression (parser); unsigned short unroll; ! expr = maybe_constant_value (expr); HOST_WIDE_INT lunroll = 0; if (!INTEGRAL_TYPE_P (TREE_TYPE (expr)) || TREE_CODE (expr) != INTEGER_CST --- 49141,49147 ---- location_t location = cp_lexer_peek_token (parser->lexer)->location; tree expr = cp_parser_constant_expression (parser); unsigned short unroll; ! expr = fold_non_dependent_expr (expr); HOST_WIDE_INT lunroll = 0; if (!INTEGRAL_TYPE_P (TREE_TYPE (expr)) || TREE_CODE (expr) != INTEGER_CST diff -Nrcpad gcc-13.2.0/gcc/cp/pt.cc gcc-13.3.0/gcc/cp/pt.cc *** gcc-13.2.0/gcc/cp/pt.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/pt.cc Tue May 21 07:47:38 2024 *************** maybe_new_partial_specialization (tree& *** 975,980 **** --- 975,981 ---- DECL_SOURCE_LOCATION (d) = input_location; TREE_PRIVATE (d) = (current_access_specifier == access_private_node); TREE_PROTECTED (d) = (current_access_specifier == access_protected_node); + TREE_PUBLIC (d) = TREE_PUBLIC (DECL_TEMPLATE_RESULT (tmpl)); set_instantiating_module (d); DECL_MODULE_EXPORT_P (d) = DECL_MODULE_EXPORT_P (tmpl); *************** has_extra_args_mechanism_p (const_tree t *** 3860,3865 **** --- 3861,3884 ---- && IF_STMT_CONSTEXPR_P (t))); /* IF_STMT_EXTRA_ARGS */ } + /* Return *_EXTRA_ARGS of the given supported tree T. */ + + static tree& + tree_extra_args (tree t) + { + gcc_checking_assert (has_extra_args_mechanism_p (t)); + + if (PACK_EXPANSION_P (t)) + return PACK_EXPANSION_EXTRA_ARGS (t); + else if (TREE_CODE (t) == REQUIRES_EXPR) + return REQUIRES_EXPR_EXTRA_ARGS (t); + else if (TREE_CODE (t) == IF_STMT + && IF_STMT_CONSTEXPR_P (t)) + return IF_STMT_EXTRA_ARGS (t); + + gcc_unreachable (); + } + /* Structure used to track the progress of find_parameter_packs_r. */ struct find_parameter_pack_data { *************** process_partial_specialization (tree dec *** 5408,5416 **** } if (VAR_P (decl)) ! /* We didn't register this in check_explicit_specialization so we could ! wait until the constraints were set. */ ! decl = register_specialization (decl, maintmpl, specargs, false, 0); else associate_classtype_constraints (type); --- 5427,5440 ---- } if (VAR_P (decl)) ! { ! /* We didn't register this in check_explicit_specialization so we could ! wait until the constraints were set. */ ! tree reg = register_specialization (decl, maintmpl, specargs, false, 0); ! if (reg != decl) ! /* Redeclaration. */ ! return reg; ! } else associate_classtype_constraints (type); *************** invalid_tparm_referent_p (tree type, tre *** 7179,7186 **** * a string literal (5.13.5), * the result of a typeid expression (8.2.8), or * a predefined __func__ variable (11.4.1). */ ! else if (VAR_P (decl) && DECL_ARTIFICIAL (decl)) { if (complain & tf_error) error ("the address of %qD is not a valid template argument", decl); --- 7203,7212 ---- * a string literal (5.13.5), * the result of a typeid expression (8.2.8), or * a predefined __func__ variable (11.4.1). */ ! else if (VAR_P (decl) && DECL_ARTIFICIAL (decl) ! && !DECL_NTTP_OBJECT_P (decl)) { + gcc_checking_assert (DECL_TINFO_P (decl) || DECL_FNAME_P (decl)); if (complain & tf_error) error ("the address of %qD is not a valid template argument", decl); *************** coerce_template_template_parms (tree par *** 8076,8087 **** tree parm, arg; int variadic_p = 0; ! tree parm_parms = INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (parm_tmpl)); ! tree arg_parms_full = DECL_TEMPLATE_PARMS (arg_tmpl); ! tree arg_parms = INNERMOST_TEMPLATE_PARMS (arg_parms_full); ! ! gcc_assert (TREE_CODE (parm_parms) == TREE_VEC); ! gcc_assert (TREE_CODE (arg_parms) == TREE_VEC); nparms = TREE_VEC_LENGTH (parm_parms); nargs = TREE_VEC_LENGTH (arg_parms); --- 8102,8111 ---- tree parm, arg; int variadic_p = 0; ! tree parm_parms = DECL_INNERMOST_TEMPLATE_PARMS (parm_tmpl); ! tree arg_parms = DECL_INNERMOST_TEMPLATE_PARMS (arg_tmpl); ! tree gen_arg_tmpl = most_general_template (arg_tmpl); ! tree gen_arg_parms = DECL_INNERMOST_TEMPLATE_PARMS (gen_arg_tmpl); nparms = TREE_VEC_LENGTH (parm_parms); nargs = TREE_VEC_LENGTH (arg_parms); *************** coerce_template_template_parms (tree par *** 8137,8143 **** scope_args = TI_ARGS (tinfo); pargs = add_to_template_args (scope_args, pargs); ! pargs = coerce_template_parms (arg_parms, pargs, NULL_TREE, tf_none); if (pargs != error_mark_node) { tree targs = make_tree_vec (nargs); --- 8161,8167 ---- scope_args = TI_ARGS (tinfo); pargs = add_to_template_args (scope_args, pargs); ! pargs = coerce_template_parms (gen_arg_parms, pargs, NULL_TREE, tf_none); if (pargs != error_mark_node) { tree targs = make_tree_vec (nargs); *************** canonicalize_expr_argument (tree arg, ts *** 8336,8342 **** constrained than the parameter. */ static bool ! is_compatible_template_arg (tree parm, tree arg) { tree parm_cons = get_constraints (parm); --- 8360,8366 ---- constrained than the parameter. */ static bool ! is_compatible_template_arg (tree parm, tree arg, tree args) { tree parm_cons = get_constraints (parm); *************** is_compatible_template_arg (tree parm, t *** 8357,8362 **** --- 8381,8387 ---- { tree aparms = DECL_INNERMOST_TEMPLATE_PARMS (arg); new_args = template_parms_level_to_args (aparms); + new_args = add_to_template_args (args, new_args); ++processing_template_decl; parm_cons = tsubst_constraint_info (parm_cons, new_args, tf_none, NULL_TREE); *************** convert_template_argument (tree parm, *** 8611,8617 **** // Check that the constraints are compatible before allowing the // substitution. if (val != error_mark_node) ! if (!is_compatible_template_arg (parm, arg)) { if (in_decl && (complain & tf_error)) { --- 8636,8642 ---- // Check that the constraints are compatible before allowing the // substitution. if (val != error_mark_node) ! if (!is_compatible_template_arg (parm, arg, args)) { if (in_decl && (complain & tf_error)) { *************** find_template_parameter_info::found (tre *** 10910,10916 **** { if (TREE_CODE (parm) == TREE_LIST) parm = TREE_VALUE (parm); ! if (TREE_CODE (parm) == TYPE_DECL) parm = TREE_TYPE (parm); else parm = DECL_INITIAL (parm); --- 10935,10942 ---- { if (TREE_CODE (parm) == TREE_LIST) parm = TREE_VALUE (parm); ! if (TREE_CODE (parm) == TYPE_DECL ! || TREE_CODE (parm) == TEMPLATE_DECL) parm = TREE_TYPE (parm); else parm = DECL_INITIAL (parm); *************** tsubst_friend_function (tree decl, tree *** 11375,11383 **** not_tmpl = DECL_TEMPLATE_RESULT (new_friend); new_friend_result_template_info = DECL_TEMPLATE_INFO (not_tmpl); } - else if (!constraints_satisfied_p (new_friend)) - /* Only define a constrained hidden friend when satisfied. */ - return error_mark_node; /* Inside pushdecl_namespace_level, we will push into the current namespace. However, the friend function should go --- 11401,11406 ---- *************** extract_locals_r (tree *tp, int *walk_su *** 13180,13185 **** --- 13203,13218 ---- /* Remember local typedefs (85214). */ tp = &TYPE_NAME (*tp); + if (has_extra_args_mechanism_p (*tp)) + /* Assert *_EXTRA_ARGS is empty, because we don't want to walk it and + potentially see a previously captured local in an evaluated context + that's really only used in an unevaluated context (PR114303). This + means callers of build_extra_args need to clear *_EXTRA_ARGS of the + outermost tree. Nested *_EXTRA_ARGS should naturally be empty since + the outermost (extra-args) tree will intercept any substitution before + a nested tree can. */ + gcc_checking_assert (tree_extra_args (*tp) == NULL_TREE); + if (TREE_CODE (*tp) == DECL_EXPR) { tree decl = DECL_EXPR_DECL (*tp); *************** tsubst_aggr_type (tree t, *** 14007,14012 **** --- 14040,14046 ---- if (entering_scope && CLASS_TYPE_P (t) && dependent_type_p (t) + && TYPE_TEMPLATE_INFO (t) && TYPE_CANONICAL (t) == TREE_TYPE (TYPE_TI_TEMPLATE (t))) t = TYPE_CANONICAL (t); *************** tsubst_function_decl (tree t, tree args, *** 14628,14633 **** --- 14662,14668 ---- } determine_visibility (r); if (DECL_DEFAULTED_OUTSIDE_CLASS_P (r) + && COMPLETE_TYPE_P (DECL_CONTEXT (r)) && !processing_template_decl) defaulted_late_check (r); *************** tsubst_expr (tree t, tree args, tsubst_f *** 19182,19191 **** of the constexpr if is still dependent. Don't substitute into the branches now, just remember the template arguments. */ do_poplevel (IF_SCOPE (stmt)); IF_COND (stmt) = IF_COND (t); THEN_CLAUSE (stmt) = THEN_CLAUSE (t); ELSE_CLAUSE (stmt) = ELSE_CLAUSE (t); ! IF_STMT_EXTRA_ARGS (stmt) = build_extra_args (t, args, complain); add_stmt (stmt); break; } --- 19217,19227 ---- of the constexpr if is still dependent. Don't substitute into the branches now, just remember the template arguments. */ do_poplevel (IF_SCOPE (stmt)); + IF_SCOPE (stmt) = NULL_TREE; IF_COND (stmt) = IF_COND (t); THEN_CLAUSE (stmt) = THEN_CLAUSE (t); ELSE_CLAUSE (stmt) = ELSE_CLAUSE (t); ! IF_STMT_EXTRA_ARGS (stmt) = build_extra_args (stmt, args, complain); add_stmt (stmt); break; } *************** tsubst_copy_and_build (tree t, *** 21777,21783 **** case REQUIRES_EXPR: { ! tree r = tsubst_requires_expr (t, args, tf_none, in_decl); RETURN (r); } --- 21813,21820 ---- case REQUIRES_EXPR: { ! complain &= ~tf_warning_or_error; ! tree r = tsubst_requires_expr (t, args, complain, in_decl); RETURN (r); } *************** instantiate_template (tree tmpl, tree or *** 22155,22160 **** --- 22192,22204 ---- template, not the most general template. */ DECL_TI_TEMPLATE (fndecl) = tmpl; DECL_TI_ARGS (fndecl) = targ_ptr; + if (VAR_P (pattern)) + { + /* Remember if the variable was declared with []. */ + if (TREE_CODE (TREE_TYPE (fndecl)) == ARRAY_TYPE + && TYPE_DOMAIN (TREE_TYPE (fndecl)) == NULL_TREE) + SET_VAR_HAD_UNKNOWN_BOUND (fndecl); + } set_instantiating_module (fndecl); *************** unify (tree tparms, tree targs, tree par *** 24918,24929 **** /* Types INTEGER_CST and MINUS_EXPR can come from array bounds. */ /* Type INTEGER_CST can come from ordinary constant template args. */ case INTEGER_CST: while (CONVERT_EXPR_P (arg)) arg = TREE_OPERAND (arg, 0); ! if (TREE_CODE (arg) != INTEGER_CST) return unify_template_argument_mismatch (explain_p, parm, arg); ! return (tree_int_cst_equal (parm, arg) ? unify_success (explain_p) : unify_template_argument_mismatch (explain_p, parm, arg)); --- 24962,24974 ---- /* Types INTEGER_CST and MINUS_EXPR can come from array bounds. */ /* Type INTEGER_CST can come from ordinary constant template args. */ case INTEGER_CST: + case REAL_CST: while (CONVERT_EXPR_P (arg)) arg = TREE_OPERAND (arg, 0); ! if (TREE_CODE (arg) != TREE_CODE (parm)) return unify_template_argument_mismatch (explain_p, parm, arg); ! return (simple_cst_equal (parm, arg) ? unify_success (explain_p) : unify_template_argument_mismatch (explain_p, parm, arg)); *************** value_dependent_expression_p (tree expre *** 27974,27982 **** case VAR_DECL: /* A constant with literal type and is initialized with an expression that is value-dependent. */ ! if (DECL_DEPENDENT_INIT_P (expression) ! /* FIXME cp_finish_decl doesn't fold reference initializers. */ ! || TYPE_REF_P (TREE_TYPE (expression))) return true; if (DECL_HAS_VALUE_EXPR_P (expression)) { --- 28019,28025 ---- case VAR_DECL: /* A constant with literal type and is initialized with an expression that is value-dependent. */ ! if (DECL_DEPENDENT_INIT_P (expression)) return true; if (DECL_HAS_VALUE_EXPR_P (expression)) { *************** value_dependent_expression_p (tree expre *** 27991,27996 **** --- 28034,28049 ---- && value_expr == error_mark_node)) return true; } + else if (TYPE_REF_P (TREE_TYPE (expression))) + /* FIXME cp_finish_decl doesn't fold reference initializers. */ + return true; + /* We have a constexpr variable and we're processing a template. When + there's lifetime extension involved (for which finish_compound_literal + used to create a temporary), we'll not be able to evaluate the + variable until instantiating, so pretend it's value-dependent. */ + else if (DECL_DECLARED_CONSTEXPR_P (expression) + && !TREE_CONSTANT (expression)) + return true; return false; case DYNAMIC_CAST_EXPR: diff -Nrcpad gcc-13.2.0/gcc/cp/semantics.cc gcc-13.3.0/gcc/cp/semantics.cc *** gcc-13.2.0/gcc/cp/semantics.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/semantics.cc Tue May 21 07:47:38 2024 *************** set_cleanup_locs (tree stmts, location_t *** 628,633 **** --- 628,644 ---- set_cleanup_locs (stmt, loc); } + /* True iff the innermost block scope is a try block. */ + + static bool + at_try_scope () + { + cp_binding_level *b = current_binding_level; + while (b && b->kind == sk_cleanup) + b = b->level_chain; + return b && b->kind == sk_try; + } + /* Finish a scope. */ tree *************** do_poplevel (tree stmt_list) *** 635,645 **** { tree block = NULL; ! maybe_splice_retval_cleanup (stmt_list); if (stmts_are_full_exprs_p ()) block = poplevel (kept_level_p (), 1, 0); stmt_list = pop_stmt_list (stmt_list); /* input_location is the last token of the scope, usually a }. */ --- 646,659 ---- { tree block = NULL; ! bool was_try = at_try_scope (); if (stmts_are_full_exprs_p ()) block = poplevel (kept_level_p (), 1, 0); + /* This needs to come after poplevel merges sk_cleanup statement_lists. */ + maybe_splice_retval_cleanup (stmt_list, was_try); + stmt_list = pop_stmt_list (stmt_list); /* input_location is the last token of the scope, usually a }. */ *************** simplify_loop_decl_cond (tree *cond_p, t *** 786,792 **** *cond_p = boolean_true_node; if_stmt = begin_if_stmt (); ! cond = cp_build_unary_op (TRUTH_NOT_EXPR, cond, false, tf_warning_or_error); finish_if_stmt_cond (cond, if_stmt); finish_break_stmt (); finish_then_clause (if_stmt); --- 800,810 ---- *cond_p = boolean_true_node; if_stmt = begin_if_stmt (); ! cond_p = &cond; ! while (TREE_CODE (*cond_p) == ANNOTATE_EXPR) ! cond_p = &TREE_OPERAND (*cond_p, 0); ! *cond_p = cp_build_unary_op (TRUTH_NOT_EXPR, *cond_p, false, ! tf_warning_or_error); finish_if_stmt_cond (cond, if_stmt); finish_break_stmt (); finish_then_clause (if_stmt); *************** tree *** 1032,1037 **** --- 1050,1056 ---- finish_if_stmt_cond (tree orig_cond, tree if_stmt) { tree cond = maybe_convert_cond (orig_cond); + maybe_warn_for_constant_evaluated (cond, IF_STMT_CONSTEXPR_P (if_stmt)); if (IF_STMT_CONSTEXPR_P (if_stmt) && !type_dependent_expression_p (cond) && require_constant_expression (cond) *************** finish_if_stmt_cond (tree orig_cond, tre *** 1040,1055 **** converted to bool. */ && TYPE_MAIN_VARIANT (TREE_TYPE (cond)) == boolean_type_node) { - maybe_warn_for_constant_evaluated (cond, /*constexpr_if=*/true); cond = instantiate_non_dependent_expr (cond); cond = cxx_constant_value (cond); } ! else ! { ! maybe_warn_for_constant_evaluated (cond, /*constexpr_if=*/false); ! if (processing_template_decl) ! cond = orig_cond; ! } finish_cond (&IF_COND (if_stmt), cond); add_stmt (if_stmt); THEN_CLAUSE (if_stmt) = push_stmt_list (); --- 1059,1069 ---- converted to bool. */ && TYPE_MAIN_VARIANT (TREE_TYPE (cond)) == boolean_type_node) { cond = instantiate_non_dependent_expr (cond); cond = cxx_constant_value (cond); } ! else if (processing_template_decl) ! cond = orig_cond; finish_cond (&IF_COND (if_stmt), cond); add_stmt (if_stmt); THEN_CLAUSE (if_stmt) = push_stmt_list (); *************** public: *** 4895,4900 **** --- 4909,4915 ---- tree var; tree result; hash_table > visited; + bool in_nrv_cleanup; }; /* Helper function for walk_tree, used by finalize_nrv below. */ *************** finalize_nrv_r (tree* tp, int* walk_subt *** 4911,4924 **** *walk_subtrees = 0; /* Change all returns to just refer to the RESULT_DECL; this is a nop, but differs from using NULL_TREE in that it indicates that we care ! about the value of the RESULT_DECL. */ else if (TREE_CODE (*tp) == RETURN_EXPR) ! TREE_OPERAND (*tp, 0) = dp->result; /* Change all cleanups for the NRV to only run when an exception is thrown. */ else if (TREE_CODE (*tp) == CLEANUP_STMT && CLEANUP_DECL (*tp) == dp->var) ! CLEANUP_EH_ONLY (*tp) = 1; /* Replace the DECL_EXPR for the NRV with an initialization of the RESULT_DECL, if needed. */ else if (TREE_CODE (*tp) == DECL_EXPR --- 4926,4976 ---- *walk_subtrees = 0; /* Change all returns to just refer to the RESULT_DECL; this is a nop, but differs from using NULL_TREE in that it indicates that we care ! about the value of the RESULT_DECL. But preserve anything appended ! by check_return_expr. */ else if (TREE_CODE (*tp) == RETURN_EXPR) ! { ! tree *p = &TREE_OPERAND (*tp, 0); ! while (TREE_CODE (*p) == COMPOUND_EXPR) ! p = &TREE_OPERAND (*p, 0); ! gcc_checking_assert (TREE_CODE (*p) == INIT_EXPR ! && TREE_OPERAND (*p, 0) == dp->result); ! *p = dp->result; ! } /* Change all cleanups for the NRV to only run when an exception is thrown. */ else if (TREE_CODE (*tp) == CLEANUP_STMT && CLEANUP_DECL (*tp) == dp->var) ! { ! dp->in_nrv_cleanup = true; ! cp_walk_tree (&CLEANUP_BODY (*tp), finalize_nrv_r, data, 0); ! dp->in_nrv_cleanup = false; ! cp_walk_tree (&CLEANUP_EXPR (*tp), finalize_nrv_r, data, 0); ! *walk_subtrees = 0; ! ! CLEANUP_EH_ONLY (*tp) = true; ! ! /* If a cleanup might throw, we need to clear current_retval_sentinel on ! the exception path so an outer cleanup added by ! maybe_splice_retval_cleanup doesn't run. */ ! if (current_retval_sentinel ! && cp_function_chain->throwing_cleanup) ! { ! tree clear = build2 (MODIFY_EXPR, boolean_type_node, ! current_retval_sentinel, ! boolean_false_node); ! ! /* We're already only on the EH path, just prepend it. */ ! tree &exp = CLEANUP_EXPR (*tp); ! exp = build2 (COMPOUND_EXPR, void_type_node, clear, exp); ! } ! } ! /* Disable maybe_splice_retval_cleanup within the NRV cleanup scope, we don't ! want to destroy the retval before the variable goes out of scope. */ ! else if (TREE_CODE (*tp) == CLEANUP_STMT ! && dp->in_nrv_cleanup ! && CLEANUP_DECL (*tp) == dp->result) ! CLEANUP_EXPR (*tp) = void_node; /* Replace the DECL_EXPR for the NRV with an initialization of the RESULT_DECL, if needed. */ else if (TREE_CODE (*tp) == DECL_EXPR *************** finalize_nrv (tree *tp, tree var, tree r *** 4974,4979 **** --- 5026,5032 ---- data.var = var; data.result = result; + data.in_nrv_cleanup = false; cp_walk_tree (tp, finalize_nrv_r, &data, 0); } *************** finish_decltype_type (tree expr, bool id *** 11450,11455 **** --- 11503,11516 ---- case TEMPLATE_PARM_INDEX: expr = mark_type_use (expr); type = TREE_TYPE (expr); + if (VAR_P (expr) && DECL_NTTP_OBJECT_P (expr)) + { + /* decltype of an NTTP object is the type of the template + parameter, which is the object type modulo cv-quals. */ + int quals = cp_type_quals (type); + gcc_checking_assert (quals & TYPE_QUAL_CONST); + type = cv_unqualified (type); + } break; case ERROR_MARK: *************** check_trait_type (tree type, int kind = *** 12115,12120 **** --- 12176,12222 ---- return true; } + /* True iff the conversion (if any) would be a direct reference + binding, not requiring complete types. This is LWG2939. */ + + static bool + same_type_ref_bind_p (cp_trait_kind kind, tree type1, tree type2) + { + tree from, to; + switch (kind) + { + /* These put the target type first. */ + case CPTK_IS_CONSTRUCTIBLE: + case CPTK_IS_NOTHROW_CONSTRUCTIBLE: + case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE: + case CPTK_REF_CONSTRUCTS_FROM_TEMPORARY: + case CPTK_REF_CONVERTS_FROM_TEMPORARY: + to = type1; + from = type2; + break; + + /* These put it second. */ + case CPTK_IS_CONVERTIBLE: + case CPTK_IS_NOTHROW_CONVERTIBLE: + to = type2; + from = type1; + break; + + default: + gcc_unreachable (); + } + + if (TREE_CODE (to) != REFERENCE_TYPE || !from) + return false; + if (TREE_CODE (from) == TREE_VEC && TREE_VEC_LENGTH (from) == 1) + from = TREE_VEC_ELT (from, 0); + else if (TREE_CODE (from) == TREE_LIST && !TREE_CHAIN (from)) + from = TREE_VALUE (from); + return (TYPE_P (from) + && (same_type_ignoring_top_level_qualifiers_p + (non_reference (to), non_reference (from)))); + } + /* Process a trait expression. */ tree *************** finish_trait_expr (location_t loc, cp_tr *** 12180,12193 **** return error_mark_node; break; - case CPTK_IS_TRIVIALLY_ASSIGNABLE: case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE: - case CPTK_IS_NOTHROW_ASSIGNABLE: case CPTK_IS_NOTHROW_CONSTRUCTIBLE: case CPTK_IS_CONVERTIBLE: case CPTK_IS_NOTHROW_CONVERTIBLE: case CPTK_REF_CONSTRUCTS_FROM_TEMPORARY: case CPTK_REF_CONVERTS_FROM_TEMPORARY: if (!check_trait_type (type1) || !check_trait_type (type2)) return error_mark_node; --- 12282,12300 ---- return error_mark_node; break; case CPTK_IS_TRIVIALLY_CONSTRUCTIBLE: case CPTK_IS_NOTHROW_CONSTRUCTIBLE: case CPTK_IS_CONVERTIBLE: case CPTK_IS_NOTHROW_CONVERTIBLE: case CPTK_REF_CONSTRUCTS_FROM_TEMPORARY: case CPTK_REF_CONVERTS_FROM_TEMPORARY: + /* Don't check completeness for direct reference binding. */; + if (same_type_ref_bind_p (kind, type1, type2)) + break; + gcc_fallthrough (); + + case CPTK_IS_NOTHROW_ASSIGNABLE: + case CPTK_IS_TRIVIALLY_ASSIGNABLE: if (!check_trait_type (type1) || !check_trait_type (type2)) return error_mark_node; diff -Nrcpad gcc-13.2.0/gcc/cp/tree.cc gcc-13.3.0/gcc/cp/tree.cc *** gcc-13.2.0/gcc/cp/tree.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/tree.cc Tue May 21 07:47:38 2024 *************** rvalue (tree expr) *** 978,988 **** expr = mark_rvalue_use (expr); ! /* [basic.lval] ! ! Non-class rvalues always have cv-unqualified types. */ type = TREE_TYPE (expr); ! if (!CLASS_TYPE_P (type) && cv_qualified_p (type)) type = cv_unqualified (type); /* We need to do this for rvalue refs as well to get the right answer --- 978,989 ---- expr = mark_rvalue_use (expr); ! /* [expr.type]: "If a prvalue initially has the type "cv T", where T is a ! cv-unqualified non-class, non-array type, the type of the expression is ! adjusted to T prior to any further analysis. */ type = TREE_TYPE (expr); ! if (!CLASS_TYPE_P (type) && TREE_CODE (type) != ARRAY_TYPE ! && cv_qualified_p (type)) type = cv_unqualified (type); /* We need to do this for rvalue refs as well to get the right answer diff -Nrcpad gcc-13.2.0/gcc/cp/typeck.cc gcc-13.3.0/gcc/cp/typeck.cc *** gcc-13.2.0/gcc/cp/typeck.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/cp/typeck.cc Tue May 21 07:47:38 2024 *************** is_bitfield_expr_with_lowered_type (cons *** 2400,2405 **** --- 2400,2406 ---- case NEGATE_EXPR: case NON_LVALUE_EXPR: case BIT_NOT_EXPR: + case CLEANUP_POINT_EXPR: return is_bitfield_expr_with_lowered_type (TREE_OPERAND (exp, 0)); case COMPONENT_REF: *************** cp_build_indirect_ref (location_t loc, t *** 3928,3940 **** If INDEX is of some user-defined type, it must be converted to integer type. Otherwise, to make a compatible PLUS_EXPR, it will inherit the type of the array, which will be some pointer type. ! LOC is the location to use in building the array reference. */ tree cp_build_array_ref (location_t loc, tree array, tree idx, tsubst_flags_t complain) { tree ret; if (idx == 0) --- 3929,3942 ---- If INDEX is of some user-defined type, it must be converted to integer type. Otherwise, to make a compatible PLUS_EXPR, it will inherit the type of the array, which will be some pointer type. ! LOC is the location to use in building the array reference. */ tree cp_build_array_ref (location_t loc, tree array, tree idx, tsubst_flags_t complain) { + tree first = NULL_TREE; tree ret; if (idx == 0) *************** cp_build_array_ref (location_t loc, tree *** 3979,3984 **** --- 3981,3994 ---- bool non_lvalue = convert_vector_to_array_for_subscript (loc, &array, idx); + /* 0[array] */ + if (TREE_CODE (TREE_TYPE (idx)) == ARRAY_TYPE) + { + std::swap (array, idx); + if (flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (array)) + idx = first = save_expr (idx); + } + if (TREE_CODE (TREE_TYPE (array)) == ARRAY_TYPE) { tree rval, type; *************** cp_build_array_ref (location_t loc, tree *** 4054,4068 **** protected_set_expr_location (ret, loc); if (non_lvalue) ret = non_lvalue_loc (loc, ret); return ret; } { tree ar = cp_default_conversion (array, complain); tree ind = cp_default_conversion (idx, complain); - tree first = NULL_TREE; ! if (flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind)) ar = first = save_expr (ar); /* Put the integer in IND to simplify error checking. */ --- 4064,4079 ---- protected_set_expr_location (ret, loc); if (non_lvalue) ret = non_lvalue_loc (loc, ret); + if (first) + ret = build2_loc (loc, COMPOUND_EXPR, TREE_TYPE (ret), first, ret); return ret; } { tree ar = cp_default_conversion (array, complain); tree ind = cp_default_conversion (idx, complain); ! if (!first && flag_strong_eval_order == 2 && TREE_SIDE_EFFECTS (ind)) ar = first = save_expr (ar); /* Put the integer in IND to simplify error checking. */ *************** treat_lvalue_as_rvalue_p (tree expr, boo *** 10745,10751 **** for (tree decl = b->names; decl; decl = TREE_CHAIN (decl)) if (decl == retval) return set_implicit_rvalue_p (move (expr)); ! if (b->kind == sk_function_parms || b->kind == sk_try) return NULL_TREE; } } --- 10756,10764 ---- for (tree decl = b->names; decl; decl = TREE_CHAIN (decl)) if (decl == retval) return set_implicit_rvalue_p (move (expr)); ! if (b->kind == sk_function_parms ! || b->kind == sk_try ! || b->kind == sk_namespace) return NULL_TREE; } } *************** check_return_expr (tree retval, bool *no *** 11155,11160 **** --- 11168,11176 ---- if (fn_returns_value_p && flag_elide_constructors) { if (named_return_value_okay_p + /* The current NRV implementation breaks if a backward goto needs to + destroy the object (PR92407). */ + && !cp_function_chain->backward_goto && (current_function_return_value == NULL_TREE || current_function_return_value == bare_retval)) current_function_return_value = bare_retval; diff -Nrcpad gcc-13.2.0/gcc/d/ChangeLog gcc-13.3.0/gcc/d/ChangeLog *** gcc-13.2.0/gcc/d/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/d/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,83 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-03-10 Iain Buclaw + + Backported from master: + 2024-03-10 Iain Buclaw + + PR d/112285 + PR d/112290 + * d-target.cc (Target::preferPassByRef): Return true for all static + array and struct types. + + 2024-03-03 Iain Buclaw + + Backported from master: + 2024-03-03 Iain Buclaw + + PR d/114171 + * d-codegen.cc (lower_struct_comparison): Keep alignment of original + type in reinterpret cast for comparison. + + 2024-03-02 Iain Buclaw + + Backported from master: + 2024-02-12 Iain Buclaw + + PR d/113758 + * d-codegen.cc (d_build_call): Force a TARGET_EXPR when callee + destorys its arguments. + * decl.cc (DeclVisitor::visit (VarDeclaration *)): Set + SET_DECL_VALUE_EXPR on the temporary variable to make it a placeholder + for the TARGET_EXPR_SLOT. + + 2024-03-02 Iain Buclaw + + Backported from master: + 2024-02-12 Iain Buclaw + + PR d/113125 + * types.cc (TypeVisitor::visit (TypeStruct *)): Generate TYPE_DECL and + apply UDAs to opaque struct declarations. + + 2023-10-29 Iain Buclaw + + Backported from master: + 2023-10-29 Iain Buclaw + + PR d/110712 + * d-codegen.cc (d_build_call): Update call to convert_for_argument. + * d-convert.cc (is_valist_parameter_type): New function. + (check_valist_conversion): New function. + (convert_for_assignment): Update signature. Add check whether + assigning va_list is permissible. + (convert_for_argument): Likewise. + * d-tree.h (convert_for_assignment): Update signature. + (convert_for_argument): Likewise. + * expr.cc (ExprVisitor::visit (AssignExp *)): Update call to + convert_for_assignment. + + 2023-10-28 Iain Buclaw + + Backported from master: + 2023-10-28 Iain Buclaw + + PR d/112270 + * d-builtins.cc (d_build_d_type_nodes): Initialize d_bool_false_node, + d_bool_true_node. + * d-codegen.cc (build_array_struct_comparison): Use d_bool_false_node + instead of boolean_false_node. + * d-convert.cc (d_truthvalue_conversion): Use d_bool_false_node and + d_bool_true_node instead of boolean_false_node and boolean_true_node. + * d-tree.h (enum d_tree_index): Add DTI_BOOL_FALSE and DTI_BOOL_TRUE. + (d_bool_false_node): New macro. + (d_bool_true_node): New macro. + * modules.cc (build_dso_cdtor_fn): Use d_bool_false_node and + d_bool_true_node instead of boolean_false_node and boolean_true_node. + (register_moduleinfo): Use d_bool_type instead of boolean_type_node. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/d/d-builtins.cc gcc-13.3.0/gcc/d/d-builtins.cc *** gcc-13.2.0/gcc/d/d-builtins.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/d-builtins.cc Tue May 21 07:47:38 2024 *************** d_build_d_type_nodes (void) *** 955,960 **** --- 955,963 ---- d_bool_type = make_unsigned_type (1); TREE_SET_CODE (d_bool_type, BOOLEAN_TYPE); + d_bool_false_node = TYPE_MIN_VALUE (d_bool_type); + d_bool_true_node = TYPE_MAX_VALUE (d_bool_type); + char8_type_node = make_unsigned_type (8); TYPE_STRING_FLAG (char8_type_node) = 1; diff -Nrcpad gcc-13.2.0/gcc/d/d-codegen.cc gcc-13.3.0/gcc/d/d-codegen.cc *** gcc-13.2.0/gcc/d/d-codegen.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/d-codegen.cc Tue May 21 07:47:38 2024 *************** lower_struct_comparison (tree_code code, *** 1006,1011 **** --- 1006,1012 ---- if (tmode == NULL_TREE) tmode = make_unsigned_type (GET_MODE_BITSIZE (mode.require ())); + tmode = build_aligned_type (tmode, TYPE_ALIGN (stype)); t1ref = build_vconvert (tmode, t1ref); t2ref = build_vconvert (tmode, t2ref); *************** build_array_struct_comparison (tree_code *** 1115,1121 **** if (length == 0 || result OP 0) break; */ t = build_boolop (EQ_EXPR, length, d_convert (lentype, integer_zero_node)); t = build_boolop (TRUTH_ORIF_EXPR, t, build_boolop (code, result, ! boolean_false_node)); t = build1 (EXIT_EXPR, void_type_node, t); add_stmt (t); --- 1116,1122 ---- if (length == 0 || result OP 0) break; */ t = build_boolop (EQ_EXPR, length, d_convert (lentype, integer_zero_node)); t = build_boolop (TRUTH_ORIF_EXPR, t, build_boolop (code, result, ! d_bool_false_node)); t = build1 (EXIT_EXPR, void_type_node, t); add_stmt (t); *************** d_build_call (TypeFunction *tf, tree cal *** 2188,2201 **** for (size_t i = 0; i < arguments->length; ++i) { Expression *arg = (*arguments)[i]; ! tree targ = build_expr (arg); if (i - varargs < nparams && i >= varargs) { /* Actual arguments for declared formal arguments. */ Parameter *parg = tf->parameterList[i - varargs]; ! targ = convert_for_argument (targ, parg); } /* Don't pass empty aggregates by value. */ if (empty_aggregate_p (TREE_TYPE (targ)) && !TREE_ADDRESSABLE (targ) --- 2189,2204 ---- for (size_t i = 0; i < arguments->length; ++i) { Expression *arg = (*arguments)[i]; ! tree targ; if (i - varargs < nparams && i >= varargs) { /* Actual arguments for declared formal arguments. */ Parameter *parg = tf->parameterList[i - varargs]; ! targ = convert_for_argument (arg, parg); } + else + targ = build_expr (arg); /* Don't pass empty aggregates by value. */ if (empty_aggregate_p (TREE_TYPE (targ)) && !TREE_ADDRESSABLE (targ) *************** d_build_call (TypeFunction *tf, tree cal *** 2211,2220 **** Type *t = arg->type->toBasetype (); StructDeclaration *sd = t->baseElemOf ()->isTypeStruct ()->sym; ! /* Nested structs also have ADDRESSABLE set, but if the type has ! neither a copy constructor nor a destructor available, then we ! need to take care of copying its value before passing it. */ ! if (arg->op == EXP::structLiteral || (!sd->postblit && !sd->dtor)) targ = force_target_expr (targ); targ = convert (build_reference_type (TREE_TYPE (targ)), --- 2214,2230 ---- Type *t = arg->type->toBasetype (); StructDeclaration *sd = t->baseElemOf ()->isTypeStruct ()->sym; ! /* Need to take care of copying its value before passing the ! argument in the following scenarios: ! - The argument is a literal expression; a CONSTRUCTOR can't ! have its address taken. ! - The type has neither a copy constructor nor a destructor ! available; nested structs also have ADDRESSABLE set. ! - The ABI of the function expects the callee to destroy its ! arguments; when the caller is handles destruction, then `targ' ! has already been made into a temporary. */ ! if (arg->op == EXP::structLiteral || (!sd->postblit && !sd->dtor) ! || target.isCalleeDestroyingArgs (tf)) targ = force_target_expr (targ); targ = convert (build_reference_type (TREE_TYPE (targ)), diff -Nrcpad gcc-13.2.0/gcc/d/d-convert.cc gcc-13.3.0/gcc/d/d-convert.cc *** gcc-13.2.0/gcc/d/d-convert.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/d-convert.cc Tue May 21 07:47:38 2024 *************** d_truthvalue_conversion (tree expr) *** 132,144 **** return expr; case INTEGER_CST: ! return integer_zerop (expr) ? boolean_false_node ! : boolean_true_node; case REAL_CST: return real_compare (NE_EXPR, &TREE_REAL_CST (expr), &dconst0) ! ? boolean_true_node ! : boolean_false_node; case ADDR_EXPR: /* If we are taking the address of a decl that can never be null, --- 132,144 ---- return expr; case INTEGER_CST: ! return integer_zerop (expr) ? d_bool_false_node ! : d_bool_true_node; case REAL_CST: return real_compare (NE_EXPR, &TREE_REAL_CST (expr), &dconst0) ! ? d_bool_true_node ! : d_bool_false_node; case ADDR_EXPR: /* If we are taking the address of a decl that can never be null, *************** d_truthvalue_conversion (tree expr) *** 148,154 **** warning (OPT_Waddress, "the address of %qD will always evaluate as %", TREE_OPERAND (expr, 0)); ! return boolean_true_node; } break; --- 148,154 ---- warning (OPT_Waddress, "the address of %qD will always evaluate as %", TREE_OPERAND (expr, 0)); ! return d_bool_true_node; } break; *************** convert_for_rvalue (tree expr, Type *ety *** 695,710 **** return result ? result : convert_expr (expr, etype, totype); } /* Apply semantics of assignment to a value of type TOTYPE to EXPR ! (e.g., pointer = array -> pointer = &array[0]) Return a TREE representation of EXPR implicitly converted to TOTYPE for use in assignment expressions MODIFY_EXPR, INIT_EXPR. */ tree ! convert_for_assignment (tree expr, Type *etype, Type *totype) { ! Type *ebtype = etype->toBasetype (); Type *tbtype = totype->toBasetype (); /* Assuming this only has to handle converting a non Tsarray type to --- 695,780 ---- return result ? result : convert_expr (expr, etype, totype); } + /* Helper for convert_for_assigment and convert_for_argument. + Returns true if EXPR is a va_list static array parameter. */ + + static bool + is_valist_parameter_type (Expression *expr) + { + Declaration *decl = NULL; + + if (VarExp *ve = expr->isVarExp ()) + decl = ve->var; + else if (SymOffExp *se = expr->isSymOffExp ()) + decl = se->var; + + if (decl != NULL && decl->isParameter () && valist_array_p (decl->type)) + return true; + + return false; + } + + /* Helper for convert_for_assigment and convert_for_argument. + Report erroneous uses of assigning or passing a va_list parameter. */ + + static void + check_valist_conversion (Expression *expr, Type *totype, bool in_assignment) + { + /* Parameter symbol and its converted type. */ + Declaration *decl = NULL; + /* Type of parameter when evaluated in the expression. */ + Type *type = NULL; + + if (VarExp *ve = expr->isVarExp ()) + { + decl = ve->var; + type = ve->var->type->nextOf ()->pointerTo (); + } + else if (SymOffExp *se = expr->isSymOffExp ()) + { + decl = se->var; + type = se->var->type->nextOf ()->pointerTo ()->pointerTo (); + } + + /* Should not be called unless is_valist_parameter_type also matched. */ + gcc_assert (decl != NULL && decl->isParameter () + && valist_array_p (decl->type)); + + /* OK if conversion between types is allowed. */ + if (type->implicitConvTo (totype) != MATCH::nomatch) + return; + + if (in_assignment) + { + error_at (make_location_t (expr->loc), "cannot convert parameter %qs " + "from type %qs to type %qs in assignment", + expr->toChars(), type->toChars (), totype->toChars ()); + } + else + { + error_at (make_location_t (expr->loc), "cannot convert parameter %qs " + "from type %qs to type %qs in argument passing", + expr->toChars(), type->toChars (), totype->toChars ()); + } + + inform (make_location_t (decl->loc), "parameters of type % " + "{aka %qs} are decayed to pointer types, and require % " + "to be converted back into a static array type", + decl->type->toChars ()); + } + /* Apply semantics of assignment to a value of type TOTYPE to EXPR ! For example: `pointer = array' gets lowered to `pointer = &array[0]'. ! If LITERALP is true, then EXPR is a value used in the initialization ! of another literal. Return a TREE representation of EXPR implicitly converted to TOTYPE for use in assignment expressions MODIFY_EXPR, INIT_EXPR. */ tree ! convert_for_assignment (Expression *expr, Type *totype, bool literalp) { ! Type *ebtype = expr->type->toBasetype (); Type *tbtype = totype->toBasetype (); /* Assuming this only has to handle converting a non Tsarray type to *************** convert_for_assignment (tree expr, Type *** 724,731 **** vec *ce = NULL; tree index = build2 (RANGE_EXPR, build_ctype (Type::tsize_t), size_zero_node, size_int (count - 1)); ! tree value = convert_for_assignment (expr, etype, sa_type->next); ! /* Can't use VAR_DECLs in CONSTRUCTORS. */ if (VAR_P (value)) { --- 794,801 ---- vec *ce = NULL; tree index = build2 (RANGE_EXPR, build_ctype (Type::tsize_t), size_zero_node, size_int (count - 1)); ! tree value = convert_for_assignment (expr, sa_type->next, ! literalp); /* Can't use VAR_DECLs in CONSTRUCTORS. */ if (VAR_P (value)) { *************** convert_for_assignment (tree expr, Type *** 746,783 **** if ((tbtype->ty == TY::Tsarray || tbtype->ty == TY::Tstruct) && ebtype->isintegral ()) { ! if (!integer_zerop (expr)) ! gcc_unreachable (); ! ! return expr; } ! return convert_for_rvalue (expr, etype, totype); } /* Return a TREE representation of EXPR converted to represent the parameter type ARG. */ tree ! convert_for_argument (tree expr, Parameter *arg) { /* Lazy arguments: expr should already be a delegate. */ if (arg->storageClass & STClazy) ! return expr; if (valist_array_p (arg->type)) { ! /* Do nothing if the va_list has already been decayed to a pointer. */ ! if (!POINTER_TYPE_P (TREE_TYPE (expr))) ! return build_address (expr); ! } ! else if (parameter_reference_p (arg)) ! { ! /* Front-end shouldn't automatically take the address. */ ! return convert (parameter_type (arg), build_address (expr)); } ! return expr; } /* Perform default promotions for data used in expressions. --- 816,868 ---- if ((tbtype->ty == TY::Tsarray || tbtype->ty == TY::Tstruct) && ebtype->isintegral ()) { ! tree ret = build_expr (expr, false, literalp); ! gcc_assert (integer_zerop (ret)); ! return ret; } ! /* Assigning a va_list by value or reference, check whether RHS is a parameter ! that has has been lowered by declaration_type or parameter_type. */ ! if (is_valist_parameter_type (expr)) ! check_valist_conversion (expr, totype, true); ! ! return convert_for_rvalue (build_expr (expr, false, literalp), ! expr->type, totype); } /* Return a TREE representation of EXPR converted to represent the parameter type ARG. */ tree ! convert_for_argument (Expression *expr, Parameter *arg) { + tree targ = build_expr (expr); + /* Lazy arguments: expr should already be a delegate. */ if (arg->storageClass & STClazy) ! return targ; + /* Passing a va_list by value, check whether the target requires it to + be decayed to a pointer type. */ if (valist_array_p (arg->type)) { ! if (!POINTER_TYPE_P (TREE_TYPE (targ))) ! return build_address (targ); ! ! /* Do nothing if the va_list has already been converted. */ ! return targ; } ! /* Passing a va_list by reference, check if types are really compatible ! after conversion from static array to pointer type. */ ! if (is_valist_parameter_type (expr)) ! check_valist_conversion (expr, arg->type, false); ! ! /* Front-end shouldn't automatically take the address of `ref' parameters. */ ! if (parameter_reference_p (arg)) ! return convert (parameter_type (arg), build_address (targ)); ! ! return targ; } /* Perform default promotions for data used in expressions. diff -Nrcpad gcc-13.2.0/gcc/d/d-target.cc gcc-13.3.0/gcc/d/d-target.cc *** gcc-13.2.0/gcc/d/d-target.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/d-target.cc Tue May 21 07:47:38 2024 *************** Target::supportsLinkerDirective (void) c *** 575,605 **** } /* Decides whether an `in' parameter of the specified POD type PARAM_TYPE is to ! be passed by reference or by valie. This is used only when compiling with `-fpreview=in' enabled. */ bool Target::preferPassByRef (Type *param_type) { ! if (param_type->size () == SIZE_INVALID) return false; ! tree type = build_ctype (param_type); ! ! /* Prefer a `ref' if the type is an aggregate, and its size is greater than ! its alignment. */ ! if (AGGREGATE_TYPE_P (type) ! && (!valid_constant_size_p (TYPE_SIZE_UNIT (type)) ! || compare_tree_int (TYPE_SIZE_UNIT (type), TYPE_ALIGN (type)) > 0)) ! return true; ! ! /* If the back-end is always going to pass this by invisible reference. */ ! if (pass_by_reference (NULL, function_arg_info (type, true))) ! return true; ! ! /* If returning the parameter means the caller will do RVO. */ ! if (targetm.calls.return_in_memory (type, NULL_TREE)) ! return true; ! ! return false; } --- 575,590 ---- } /* Decides whether an `in' parameter of the specified POD type PARAM_TYPE is to ! be passed by reference or by value. This is used only when compiling with `-fpreview=in' enabled. */ bool Target::preferPassByRef (Type *param_type) { ! /* See note in Target::isReturnOnStack. */ ! Type *tb = param_type->toBasetype (); ! if (tb->size () == SIZE_INVALID) return false; ! return (tb->ty == TY::Tstruct || tb->ty == TY::Tsarray); } diff -Nrcpad gcc-13.2.0/gcc/d/d-tree.h gcc-13.3.0/gcc/d/d-tree.h *** gcc-13.2.0/gcc/d/d-tree.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/d-tree.h Tue May 21 07:47:38 2024 *************** enum d_tree_index *** 438,443 **** --- 438,446 ---- DTI_NULL_ARRAY, DTI_BOTTOM_TYPE, + DTI_BOOL_FALSE, + DTI_BOOL_TRUE, + DTI_MAX }; *************** extern GTY(()) tree d_global_trees[DTI_M *** 474,479 **** --- 477,485 ---- #define null_array_node d_global_trees[DTI_NULL_ARRAY] /* The bottom type, referred to as `noreturn` in code. */ #define noreturn_type_node d_global_trees[DTI_BOTTOM_TYPE] + /* D boolean values are always byte-sized, unlike boolean_type_node. */ + #define d_bool_false_node d_global_trees[DTI_BOOL_FALSE] + #define d_bool_true_node d_global_trees[DTI_BOOL_TRUE] /* A prefix for internal variables, which are not user-visible. */ #if !defined (NO_DOT_IN_LABEL) *************** extern tree d_truthvalue_conversion (tre *** 612,619 **** extern tree d_convert (tree, tree); extern tree convert_expr (tree, Type *, Type *); extern tree convert_for_rvalue (tree, Type *, Type *); ! extern tree convert_for_assignment (tree, Type *, Type *); ! extern tree convert_for_argument (tree, Parameter *); extern tree convert_for_condition (tree, Type *); extern tree d_array_convert (Expression *); extern tree d_array_convert (Type *, Expression *); --- 618,625 ---- extern tree d_convert (tree, tree); extern tree convert_expr (tree, Type *, Type *); extern tree convert_for_rvalue (tree, Type *, Type *); ! extern tree convert_for_assignment (Expression *, Type *, bool = false); ! extern tree convert_for_argument (Expression *, Parameter *); extern tree convert_for_condition (tree, Type *); extern tree d_array_convert (Expression *); extern tree d_array_convert (Type *, Expression *); diff -Nrcpad gcc-13.2.0/gcc/d/decl.cc gcc-13.3.0/gcc/d/decl.cc *** gcc-13.2.0/gcc/d/decl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/decl.cc Tue May 21 07:47:38 2024 *************** public: *** 860,869 **** /* Maybe put variable on list of things needing destruction. */ if (d->needsScopeDtor ()) { vec_safe_push (d_function_chain->vars_in_scope, decl); /* Force a TARGET_EXPR to add the corresponding cleanup. */ ! exp = force_target_expr (compound_expr (exp, decl)); ! TARGET_EXPR_CLEANUP (exp) = build_expr (d->edtor); } add_stmt (exp); --- 860,887 ---- /* Maybe put variable on list of things needing destruction. */ if (d->needsScopeDtor ()) { + /* Rewrite: `decl = exp' => TARGET_EXPR(decl, exp, dtor). */ vec_safe_push (d_function_chain->vars_in_scope, decl); + /* Force a TARGET_EXPR to add the corresponding cleanup. */ ! if (TREE_CODE (exp) != TARGET_EXPR) ! { ! if (VOID_TYPE_P (TREE_TYPE (exp))) ! exp = compound_expr (exp, decl); ! ! exp = force_target_expr (exp); ! } ! ! TARGET_EXPR_CLEANUP (exp) ! = compound_expr (TARGET_EXPR_CLEANUP (exp), ! build_expr (d->edtor)); ! ! /* The decl is really an alias for the TARGET_EXPR slot. */ ! SET_DECL_VALUE_EXPR (decl, TARGET_EXPR_SLOT (exp)); ! DECL_HAS_VALUE_EXPR_P (decl) = 1; ! /* This tells the gimplifier not to emit a clobber for the decl ! as its lifetime ends when the slot gets cleaned up. */ ! TREE_ADDRESSABLE (decl) = 0; } add_stmt (exp); diff -Nrcpad gcc-13.2.0/gcc/d/expr.cc gcc-13.3.0/gcc/d/expr.cc *** gcc-13.2.0/gcc/d/expr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/expr.cc Tue May 21 07:47:38 2024 *************** public: *** 1028,1035 **** Declaration *decl = e->e1->isVarExp ()->var; if (decl->storage_class & (STCout | STCref)) { ! tree t2 = convert_for_assignment (build_expr (e->e2), ! e->e2->type, e->e1->type); tree t1 = build_expr (e->e1); /* Want reference to lhs, not indirect ref. */ t1 = TREE_OPERAND (t1, 0); --- 1028,1034 ---- Declaration *decl = e->e1->isVarExp ()->var; if (decl->storage_class & (STCout | STCref)) { ! tree t2 = convert_for_assignment (e->e2, e->e1->type); tree t1 = build_expr (e->e1); /* Want reference to lhs, not indirect ref. */ t1 = TREE_OPERAND (t1, 0); *************** public: *** 1049,1056 **** if (tb1->ty == TY::Tstruct) { tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (build_expr (e->e2, false, true), ! e->e2->type, e->e1->type); StructDeclaration *sd = tb1->isTypeStruct ()->sym; /* Look for struct = 0. */ --- 1048,1054 ---- if (tb1->ty == TY::Tstruct) { tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (e->e2, e->e1->type, true); StructDeclaration *sd = tb1->isTypeStruct ()->sym; /* Look for struct = 0. */ *************** public: *** 1129,1136 **** || (e->op == EXP::blit || e->e1->type->size () == 0)) { tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (build_expr (e->e2), ! e->e2->type, e->e1->type); this->result_ = build_assign (modifycode, t1, t2); return; --- 1127,1133 ---- || (e->op == EXP::blit || e->e1->type->size () == 0)) { tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (e->e2, e->e1->type); this->result_ = build_assign (modifycode, t1, t2); return; *************** public: *** 1144,1151 **** /* Simple assignment. */ tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (build_expr (e->e2), ! e->e2->type, e->e1->type); this->result_ = build_assign (modifycode, t1, t2); } --- 1141,1147 ---- /* Simple assignment. */ tree t1 = build_expr (e->e1); ! tree t2 = convert_for_assignment (e->e2, e->e1->type); this->result_ = build_assign (modifycode, t1, t2); } diff -Nrcpad gcc-13.2.0/gcc/d/modules.cc gcc-13.3.0/gcc/d/modules.cc *** gcc-13.2.0/gcc/d/modules.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/modules.cc Tue May 21 07:47:38 2024 *************** static tree *** 329,335 **** build_dso_cdtor_fn (bool ctor_p) { const char *name = ctor_p ? GDC_PREFIX ("dso_ctor") : GDC_PREFIX ("dso_dtor"); ! tree condition = ctor_p ? boolean_true_node : boolean_false_node; /* Declaration of dso_ctor/dso_dtor is: --- 329,335 ---- build_dso_cdtor_fn (bool ctor_p) { const char *name = ctor_p ? GDC_PREFIX ("dso_ctor") : GDC_PREFIX ("dso_dtor"); ! tree condition = ctor_p ? d_bool_true_node : d_bool_false_node; /* Declaration of dso_ctor/dso_dtor is: *************** register_moduleinfo (Module *decl, tree *** 452,458 **** d_finish_decl (dso_slot_node); dso_initialized_node = build_dso_registry_var (GDC_PREFIX ("dso_initialized"), ! boolean_type_node); d_finish_decl (dso_initialized_node); /* Declare dso_ctor() and dso_dtor(). */ --- 452,458 ---- d_finish_decl (dso_slot_node); dso_initialized_node = build_dso_registry_var (GDC_PREFIX ("dso_initialized"), ! d_bool_type); d_finish_decl (dso_initialized_node); /* Declare dso_ctor() and dso_dtor(). */ diff -Nrcpad gcc-13.2.0/gcc/d/types.cc gcc-13.3.0/gcc/d/types.cc *** gcc-13.2.0/gcc/d/types.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/d/types.cc Tue May 21 07:47:38 2024 *************** public: *** 1230,1235 **** --- 1230,1240 ---- apply_user_attributes (t->sym, t->ctype); finish_aggregate_type (structsize, alignsize, t->ctype); } + else + { + build_type_decl (t->ctype, t->sym); + apply_user_attributes (t->sym, t->ctype); + } /* For structs with a user defined postblit, copy constructor, or a destructor, also set TREE_ADDRESSABLE on the type and all variants. diff -Nrcpad gcc-13.2.0/gcc/diagnostic.cc gcc-13.3.0/gcc/diagnostic.cc *** gcc-13.2.0/gcc/diagnostic.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/diagnostic.cc Tue May 21 07:47:38 2024 *************** internal_error_no_backtrace (const char *** 2175,2180 **** --- 2175,2183 ---- gcc_unreachable (); } + + static enum diagnostics_output_format output_format; + /* Special case error functions. Most are implemented in terms of the above, or should be. */ *************** internal_error_no_backtrace (const char *** 2183,2188 **** --- 2186,2210 ---- void fnotice (FILE *file, const char *cmsgid, ...) { + /* If the user requested one of the machine-readable diagnostic output + formats on stderr (e.g. -fdiagnostics-format=sarif-stderr), then + emitting free-form text on stderr will lead to corrupt output. + Skip the message for such cases. */ + if (file == stderr && global_dc) + switch (output_format) + { + default: + gcc_unreachable (); + case DIAGNOSTICS_OUTPUT_FORMAT_TEXT: + case DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE: + case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE: + break; + case DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR: + case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR: + /* stderr is meant to machine-readable; skip. */ + return; + } + va_list ap; va_start (ap, cmsgid); *************** diagnostic_output_format_init (diagnosti *** 2290,2295 **** --- 2312,2319 ---- const char *base_file_name, enum diagnostics_output_format format) { + output_format = format; + switch (format) { default: diff -Nrcpad gcc-13.2.0/gcc/doc/avr-mmcu.texi gcc-13.3.0/gcc/doc/avr-mmcu.texi *** gcc-13.2.0/gcc/doc/avr-mmcu.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/avr-mmcu.texi Tue May 21 07:47:38 2024 *************** *** 34,44 **** @item avr4 ``Enhanced'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{atmega8515}, @code{atmega8535}, @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. @item avr5 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega324pb}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{ata5795}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata6613c}, @code{ata6614q}, @code{ata5782}, @code{ata5831}, @code{ata8210}, @code{ata8510}, @code{ata5702m322}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90can32}, @code{at90can64}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. @item avr51 ``Enhanced'' devices with 128@tie{}KiB of program memory. --- 34,44 ---- @item avr4 ``Enhanced'' devices with up to 8@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{atmega8515}, @code{atmega8535}, @code{ata5795}, @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. @item avr5 ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega324pb}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata6613c}, @code{ata6614q}, @code{ata5782}, @code{ata5831}, @code{ata8210}, @code{ata8510}, @code{ata5787}, @code{ata5835}, @code{ata5700m322}, @code{ata5702m322}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90can32}, @code{at90can64}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. @item avr51 ``Enhanced'' devices with 128@tie{}KiB of program memory. *************** *** 50,60 **** @item avrxmega2 ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atxmega8e5}, @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}, @code{avr64da28}, @code{avr64da32}, @code{avr64da48}, @code{avr64da64}, @code{avr64db28}, @code{avr64db32}, @code{avr64db48}, @code{avr64db64}. @item avrxmega3 ``XMEGA'' devices with up to 64@tie{}KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! @*@var{mcu}@tie{}= @code{attiny202}, @code{attiny204}, @code{attiny212}, @code{attiny214}, @code{attiny402}, @code{attiny404}, @code{attiny406}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny417}, @code{attiny804}, @code{attiny806}, @code{attiny807}, @code{attiny814}, @code{attiny816}, @code{attiny817}, @code{attiny1604}, @code{attiny1606}, @code{attiny1607}, @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{atmega808}, @code{atmega809}, @code{atmega1608}, @code{atmega1609}, @code{atmega3208}, @code{atmega3209}, @code{atmega4808}, @code{atmega4809}, @code{avr32da28}, @code{avr32da32}, @code{avr32da48}, @code{avr32db28}, @code{avr32db32}, @code{avr32db48}. @item avrxmega4 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of program memory. --- 50,60 ---- @item avrxmega2 ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{atxmega8e5}, @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}, @code{avr64da28}, @code{avr64da32}, @code{avr64da48}, @code{avr64da64}, @code{avr64db28}, @code{avr64db32}, @code{avr64db48}, @code{avr64db64}, @code{avr64dd14}, @code{avr64dd20}, @code{avr64dd28}, @code{avr64dd32}, @code{avr64du28}, @code{avr64du32}, @code{avr64ea28}, @code{avr64ea32}, @code{avr64ea48}. @item avrxmega3 ``XMEGA'' devices with up to 64@tie{}KiB of combined program memory and RAM, and with program memory visible in the RAM address space. ! @*@var{mcu}@tie{}= @code{attiny202}, @code{attiny204}, @code{attiny212}, @code{attiny214}, @code{attiny402}, @code{attiny404}, @code{attiny406}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny416auto}, @code{attiny417}, @code{attiny424}, @code{attiny426}, @code{attiny427}, @code{attiny804}, @code{attiny806}, @code{attiny807}, @code{attiny814}, @code{attiny816}, @code{attiny817}, @code{attiny824}, @code{attiny826}, @code{attiny827}, @code{attiny1604}, @code{attiny1606}, @code{attiny1607}, @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny1624}, @code{attiny1626}, @code{attiny1627}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{attiny3224}, @code{attiny3226}, @code{attiny3227}, @code{atmega808}, @code{atmega809}, @code{atmega1608}, @code{atmega1609}, @code{atmega3208}, @code{atmega3209}, @code{atmega4808}, @code{atmega4809}, @code{avr16dd14}, @code{avr16dd20}, @code{avr16dd28}, @code{avr16dd32}, @code{avr16du14}, @code{avr16du20}, @code{avr16du28}, @code{avr16du32}, @code{avr16ea28}, @code{avr16ea32}, @code{avr16ea48}, @code{avr16eb14}, @code{avr16eb20}, @code{avr16eb28}, @code{avr16eb32}, @code{avr32da28}, @code{avr32da32}, @code{avr32da48}, @code{avr32db28}, @code{avr32db32}, @code{avr32db48}, @code{avr32dd14}, @code{avr32dd20}, @code{avr32dd28}, @code{avr32dd32}, @code{avr32du14}, @code{avr32du20}, @code{avr32du28}, @code{avr32du32}, @code{avr32ea28}, @code{avr32ea32}, @code{avr32ea48}. @item avrxmega4 ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of program memory. *************** *** 74,80 **** @item avrtiny ``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny4}, @code{attiny5}, @code{attiny9}, @code{attiny10}, @code{attiny20}, @code{attiny40}. @item avr1 This ISA is implemented by the minimal AVR core and supported for assembler only. --- 74,80 ---- @item avrtiny ``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. ! @*@var{mcu}@tie{}= @code{attiny4}, @code{attiny5}, @code{attiny9}, @code{attiny10}, @code{attiny102}, @code{attiny104}, @code{attiny20}, @code{attiny40}. @item avr1 This ISA is implemented by the minimal AVR core and supported for assembler only. diff -Nrcpad gcc-13.2.0/gcc/doc/cpp.1 gcc-13.3.0/gcc/doc/cpp.1 *** gcc-13.2.0/gcc/doc/cpp.1 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/cpp.1 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/extend.texi gcc-13.3.0/gcc/doc/extend.texi *** gcc-13.2.0/gcc/doc/extend.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/extend.texi Tue May 21 07:47:38 2024 *************** infinities, NaNs and negative zeros are *** 1076,1082 **** ISO/IEC TS 18661-3:2015 defines C support for additional floating types @code{_Float@var{n}} and @code{_Float@var{n}x}, and GCC supports these type names; the set of types supported depends on the target ! architecture. These types are not supported when compiling C++. Constants with these types use suffixes @code{f@var{n}} or @code{F@var{n}} and @code{f@var{n}x} or @code{F@var{n}x}. These type names can be used together with @code{_Complex} to declare complex --- 1076,1082 ---- ISO/IEC TS 18661-3:2015 defines C support for additional floating types @code{_Float@var{n}} and @code{_Float@var{n}x}, and GCC supports these type names; the set of types supported depends on the target ! architecture. Constants with these types use suffixes @code{f@var{n}} or @code{F@var{n}} and @code{f@var{n}x} or @code{F@var{n}x}. These type names can be used together with @code{_Complex} to declare complex *************** variables to be protected. The list is *** 12308,12319 **** empty. GCC interprets an empty list as meaning that all globally accessible variables should be protected. ! @defbuiltin{@var{type} __sync_fetch_and_add (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_sub (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_or (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_and (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_xor (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_nand (@var{type} *ptr, @var{type} value, ...)} These built-in functions perform the operation suggested by the name, and returns the value that had previously been in memory. That is, operations on integer operands have the following semantics. Operations on pointer --- 12308,12319 ---- empty. GCC interprets an empty list as meaning that all globally accessible variables should be protected. ! @defbuiltin{@var{type} __sync_fetch_and_add (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_sub (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_or (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_and (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_xor (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_fetch_and_nand (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} These built-in functions perform the operation suggested by the name, and returns the value that had previously been in memory. That is, operations on integer operands have the following semantics. Operations on pointer *************** type. It must not be a boolean type. *** 12333,12345 **** as @code{*ptr = ~(tmp & value)} instead of @code{*ptr = ~tmp & value}. @enddefbuiltin ! @defbuiltin{@var{type} __sync_add_and_fetch (@var{type} *ptr, @ ! @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_sub_and_fetch (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_or_and_fetch (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_and_and_fetch (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_xor_and_fetch (@var{type} *ptr, @var{type} value, ...)} ! @defbuiltinx{@var{type} __sync_nand_and_fetch (@var{type} *ptr, @var{type} value, ...)} These built-in functions perform the operation suggested by the name, and return the new value. That is, operations on integer operands have the following semantics. Operations on pointer operands are performed as --- 12333,12345 ---- as @code{*ptr = ~(tmp & value)} instead of @code{*ptr = ~tmp & value}. @enddefbuiltin ! @defbuiltin{@var{type} __sync_add_and_fetch (@var{type} *@var{ptr}, @ ! @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_sub_and_fetch (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_or_and_fetch (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_and_and_fetch (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_xor_and_fetch (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} ! @defbuiltinx{@var{type} __sync_nand_and_fetch (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} These built-in functions perform the operation suggested by the name, and return the new value. That is, operations on integer operands have the following semantics. Operations on pointer operands are performed as *************** as @code{*ptr = ~(*ptr & value)} instead *** 12358,12365 **** @code{*ptr = ~*ptr & value}. @enddefbuiltin ! @defbuiltin{bool __sync_bool_compare_and_swap (@var{type} *ptr, @var{type} oldval, @var{type} newval, ...)} ! @defbuiltinx{@var{type} __sync_val_compare_and_swap (@var{type} *ptr, @var{type} oldval, @var{type} newval, ...)} These built-in functions perform an atomic compare and swap. That is, if the current value of @code{*@var{ptr}} is @var{oldval}, then write @var{newval} into --- 12358,12365 ---- @code{*ptr = ~*ptr & value}. @enddefbuiltin ! @defbuiltin{bool __sync_bool_compare_and_swap (@var{type} *@var{ptr}, @var{type} @var{oldval}, @var{type} @var{newval}, ...)} ! @defbuiltinx{@var{type} __sync_val_compare_and_swap (@var{type} *@var{ptr}, @var{type} @var{oldval}, @var{type} @var{newval}, ...)} These built-in functions perform an atomic compare and swap. That is, if the current value of @code{*@var{ptr}} is @var{oldval}, then write @var{newval} into *************** of @code{*@var{ptr}} before the operatio *** 12374,12380 **** This built-in function issues a full memory barrier. @enddefbuiltin ! @defbuiltin{@var{type} __sync_lock_test_and_set (@var{type} *ptr, @var{type} value, ...)} This built-in function, as described by Intel, is not a traditional test-and-set operation, but rather an atomic exchange operation. It writes @var{value} into @code{*@var{ptr}}, and returns the previous contents of --- 12374,12380 ---- This built-in function issues a full memory barrier. @enddefbuiltin ! @defbuiltin{@var{type} __sync_lock_test_and_set (@var{type} *@var{ptr}, @var{type} @var{value}, ...)} This built-in function, as described by Intel, is not a traditional test-and-set operation, but rather an atomic exchange operation. It writes @var{value} into @code{*@var{ptr}}, and returns the previous contents of *************** be globally visible yet, and previous me *** 12394,12400 **** satisfied. @enddefbuiltin ! @defbuiltin{void __sync_lock_release (@var{type} *ptr, ...)} This built-in function releases the lock acquired by @code{__sync_lock_test_and_set}. Normally this means writing the constant 0 to @code{*@var{ptr}}. --- 12394,12400 ---- satisfied. @enddefbuiltin ! @defbuiltin{void __sync_lock_release (@var{type} *@var{ptr}, ...)} This built-in function releases the lock acquired by @code{__sync_lock_test_and_set}. Normally this means writing the constant 0 to @code{*@var{ptr}}. *************** reserved for the memory order. The rema *** 12511,12517 **** for target use and should be 0. Use of the predefined atomic values ensures proper usage. ! @defbuiltin{@var{type} __atomic_load_n (@var{type} *ptr, int memorder)} This built-in function implements an atomic load operation. It returns the contents of @code{*@var{ptr}}. --- 12511,12517 ---- for target use and should be 0. Use of the predefined atomic values ensures proper usage. ! @defbuiltin{@var{type} __atomic_load_n (@var{type} *@var{ptr}, int @var{memorder})} This built-in function implements an atomic load operation. It returns the contents of @code{*@var{ptr}}. *************** and @code{__ATOMIC_CONSUME}. *** 12521,12533 **** @enddefbuiltin ! @defbuiltin{void __atomic_load (@var{type} *ptr, @var{type} *ret, int memorder)} This is the generic version of an atomic load. It returns the contents of @code{*@var{ptr}} in @code{*@var{ret}}. @enddefbuiltin ! @defbuiltin{void __atomic_store_n (@var{type} *ptr, @var{type} val, int memorder)} This built-in function implements an atomic store operation. It writes @code{@var{val}} into @code{*@var{ptr}}. --- 12521,12533 ---- @enddefbuiltin ! @defbuiltin{void __atomic_load (@var{type} *@var{ptr}, @var{type} *@var{ret}, int @var{memorder})} This is the generic version of an atomic load. It returns the contents of @code{*@var{ptr}} in @code{*@var{ret}}. @enddefbuiltin ! @defbuiltin{void __atomic_store_n (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} This built-in function implements an atomic store operation. It writes @code{@var{val}} into @code{*@var{ptr}}. *************** The valid memory order variants are *** 12536,12548 **** @enddefbuiltin ! @defbuiltin{void __atomic_store (@var{type} *ptr, @var{type} *val, int memorder)} This is the generic version of an atomic store. It stores the value of @code{*@var{val}} into @code{*@var{ptr}}. @enddefbuiltin ! @defbuiltin{@var{type} __atomic_exchange_n (@var{type} *ptr, @var{type} val, int memorder)} This built-in function implements an atomic exchange operation. It writes @var{val} into @code{*@var{ptr}}, and returns the previous contents of @code{*@var{ptr}}. --- 12536,12548 ---- @enddefbuiltin ! @defbuiltin{void __atomic_store (@var{type} *@var{ptr}, @var{type} *@var{val}, int @var{memorder})} This is the generic version of an atomic store. It stores the value of @code{*@var{val}} into @code{*@var{ptr}}. @enddefbuiltin ! @defbuiltin{@var{type} __atomic_exchange_n (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} This built-in function implements an atomic exchange operation. It writes @var{val} into @code{*@var{ptr}}, and returns the previous contents of @code{*@var{ptr}}. *************** All memory order variants are valid. *** 12551,12564 **** @enddefbuiltin ! @defbuiltin{void __atomic_exchange (@var{type} *ptr, @var{type} *val, @var{type} *ret, int memorder)} This is the generic version of an atomic exchange. It stores the contents of @code{*@var{val}} into @code{*@var{ptr}}. The original value of @code{*@var{ptr}} is copied into @code{*@var{ret}}. @enddefbuiltin ! @defbuiltin{bool __atomic_compare_exchange_n (@var{type} *ptr, @var{type} *expected, @var{type} desired, bool weak, int success_memorder, int failure_memorder)} This built-in function implements an atomic compare and exchange operation. This compares the contents of @code{*@var{ptr}} with the contents of @code{*@var{expected}}. If equal, the operation is a @emph{read-modify-write} --- 12551,12564 ---- @enddefbuiltin ! @defbuiltin{void __atomic_exchange (@var{type} *@var{ptr}, @var{type} *@var{val}, @var{type} *@var{ret}, int @var{memorder})} This is the generic version of an atomic exchange. It stores the contents of @code{*@var{val}} into @code{*@var{ptr}}. The original value of @code{*@var{ptr}} is copied into @code{*@var{ret}}. @enddefbuiltin ! @defbuiltin{bool __atomic_compare_exchange_n (@var{type} *@var{ptr}, @var{type} *@var{expected}, @var{type} @var{desired}, bool @var{weak}, int @var{success_memorder}, int @var{failure_memorder})} This built-in function implements an atomic compare and exchange operation. This compares the contents of @code{*@var{ptr}} with the contents of @code{*@var{expected}}. If equal, the operation is a @emph{read-modify-write} *************** stronger order than that specified by @v *** 12582,12588 **** @enddefbuiltin ! @defbuiltin{bool __atomic_compare_exchange (@var{type} *ptr, @var{type} *expected, @var{type} *desired, bool weak, int success_memorder, int failure_memorder)} This built-in function implements the generic version of @code{__atomic_compare_exchange}. The function is virtually identical to @code{__atomic_compare_exchange_n}, except the desired value is also a --- 12582,12588 ---- @enddefbuiltin ! @defbuiltin{bool __atomic_compare_exchange (@var{type} *@var{ptr}, @var{type} *@var{expected}, @var{type} *@var{desired}, bool @var{weak}, int @var{success_memorder}, int @var{failure_memorder})} This built-in function implements the generic version of @code{__atomic_compare_exchange}. The function is virtually identical to @code{__atomic_compare_exchange_n}, except the desired value is also a *************** pointer. *** 12590,12601 **** @enddefbuiltin ! @defbuiltin{@var{type} __atomic_add_fetch (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_sub_fetch (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_and_fetch (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_xor_fetch (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_or_fetch (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_nand_fetch (@var{type} *ptr, @var{type} val, int memorder)} These built-in functions perform the operation suggested by the name, and return the result of the operation. Operations on pointer arguments are performed as if the operands were of the @code{uintptr_t} type. That is, --- 12590,12601 ---- @enddefbuiltin ! @defbuiltin{@var{type} __atomic_add_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_sub_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_and_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_xor_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_or_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_nand_fetch (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} These built-in functions perform the operation suggested by the name, and return the result of the operation. Operations on pointer arguments are performed as if the operands were of the @code{uintptr_t} type. That is, *************** type. It must not be a boolean type. A *** 12611,12622 **** @enddefbuiltin ! @defbuiltin{@var{type} __atomic_fetch_add (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_fetch_sub (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_fetch_and (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_fetch_xor (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_fetch_or (@var{type} *ptr, @var{type} val, int memorder)} ! @defbuiltinx{@var{type} __atomic_fetch_nand (@var{type} *ptr, @var{type} val, int memorder)} These built-in functions perform the operation suggested by the name, and return the value that had previously been in @code{*@var{ptr}}. Operations on pointer arguments are performed as if the operands were of --- 12611,12622 ---- @enddefbuiltin ! @defbuiltin{@var{type} __atomic_fetch_add (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_fetch_sub (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_fetch_and (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_fetch_xor (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_fetch_or (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} ! @defbuiltinx{@var{type} __atomic_fetch_nand (@var{type} *@var{ptr}, @var{type} @var{val}, int @var{memorder})} These built-in functions perform the operation suggested by the name, and return the value that had previously been in @code{*@var{ptr}}. Operations on pointer arguments are performed as if the operands were of *************** The same constraints on arguments apply *** 12633,12639 **** @enddefbuiltin ! @defbuiltin{bool __atomic_test_and_set (void *ptr, int memorder)} This built-in function performs an atomic test-and-set operation on the byte at @code{*@var{ptr}}. The byte is set to some implementation --- 12633,12639 ---- @enddefbuiltin ! @defbuiltin{bool __atomic_test_and_set (void *@var{ptr}, int @var{memorder})} This built-in function performs an atomic test-and-set operation on the byte at @code{*@var{ptr}}. The byte is set to some implementation *************** All memory orders are valid. *** 12646,12652 **** @enddefbuiltin ! @defbuiltin{void __atomic_clear (bool *ptr, int memorder)} This built-in function performs an atomic clear operation on @code{*@var{ptr}}. After the operation, @code{*@var{ptr}} contains 0. --- 12646,12652 ---- @enddefbuiltin ! @defbuiltin{void __atomic_clear (bool *@var{ptr}, int @var{memorder})} This built-in function performs an atomic clear operation on @code{*@var{ptr}}. After the operation, @code{*@var{ptr}} contains 0. *************** The valid memory order variants are *** 12661,12667 **** @enddefbuiltin ! @defbuiltin{void __atomic_thread_fence (int memorder)} This built-in function acts as a synchronization fence between threads based on the specified memory order. --- 12661,12667 ---- @enddefbuiltin ! @defbuiltin{void __atomic_thread_fence (int @var{memorder})} This built-in function acts as a synchronization fence between threads based on the specified memory order. *************** All memory orders are valid. *** 12670,12676 **** @enddefbuiltin ! @defbuiltin{void __atomic_signal_fence (int memorder)} This built-in function acts as a synchronization fence between a thread and signal handlers based in the same thread. --- 12670,12676 ---- @enddefbuiltin ! @defbuiltin{void __atomic_signal_fence (int @var{memorder})} This built-in function acts as a synchronization fence between a thread and signal handlers based in the same thread. *************** All memory orders are valid. *** 12679,12685 **** @enddefbuiltin ! @defbuiltin{bool __atomic_always_lock_free (size_t size, void *ptr)} This built-in function returns @code{true} if objects of @var{size} bytes always generate lock-free atomic instructions for the target architecture. --- 12679,12685 ---- @enddefbuiltin ! @defbuiltin{bool __atomic_always_lock_free (size_t @var{size}, void *@var{ptr})} This built-in function returns @code{true} if objects of @var{size} bytes always generate lock-free atomic instructions for the target architecture. *************** if (__atomic_always_lock_free (sizeof (l *** 12696,12702 **** @enddefbuiltin ! @defbuiltin{bool __atomic_is_lock_free (size_t size, void *ptr)} This built-in function returns @code{true} if objects of @var{size} bytes always generate lock-free atomic instructions for the target architecture. If --- 12696,12702 ---- @enddefbuiltin ! @defbuiltin{bool __atomic_is_lock_free (size_t @var{size}, void *@var{ptr})} This built-in function returns @code{true} if objects of @var{size} bytes always generate lock-free atomic instructions for the target architecture. If *************** compiler may also ignore this parameter. *** 12714,12726 **** The following built-in functions allow performing simple arithmetic operations together with checking whether the operations overflowed. ! @defbuiltin{bool __builtin_add_overflow (@var{type1} a, @var{type2} b, @var{type3} *res)} ! @defbuiltinx{bool __builtin_sadd_overflow (int a, int b, int *res)} ! @defbuiltinx{bool __builtin_saddl_overflow (long int a, long int b, long int *res)} ! @defbuiltinx{bool __builtin_saddll_overflow (long long int a, long long int b, long long int *res)} ! @defbuiltinx{bool __builtin_uadd_overflow (unsigned int a, unsigned int b, unsigned int *res)} ! @defbuiltinx{bool __builtin_uaddl_overflow (unsigned long int a, unsigned long int b, unsigned long int *res)} ! @defbuiltinx{bool __builtin_uaddll_overflow (unsigned long long int a, unsigned long long int b, unsigned long long int *res)} These built-in functions promote the first two operands into infinite precision signed type and perform addition on those promoted operands. The result is then --- 12714,12726 ---- The following built-in functions allow performing simple arithmetic operations together with checking whether the operations overflowed. ! @defbuiltin{bool __builtin_add_overflow (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} *@var{res})} ! @defbuiltinx{bool __builtin_sadd_overflow (int @var{a}, int @var{b}, int *@var{res})} ! @defbuiltinx{bool __builtin_saddl_overflow (long int @var{a}, long int @var{b}, long int *@var{res})} ! @defbuiltinx{bool __builtin_saddll_overflow (long long int @var{a}, long long int @var{b}, long long int *@var{res})} ! @defbuiltinx{bool __builtin_uadd_overflow (unsigned int @var{a}, unsigned int @var{b}, unsigned int *@var{res})} ! @defbuiltinx{bool __builtin_uaddl_overflow (unsigned long int @var{a}, unsigned long int @var{b}, unsigned long int *@var{res})} ! @defbuiltinx{bool __builtin_uaddll_overflow (unsigned long long int @var{a}, unsigned long long int @var{b}, unsigned long long int *@var{res})} These built-in functions promote the first two operands into infinite precision signed type and perform addition on those promoted operands. The result is then *************** after addition, conditional jump on carr *** 12740,12752 **** @enddefbuiltin ! @defbuiltin{bool __builtin_sub_overflow (@var{type1} a, @var{type2} b, @var{type3} *res)} ! @defbuiltinx{bool __builtin_ssub_overflow (int a, int b, int *res)} ! @defbuiltinx{bool __builtin_ssubl_overflow (long int a, long int b, long int *res)} ! @defbuiltinx{bool __builtin_ssubll_overflow (long long int a, long long int b, long long int *res)} ! @defbuiltinx{bool __builtin_usub_overflow (unsigned int a, unsigned int b, unsigned int *res)} ! @defbuiltinx{bool __builtin_usubl_overflow (unsigned long int a, unsigned long int b, unsigned long int *res)} ! @defbuiltinx{bool __builtin_usubll_overflow (unsigned long long int a, unsigned long long int b, unsigned long long int *res)} These built-in functions are similar to the add overflow checking built-in functions above, except they perform subtraction, subtract the second argument --- 12740,12752 ---- @enddefbuiltin ! @defbuiltin{bool __builtin_sub_overflow (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} *@var{res})} ! @defbuiltinx{bool __builtin_ssub_overflow (int @var{a}, int @var{b}, int *@var{res})} ! @defbuiltinx{bool __builtin_ssubl_overflow (long int @var{a}, long int @var{b}, long int *@var{res})} ! @defbuiltinx{bool __builtin_ssubll_overflow (long long int @var{a}, long long int @var{b}, long long int *@var{res})} ! @defbuiltinx{bool __builtin_usub_overflow (unsigned int @var{a}, unsigned int @var{b}, unsigned int *@var{res})} ! @defbuiltinx{bool __builtin_usubl_overflow (unsigned long int @var{a}, unsigned long int @var{b}, unsigned long int *@var{res})} ! @defbuiltinx{bool __builtin_usubll_overflow (unsigned long long int @var{a}, unsigned long long int @var{b}, unsigned long long int *@var{res})} These built-in functions are similar to the add overflow checking built-in functions above, except they perform subtraction, subtract the second argument *************** from the first one, instead of addition. *** 12754,12766 **** @enddefbuiltin ! @defbuiltin{bool __builtin_mul_overflow (@var{type1} a, @var{type2} b, @var{type3} *res)} ! @defbuiltinx{bool __builtin_smul_overflow (int a, int b, int *res)} ! @defbuiltinx{bool __builtin_smull_overflow (long int a, long int b, long int *res)} ! @defbuiltinx{bool __builtin_smulll_overflow (long long int a, long long int b, long long int *res)} ! @defbuiltinx{bool __builtin_umul_overflow (unsigned int a, unsigned int b, unsigned int *res)} ! @defbuiltinx{bool __builtin_umull_overflow (unsigned long int a, unsigned long int b, unsigned long int *res)} ! @defbuiltinx{bool __builtin_umulll_overflow (unsigned long long int a, unsigned long long int b, unsigned long long int *res)} These built-in functions are similar to the add overflow checking built-in functions above, except they perform multiplication, instead of addition. --- 12754,12766 ---- @enddefbuiltin ! @defbuiltin{bool __builtin_mul_overflow (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} *@var{res})} ! @defbuiltinx{bool __builtin_smul_overflow (int @var{a}, int @var{b}, int *@var{res})} ! @defbuiltinx{bool __builtin_smull_overflow (long int @var{a}, long int @var{b}, long int *@var{res})} ! @defbuiltinx{bool __builtin_smulll_overflow (long long int @var{a}, long long int @var{b}, long long int *@var{res})} ! @defbuiltinx{bool __builtin_umul_overflow (unsigned int @var{a}, unsigned int @var{b}, unsigned int *@var{res})} ! @defbuiltinx{bool __builtin_umull_overflow (unsigned long int @var{a}, unsigned long int @var{b}, unsigned long int *@var{res})} ! @defbuiltinx{bool __builtin_umulll_overflow (unsigned long long int @var{a}, unsigned long long int @var{b}, unsigned long long int *@var{res})} These built-in functions are similar to the add overflow checking built-in functions above, except they perform multiplication, instead of addition. *************** functions above, except they perform mul *** 12770,12778 **** The following built-in functions allow checking if simple arithmetic operation would overflow. ! @defbuiltin{bool __builtin_add_overflow_p (@var{type1} a, @var{type2} b, @var{type3} c)} ! @defbuiltinx{bool __builtin_sub_overflow_p (@var{type1} a, @var{type2} b, @var{type3} c)} ! @defbuiltinx{bool __builtin_mul_overflow_p (@var{type1} a, @var{type2} b, @var{type3} c)} These built-in functions are similar to @code{__builtin_add_overflow}, @code{__builtin_sub_overflow}, or @code{__builtin_mul_overflow}, except that --- 12770,12778 ---- The following built-in functions allow checking if simple arithmetic operation would overflow. ! @defbuiltin{bool __builtin_add_overflow_p (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} @var{c})} ! @defbuiltinx{bool __builtin_sub_overflow_p (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} @var{c})} ! @defbuiltinx{bool __builtin_mul_overflow_p (@var{type1} @var{a}, @var{type2} @var{b}, @var{type3} @var{c})} These built-in functions are similar to @code{__builtin_add_overflow}, @code{__builtin_sub_overflow}, or @code{__builtin_mul_overflow}, except that *************** for all target libcs, but in all cases t *** 13573,13579 **** calls. These built-in functions appear both with and without the @code{__builtin_} prefix. ! @defbuiltin{{void *} __builtin_alloca (size_t size)} The @code{__builtin_alloca} function must be called at block scope. The function allocates an object @var{size} bytes large on the stack of the calling function. The object is aligned on the default stack --- 13573,13579 ---- calls. These built-in functions appear both with and without the @code{__builtin_} prefix. ! @defbuiltin{{void *} __builtin_alloca (size_t @var{size})} The @code{__builtin_alloca} function must be called at block scope. The function allocates an object @var{size} bytes large on the stack of the calling function. The object is aligned on the default stack *************** where GCC provides them as an extension. *** 13613,13619 **** @enddefbuiltin ! @defbuiltin{{void *} __builtin_alloca_with_align (size_t size, size_t alignment)} The @code{__builtin_alloca_with_align} function must be called at block scope. The function allocates an object @var{size} bytes large on the stack of the calling function. The allocated object is aligned on --- 13613,13619 ---- @enddefbuiltin ! @defbuiltin{{void *} __builtin_alloca_with_align (size_t @var{size}, size_t @var{alignment})} The @code{__builtin_alloca_with_align} function must be called at block scope. The function allocates an object @var{size} bytes large on the stack of the calling function. The allocated object is aligned on *************** an extension. @xref{Variable Length}, f *** 13660,13666 **** @enddefbuiltin ! @defbuiltin{{void *} __builtin_alloca_with_align_and_max (size_t size, size_t alignment, size_t max_size)} Similar to @code{__builtin_alloca_with_align} but takes an extra argument specifying an upper bound for @var{size} in case its value cannot be computed at compile time, for use by @option{-fstack-usage}, @option{-Wstack-usage} --- 13660,13666 ---- @enddefbuiltin ! @defbuiltin{{void *} __builtin_alloca_with_align_and_max (size_t @var{size}, size_t @var{alignment}, size_t @var{max_size})} Similar to @code{__builtin_alloca_with_align} but takes an extra argument specifying an upper bound for @var{size} in case its value cannot be computed at compile time, for use by @option{-fstack-usage}, @option{-Wstack-usage} *************** recognized in such contexts. *** 13713,13719 **** @enddefbuiltin ! @defbuiltin{@var{type} __builtin_speculation_safe_value (@var{type} val, @var{type} failval)} This built-in function can be used to help mitigate against unsafe speculative execution. @var{type} may be any integral type or any --- 13713,13719 ---- @enddefbuiltin ! @defbuiltin{@var{type} __builtin_speculation_safe_value (@var{type} @var{val}, @var{type} @var{failval})} This built-in function can be used to help mitigate against unsafe speculative execution. @var{type} may be any integral type or any *************** argument. GCC treats this parameter as *** 14419,14425 **** does not do default promotion from float to double. @enddefbuiltin ! @defbuiltin{double __builtin_nan (const char *str)} This is an implementation of the ISO C99 function @code{nan}. Since ISO C99 defines this function in terms of @code{strtod}, which we --- 14419,14425 ---- does not do default promotion from float to double. @enddefbuiltin ! @defbuiltin{double __builtin_nan (const char *@var{str})} This is an implementation of the ISO C99 function @code{nan}. Since ISO C99 defines this function in terms of @code{strtod}, which we *************** consumed by @code{strtol}, is evaluated *** 14436,14503 **** compile-time constant. @enddefbuiltin ! @defbuiltin{_Decimal32 __builtin_nand32 (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal32}. @enddefbuiltin ! @defbuiltin{_Decimal64 __builtin_nand64 (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal64}. @enddefbuiltin ! @defbuiltin{_Decimal128 __builtin_nand128 (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal128}. @enddefbuiltin ! @defbuiltin{float __builtin_nanf (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{float}. @enddefbuiltin ! @defbuiltin{{long double} __builtin_nanl (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{long double}. @enddefbuiltin ! @defbuiltin{_Float@var{n} __builtin_nanf@var{n} (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{_Float@var{n}}. @enddefbuiltin ! @defbuiltin{_Float@var{n}x __builtin_nanf@var{n}x (const char *str)} Similar to @code{__builtin_nan}, except the return type is @code{_Float@var{n}x}. @enddefbuiltin ! @defbuiltin{double __builtin_nans (const char *str)} Similar to @code{__builtin_nan}, except the significand is forced to be a signaling NaN@. The @code{nans} function is proposed by @uref{https://www.open-std.org/jtc1/sc22/wg14/www/docs/n965.htm,,WG14 N965}. @enddefbuiltin ! @defbuiltin{_Decimal32 __builtin_nansd32 (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal32}. @enddefbuiltin ! @defbuiltin{_Decimal64 __builtin_nansd64 (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal64}. @enddefbuiltin ! @defbuiltin{_Decimal128 __builtin_nansd128 (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal128}. @enddefbuiltin ! @defbuiltin{float __builtin_nansf (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{float}. @enddefbuiltin ! @defbuiltin{{long double} __builtin_nansl (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{long double}. @enddefbuiltin ! @defbuiltin{_Float@var{n} __builtin_nansf@var{n} (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{_Float@var{n}}. @enddefbuiltin ! @defbuiltin{_Float@var{n}x __builtin_nansf@var{n}x (const char *str)} Similar to @code{__builtin_nans}, except the return type is @code{_Float@var{n}x}. @enddefbuiltin --- 14436,14503 ---- compile-time constant. @enddefbuiltin ! @defbuiltin{_Decimal32 __builtin_nand32 (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal32}. @enddefbuiltin ! @defbuiltin{_Decimal64 __builtin_nand64 (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal64}. @enddefbuiltin ! @defbuiltin{_Decimal128 __builtin_nand128 (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{_Decimal128}. @enddefbuiltin ! @defbuiltin{float __builtin_nanf (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{float}. @enddefbuiltin ! @defbuiltin{{long double} __builtin_nanl (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{long double}. @enddefbuiltin ! @defbuiltin{_Float@var{n} __builtin_nanf@var{n} (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{_Float@var{n}}. @enddefbuiltin ! @defbuiltin{_Float@var{n}x __builtin_nanf@var{n}x (const char *@var{str})} Similar to @code{__builtin_nan}, except the return type is @code{_Float@var{n}x}. @enddefbuiltin ! @defbuiltin{double __builtin_nans (const char *@var{str})} Similar to @code{__builtin_nan}, except the significand is forced to be a signaling NaN@. The @code{nans} function is proposed by @uref{https://www.open-std.org/jtc1/sc22/wg14/www/docs/n965.htm,,WG14 N965}. @enddefbuiltin ! @defbuiltin{_Decimal32 __builtin_nansd32 (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal32}. @enddefbuiltin ! @defbuiltin{_Decimal64 __builtin_nansd64 (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal64}. @enddefbuiltin ! @defbuiltin{_Decimal128 __builtin_nansd128 (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{_Decimal128}. @enddefbuiltin ! @defbuiltin{float __builtin_nansf (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{float}. @enddefbuiltin ! @defbuiltin{{long double} __builtin_nansl (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{long double}. @enddefbuiltin ! @defbuiltin{_Float@var{n} __builtin_nansf@var{n} (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{_Float@var{n}}. @enddefbuiltin ! @defbuiltin{_Float@var{n}x __builtin_nansf@var{n}x (const char *@var{str})} Similar to @code{__builtin_nans}, except the return type is @code{_Float@var{n}x}. @enddefbuiltin *************** With @code{-ffinite-math-only} option th *** 14516,14547 **** return 0. @enddefbuiltin ! @defbuiltin{int __builtin_ffs (int x)} Returns one plus the index of the least significant 1-bit of @var{x}, or if @var{x} is zero, returns zero. @enddefbuiltin ! @defbuiltin{int __builtin_clz (unsigned int x)} Returns the number of leading 0-bits in @var{x}, starting at the most significant bit position. If @var{x} is 0, the result is undefined. @enddefbuiltin ! @defbuiltin{int __builtin_ctz (unsigned int x)} Returns the number of trailing 0-bits in @var{x}, starting at the least significant bit position. If @var{x} is 0, the result is undefined. @enddefbuiltin ! @defbuiltin{int __builtin_clrsb (int x)} Returns the number of leading redundant sign bits in @var{x}, i.e.@: the number of bits following the most significant bit that are identical to it. There are no special cases for 0 or other values. @enddefbuiltin ! @defbuiltin{int __builtin_popcount (unsigned int x)} Returns the number of 1-bits in @var{x}. @enddefbuiltin ! @defbuiltin{int __builtin_parity (unsigned int x)} Returns the parity of @var{x}, i.e.@: the number of 1-bits in @var{x} modulo 2. @enddefbuiltin --- 14516,14547 ---- return 0. @enddefbuiltin ! @defbuiltin{int __builtin_ffs (int @var{x})} Returns one plus the index of the least significant 1-bit of @var{x}, or if @var{x} is zero, returns zero. @enddefbuiltin ! @defbuiltin{int __builtin_clz (unsigned int @var{x})} Returns the number of leading 0-bits in @var{x}, starting at the most significant bit position. If @var{x} is 0, the result is undefined. @enddefbuiltin ! @defbuiltin{int __builtin_ctz (unsigned int @var{x})} Returns the number of trailing 0-bits in @var{x}, starting at the least significant bit position. If @var{x} is 0, the result is undefined. @enddefbuiltin ! @defbuiltin{int __builtin_clrsb (int @var{x})} Returns the number of leading redundant sign bits in @var{x}, i.e.@: the number of bits following the most significant bit that are identical to it. There are no special cases for 0 or other values. @enddefbuiltin ! @defbuiltin{int __builtin_popcount (unsigned int @var{x})} Returns the number of 1-bits in @var{x}. @enddefbuiltin ! @defbuiltin{int __builtin_parity (unsigned int @var{x})} Returns the parity of @var{x}, i.e.@: the number of 1-bits in @var{x} modulo 2. @enddefbuiltin *************** Returns the first argument raised to the *** 14613,14641 **** @code{pow} function no guarantees about precision and rounding are made. @enddefbuiltin ! @defbuiltin{uint16_t __builtin_bswap16 (uint16_t x)} Returns @var{x} with the order of the bytes reversed; for example, @code{0xaabb} becomes @code{0xbbaa}. Byte here always means exactly 8 bits. @enddefbuiltin ! @defbuiltin{uint32_t __builtin_bswap32 (uint32_t x)} Similar to @code{__builtin_bswap16}, except the argument and return types are 32-bit. @enddefbuiltin ! @defbuiltin{uint64_t __builtin_bswap64 (uint64_t x)} Similar to @code{__builtin_bswap32}, except the argument and return types are 64-bit. @enddefbuiltin ! @defbuiltin{uint128_t __builtin_bswap128 (uint128_t x)} Similar to @code{__builtin_bswap64}, except the argument and return types are 128-bit. Only supported on targets when 128-bit types are supported. @enddefbuiltin ! @defbuiltin{Pmode __builtin_extend_pointer (void * x)} On targets where the user visible pointer size is smaller than the size of an actual hardware address this function returns the extended user pointer. Targets where this is true included ILP32 mode on x86_64 or --- 14613,14641 ---- @code{pow} function no guarantees about precision and rounding are made. @enddefbuiltin ! @defbuiltin{uint16_t __builtin_bswap16 (uint16_t @var{x})} Returns @var{x} with the order of the bytes reversed; for example, @code{0xaabb} becomes @code{0xbbaa}. Byte here always means exactly 8 bits. @enddefbuiltin ! @defbuiltin{uint32_t __builtin_bswap32 (uint32_t @var{x})} Similar to @code{__builtin_bswap16}, except the argument and return types are 32-bit. @enddefbuiltin ! @defbuiltin{uint64_t __builtin_bswap64 (uint64_t @var{x})} Similar to @code{__builtin_bswap32}, except the argument and return types are 64-bit. @enddefbuiltin ! @defbuiltin{uint128_t __builtin_bswap128 (uint128_t @var{x})} Similar to @code{__builtin_bswap64}, except the argument and return types are 128-bit. Only supported on targets when 128-bit types are supported. @enddefbuiltin ! @defbuiltin{Pmode __builtin_extend_pointer (void * @var{x})} On targets where the user visible pointer size is smaller than the size of an actual hardware address this function returns the extended user pointer. Targets where this is true included ILP32 mode on x86_64 or *************** Aarch64. This function is mainly useful *** 14643,14654 **** code. @enddefbuiltin ! @defbuiltin{int __builtin_goacc_parlevel_id (int x)} Returns the openacc gang, worker or vector id depending on whether @var{x} is 0, 1 or 2. @enddefbuiltin ! @defbuiltin{int __builtin_goacc_parlevel_size (int x)} Returns the openacc gang, worker or vector size depending on whether @var{x} is 0, 1 or 2. @enddefbuiltin --- 14643,14654 ---- code. @enddefbuiltin ! @defbuiltin{int __builtin_goacc_parlevel_id (int @var{x})} Returns the openacc gang, worker or vector id depending on whether @var{x} is 0, 1 or 2. @enddefbuiltin ! @defbuiltin{int __builtin_goacc_parlevel_size (int @var{x})} Returns the openacc gang, worker or vector size depending on whether @var{x} is 0, 1 or 2. @enddefbuiltin *************** function you need to include @code{larch *** 16332,16337 **** --- 16332,16342 ---- void __break (imm0_32767) @end smallexample + Returns the value that is currently set in the @samp{tp} register. + @smallexample + void * __builtin_thread_pointer (void) + @end smallexample + @node MIPS DSP Built-in Functions @subsection MIPS DSP Built-in Functions *************** round to odd as the rounding mode. *** 18410,18417 **** The following additional built-in functions are also available for the PowerPC family of processors, starting with ISA 3.0 or later: ! @defbuiltin{long long __builtin_darn (void)} ! @defbuiltinx{long long __builtin_darn_raw (void)} @defbuiltinx{int __builtin_darn_32 (void)} The @code{__builtin_darn} and @code{__builtin_darn_raw} functions require a --- 18415,18422 ---- The following additional built-in functions are also available for the PowerPC family of processors, starting with ISA 3.0 or later: ! @defbuiltin{{long long} __builtin_darn (void)} ! @defbuiltinx{{long long} __builtin_darn_raw (void)} @defbuiltinx{int __builtin_darn_32 (void)} The @code{__builtin_darn} and @code{__builtin_darn_raw} functions require a *************** implemented by the @code{vctzdm} instruc *** 20069,20077 **** @smallexample @exdent vector signed char ! @exdent vec_clrl (vector signed char a, unsigned int n); @exdent vector unsigned char ! @exdent vec_clrl (vector unsigned char a, unsigned int n); @end smallexample Clear the left-most @code{(16 - n)} bytes of vector argument @code{a}, as if implemented by the @code{vclrlb} instruction on a big-endian target --- 20074,20082 ---- @smallexample @exdent vector signed char ! @exdent vec_clrl (vector signed char @var{a}, unsigned int @var{n}); @exdent vector unsigned char ! @exdent vec_clrl (vector unsigned char @var{a}, unsigned int @var{n}); @end smallexample Clear the left-most @code{(16 - n)} bytes of vector argument @code{a}, as if implemented by the @code{vclrlb} instruction on a big-endian target *************** value of @code{n} that is greater than 1 *** 20081,20089 **** @smallexample @exdent vector signed char ! @exdent vec_clrr (vector signed char a, unsigned int n); @exdent vector unsigned char ! @exdent vec_clrr (vector unsigned char a, unsigned int n); @end smallexample Clear the right-most @code{(16 - n)} bytes of vector argument @code{a}, as if implemented by the @code{vclrrb} instruction on a big-endian target --- 20086,20094 ---- @smallexample @exdent vector signed char ! @exdent vec_clrr (vector signed char @var{a}, unsigned int @var{n}); @exdent vector unsigned char ! @exdent vec_clrr (vector unsigned char @var{a}, unsigned int @var{n}); @end smallexample Clear the right-most @code{(16 - n)} bytes of vector argument @code{a}, as if implemented by the @code{vclrrb} instruction on a big-endian target *************** Vector Integer Multiply/Divide/Modulo *** 20537,20545 **** @smallexample @exdent vector signed int ! @exdent vec_mulh (vector signed int a, vector signed int b); @exdent vector unsigned int ! @exdent vec_mulh (vector unsigned int a, vector unsigned int b); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer --- 20542,20550 ---- @smallexample @exdent vector signed int ! @exdent vec_mulh (vector signed int @var{a}, vector signed int @var{b}); @exdent vector unsigned int ! @exdent vec_mulh (vector unsigned int @var{a}, vector unsigned int @var{b}); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer *************** into word element @code{i} of the vector *** 20549,20557 **** @smallexample @exdent vector signed long long ! @exdent vec_mulh (vector signed long long a, vector signed long long b); @exdent vector unsigned long long ! @exdent vec_mulh (vector unsigned long long a, vector unsigned long long b); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer --- 20554,20562 ---- @smallexample @exdent vector signed long long ! @exdent vec_mulh (vector signed long long @var{a}, vector signed long long @var{b}); @exdent vector unsigned long long ! @exdent vec_mulh (vector unsigned long long @var{a}, vector unsigned long long @var{b}); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer *************** are placed into doubleword element @code *** 20561,20569 **** @smallexample @exdent vector unsigned long long ! @exdent vec_mul (vector unsigned long long a, vector unsigned long long b); @exdent vector signed long long ! @exdent vec_mul (vector signed long long a, vector signed long long b); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer --- 20566,20574 ---- @smallexample @exdent vector unsigned long long ! @exdent vec_mul (vector unsigned long long @var{a}, vector unsigned long long @var{b}); @exdent vector signed long long ! @exdent vec_mul (vector signed long long @var{a}, vector signed long long @var{b}); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer *************** are placed into doubleword element @code *** 20573,20581 **** @smallexample @exdent vector signed int ! @exdent vec_div (vector signed int a, vector signed int b); @exdent vector unsigned int ! @exdent vec_div (vector unsigned int a, vector unsigned int b); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in --- 20578,20586 ---- @smallexample @exdent vector signed int ! @exdent vec_div (vector signed int @var{a}, vector signed int @var{b}); @exdent vector unsigned int ! @exdent vec_div (vector unsigned int @var{a}, vector unsigned int @var{b}); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in *************** the vector returned. If an attempt is ma *** 20586,20594 **** @smallexample @exdent vector signed long long ! @exdent vec_div (vector signed long long a, vector signed long long b); @exdent vector unsigned long long ! @exdent vec_div (vector unsigned long long a, vector unsigned long long b); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in --- 20591,20599 ---- @smallexample @exdent vector signed long long ! @exdent vec_div (vector signed long long @var{a}, vector signed long long @var{b}); @exdent vector unsigned long long ! @exdent vec_div (vector unsigned long long @var{a}, vector unsigned long long @var{b}); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in *************** the quotient is undefined. *** 20600,20608 **** @smallexample @exdent vector signed int ! @exdent vec_dive (vector signed int a, vector signed int b); @exdent vector unsigned int ! @exdent vec_dive (vector unsigned int a, vector unsigned int b); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in --- 20605,20613 ---- @smallexample @exdent vector signed int ! @exdent vec_dive (vector signed int @var{a}, vector signed int @var{b}); @exdent vector unsigned int ! @exdent vec_dive (vector unsigned int @var{a}, vector unsigned int @var{b}); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in *************** divisions ÷ 0 then the quoti *** 20614,20622 **** @smallexample @exdent vector signed long long ! @exdent vec_dive (vector signed long long a, vector signed long long b); @exdent vector unsigned long long ! @exdent vec_dive (vector unsigned long long a, vector unsigned long long b); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in --- 20619,20627 ---- @smallexample @exdent vector signed long long ! @exdent vec_dive (vector signed long long @var{a}, vector signed long long @var{b}); @exdent vector unsigned long long ! @exdent vec_dive (vector unsigned long long @var{a}, vector unsigned long long @var{b}); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in *************** quotient cannot be represented in 64 bit *** 20628,20636 **** @smallexample @exdent vector signed int ! @exdent vec_mod (vector signed int a, vector signed int b); @exdent vector unsigned int ! @exdent vec_mod (vector unsigned int a, vector unsigned int b); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in --- 20633,20641 ---- @smallexample @exdent vector signed int ! @exdent vec_mod (vector signed int @var{a}, vector signed int @var{b}); @exdent vector unsigned int ! @exdent vec_mod (vector unsigned int @var{a}, vector unsigned int @var{b}); @end smallexample For each integer value @code{i} from 0 to 3, do the following. The integer in *************** the vector returned. If an attempt is m *** 20641,20649 **** @smallexample @exdent vector signed long long ! @exdent vec_mod (vector signed long long a, vector signed long long b); @exdent vector unsigned long long ! @exdent vec_mod (vector unsigned long long a, vector unsigned long long b); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in --- 20646,20654 ---- @smallexample @exdent vector signed long long ! @exdent vec_mod (vector signed long long @var{a}, vector signed long long @var{b}); @exdent vector unsigned long long ! @exdent vec_mod (vector unsigned long long @var{a}, vector unsigned long long @var{b}); @end smallexample For each integer value @code{i} from 0 to 1, do the following. The integer in *************** immediate value is either 0, 1, 2 or 3. *** 20658,20671 **** @findex vec_genpcvm @smallexample ! @exdent vector unsigned __int128 vec_rl (vector unsigned __int128 A, ! vector unsigned __int128 B); ! @exdent vector signed __int128 vec_rl (vector signed __int128 A, ! vector unsigned __int128 B); @end smallexample ! Result value: Each element of R is obtained by rotating the corresponding element ! of A left by the number of bits specified by the corresponding element of B. @smallexample --- 20663,20676 ---- @findex vec_genpcvm @smallexample ! @exdent vector unsigned __int128 vec_rl (vector unsigned __int128 @var{A}, ! vector unsigned __int128 @var{B}); ! @exdent vector signed __int128 vec_rl (vector signed __int128 @var{A}, ! vector unsigned __int128 @var{B}); @end smallexample ! Result value: Each element of @var{R} is obtained by rotating the corresponding element ! of @var{A} left by the number of bits specified by the corresponding element of @var{B}. @smallexample *************** input. The shift is obtained from the t *** 20699,20726 **** [125:131] where all bits counted from zero at the left. @smallexample ! @exdent vector unsigned __int128 vec_sl(vector unsigned __int128 A, vector unsigned __int128 B); ! @exdent vector signed __int128 vec_sl(vector signed __int128 A, vector unsigned __int128 B); @end smallexample ! Result value: Each element of R is obtained by shifting the corresponding element of ! A left by the number of bits specified by the corresponding element of B. @smallexample ! @exdent vector unsigned __int128 vec_sr(vector unsigned __int128 A, vector unsigned __int128 B); ! @exdent vector signed __int128 vec_sr(vector signed __int128 A, vector unsigned __int128 B); @end smallexample ! Result value: Each element of R is obtained by shifting the corresponding element of ! A right by the number of bits specified by the corresponding element of B. @smallexample ! @exdent vector unsigned __int128 vec_sra(vector unsigned __int128 A, vector unsigned __int128 B); ! @exdent vector signed __int128 vec_sra(vector signed __int128 A, vector unsigned __int128 B); @end smallexample ! Result value: Each element of R is obtained by arithmetic shifting the corresponding ! element of A right by the number of bits specified by the corresponding element of B. @smallexample @exdent vector unsigned __int128 vec_mule (vector unsigned long long, --- 20704,20731 ---- [125:131] where all bits counted from zero at the left. @smallexample ! @exdent vector unsigned __int128 vec_sl(vector unsigned __int128 @var{A}, vector unsigned __int128 @var{B}); ! @exdent vector signed __int128 vec_sl(vector signed __int128 @var{A}, vector unsigned __int128 @var{B}); @end smallexample ! Result value: Each element of @var{R} is obtained by shifting the corresponding element of ! @var{A} left by the number of bits specified by the corresponding element of @var{B}. @smallexample ! @exdent vector unsigned __int128 vec_sr(vector unsigned __int128 @var{A}, vector unsigned __int128 @var{B}); ! @exdent vector signed __int128 vec_sr(vector signed __int128 @var{A}, vector unsigned __int128 @var{B}); @end smallexample ! Result value: Each element of @var{R} is obtained by shifting the corresponding element of ! @var{A} right by the number of bits specified by the corresponding element of @var{B}. @smallexample ! @exdent vector unsigned __int128 vec_sra(vector unsigned __int128 @var{A}, vector unsigned __int128 @var{B}); ! @exdent vector signed __int128 vec_sra(vector signed __int128 @var{A}, vector unsigned __int128 @var{B}); @end smallexample ! Result value: Each element of @var{R} is obtained by arithmetic shifting the corresponding ! element of @var{A} right by the number of bits specified by the corresponding element of @var{B}. @smallexample @exdent vector unsigned __int128 vec_mule (vector unsigned long long, *************** multiplying the bottom 16 bits of the tw *** 21301,21312 **** accumulator. @enddefbuiltin ! @defbuiltin{int __builtin_rx_mvfachi (void)} Generates the @code{mvfachi} machine instruction to read the top 32 bits of the accumulator. @enddefbuiltin ! @defbuiltin{int __builtin_rx_mvfacmi (void)} Generates the @code{mvfacmi} machine instruction to read the middle 32 bits of the accumulator. @enddefbuiltin --- 21306,21317 ---- accumulator. @enddefbuiltin ! @defbuiltin{int __builtin_rx_mvfachi (void)} Generates the @code{mvfachi} machine instruction to read the top 32 bits of the accumulator. @enddefbuiltin ! @defbuiltin{int __builtin_rx_mvfacmi (void)} Generates the @code{mvfacmi} machine instruction to read the middle 32 bits of the accumulator. @enddefbuiltin *************** Generates the @code{mvtaclo} machine ins *** 21326,21332 **** 32 bits of the accumulator. @enddefbuiltin ! @defbuiltin{void __builtin_rx_mvtc (int reg, int val)} Generates the @code{mvtc} machine instruction which sets control register number @code{reg} to @code{val}. @enddefbuiltin --- 21331,21337 ---- 32 bits of the accumulator. @enddefbuiltin ! @defbuiltin{void __builtin_rx_mvtc (int @var{reg}, int @var{val})} Generates the @code{mvtc} machine instruction which sets control register number @code{reg} to @code{val}. @enddefbuiltin *************** Generates the @code{extractps} machine i *** 22660,22666 **** Generates the @code{pextrd} machine instruction. @enddefbuiltin ! @defbuiltin{long long __builtin_ia32_vec_ext_v2di (v2di, const int)} Generates the @code{pextrq} machine instruction in 64bit mode. @enddefbuiltin --- 22665,22671 ---- Generates the @code{pextrd} machine instruction. @enddefbuiltin ! @defbuiltin{{long long} __builtin_ia32_vec_ext_v2di (v2di, const int)} Generates the @code{pextrq} machine instruction in 64bit mode. @enddefbuiltin *************** v2di __builtin_ia32_pcmpgtq (v2di, v2di) *** 22689,22707 **** The following built-in functions are available when @option{-msse4.2} is used. ! @defbuiltin{unsigned int __builtin_ia32_crc32qi (unsigned int, unsigned char)} Generates the @code{crc32b} machine instruction. @enddefbuiltin ! @defbuiltin{unsigned int __builtin_ia32_crc32hi (unsigned int, unsigned short)} Generates the @code{crc32w} machine instruction. @enddefbuiltin ! @defbuiltin{unsigned int __builtin_ia32_crc32si (unsigned int, unsigned int)} Generates the @code{crc32l} machine instruction. @enddefbuiltin ! @defbuiltin{unsigned long long __builtin_ia32_crc32di (unsigned long long, unsigned long long)} Generates the @code{crc32q} machine instruction. @enddefbuiltin --- 22694,22712 ---- The following built-in functions are available when @option{-msse4.2} is used. ! @defbuiltin{{unsigned int} __builtin_ia32_crc32qi (unsigned int, unsigned char)} Generates the @code{crc32b} machine instruction. @enddefbuiltin ! @defbuiltin{{unsigned int} __builtin_ia32_crc32hi (unsigned int, unsigned short)} Generates the @code{crc32w} machine instruction. @enddefbuiltin ! @defbuiltin{{unsigned int} __builtin_ia32_crc32si (unsigned int, unsigned int)} Generates the @code{crc32l} machine instruction. @enddefbuiltin ! @defbuiltin{{unsigned long long} __builtin_ia32_crc32di (unsigned long long, unsigned long long)} Generates the @code{crc32q} machine instruction. @enddefbuiltin diff -Nrcpad gcc-13.2.0/gcc/doc/fsf-funding.7 gcc-13.3.0/gcc/doc/fsf-funding.7 *** gcc-13.2.0/gcc/doc/fsf-funding.7 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/fsf-funding.7 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/g++.1 gcc-13.3.0/gcc/doc/g++.1 *** gcc-13.2.0/gcc/doc/g++.1 Thu Jul 27 08:33:22 2023 --- gcc-13.3.0/gcc/doc/g++.1 Tue May 21 08:05:50 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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 *************** in the following sections. *** 872,878 **** \&\fB\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR --- 872,878 ---- \&\fB\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-mskip\-bug \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR *************** in the following sections. *** 1038,1044 **** \&\-mmax\-inline\-memcpy\-size=\fR\fIn\fR \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs \&\-mdirect\-extern\-access \-mno\-direct\-extern\-access ! \&\-mcmodel=\fR\fIcode-model\fR .Sp \&\fIM32R/D Options\fR \&\fB\-m32r2 \-m32rx \-m32r --- 1038,1044 ---- \&\-mmax\-inline\-memcpy\-size=\fR\fIn\fR \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs \&\-mdirect\-extern\-access \-mno\-direct\-extern\-access ! \&\-mcmodel=\fR\fIcode-model\fR \fB\-mrelax \-mpass\-mrelax\-to\-as\fR .Sp \&\fIM32R/D Options\fR \&\fB\-m32r2 \-m32rx \-m32r *************** crossing a loop backedge when comparing *** 15163,15168 **** --- 15163,15175 ---- .IX Item "uninit-control-dep-attempts" Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. + .IP "\fBuninit-max-chain-len\fR" 4 + .IX Item "uninit-max-chain-len" + Maximum number of predicates anded for each predicate ored in the normalized + predicate chain. + .IP "\fBuninit-max-num-chains\fR" 4 + .IX Item "uninit-max-num-chains" + Maximum number of predicates ored in the normalized predicate chain. .IP "\fBsched-autopref-queue-depth\fR" 4 .IX Item "sched-autopref-queue-depth" Hardware autoprefetcher scheduler model control flag. *************** performance of the code. Permissible va *** 19618,19624 **** \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBcortex\-x1c\fR, \fBcortex\-x2\fR, \&\fBcortex\-x3\fR, \fBcortex\-a510\fR, \fBcortex\-a710\fR, \fBcortex\-a715\fR, ! \&\fBampere1\fR, \fBampere1a\fR, and \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, --- 19625,19631 ---- \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBcortex\-x1c\fR, \fBcortex\-x2\fR, \&\fBcortex\-x3\fR, \fBcortex\-a510\fR, \fBcortex\-a710\fR, \fBcortex\-a715\fR, ! \&\fBampere1\fR, \fBampere1a\fR, \fBcobalt\-100\fR and \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, *************** address signing. *** 21983,21993 **** These options are defined for \s-1AVR\s0 implementations: .IP "\fB\-mmcu=\fR\fImcu\fR" 4 .IX Item "-mmcu=mcu" ! Specify Atmel \s-1AVR\s0 instruction set architectures (\s-1ISA\s0) or \s-1MCU\s0 type. ! .Sp ! The default for this option is \fBavr2\fR. .Sp ! \&\s-1GCC\s0 supports the following \s-1AVR\s0 devices and ISAs: .RS 4 .ie n .IP """avr2""" 4 .el .IP "\f(CWavr2\fR" 4 --- 21990,22008 ---- These options are defined for \s-1AVR\s0 implementations: .IP "\fB\-mmcu=\fR\fImcu\fR" 4 .IX Item "-mmcu=mcu" ! Specify the \s-1AVR\s0 instruction set architecture (\s-1ISA\s0) or device type. ! The default for this option is \f(CW\*(C`avr2\*(C'\fR. .Sp ! The following \s-1AVR\s0 devices and ISAs are supported. ! \&\fINote:\fR A complete device support consists of ! startup code \f(CW\*(C`crt\f(CImcu\f(CW.o\*(C'\fR, a device header \f(CW\*(C`avr/io*.h\*(C'\fR, ! a device library \f(CW\*(C`lib\f(CImcu\f(CW.a\*(C'\fR and a ! device-specs (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#spec\-files\*(C'\fR) file ! \&\f(CW\*(C`specs\-\f(CImcu\f(CW\*(C'\fR. Only the latter is provided by the compiler ! according the supported \f(CW\*(C`\f(CImcu\f(CW\*(C'\fRs below. The rest is supported ! by AVR-LibC (\f(CW\*(C`https://www.nongnu.org/avr\-libc/\*(C'\fR), or by means of ! \&\f(CW\*(C`atpack\*(C'\fR (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#atpack\*(C'\fR) files ! from the hardware manufacturer. .RS 4 .ie n .IP """avr2""" 4 .el .IP "\f(CWavr2\fR" 4 *************** The default for this option is \fBavr2\f *** 22018,22029 **** .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16 KiB up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega324pb\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" --- 22033,22044 ---- .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16 KiB up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega324pb\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5787\*(C'\fR, \f(CW\*(C`ata5835\*(C'\fR, \f(CW\*(C`ata5700m322\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" *************** The default for this option is \fBavr2\f *** 22038,22049 **** .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8 KiB and up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`avr64da28\*(C'\fR, \f(CW\*(C`avr64da32\*(C'\fR, \f(CW\*(C`avr64da48\*(C'\fR, \f(CW\*(C`avr64da64\*(C'\fR, \f(CW\*(C`avr64db28\*(C'\fR, \f(CW\*(C`avr64db32\*(C'\fR, \f(CW\*(C`avr64db48\*(C'\fR, \f(CW\*(C`avr64db64\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64 KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR = \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR, \f(CW\*(C`avr32da28\*(C'\fR, \f(CW\*(C`avr32da32\*(C'\fR, \f(CW\*(C`avr32da48\*(C'\fR, \f(CW\*(C`avr32db28\*(C'\fR, \f(CW\*(C`avr32db32\*(C'\fR, \f(CW\*(C`avr32db48\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" --- 22053,22064 ---- .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8 KiB and up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`avr64da28\*(C'\fR, \f(CW\*(C`avr64da32\*(C'\fR, \f(CW\*(C`avr64da48\*(C'\fR, \f(CW\*(C`avr64da64\*(C'\fR, \f(CW\*(C`avr64db28\*(C'\fR, \f(CW\*(C`avr64db32\*(C'\fR, \f(CW\*(C`avr64db48\*(C'\fR, \f(CW\*(C`avr64db64\*(C'\fR, \f(CW\*(C`avr64dd14\*(C'\fR, \f(CW\*(C`avr64dd20\*(C'\fR, \f(CW\*(C`avr64dd28\*(C'\fR, \f(CW\*(C`avr64dd32\*(C'\fR, \f(CW\*(C`avr64du28\*(C'\fR, \f(CW\*(C`avr64du32\*(C'\fR, \f(CW\*(C`avr64ea28\*(C'\fR, \f(CW\*(C`avr64ea32\*(C'\fR, \f(CW\*(C`avr64ea48\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64 KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR = \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny416auto\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny424\*(C'\fR, \f(CW\*(C`attiny426\*(C'\fR, \f(CW\*(C`attiny427\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny824\*(C'\fR, \f(CW\*(C`attiny826\*(C'\fR, \f(CW\*(C`attiny827\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny1624\*(C'\fR, \f(CW\*(C`attiny1626\*(C'\fR, \f(CW\*(C`attiny1627\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`attiny3224\*(C'\fR, \f(CW\*(C`attiny3226\*(C'\fR, \f(CW\*(C`attiny3227\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR, \f(CW\*(C`avr16dd14\*(C'\fR, \f(CW\*(C`avr16dd20\*(C'\fR, \f(CW\*(C`avr16dd28\*(C'\fR, \f(CW\*(C`avr16dd32\*(C'\fR, \f(CW\*(C`avr16du14\*(C'\fR, \f(CW\*(C`avr16du20\*(C'\fR, \f(CW\*(C`avr16du28\*(C'\fR, \f(CW\*(C`avr16du32\*(C'\fR, \f(CW\*(C`avr16ea28\*(C'\fR, \f(CW\*(C`avr16ea32\*(C'\fR, \f(CW\*(C`avr16ea48\*(C'\fR, \f(CW\*(C`avr16eb14\*(C'\fR, \f(CW\*(C`avr16eb20\*(C'\fR, \f(CW\*(C`avr16eb28\*(C'\fR, \f(CW\*(C`avr16eb32\*(C'\fR, \f(CW\*(C`avr32da28\*(C'\fR, \f(CW\*(C`avr32da32\*(C'\fR, \f(CW\*(C`avr32da48\*(C'\fR, \f(CW\*(C`avr32db28\*(C'\fR, \f(CW\*(C`avr32db32\*(C'\fR, \f(CW\*(C`avr32db48\*(C'\fR, \f(CW\*(C`avr32dd14\*(C'\fR, \f(CW\*(C`avr32dd20\*(C'\fR, \f(CW\*(C`avr32dd28\*(C'\fR, \f(CW\*(C`avr32dd32\*(C'\fR, \f(CW\*(C`avr32du14\*(C'\fR, \f(CW\*(C`avr32du20\*(C'\fR, \f(CW\*(C`avr32du28\*(C'\fR, \f(CW\*(C`avr32du32\*(C'\fR, \f(CW\*(C`avr32ea28\*(C'\fR, \f(CW\*(C`avr32ea32\*(C'\fR, \f(CW\*(C`avr32ea48\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" *************** The default for this option is \fBavr2\f *** 22068,22074 **** .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512 B up to 4 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" --- 22083,22089 ---- .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512 B up to 4 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny102\*(C'\fR, \f(CW\*(C`attiny104\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" *************** size. *** 22140,22149 **** Do not save registers in \f(CW\*(C`main\*(C'\fR. The effect is the same like attaching attribute \fB\s-1AVR\s0 Function Attributes,,\f(CB\*(C`OS_task\*(C'\fB\fR to \f(CW\*(C`main\*(C'\fR. It is activated per default if optimization is on. - .IP "\fB\-mn\-flash=\fR\fInum\fR" 4 - .IX Item "-mn-flash=num" - Assume that the flash memory has a size of - \&\fInum\fR times 64 KiB. .IP "\fB\-mno\-interrupts\fR" 4 .IX Item "-mno-interrupts" Generated code is not compatible with hardware interrupts. --- 22155,22160 ---- *************** differ from instructions in the assemble *** 22163,22193 **** .Sp Relaxing must be turned on if linker stubs are needed, see the section on \f(CW\*(C`EIND\*(C'\fR and linker stubs below. - .IP "\fB\-mrmw\fR" 4 - .IX Item "-mrmw" - Assume that the device supports the Read-Modify-Write - instructions \f(CW\*(C`XCH\*(C'\fR, \f(CW\*(C`LAC\*(C'\fR, \f(CW\*(C`LAS\*(C'\fR and \f(CW\*(C`LAT\*(C'\fR. - .IP "\fB\-mshort\-calls\fR" 4 - .IX Item "-mshort-calls" - Assume that \f(CW\*(C`RJMP\*(C'\fR and \f(CW\*(C`RCALL\*(C'\fR can target the whole - program memory. - .Sp - This option is used internally for multilib selection. It is - not an optimization option, and you don't need to set it by hand. - .IP "\fB\-msp8\fR" 4 - .IX Item "-msp8" - Treat the stack pointer register as an 8\-bit register, - i.e. assume the high byte of the stack pointer is zero. - In general, you don't need to set this option by hand. - .Sp - This option is used internally by the compiler to select and - build multilibs for architectures \f(CW\*(C`avr2\*(C'\fR and \f(CW\*(C`avr25\*(C'\fR. - These architectures mix devices with and without \f(CW\*(C`SPH\*(C'\fR. - For any setting other than \fB\-mmcu=avr2\fR or \fB\-mmcu=avr25\fR - the compiler driver adds or removes this option from the compiler - proper's command line, because the compiler then knows if the device - or architecture has an 8\-bit stack pointer and thus no \f(CW\*(C`SPH\*(C'\fR - register or not. .IP "\fB\-mstrict\-X\fR" 4 .IX Item "-mstrict-X" Use address register \f(CW\*(C`X\*(C'\fR in a way proposed by the hardware. This means --- 22174,22179 ---- *************** If \fIdevice\fR is not a device but only *** 22474,22479 **** --- 22460,22469 ---- .el .IP "\f(CW_\|_AVR_XMEGA_\|_\fR" 4 .IX Item "__AVR_XMEGA__" The device / architecture belongs to the \s-1XMEGA\s0 family of devices. + .ie n .IP """_\|_AVR_HAVE_ADIW_\|_""" 4 + .el .IP "\f(CW_\|_AVR_HAVE_ADIW_\|_\fR" 4 + .IX Item "__AVR_HAVE_ADIW__" + The device has the \f(CW\*(C`ADIW\*(C'\fR and \f(CW\*(C`SBIW\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_ELPM_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_ELPM_\|_\fR" 4 .IX Item "__AVR_HAVE_ELPM__" *************** The device has the \f(CW\*(C`ELPM\*(C'\f *** 22483,22498 **** .IX Item "__AVR_HAVE_ELPMX__" The device has the \f(CW\*(C`ELPM R\f(CIn\f(CW,Z\*(C'\fR and \f(CW\*(C`ELPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. - .ie n .IP """_\|_AVR_HAVE_MOVW_\|_""" 4 - .el .IP "\f(CW_\|_AVR_HAVE_MOVW_\|_\fR" 4 - .IX Item "__AVR_HAVE_MOVW__" - The device has the \f(CW\*(C`MOVW\*(C'\fR instruction to perform 16\-bit - register-register moves. .ie n .IP """_\|_AVR_HAVE_LPMX_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_LPMX_\|_\fR" 4 .IX Item "__AVR_HAVE_LPMX__" The device has the \f(CW\*(C`LPM R\f(CIn\f(CW,Z\*(C'\fR and \&\f(CW\*(C`LPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_MUL_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_MUL_\|_\fR" 4 .IX Item "__AVR_HAVE_MUL__" --- 22473,22488 ---- .IX Item "__AVR_HAVE_ELPMX__" The device has the \f(CW\*(C`ELPM R\f(CIn\f(CW,Z\*(C'\fR and \f(CW\*(C`ELPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_LPMX_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_LPMX_\|_\fR" 4 .IX Item "__AVR_HAVE_LPMX__" The device has the \f(CW\*(C`LPM R\f(CIn\f(CW,Z\*(C'\fR and \&\f(CW\*(C`LPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. + .ie n .IP """_\|_AVR_HAVE_MOVW_\|_""" 4 + .el .IP "\f(CW_\|_AVR_HAVE_MOVW_\|_\fR" 4 + .IX Item "__AVR_HAVE_MOVW__" + The device has the \f(CW\*(C`MOVW\*(C'\fR instruction to perform 16\-bit + register-register moves. .ie n .IP """_\|_AVR_HAVE_MUL_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_MUL_\|_\fR" 4 .IX Item "__AVR_HAVE_MUL__" *************** and is defined to \f(CW2\fR or \f(CW3\fR *** 22667,22672 **** --- 22657,22698 ---- Reflects the \f(CW\*(C`\-\-with\-libf7={libgcc|math|math\-symbols}\*(C'\fR configure\ option (\f(CW\*(C`https://gcc.gnu.org/install/configure.html#avr\*(C'\fR). .PP + \s-1AVR\s0 Internal Options + .IX Subsection "AVR Internal Options" + .PP + The following options are used internally by the compiler and to communicate + between device specs files and the compiler proper. You don't need to set these + options by hand, in particular they are not optimization options. + Using these options in the wrong way may lead to sub-optimal or wrong code. + They are documented for completeness, and in order to get a better + understanding of + device\ specs (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#spec\-files\*(C'\fR) + files. + .IP "\fB\-mn\-flash=\fR\fInum\fR" 4 + .IX Item "-mn-flash=num" + Assume that the flash memory has a size of \fInum\fR times 64 KiB. + This determines which \f(CW\*(C`_\|_flash\f(CIN\f(CW\*(C'\fR address spaces are available. + .IP "\fB\-mrmw\fR" 4 + .IX Item "-mrmw" + Assume that the device supports the Read-Modify-Write + instructions \f(CW\*(C`XCH\*(C'\fR, \f(CW\*(C`LAC\*(C'\fR, \f(CW\*(C`LAS\*(C'\fR and \f(CW\*(C`LAT\*(C'\fR. + .IP "\fB\-mshort\-calls\fR" 4 + .IX Item "-mshort-calls" + Assume that \f(CW\*(C`RJMP\*(C'\fR and \f(CW\*(C`RCALL\*(C'\fR can target the whole + program memory. This option is used for multilib generation and selection + for the devices from architecture \f(CW\*(C`avrxmega3\*(C'\fR. + .IP "\fB\-mskip\-bug\fR" 4 + .IX Item "-mskip-bug" + Generate code without skips (\f(CW\*(C`CPSE\*(C'\fR, \f(CW\*(C`SBRS\*(C'\fR, + \&\f(CW\*(C`SBRC\*(C'\fR, \f(CW\*(C`SBIS\*(C'\fR, \f(CW\*(C`SBIC\*(C'\fR) over 32\-bit instructions. + .IP "\fB\-msp8\fR" 4 + .IX Item "-msp8" + Treat the stack pointer register as an 8\-bit register, + i.e. assume the high byte of the stack pointer is zero. + This option is used by the compiler to select and + build multilibs for architectures \f(CW\*(C`avr2\*(C'\fR and \f(CW\*(C`avr25\*(C'\fR. + These architectures mix devices with and without \f(CW\*(C`SPH\*(C'\fR. + .PP \fIBlackfin Options\fR .IX Subsection "Blackfin Options" .IP "\fB\-mcpu=\fR\fIcpu\fR[\fB\-\fR\fIsirevision\fR]" 4 *************** The default code model is \f(CW\*(C`norm *** 24977,24988 **** .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. The default value for the option is determined during ! \&\s-1GCC\s0 build-time by detecting corresponding assembler support: ! \&\f(CW\*(C`\-mexplicit\-relocs\*(C'\fR if said support is present, ! \&\f(CW\*(C`\-mno\-explicit\-relocs\*(C'\fR otherwise. This option is mostly useful for ! debugging, or interoperation with assemblers different from the build-time ! one. .IP "\fB\-mdirect\-extern\-access\fR" 4 .IX Item "-mdirect-extern-access" .PD 0 --- 25003,25013 ---- .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 instruction scheduling but allow linker relaxation. The default ! value for the option is determined with the assembler capability detected ! during \s-1GCC\s0 build-time and the setting of \f(CW\*(C`\-mrelax\*(C'\fR: ! \&\f(CW\*(C`\-mexplicit\-relocs\*(C'\fR if the assembler supports relocation operators ! but \f(CW\*(C`\-mrelax\*(C'\fR is not enabled, \f(CW\*(C`\-mno\-explicit\-relocs\*(C'\fR otherwise. .IP "\fB\-mdirect\-extern\-access\fR" 4 .IX Item "-mdirect-extern-access" .PD 0 *************** environments where no dynamic link is pe *** 24999,25004 **** --- 25024,25057 ---- kernels, executables linked with \fB\-static\fR or \fB\-static\-pie\fR. \&\fB\-mdirect\-extern\-access\fR is not compatible with \fB\-fPIC\fR or \&\fB\-fpic\fR. + .IP "\fB\-mrelax\fR" 4 + .IX Item "-mrelax" + .PD 0 + .IP "\fB\-mno\-relax\fR" 4 + .IX Item "-mno-relax" + .PD + Take (do not take) advantage of linker relaxations. If + \&\fB\-mpass\-mrelax\-to\-as\fR is enabled, this option is also passed to + the assembler. The default is determined during \s-1GCC\s0 build-time by + detecting corresponding assembler support: + \&\fB\-mrelax\fR if the assembler supports both the \fB\-mrelax\fR + option and the conditional branch relaxation (it's required or the + \&\f(CW\*(C`.align\*(C'\fR directives and conditional branch instructions in the + assembly code outputted by \s-1GCC\s0 may be rejected by the assembler because + of a relocation overflow), \fB\-mno\-relax\fR otherwise. + .IP "\fB\-mpass\-mrelax\-to\-as\fR" 4 + .IX Item "-mpass-mrelax-to-as" + .PD 0 + .IP "\fB\-mno\-pass\-mrelax\-to\-as\fR" 4 + .IX Item "-mno-pass-mrelax-to-as" + .PD + Pass (do not pass) the \fB\-mrelax\fR or \fB\-mno\-relax\fR option + to the assembler. The default is determined during \s-1GCC\s0 build-time by + detecting corresponding assembler support: + \&\fB\-mpass\-mrelax\-to\-as\fR if the assembler supports the + \&\fB\-mrelax\fR option, \fB\-mno\-pass\-mrelax\-to\-as\fR otherwise. + This option is mostly useful for debugging, or interoperation with + assemblers different from the build-time one. .PP \fIM32C Options\fR .IX Subsection "M32C Options" *************** SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREF *** 31413,31420 **** XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX,\s0 GFNI-SSE, \s-1CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL,\s0 AVX-VNNI, ! \&\s-1AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD, UINTR\s0 and \s-1RAOINT\s0 ! instruction set support. .IP "\fBknl\fR" 4 .IX Item "knl" Intel Knight's Landing \s-1CPU\s0 with 64\-bit extensions, \s-1MOVBE, MMX, SSE, SSE2, SSE3, --- 31466,31473 ---- XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX,\s0 GFNI-SSE, \s-1CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL,\s0 AVX-VNNI, ! \&\s-1AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD\s0 and \s-1UINTR\s0 instruction set ! support. .IP "\fBknl\fR" 4 .IX Item "knl" Intel Knight's Landing \s-1CPU\s0 with 64\-bit extensions, \s-1MOVBE, MMX, SSE, SSE2, SSE3, diff -Nrcpad gcc-13.2.0/gcc/doc/gcc.1 gcc-13.3.0/gcc/doc/gcc.1 *** gcc-13.2.0/gcc/doc/gcc.1 Thu Jul 27 08:33:22 2023 --- gcc-13.3.0/gcc/doc/gcc.1 Tue May 21 08:05:50 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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 *************** in the following sections. *** 872,878 **** \&\fB\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR --- 872,878 ---- \&\fB\-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts \&\-mmain\-is\-OS_task \-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \&\-mfract\-convert\-truncate ! \&\-mshort\-calls \-mskip\-bug \-nodevicelib \-nodevicespecs \&\-Waddr\-space\-convert \-Wmisspelled\-isr\fR .Sp \&\fIBlackfin Options\fR *************** in the following sections. *** 1038,1044 **** \&\-mmax\-inline\-memcpy\-size=\fR\fIn\fR \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs \&\-mdirect\-extern\-access \-mno\-direct\-extern\-access ! \&\-mcmodel=\fR\fIcode-model\fR .Sp \&\fIM32R/D Options\fR \&\fB\-m32r2 \-m32rx \-m32r --- 1038,1044 ---- \&\-mmax\-inline\-memcpy\-size=\fR\fIn\fR \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs \&\-mdirect\-extern\-access \-mno\-direct\-extern\-access ! \&\-mcmodel=\fR\fIcode-model\fR \fB\-mrelax \-mpass\-mrelax\-to\-as\fR .Sp \&\fIM32R/D Options\fR \&\fB\-m32r2 \-m32rx \-m32r *************** crossing a loop backedge when comparing *** 15163,15168 **** --- 15163,15175 ---- .IX Item "uninit-control-dep-attempts" Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. + .IP "\fBuninit-max-chain-len\fR" 4 + .IX Item "uninit-max-chain-len" + Maximum number of predicates anded for each predicate ored in the normalized + predicate chain. + .IP "\fBuninit-max-num-chains\fR" 4 + .IX Item "uninit-max-num-chains" + Maximum number of predicates ored in the normalized predicate chain. .IP "\fBsched-autopref-queue-depth\fR" 4 .IX Item "sched-autopref-queue-depth" Hardware autoprefetcher scheduler model control flag. *************** performance of the code. Permissible va *** 19618,19624 **** \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBcortex\-x1c\fR, \fBcortex\-x2\fR, \&\fBcortex\-x3\fR, \fBcortex\-a510\fR, \fBcortex\-a710\fR, \fBcortex\-a715\fR, ! \&\fBampere1\fR, \fBampere1a\fR, and \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, --- 19625,19631 ---- \&\fBcortex\-a75.cortex\-a55\fR, \fBcortex\-a76.cortex\-a55\fR, \&\fBcortex\-r82\fR, \fBcortex\-x1\fR, \fBcortex\-x1c\fR, \fBcortex\-x2\fR, \&\fBcortex\-x3\fR, \fBcortex\-a510\fR, \fBcortex\-a710\fR, \fBcortex\-a715\fR, ! \&\fBampere1\fR, \fBampere1a\fR, \fBcobalt\-100\fR and \fBnative\fR. .Sp The values \fBcortex\-a57.cortex\-a53\fR, \fBcortex\-a72.cortex\-a53\fR, \&\fBcortex\-a73.cortex\-a35\fR, \fBcortex\-a73.cortex\-a53\fR, *************** address signing. *** 21983,21993 **** These options are defined for \s-1AVR\s0 implementations: .IP "\fB\-mmcu=\fR\fImcu\fR" 4 .IX Item "-mmcu=mcu" ! Specify Atmel \s-1AVR\s0 instruction set architectures (\s-1ISA\s0) or \s-1MCU\s0 type. ! .Sp ! The default for this option is \fBavr2\fR. .Sp ! \&\s-1GCC\s0 supports the following \s-1AVR\s0 devices and ISAs: .RS 4 .ie n .IP """avr2""" 4 .el .IP "\f(CWavr2\fR" 4 --- 21990,22008 ---- These options are defined for \s-1AVR\s0 implementations: .IP "\fB\-mmcu=\fR\fImcu\fR" 4 .IX Item "-mmcu=mcu" ! Specify the \s-1AVR\s0 instruction set architecture (\s-1ISA\s0) or device type. ! The default for this option is \f(CW\*(C`avr2\*(C'\fR. .Sp ! The following \s-1AVR\s0 devices and ISAs are supported. ! \&\fINote:\fR A complete device support consists of ! startup code \f(CW\*(C`crt\f(CImcu\f(CW.o\*(C'\fR, a device header \f(CW\*(C`avr/io*.h\*(C'\fR, ! a device library \f(CW\*(C`lib\f(CImcu\f(CW.a\*(C'\fR and a ! device-specs (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#spec\-files\*(C'\fR) file ! \&\f(CW\*(C`specs\-\f(CImcu\f(CW\*(C'\fR. Only the latter is provided by the compiler ! according the supported \f(CW\*(C`\f(CImcu\f(CW\*(C'\fRs below. The rest is supported ! by AVR-LibC (\f(CW\*(C`https://www.nongnu.org/avr\-libc/\*(C'\fR), or by means of ! \&\f(CW\*(C`atpack\*(C'\fR (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#atpack\*(C'\fR) files ! from the hardware manufacturer. .RS 4 .ie n .IP """avr2""" 4 .el .IP "\f(CWavr2\fR" 4 *************** The default for this option is \fBavr2\f *** 22018,22029 **** .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16 KiB up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega324pb\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" --- 22033,22044 ---- .el .IP "\f(CWavr4\fR" 4 .IX Item "avr4" \&\*(L"Enhanced\*(R" devices with up to 8 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega48\*(C'\fR, \f(CW\*(C`atmega48a\*(C'\fR, \f(CW\*(C`atmega48p\*(C'\fR, \f(CW\*(C`atmega48pa\*(C'\fR, \f(CW\*(C`atmega48pb\*(C'\fR, \f(CW\*(C`atmega8\*(C'\fR, \f(CW\*(C`atmega8a\*(C'\fR, \f(CW\*(C`atmega8hva\*(C'\fR, \f(CW\*(C`atmega88\*(C'\fR, \f(CW\*(C`atmega88a\*(C'\fR, \f(CW\*(C`atmega88p\*(C'\fR, \f(CW\*(C`atmega88pa\*(C'\fR, \f(CW\*(C`atmega88pb\*(C'\fR, \f(CW\*(C`atmega8515\*(C'\fR, \f(CW\*(C`atmega8535\*(C'\fR, \f(CW\*(C`ata5795\*(C'\fR, \f(CW\*(C`ata6285\*(C'\fR, \f(CW\*(C`ata6286\*(C'\fR, \f(CW\*(C`ata6289\*(C'\fR, \f(CW\*(C`ata6612c\*(C'\fR, \f(CW\*(C`at90pwm1\*(C'\fR, \f(CW\*(C`at90pwm2\*(C'\fR, \f(CW\*(C`at90pwm2b\*(C'\fR, \f(CW\*(C`at90pwm3\*(C'\fR, \f(CW\*(C`at90pwm3b\*(C'\fR, \f(CW\*(C`at90pwm81\*(C'\fR. .ie n .IP """avr5""" 4 .el .IP "\f(CWavr5\fR" 4 .IX Item "avr5" \&\*(L"Enhanced\*(R" devices with 16 KiB up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atmega16\*(C'\fR, \f(CW\*(C`atmega16a\*(C'\fR, \f(CW\*(C`atmega16hva\*(C'\fR, \f(CW\*(C`atmega16hva2\*(C'\fR, \f(CW\*(C`atmega16hvb\*(C'\fR, \f(CW\*(C`atmega16hvbrevb\*(C'\fR, \f(CW\*(C`atmega16m1\*(C'\fR, \f(CW\*(C`atmega16u4\*(C'\fR, \f(CW\*(C`atmega161\*(C'\fR, \f(CW\*(C`atmega162\*(C'\fR, \f(CW\*(C`atmega163\*(C'\fR, \f(CW\*(C`atmega164a\*(C'\fR, \f(CW\*(C`atmega164p\*(C'\fR, \f(CW\*(C`atmega164pa\*(C'\fR, \f(CW\*(C`atmega165\*(C'\fR, \f(CW\*(C`atmega165a\*(C'\fR, \f(CW\*(C`atmega165p\*(C'\fR, \f(CW\*(C`atmega165pa\*(C'\fR, \f(CW\*(C`atmega168\*(C'\fR, \f(CW\*(C`atmega168a\*(C'\fR, \f(CW\*(C`atmega168p\*(C'\fR, \f(CW\*(C`atmega168pa\*(C'\fR, \f(CW\*(C`atmega168pb\*(C'\fR, \f(CW\*(C`atmega169\*(C'\fR, \f(CW\*(C`atmega169a\*(C'\fR, \f(CW\*(C`atmega169p\*(C'\fR, \f(CW\*(C`atmega169pa\*(C'\fR, \f(CW\*(C`atmega32\*(C'\fR, \f(CW\*(C`atmega32a\*(C'\fR, \f(CW\*(C`atmega32c1\*(C'\fR, \f(CW\*(C`atmega32hvb\*(C'\fR, \f(CW\*(C`atmega32hvbrevb\*(C'\fR, \f(CW\*(C`atmega32m1\*(C'\fR, \f(CW\*(C`atmega32u4\*(C'\fR, \f(CW\*(C`atmega32u6\*(C'\fR, \f(CW\*(C`atmega323\*(C'\fR, \f(CW\*(C`atmega324a\*(C'\fR, \f(CW\*(C`atmega324p\*(C'\fR, \f(CW\*(C`atmega324pa\*(C'\fR, \f(CW\*(C`atmega324pb\*(C'\fR, \f(CW\*(C`atmega325\*(C'\fR, \f(CW\*(C`atmega325a\*(C'\fR, \f(CW\*(C`atmega325p\*(C'\fR, \f(CW\*(C`atmega325pa\*(C'\fR, \f(CW\*(C`atmega328\*(C'\fR, \f(CW\*(C`atmega328p\*(C'\fR, \f(CW\*(C`atmega328pb\*(C'\fR, \f(CW\*(C`atmega329\*(C'\fR, \f(CW\*(C`atmega329a\*(C'\fR, \f(CW\*(C`atmega329p\*(C'\fR, \f(CW\*(C`atmega329pa\*(C'\fR, \f(CW\*(C`atmega3250\*(C'\fR, \f(CW\*(C`atmega3250a\*(C'\fR, \f(CW\*(C`atmega3250p\*(C'\fR, \f(CW\*(C`atmega3250pa\*(C'\fR, \f(CW\*(C`atmega3290\*(C'\fR, \f(CW\*(C`atmega3290a\*(C'\fR, \f(CW\*(C`atmega3290p\*(C'\fR, \f(CW\*(C`atmega3290pa\*(C'\fR, \f(CW\*(C`atmega406\*(C'\fR, \f(CW\*(C`atmega64\*(C'\fR, \f(CW\*(C`atmega64a\*(C'\fR, \f(CW\*(C`atmega64c1\*(C'\fR, \f(CW\*(C`atmega64hve\*(C'\fR, \f(CW\*(C`atmega64hve2\*(C'\fR, \f(CW\*(C`atmega64m1\*(C'\fR, \f(CW\*(C`atmega64rfr2\*(C'\fR, \f(CW\*(C`atmega640\*(C'\fR, \f(CW\*(C`atmega644\*(C'\fR, \f(CW\*(C`atmega644a\*(C'\fR, \f(CW\*(C`atmega644p\*(C'\fR, \f(CW\*(C`atmega644pa\*(C'\fR, \f(CW\*(C`atmega644rfr2\*(C'\fR, \f(CW\*(C`atmega645\*(C'\fR, \f(CW\*(C`atmega645a\*(C'\fR, \f(CW\*(C`atmega645p\*(C'\fR, \f(CW\*(C`atmega649\*(C'\fR, \f(CW\*(C`atmega649a\*(C'\fR, \f(CW\*(C`atmega649p\*(C'\fR, \f(CW\*(C`atmega6450\*(C'\fR, \f(CW\*(C`atmega6450a\*(C'\fR, \f(CW\*(C`atmega6450p\*(C'\fR, \f(CW\*(C`atmega6490\*(C'\fR, \f(CW\*(C`atmega6490a\*(C'\fR, \f(CW\*(C`atmega6490p\*(C'\fR, \f(CW\*(C`ata5790\*(C'\fR, \f(CW\*(C`ata5790n\*(C'\fR, \f(CW\*(C`ata5791\*(C'\fR, \f(CW\*(C`ata6613c\*(C'\fR, \f(CW\*(C`ata6614q\*(C'\fR, \f(CW\*(C`ata5782\*(C'\fR, \f(CW\*(C`ata5831\*(C'\fR, \f(CW\*(C`ata8210\*(C'\fR, \f(CW\*(C`ata8510\*(C'\fR, \f(CW\*(C`ata5787\*(C'\fR, \f(CW\*(C`ata5835\*(C'\fR, \f(CW\*(C`ata5700m322\*(C'\fR, \f(CW\*(C`ata5702m322\*(C'\fR, \f(CW\*(C`at90pwm161\*(C'\fR, \f(CW\*(C`at90pwm216\*(C'\fR, \f(CW\*(C`at90pwm316\*(C'\fR, \f(CW\*(C`at90can32\*(C'\fR, \f(CW\*(C`at90can64\*(C'\fR, \f(CW\*(C`at90scr100\*(C'\fR, \f(CW\*(C`at90usb646\*(C'\fR, \f(CW\*(C`at90usb647\*(C'\fR, \f(CW\*(C`at94k\*(C'\fR, \f(CW\*(C`m3000\*(C'\fR. .ie n .IP """avr51""" 4 .el .IP "\f(CWavr51\fR" 4 .IX Item "avr51" *************** The default for this option is \fBavr2\f *** 22038,22049 **** .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8 KiB and up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`avr64da28\*(C'\fR, \f(CW\*(C`avr64da32\*(C'\fR, \f(CW\*(C`avr64da48\*(C'\fR, \f(CW\*(C`avr64da64\*(C'\fR, \f(CW\*(C`avr64db28\*(C'\fR, \f(CW\*(C`avr64db32\*(C'\fR, \f(CW\*(C`avr64db48\*(C'\fR, \f(CW\*(C`avr64db64\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64 KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR = \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR, \f(CW\*(C`avr32da28\*(C'\fR, \f(CW\*(C`avr32da32\*(C'\fR, \f(CW\*(C`avr32da48\*(C'\fR, \f(CW\*(C`avr32db28\*(C'\fR, \f(CW\*(C`avr32db32\*(C'\fR, \f(CW\*(C`avr32db48\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" --- 22053,22064 ---- .el .IP "\f(CWavrxmega2\fR" 4 .IX Item "avrxmega2" \&\*(L"\s-1XMEGA\*(R"\s0 devices with more than 8 KiB and up to 64 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`atxmega8e5\*(C'\fR, \f(CW\*(C`atxmega16a4\*(C'\fR, \f(CW\*(C`atxmega16a4u\*(C'\fR, \f(CW\*(C`atxmega16c4\*(C'\fR, \f(CW\*(C`atxmega16d4\*(C'\fR, \f(CW\*(C`atxmega16e5\*(C'\fR, \f(CW\*(C`atxmega32a4\*(C'\fR, \f(CW\*(C`atxmega32a4u\*(C'\fR, \f(CW\*(C`atxmega32c3\*(C'\fR, \f(CW\*(C`atxmega32c4\*(C'\fR, \f(CW\*(C`atxmega32d3\*(C'\fR, \f(CW\*(C`atxmega32d4\*(C'\fR, \f(CW\*(C`atxmega32e5\*(C'\fR, \f(CW\*(C`avr64da28\*(C'\fR, \f(CW\*(C`avr64da32\*(C'\fR, \f(CW\*(C`avr64da48\*(C'\fR, \f(CW\*(C`avr64da64\*(C'\fR, \f(CW\*(C`avr64db28\*(C'\fR, \f(CW\*(C`avr64db32\*(C'\fR, \f(CW\*(C`avr64db48\*(C'\fR, \f(CW\*(C`avr64db64\*(C'\fR, \f(CW\*(C`avr64dd14\*(C'\fR, \f(CW\*(C`avr64dd20\*(C'\fR, \f(CW\*(C`avr64dd28\*(C'\fR, \f(CW\*(C`avr64dd32\*(C'\fR, \f(CW\*(C`avr64du28\*(C'\fR, \f(CW\*(C`avr64du32\*(C'\fR, \f(CW\*(C`avr64ea28\*(C'\fR, \f(CW\*(C`avr64ea32\*(C'\fR, \f(CW\*(C`avr64ea48\*(C'\fR. .ie n .IP """avrxmega3""" 4 .el .IP "\f(CWavrxmega3\fR" 4 .IX Item "avrxmega3" \&\*(L"\s-1XMEGA\*(R"\s0 devices with up to 64 KiB of combined program memory and \s-1RAM,\s0 and with program memory visible in the \s-1RAM\s0 address space. ! \&\fImcu\fR = \f(CW\*(C`attiny202\*(C'\fR, \f(CW\*(C`attiny204\*(C'\fR, \f(CW\*(C`attiny212\*(C'\fR, \f(CW\*(C`attiny214\*(C'\fR, \f(CW\*(C`attiny402\*(C'\fR, \f(CW\*(C`attiny404\*(C'\fR, \f(CW\*(C`attiny406\*(C'\fR, \f(CW\*(C`attiny412\*(C'\fR, \f(CW\*(C`attiny414\*(C'\fR, \f(CW\*(C`attiny416\*(C'\fR, \f(CW\*(C`attiny416auto\*(C'\fR, \f(CW\*(C`attiny417\*(C'\fR, \f(CW\*(C`attiny424\*(C'\fR, \f(CW\*(C`attiny426\*(C'\fR, \f(CW\*(C`attiny427\*(C'\fR, \f(CW\*(C`attiny804\*(C'\fR, \f(CW\*(C`attiny806\*(C'\fR, \f(CW\*(C`attiny807\*(C'\fR, \f(CW\*(C`attiny814\*(C'\fR, \f(CW\*(C`attiny816\*(C'\fR, \f(CW\*(C`attiny817\*(C'\fR, \f(CW\*(C`attiny824\*(C'\fR, \f(CW\*(C`attiny826\*(C'\fR, \f(CW\*(C`attiny827\*(C'\fR, \f(CW\*(C`attiny1604\*(C'\fR, \f(CW\*(C`attiny1606\*(C'\fR, \f(CW\*(C`attiny1607\*(C'\fR, \f(CW\*(C`attiny1614\*(C'\fR, \f(CW\*(C`attiny1616\*(C'\fR, \f(CW\*(C`attiny1617\*(C'\fR, \f(CW\*(C`attiny1624\*(C'\fR, \f(CW\*(C`attiny1626\*(C'\fR, \f(CW\*(C`attiny1627\*(C'\fR, \f(CW\*(C`attiny3214\*(C'\fR, \f(CW\*(C`attiny3216\*(C'\fR, \f(CW\*(C`attiny3217\*(C'\fR, \f(CW\*(C`attiny3224\*(C'\fR, \f(CW\*(C`attiny3226\*(C'\fR, \f(CW\*(C`attiny3227\*(C'\fR, \f(CW\*(C`atmega808\*(C'\fR, \f(CW\*(C`atmega809\*(C'\fR, \f(CW\*(C`atmega1608\*(C'\fR, \f(CW\*(C`atmega1609\*(C'\fR, \f(CW\*(C`atmega3208\*(C'\fR, \f(CW\*(C`atmega3209\*(C'\fR, \f(CW\*(C`atmega4808\*(C'\fR, \f(CW\*(C`atmega4809\*(C'\fR, \f(CW\*(C`avr16dd14\*(C'\fR, \f(CW\*(C`avr16dd20\*(C'\fR, \f(CW\*(C`avr16dd28\*(C'\fR, \f(CW\*(C`avr16dd32\*(C'\fR, \f(CW\*(C`avr16du14\*(C'\fR, \f(CW\*(C`avr16du20\*(C'\fR, \f(CW\*(C`avr16du28\*(C'\fR, \f(CW\*(C`avr16du32\*(C'\fR, \f(CW\*(C`avr16ea28\*(C'\fR, \f(CW\*(C`avr16ea32\*(C'\fR, \f(CW\*(C`avr16ea48\*(C'\fR, \f(CW\*(C`avr16eb14\*(C'\fR, \f(CW\*(C`avr16eb20\*(C'\fR, \f(CW\*(C`avr16eb28\*(C'\fR, \f(CW\*(C`avr16eb32\*(C'\fR, \f(CW\*(C`avr32da28\*(C'\fR, \f(CW\*(C`avr32da32\*(C'\fR, \f(CW\*(C`avr32da48\*(C'\fR, \f(CW\*(C`avr32db28\*(C'\fR, \f(CW\*(C`avr32db32\*(C'\fR, \f(CW\*(C`avr32db48\*(C'\fR, \f(CW\*(C`avr32dd14\*(C'\fR, \f(CW\*(C`avr32dd20\*(C'\fR, \f(CW\*(C`avr32dd28\*(C'\fR, \f(CW\*(C`avr32dd32\*(C'\fR, \f(CW\*(C`avr32du14\*(C'\fR, \f(CW\*(C`avr32du20\*(C'\fR, \f(CW\*(C`avr32du28\*(C'\fR, \f(CW\*(C`avr32du32\*(C'\fR, \f(CW\*(C`avr32ea28\*(C'\fR, \f(CW\*(C`avr32ea32\*(C'\fR, \f(CW\*(C`avr32ea48\*(C'\fR. .ie n .IP """avrxmega4""" 4 .el .IP "\f(CWavrxmega4\fR" 4 .IX Item "avrxmega4" *************** The default for this option is \fBavr2\f *** 22068,22074 **** .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512 B up to 4 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" --- 22083,22089 ---- .el .IP "\f(CWavrtiny\fR" 4 .IX Item "avrtiny" \&\*(L"\s-1TINY\*(R"\s0 Tiny core devices with 512 B up to 4 KiB of program memory. ! \&\fImcu\fR = \f(CW\*(C`attiny4\*(C'\fR, \f(CW\*(C`attiny5\*(C'\fR, \f(CW\*(C`attiny9\*(C'\fR, \f(CW\*(C`attiny10\*(C'\fR, \f(CW\*(C`attiny102\*(C'\fR, \f(CW\*(C`attiny104\*(C'\fR, \f(CW\*(C`attiny20\*(C'\fR, \f(CW\*(C`attiny40\*(C'\fR. .ie n .IP """avr1""" 4 .el .IP "\f(CWavr1\fR" 4 .IX Item "avr1" *************** size. *** 22140,22149 **** Do not save registers in \f(CW\*(C`main\*(C'\fR. The effect is the same like attaching attribute \fB\s-1AVR\s0 Function Attributes,,\f(CB\*(C`OS_task\*(C'\fB\fR to \f(CW\*(C`main\*(C'\fR. It is activated per default if optimization is on. - .IP "\fB\-mn\-flash=\fR\fInum\fR" 4 - .IX Item "-mn-flash=num" - Assume that the flash memory has a size of - \&\fInum\fR times 64 KiB. .IP "\fB\-mno\-interrupts\fR" 4 .IX Item "-mno-interrupts" Generated code is not compatible with hardware interrupts. --- 22155,22160 ---- *************** differ from instructions in the assemble *** 22163,22193 **** .Sp Relaxing must be turned on if linker stubs are needed, see the section on \f(CW\*(C`EIND\*(C'\fR and linker stubs below. - .IP "\fB\-mrmw\fR" 4 - .IX Item "-mrmw" - Assume that the device supports the Read-Modify-Write - instructions \f(CW\*(C`XCH\*(C'\fR, \f(CW\*(C`LAC\*(C'\fR, \f(CW\*(C`LAS\*(C'\fR and \f(CW\*(C`LAT\*(C'\fR. - .IP "\fB\-mshort\-calls\fR" 4 - .IX Item "-mshort-calls" - Assume that \f(CW\*(C`RJMP\*(C'\fR and \f(CW\*(C`RCALL\*(C'\fR can target the whole - program memory. - .Sp - This option is used internally for multilib selection. It is - not an optimization option, and you don't need to set it by hand. - .IP "\fB\-msp8\fR" 4 - .IX Item "-msp8" - Treat the stack pointer register as an 8\-bit register, - i.e. assume the high byte of the stack pointer is zero. - In general, you don't need to set this option by hand. - .Sp - This option is used internally by the compiler to select and - build multilibs for architectures \f(CW\*(C`avr2\*(C'\fR and \f(CW\*(C`avr25\*(C'\fR. - These architectures mix devices with and without \f(CW\*(C`SPH\*(C'\fR. - For any setting other than \fB\-mmcu=avr2\fR or \fB\-mmcu=avr25\fR - the compiler driver adds or removes this option from the compiler - proper's command line, because the compiler then knows if the device - or architecture has an 8\-bit stack pointer and thus no \f(CW\*(C`SPH\*(C'\fR - register or not. .IP "\fB\-mstrict\-X\fR" 4 .IX Item "-mstrict-X" Use address register \f(CW\*(C`X\*(C'\fR in a way proposed by the hardware. This means --- 22174,22179 ---- *************** If \fIdevice\fR is not a device but only *** 22474,22479 **** --- 22460,22469 ---- .el .IP "\f(CW_\|_AVR_XMEGA_\|_\fR" 4 .IX Item "__AVR_XMEGA__" The device / architecture belongs to the \s-1XMEGA\s0 family of devices. + .ie n .IP """_\|_AVR_HAVE_ADIW_\|_""" 4 + .el .IP "\f(CW_\|_AVR_HAVE_ADIW_\|_\fR" 4 + .IX Item "__AVR_HAVE_ADIW__" + The device has the \f(CW\*(C`ADIW\*(C'\fR and \f(CW\*(C`SBIW\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_ELPM_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_ELPM_\|_\fR" 4 .IX Item "__AVR_HAVE_ELPM__" *************** The device has the \f(CW\*(C`ELPM\*(C'\f *** 22483,22498 **** .IX Item "__AVR_HAVE_ELPMX__" The device has the \f(CW\*(C`ELPM R\f(CIn\f(CW,Z\*(C'\fR and \f(CW\*(C`ELPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. - .ie n .IP """_\|_AVR_HAVE_MOVW_\|_""" 4 - .el .IP "\f(CW_\|_AVR_HAVE_MOVW_\|_\fR" 4 - .IX Item "__AVR_HAVE_MOVW__" - The device has the \f(CW\*(C`MOVW\*(C'\fR instruction to perform 16\-bit - register-register moves. .ie n .IP """_\|_AVR_HAVE_LPMX_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_LPMX_\|_\fR" 4 .IX Item "__AVR_HAVE_LPMX__" The device has the \f(CW\*(C`LPM R\f(CIn\f(CW,Z\*(C'\fR and \&\f(CW\*(C`LPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_MUL_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_MUL_\|_\fR" 4 .IX Item "__AVR_HAVE_MUL__" --- 22473,22488 ---- .IX Item "__AVR_HAVE_ELPMX__" The device has the \f(CW\*(C`ELPM R\f(CIn\f(CW,Z\*(C'\fR and \f(CW\*(C`ELPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. .ie n .IP """_\|_AVR_HAVE_LPMX_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_LPMX_\|_\fR" 4 .IX Item "__AVR_HAVE_LPMX__" The device has the \f(CW\*(C`LPM R\f(CIn\f(CW,Z\*(C'\fR and \&\f(CW\*(C`LPM R\f(CIn\f(CW,Z+\*(C'\fR instructions. + .ie n .IP """_\|_AVR_HAVE_MOVW_\|_""" 4 + .el .IP "\f(CW_\|_AVR_HAVE_MOVW_\|_\fR" 4 + .IX Item "__AVR_HAVE_MOVW__" + The device has the \f(CW\*(C`MOVW\*(C'\fR instruction to perform 16\-bit + register-register moves. .ie n .IP """_\|_AVR_HAVE_MUL_\|_""" 4 .el .IP "\f(CW_\|_AVR_HAVE_MUL_\|_\fR" 4 .IX Item "__AVR_HAVE_MUL__" *************** and is defined to \f(CW2\fR or \f(CW3\fR *** 22667,22672 **** --- 22657,22698 ---- Reflects the \f(CW\*(C`\-\-with\-libf7={libgcc|math|math\-symbols}\*(C'\fR configure\ option (\f(CW\*(C`https://gcc.gnu.org/install/configure.html#avr\*(C'\fR). .PP + \s-1AVR\s0 Internal Options + .IX Subsection "AVR Internal Options" + .PP + The following options are used internally by the compiler and to communicate + between device specs files and the compiler proper. You don't need to set these + options by hand, in particular they are not optimization options. + Using these options in the wrong way may lead to sub-optimal or wrong code. + They are documented for completeness, and in order to get a better + understanding of + device\ specs (\f(CW\*(C`https://gcc.gnu.org/wiki/avr\-gcc#spec\-files\*(C'\fR) + files. + .IP "\fB\-mn\-flash=\fR\fInum\fR" 4 + .IX Item "-mn-flash=num" + Assume that the flash memory has a size of \fInum\fR times 64 KiB. + This determines which \f(CW\*(C`_\|_flash\f(CIN\f(CW\*(C'\fR address spaces are available. + .IP "\fB\-mrmw\fR" 4 + .IX Item "-mrmw" + Assume that the device supports the Read-Modify-Write + instructions \f(CW\*(C`XCH\*(C'\fR, \f(CW\*(C`LAC\*(C'\fR, \f(CW\*(C`LAS\*(C'\fR and \f(CW\*(C`LAT\*(C'\fR. + .IP "\fB\-mshort\-calls\fR" 4 + .IX Item "-mshort-calls" + Assume that \f(CW\*(C`RJMP\*(C'\fR and \f(CW\*(C`RCALL\*(C'\fR can target the whole + program memory. This option is used for multilib generation and selection + for the devices from architecture \f(CW\*(C`avrxmega3\*(C'\fR. + .IP "\fB\-mskip\-bug\fR" 4 + .IX Item "-mskip-bug" + Generate code without skips (\f(CW\*(C`CPSE\*(C'\fR, \f(CW\*(C`SBRS\*(C'\fR, + \&\f(CW\*(C`SBRC\*(C'\fR, \f(CW\*(C`SBIS\*(C'\fR, \f(CW\*(C`SBIC\*(C'\fR) over 32\-bit instructions. + .IP "\fB\-msp8\fR" 4 + .IX Item "-msp8" + Treat the stack pointer register as an 8\-bit register, + i.e. assume the high byte of the stack pointer is zero. + This option is used by the compiler to select and + build multilibs for architectures \f(CW\*(C`avr2\*(C'\fR and \f(CW\*(C`avr25\*(C'\fR. + These architectures mix devices with and without \f(CW\*(C`SPH\*(C'\fR. + .PP \fIBlackfin Options\fR .IX Subsection "Blackfin Options" .IP "\fB\-mcpu=\fR\fIcpu\fR[\fB\-\fR\fIsirevision\fR]" 4 *************** The default code model is \f(CW\*(C`norm *** 24977,24988 **** .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. The default value for the option is determined during ! \&\s-1GCC\s0 build-time by detecting corresponding assembler support: ! \&\f(CW\*(C`\-mexplicit\-relocs\*(C'\fR if said support is present, ! \&\f(CW\*(C`\-mno\-explicit\-relocs\*(C'\fR otherwise. This option is mostly useful for ! debugging, or interoperation with assemblers different from the build-time ! one. .IP "\fB\-mdirect\-extern\-access\fR" 4 .IX Item "-mdirect-extern-access" .PD 0 --- 25003,25013 ---- .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 instruction scheduling but allow linker relaxation. The default ! value for the option is determined with the assembler capability detected ! during \s-1GCC\s0 build-time and the setting of \f(CW\*(C`\-mrelax\*(C'\fR: ! \&\f(CW\*(C`\-mexplicit\-relocs\*(C'\fR if the assembler supports relocation operators ! but \f(CW\*(C`\-mrelax\*(C'\fR is not enabled, \f(CW\*(C`\-mno\-explicit\-relocs\*(C'\fR otherwise. .IP "\fB\-mdirect\-extern\-access\fR" 4 .IX Item "-mdirect-extern-access" .PD 0 *************** environments where no dynamic link is pe *** 24999,25004 **** --- 25024,25057 ---- kernels, executables linked with \fB\-static\fR or \fB\-static\-pie\fR. \&\fB\-mdirect\-extern\-access\fR is not compatible with \fB\-fPIC\fR or \&\fB\-fpic\fR. + .IP "\fB\-mrelax\fR" 4 + .IX Item "-mrelax" + .PD 0 + .IP "\fB\-mno\-relax\fR" 4 + .IX Item "-mno-relax" + .PD + Take (do not take) advantage of linker relaxations. If + \&\fB\-mpass\-mrelax\-to\-as\fR is enabled, this option is also passed to + the assembler. The default is determined during \s-1GCC\s0 build-time by + detecting corresponding assembler support: + \&\fB\-mrelax\fR if the assembler supports both the \fB\-mrelax\fR + option and the conditional branch relaxation (it's required or the + \&\f(CW\*(C`.align\*(C'\fR directives and conditional branch instructions in the + assembly code outputted by \s-1GCC\s0 may be rejected by the assembler because + of a relocation overflow), \fB\-mno\-relax\fR otherwise. + .IP "\fB\-mpass\-mrelax\-to\-as\fR" 4 + .IX Item "-mpass-mrelax-to-as" + .PD 0 + .IP "\fB\-mno\-pass\-mrelax\-to\-as\fR" 4 + .IX Item "-mno-pass-mrelax-to-as" + .PD + Pass (do not pass) the \fB\-mrelax\fR or \fB\-mno\-relax\fR option + to the assembler. The default is determined during \s-1GCC\s0 build-time by + detecting corresponding assembler support: + \&\fB\-mpass\-mrelax\-to\-as\fR if the assembler supports the + \&\fB\-mrelax\fR option, \fB\-mno\-pass\-mrelax\-to\-as\fR otherwise. + This option is mostly useful for debugging, or interoperation with + assemblers different from the build-time one. .PP \fIM32C Options\fR .IX Subsection "M32C Options" *************** SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREF *** 31413,31420 **** XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX,\s0 GFNI-SSE, \s-1CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL,\s0 AVX-VNNI, ! \&\s-1AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD, UINTR\s0 and \s-1RAOINT\s0 ! instruction set support. .IP "\fBknl\fR" 4 .IX Item "knl" Intel Knight's Landing \s-1CPU\s0 with 64\-bit extensions, \s-1MOVBE, MMX, SSE, SSE2, SSE3, --- 31466,31473 ---- XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX,\s0 GFNI-SSE, \s-1CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL,\s0 AVX-VNNI, ! \&\s-1AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD\s0 and \s-1UINTR\s0 instruction set ! support. .IP "\fBknl\fR" 4 .IX Item "knl" Intel Knight's Landing \s-1CPU\s0 with 64\-bit extensions, \s-1MOVBE, MMX, SSE, SSE2, SSE3, diff -Nrcpad gcc-13.2.0/gcc/doc/gcc.info gcc-13.3.0/gcc/doc/gcc.info *** gcc-13.2.0/gcc/doc/gcc.info Thu Jul 27 08:33:29 2023 --- gcc-13.3.0/gcc/doc/gcc.info Tue May 21 08:05:57 2024 *************** Introduction *** 63,69 **** 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 13.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. --- 63,69 ---- 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 13.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_ *** 1193,1199 **** -mn_flash=SIZE -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr _Blackfin Options_ --- 1193,1199 ---- -mn_flash=SIZE -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -mskip-bug -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr _Blackfin Options_ *************** _Machine-Dependent Options_ *** 1359,1365 **** -mmax-inline-memcpy-size=N -mexplicit-relocs -mno-explicit-relocs -mdirect-extern-access -mno-direct-extern-access ! -mcmodel=CODE-MODEL _M32R/D Options_ -m32r2 -m32rx -m32r --- 1359,1365 ---- -mmax-inline-memcpy-size=N -mexplicit-relocs -mno-explicit-relocs -mdirect-extern-access -mno-direct-extern-access ! -mcmodel=CODE-MODEL -mrelax -mpass-mrelax-to-as _M32R/D Options_ -m32r2 -m32rx -m32r *************** includes experimental options that may p *** 14757,14762 **** --- 14757,14770 ---- Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. + 'uninit-max-chain-len' + Maximum number of predicates anded for each predicate ored in + the normalized predicate chain. + + 'uninit-max-num-chains' + Maximum number of predicates ored in the normalized predicate + chain. + 'sched-autopref-queue-depth' Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into; at ' ' only enable *************** These options are defined for AArch64 im *** 19064,19070 **** 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', 'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55', 'cortex-r82', 'cortex-x1', 'cortex-x1c', 'cortex-x2', 'cortex-x3', 'cortex-a510', ! 'cortex-a710', 'cortex-a715', 'ampere1', 'ampere1a', and 'native'. The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', --- 19072,19079 ---- 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', 'cortex-a75.cortex-a55', 'cortex-a76.cortex-a55', 'cortex-r82', 'cortex-x1', 'cortex-x1c', 'cortex-x2', 'cortex-x3', 'cortex-a510', ! 'cortex-a710', 'cortex-a715', 'ampere1', 'ampere1a', 'cobalt-100' ! and 'native'. The values 'cortex-a57.cortex-a53', 'cortex-a72.cortex-a53', 'cortex-a73.cortex-a35', 'cortex-a73.cortex-a53', *************** File: gcc.info, Node: AVR Options, Nex *** 21226,21236 **** These options are defined for AVR implementations: '-mmcu=MCU' ! Specify Atmel AVR instruction set architectures (ISA) or MCU type. ! The default for this option is 'avr2'. ! GCC supports the following AVR devices and ISAs: 'avr2' "Classic" devices with up to 8 KiB of program memory. --- 21235,21252 ---- These options are defined for AVR implementations: '-mmcu=MCU' ! Specify the AVR instruction set architecture (ISA) or device type. The default for this option is 'avr2'. ! The following AVR devices and ISAs are supported. _Note:_ A ! complete device support consists of startup code 'crtMCU.o', a ! device header 'avr/io*.h', a device library 'libMCU.a' and a ! device-specs (https://gcc.gnu.org/wiki/avr-gcc#spec-files) file ! 'specs-MCU'. Only the latter is provided by the compiler according ! the supported 'MCU's below. The rest is supported by ! AVR-LibC (https://www.nongnu.org/avr-libc/), or by means of ! 'atpack' (https://gcc.gnu.org/wiki/avr-gcc#atpack) files from the ! hardware manufacturer. 'avr2' "Classic" devices with up to 8 KiB of program memory. *************** These options are defined for AVR implem *** 21270,21278 **** MCU = 'atmega48', 'atmega48a', 'atmega48p', 'atmega48pa', 'atmega48pb', 'atmega8', 'atmega8a', 'atmega8hva', 'atmega88', 'atmega88a', 'atmega88p', 'atmega88pa', 'atmega88pb', ! 'atmega8515', 'atmega8535', 'ata6285', 'ata6286', 'ata6289', ! 'ata6612c', 'at90pwm1', 'at90pwm2', 'at90pwm2b', 'at90pwm3', ! 'at90pwm3b', 'at90pwm81'. 'avr5' "Enhanced" devices with 16 KiB up to 64 KiB of program memory. --- 21286,21294 ---- MCU = 'atmega48', 'atmega48a', 'atmega48p', 'atmega48pa', 'atmega48pb', 'atmega8', 'atmega8a', 'atmega8hva', 'atmega88', 'atmega88a', 'atmega88p', 'atmega88pa', 'atmega88pb', ! 'atmega8515', 'atmega8535', 'ata5795', 'ata6285', 'ata6286', ! 'ata6289', 'ata6612c', 'at90pwm1', 'at90pwm2', 'at90pwm2b', ! 'at90pwm3', 'at90pwm3b', 'at90pwm81'. 'avr5' "Enhanced" devices with 16 KiB up to 64 KiB of program memory. *************** These options are defined for AVR implem *** 21298,21308 **** 'atmega644rfr2', 'atmega645', 'atmega645a', 'atmega645p', 'atmega649', 'atmega649a', 'atmega649p', 'atmega6450', 'atmega6450a', 'atmega6450p', 'atmega6490', 'atmega6490a', ! 'atmega6490p', 'ata5795', 'ata5790', 'ata5790n', 'ata5791', ! 'ata6613c', 'ata6614q', 'ata5782', 'ata5831', 'ata8210', ! 'ata8510', 'ata5702m322', 'at90pwm161', 'at90pwm216', ! 'at90pwm316', 'at90can32', 'at90can64', 'at90scr100', ! 'at90usb646', 'at90usb647', 'at94k', 'm3000'. 'avr51' "Enhanced" devices with 128 KiB of program memory. --- 21314,21325 ---- 'atmega644rfr2', 'atmega645', 'atmega645a', 'atmega645p', 'atmega649', 'atmega649a', 'atmega649p', 'atmega6450', 'atmega6450a', 'atmega6450p', 'atmega6490', 'atmega6490a', ! 'atmega6490p', 'ata5790', 'ata5790n', 'ata5791', 'ata6613c', ! 'ata6614q', 'ata5782', 'ata5831', 'ata8210', 'ata8510', ! 'ata5787', 'ata5835', 'ata5700m322', 'ata5702m322', ! 'at90pwm161', 'at90pwm216', 'at90pwm316', 'at90can32', ! 'at90can64', 'at90scr100', 'at90usb646', 'at90usb647', ! 'at94k', 'm3000'. 'avr51' "Enhanced" devices with 128 KiB of program memory. *************** These options are defined for AVR implem *** 21325,21331 **** 'atxmega32a4u', 'atxmega32c3', 'atxmega32c4', 'atxmega32d3', 'atxmega32d4', 'atxmega32e5', 'avr64da28', 'avr64da32', 'avr64da48', 'avr64da64', 'avr64db28', 'avr64db32', ! 'avr64db48', 'avr64db64'. 'avrxmega3' "XMEGA" devices with up to 64 KiB of combined program memory --- 21342,21350 ---- 'atxmega32a4u', 'atxmega32c3', 'atxmega32c4', 'atxmega32d3', 'atxmega32d4', 'atxmega32e5', 'avr64da28', 'avr64da32', 'avr64da48', 'avr64da64', 'avr64db28', 'avr64db32', ! 'avr64db48', 'avr64db64', 'avr64dd14', 'avr64dd20', ! 'avr64dd28', 'avr64dd32', 'avr64du28', 'avr64du32', ! 'avr64ea28', 'avr64ea32', 'avr64ea48'. 'avrxmega3' "XMEGA" devices with up to 64 KiB of combined program memory *************** These options are defined for AVR implem *** 21333,21346 **** space. MCU = 'attiny202', 'attiny204', 'attiny212', 'attiny214', 'attiny402', 'attiny404', 'attiny406', 'attiny412', ! 'attiny414', 'attiny416', 'attiny417', 'attiny804', 'attiny806', 'attiny807', 'attiny814', 'attiny816', ! 'attiny817', 'attiny1604', 'attiny1606', 'attiny1607', ! 'attiny1614', 'attiny1616', 'attiny1617', 'attiny3214', ! 'attiny3216', 'attiny3217', 'atmega808', 'atmega809', ! 'atmega1608', 'atmega1609', 'atmega3208', 'atmega3209', ! 'atmega4808', 'atmega4809', 'avr32da28', 'avr32da32', ! 'avr32da48', 'avr32db28', 'avr32db32', 'avr32db48'. 'avrxmega4' "XMEGA" devices with more than 64 KiB and up to 128 KiB of --- 21352,21375 ---- space. MCU = 'attiny202', 'attiny204', 'attiny212', 'attiny214', 'attiny402', 'attiny404', 'attiny406', 'attiny412', ! 'attiny414', 'attiny416', 'attiny416auto', 'attiny417', ! 'attiny424', 'attiny426', 'attiny427', 'attiny804', 'attiny806', 'attiny807', 'attiny814', 'attiny816', ! 'attiny817', 'attiny824', 'attiny826', 'attiny827', ! 'attiny1604', 'attiny1606', 'attiny1607', 'attiny1614', ! 'attiny1616', 'attiny1617', 'attiny1624', 'attiny1626', ! 'attiny1627', 'attiny3214', 'attiny3216', 'attiny3217', ! 'attiny3224', 'attiny3226', 'attiny3227', 'atmega808', ! 'atmega809', 'atmega1608', 'atmega1609', 'atmega3208', ! 'atmega3209', 'atmega4808', 'atmega4809', 'avr16dd14', ! 'avr16dd20', 'avr16dd28', 'avr16dd32', 'avr16du14', ! 'avr16du20', 'avr16du28', 'avr16du32', 'avr16ea28', ! 'avr16ea32', 'avr16ea48', 'avr16eb14', 'avr16eb20', ! 'avr16eb28', 'avr16eb32', 'avr32da28', 'avr32da32', ! 'avr32da48', 'avr32db28', 'avr32db32', 'avr32db48', ! 'avr32dd14', 'avr32dd20', 'avr32dd28', 'avr32dd32', ! 'avr32du14', 'avr32du20', 'avr32du28', 'avr32du32', ! 'avr32ea28', 'avr32ea32', 'avr32ea48'. 'avrxmega4' "XMEGA" devices with more than 64 KiB and up to 128 KiB of *************** These options are defined for AVR implem *** 21374,21381 **** 'avrtiny' "TINY" Tiny core devices with 512 B up to 4 KiB of program memory. ! MCU = 'attiny4', 'attiny5', 'attiny9', 'attiny10', 'attiny20', ! 'attiny40'. 'avr1' This ISA is implemented by the minimal AVR core and supported --- 21403,21410 ---- 'avrtiny' "TINY" Tiny core devices with 512 B up to 4 KiB of program memory. ! MCU = 'attiny4', 'attiny5', 'attiny9', 'attiny10', ! 'attiny102', 'attiny104', 'attiny20', 'attiny40'. 'avr1' This ISA is implemented by the minimal AVR core and supported *************** These options are defined for AVR implem *** 21443,21451 **** attaching attribute *note 'OS_task': AVR Function Attributes. to 'main'. It is activated per default if optimization is on. - '-mn-flash=NUM' - Assume that the flash memory has a size of NUM times 64 KiB. - '-mno-interrupts' Generated code is not compatible with hardware interrupts. Code size is smaller. --- 21472,21477 ---- *************** These options are defined for AVR implem *** 21464,21493 **** Relaxing must be turned on if linker stubs are needed, see the section on 'EIND' and linker stubs below. - '-mrmw' - Assume that the device supports the Read-Modify-Write instructions - 'XCH', 'LAC', 'LAS' and 'LAT'. - - '-mshort-calls' - - Assume that 'RJMP' and 'RCALL' can target the whole program memory. - - This option is used internally for multilib selection. It is not - an optimization option, and you don't need to set it by hand. - - '-msp8' - Treat the stack pointer register as an 8-bit register, i.e. assume - the high byte of the stack pointer is zero. In general, you don't - need to set this option by hand. - - This option is used internally by the compiler to select and build - multilibs for architectures 'avr2' and 'avr25'. These - architectures mix devices with and without 'SPH'. For any setting - other than '-mmcu=avr2' or '-mmcu=avr25' the compiler driver adds - or removes this option from the compiler proper's command line, - because the compiler then knows if the device or architecture has - an 8-bit stack pointer and thus no 'SPH' register or not. - '-mstrict-X' Use address register 'X' in a way proposed by the hardware. This means that 'X' is only used in indirect, post-increment or --- 21490,21495 ---- *************** Spaces:: and *note AVR Built-in Function *** 21733,21751 **** '__AVR_XMEGA__' The device / architecture belongs to the XMEGA family of devices. '__AVR_HAVE_ELPM__' The device has the 'ELPM' instruction. '__AVR_HAVE_ELPMX__' The device has the 'ELPM RN,Z' and 'ELPM RN,Z+' instructions. '__AVR_HAVE_MOVW__' The device has the 'MOVW' instruction to perform 16-bit register-register moves. - '__AVR_HAVE_LPMX__' - The device has the 'LPM RN,Z' and 'LPM RN,Z+' instructions. - '__AVR_HAVE_MUL__' The device has a hardware multiplier. --- 21735,21756 ---- '__AVR_XMEGA__' The device / architecture belongs to the XMEGA family of devices. + '__AVR_HAVE_ADIW__' + The device has the 'ADIW' and 'SBIW' instructions. + '__AVR_HAVE_ELPM__' The device has the 'ELPM' instruction. '__AVR_HAVE_ELPMX__' The device has the 'ELPM RN,Z' and 'ELPM RN,Z+' instructions. + '__AVR_HAVE_LPMX__' + The device has the 'LPM RN,Z' and 'LPM RN,Z+' instructions. + '__AVR_HAVE_MOVW__' The device has the 'MOVW' instruction to perform 16-bit register-register moves. '__AVR_HAVE_MUL__' The device has a hardware multiplier. *************** Spaces:: and *note AVR Built-in Function *** 21853,21858 **** --- 21858,21900 ---- Reflects the '--with-libf7={libgcc|math|math-symbols}' configure option (https://gcc.gnu.org/install/configure.html#avr). + 3.19.6.4 AVR Internal Options + ............................. + + The following options are used internally by the compiler and to + communicate between device specs files and the compiler proper. You + don't need to set these options by hand, in particular they are not + optimization options. Using these options in the wrong way may lead to + sub-optimal or wrong code. They are documented for completeness, and in + order to get a better understanding of + device specs (https://gcc.gnu.org/wiki/avr-gcc#spec-files) files. + + '-mn-flash=NUM' + Assume that the flash memory has a size of NUM times 64 KiB. This + determines which '__flashN' address spaces are available. + + '-mrmw' + Assume that the device supports the Read-Modify-Write instructions + 'XCH', 'LAC', 'LAS' and 'LAT'. + + '-mshort-calls' + + Assume that 'RJMP' and 'RCALL' can target the whole program memory. + This option is used for multilib generation and selection for the + devices from architecture 'avrxmega3'. + + '-mskip-bug' + + Generate code without skips ('CPSE', 'SBRS', 'SBRC', 'SBIS', + 'SBIC') over 32-bit instructions. + + '-msp8' + Treat the stack pointer register as an 8-bit register, i.e. assume + the high byte of the stack pointer is zero. This option is used by + the compiler to select and build multilibs for architectures 'avr2' + and 'avr25'. These architectures mix devices with and without + 'SPH'. +  File: gcc.info, Node: Blackfin Options, Next: C6X Options, Prev: AVR Options, Up: Submodel Options *************** These command-line options are defined f *** 23936,23947 **** '-mno-explicit-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. The default value for the ! option is determined during GCC build-time by detecting ! corresponding assembler support: '-mexplicit-relocs' if said ! support is present, '-mno-explicit-relocs' otherwise. This option ! is mostly useful for debugging, or interoperation with assemblers ! different from the build-time one. '-mdirect-extern-access' '-mno-direct-extern-access' --- 23978,23989 ---- '-mno-explicit-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 instruction scheduling but allow linker ! relaxation. The default value for the option is determined with ! the assembler capability detected during GCC build-time and the ! setting of '-mrelax': '-mexplicit-relocs' if the assembler supports ! relocation operators but '-mrelax' is not enabled, ! '-mno-explicit-relocs' otherwise. '-mdirect-extern-access' '-mno-direct-extern-access' *************** These command-line options are defined f *** 23955,23960 **** --- 23997,24024 ---- kernels, executables linked with '-static' or '-static-pie'. '-mdirect-extern-access' is not compatible with '-fPIC' or '-fpic'. + '-mrelax' + '-mno-relax' + Take (do not take) advantage of linker relaxations. If + '-mpass-mrelax-to-as' is enabled, this option is also passed to the + assembler. The default is determined during GCC build-time by + detecting corresponding assembler support: '-mrelax' if the + assembler supports both the '-mrelax' option and the conditional + branch relaxation (it's required or the '.align' directives and + conditional branch instructions in the assembly code outputted by + GCC may be rejected by the assembler because of a relocation + overflow), '-mno-relax' otherwise. + + '-mpass-mrelax-to-as' + '-mno-pass-mrelax-to-as' + Pass (do not pass) the '-mrelax' or '-mno-relax' option to the + assembler. The default is determined during GCC build-time by + detecting corresponding assembler support: '-mpass-mrelax-to-as' if + the assembler supports the '-mrelax' option, + '-mno-pass-mrelax-to-as' otherwise. This option is mostly useful + for debugging, or interoperation with assemblers different from the + build-time one. +  File: gcc.info, Node: M32C Options, Next: M32R/D Options, Prev: LoongArch Options, Up: Submodel Options *************** These '-m' options are defined for the x *** 29568,29574 **** CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, ! CMPCCXADD, ENQCMD, UINTR and RAOINT instruction set support. 'knl' Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, --- 29632,29638 ---- CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, AVXIFMA, AVXVNNIINT8, AVXNECONVERT, ! CMPCCXADD, ENQCMD and UINTR instruction set support. 'knl' Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, *************** File: gcc.info, Node: Floating Types, *** 34246,34255 **** ISO/IEC TS 18661-3:2015 defines C support for additional floating types '_FloatN' and '_FloatNx', and GCC supports these type names; the set of ! types supported depends on the target architecture. These types are not ! supported when compiling C++. Constants with these types use suffixes ! 'fN' or 'FN' and 'fNx' or 'FNx'. These type names can be used together ! with '_Complex' to declare complex types. As an extension, GNU C and GNU C++ support additional floating types, which are not supported by all targets. --- 34310,34318 ---- ISO/IEC TS 18661-3:2015 defines C support for additional floating types '_FloatN' and '_FloatNx', and GCC supports these type names; the set of ! types supported depends on the target architecture. Constants with ! these types use suffixes 'fN' or 'FN' and 'fNx' or 'FNx'. These type ! names can be used together with '_Complex' to declare complex types. As an extension, GNU C and GNU C++ support additional floating types, which are not supported by all targets. *************** to be protected. The list is ignored by *** 46579,46596 **** GCC interprets an empty list as meaning that all globally accessible variables should be protected. ! -- Built-in Function: TYPE __sync_fetch_and_add (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_fetch_and_sub (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_fetch_and_or (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_fetch_and_and (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_fetch_and_xor (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_fetch_and_nand (TYPE *ptr, TYPE ! value, ...) These built-in functions perform the operation suggested by the name, and returns the value that had previously been in memory. That is, operations on integer operands have the following --- 46642,46659 ---- GCC interprets an empty list as meaning that all globally accessible variables should be protected. ! -- Built-in Function: TYPE __sync_fetch_and_add (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_fetch_and_sub (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_fetch_and_or (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_fetch_and_and (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_fetch_and_xor (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_fetch_and_nand (TYPE *PTR, TYPE ! VALUE, ...) These built-in functions perform the operation suggested by the name, and returns the value that had previously been in memory. That is, operations on integer operands have the following *************** variables should be protected. *** 46607,46624 **** _Note:_ GCC 4.4 and later implement '__sync_fetch_and_nand' as '*ptr = ~(tmp & value)' instead of '*ptr = ~tmp & value'. ! -- Built-in Function: TYPE __sync_add_and_fetch (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_sub_and_fetch (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_or_and_fetch (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_and_and_fetch (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_xor_and_fetch (TYPE *ptr, TYPE value, ...) ! -- Built-in Function: TYPE __sync_nand_and_fetch (TYPE *ptr, TYPE ! value, ...) These built-in functions perform the operation suggested by the name, and return the new value. That is, operations on integer operands have the following semantics. Operations on pointer --- 46670,46687 ---- _Note:_ GCC 4.4 and later implement '__sync_fetch_and_nand' as '*ptr = ~(tmp & value)' instead of '*ptr = ~tmp & value'. ! -- Built-in Function: TYPE __sync_add_and_fetch (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_sub_and_fetch (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_or_and_fetch (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_and_and_fetch (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_xor_and_fetch (TYPE *PTR, TYPE VALUE, ...) ! -- Built-in Function: TYPE __sync_nand_and_fetch (TYPE *PTR, TYPE ! VALUE, ...) These built-in functions perform the operation suggested by the name, and return the new value. That is, operations on integer operands have the following semantics. Operations on pointer *************** variables should be protected. *** 46633,46642 **** _Note:_ GCC 4.4 and later implement '__sync_nand_and_fetch' as '*ptr = ~(*ptr & value)' instead of '*ptr = ~*ptr & value'. ! -- Built-in Function: bool __sync_bool_compare_and_swap (TYPE *ptr, ! TYPE oldval, TYPE newval, ...) ! -- Built-in Function: TYPE __sync_val_compare_and_swap (TYPE *ptr, TYPE ! oldval, TYPE newval, ...) These built-in functions perform an atomic compare and swap. That is, if the current value of '*PTR' is OLDVAL, then write NEWVAL into '*PTR'. --- 46696,46705 ---- _Note:_ GCC 4.4 and later implement '__sync_nand_and_fetch' as '*ptr = ~(*ptr & value)' instead of '*ptr = ~*ptr & value'. ! -- Built-in Function: bool __sync_bool_compare_and_swap (TYPE *PTR, ! TYPE OLDVAL, TYPE NEWVAL, ...) ! -- Built-in Function: TYPE __sync_val_compare_and_swap (TYPE *PTR, TYPE ! OLDVAL, TYPE NEWVAL, ...) These built-in functions perform an atomic compare and swap. That is, if the current value of '*PTR' is OLDVAL, then write NEWVAL into '*PTR'. *************** variables should be protected. *** 46648,46655 **** -- Built-in Function: void __sync_synchronize (...) This built-in function issues a full memory barrier. ! -- Built-in Function: TYPE __sync_lock_test_and_set (TYPE *ptr, TYPE ! value, ...) This built-in function, as described by Intel, is not a traditional test-and-set operation, but rather an atomic exchange operation. It writes VALUE into '*PTR', and returns the previous contents of --- 46711,46718 ---- -- Built-in Function: void __sync_synchronize (...) This built-in function issues a full memory barrier. ! -- Built-in Function: TYPE __sync_lock_test_and_set (TYPE *PTR, TYPE ! VALUE, ...) This built-in function, as described by Intel, is not a traditional test-and-set operation, but rather an atomic exchange operation. It writes VALUE into '*PTR', and returns the previous contents of *************** variables should be protected. *** 46667,46673 **** previous memory stores may not be globally visible yet, and previous memory loads may not yet be satisfied. ! -- Built-in Function: void __sync_lock_release (TYPE *ptr, ...) This built-in function releases the lock acquired by '__sync_lock_test_and_set'. Normally this means writing the constant 0 to '*PTR'. --- 46730,46736 ---- previous memory stores may not be globally visible yet, and previous memory loads may not yet be satisfied. ! -- Built-in Function: void __sync_lock_release (TYPE *PTR, ...) This built-in function releases the lock acquired by '__sync_lock_test_and_set'. Normally this means writing the constant 0 to '*PTR'. *************** are reserved for the memory order. The *** 46784,46831 **** reserved for target use and should be 0. Use of the predefined atomic values ensures proper usage. ! -- Built-in Function: TYPE __atomic_load_n (TYPE *ptr, int memorder) This built-in function implements an atomic load operation. It returns the contents of '*PTR'. The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', '__ATOMIC_ACQUIRE', and '__ATOMIC_CONSUME'. ! -- Built-in Function: void __atomic_load (TYPE *ptr, TYPE *ret, int ! memorder) This is the generic version of an atomic load. It returns the contents of '*PTR' in '*RET'. ! -- Built-in Function: void __atomic_store_n (TYPE *ptr, TYPE val, int ! memorder) This built-in function implements an atomic store operation. It writes 'VAL' into '*PTR'. The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', and '__ATOMIC_RELEASE'. ! -- Built-in Function: void __atomic_store (TYPE *ptr, TYPE *val, int ! memorder) This is the generic version of an atomic store. It stores the value of '*VAL' into '*PTR'. ! -- Built-in Function: TYPE __atomic_exchange_n (TYPE *ptr, TYPE val, ! int memorder) This built-in function implements an atomic exchange operation. It writes VAL into '*PTR', and returns the previous contents of '*PTR'. All memory order variants are valid. ! -- Built-in Function: void __atomic_exchange (TYPE *ptr, TYPE *val, ! TYPE *ret, int memorder) This is the generic version of an atomic exchange. It stores the contents of '*VAL' into '*PTR'. The original value of '*PTR' is copied into '*RET'. ! -- Built-in Function: bool __atomic_compare_exchange_n (TYPE *ptr, TYPE ! *expected, TYPE desired, bool weak, int success_memorder, int ! failure_memorder) This built-in function implements an atomic compare and exchange operation. This compares the contents of '*PTR' with the contents of '*EXPECTED'. If equal, the operation is a _read-modify-write_ --- 46847,46894 ---- reserved for target use and should be 0. Use of the predefined atomic values ensures proper usage. ! -- Built-in Function: TYPE __atomic_load_n (TYPE *PTR, int MEMORDER) This built-in function implements an atomic load operation. It returns the contents of '*PTR'. The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', '__ATOMIC_ACQUIRE', and '__ATOMIC_CONSUME'. ! -- Built-in Function: void __atomic_load (TYPE *PTR, TYPE *RET, int ! MEMORDER) This is the generic version of an atomic load. It returns the contents of '*PTR' in '*RET'. ! -- Built-in Function: void __atomic_store_n (TYPE *PTR, TYPE VAL, int ! MEMORDER) This built-in function implements an atomic store operation. It writes 'VAL' into '*PTR'. The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', and '__ATOMIC_RELEASE'. ! -- Built-in Function: void __atomic_store (TYPE *PTR, TYPE *VAL, int ! MEMORDER) This is the generic version of an atomic store. It stores the value of '*VAL' into '*PTR'. ! -- Built-in Function: TYPE __atomic_exchange_n (TYPE *PTR, TYPE VAL, ! int MEMORDER) This built-in function implements an atomic exchange operation. It writes VAL into '*PTR', and returns the previous contents of '*PTR'. All memory order variants are valid. ! -- Built-in Function: void __atomic_exchange (TYPE *PTR, TYPE *VAL, ! TYPE *RET, int MEMORDER) This is the generic version of an atomic exchange. It stores the contents of '*VAL' into '*PTR'. The original value of '*PTR' is copied into '*RET'. ! -- Built-in Function: bool __atomic_compare_exchange_n (TYPE *PTR, TYPE ! *EXPECTED, TYPE DESIRED, bool WEAK, int SUCCESS_MEMORDER, int ! FAILURE_MEMORDER) This built-in function implements an atomic compare and exchange operation. This compares the contents of '*PTR' with the contents of '*EXPECTED'. If equal, the operation is a _read-modify-write_ *************** values ensures proper usage. *** 46847,46872 **** nor '__ATOMIC_ACQ_REL'. It also cannot be a stronger order than that specified by SUCCESS_MEMORDER. ! -- Built-in Function: bool __atomic_compare_exchange (TYPE *ptr, TYPE ! *expected, TYPE *desired, bool weak, int success_memorder, int ! failure_memorder) This built-in function implements the generic version of '__atomic_compare_exchange'. The function is virtually identical to '__atomic_compare_exchange_n', except the desired value is also a pointer. ! -- Built-in Function: TYPE __atomic_add_fetch (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_sub_fetch (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_and_fetch (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_xor_fetch (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_or_fetch (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_nand_fetch (TYPE *ptr, TYPE val, ! int memorder) These built-in functions perform the operation suggested by the name, and return the result of the operation. Operations on pointer arguments are performed as if the operands were of the --- 46910,46935 ---- nor '__ATOMIC_ACQ_REL'. It also cannot be a stronger order than that specified by SUCCESS_MEMORDER. ! -- Built-in Function: bool __atomic_compare_exchange (TYPE *PTR, TYPE ! *EXPECTED, TYPE *DESIRED, bool WEAK, int SUCCESS_MEMORDER, int ! FAILURE_MEMORDER) This built-in function implements the generic version of '__atomic_compare_exchange'. The function is virtually identical to '__atomic_compare_exchange_n', except the desired value is also a pointer. ! -- Built-in Function: TYPE __atomic_add_fetch (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_sub_fetch (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_and_fetch (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_xor_fetch (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_or_fetch (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_nand_fetch (TYPE *PTR, TYPE VAL, ! int MEMORDER) These built-in functions perform the operation suggested by the name, and return the result of the operation. Operations on pointer arguments are performed as if the operands were of the *************** values ensures proper usage. *** 46880,46897 **** pointer type. It must not be a boolean type. All memory orders are valid. ! -- Built-in Function: TYPE __atomic_fetch_add (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_fetch_sub (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_fetch_and (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_fetch_xor (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_fetch_or (TYPE *ptr, TYPE val, int ! memorder) ! -- Built-in Function: TYPE __atomic_fetch_nand (TYPE *ptr, TYPE val, ! int memorder) These built-in functions perform the operation suggested by the name, and return the value that had previously been in '*PTR'. Operations on pointer arguments are performed as if the operands --- 46943,46960 ---- pointer type. It must not be a boolean type. All memory orders are valid. ! -- Built-in Function: TYPE __atomic_fetch_add (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_fetch_sub (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_fetch_and (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_fetch_xor (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_fetch_or (TYPE *PTR, TYPE VAL, int ! MEMORDER) ! -- Built-in Function: TYPE __atomic_fetch_nand (TYPE *PTR, TYPE VAL, ! int MEMORDER) These built-in functions perform the operation suggested by the name, and return the value that had previously been in '*PTR'. Operations on pointer arguments are performed as if the operands *************** values ensures proper usage. *** 46905,46912 **** '__atomic_op_fetch' built-in functions. All memory orders are valid. ! -- Built-in Function: bool __atomic_test_and_set (void *ptr, int ! memorder) This built-in function performs an atomic test-and-set operation on the byte at '*PTR'. The byte is set to some implementation defined --- 46968,46975 ---- '__atomic_op_fetch' built-in functions. All memory orders are valid. ! -- Built-in Function: bool __atomic_test_and_set (void *PTR, int ! MEMORDER) This built-in function performs an atomic test-and-set operation on the byte at '*PTR'. The byte is set to some implementation defined *************** values ensures proper usage. *** 46917,46923 **** All memory orders are valid. ! -- Built-in Function: void __atomic_clear (bool *ptr, int memorder) This built-in function performs an atomic clear operation on '*PTR'. After the operation, '*PTR' contains 0. It should be only --- 46980,46986 ---- All memory orders are valid. ! -- Built-in Function: void __atomic_clear (bool *PTR, int MEMORDER) This built-in function performs an atomic clear operation on '*PTR'. After the operation, '*PTR' contains 0. It should be only *************** values ensures proper usage. *** 46929,46950 **** The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', and '__ATOMIC_RELEASE'. ! -- Built-in Function: void __atomic_thread_fence (int memorder) This built-in function acts as a synchronization fence between threads based on the specified memory order. All memory orders are valid. ! -- Built-in Function: void __atomic_signal_fence (int memorder) This built-in function acts as a synchronization fence between a thread and signal handlers based in the same thread. All memory orders are valid. ! -- Built-in Function: bool __atomic_always_lock_free (size_t size, void ! *ptr) This built-in function returns 'true' if objects of SIZE bytes always generate lock-free atomic instructions for the target --- 46992,47013 ---- The valid memory order variants are '__ATOMIC_RELAXED', '__ATOMIC_SEQ_CST', and '__ATOMIC_RELEASE'. ! -- Built-in Function: void __atomic_thread_fence (int MEMORDER) This built-in function acts as a synchronization fence between threads based on the specified memory order. All memory orders are valid. ! -- Built-in Function: void __atomic_signal_fence (int MEMORDER) This built-in function acts as a synchronization fence between a thread and signal handlers based in the same thread. All memory orders are valid. ! -- Built-in Function: bool __atomic_always_lock_free (size_t SIZE, void ! *PTR) This built-in function returns 'true' if objects of SIZE bytes always generate lock-free atomic instructions for the target *************** values ensures proper usage. *** 46957,46964 **** if (__atomic_always_lock_free (sizeof (long long), 0)) ! -- Built-in Function: bool __atomic_is_lock_free (size_t size, void ! *ptr) This built-in function returns 'true' if objects of SIZE bytes always generate lock-free atomic instructions for the target --- 47020,47027 ---- if (__atomic_always_lock_free (sizeof (long long), 0)) ! -- Built-in Function: bool __atomic_is_lock_free (size_t SIZE, void ! *PTR) This built-in function returns 'true' if objects of SIZE bytes always generate lock-free atomic instructions for the target *************** File: gcc.info, Node: Integer Overflow *** 46979,46999 **** The following built-in functions allow performing simple arithmetic operations together with checking whether the operations overflowed. ! -- Built-in Function: bool __builtin_add_overflow (TYPE1 a, TYPE2 b, ! TYPE3 *res) ! -- Built-in Function: bool __builtin_sadd_overflow (int a, int b, int ! *res) ! -- Built-in Function: bool __builtin_saddl_overflow (long int a, long ! int b, long int *res) ! -- Built-in Function: bool __builtin_saddll_overflow (long long int a, ! long long int b, long long int *res) ! -- Built-in Function: bool __builtin_uadd_overflow (unsigned int a, ! unsigned int b, unsigned int *res) -- Built-in Function: bool __builtin_uaddl_overflow (unsigned long int ! a, unsigned long int b, unsigned long int *res) -- Built-in Function: bool __builtin_uaddll_overflow (unsigned long ! long int a, unsigned long long int b, unsigned long long int ! *res) These built-in functions promote the first two operands into infinite precision signed type and perform addition on those --- 47042,47062 ---- The following built-in functions allow performing simple arithmetic operations together with checking whether the operations overflowed. ! -- Built-in Function: bool __builtin_add_overflow (TYPE1 A, TYPE2 B, ! TYPE3 *RES) ! -- Built-in Function: bool __builtin_sadd_overflow (int A, int B, int ! *RES) ! -- Built-in Function: bool __builtin_saddl_overflow (long int A, long ! int B, long int *RES) ! -- Built-in Function: bool __builtin_saddll_overflow (long long int A, ! long long int B, long long int *RES) ! -- Built-in Function: bool __builtin_uadd_overflow (unsigned int A, ! unsigned int B, unsigned int *RES) -- Built-in Function: bool __builtin_uaddl_overflow (unsigned long int ! A, unsigned long int B, unsigned long int *RES) -- Built-in Function: bool __builtin_uaddll_overflow (unsigned long ! long int A, unsigned long long int B, unsigned long long int ! *RES) These built-in functions promote the first two operands into infinite precision signed type and perform addition on those *************** operations together with checking whethe *** 47013,47053 **** these built-in functions where possible, like conditional jump on overflow after addition, conditional jump on carry etc. ! -- Built-in Function: bool __builtin_sub_overflow (TYPE1 a, TYPE2 b, ! TYPE3 *res) ! -- Built-in Function: bool __builtin_ssub_overflow (int a, int b, int ! *res) ! -- Built-in Function: bool __builtin_ssubl_overflow (long int a, long ! int b, long int *res) ! -- Built-in Function: bool __builtin_ssubll_overflow (long long int a, ! long long int b, long long int *res) ! -- Built-in Function: bool __builtin_usub_overflow (unsigned int a, ! unsigned int b, unsigned int *res) -- Built-in Function: bool __builtin_usubl_overflow (unsigned long int ! a, unsigned long int b, unsigned long int *res) -- Built-in Function: bool __builtin_usubll_overflow (unsigned long ! long int a, unsigned long long int b, unsigned long long int ! *res) These built-in functions are similar to the add overflow checking built-in functions above, except they perform subtraction, subtract the second argument from the first one, instead of addition. ! -- Built-in Function: bool __builtin_mul_overflow (TYPE1 a, TYPE2 b, ! TYPE3 *res) ! -- Built-in Function: bool __builtin_smul_overflow (int a, int b, int ! *res) ! -- Built-in Function: bool __builtin_smull_overflow (long int a, long ! int b, long int *res) ! -- Built-in Function: bool __builtin_smulll_overflow (long long int a, ! long long int b, long long int *res) ! -- Built-in Function: bool __builtin_umul_overflow (unsigned int a, ! unsigned int b, unsigned int *res) -- Built-in Function: bool __builtin_umull_overflow (unsigned long int ! a, unsigned long int b, unsigned long int *res) -- Built-in Function: bool __builtin_umulll_overflow (unsigned long ! long int a, unsigned long long int b, unsigned long long int ! *res) These built-in functions are similar to the add overflow checking built-in functions above, except they perform multiplication, --- 47076,47116 ---- these built-in functions where possible, like conditional jump on overflow after addition, conditional jump on carry etc. ! -- Built-in Function: bool __builtin_sub_overflow (TYPE1 A, TYPE2 B, ! TYPE3 *RES) ! -- Built-in Function: bool __builtin_ssub_overflow (int A, int B, int ! *RES) ! -- Built-in Function: bool __builtin_ssubl_overflow (long int A, long ! int B, long int *RES) ! -- Built-in Function: bool __builtin_ssubll_overflow (long long int A, ! long long int B, long long int *RES) ! -- Built-in Function: bool __builtin_usub_overflow (unsigned int A, ! unsigned int B, unsigned int *RES) -- Built-in Function: bool __builtin_usubl_overflow (unsigned long int ! A, unsigned long int B, unsigned long int *RES) -- Built-in Function: bool __builtin_usubll_overflow (unsigned long ! long int A, unsigned long long int B, unsigned long long int ! *RES) These built-in functions are similar to the add overflow checking built-in functions above, except they perform subtraction, subtract the second argument from the first one, instead of addition. ! -- Built-in Function: bool __builtin_mul_overflow (TYPE1 A, TYPE2 B, ! TYPE3 *RES) ! -- Built-in Function: bool __builtin_smul_overflow (int A, int B, int ! *RES) ! -- Built-in Function: bool __builtin_smull_overflow (long int A, long ! int B, long int *RES) ! -- Built-in Function: bool __builtin_smulll_overflow (long long int A, ! long long int B, long long int *RES) ! -- Built-in Function: bool __builtin_umul_overflow (unsigned int A, ! unsigned int B, unsigned int *RES) -- Built-in Function: bool __builtin_umull_overflow (unsigned long int ! A, unsigned long int B, unsigned long int *RES) -- Built-in Function: bool __builtin_umulll_overflow (unsigned long ! long int A, unsigned long long int B, unsigned long long int ! *RES) These built-in functions are similar to the add overflow checking built-in functions above, except they perform multiplication, *************** operations together with checking whethe *** 47056,47067 **** The following built-in functions allow checking if simple arithmetic operation would overflow. ! -- Built-in Function: bool __builtin_add_overflow_p (TYPE1 a, TYPE2 b, ! TYPE3 c) ! -- Built-in Function: bool __builtin_sub_overflow_p (TYPE1 a, TYPE2 b, ! TYPE3 c) ! -- Built-in Function: bool __builtin_mul_overflow_p (TYPE1 a, TYPE2 b, ! TYPE3 c) These built-in functions are similar to '__builtin_add_overflow', '__builtin_sub_overflow', or '__builtin_mul_overflow', except that --- 47119,47130 ---- The following built-in functions allow checking if simple arithmetic operation would overflow. ! -- Built-in Function: bool __builtin_add_overflow_p (TYPE1 A, TYPE2 B, ! TYPE3 C) ! -- Built-in Function: bool __builtin_sub_overflow_p (TYPE1 A, TYPE2 B, ! TYPE3 C) ! -- Built-in Function: bool __builtin_mul_overflow_p (TYPE1 A, TYPE2 B, ! TYPE3 C) These built-in functions are similar to '__builtin_add_overflow', '__builtin_sub_overflow', or '__builtin_mul_overflow', except that *************** available for all target libcs, but in a *** 47416,47422 **** fallback to libc calls. These built-in functions appear both with and without the '__builtin_' prefix. ! -- Built-in Function: void * __builtin_alloca (size_t size) The '__builtin_alloca' function must be called at block scope. The function allocates an object SIZE bytes large on the stack of the calling function. The object is aligned on the default stack --- 47479,47485 ---- fallback to libc calls. These built-in functions appear both with and without the '__builtin_' prefix. ! -- Built-in Function: void * __builtin_alloca (size_t SIZE) The '__builtin_alloca' function must be called at block scope. The function allocates an object SIZE bytes large on the stack of the calling function. The object is aligned on the default stack *************** without the '__builtin_' prefix. *** 47453,47460 **** programs where GCC provides them as an extension. *Note Variable Length::, for details. ! -- Built-in Function: void * __builtin_alloca_with_align (size_t size, ! size_t alignment) The '__builtin_alloca_with_align' function must be called at block scope. The function allocates an object SIZE bytes large on the stack of the calling function. The allocated object is aligned on --- 47516,47523 ---- programs where GCC provides them as an extension. *Note Variable Length::, for details. ! -- Built-in Function: void * __builtin_alloca_with_align (size_t SIZE, ! size_t ALIGNMENT) The '__builtin_alloca_with_align' function must be called at block scope. The function allocates an object SIZE bytes large on the stack of the calling function. The allocated object is aligned on *************** without the '__builtin_' prefix. *** 47499,47505 **** extension. *Note Variable Length::, for details. -- Built-in Function: void * __builtin_alloca_with_align_and_max ! (size_t size, size_t alignment, size_t max_size) Similar to '__builtin_alloca_with_align' but takes an extra argument specifying an upper bound for SIZE in case its value cannot be computed at compile time, for use by '-fstack-usage', --- 47562,47568 ---- extension. *Note Variable Length::, for details. -- Built-in Function: void * __builtin_alloca_with_align_and_max ! (size_t SIZE, size_t ALIGNMENT, size_t MAX_SIZE) Similar to '__builtin_alloca_with_align' but takes an extra argument specifying an upper bound for SIZE in case its value cannot be computed at compile time, for use by '-fstack-usage', *************** without the '__builtin_' prefix. *** 47548,47555 **** '__builtin_has_attribute' is an intrinsic function that is not recognized in such contexts. ! -- Built-in Function: TYPE __builtin_speculation_safe_value (TYPE val, ! TYPE failval) This built-in function can be used to help mitigate against unsafe speculative execution. TYPE may be any integral type or any --- 47611,47618 ---- '__builtin_has_attribute' is an intrinsic function that is not recognized in such contexts. ! -- Built-in Function: TYPE __builtin_speculation_safe_value (TYPE VAL, ! TYPE FAILVAL) This built-in function can be used to help mitigate against unsafe speculative execution. TYPE may be any integral type or any *************** without the '__builtin_' prefix. *** 48179,48185 **** type-generic, which means it does not do default promotion from float to double. ! -- Built-in Function: double __builtin_nan (const char *str) This is an implementation of the ISO C99 function 'nan'. Since ISO C99 defines this function in terms of 'strtod', which we --- 48242,48248 ---- type-generic, which means it does not do default promotion from float to double. ! -- Built-in Function: double __builtin_nan (const char *STR) This is an implementation of the ISO C99 function 'nan'. Since ISO C99 defines this function in terms of 'strtod', which we *************** without the '__builtin_' prefix. *** 48195,48250 **** been consumed by 'strtol', is evaluated early enough that it is considered a compile-time constant. ! -- Built-in Function: _Decimal32 __builtin_nand32 (const char *str) Similar to '__builtin_nan', except the return type is '_Decimal32'. ! -- Built-in Function: _Decimal64 __builtin_nand64 (const char *str) Similar to '__builtin_nan', except the return type is '_Decimal64'. ! -- Built-in Function: _Decimal128 __builtin_nand128 (const char *str) Similar to '__builtin_nan', except the return type is '_Decimal128'. ! -- Built-in Function: float __builtin_nanf (const char *str) Similar to '__builtin_nan', except the return type is 'float'. ! -- Built-in Function: long double __builtin_nanl (const char *str) Similar to '__builtin_nan', except the return type is 'long double'. ! -- Built-in Function: _FloatN __builtin_nanfN (const char *str) Similar to '__builtin_nan', except the return type is '_FloatN'. ! -- Built-in Function: _FloatNx __builtin_nanfNx (const char *str) Similar to '__builtin_nan', except the return type is '_FloatNx'. ! -- Built-in Function: double __builtin_nans (const char *str) Similar to '__builtin_nan', except the significand is forced to be a signaling NaN. The 'nans' function is proposed by WG14 N965. ! -- Built-in Function: _Decimal32 __builtin_nansd32 (const char *str) Similar to '__builtin_nans', except the return type is '_Decimal32'. ! -- Built-in Function: _Decimal64 __builtin_nansd64 (const char *str) Similar to '__builtin_nans', except the return type is '_Decimal64'. ! -- Built-in Function: _Decimal128 __builtin_nansd128 (const char *str) Similar to '__builtin_nans', except the return type is '_Decimal128'. ! -- Built-in Function: float __builtin_nansf (const char *str) Similar to '__builtin_nans', except the return type is 'float'. ! -- Built-in Function: long double __builtin_nansl (const char *str) Similar to '__builtin_nans', except the return type is 'long double'. ! -- Built-in Function: _FloatN __builtin_nansfN (const char *str) Similar to '__builtin_nans', except the return type is '_FloatN'. ! -- Built-in Function: _FloatNx __builtin_nansfNx (const char *str) Similar to '__builtin_nans', except the return type is '_FloatNx'. -- Built-in Function: int __builtin_issignaling (...) --- 48258,48313 ---- been consumed by 'strtol', is evaluated early enough that it is considered a compile-time constant. ! -- Built-in Function: _Decimal32 __builtin_nand32 (const char *STR) Similar to '__builtin_nan', except the return type is '_Decimal32'. ! -- Built-in Function: _Decimal64 __builtin_nand64 (const char *STR) Similar to '__builtin_nan', except the return type is '_Decimal64'. ! -- Built-in Function: _Decimal128 __builtin_nand128 (const char *STR) Similar to '__builtin_nan', except the return type is '_Decimal128'. ! -- Built-in Function: float __builtin_nanf (const char *STR) Similar to '__builtin_nan', except the return type is 'float'. ! -- Built-in Function: long double __builtin_nanl (const char *STR) Similar to '__builtin_nan', except the return type is 'long double'. ! -- Built-in Function: _FloatN __builtin_nanfN (const char *STR) Similar to '__builtin_nan', except the return type is '_FloatN'. ! -- Built-in Function: _FloatNx __builtin_nanfNx (const char *STR) Similar to '__builtin_nan', except the return type is '_FloatNx'. ! -- Built-in Function: double __builtin_nans (const char *STR) Similar to '__builtin_nan', except the significand is forced to be a signaling NaN. The 'nans' function is proposed by WG14 N965. ! -- Built-in Function: _Decimal32 __builtin_nansd32 (const char *STR) Similar to '__builtin_nans', except the return type is '_Decimal32'. ! -- Built-in Function: _Decimal64 __builtin_nansd64 (const char *STR) Similar to '__builtin_nans', except the return type is '_Decimal64'. ! -- Built-in Function: _Decimal128 __builtin_nansd128 (const char *STR) Similar to '__builtin_nans', except the return type is '_Decimal128'. ! -- Built-in Function: float __builtin_nansf (const char *STR) Similar to '__builtin_nans', except the return type is 'float'. ! -- Built-in Function: long double __builtin_nansl (const char *STR) Similar to '__builtin_nans', except the return type is 'long double'. ! -- Built-in Function: _FloatN __builtin_nansfN (const char *STR) Similar to '__builtin_nans', except the return type is '_FloatN'. ! -- Built-in Function: _FloatNx __builtin_nansfNx (const char *STR) Similar to '__builtin_nans', except the return type is '_FloatNx'. -- Built-in Function: int __builtin_issignaling (...) *************** without the '__builtin_' prefix. *** 48260,48286 **** '-ffinite-math-only' option this built-in function will always return 0. ! -- Built-in Function: int __builtin_ffs (int x) Returns one plus the index of the least significant 1-bit of X, or if X is zero, returns zero. ! -- Built-in Function: int __builtin_clz (unsigned int x) Returns the number of leading 0-bits in X, starting at the most significant bit position. If X is 0, the result is undefined. ! -- Built-in Function: int __builtin_ctz (unsigned int x) Returns the number of trailing 0-bits in X, starting at the least significant bit position. If X is 0, the result is undefined. ! -- Built-in Function: int __builtin_clrsb (int x) Returns the number of leading redundant sign bits in X, i.e. the number of bits following the most significant bit that are identical to it. There are no special cases for 0 or other values. ! -- Built-in Function: int __builtin_popcount (unsigned int x) Returns the number of 1-bits in X. ! -- Built-in Function: int __builtin_parity (unsigned int x) Returns the parity of X, i.e. the number of 1-bits in X modulo 2. -- Built-in Function: int __builtin_ffsl (long) --- 48323,48349 ---- '-ffinite-math-only' option this built-in function will always return 0. ! -- Built-in Function: int __builtin_ffs (int X) Returns one plus the index of the least significant 1-bit of X, or if X is zero, returns zero. ! -- Built-in Function: int __builtin_clz (unsigned int X) Returns the number of leading 0-bits in X, starting at the most significant bit position. If X is 0, the result is undefined. ! -- Built-in Function: int __builtin_ctz (unsigned int X) Returns the number of trailing 0-bits in X, starting at the least significant bit position. If X is 0, the result is undefined. ! -- Built-in Function: int __builtin_clrsb (int X) Returns the number of leading redundant sign bits in X, i.e. the number of bits following the most significant bit that are identical to it. There are no special cases for 0 or other values. ! -- Built-in Function: int __builtin_popcount (unsigned int X) Returns the number of 1-bits in X. ! -- Built-in Function: int __builtin_parity (unsigned int X) Returns the parity of X, i.e. the number of 1-bits in X modulo 2. -- Built-in Function: int __builtin_ffsl (long) *************** without the '__builtin_' prefix. *** 48336,48370 **** Unlike the 'pow' function no guarantees about precision and rounding are made. ! -- Built-in Function: uint16_t __builtin_bswap16 (uint16_t x) Returns X with the order of the bytes reversed; for example, '0xaabb' becomes '0xbbaa'. Byte here always means exactly 8 bits. ! -- Built-in Function: uint32_t __builtin_bswap32 (uint32_t x) Similar to '__builtin_bswap16', except the argument and return types are 32-bit. ! -- Built-in Function: uint64_t __builtin_bswap64 (uint64_t x) Similar to '__builtin_bswap32', except the argument and return types are 64-bit. ! -- Built-in Function: uint128_t __builtin_bswap128 (uint128_t x) Similar to '__builtin_bswap64', except the argument and return types are 128-bit. Only supported on targets when 128-bit types are supported. ! -- Built-in Function: Pmode __builtin_extend_pointer (void * x) On targets where the user visible pointer size is smaller than the size of an actual hardware address this function returns the extended user pointer. Targets where this is true included ILP32 mode on x86_64 or Aarch64. This function is mainly useful when writing inline assembly code. ! -- Built-in Function: int __builtin_goacc_parlevel_id (int x) Returns the openacc gang, worker or vector id depending on whether X is 0, 1 or 2. ! -- Built-in Function: int __builtin_goacc_parlevel_size (int x) Returns the openacc gang, worker or vector size depending on whether X is 0, 1 or 2. --- 48399,48433 ---- Unlike the 'pow' function no guarantees about precision and rounding are made. ! -- Built-in Function: uint16_t __builtin_bswap16 (uint16_t X) Returns X with the order of the bytes reversed; for example, '0xaabb' becomes '0xbbaa'. Byte here always means exactly 8 bits. ! -- Built-in Function: uint32_t __builtin_bswap32 (uint32_t X) Similar to '__builtin_bswap16', except the argument and return types are 32-bit. ! -- Built-in Function: uint64_t __builtin_bswap64 (uint64_t X) Similar to '__builtin_bswap32', except the argument and return types are 64-bit. ! -- Built-in Function: uint128_t __builtin_bswap128 (uint128_t X) Similar to '__builtin_bswap64', except the argument and return types are 128-bit. Only supported on targets when 128-bit types are supported. ! -- Built-in Function: Pmode __builtin_extend_pointer (void * X) On targets where the user visible pointer size is smaller than the size of an actual hardware address this function returns the extended user pointer. Targets where this is true included ILP32 mode on x86_64 or Aarch64. This function is mainly useful when writing inline assembly code. ! -- Built-in Function: int __builtin_goacc_parlevel_id (int X) Returns the openacc gang, worker or vector id depending on whether X is 0, 1 or 2. ! -- Built-in Function: int __builtin_goacc_parlevel_size (int X) Returns the openacc gang, worker or vector size depending on whether X is 0, 1 or 2. *************** include 'larchintrin.h'. *** 49796,49801 **** --- 49859,49867 ---- void __syscall (imm0_32767) void __break (imm0_32767) + Returns the value that is currently set in the 'tp' register. + void * __builtin_thread_pointer (void) +  File: gcc.info, Node: MIPS DSP Built-in Functions, Next: MIPS Paired-Single Support, Prev: LoongArch Base Built-in Functions, Up: Target Builtins *************** vec_cnttzm (vector unsigned long long in *** 53289,53306 **** implemented by the 'vctzdm' instruction. vector signed char ! vec_clrl (vector signed char a, unsigned int n); vector unsigned char ! vec_clrl (vector unsigned char a, unsigned int n); Clear the left-most '(16 - n)' bytes of vector argument 'a', as if implemented by the 'vclrlb' instruction on a big-endian target and by the 'vclrrb' instruction on a little-endian target. A value of 'n' that is greater than 16 is treated as if it equaled 16. vector signed char ! vec_clrr (vector signed char a, unsigned int n); vector unsigned char ! vec_clrr (vector unsigned char a, unsigned int n); Clear the right-most '(16 - n)' bytes of vector argument 'a', as if implemented by the 'vclrrb' instruction on a big-endian target and by the 'vclrlb' instruction on a little-endian target. A value of 'n' that --- 53355,53372 ---- implemented by the 'vctzdm' instruction. vector signed char ! vec_clrl (vector signed char A, unsigned int N); vector unsigned char ! vec_clrl (vector unsigned char A, unsigned int N); Clear the left-most '(16 - n)' bytes of vector argument 'a', as if implemented by the 'vclrlb' instruction on a big-endian target and by the 'vclrrb' instruction on a little-endian target. A value of 'n' that is greater than 16 is treated as if it equaled 16. vector signed char ! vec_clrr (vector signed char A, unsigned int N); vector unsigned char ! vec_clrr (vector unsigned char A, unsigned int N); Clear the right-most '(16 - n)' bytes of vector argument 'a', as if implemented by the 'vclrrb' instruction on a big-endian target and by the 'vclrlb' instruction on a little-endian target. A value of 'n' that *************** vector unsigned int vec_genpcvm (vector *** 53676,53684 **** Vector Integer Multiply/Divide/Modulo vector signed int ! vec_mulh (vector signed int a, vector signed int b); vector unsigned int ! vec_mulh (vector unsigned int a, vector unsigned int b); For each integer value 'i' from 0 to 3, do the following. The integer value in word element 'i' of a is multiplied by the integer value in --- 53742,53750 ---- Vector Integer Multiply/Divide/Modulo vector signed int ! vec_mulh (vector signed int A, vector signed int B); vector unsigned int ! vec_mulh (vector unsigned int A, vector unsigned int B); For each integer value 'i' from 0 to 3, do the following. The integer value in word element 'i' of a is multiplied by the integer value in *************** word element 'i' of b. The high-order 3 *** 53686,53694 **** placed into word element 'i' of the vector returned. vector signed long long ! vec_mulh (vector signed long long a, vector signed long long b); vector unsigned long long ! vec_mulh (vector unsigned long long a, vector unsigned long long b); For each integer value 'i' from 0 to 1, do the following. The integer value in doubleword element 'i' of a is multiplied by the integer value --- 53752,53760 ---- placed into word element 'i' of the vector returned. vector signed long long ! vec_mulh (vector signed long long A, vector signed long long B); vector unsigned long long ! vec_mulh (vector unsigned long long A, vector unsigned long long B); For each integer value 'i' from 0 to 1, do the following. The integer value in doubleword element 'i' of a is multiplied by the integer value *************** in doubleword element 'i' of b. The hig *** 53696,53704 **** product are placed into doubleword element 'i' of the vector returned. vector unsigned long long ! vec_mul (vector unsigned long long a, vector unsigned long long b); vector signed long long ! vec_mul (vector signed long long a, vector signed long long b); For each integer value 'i' from 0 to 1, do the following. The integer value in doubleword element 'i' of a is multiplied by the integer value --- 53762,53770 ---- product are placed into doubleword element 'i' of the vector returned. vector unsigned long long ! vec_mul (vector unsigned long long A, vector unsigned long long B); vector signed long long ! vec_mul (vector signed long long A, vector signed long long B); For each integer value 'i' from 0 to 1, do the following. The integer value in doubleword element 'i' of a is multiplied by the integer value *************** in doubleword element 'i' of b. The low *** 53706,53714 **** product are placed into doubleword element 'i' of the vector returned. vector signed int ! vec_div (vector signed int a, vector signed int b); vector unsigned int ! vec_div (vector unsigned int a, vector unsigned int b); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is divided by the integer in word element 'i' --- 53772,53780 ---- product are placed into doubleword element 'i' of the vector returned. vector signed int ! vec_div (vector signed int A, vector signed int B); vector unsigned int ! vec_div (vector unsigned int A, vector unsigned int B); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is divided by the integer in word element 'i' *************** of the vector returned. If an attempt i *** 53717,53725 **** divisions ÷ 0 then the quotient is undefined. vector signed long long ! vec_div (vector signed long long a, vector signed long long b); vector unsigned long long ! vec_div (vector unsigned long long a, vector unsigned long long b); For each integer value 'i' from 0 to 1, do the following. The integer in doubleword element 'i' of a is divided by the integer in doubleword --- 53783,53791 ---- divisions ÷ 0 then the quotient is undefined. vector signed long long ! vec_div (vector signed long long A, vector signed long long B); vector unsigned long long ! vec_div (vector unsigned long long A, vector unsigned long long B); For each integer value 'i' from 0 to 1, do the following. The integer in doubleword element 'i' of a is divided by the integer in doubleword *************** perform any of the divisions 0x8000_0000 *** 53729,53737 **** 0 then the quotient is undefined. vector signed int ! vec_dive (vector signed int a, vector signed int b); vector unsigned int ! vec_dive (vector unsigned int a, vector unsigned int b); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is shifted left by 32 bits, then divided by the --- 53795,53803 ---- 0 then the quotient is undefined. vector signed int ! vec_dive (vector signed int A, vector signed int B); vector unsigned int ! vec_dive (vector unsigned int A, vector unsigned int B); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is shifted left by 32 bits, then divided by the *************** cannot be represented in 32 bits, or if *** 53741,53749 **** any of the divisions ÷ 0 then the quotient is undefined. vector signed long long ! vec_dive (vector signed long long a, vector signed long long b); vector unsigned long long ! vec_dive (vector unsigned long long a, vector unsigned long long b); For each integer value 'i' from 0 to 1, do the following. The integer in doubleword element 'i' of a is shifted left by 64 bits, then divided --- 53807,53815 ---- any of the divisions ÷ 0 then the quotient is undefined. vector signed long long ! vec_dive (vector signed long long A, vector signed long long B); vector unsigned long long ! vec_dive (vector unsigned long long A, vector unsigned long long B); For each integer value 'i' from 0 to 1, do the following. The integer in doubleword element 'i' of a is shifted left by 64 bits, then divided *************** attempt is made to perform ÷ *** 53754,53762 **** undefined. vector signed int ! vec_mod (vector signed int a, vector signed int b); vector unsigned int ! vec_mod (vector unsigned int a, vector unsigned int b); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is divided by the integer in word element 'i' --- 53820,53828 ---- undefined. vector signed int ! vec_mod (vector signed int A, vector signed int B); vector unsigned int ! vec_mod (vector unsigned int A, vector unsigned int B); For each integer value 'i' from 0 to 3, do the following. The integer in word element 'i' of a is divided by the integer in word element 'i' *************** divisions 0x8000_0000 ÷ -1 or : x86 Options. (line 1265) * maddress-mode=long: x86 Options. (line 1677) --- 66221,66231 ---- * mabort-on-noreturn: ARM Options. (line 778) * mabs=2008: MIPS Options. (line 298) * mabs=legacy: MIPS Options. (line 298) ! * mabsdata: AVR Options. (line 186) * mac0: PDP-11 Options. (line 15) * macc-4: FRV Options. (line 138) * macc-8: FRV Options. (line 142) ! * maccumulate-args: AVR Options. (line 193) * maccumulate-outgoing-args: SH Options. (line 313) * maccumulate-outgoing-args <1>: x86 Options. (line 1265) * maddress-mode=long: x86 Options. (line 1677) *************** look up both forms. *** 66318,66324 **** * mboard: OpenRISC Options. (line 8) * mbranch-cost: Adapteva Epiphany Options. (line 17) ! * mbranch-cost <1>: AVR Options. (line 188) * mbranch-cost <2>: LoongArch Options. (line 79) * mbranch-cost <3>: MIPS Options. (line 790) * mbranch-cost <4>: RISC-V Options. (line 8) --- 66384,66390 ---- * mboard: OpenRISC Options. (line 8) * mbranch-cost: Adapteva Epiphany Options. (line 17) ! * mbranch-cost <1>: AVR Options. (line 208) * mbranch-cost <2>: LoongArch Options. (line 79) * mbranch-cost <3>: MIPS Options. (line 790) * mbranch-cost <4>: RISC-V Options. (line 8) *************** look up both forms. *** 66328,66334 **** * mbranch-index: ARC Options. (line 337) * mbranch-likely: MIPS Options. (line 796) * mbranch-predict: MMIX Options. (line 46) ! * mbranch-protection: AArch64 Options. (line 290) * mbranch-protection <1>: ARM Options. (line 1029) * mbss-plt: RS/6000 and PowerPC Options. (line 160) --- 66394,66400 ---- * mbranch-index: ARC Options. (line 337) * mbranch-likely: MIPS Options. (line 796) * mbranch-predict: MMIX Options. (line 46) ! * mbranch-protection: AArch64 Options. (line 291) * mbranch-protection <1>: ARM Options. (line 1029) * mbss-plt: RS/6000 and PowerPC Options. (line 160) *************** look up both forms. *** 66353,66359 **** (line 532) * mcall-openbsd: RS/6000 and PowerPC Options. (line 536) ! * mcall-prologues: AVR Options. (line 193) * mcall-sysv: RS/6000 and PowerPC Options. (line 506) * mcall-sysv-eabi: RS/6000 and PowerPC Options. --- 66419,66425 ---- (line 532) * mcall-openbsd: RS/6000 and PowerPC Options. (line 536) ! * mcall-prologues: AVR Options. (line 213) * mcall-sysv: RS/6000 and PowerPC Options. (line 506) * mcall-sysv-eabi: RS/6000 and PowerPC Options. *************** look up both forms. *** 66434,66440 **** * mcorea: Blackfin Options. (line 153) * mcoreb: Blackfin Options. (line 160) * mcp: C-SKY Options. (line 89) ! * mcpu: AArch64 Options. (line 237) * mcpu <1>: ARC Options. (line 17) * mcpu <2>: ARM Options. (line 626) * mcpu <3>: CRIS Options. (line 8) --- 66500,66506 ---- * mcorea: Blackfin Options. (line 153) * mcoreb: Blackfin Options. (line 160) * mcp: C-SKY Options. (line 89) ! * mcpu: AArch64 Options. (line 238) * mcpu <1>: ARC Options. (line 17) * mcpu <2>: ARM Options. (line 626) * mcpu <3>: CRIS Options. (line 8) *************** look up both forms. *** 66499,66505 **** * mdlmzb: RS/6000 and PowerPC Options. (line 383) * mdmx: MIPS Options. (line 374) ! * mdouble: AVR Options. (line 197) * mdouble <1>: FRV Options. (line 47) * mdouble-float: C-SKY Options. (line 56) * mdouble-float <1>: LoongArch Options. (line 74) --- 66565,66571 ---- * mdlmzb: RS/6000 and PowerPC Options. (line 383) * mdmx: MIPS Options. (line 374) ! * mdouble: AVR Options. (line 217) * mdouble <1>: FRV Options. (line 47) * mdouble-float: C-SKY Options. (line 56) * mdouble-float <1>: LoongArch Options. (line 74) *************** look up both forms. *** 66641,66647 **** * mfpu <5>: Visium Options. (line 17) * mfpu=: C-SKY Options. (line 68) * mfpxx: MIPS Options. (line 263) ! * mfract-convert-truncate: AVR Options. (line 288) * mframe-header-opt: MIPS Options. (line 891) * mfriz: RS/6000 and PowerPC Options. (line 868) --- 66707,66713 ---- * mfpu <5>: Visium Options. (line 17) * mfpu=: C-SKY Options. (line 68) * mfpxx: MIPS Options. (line 263) ! * mfract-convert-truncate: AVR Options. (line 281) * mframe-header-opt: MIPS Options. (line 891) * mfriz: RS/6000 and PowerPC Options. (line 868) *************** look up both forms. *** 66670,66676 **** * mg13: RL78 Options. (line 58) * mg14: RL78 Options. (line 58) * mgas: HPPA Options. (line 78) ! * mgas-isr-prologues: AVR Options. (line 206) * mgcc-abi: V850 Options. (line 147) * mgeneral-regs-only: AArch64 Options. (line 23) * mgeneral-regs-only <1>: ARM Options. (line 56) --- 66736,66742 ---- * mg13: RL78 Options. (line 58) * mg14: RL78 Options. (line 58) * mgas: HPPA Options. (line 78) ! * mgas-isr-prologues: AVR Options. (line 226) * mgcc-abi: V850 Options. (line 147) * mgeneral-regs-only: AArch64 Options. (line 23) * mgeneral-regs-only <1>: ARM Options. (line 56) *************** look up both forms. *** 66720,66726 **** * mhard-float <11>: x86 Options. (line 656) * mhard-mul: OpenRISC Options. (line 22) * mhard-quad-float: SPARC Options. (line 54) ! * mharden-sls: AArch64 Options. (line 303) * mharden-sls <1>: x86 Options. (line 1607) * mhardlit: MCore Options. (line 8) * mhigh-registers: C-SKY Options. (line 118) --- 66786,66792 ---- * mhard-float <11>: x86 Options. (line 656) * mhard-mul: OpenRISC Options. (line 22) * mhard-quad-float: SPARC Options. (line 54) ! * mharden-sls: AArch64 Options. (line 304) * mharden-sls <1>: x86 Options. (line 1607) * mhardlit: MCore Options. (line 8) * mhigh-registers: C-SKY Options. (line 118) *************** look up both forms. *** 66776,66782 **** * mint16: PDP-11 Options. (line 31) * mint32: H8/300 Options. (line 37) * mint32 <1>: PDP-11 Options. (line 35) ! * mint8: AVR Options. (line 215) * minterlink-compressed: MIPS Options. (line 133) * minterlink-mips16: MIPS Options. (line 145) * mips1: MIPS Options. (line 79) --- 66842,66848 ---- * mint16: PDP-11 Options. (line 31) * mint32: H8/300 Options. (line 37) * mint32 <1>: PDP-11 Options. (line 35) ! * mint8: AVR Options. (line 235) * minterlink-compressed: MIPS Options. (line 133) * minterlink-mips16: MIPS Options. (line 145) * mips1: MIPS Options. (line 79) *************** look up both forms. *** 66856,66862 **** * mlong-calls <5>: HPPA Options. (line 112) * mlong-calls <6>: MIPS Options. (line 607) * mlong-calls <7>: V850 Options. (line 8) ! * mlong-double: AVR Options. (line 197) * mlong-double-128: S/390 and zSeries Options. (line 27) * mlong-double-128 <1>: x86 Options. (line 733) --- 66922,66928 ---- * mlong-calls <5>: HPPA Options. (line 112) * mlong-calls <6>: MIPS Options. (line 607) * mlong-calls <7>: V850 Options. (line 8) ! * mlong-double: AVR Options. (line 217) * mlong-double-128: S/390 and zSeries Options. (line 27) * mlong-double-128 <1>: x86 Options. (line 733) *************** look up both forms. *** 66903,66909 **** * mmac_d16: ARC Options. (line 632) * mmad: MIPS Options. (line 616) * mmadd4: MIPS Options. (line 906) ! * mmain-is-OS_task: AVR Options. (line 221) * mmainkernel: Nvidia PTX Options. (line 40) * mmalloc64: VMS Options. (line 16) * mmanual-endbr: x86 Options. (line 1225) --- 66969,66975 ---- * mmac_d16: ARC Options. (line 632) * mmad: MIPS Options. (line 616) * mmadd4: MIPS Options. (line 906) ! * mmain-is-OS_task: AVR Options. (line 241) * mmainkernel: Nvidia PTX Options. (line 40) * mmalloc64: VMS Options. (line 16) * mmanual-endbr: x86 Options. (line 1225) *************** look up both forms. *** 66973,66979 **** * mmwait: x86 Options. (line 1133) * mmwaitx: x86 Options. (line 958) * mn: H8/300 Options. (line 19) ! * mn-flash: AVR Options. (line 226) * mnan=2008: MIPS Options. (line 318) * mnan=legacy: MIPS Options. (line 318) * mneeded: x86 Options. (line 1687) --- 67039,67045 ---- * mmwait: x86 Options. (line 1133) * mmwaitx: x86 Options. (line 958) * mn: H8/300 Options. (line 19) ! * mn-flash: AVR Options. (line 643) * mnan=2008: MIPS Options. (line 318) * mnan=legacy: MIPS Options. (line 318) * mneeded: x86 Options. (line 1687) *************** look up both forms. *** 67137,67143 **** * mno-int32: PDP-11 Options. (line 31) * mno-interlink-compressed: MIPS Options. (line 133) * mno-interlink-mips16: MIPS Options. (line 145) ! * mno-interrupts: AVR Options. (line 229) * mno-isel: RS/6000 and PowerPC Options. (line 165) * mno-jsr: RX Options. (line 167) --- 67203,67209 ---- * mno-int32: PDP-11 Options. (line 31) * mno-interlink-compressed: MIPS Options. (line 133) * mno-interlink-mips16: MIPS Options. (line 145) ! * mno-interrupts: AVR Options. (line 246) * mno-isel: RS/6000 and PowerPC Options. (line 165) * mno-jsr: RX Options. (line 167) *************** look up both forms. *** 67205,67211 **** * mno-packed-stack: S/390 and zSeries Options. (line 52) * mno-paired-single: MIPS Options. (line 368) ! * mno-pc-relative-literal-loads: AArch64 Options. (line 275) * mno-pcrel: RS/6000 and PowerPC Options. (line 930) * mno-pic: IA-64 Options. (line 25) --- 67271,67277 ---- * mno-packed-stack: S/390 and zSeries Options. (line 52) * mno-paired-single: MIPS Options. (line 368) ! * mno-pc-relative-literal-loads: AArch64 Options. (line 276) * mno-pcrel: RS/6000 and PowerPC Options. (line 930) * mno-pic: IA-64 Options. (line 25) *************** look up both forms. *** 67380,67386 **** * moptimize-membar: FRV Options. (line 243) * moptimize-membar <1>: FRV Options. (line 248) * mordered: HPPA Options. (line 154) ! * moverride: AArch64 Options. (line 263) * MP: Preprocessor Options. (line 134) * mpa-risc-1-0: HPPA Options. (line 16) --- 67446,67452 ---- * moptimize-membar: FRV Options. (line 243) * moptimize-membar <1>: FRV Options. (line 248) * mordered: HPPA Options. (line 154) ! * moverride: AArch64 Options. (line 264) * MP: Preprocessor Options. (line 134) * mpa-risc-1-0: HPPA Options. (line 16) *************** look up both forms. *** 67391,67397 **** (line 52) * mpadstruct: SH Options. (line 188) * mpaired-single: MIPS Options. (line 368) ! * mpc-relative-literal-loads: AArch64 Options. (line 275) * mpc32: x86 Options. (line 814) * mpc64: x86 Options. (line 814) * mpc80: x86 Options. (line 814) --- 67457,67463 ---- (line 52) * mpadstruct: SH Options. (line 188) * mpaired-single: MIPS Options. (line 368) ! * mpc-relative-literal-loads: AArch64 Options. (line 276) * mpc32: x86 Options. (line 814) * mpc64: x86 Options. (line 814) * mpc80: x86 Options. (line 814) *************** look up both forms. *** 67498,67504 **** * mregnames: RS/6000 and PowerPC Options. (line 720) * mregparm: x86 Options. (line 786) ! * mrelax: AVR Options. (line 233) * mrelax <1>: H8/300 Options. (line 8) * mrelax <2>: MN10300 Options. (line 45) * mrelax <3>: MSP430 Options. (line 87) --- 67564,67570 ---- * mregnames: RS/6000 and PowerPC Options. (line 720) * mregparm: x86 Options. (line 786) ! * mrelax: AVR Options. (line 250) * mrelax <1>: H8/300 Options. (line 8) * mrelax <2>: MN10300 Options. (line 45) * mrelax <3>: MSP430 Options. (line 87) *************** look up both forms. *** 67522,67528 **** * mrh850-abi: V850 Options. (line 125) * mriscv-attribute: RISC-V Options. (line 169) * mrl78: RL78 Options. (line 58) ! * mrmw: AVR Options. (line 247) * mrop-protect: RS/6000 and PowerPC Options. (line 947) * mror: OpenRISC Options. (line 48) --- 67588,67594 ---- * mrh850-abi: V850 Options. (line 125) * mriscv-attribute: RISC-V Options. (line 169) * mrl78: RL78 Options. (line 58) ! * mrmw: AVR Options. (line 647) * mrop-protect: RS/6000 and PowerPC Options. (line 947) * mror: OpenRISC Options. (line 48) *************** look up both forms. *** 67603,67614 **** * mshared-library-id: Blackfin Options. (line 99) * mshftimm: OpenRISC Options. (line 67) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 251) * mshorten-memrefs: RISC-V Options. (line 126) * mshstk: x86 Options. (line 1123) * mside-effects: CRIS Options. (line 43) * msign-extend-enabled: LM32 Options. (line 17) ! * msign-return-address: AArch64 Options. (line 282) * msilicon-errata: MSP430 Options. (line 158) * msilicon-errata-warn: MSP430 Options. (line 162) * msim: Blackfin Options. (line 35) --- 67669,67680 ---- * mshared-library-id: Blackfin Options. (line 99) * mshftimm: OpenRISC Options. (line 67) * mshort: M680x0 Options. (line 216) ! * mshort-calls: AVR Options. (line 651) * mshorten-memrefs: RISC-V Options. (line 126) * mshstk: x86 Options. (line 1123) * mside-effects: CRIS Options. (line 43) * msign-extend-enabled: LM32 Options. (line 17) ! * msign-return-address: AArch64 Options. (line 283) * msilicon-errata: MSP430 Options. (line 158) * msilicon-errata-warn: MSP430 Options. (line 162) * msim: Blackfin Options. (line 35) *************** look up both forms. *** 67632,67637 **** --- 67698,67704 ---- (line 450) * msio: HPPA Options. (line 168) * msize-level: ARC Options. (line 535) + * mskip-bug: AVR Options. (line 657) * mskip-rax-setup: x86 Options. (line 1514) * mslow-bytes: MCore Options. (line 33) * mslow-flash-data: ARM Options. (line 952) *************** look up both forms. *** 67676,67682 **** * msoft-mult: HPPA Options. (line 188) * msoft-quad-float: SPARC Options. (line 58) * msoft-stack: Nvidia PTX Options. (line 48) ! * msp8: AVR Options. (line 258) * mspace: V850 Options. (line 29) * mspace-regs: HPPA Options. (line 147) * mspecld-anomaly: Blackfin Options. (line 47) --- 67743,67749 ---- * msoft-mult: HPPA Options. (line 188) * msoft-quad-float: SPARC Options. (line 58) * msoft-stack: Nvidia PTX Options. (line 48) ! * msp8: AVR Options. (line 662) * mspace: V850 Options. (line 29) * mspace-regs: HPPA Options. (line 147) * mspecld-anomaly: Blackfin Options. (line 47) *************** look up both forms. *** 67743,67756 **** * mstrict-align <3>: RISC-V Options. (line 135) * mstrict-align <4>: RS/6000 and PowerPC Options. (line 401) ! * mstrict-X: AVR Options. (line 271) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 707) * mstringop-strategy=ALG: x86 Options. (line 1418) * mstructure-size-boundary: ARM Options. (line 762) * msubxc: SPARC Options. (line 286) * msv-mode: Visium Options. (line 51) ! * msve-vector-bits: AArch64 Options. (line 311) * msvr4-struct-return: RS/6000 and PowerPC Options. (line 547) * mswap: ARC Options. (line 160) --- 67810,67823 ---- * mstrict-align <3>: RISC-V Options. (line 135) * mstrict-align <4>: RS/6000 and PowerPC Options. (line 401) ! * mstrict-X: AVR Options. (line 264) * mstring-compare-inline-limit: RS/6000 and PowerPC Options. (line 707) * mstringop-strategy=ALG: x86 Options. (line 1418) * mstructure-size-boundary: ARM Options. (line 762) * msubxc: SPARC Options. (line 286) * msv-mode: Visium Options. (line 51) ! * msve-vector-bits: AArch64 Options. (line 312) * msvr4-struct-return: RS/6000 and PowerPC Options. (line 547) * mswap: ARC Options. (line 160) *************** look up both forms. *** 67773,67779 **** * mthumb: ARM Options. (line 849) * mthumb-interwork: ARM Options. (line 23) * mtiny-printf: MSP430 Options. (line 121) ! * mtiny-stack: AVR Options. (line 285) * mTLS: FRV Options. (line 89) * mtls: FRV Options. (line 93) * mtls-dialect: ARM Options. (line 902) --- 67840,67846 ---- * mthumb: ARM Options. (line 849) * mthumb-interwork: ARM Options. (line 23) * mtiny-printf: MSP430 Options. (line 121) ! * mtiny-stack: AVR Options. (line 278) * mTLS: FRV Options. (line 89) * mtls: FRV Options. (line 93) * mtls-dialect: ARM Options. (line 902) *************** look up both forms. *** 67868,67874 **** * mvect-double: Adapteva Epiphany Options. (line 114) * mvect8-ret-in-mem: x86 Options. (line 807) ! * mverbose-cost-dump: AArch64 Options. (line 271) * mverbose-cost-dump <1>: ARM Options. (line 976) * mvirt: MIPS Options. (line 405) * mvis: SPARC Options. (line 219) --- 67935,67941 ---- * mvect-double: Adapteva Epiphany Options. (line 114) * mvect8-ret-in-mem: x86 Options. (line 807) ! * mverbose-cost-dump: AArch64 Options. (line 272) * mverbose-cost-dump <1>: ARM Options. (line 976) * mvirt: MIPS Options. (line 405) * mvis: SPARC Options. (line 219) *************** look up both forms. *** 67951,67958 **** * noall_load: Darwin Options. (line 197) * nocpp: MIPS Options. (line 641) * nodefaultlibs: Link Options. (line 121) ! * nodevicelib: AVR Options. (line 292) ! * nodevicespecs: AVR Options. (line 295) * nofixprebinding: Darwin Options. (line 197) * nofpu: RX Options. (line 15) * nolibc: Link Options. (line 133) --- 68018,68025 ---- * noall_load: Darwin Options. (line 197) * nocpp: MIPS Options. (line 641) * nodefaultlibs: Link Options. (line 121) ! * nodevicelib: AVR Options. (line 285) ! * nodevicespecs: AVR Options. (line 288) * nofixprebinding: Darwin Options. (line 197) * nofpu: RX Options. (line 15) * nolibc: Link Options. (line 133) *************** look up both forms. *** 68116,68122 **** * Wabi-tag: C++ Dialect Options. (line 668) * Wabsolute-value: Warning Options. (line 2430) ! * Waddr-space-convert: AVR Options. (line 310) * Waddress: Warning Options. (line 2892) * Waddress-of-packed-member: Warning Options. (line 2926) * Waggregate-return: Warning Options. (line 2954) --- 68183,68189 ---- * Wabi-tag: C++ Dialect Options. (line 668) * Wabsolute-value: Warning Options. (line 2430) ! * Waddr-space-convert: AVR Options. (line 303) * Waddress: Warning Options. (line 2892) * Waddress-of-packed-member: Warning Options. (line 2926) * Waggregate-return: Warning Options. (line 2954) *************** look up both forms. *** 68417,68423 **** * Wmissing-prototypes: Warning Options. (line 3039) * Wmissing-requires: Warning Options. (line 3089) * Wmissing-template-keyword: Warning Options. (line 3106) ! * Wmisspelled-isr: AVR Options. (line 315) * Wmultichar: Warning Options. (line 3134) * Wmultiple-inheritance: C++ Dialect Options. (line 1277) --- 68484,68490 ---- * Wmissing-prototypes: Warning Options. (line 3039) * Wmissing-requires: Warning Options. (line 3089) * Wmissing-template-keyword: Warning Options. (line 3106) ! * Wmisspelled-isr: AVR Options. (line 308) * Wmultichar: Warning Options. (line 3134) * Wmultiple-inheritance: C++ Dialect Options. (line 1277) *************** look up both forms. *** 68429,68435 **** * Wnested-externs: Warning Options. (line 3306) * Wno-abi: Warning Options. (line 269) * Wno-absolute-value: Warning Options. (line 2430) ! * Wno-addr-space-convert: AVR Options. (line 310) * Wno-address: Warning Options. (line 2892) * Wno-address-of-packed-member: Warning Options. (line 2926) * Wno-aggregate-return: Warning Options. (line 2954) --- 68496,68502 ---- * Wnested-externs: Warning Options. (line 3306) * Wno-abi: Warning Options. (line 269) * Wno-absolute-value: Warning Options. (line 2430) ! * Wno-addr-space-convert: AVR Options. (line 303) * Wno-address: Warning Options. (line 2892) * Wno-address-of-packed-member: Warning Options. (line 2926) * Wno-aggregate-return: Warning Options. (line 2954) *************** look up both forms. *** 68712,68718 **** * Wno-missing-prototypes: Warning Options. (line 3039) * Wno-missing-requires: Warning Options. (line 3089) * Wno-missing-template-keyword: Warning Options. (line 3106) ! * Wno-misspelled-isr: AVR Options. (line 315) * Wno-multichar: Warning Options. (line 3134) * Wno-multiple-inheritance: C++ Dialect Options. (line 1277) --- 68779,68785 ---- * Wno-missing-prototypes: Warning Options. (line 3039) * Wno-missing-requires: Warning Options. (line 3089) * Wno-missing-template-keyword: Warning Options. (line 3106) ! * Wno-misspelled-isr: AVR Options. (line 308) * Wno-multichar: Warning Options. (line 3134) * Wno-multiple-inheritance: C++ Dialect Options. (line 1277) *************** A.2 Concept and Symbol Index *** 69122,69129 **** * + in constraint: Modifiers. (line 12) * -lgcc, use with -nodefaultlibs: Link Options. (line 157) * -lgcc, use with -nostdlib: Link Options. (line 157) ! * -march feature modifiers: AArch64 Options. (line 334) ! * -mcpu feature modifiers: AArch64 Options. (line 334) * -nodefaultlibs and unresolved references: Link Options. (line 157) * -nostdlib and unresolved references: Link Options. (line 157) * .sdata/.sdata2 references (PowerPC): RS/6000 and PowerPC Options. --- 69189,69196 ---- * + in constraint: Modifiers. (line 12) * -lgcc, use with -nodefaultlibs: Link Options. (line 157) * -lgcc, use with -nostdlib: Link Options. (line 157) ! * -march feature modifiers: AArch64 Options. (line 335) ! * -mcpu feature modifiers: AArch64 Options. (line 335) * -nodefaultlibs and unresolved references: Link Options. (line 157) * -nostdlib and unresolved references: Link Options. (line 157) * .sdata/.sdata2 references (PowerPC): RS/6000 and PowerPC Options. *************** A.2 Concept and Symbol Index *** 69306,69313 **** --- 69373,69384 ---- * __builtin_ctz: Other Builtins. (line 990) * __builtin_ctzl: Other Builtins. (line 1012) * __builtin_ctzll: Other Builtins. (line 1035) + * __builtin_darn: Basic PowerPC Built-in Functions Available on ISA 3.0. + (line 53) * __builtin_darn_32: Basic PowerPC Built-in Functions Available on ISA 3.0. (line 55) + * __builtin_darn_raw: Basic PowerPC Built-in Functions Available on ISA 3.0. + (line 54) * __builtin_divf128_round_to_odd: Basic PowerPC Built-in Functions Available on ISA 3.0. (line 30) * __builtin_dynamic_object_size: Object Size Checking. *************** A.2 Concept and Symbol Index *** 69339,69344 **** --- 69410,69423 ---- * __builtin_huge_vall: Other Builtins. (line 841) * __builtin_huge_valq: x86 Built-in Functions. (line 49) + * __builtin_ia32_crc32di: x86 Built-in Functions. + (line 863) + * __builtin_ia32_crc32hi: x86 Built-in Functions. + (line 855) + * __builtin_ia32_crc32qi: x86 Built-in Functions. + (line 851) + * __builtin_ia32_crc32si: x86 Built-in Functions. + (line 859) * __builtin_ia32_loadhps: x86 Built-in Functions. (line 521) * __builtin_ia32_loadlps: x86 Built-in Functions. *************** A.2 Concept and Symbol Index *** 69359,69364 **** --- 69438,69445 ---- (line 515) * __builtin_ia32_vec_ext_v16qi: x86 Built-in Functions. (line 800) + * __builtin_ia32_vec_ext_v2di: x86 Built-in Functions. + (line 826) * __builtin_ia32_vec_ext_v4sf: x86 Built-in Functions. (line 819) * __builtin_ia32_vec_ext_v4si: x86 Built-in Functions. *************** A.2 Concept and Symbol Index *** 70166,70172 **** (line 8) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 8) ! * EIND: AVR Options. (line 322) * either function attribute, MSP430: MSP430 Function Attributes. (line 54) * either variable attribute, MSP430: MSP430 Variable Attributes. --- 70247,70253 ---- (line 8) * eightbit_data variable attribute, H8/300: H8/300 Variable Attributes. (line 8) ! * EIND: AVR Options. (line 315) * either function attribute, MSP430: MSP430 Function Attributes. (line 54) * either variable attribute, MSP430: MSP430 Variable Attributes. *************** A.2 Concept and Symbol Index *** 70488,70499 **** * installation trouble: Trouble. (line 6) * instrumentation options: Instrumentation Options. (line 6) - * int: x86 Built-in Functions. - (line 851) - * int <1>: x86 Built-in Functions. - (line 855) - * int <2>: x86 Built-in Functions. - (line 859) * integrating function code: Inline. (line 6) * interface and implementation headers, C++: C++ Interface. (line 6) * intermediate C version, nonexistent: G++ and GCC. (line 34) --- 70569,70574 ---- *************** A.2 Concept and Symbol Index *** 70708,70721 **** * logbl: Other Builtins. (line 6) * logf: Other Builtins. (line 6) * logl: Other Builtins. (line 6) - * long: Basic PowerPC Built-in Functions Available on ISA 3.0. - (line 53) - * long <1>: Basic PowerPC Built-in Functions Available on ISA 3.0. - (line 54) - * long <2>: x86 Built-in Functions. - (line 826) - * long <3>: x86 Built-in Functions. - (line 863) * long long data types: Long Long. (line 6) * longcall function attribute, Blackfin: Blackfin Function Attributes. (line 36) --- 70783,70788 ---- *************** A.2 Concept and Symbol Index *** 71148,71157 **** * r fixed-suffix: Fixed-Point. (line 6) * R fixed-suffix: Fixed-Point. (line 6) * r in constraint: Simple Constraints. (line 64) ! * RAMPD: AVR Options. (line 433) ! * RAMPX: AVR Options. (line 433) ! * RAMPY: AVR Options. (line 433) ! * RAMPZ: AVR Options. (line 433) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 106) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. --- 71215,71224 ---- * r fixed-suffix: Fixed-Point. (line 6) * R fixed-suffix: Fixed-Point. (line 6) * r in constraint: Simple Constraints. (line 64) ! * RAMPD: AVR Options. (line 426) ! * RAMPX: AVR Options. (line 426) ! * RAMPY: AVR Options. (line 426) ! * RAMPZ: AVR Options. (line 426) * range1 GCC_COLORS capability: Diagnostic Message Formatting Options. (line 106) * range2 GCC_COLORS capability: Diagnostic Message Formatting Options. *************** Node: G++ and GCC4141 *** 72043,72472 **** Node: Standards6187 Node: Invoking GCC19813 Node: Option Summary25040 ! Node: Overall Options84953 ! Node: Invoking G++113110 ! Node: C Dialect Options114633 ! Node: C++ Dialect Options137897 ! Node: Objective-C and Objective-C++ Dialect Options207700 ! Node: Diagnostic Message Formatting Options219605 ! Node: Warning Options251446 ! Ref: Wtrigraphs359669 ! Node: Static Analyzer Options407434 ! Node: Debugging Options447356 ! Node: Optimize Options467302 ! Ref: Type-punning539855 ! Node: Instrumentation Options662481 ! Node: Preprocessor Options714382 ! Ref: dashMF719229 ! Ref: fdollars-in-identifiers723891 ! Node: Assembler Options737241 ! Node: Link Options737932 ! Ref: Link Options-Footnote-1754964 ! Node: Directory Options755478 ! Node: Code Gen Options763881 ! Node: Developer Options792754 ! Node: Submodel Options835498 ! Node: AArch64 Options837218 ! Ref: aarch64-feature-modifiers853012 ! Node: Adapteva Epiphany Options858684 ! Node: AMD GCN Options864636 ! Node: ARC Options866365 ! Node: ARM Options887369 ! Node: AVR Options932132 ! Node: Blackfin Options959019 ! Node: C6X Options966911 ! Node: CRIS Options968454 ! Node: C-SKY Options971641 ! Node: Darwin Options977368 ! Node: DEC Alpha Options985148 ! Node: eBPF Options996764 ! Node: FR30 Options999140 ! Node: FT32 Options999700 ! Node: FRV Options1000646 ! Node: GNU/Linux Options1007410 ! Node: H8/300 Options1008791 ! Node: HPPA Options1010243 ! Node: IA-64 Options1020888 ! Node: LM32 Options1029016 ! Node: LoongArch Options1029544 ! Node: M32C Options1036115 ! Node: M32R/D Options1037393 ! Node: M680x0 Options1040938 ! Node: MCore Options1055093 ! Node: MicroBlaze Options1056602 ! Node: MIPS Options1059669 ! Node: MMIX Options1096645 ! Node: MN10300 Options1099122 ! Node: Moxie Options1101665 ! Node: MSP430 Options1102152 ! Node: NDS32 Options1109913 ! Node: Nios II Options1112083 ! Node: Nvidia PTX Options1125299 ! Node: OpenRISC Options1128833 ! Node: PDP-11 Options1131587 ! Node: PowerPC Options1132835 ! Node: PRU Options1133053 ! Node: RISC-V Options1135262 ! Node: RL78 Options1143999 ! Node: RS/6000 and PowerPC Options1147774 ! Node: RX Options1189617 ! Node: S/390 and zSeries Options1198219 ! Node: SH Options1209016 ! Node: Solaris 2 Options1224168 ! Node: SPARC Options1225406 ! Node: System V Options1241058 ! Node: V850 Options1241883 ! Node: VAX Options1248571 ! Node: Visium Options1249263 ! Node: VMS Options1251571 ! Node: VxWorks Options1252387 ! Node: x86 Options1253539 ! Node: x86 Windows Options1327567 ! Node: Xstormy16 Options1330373 ! Node: Xtensa Options1330667 ! Node: zSeries Options1337159 ! Node: Spec Files1337355 ! Node: Environment Variables1363434 ! Node: Precompiled Headers1372867 ! Node: C++ Modules1379076 ! Ref: C++ Modules-Footnote-11384739 ! Node: C++ Module Mapper1384992 ! Node: C++ Module Preprocessing1390145 ! Node: C++ Compiled Module Interface1391974 ! Ref: C++ Compiled Module Interface-Footnote-11395358 ! Ref: C++ Compiled Module Interface-Footnote-21395447 ! Node: C Implementation1395503 ! Node: Translation implementation1397194 ! Node: Environment implementation1397785 ! Node: Identifiers implementation1398339 ! Node: Characters implementation1399425 ! Node: Integers implementation1403075 ! Node: Floating point implementation1405124 ! Node: Arrays and pointers implementation1408224 ! Ref: Arrays and pointers implementation-Footnote-11409684 ! Node: Hints implementation1409810 ! Node: Structures unions enumerations and bit-fields implementation1411305 ! Node: Qualifiers implementation1413529 ! Node: Declarators implementation1415590 ! Node: Statements implementation1415931 ! Node: Preprocessing directives implementation1416257 ! Node: Library functions implementation1418578 ! Node: Architecture implementation1419227 ! Node: Locale-specific behavior implementation1420872 ! Node: C++ Implementation1421177 ! Node: Conditionally-supported behavior1422461 ! Node: Exception handling1423078 ! Node: C Extensions1423486 ! Node: Statement Exprs1428709 ! Node: Local Labels1434081 ! Node: Labels as Values1437054 ! Ref: Labels as Values-Footnote-11439581 ! Node: Nested Functions1439766 ! Node: Nonlocal Gotos1443720 ! Node: Constructing Calls1445986 ! Node: Typeof1450698 ! Node: Conditionals1454627 ! Node: __int1281455516 ! Node: Long Long1456041 ! Node: Complex1457532 ! Node: Floating Types1462277 ! Node: Half-Precision1465799 ! Node: Decimal Float1469267 ! Node: Hex Floats1471121 ! Node: Fixed-Point1472195 ! Node: Named Address Spaces1475453 ! Ref: AVR Named Address Spaces1476139 ! Node: Zero Length1483438 ! Node: Empty Structures1487619 ! Node: Variable Length1488025 ! Node: Variadic Macros1490743 ! Node: Escaped Newlines1493121 ! Node: Subscripting1493982 ! Node: Pointer Arith1494707 ! Node: Variadic Pointer Args1495284 ! Node: Pointers to Arrays1496009 ! Node: Initializers1496762 ! Node: Compound Literals1497263 ! Node: Designated Inits1500830 ! Node: Case Ranges1504754 ! Node: Cast to Union1505435 ! Node: Mixed Labels and Declarations1507169 ! Node: Function Attributes1507806 ! Node: Common Function Attributes1512260 ! Ref: Common Function Attributes-Footnote-11590772 ! Node: AArch64 Function Attributes1591089 ! Node: AMD GCN Function Attributes1597283 ! Node: ARC Function Attributes1600336 ! Node: ARM Function Attributes1603273 ! Node: AVR Function Attributes1608412 ! Node: Blackfin Function Attributes1612947 ! Node: BPF Function Attributes1615444 ! Node: C-SKY Function Attributes1616033 ! Node: Epiphany Function Attributes1617329 ! Node: H8/300 Function Attributes1620084 ! Node: IA-64 Function Attributes1621282 ! Node: M32C Function Attributes1622324 ! Node: M32R/D Function Attributes1624662 ! Node: m68k Function Attributes1626136 ! Node: MCORE Function Attributes1627080 ! Node: MicroBlaze Function Attributes1627898 ! Node: Microsoft Windows Function Attributes1629407 ! Node: MIPS Function Attributes1633976 ! Node: MSP430 Function Attributes1639839 ! Node: NDS32 Function Attributes1643918 ! Node: Nios II Function Attributes1646342 ! Node: Nvidia PTX Function Attributes1647639 ! Node: PowerPC Function Attributes1648254 ! Node: RISC-V Function Attributes1655028 ! Node: RL78 Function Attributes1656444 ! Node: RX Function Attributes1657683 ! Node: S/390 Function Attributes1660230 ! Node: SH Function Attributes1662058 ! Node: Symbian OS Function Attributes1665486 ! Node: V850 Function Attributes1665822 ! Node: Visium Function Attributes1666367 ! Node: x86 Function Attributes1666895 ! Node: Xstormy16 Function Attributes1691735 ! Node: Variable Attributes1692242 ! Node: Common Variable Attributes1693781 ! Node: ARC Variable Attributes1717077 ! Node: AVR Variable Attributes1717459 ! Node: Blackfin Variable Attributes1722578 ! Node: H8/300 Variable Attributes1723436 ! Node: IA-64 Variable Attributes1724509 ! Node: LoongArch Variable Attributes1725263 ! Node: M32R/D Variable Attributes1725939 ! Node: Microsoft Windows Variable Attributes1726740 ! Node: MSP430 Variable Attributes1729196 ! Node: Nvidia PTX Variable Attributes1730410 ! Node: PowerPC Variable Attributes1731027 ! Node: RL78 Variable Attributes1731584 ! Node: V850 Variable Attributes1732003 ! Node: x86 Variable Attributes1732636 ! Node: Xstormy16 Variable Attributes1733692 ! Node: Type Attributes1734262 ! Node: Common Type Attributes1735926 ! Node: ARC Type Attributes1758287 ! Node: ARM Type Attributes1758759 ! Node: BPF Type Attributes1759541 ! Node: PowerPC Type Attributes1760062 ! Node: x86 Type Attributes1761051 ! Node: Label Attributes1762043 ! Node: Enumerator Attributes1764070 ! Node: Statement Attributes1765602 ! Node: Attribute Syntax1767902 ! Node: Function Prototypes1779159 ! Node: C++ Comments1780939 ! Node: Dollar Signs1781458 ! Node: Character Escapes1781923 ! Node: Alignment1782207 ! Node: Inline1783860 ! Node: Volatiles1788677 ! Node: Using Assembly Language with C1791576 ! Node: Basic Asm1792813 ! Node: Extended Asm1798436 ! Ref: Volatile1802550 ! Ref: AssemblerTemplate1806663 ! Ref: OutputOperands1810903 ! Ref: FlagOutputOperands1817983 ! Ref: InputOperands1820930 ! Ref: Clobbers and Scratch Registers1825315 ! Ref: GotoLabels1833956 ! Ref: GenericOperandmodifiers1837579 ! Ref: x86Operandmodifiers1838537 ! Ref: x86floatingpointasmoperands1843353 ! Ref: msp430Operandmodifiers1846684 ! Ref: loongarchOperandmodifiers1848342 ! Node: Constraints1848876 ! Node: Simple Constraints1849982 ! Node: Multi-Alternative1857296 ! Node: Modifiers1858971 ! Node: Machine Constraints1861770 ! Node: Asm Labels1915571 ! Node: Explicit Register Variables1917187 ! Ref: Explicit Reg Vars1917401 ! Node: Global Register Variables1918010 ! Ref: Global Reg Vars1918218 ! Node: Local Register Variables1923000 ! Ref: Local Reg Vars1923220 ! Node: Size of an asm1926848 ! Node: Alternate Keywords1928326 ! Node: Incomplete Enums1929831 ! Node: Function Names1930588 ! Node: Return Address1932492 ! Node: Vector Extensions1937079 ! Node: Offsetof1948062 ! Node: __sync Builtins1948895 ! Node: __atomic Builtins1955850 ! Node: Integer Overflow Builtins1969363 ! Node: x86 specific memory model extensions for transactional memory1975846 ! Node: Object Size Checking1977112 ! Node: Other Builtins1984621 ! Node: Target Builtins2038179 ! Node: AArch64 Built-in Functions2039927 ! Node: Alpha Built-in Functions2040623 ! Node: Altera Nios II Built-in Functions2043717 ! Node: ARC Built-in Functions2048156 ! Node: ARC SIMD Built-in Functions2053368 ! Node: ARM iWMMXt Built-in Functions2062366 ! Node: ARM C Language Extensions (ACLE)2069502 ! Node: ARM Floating Point Status and Control Intrinsics2070779 ! Node: ARM ARMv8-M Security Extensions2071266 ! Node: AVR Built-in Functions2072558 ! Node: Blackfin Built-in Functions2076324 ! Node: BPF Built-in Functions2076944 ! Node: FR-V Built-in Functions2081486 ! Node: Argument Types2082355 ! Node: Directly-mapped Integer Functions2084186 ! Node: Directly-mapped Media Functions2085346 ! Node: Raw read/write Functions2093628 ! Node: Other Built-in Functions2094536 ! Node: LoongArch Base Built-in Functions2095722 ! Node: MIPS DSP Built-in Functions2101356 ! Node: MIPS Paired-Single Support2114121 ! Node: MIPS Loongson Built-in Functions2115620 ! Node: Paired-Single Arithmetic2122142 ! Node: Paired-Single Built-in Functions2123165 ! Node: MIPS-3D Built-in Functions2125832 ! Node: MIPS SIMD Architecture (MSA) Support2131226 ! Node: MIPS SIMD Architecture Built-in Functions2134066 ! Node: Other MIPS Built-in Functions2160920 ! Node: MSP430 Built-in Functions2161929 ! Node: NDS32 Built-in Functions2163330 ! Node: Basic PowerPC Built-in Functions2164628 ! Node: Basic PowerPC Built-in Functions Available on all Configurations2165483 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.052173993 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.062178828 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.072180908 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.02181762 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.12189037 ! Node: PowerPC AltiVec/VSX Built-in Functions2192954 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.052201023 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062226423 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072233489 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02243299 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.12259022 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2292306 ! Node: PowerPC Atomic Memory Operation Functions2300856 ! Node: PowerPC Matrix-Multiply Assist Built-in Functions2303419 ! Node: PRU Built-in Functions2309544 ! Node: RISC-V Built-in Functions2310824 ! Node: RISC-V Vector Intrinsics2311482 ! Node: RX Built-in Functions2311977 ! Node: S/390 System z Built-in Functions2315978 ! Node: SH Built-in Functions2321247 ! Node: SPARC VIS Built-in Functions2322975 ! Node: TI C6X Built-in Functions2331506 ! Node: x86 Built-in Functions2332553 ! Node: x86 transactional memory intrinsics2398968 ! Node: x86 control-flow protection intrinsics2402294 ! Node: Target Format Checks2404065 ! Node: Solaris Format Checks2404497 ! Node: Darwin Format Checks2404923 ! Node: Pragmas2405886 ! Node: AArch64 Pragmas2406811 ! Node: ARM Pragmas2407268 ! Node: M32C Pragmas2407895 ! Node: PRU Pragmas2408967 ! Node: RS/6000 and PowerPC Pragmas2409546 ! Node: S/390 Pragmas2410286 ! Node: Darwin Pragmas2410852 ! Node: Solaris Pragmas2411905 ! Node: Symbol-Renaming Pragmas2413069 ! Node: Structure-Layout Pragmas2414704 ! Node: Weak Pragmas2416984 ! Node: Diagnostic Pragmas2417719 ! Node: Visibility Pragmas2422470 ! Node: Push/Pop Macro Pragmas2423155 ! Node: Function Specific Option Pragmas2424128 ! Node: Loop-Specific Pragmas2426094 ! Node: Unnamed Fields2427694 ! Node: Thread-Local2429891 ! Node: C99 Thread-Local Edits2431997 ! Node: C++98 Thread-Local Edits2433995 ! Node: Binary constants2437440 ! Node: C++ Extensions2438111 ! Node: C++ Volatiles2439741 ! Node: Restricted Pointers2442089 ! Node: Vague Linkage2443680 ! Node: C++ Interface2447303 ! Ref: C++ Interface-Footnote-12451100 ! Node: Template Instantiation2451238 ! Node: Bound member functions2457329 ! Node: C++ Attributes2458861 ! Node: Function Multiversioning2462933 ! Node: Type Traits2464741 ! Node: C++ Concepts2472463 ! Node: Deprecated Features2474006 ! Node: Backwards Compatibility2475831 ! Node: Objective-C2476903 ! Node: GNU Objective-C runtime API2477510 ! Node: Modern GNU Objective-C runtime API2478517 ! Node: Traditional GNU Objective-C runtime API2480953 ! Node: Executing code before main2481680 ! Node: What you can and what you cannot do in +load2484424 ! Node: Type encoding2486794 ! Node: Legacy type encoding2492160 ! Node: @encode2493250 ! Node: Method signatures2493795 ! Node: Garbage Collection2495787 ! Node: Constant string objects2498477 ! Node: compatibility_alias2500986 ! Node: Exceptions2501711 ! Node: Synchronization2504421 ! Node: Fast enumeration2505605 ! Node: Using fast enumeration2505917 ! Node: c99-like fast enumeration syntax2507128 ! Node: Fast enumeration details2507831 ! Node: Fast enumeration protocol2510171 ! Node: Messaging with the GNU Objective-C runtime2513323 ! Node: Dynamically registering methods2514695 ! Node: Forwarding hook2516386 ! Node: Compatibility2519426 ! Node: Gcov2525982 ! Node: Gcov Intro2526650 ! Node: Invoking Gcov2529368 ! Node: Gcov and Optimization2552101 ! Node: Gcov Data Files2555854 ! Node: Cross-profiling2557263 ! Node: Freestanding Environments2559151 ! Node: Gcov-tool2574014 ! Node: Gcov-tool Intro2574439 ! Node: Invoking Gcov-tool2576793 ! Node: Gcov-dump2580206 ! Node: Gcov-dump Intro2580529 ! Node: Invoking Gcov-dump2580796 ! Node: lto-dump2581529 ! Node: lto-dump Intro2581828 ! Node: Invoking lto-dump2582078 ! Node: Trouble2583174 ! Node: Actual Bugs2584591 ! Node: Interoperation2585038 ! Node: Incompatibilities2591929 ! Node: Fixed Headers2600081 ! Node: Standard Libraries2601739 ! Node: Disappointments2603111 ! Node: C++ Misunderstandings2607470 ! Node: Static Definitions2608281 ! Node: Name lookup2609334 ! Ref: Name lookup-Footnote-12614115 ! Node: Temporaries2614304 ! Node: Copy Assignment2616280 ! Node: Non-bugs2618115 ! Node: Warnings and Errors2628621 ! Node: Bugs2630383 ! Node: Bug Criteria2630850 ! Node: Bug Reporting2633060 ! Node: Service2633278 ! Node: Contributing2634099 ! Node: Funding2634845 ! Node: GNU Project2637335 ! Node: Copying2637983 ! Node: GNU Free Documentation License2675497 ! Node: Contributors2700620 ! Node: Indices2741695 ! Node: Option Index2741941 ! Node: Concept and Symbol Index3048579  End Tag Table --- 72110,72539 ---- Node: Standards6187 Node: Invoking GCC19813 Node: Option Summary25040 ! Node: Overall Options84993 ! Node: Invoking G++113150 ! Node: C Dialect Options114673 ! Node: C++ Dialect Options137937 ! Node: Objective-C and Objective-C++ Dialect Options207740 ! Node: Diagnostic Message Formatting Options219645 ! Node: Warning Options251486 ! Ref: Wtrigraphs359709 ! Node: Static Analyzer Options407474 ! Node: Debugging Options447396 ! Node: Optimize Options467342 ! Ref: Type-punning539895 ! Node: Instrumentation Options662783 ! Node: Preprocessor Options714684 ! Ref: dashMF719531 ! Ref: fdollars-in-identifiers724193 ! Node: Assembler Options737543 ! Node: Link Options738234 ! Ref: Link Options-Footnote-1755266 ! Node: Directory Options755780 ! Node: Code Gen Options764183 ! Node: Developer Options793056 ! Node: Submodel Options835800 ! Node: AArch64 Options837520 ! Ref: aarch64-feature-modifiers853332 ! Node: Adapteva Epiphany Options859004 ! Node: AMD GCN Options864956 ! Node: ARC Options866685 ! Node: ARM Options887689 ! Node: AVR Options932452 ! Node: Blackfin Options961068 ! Node: C6X Options968960 ! Node: CRIS Options970503 ! Node: C-SKY Options973690 ! Node: Darwin Options979417 ! Node: DEC Alpha Options987197 ! Node: eBPF Options998813 ! Node: FR30 Options1001189 ! Node: FT32 Options1001749 ! Node: FRV Options1002695 ! Node: GNU/Linux Options1009459 ! Node: H8/300 Options1010840 ! Node: HPPA Options1012292 ! Node: IA-64 Options1022937 ! Node: LM32 Options1031065 ! Node: LoongArch Options1031593 ! Node: M32C Options1039239 ! Node: M32R/D Options1040517 ! Node: M680x0 Options1044062 ! Node: MCore Options1058217 ! Node: MicroBlaze Options1059726 ! Node: MIPS Options1062793 ! Node: MMIX Options1099769 ! Node: MN10300 Options1102246 ! Node: Moxie Options1104789 ! Node: MSP430 Options1105276 ! Node: NDS32 Options1113037 ! Node: Nios II Options1115207 ! Node: Nvidia PTX Options1128423 ! Node: OpenRISC Options1131957 ! Node: PDP-11 Options1134711 ! Node: PowerPC Options1135959 ! Node: PRU Options1136177 ! Node: RISC-V Options1138386 ! Node: RL78 Options1147123 ! Node: RS/6000 and PowerPC Options1150898 ! Node: RX Options1192741 ! Node: S/390 and zSeries Options1201343 ! Node: SH Options1212140 ! Node: Solaris 2 Options1227292 ! Node: SPARC Options1228530 ! Node: System V Options1244182 ! Node: V850 Options1245007 ! Node: VAX Options1251695 ! Node: Visium Options1252387 ! Node: VMS Options1254695 ! Node: VxWorks Options1255511 ! Node: x86 Options1256663 ! Node: x86 Windows Options1330683 ! Node: Xstormy16 Options1333489 ! Node: Xtensa Options1333783 ! Node: zSeries Options1340275 ! Node: Spec Files1340471 ! Node: Environment Variables1366550 ! Node: Precompiled Headers1375983 ! Node: C++ Modules1382192 ! Ref: C++ Modules-Footnote-11387855 ! Node: C++ Module Mapper1388108 ! Node: C++ Module Preprocessing1393261 ! Node: C++ Compiled Module Interface1395090 ! Ref: C++ Compiled Module Interface-Footnote-11398474 ! Ref: C++ Compiled Module Interface-Footnote-21398563 ! Node: C Implementation1398619 ! Node: Translation implementation1400310 ! Node: Environment implementation1400901 ! Node: Identifiers implementation1401455 ! Node: Characters implementation1402541 ! Node: Integers implementation1406191 ! Node: Floating point implementation1408240 ! Node: Arrays and pointers implementation1411340 ! Ref: Arrays and pointers implementation-Footnote-11412800 ! Node: Hints implementation1412926 ! Node: Structures unions enumerations and bit-fields implementation1414421 ! Node: Qualifiers implementation1416645 ! Node: Declarators implementation1418706 ! Node: Statements implementation1419047 ! Node: Preprocessing directives implementation1419373 ! Node: Library functions implementation1421694 ! Node: Architecture implementation1422343 ! Node: Locale-specific behavior implementation1423988 ! Node: C++ Implementation1424293 ! Node: Conditionally-supported behavior1425577 ! Node: Exception handling1426194 ! Node: C Extensions1426602 ! Node: Statement Exprs1431825 ! Node: Local Labels1437197 ! Node: Labels as Values1440170 ! Ref: Labels as Values-Footnote-11442697 ! Node: Nested Functions1442882 ! Node: Nonlocal Gotos1446836 ! Node: Constructing Calls1449102 ! Node: Typeof1453814 ! Node: Conditionals1457743 ! Node: __int1281458632 ! Node: Long Long1459157 ! Node: Complex1460648 ! Node: Floating Types1465393 ! Node: Half-Precision1468864 ! Node: Decimal Float1472332 ! Node: Hex Floats1474186 ! Node: Fixed-Point1475260 ! Node: Named Address Spaces1478518 ! Ref: AVR Named Address Spaces1479204 ! Node: Zero Length1486503 ! Node: Empty Structures1490684 ! Node: Variable Length1491090 ! Node: Variadic Macros1493808 ! Node: Escaped Newlines1496186 ! Node: Subscripting1497047 ! Node: Pointer Arith1497772 ! Node: Variadic Pointer Args1498349 ! Node: Pointers to Arrays1499074 ! Node: Initializers1499827 ! Node: Compound Literals1500328 ! Node: Designated Inits1503895 ! Node: Case Ranges1507819 ! Node: Cast to Union1508500 ! Node: Mixed Labels and Declarations1510234 ! Node: Function Attributes1510871 ! Node: Common Function Attributes1515325 ! Ref: Common Function Attributes-Footnote-11593837 ! Node: AArch64 Function Attributes1594154 ! Node: AMD GCN Function Attributes1600348 ! Node: ARC Function Attributes1603401 ! Node: ARM Function Attributes1606338 ! Node: AVR Function Attributes1611477 ! Node: Blackfin Function Attributes1616012 ! Node: BPF Function Attributes1618509 ! Node: C-SKY Function Attributes1619098 ! Node: Epiphany Function Attributes1620394 ! Node: H8/300 Function Attributes1623149 ! Node: IA-64 Function Attributes1624347 ! Node: M32C Function Attributes1625389 ! Node: M32R/D Function Attributes1627727 ! Node: m68k Function Attributes1629201 ! Node: MCORE Function Attributes1630145 ! Node: MicroBlaze Function Attributes1630963 ! Node: Microsoft Windows Function Attributes1632472 ! Node: MIPS Function Attributes1637041 ! Node: MSP430 Function Attributes1642904 ! Node: NDS32 Function Attributes1646983 ! Node: Nios II Function Attributes1649407 ! Node: Nvidia PTX Function Attributes1650704 ! Node: PowerPC Function Attributes1651319 ! Node: RISC-V Function Attributes1658093 ! Node: RL78 Function Attributes1659509 ! Node: RX Function Attributes1660748 ! Node: S/390 Function Attributes1663295 ! Node: SH Function Attributes1665123 ! Node: Symbian OS Function Attributes1668551 ! Node: V850 Function Attributes1668887 ! Node: Visium Function Attributes1669432 ! Node: x86 Function Attributes1669960 ! Node: Xstormy16 Function Attributes1694800 ! Node: Variable Attributes1695307 ! Node: Common Variable Attributes1696846 ! Node: ARC Variable Attributes1720142 ! Node: AVR Variable Attributes1720524 ! Node: Blackfin Variable Attributes1725643 ! Node: H8/300 Variable Attributes1726501 ! Node: IA-64 Variable Attributes1727574 ! Node: LoongArch Variable Attributes1728328 ! Node: M32R/D Variable Attributes1729004 ! Node: Microsoft Windows Variable Attributes1729805 ! Node: MSP430 Variable Attributes1732261 ! Node: Nvidia PTX Variable Attributes1733475 ! Node: PowerPC Variable Attributes1734092 ! Node: RL78 Variable Attributes1734649 ! Node: V850 Variable Attributes1735068 ! Node: x86 Variable Attributes1735701 ! Node: Xstormy16 Variable Attributes1736757 ! Node: Type Attributes1737327 ! Node: Common Type Attributes1738991 ! Node: ARC Type Attributes1761352 ! Node: ARM Type Attributes1761824 ! Node: BPF Type Attributes1762606 ! Node: PowerPC Type Attributes1763127 ! Node: x86 Type Attributes1764116 ! Node: Label Attributes1765108 ! Node: Enumerator Attributes1767135 ! Node: Statement Attributes1768667 ! Node: Attribute Syntax1770967 ! Node: Function Prototypes1782224 ! Node: C++ Comments1784004 ! Node: Dollar Signs1784523 ! Node: Character Escapes1784988 ! Node: Alignment1785272 ! Node: Inline1786925 ! Node: Volatiles1791742 ! Node: Using Assembly Language with C1794641 ! Node: Basic Asm1795878 ! Node: Extended Asm1801501 ! Ref: Volatile1805615 ! Ref: AssemblerTemplate1809728 ! Ref: OutputOperands1813968 ! Ref: FlagOutputOperands1821048 ! Ref: InputOperands1823995 ! Ref: Clobbers and Scratch Registers1828380 ! Ref: GotoLabels1837021 ! Ref: GenericOperandmodifiers1840644 ! Ref: x86Operandmodifiers1841602 ! Ref: x86floatingpointasmoperands1846418 ! Ref: msp430Operandmodifiers1849749 ! Ref: loongarchOperandmodifiers1851407 ! Node: Constraints1851941 ! Node: Simple Constraints1853047 ! Node: Multi-Alternative1860361 ! Node: Modifiers1862036 ! Node: Machine Constraints1864835 ! Node: Asm Labels1918636 ! Node: Explicit Register Variables1920252 ! Ref: Explicit Reg Vars1920466 ! Node: Global Register Variables1921075 ! Ref: Global Reg Vars1921283 ! Node: Local Register Variables1926065 ! Ref: Local Reg Vars1926285 ! Node: Size of an asm1929913 ! Node: Alternate Keywords1931391 ! Node: Incomplete Enums1932896 ! Node: Function Names1933653 ! Node: Return Address1935557 ! Node: Vector Extensions1940144 ! Node: Offsetof1951127 ! Node: __sync Builtins1951960 ! Node: __atomic Builtins1958915 ! Node: Integer Overflow Builtins1972428 ! Node: x86 specific memory model extensions for transactional memory1978911 ! Node: Object Size Checking1980177 ! Node: Other Builtins1987686 ! Node: Target Builtins2041244 ! Node: AArch64 Built-in Functions2042992 ! Node: Alpha Built-in Functions2043688 ! Node: Altera Nios II Built-in Functions2046782 ! Node: ARC Built-in Functions2051221 ! Node: ARC SIMD Built-in Functions2056433 ! Node: ARM iWMMXt Built-in Functions2065431 ! Node: ARM C Language Extensions (ACLE)2072567 ! Node: ARM Floating Point Status and Control Intrinsics2073844 ! Node: ARM ARMv8-M Security Extensions2074331 ! Node: AVR Built-in Functions2075623 ! Node: Blackfin Built-in Functions2079389 ! Node: BPF Built-in Functions2080009 ! Node: FR-V Built-in Functions2084551 ! Node: Argument Types2085420 ! Node: Directly-mapped Integer Functions2087251 ! Node: Directly-mapped Media Functions2088411 ! Node: Raw read/write Functions2096693 ! Node: Other Built-in Functions2097601 ! Node: LoongArch Base Built-in Functions2098787 ! Node: MIPS DSP Built-in Functions2104533 ! Node: MIPS Paired-Single Support2117298 ! Node: MIPS Loongson Built-in Functions2118797 ! Node: Paired-Single Arithmetic2125319 ! Node: Paired-Single Built-in Functions2126342 ! Node: MIPS-3D Built-in Functions2129009 ! Node: MIPS SIMD Architecture (MSA) Support2134403 ! Node: MIPS SIMD Architecture Built-in Functions2137243 ! Node: Other MIPS Built-in Functions2164097 ! Node: MSP430 Built-in Functions2165106 ! Node: NDS32 Built-in Functions2166507 ! Node: Basic PowerPC Built-in Functions2167805 ! Node: Basic PowerPC Built-in Functions Available on all Configurations2168660 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.052177170 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.062182005 ! Node: Basic PowerPC Built-in Functions Available on ISA 2.072184085 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.02184939 ! Node: Basic PowerPC Built-in Functions Available on ISA 3.12192214 ! Node: PowerPC AltiVec/VSX Built-in Functions2196131 ! Node: PowerPC AltiVec Built-in Functions on ISA 2.052204200 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.062229600 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 2.072236666 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.02246476 ! Node: PowerPC AltiVec Built-in Functions Available on ISA 3.12262199 ! Node: PowerPC Hardware Transactional Memory Built-in Functions2295483 ! Node: PowerPC Atomic Memory Operation Functions2304033 ! Node: PowerPC Matrix-Multiply Assist Built-in Functions2306596 ! Node: PRU Built-in Functions2312721 ! Node: RISC-V Built-in Functions2314001 ! Node: RISC-V Vector Intrinsics2314659 ! Node: RX Built-in Functions2315154 ! Node: S/390 System z Built-in Functions2319155 ! Node: SH Built-in Functions2324424 ! Node: SPARC VIS Built-in Functions2326152 ! Node: TI C6X Built-in Functions2334683 ! Node: x86 Built-in Functions2335730 ! Node: x86 transactional memory intrinsics2402145 ! Node: x86 control-flow protection intrinsics2405471 ! Node: Target Format Checks2407242 ! Node: Solaris Format Checks2407674 ! Node: Darwin Format Checks2408100 ! Node: Pragmas2409063 ! Node: AArch64 Pragmas2409988 ! Node: ARM Pragmas2410445 ! Node: M32C Pragmas2411072 ! Node: PRU Pragmas2412144 ! Node: RS/6000 and PowerPC Pragmas2412723 ! Node: S/390 Pragmas2413463 ! Node: Darwin Pragmas2414029 ! Node: Solaris Pragmas2415082 ! Node: Symbol-Renaming Pragmas2416246 ! Node: Structure-Layout Pragmas2417881 ! Node: Weak Pragmas2420161 ! Node: Diagnostic Pragmas2420896 ! Node: Visibility Pragmas2425647 ! Node: Push/Pop Macro Pragmas2426332 ! Node: Function Specific Option Pragmas2427305 ! Node: Loop-Specific Pragmas2429271 ! Node: Unnamed Fields2430871 ! Node: Thread-Local2433068 ! Node: C99 Thread-Local Edits2435174 ! Node: C++98 Thread-Local Edits2437172 ! Node: Binary constants2440617 ! Node: C++ Extensions2441288 ! Node: C++ Volatiles2442918 ! Node: Restricted Pointers2445266 ! Node: Vague Linkage2446857 ! Node: C++ Interface2450480 ! Ref: C++ Interface-Footnote-12454277 ! Node: Template Instantiation2454415 ! Node: Bound member functions2460506 ! Node: C++ Attributes2462038 ! Node: Function Multiversioning2466110 ! Node: Type Traits2467918 ! Node: C++ Concepts2475640 ! Node: Deprecated Features2477183 ! Node: Backwards Compatibility2479008 ! Node: Objective-C2480080 ! Node: GNU Objective-C runtime API2480687 ! Node: Modern GNU Objective-C runtime API2481694 ! Node: Traditional GNU Objective-C runtime API2484130 ! Node: Executing code before main2484857 ! Node: What you can and what you cannot do in +load2487601 ! Node: Type encoding2489971 ! Node: Legacy type encoding2495337 ! Node: @encode2496427 ! Node: Method signatures2496972 ! Node: Garbage Collection2498964 ! Node: Constant string objects2501654 ! Node: compatibility_alias2504163 ! Node: Exceptions2504888 ! Node: Synchronization2507598 ! Node: Fast enumeration2508782 ! Node: Using fast enumeration2509094 ! Node: c99-like fast enumeration syntax2510305 ! Node: Fast enumeration details2511008 ! Node: Fast enumeration protocol2513348 ! Node: Messaging with the GNU Objective-C runtime2516500 ! Node: Dynamically registering methods2517872 ! Node: Forwarding hook2519563 ! Node: Compatibility2522603 ! Node: Gcov2529159 ! Node: Gcov Intro2529827 ! Node: Invoking Gcov2532545 ! Node: Gcov and Optimization2555278 ! Node: Gcov Data Files2559031 ! Node: Cross-profiling2560440 ! Node: Freestanding Environments2562328 ! Node: Gcov-tool2577191 ! Node: Gcov-tool Intro2577616 ! Node: Invoking Gcov-tool2579970 ! Node: Gcov-dump2583383 ! Node: Gcov-dump Intro2583706 ! Node: Invoking Gcov-dump2583973 ! Node: lto-dump2584706 ! Node: lto-dump Intro2585005 ! Node: Invoking lto-dump2585255 ! Node: Trouble2586351 ! Node: Actual Bugs2587768 ! Node: Interoperation2588215 ! Node: Incompatibilities2595106 ! Node: Fixed Headers2603258 ! Node: Standard Libraries2604916 ! Node: Disappointments2606288 ! Node: C++ Misunderstandings2610647 ! Node: Static Definitions2611458 ! Node: Name lookup2612511 ! Ref: Name lookup-Footnote-12617292 ! Node: Temporaries2617481 ! Node: Copy Assignment2619457 ! Node: Non-bugs2621292 ! Node: Warnings and Errors2631798 ! Node: Bugs2633560 ! Node: Bug Criteria2634027 ! Node: Bug Reporting2636237 ! Node: Service2636455 ! Node: Contributing2637276 ! Node: Funding2638022 ! Node: GNU Project2640512 ! Node: Copying2641160 ! Node: GNU Free Documentation License2678674 ! Node: Contributors2703797 ! Node: Indices2744872 ! Node: Option Index2745118 ! Node: Concept and Symbol Index3051829  End Tag Table diff -Nrcpad gcc-13.2.0/gcc/doc/gccint.info gcc-13.3.0/gcc/doc/gccint.info *** gcc-13.2.0/gcc/doc/gccint.info Thu Jul 27 08:33:29 2023 --- gcc-13.3.0/gcc/doc/gccint.info Tue May 21 08:05:57 2024 *************** Introduction *** 55,61 **** 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 13.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 --- 55,61 ---- 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 13.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 *************** kinds of expressions: *** 11064,11070 **** vector. For example { 0, 1 } could be seen as two patterns with one element each or one pattern with two elements (BASE0 and BASE1). The canonical encoding is always the one with the fewest ! patterns or (if both encodings have the same number of petterns) the one with the fewest encoded elements. 'vector_cst_encoding_nelts (V)' gives the total number of encoded --- 11064,11070 ---- vector. For example { 0, 1 } could be seen as two patterns with one element each or one pattern with two elements (BASE0 and BASE1). The canonical encoding is always the one with the fewest ! patterns or (if both encodings have the same number of patterns) the one with the fewest encoded elements. 'vector_cst_encoding_nelts (V)' gives the total number of encoded *************** The simplest RTL expressions are those t *** 17966,17972 **** vector. For example { 0, 1 } could be seen as two patterns with one element each or one pattern with two elements (BASE0 and BASE1). The canonical encoding is always the one with the fewest ! patterns or (if both encodings have the same number of petterns) the one with the fewest encoded elements. 'const_vector_encoding_nelts (V)' gives the total number of encoded --- 17966,17972 ---- vector. For example { 0, 1 } could be seen as two patterns with one element each or one pattern with two elements (BASE0 and BASE1). The canonical encoding is always the one with the fewest ! patterns or (if both encodings have the same number of patterns) the one with the fewest encoded elements. 'const_vector_encoding_nelts (V)' gives the total number of encoded diff -Nrcpad gcc-13.2.0/gcc/doc/gcov-dump.1 gcc-13.3.0/gcc/doc/gcov-dump.1 *** gcc-13.2.0/gcc/doc/gcov-dump.1 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/gcov-dump.1 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/gcov-tool.1 gcc-13.3.0/gcc/doc/gcov-tool.1 *** gcc-13.2.0/gcc/doc/gcov-tool.1 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/gcov-tool.1 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/gcov.1 gcc-13.3.0/gcc/doc/gcov.1 *** gcc-13.2.0/gcc/doc/gcov.1 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/gcov.1 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/generic.texi gcc-13.3.0/gcc/doc/generic.texi *** gcc-13.2.0/gcc/doc/generic.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/generic.texi Tue May 21 07:47:38 2024 *************** vector. For example @{ 0, 1 @} could be *** 1144,1150 **** one element each or one pattern with two elements (@var{base0} and @var{base1}). The canonical encoding is always the one with the fewest patterns or (if both encodings have the same number of ! petterns) the one with the fewest encoded elements. @samp{vector_cst_encoding_nelts (@var{v})} gives the total number of encoded elements in @var{v}, which is 6 in the example above. --- 1144,1150 ---- one element each or one pattern with two elements (@var{base0} and @var{base1}). The canonical encoding is always the one with the fewest patterns or (if both encodings have the same number of ! patterns) the one with the fewest encoded elements. @samp{vector_cst_encoding_nelts (@var{v})} gives the total number of encoded elements in @var{v}, which is 6 in the example above. diff -Nrcpad gcc-13.2.0/gcc/doc/gfdl.7 gcc-13.3.0/gcc/doc/gfdl.7 *** gcc-13.2.0/gcc/doc/gfdl.7 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/gfdl.7 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/gfortran.1 gcc-13.3.0/gcc/doc/gfortran.1 *** gcc-13.2.0/gcc/doc/gfortran.1 Thu Jul 27 08:33:21 2023 --- gcc-13.3.0/gcc/doc/gfortran.1 Tue May 21 08:05:48 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/gm2.texi gcc-13.3.0/gcc/doc/gm2.texi *** gcc-13.2.0/gcc/doc/gm2.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/gm2.texi Tue May 21 07:47:38 2024 *************** such as the AVR and the ARM). *** 227,232 **** --- 227,233 ---- * Linking:: Linking options in more detail. * Elementary data types:: Data types supported by GNU Modula-2. * Standard procedures:: Permanently accessible base procedures. + * High procedure function:: Behavior of the high procedure function. * Dialect:: GNU Modula-2 supported dialects. * Exceptions:: Exception implementation * Semantic checking:: How to detect run time problems at compile time. *************** zero. *** 658,663 **** --- 659,687 ---- @item -fwholevalue generate code to detect whole number overflow and underflow. + @item -Wcase-enum + generate a warning if a @code{CASE} statement selects on an enumerated + type expression and the statement is missing one or more @code{CASE} + labels. No warning is issued if the @code{CASE} statement has a default + @code{ELSE} clause. + The option @samp{-Wall} will turn on this flag. + + @item -Wuninit-variable-checking + issue a warning if a variable is used before it is initialized. + The checking only occurs in the first basic block in each procedure. + It does not check parameters, array types or set types. + + @item -Wuninit-variable-checking=all,known,cond + issue a warning if a variable is used before it is initialized. + The checking will only occur in the first basic block in each + procedure if @samp{known} is specified. If @samp{cond} or @samp{all} + is specified then checking continues into conditional branches of the + flow graph. All checking will stop when a procedure call is invoked + or the top of a loop is encountered. + The option @samp{-Wall} will turn on this flag with + @samp{-Wuninit-variable-checking=known}. + The @samp{-Wuninit-variable-checking=all} will increase compile time. + @c the following warning options are complete but need to be @c regression tested against all other front ends @c to ensure the options do not conflict. *************** exported from the @code{SYSTEM} module. *** 829,835 **** @xref{The PIM system module, , ,gm2}. @xref{The ISO system module, , ,gm2}. ! @node Standard procedures, Dialect, Elementary data types, Using @section Permanently accessible base procedures. This section describes the procedures and functions which are --- 853,859 ---- @xref{The PIM system module, , ,gm2}. @xref{The ISO system module, , ,gm2}. ! @node Standard procedures, High procedure function, Elementary data types, Using @section Permanently accessible base procedures. This section describes the procedures and functions which are *************** PROCEDURE HALT ; *** 986,992 **** foo('hello') END ! will cause the local variable c to contain the value 4 *) @findex HIGH --- 1010,1016 ---- foo('hello') END ! will cause the local variable c to contain the value 5 *) @findex HIGH *************** PROCEDURE ODD (v: ) : ; @end example ! @node Dialect, Exceptions, Standard procedures, Using @section GNU Modula-2 supported dialects This section describes the dialects understood by GNU Modula-2. --- 1252,1350 ---- PROCEDURE RE (c: ) : ; @end example ! @node High procedure function, Dialect, Standard procedures, Using ! ! @section Behavior of the high procedure function ! ! This section describes the behavior of the standard procedure function ! @code{HIGH} and it includes a table of parameters with the expected ! return result. The standard procedure function will return the last ! accessible indice of an @code{ARRAY}. If the parameter to @code{HIGH} ! is a static array then the result will be a @code{CARDINAL} value ! matching the upper bound in the @code{ARRAY} declaration. ! ! The section also describes the behavior of a string literal actual ! parameter and how it relates to @code{HIGH}. ! The PIM2, PIM3, PIM4 and ISO standard is silent on the issue of ! whether a @code{nul} is present in an @code{ARRAY} @code{OF} ! @code{CHAR} actual parameter. ! ! If the first parameter to @code{HIGH} is an unbounded @code{ARRAY} the ! return value from @code{HIGH} will be the last accessible element in ! the array. If a constant string literal is passed as an actual ! parameter then it will be @code{nul} terminated. The table and ! example code below describe the effect of passing an actual parameter ! and the expected @code{HIGH} value. ! ! @example ! MODULE example1 ; ! ! PROCEDURE test (a: ARRAY OF CHAR) ; ! VAR ! x: CARDINAL ; ! BEGIN ! x := HIGH (a) ; ! ... ! END test ; ! ! ! BEGIN ! test ('') ; ! test ('1') ; ! test ('12') ; ! test ('123') ; ! END example1. ! ! ! Actual parameter | HIGH (a) | a[HIGH (a)] = nul ! =============================================== ! '' | 0 | TRUE ! '1' | 1 | TRUE ! '12' | 2 | TRUE ! '123' | 3 | TRUE ! @end example ! ! A constant string literal will be passed to an @code{ARRAY} @code{OF} ! @code{CHAR} with an appended @code{nul} @code{CHAR}. Thus if the ! constant string literal @code{''} is passed as an actual parameter (in ! example1) then the result from @code{HIGH(a)} will be @code{0}. ! ! @example ! MODULE example2 ; ! ! PROCEDURE test (a: ARRAY OF CHAR) ; ! VAR ! x: CARDINAL ; ! BEGIN ! x := HIGH (a) ; ! ... ! END test ; ! ! VAR ! str0: ARRAY [0..0] OF CHAR ; ! str1: ARRAY [0..1] OF CHAR ; ! str2: ARRAY [0..2] OF CHAR ; ! str3: ARRAY [0..3] OF CHAR ; ! BEGIN ! str0 := 'a' ; (* No room for the nul terminator. *) ! test (str0) ; ! str1 := 'ab' ; (* No room for the nul terminator. *) ! test (str1) ; ! str2 := 'ab' ; (* Terminated with a nul. *) ! test (str2) ; ! str2 := 'abc' ; (* Terminated with a nul. *) ! test (str3) ; ! END example2. ! ! Actual parameter | HIGH (a) | a[HIGH (a)] = nul ! =============================================== ! str0 | 0 | FALSE ! str1 | 1 | FALSE ! atr2 | 2 | TRUE ! str3 | 3 | TRUE ! @end example ! ! @node Dialect, Exceptions, High procedure function, Using @section GNU Modula-2 supported dialects This section describes the dialects understood by GNU Modula-2. *************** with @samp{-fsoft-check-all} so that the *** 1359,1364 **** --- 1475,1600 ---- optimizer and perform variable and flow analysis before the semantic plugin is invoked. + The @samp{-Wuninit-variable-checking} can be used to identify + uninitialized variables within the first basic block in a procedure. + The checking is limited to variables so long as they are + not an array or set or a variant record or var parameter. + + The following example detects whether a sub component within a record + is uninitialized. + + @example + MODULE testlarge2 ; + + TYPE + color = RECORD + r, g, b: CARDINAL ; + END ; + + pixel = RECORD + fg, bg: color ; + END ; + + PROCEDURE test ; + VAR + p: pixel ; + BEGIN + p.fg.r := 1 ; + p.fg.g := 2 ; + p.fg.g := 3 ; (* Deliberate typo should be p.fg.b. *) + p.bg := p.fg ; (* Accessing an uninitialized field. *) + END test ; + + BEGIN + test + END testlarge2. + @end example + + @example + $ gm2 -c -Wuninit-variable-checking testlarge2.mod + testlarge2.mod:19:13: warning: In procedure ‘test’: attempting to + access expression before it has been initialized + 19 | p.bg := p.fg ; (* Accessing an uninitialized field. *) + | ~^~~ + @end example + + The following example detects if an individual field is uninitialized. + + @example + MODULE testwithnoptr ; + + TYPE + Vec = RECORD + x, y: CARDINAL ; + END ; + + PROCEDURE test ; + VAR + p: Vec ; + BEGIN + WITH p DO + x := 1 ; + x := 2 (* Deliberate typo, user meant y. *) + END ; + IF p.y = 2 + THEN + END + END test ; + + BEGIN + test + END testwithnoptr. + @end example + + The following example detects a record is uninitialized via a + pointer variable in a @samp{WITH} block. + + @example + $ gm2 -g -c -Wuninit-variable-checking testwithnoptr.mod + testwithnoptr.mod:21:8: warning: In procedure ‘test’: attempting to + access expression before it has been initialized + 21 | IF p.y = 2 + | ~^~ + @end example + + @example + MODULE testnew6 ; + + FROM Storage IMPORT ALLOCATE ; + + TYPE + PtrToVec = POINTER TO RECORD + x, y: INTEGER ; + END ; + + PROCEDURE test ; + VAR + p: PtrToVec ; + BEGIN + NEW (p) ; + WITH p^ DO + x := 1 ; + x := 2 (* Deliberate typo, user meant y. *) + END ; + IF p^.y = 2 + THEN + END + END test ; + + + BEGIN + test + END testnew6. + @end example + + @example + $ gm2 -g -c -Wuninit-variable-checking testnew6.mod + testnew6.mod:19:9: warning: In procedure ‘test’: attempting to + access expression before it has been initialized + 19 | IF p^.y = 2 + | ~~^~ + @end example + @node Extensions, Type compatibility, Semantic checking, Using @section GNU Modula-2 language extensions diff -Nrcpad gcc-13.2.0/gcc/doc/gpl.7 gcc-13.3.0/gcc/doc/gpl.7 *** gcc-13.2.0/gcc/doc/gpl.7 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/gpl.7 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2023-07-27" "gcc-13.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 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/invoke.texi gcc-13.3.0/gcc/doc/invoke.texi *** gcc-13.2.0/gcc/doc/invoke.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/invoke.texi Tue May 21 07:47:38 2024 *************** Objective-C and Objective-C++ Dialects}. *** 864,870 **** -mn_flash=@var{size} -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr} @emph{Blackfin Options} --- 864,870 ---- -mn_flash=@var{size} -mno-interrupts -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack -mfract-convert-truncate ! -mshort-calls -mskip-bug -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr} @emph{Blackfin Options} *************** Objective-C and Objective-C++ Dialects}. *** 1030,1036 **** -mmax-inline-memcpy-size=@var{n} -mexplicit-relocs -mno-explicit-relocs -mdirect-extern-access -mno-direct-extern-access ! -mcmodel=@var{code-model}} @emph{M32R/D Options} @gccoptlist{-m32r2 -m32rx -m32r --- 1030,1036 ---- -mmax-inline-memcpy-size=@var{n} -mexplicit-relocs -mno-explicit-relocs -mdirect-extern-access -mno-direct-extern-access ! -mcmodel=@var{code-model} -mrelax -mpass-mrelax-to-as} @emph{M32R/D Options} @gccoptlist{-m32r2 -m32rx -m32r *************** crossing a loop backedge when comparing *** 16102,16107 **** --- 16102,16114 ---- Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. + @item uninit-max-chain-len + Maximum number of predicates anded for each predicate ored in the normalized + predicate chain. + + @item uninit-max-num-chains + Maximum number of predicates ored in the normalized predicate chain. + @item sched-autopref-queue-depth Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into; at ' *************** performance of the code. Permissible va *** 20323,20329 **** @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55}, @samp{cortex-r82}, @samp{cortex-x1}, @samp{cortex-x1c}, @samp{cortex-x2}, @samp{cortex-x3}, @samp{cortex-a510}, @samp{cortex-a710}, @samp{cortex-a715}, ! @samp{ampere1}, @samp{ampere1a}, and @samp{native}. The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, --- 20330,20336 ---- @samp{cortex-a75.cortex-a55}, @samp{cortex-a76.cortex-a55}, @samp{cortex-r82}, @samp{cortex-x1}, @samp{cortex-x1c}, @samp{cortex-x2}, @samp{cortex-x3}, @samp{cortex-a510}, @samp{cortex-a710}, @samp{cortex-a715}, ! @samp{ampere1}, @samp{ampere1a}, @samp{cobalt-100} and @samp{native}. The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}, @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53}, *************** These options are defined for AVR implem *** 22730,22741 **** @table @gcctabopt @opindex mmcu @item -mmcu=@var{mcu} ! Specify Atmel AVR instruction set architectures (ISA) or MCU type. ! ! The default for this option is@tie{}@samp{avr2}. ! GCC supports the following AVR devices and ISAs: @include avr-mmcu.texi @opindex mabsdata --- 22737,22758 ---- @table @gcctabopt @opindex mmcu @item -mmcu=@var{mcu} ! Specify the AVR instruction set architecture (ISA) or device type. ! The default for this option is@tie{}@code{avr2}. ! The following AVR devices and ISAs are supported. ! @emph{Note:} A complete device support consists of ! startup code @code{crt@var{mcu}.o}, a device header @code{avr/io*.h}, ! a device library @code{lib@var{mcu}.a} and a ! @uref{https://gcc.gnu.org/wiki/avr-gcc#spec-files,device-specs} file ! @code{specs-@var{mcu}}. Only the latter is provided by the compiler ! according the supported @code{@var{mcu}}s below. The rest is supported ! by @w{@uref{https://www.nongnu.org/avr-libc/,AVR-LibC}}, or by means of ! @uref{https://gcc.gnu.org/wiki/avr-gcc#atpack,@code{atpack}} files ! from the hardware manufacturer. + @c Auto-generated. Re-build when new devices are added to avr-mcus.def + @c by running "make avr-mcus" in $builddir/gcc. @include avr-mmcu.texi @opindex mabsdata *************** Do not save registers in @code{main}. T *** 22808,22818 **** attaching attribute @ref{AVR Function Attributes,,@code{OS_task}} to @code{main}. It is activated per default if optimization is on. - @opindex mn-flash - @item -mn-flash=@var{num} - Assume that the flash memory has a size of - @var{num} times 64@tie{}KiB. - @opindex mno-interrupts @item -mno-interrupts Generated code is not compatible with hardware interrupts. --- 22825,22830 ---- *************** differ from instructions in the assemble *** 22834,22868 **** Relaxing must be turned on if linker stubs are needed, see the section on @code{EIND} and linker stubs below. - @opindex mrmw - @item -mrmw - Assume that the device supports the Read-Modify-Write - instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. - - @opindex mshort-calls - @item -mshort-calls - - Assume that @code{RJMP} and @code{RCALL} can target the whole - program memory. - - This option is used internally for multilib selection. It is - not an optimization option, and you don't need to set it by hand. - - @opindex msp8 - @item -msp8 - Treat the stack pointer register as an 8-bit register, - i.e.@: assume the high byte of the stack pointer is zero. - In general, you don't need to set this option by hand. - - This option is used internally by the compiler to select and - build multilibs for architectures @code{avr2} and @code{avr25}. - These architectures mix devices with and without @code{SPH}. - For any setting other than @option{-mmcu=avr2} or @option{-mmcu=avr25} - the compiler driver adds or removes this option from the compiler - proper's command line, because the compiler then knows if the device - or architecture has an 8-bit stack pointer and thus no @code{SPH} - register or not. - @opindex mstrict-X @item -mstrict-X Use address register @code{X} in a way proposed by the hardware. This means --- 22846,22851 ---- *************** If @var{device} is not a device but only *** 23161,23166 **** --- 23144,23152 ---- @item __AVR_XMEGA__ The device / architecture belongs to the XMEGA family of devices. + @item __AVR_HAVE_ADIW__ + The device has the @code{ADIW} and @code{SBIW} instructions. + @item __AVR_HAVE_ELPM__ The device has the @code{ELPM} instruction. *************** The device has the @code{ELPM} instructi *** 23168,23181 **** The device has the @code{ELPM R@var{n},Z} and @code{ELPM R@var{n},Z+} instructions. - @item __AVR_HAVE_MOVW__ - The device has the @code{MOVW} instruction to perform 16-bit - register-register moves. - @item __AVR_HAVE_LPMX__ The device has the @code{LPM R@var{n},Z} and @code{LPM R@var{n},Z+} instructions. @item __AVR_HAVE_MUL__ The device has a hardware multiplier. --- 23154,23167 ---- The device has the @code{ELPM R@var{n},Z} and @code{ELPM R@var{n},Z+} instructions. @item __AVR_HAVE_LPMX__ The device has the @code{LPM R@var{n},Z} and @code{LPM R@var{n},Z+} instructions. + @item __AVR_HAVE_MOVW__ + The device has the @code{MOVW} instruction to perform 16-bit + register-register moves. + @item __AVR_HAVE_MUL__ The device has a hardware multiplier. *************** Reflects the @code{--with-libf7=@{libgcc *** 23289,23294 **** --- 23275,23325 ---- @end table + @subsubsection AVR Internal Options + The following options are used internally by the compiler and to communicate + between device specs files and the compiler proper. You don't need to set these + options by hand, in particular they are not optimization options. + Using these options in the wrong way may lead to sub-optimal or wrong code. + They are documented for completeness, and in order to get a better + understanding of + @w{@uref{https://gcc.gnu.org/wiki/avr-gcc#spec-files,device specs}} + files. + + @table @gcctabopt + + @opindex mn-flash + @item -mn-flash=@var{num} + Assume that the flash memory has a size of @var{num} times 64@tie{}KiB. + This determines which @code{__flash@var{N}} address spaces are available. + + @opindex mrmw + @item -mrmw + Assume that the device supports the Read-Modify-Write + instructions @code{XCH}, @code{LAC}, @code{LAS} and @code{LAT}. + + @opindex mshort-calls + @item -mshort-calls + + Assume that @code{RJMP} and @code{RCALL} can target the whole + program memory. This option is used for multilib generation and selection + for the devices from architecture @code{avrxmega3}. + + @opindex mskip-bug + @item -mskip-bug + + Generate code without skips (@code{CPSE}, @code{SBRS}, + @code{SBRC}, @code{SBIS}, @code{SBIC}) over 32-bit instructions. + + @opindex msp8 + @item -msp8 + Treat the stack pointer register as an 8-bit register, + i.e.@: assume the high byte of the stack pointer is zero. + This option is used by the compiler to select and + build multilibs for architectures @code{avr2} and @code{avr25}. + These architectures mix devices with and without @code{SPH}. + + @end table + @node Blackfin Options @subsection Blackfin Options @cindex Blackfin Options *************** The default code model is @code{normal}. *** 25799,25810 **** @itemx -mno-explicit-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. The default value for the option is determined during ! GCC build-time by detecting corresponding assembler support: ! @code{-mexplicit-relocs} if said support is present, ! @code{-mno-explicit-relocs} otherwise. This option is mostly useful for ! debugging, or interoperation with assemblers different from the build-time ! one. @opindex mdirect-extern-access @item -mdirect-extern-access --- 25830,25840 ---- @itemx -mno-explicit-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 instruction scheduling but allow linker relaxation. The default ! value for the option is determined with the assembler capability detected ! during GCC build-time and the setting of @code{-mrelax}: ! @code{-mexplicit-relocs} if the assembler supports relocation operators ! but @code{-mrelax} is not enabled, @code{-mno-explicit-relocs} otherwise. @opindex mdirect-extern-access @item -mdirect-extern-access *************** environments where no dynamic link is pe *** 25819,25824 **** --- 25849,25876 ---- kernels, executables linked with @option{-static} or @option{-static-pie}. @option{-mdirect-extern-access} is not compatible with @option{-fPIC} or @option{-fpic}. + + @item -mrelax + @itemx -mno-relax + Take (do not take) advantage of linker relaxations. If + @option{-mpass-mrelax-to-as} is enabled, this option is also passed to + the assembler. The default is determined during GCC build-time by + detecting corresponding assembler support: + @option{-mrelax} if the assembler supports both the @option{-mrelax} + option and the conditional branch relaxation (it's required or the + @code{.align} directives and conditional branch instructions in the + assembly code outputted by GCC may be rejected by the assembler because + of a relocation overflow), @option{-mno-relax} otherwise. + + @item -mpass-mrelax-to-as + @itemx -mno-pass-mrelax-to-as + Pass (do not pass) the @option{-mrelax} or @option{-mno-relax} option + to the assembler. The default is determined during GCC build-time by + detecting corresponding assembler support: + @option{-mpass-mrelax-to-as} if the assembler supports the + @option{-mrelax} option, @option{-mno-pass-mrelax-to-as} otherwise. + This option is mostly useful for debugging, or interoperation with + assemblers different from the build-time one. @end table @node M32C Options *************** SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PREF *** 32397,32404 **** XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ! AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD, UINTR and RAOINT ! instruction set support. @item knl Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, --- 32449,32456 ---- XSAVES, XSAVEOPT, FSGSBASE, PTWRITE, RDPID, SGX, GFNI-SSE, CLWB, MOVDIRI, MOVDIR64B, CLDEMOTE, WAITPKG, ADCX, AVX, AVX2, BMI, BMI2, F16C, FMA, LZCNT, PCONFIG, PKU, VAES, VPCLMULQDQ, SERIALIZE, HRESET, KL, WIDEKL, AVX-VNNI, ! AVXIFMA, AVXVNNIINT8, AVXNECONVERT, CMPCCXADD, ENQCMD and UINTR instruction set ! support. @item knl Intel Knight's Landing CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, diff -Nrcpad gcc-13.2.0/gcc/doc/lto-dump.1 gcc-13.3.0/gcc/doc/lto-dump.1 *** gcc-13.2.0/gcc/doc/lto-dump.1 Thu Jul 27 08:18:11 2023 --- gcc-13.3.0/gcc/doc/lto-dump.1 Tue May 21 07:50:34 2024 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "LTO-DUMP 1" ! .TH LTO-DUMP 1 "2023-07-27" "gcc-13.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 "LTO-DUMP 1" ! .TH LTO-DUMP 1 "2024-05-21" "gcc-13.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-13.2.0/gcc/doc/rtl.texi gcc-13.3.0/gcc/doc/rtl.texi *** gcc-13.2.0/gcc/doc/rtl.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/doc/rtl.texi Tue May 21 07:47:38 2024 *************** vector. For example @{ 0, 1 @} could be *** 1843,1849 **** one element each or one pattern with two elements (@var{base0} and @var{base1}). The canonical encoding is always the one with the fewest patterns or (if both encodings have the same number of ! petterns) the one with the fewest encoded elements. @samp{const_vector_encoding_nelts (@var{v})} gives the total number of encoded elements in @var{v}, which is 6 in the example above. --- 1843,1849 ---- one element each or one pattern with two elements (@var{base0} and @var{base1}). The canonical encoding is always the one with the fewest patterns or (if both encodings have the same number of ! patterns) the one with the fewest encoded elements. @samp{const_vector_encoding_nelts (@var{v})} gives the total number of encoded elements in @var{v}, which is 6 in the example above. diff -Nrcpad gcc-13.2.0/gcc/dwarf2out.cc gcc-13.3.0/gcc/dwarf2out.cc *** gcc-13.2.0/gcc/dwarf2out.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/dwarf2out.cc Tue May 21 07:47:38 2024 *************** prune_unused_types_walk (dw_die_ref die) *** 30137,30144 **** --- 30137,30149 ---- case DW_TAG_reference_type: case DW_TAG_rvalue_reference_type: case DW_TAG_volatile_type: + case DW_TAG_restrict_type: + case DW_TAG_shared_type: + case DW_TAG_atomic_type: + case DW_TAG_immutable_type: case DW_TAG_typedef: case DW_TAG_array_type: + case DW_TAG_coarray_type: case DW_TAG_friend: case DW_TAG_enumeration_type: case DW_TAG_subroutine_type: *************** prune_unused_types_walk (dw_die_ref die) *** 30147,30152 **** --- 30152,30159 ---- case DW_TAG_subrange_type: case DW_TAG_ptr_to_member_type: case DW_TAG_file_type: + case DW_TAG_unspecified_type: + case DW_TAG_dynamic_type: /* Type nodes are useful only when other DIEs reference them --- don't mark them. */ /* FALLTHROUGH */ *************** dwarf2out_finish (const char *filename) *** 32184,32207 **** reset_dies (comp_unit_die ()); for (limbo_die_node *node = cu_die_list; node; node = node->next) reset_dies (node->die); - - hash_table comdat_type_table (100); for (ctnode = comdat_type_list; ctnode != NULL; ctnode = ctnode->next) { - comdat_type_node **slot - = comdat_type_table.find_slot (ctnode, INSERT); - - /* Don't reset types twice. */ - if (*slot != HTAB_EMPTY_ENTRY) - continue; - /* Remove the pointer to the line table. */ remove_AT (ctnode->root_die, DW_AT_stmt_list); - if (debug_info_level >= DINFO_LEVEL_TERSE) reset_dies (ctnode->root_die); - - *slot = ctnode; } /* Reset die CU symbol so we don't output it twice. */ --- 32191,32202 ---- diff -Nrcpad gcc-13.2.0/gcc/expr.cc gcc-13.3.0/gcc/expr.cc *** gcc-13.2.0/gcc/expr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/expr.cc Tue May 21 07:47:38 2024 *************** convert_mode_scalar (rtx to, rtx from, i *** 351,358 **** && REAL_MODE_FORMAT (from_mode) == &ieee_half_format)); if (GET_MODE_PRECISION (from_mode) == GET_MODE_PRECISION (to_mode)) ! /* Conversion between decimal float and binary float, same size. */ ! tab = DECIMAL_FLOAT_MODE_P (from_mode) ? trunc_optab : sext_optab; else if (GET_MODE_PRECISION (from_mode) < GET_MODE_PRECISION (to_mode)) tab = sext_optab; else --- 351,366 ---- && REAL_MODE_FORMAT (from_mode) == &ieee_half_format)); if (GET_MODE_PRECISION (from_mode) == GET_MODE_PRECISION (to_mode)) ! { ! if (REAL_MODE_FORMAT (to_mode) == &arm_bfloat_half_format ! && REAL_MODE_FORMAT (from_mode) == &ieee_half_format) ! /* libgcc implements just __trunchfbf2, not __extendhfbf2. */ ! tab = trunc_optab; ! else ! /* Conversion between decimal float and binary float, same ! size. */ ! tab = DECIMAL_FLOAT_MODE_P (from_mode) ? trunc_optab : sext_optab; ! } else if (GET_MODE_PRECISION (from_mode) < GET_MODE_PRECISION (to_mode)) tab = sext_optab; else *************** emit_push_insn (rtx x, machine_mode mode *** 5084,5089 **** --- 5092,5098 ---- /* If source is a constant VAR_DECL with a simple constructor, store the constructor to the stack instead of moving it. */ const_tree decl; + HOST_WIDE_INT sz; if (partial == 0 && MEM_P (xinner) && SYMBOL_REF_P (XEXP (xinner, 0)) *************** emit_push_insn (rtx x, machine_mode mode *** 5091,5099 **** && VAR_P (decl) && TREE_READONLY (decl) && !TREE_SIDE_EFFECTS (decl) ! && immediate_const_ctor_p (DECL_INITIAL (decl), 2)) ! store_constructor (DECL_INITIAL (decl), target, 0, ! int_expr_size (DECL_INITIAL (decl)), false); else emit_block_move (target, xinner, size, BLOCK_OP_CALL_PARM); } --- 5100,5110 ---- && VAR_P (decl) && TREE_READONLY (decl) && !TREE_SIDE_EFFECTS (decl) ! && immediate_const_ctor_p (DECL_INITIAL (decl), 2) ! && (sz = int_expr_size (DECL_INITIAL (decl))) > 0 ! && CONST_INT_P (size) ! && INTVAL (size) == sz) ! store_constructor (DECL_INITIAL (decl), target, 0, sz, false); else emit_block_move (target, xinner, size, BLOCK_OP_CALL_PARM); } diff -Nrcpad gcc-13.2.0/gcc/fold-const.cc gcc-13.3.0/gcc/fold-const.cc *** gcc-13.2.0/gcc/fold-const.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fold-const.cc Tue May 21 07:47:38 2024 *************** static tree *** 6223,6229 **** merge_truthop_with_opposite_arm (location_t loc, tree op, tree cmpop, bool rhs_only) { - tree type = TREE_TYPE (cmpop); enum tree_code code = TREE_CODE (cmpop); enum tree_code truthop_code = TREE_CODE (op); tree lhs = TREE_OPERAND (op, 0); --- 6223,6228 ---- *************** merge_truthop_with_opposite_arm (locatio *** 6239,6244 **** --- 6238,6245 ---- if (TREE_CODE_CLASS (code) != tcc_comparison) return NULL_TREE; + tree type = TREE_TYPE (TREE_OPERAND (cmpop, 0)); + if (rhs_code == truthop_code) { tree newrhs = merge_truthop_with_opposite_arm (loc, rhs, cmpop, rhs_only); *************** extract_muldiv_1 (tree t, tree c, enum t *** 6897,6902 **** --- 6898,6924 ---- if (TYPE_UNSIGNED (ctype) != TYPE_UNSIGNED (type)) break; + /* Punt for multiplication altogether. + MAX (1U + INT_MAX, 1U) * 2U is not equivalent to + MAX ((1U + INT_MAX) * 2U, 1U * 2U), the former is + 0U, the latter is 2U. + MAX (INT_MIN / 2, 0) * -2 is not equivalent to + MIN (INT_MIN / 2 * -2, 0 * -2), the former is + well defined 0, the latter invokes UB. + MAX (INT_MIN / 2, 5) * 5 is not equivalent to + MAX (INT_MIN / 2 * 5, 5 * 5), the former is + well defined 25, the latter invokes UB. */ + if (code == MULT_EXPR) + break; + /* For division/modulo, punt on c being -1 for MAX, as + MAX (INT_MIN, 0) / -1 is not equivalent to + MIN (INT_MIN / -1, 0 / -1), the former is well defined + 0, the latter invokes UB (or for -fwrapv is INT_MIN). + MIN (INT_MIN, 0) / -1 already invokes UB, so the + transformation won't make it worse. */ + else if (tcode == MAX_EXPR && integer_minus_onep (c)) + break; + /* MIN (a, b) / 5 -> MIN (a / 5, b / 5) */ sub_strict_overflow_p = false; if ((t1 = extract_muldiv (op0, c, code, wide_type, *************** native_encode_initializer (tree init, un *** 8463,8468 **** --- 8485,8492 ---- if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN) return 0; + if (TREE_CODE (val) == NON_LVALUE_EXPR) + val = TREE_OPERAND (val, 0); if (TREE_CODE (val) != INTEGER_CST) return 0; *************** multiple_of_p (tree type, const_tree top *** 14258,14264 **** && TREE_CODE (op2) == INTEGER_CST && integer_pow2p (bottom) && wi::multiple_of_p (wi::to_widest (op2), ! wi::to_widest (bottom), UNSIGNED)) return 1; op1 = gimple_assign_rhs1 (stmt); --- 14282,14288 ---- && TREE_CODE (op2) == INTEGER_CST && integer_pow2p (bottom) && wi::multiple_of_p (wi::to_widest (op2), ! wi::to_widest (bottom), SIGNED)) return 1; op1 = gimple_assign_rhs1 (stmt); diff -Nrcpad gcc-13.2.0/gcc/fortran/ChangeLog gcc-13.3.0/gcc/fortran/ChangeLog *** gcc-13.2.0/gcc/fortran/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/fortran/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,472 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-08 Paul Thomas + + Backported from master: + 2024-04-25 Paul Thomas + Jakub Jelinek + + PR fortran/89462 + * decl.cc (build_sym): Add an extra argument 'elem'. If 'elem' + is greater than 1, gfc_new_charlen is called to generate a new + charlen, registered in the symbol namespace. + (variable_decl, enumerator_decl): Set the new argument in the + calls to build_sym. + + 2024-05-08 Paul Thomas + + Backported from master: + 2024-04-25 Paul Thomas + + PR fortran/93678 + * trans-expr.cc (gfc_conv_procedure_call): Use the interface, + where possible, to obtain the type of character procedure + pointers of class entities. + + 2024-05-08 Paul Thomas + + Backported from master: + 2024-04-09 Paul Thomas + + PR fortran/113956 + * trans-expr.cc (gfc_trans_pointer_assignment): Remove assert + causing the ICE since it was unnecesary. + + 2024-05-08 Paul Thomas + + Backported from master: + 2024-04-09 Paul Thomas + + PR fortran/114535 + * resolve.cc (resolve_symbol): Remove last chunk that checked + for finalization of unreferenced symbols. + + 2024-05-06 Paul Thomas + + Backported from master: + 2024-04-02 Paul Thomas + + PR fortran/106999 + * interface.cc (gfc_compare_interfaces): Add error for a + subroutine proc pointer passed to a variable formal. + (compare_parameter): If a procedure pointer is being passed to + a non-procedure formal arg, and there is an an interface, use + gfc_compare_interfaces to check and provide a more useful error + message. + + 2024-05-06 Paul Thomas + + Backported from master: + 2024-04-02 Paul Thomas + + PR fortran/112407 + * resolve.cc (resolve_procedure_expression): Change the test for + for recursion in the case of hidden procedures from modules. + (resolve_typebound_static): Add warning for possible recursive + calls to typebound procedures. + * trans-expr.cc (gfc_trans_class_init_assign): Do not apply + default initializer to class dummy where component initializers + are all null. + + 2024-05-06 Paul Thomas + + Backported from master: + 2024-03-29 Paul Thomas + + PR fortran/36337 + PR fortran/110987 + PR fortran/113885 + * trans-expr.cc (gfc_trans_assignment_1): Place finalization + block before rhs post block for elemental rhs. + * trans.cc (gfc_finalize_tree_expr): Check directly if a type + has no components, rather than the zero components attribute. + Treat elemental zero component expressions in the same way as + scalars. + + 2024-05-06 Paul Thomas + + PR fortran/114739 + * primary.cc (gfc_match_varspec): Check for default type before + checking for derived types with the right component name. + + 2024-04-26 Andre Vehreschild + + Backported from master: + 2023-07-12 Andre Vehreschild + + PR fortran/102003 + * expr.cc (find_inquiry_ref): Replace len of pdt_string by + constant. + (simplify_ref_chain): Ensure input to find_inquiry_ref is + NULL. + (gfc_match_init_expr): Prevent PDT analysis for function calls. + (gfc_pdt_find_component_copy_initializer): Get the initializer + value for given component. + * gfortran.h (gfc_pdt_find_component_copy_initializer): New + function. + * simplify.cc (gfc_simplify_len): Replace len() of PDT with pdt + component ref or constant. + + 2024-04-06 Harald Anlauf + + Backported from master: + 2024-03-28 Harald Anlauf + + PR fortran/114474 + * primary.cc (gfc_variable_attr): Catch variables used in structure + constructors within DATA statements that are still tagged with a + temporary type BT_PROCEDURE from match_actual_arg and which have the + target attribute, and fix their typespec. + + 2024-04-02 Harald Anlauf + + Backported from master: + 2024-03-06 Harald Anlauf + + PR fortran/103707 + PR fortran/106987 + * arith.cc (is_hard_arith_error): New helper function to determine + whether an arithmetic error is "hard" or not. + (check_result): Use it. + (gfc_arith_divide): Set "Division by zero" only for regular + numerators of real and complex divisions. + (reduce_unary): Use is_hard_arith_error to determine whether a hard + or (recoverable) soft error was encountered. Terminate immediately + on hard error, otherwise remember code of first soft error. + (reduce_binary_ac): Likewise. + (reduce_binary_ca): Likewise. + (reduce_binary_aa): Likewise. + + 2024-04-02 Harald Anlauf + + Backported from master: + 2024-02-09 Harald Anlauf + + PR fortran/113799 + * arith.cc (reduce_unary): Remember any overflow encountered during + reduction of unary arithmetic operations on array constructors and + continue, and return error status, but terminate on serious errors. + + 2024-04-02 Harald Anlauf + + Backported from master: + 2023-05-17 Harald Anlauf + + PR fortran/95374 + PR fortran/104352 + * decl.cc (add_init_expr_to_sym): Set shape of initializer also for + zero-sized arrays, so that bounds violations can be detected later. + + 2024-03-31 Mikael Morin + + Backported from master: + 2024-03-22 Mikael Morin + + PR fortran/107426 + * gfortran.h (gfc_save_module_list, gfc_restore_old_module_list): + New declarations. + * module.cc (old_module_list_tail): New global variable. + (gfc_save_module_list, gfc_restore_old_module_list): New functions. + (gfc_use_modules): Set module_list and old_module_list_tail. + * parse.cc (next_statement): Save module_list before doing any work. + (reject_statement): Restore module_list to its saved value. + + 2024-03-29 Harald Anlauf + + Backported from master: + 2024-02-13 Harald Anlauf + + PR fortran/113866 + * trans-expr.cc (gfc_conv_procedure_call): When passing an optional + dummy argument to an optional dummy argument of a bind(c) procedure + and the dummy argument is passed via a CFI descriptor, no special + presence check and passing of a default NULL pointer is needed. + + 2024-03-29 Harald Anlauf + + Backported from master: + 2024-03-29 Harald Anlauf + + PR fortran/50410 + * trans-expr.cc (gfc_conv_structure): Check for NULL pointer. + + 2024-03-28 Paul Thomas + + Backported from master: + 2023-05-23 Paul Thomas + + PR fortran/103716 + * resolve.cc (gfc_resolve_ref): Conversion of array_ref into an + element should be done for all characters without a len expr, + not just deferred lens, and for integer expressions. + * trans-expr.cc (conv_inquiry): For len and kind inquiry refs, + set the se string_length to NULL_TREE. + + 2024-03-23 Harald Anlauf + + PR fortran/101135 + * trans-array.cc (gfc_get_dataptr_offset): Check for optional + arguments being present before dereferencing data pointer. + + 2024-03-23 Harald Anlauf + + PR fortran/55978 + * interface.cc (gfc_compare_actual_formal): Skip size check for + NULL() actual without MOLD argument. + + 2024-03-23 Harald Anlauf + + * trans-types.cc (gfc_get_nodesc_array_type): Clear used gmp + variables. + + 2024-03-19 Harald Anlauf + + Backported from master: + 2024-03-13 Harald Anlauf + + PR fortran/114001 + * expr.cc (gfc_is_simply_contiguous): Adjust logic so that CLASS + symbols are also handled. + + 2024-03-19 Harald Anlauf + + Backported from master: + 2024-03-18 Harald Anlauf + + PR fortran/103715 + * frontend-passes.cc (check_externals_expr): Prevent invalid read + in case of mismatch of external subroutine with function. + + 2024-03-15 Harald Anlauf + + Backported from master: + 2024-03-12 Harald Anlauf + + PR fortran/110826 + * array.cc (gfc_array_dimen_size): When walking the ref chain of an + array and the ultimate component is a procedure pointer, do not try + to figure out its dimension even if it is a array-valued function. + + 2024-03-15 Harald Anlauf + + Backported from master: + 2023-12-05 Harald Anlauf + Tobias Burnus + + PR fortran/100988 + * gfortran.h (IS_PROC_POINTER): New macro. + * trans-types.cc (gfc_sym_type): Use macro in determination if the + restrict qualifier can be used for a dummy variable. Fix logic to + allow the restrict qualifier also for optional arguments, and to + not apply it to pointer or proc_pointer arguments. + + 2024-03-15 Harald Anlauf + + Backported from master: + 2024-03-01 Harald Anlauf + + PR fortran/104819 + * check.cc (gfc_check_null): Handle nested NULL()s. + (is_c_interoperable): Check for MOLD argument of NULL() as part of + the interoperability check. + * interface.cc (gfc_compare_actual_formal): Extend checks for NULL() + actual arguments for presence of MOLD argument when required by + Interp J3/22-146. + + 2024-03-06 Harald Anlauf + + Backported from master: + 2024-02-26 Harald Anlauf + + PR fortran/114012 + * trans-expr.cc (gfc_conv_procedure_call): Evaluate non-trivial + arguments just once before assigning to an unlimited polymorphic + dummy variable. + + 2024-03-06 Steve Kargl + + Backported from master: + 2024-02-23 Steve Kargl + Harald Anlauf + + PR fortran/114024 + * trans-stmt.cc (gfc_trans_allocate): When a source expression has + substring references, part-refs, or %re/%im inquiries, wrap the + entity in parentheses to force evaluation of the expression. + + 2024-01-31 Harald Anlauf + + Backported from master: + 2024-01-27 Harald Anlauf + + PR fortran/104908 + * trans-array.cc (gfc_conv_array_ref): Restrict use of transformed + descriptor (sym->backend_decl) to the unlimited polymorphic case. + + 2024-01-18 Harald Anlauf + + Backported from master: + 2024-01-13 Harald Anlauf + + PR fortran/67277 + * trans-intrinsic.cc (gfc_conv_intrinsic_ishftc): Handle optional + dummy argument for SIZE passed to ISHFTC. Set default value to + BIT_SIZE(I) when missing. + + 2023-12-27 Harald Anlauf + + Backported from master: + 2023-12-17 Harald Anlauf + + PR fortran/97592 + * trans-expr.cc (gfc_conv_procedure_call): For a contiguous dummy + with the TARGET attribute, the effective argument may still be + contiguous even if the actual argument is not simply-contiguous. + Allow packing to be decided at runtime by _gfortran_internal_pack. + + 2023-12-10 Harald Anlauf + + Backported from master: + 2023-12-02 Harald Anlauf + + PR fortran/93762 + PR fortran/100651 + * trans-array.cc (gfc_trans_deferred_array): Add presence check + for optional deferred-length character dummy arguments. + * trans-expr.cc (gfc_conv_missing_dummy): The character length for + deferred-length dummy arguments is passed by reference, so that + its value can be returned. Adjust handling for optional dummies. + + 2023-11-30 Harald Anlauf + + Backported from master: + 2023-11-26 Harald Anlauf + + PR fortran/111880 + * resolve.cc (resolve_common_vars): Do not call gfc_add_in_common + for symbols that are USE associated or used in a submodule. + + 2023-11-30 Harald Anlauf + + Backported from master: + 2023-11-30 Harald Anlauf + + PR fortran/112764 + * primary.cc (gfc_variable_attr): Set TARGET attribute of associating + entity dependent on TARGET or POINTER attribute of selector. + + 2023-11-04 Harald Anlauf + + Backported from master: + 2023-11-03 Harald Anlauf + + PR fortran/97245 + * match.cc (gfc_match_call): If a procedure pointer has already been + resolved, do not create a new symbol in a procedure reference of + the same name shadowing the first one if it is host-associated. + + 2023-11-03 Paul Thomas + + Backported from master: + 2023-11-02 Paul Thomas + + PR fortran/112316 + * parse.cc (parse_associate): Remove condition that caused this + regression. + + 2023-10-26 Paul Thomas + + Backported from master: + 2023-10-12 Paul Thomas + + PR fortran/67740 + * trans-expr.cc (gfc_trans_pointer_assignment): Set the hidden + string length component for pointer assignment to character + pointer components. + + 2023-10-21 Harald Anlauf + + Backported from master: + 2023-10-17 Harald Anlauf + + PR fortran/111837 + * frontend-passes.cc (traverse_io_block): Dependency check of loop + nest shall be triangular, not banded. + + 2023-10-04 Paul Thomas + + Backported from master: + 2023-10-04 Paul Thomas + + PR fortran/37336 + PR fortran/111674 + * trans-expr.cc (gfc_trans_scalar_assign): Finalize components + on deallocation if derived type is not finalizable. + + 2023-09-30 Andre Vehreschild + + * trans-array.cc (gfc_trans_deferred_array): Use correct + position for statements to add to guarded block. + + 2023-09-29 Andre Vehreschild + + Backported from master: + 2023-09-29 Andre Vehreschild + + PR fortran/37336 + * trans-array.cc (structure_alloc_comps): Deref coarray. + (gfc_trans_deferred_array): Add freeing of components after + check for allocated coarray. + + 2023-09-24 Paul Thomas + + PR fortran/92586 + * trans-expr.cc (gfc_trans_arrayfunc_assign): Supply a missing + dereference for the call to gfc_deallocate_alloc_comp_no_caf. + + 2023-09-24 Paul Thomas + + PR fortran/68155 + * decl.cc (fix_initializer_charlen): New function broken out of + add_init_expr_to_sym. + (add_init_expr_to_sym, build_struct): Call the new function. + + 2023-08-27 Paul Thomas + + PR fortran/87477 + * parse.cc (parse_associate): Replace the existing evaluation + of the target rank with calls to gfc_resolve_ref and + gfc_expression_rank. Identify untyped target function results + with structure constructors by finding the appropriate derived + type. + * resolve.cc (resolve_symbol): Allow associate variables to be + assumed shape. + + 2023-08-09 Steve Kargl + + PR fortran/109684 + * resolve.cc (resolve_types): Exclude contained procedures with + the artificial attribute from test for pureness. + + 2023-07-30 Harald Anlauf + + Backported from master: + 2023-07-28 Harald Anlauf + + PR fortran/110825 + * gfortran.texi: Clarify argument passing convention. + * trans-expr.cc (gfc_conv_procedure_call): Do not pass the character + length as hidden argument when the declared dummy argument is + assumed-type. + + 2023-07-30 Paul Thomas + + PR fortran/108961 + * trans-expr.cc (gfc_conv_procedure_call): The hidden string + length must not be passed to a formal arg of type(cptr). + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/fortran/arith.cc gcc-13.3.0/gcc/fortran/arith.cc *** gcc-13.2.0/gcc/fortran/arith.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/arith.cc Tue May 21 07:47:38 2024 *************** gfc_arith_error (arith code) *** 130,135 **** --- 130,159 ---- } + /* Check if a certain arithmetic error code is severe enough to prevent + further simplification, as opposed to errors thrown by the range check + (e.g. overflow) or arithmetic exceptions that are tolerated with + -fno-range-check. */ + + static bool + is_hard_arith_error (arith code) + { + switch (code) + { + case ARITH_OK: + case ARITH_OVERFLOW: + case ARITH_UNDERFLOW: + case ARITH_NAN: + case ARITH_DIV0: + case ARITH_ASYMMETRIC: + return false; + + default: + return true; + } + } + + /* Get things ready to do math. */ void *************** check_result (arith rc, gfc_expr *x, gfc *** 579,588 **** val = ARITH_OK; } ! if (val == ARITH_OK || val == ARITH_OVERFLOW) ! *rp = r; ! else gfc_free_expr (r); return val; } --- 603,612 ---- val = ARITH_OK; } ! if (is_hard_arith_error (val)) gfc_free_expr (r); + else + *rp = r; return val; } *************** gfc_arith_divide (gfc_expr *op1, gfc_exp *** 792,814 **** break; case BT_REAL: ! if (mpfr_sgn (op2->value.real) == 0 && flag_range_check == 1) ! { ! rc = ARITH_DIV0; ! break; ! } mpfr_div (result->value.real, op1->value.real, op2->value.real, GFC_RND_MODE); break; case BT_COMPLEX: ! if (mpc_cmp_si_si (op2->value.complex, 0, 0) == 0 ! && flag_range_check == 1) ! { ! rc = ARITH_DIV0; ! break; ! } gfc_set_model (mpc_realref (op1->value.complex)); if (mpc_cmp_si_si (op2->value.complex, 0, 0) == 0) --- 816,841 ---- break; case BT_REAL: ! /* Set "Division by zero" only for regular numerator. */ ! if (flag_range_check == 1 ! && mpfr_zero_p (op2->value.real) ! && mpfr_regular_p (op1->value.real)) ! rc = ARITH_DIV0; mpfr_div (result->value.real, op1->value.real, op2->value.real, GFC_RND_MODE); break; case BT_COMPLEX: ! /* Set "Division by zero" only for regular numerator. */ ! if (flag_range_check == 1 ! && mpfr_zero_p (mpc_realref (op2->value.complex)) ! && mpfr_zero_p (mpc_imagref (op2->value.complex)) ! && ((mpfr_regular_p (mpc_realref (op1->value.complex)) ! && mpfr_number_p (mpc_imagref (op1->value.complex))) ! || (mpfr_regular_p (mpc_imagref (op1->value.complex)) ! && mpfr_number_p (mpc_realref (op1->value.complex))))) ! rc = ARITH_DIV0; gfc_set_model (mpc_realref (op1->value.complex)); if (mpc_cmp_si_si (op2->value.complex, 0, 0) == 0) *************** reduce_unary (arith (*eval) (gfc_expr *, *** 1334,1348 **** head = gfc_constructor_copy (op->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { ! rc = reduce_unary (eval, c->expr, &r); ! if (rc != ARITH_OK) ! break; gfc_replace_expr (c->expr, r); } ! if (rc != ARITH_OK) gfc_constructor_free (head); else { --- 1361,1382 ---- head = gfc_constructor_copy (op->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { ! arith rc_tmp = reduce_unary (eval, c->expr, &r); ! /* Remember first recoverable ("soft") error encountered during ! reduction and continue, but terminate on serious errors. */ ! if (is_hard_arith_error (rc_tmp)) ! { ! rc = rc_tmp; ! break; ! } ! else if (rc_tmp != ARITH_OK && rc == ARITH_OK) ! rc = rc_tmp; gfc_replace_expr (c->expr, r); } ! if (is_hard_arith_error (rc)) gfc_constructor_free (head); else { *************** reduce_binary_ac (arith (*eval) (gfc_exp *** 1379,1400 **** head = gfc_constructor_copy (op1->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { gfc_simplify_expr (c->expr, 0); if (c->expr->expr_type == EXPR_CONSTANT) ! rc = eval (c->expr, op2, &r); else if (c->expr->expr_type != EXPR_ARRAY) ! rc = ARITH_NOT_REDUCED; else ! rc = reduce_binary_ac (eval, c->expr, op2, &r); ! if (rc != ARITH_OK) ! break; gfc_replace_expr (c->expr, r); } ! if (rc != ARITH_OK) gfc_constructor_free (head); else { --- 1413,1443 ---- head = gfc_constructor_copy (op1->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { + arith rc_tmp; + gfc_simplify_expr (c->expr, 0); if (c->expr->expr_type == EXPR_CONSTANT) ! rc_tmp = eval (c->expr, op2, &r); else if (c->expr->expr_type != EXPR_ARRAY) ! rc_tmp = ARITH_NOT_REDUCED; else ! rc_tmp = reduce_binary_ac (eval, c->expr, op2, &r); ! /* Remember first recoverable ("soft") error encountered during ! reduction and continue, but terminate on serious errors. */ ! if (is_hard_arith_error (rc_tmp)) ! { ! rc = rc_tmp; ! break; ! } ! else if (rc_tmp != ARITH_OK && rc == ARITH_OK) ! rc = rc_tmp; gfc_replace_expr (c->expr, r); } ! if (is_hard_arith_error (rc)) gfc_constructor_free (head); else { *************** reduce_binary_ca (arith (*eval) (gfc_exp *** 1433,1454 **** head = gfc_constructor_copy (op2->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { gfc_simplify_expr (c->expr, 0); if (c->expr->expr_type == EXPR_CONSTANT) ! rc = eval (op1, c->expr, &r); else if (c->expr->expr_type != EXPR_ARRAY) ! rc = ARITH_NOT_REDUCED; else ! rc = reduce_binary_ca (eval, op1, c->expr, &r); ! if (rc != ARITH_OK) ! break; gfc_replace_expr (c->expr, r); } ! if (rc != ARITH_OK) gfc_constructor_free (head); else { --- 1476,1506 ---- head = gfc_constructor_copy (op2->value.constructor); for (c = gfc_constructor_first (head); c; c = gfc_constructor_next (c)) { + arith rc_tmp; + gfc_simplify_expr (c->expr, 0); if (c->expr->expr_type == EXPR_CONSTANT) ! rc_tmp = eval (op1, c->expr, &r); else if (c->expr->expr_type != EXPR_ARRAY) ! rc_tmp = ARITH_NOT_REDUCED; else ! rc_tmp = reduce_binary_ca (eval, op1, c->expr, &r); ! /* Remember first recoverable ("soft") error encountered during ! reduction and continue, but terminate on serious errors. */ ! if (is_hard_arith_error (rc_tmp)) ! { ! rc = rc_tmp; ! break; ! } ! else if (rc_tmp != ARITH_OK && rc == ARITH_OK) ! rc = rc_tmp; gfc_replace_expr (c->expr, r); } ! if (is_hard_arith_error (rc)) gfc_constructor_free (head); else { *************** reduce_binary_aa (arith (*eval) (gfc_exp *** 1498,1507 **** c && d; c = gfc_constructor_next (c), d = gfc_constructor_next (d)) { ! rc = reduce_binary (eval, c->expr, d->expr, &r); ! if (rc != ARITH_OK) ! break; gfc_replace_expr (c->expr, r); } --- 1550,1566 ---- c && d; c = gfc_constructor_next (c), d = gfc_constructor_next (d)) { ! arith rc_tmp = reduce_binary (eval, c->expr, d->expr, &r); ! /* Remember first recoverable ("soft") error encountered during ! reduction and continue, but terminate on serious errors. */ ! if (is_hard_arith_error (rc_tmp)) ! { ! rc = rc_tmp; ! break; ! } ! else if (rc_tmp != ARITH_OK && rc == ARITH_OK) ! rc = rc_tmp; gfc_replace_expr (c->expr, r); } *************** reduce_binary_aa (arith (*eval) (gfc_exp *** 1509,1515 **** if (rc == ARITH_OK && (c || d)) rc = ARITH_INCOMMENSURATE; ! if (rc != ARITH_OK) gfc_constructor_free (head); else { --- 1568,1574 ---- if (rc == ARITH_OK && (c || d)) rc = ARITH_INCOMMENSURATE; ! if (is_hard_arith_error (rc)) gfc_constructor_free (head); else { diff -Nrcpad gcc-13.2.0/gcc/fortran/array.cc gcc-13.3.0/gcc/fortran/array.cc *** gcc-13.2.0/gcc/fortran/array.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/array.cc Tue May 21 07:47:38 2024 *************** gfc_array_dimen_size (gfc_expr *array, i *** 2600,2605 **** --- 2600,2612 ---- case EXPR_FUNCTION: for (ref = array->ref; ref; ref = ref->next) { + /* Ultimate component is a procedure pointer. */ + if (ref->type == REF_COMPONENT + && !ref->next + && ref->u.c.component->attr.function + && IS_PROC_POINTER (ref->u.c.component)) + return false; + if (ref->type != REF_ARRAY) continue; diff -Nrcpad gcc-13.2.0/gcc/fortran/check.cc gcc-13.3.0/gcc/fortran/check.cc *** gcc-13.2.0/gcc/fortran/check.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/check.cc Tue May 21 07:47:38 2024 *************** gfc_check_null (gfc_expr *mold) *** 4357,4362 **** --- 4357,4365 ---- if (mold == NULL) return true; + if (mold->expr_type == EXPR_NULL) + return true; + if (!variable_check (mold, 0, true)) return false; *************** is_c_interoperable (gfc_expr *expr, cons *** 5187,5193 **** { *msg = NULL; ! if (expr->expr_type == EXPR_NULL) { *msg = "NULL() is not interoperable"; return false; --- 5190,5196 ---- { *msg = NULL; ! if (expr->expr_type == EXPR_NULL && expr->ts.type == BT_UNKNOWN) { *msg = "NULL() is not interoperable"; return false; diff -Nrcpad gcc-13.2.0/gcc/fortran/decl.cc gcc-13.3.0/gcc/fortran/decl.cc *** gcc-13.2.0/gcc/fortran/decl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/decl.cc Tue May 21 07:47:38 2024 *************** gfc_verify_c_interop_param (gfc_symbol * *** 1708,1714 **** /* Function called by variable_decl() that adds a name to the symbol table. */ static bool ! build_sym (const char *name, gfc_charlen *cl, bool cl_deferred, gfc_array_spec **as, locus *var_locus) { symbol_attribute attr; --- 1708,1714 ---- /* Function called by variable_decl() that adds a name to the symbol table. */ static bool ! build_sym (const char *name, int elem, gfc_charlen *cl, bool cl_deferred, gfc_array_spec **as, locus *var_locus) { symbol_attribute attr; *************** build_sym (const char *name, gfc_charlen *** 1773,1779 **** if (sym->ts.type == BT_CHARACTER) { ! sym->ts.u.cl = cl; sym->ts.deferred = cl_deferred; } --- 1773,1782 ---- if (sym->ts.type == BT_CHARACTER) { ! if (elem > 1) ! sym->ts.u.cl = gfc_new_charlen (sym->ns, cl); ! else ! sym->ts.u.cl = cl; sym->ts.deferred = cl_deferred; } *************** gfc_free_enum_history (void) *** 1957,1962 **** --- 1960,2004 ---- } + /* Function to fix initializer character length if the length of the + symbol or component is constant. */ + + static bool + fix_initializer_charlen (gfc_typespec *ts, gfc_expr *init) + { + if (!gfc_specification_expr (ts->u.cl->length)) + return false; + + int k = gfc_validate_kind (BT_INTEGER, gfc_charlen_int_kind, false); + + /* resolve_charlen will complain later on if the length + is too large. Just skip the initialization in that case. */ + if (mpz_cmp (ts->u.cl->length->value.integer, + gfc_integer_kinds[k].huge) <= 0) + { + HOST_WIDE_INT len + = gfc_mpz_get_hwi (ts->u.cl->length->value.integer); + + if (init->expr_type == EXPR_CONSTANT) + gfc_set_constant_character_len (len, init, -1); + else if (init->expr_type == EXPR_ARRAY) + { + gfc_constructor *cons; + + /* Build a new charlen to prevent simplification from + deleting the length before it is resolved. */ + init->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL); + init->ts.u.cl->length = gfc_copy_expr (ts->u.cl->length); + cons = gfc_constructor_first (init->value.constructor); + for (; cons; cons = gfc_constructor_next (cons)) + gfc_set_constant_character_len (len, cons->expr, -1); + } + } + + return true; + } + + /* Function called by variable_decl() that adds an initialization expression to a symbol. */ *************** add_init_expr_to_sym (const char *name, *** 2070,2109 **** gfc_copy_expr (init->ts.u.cl->length); } } ! /* Update initializer character length according symbol. */ ! else if (sym->ts.u.cl->length->expr_type == EXPR_CONSTANT) ! { ! if (!gfc_specification_expr (sym->ts.u.cl->length)) ! return false; ! ! int k = gfc_validate_kind (BT_INTEGER, gfc_charlen_int_kind, ! false); ! /* resolve_charlen will complain later on if the length ! is too large. Just skeep the initialization in that case. */ ! if (mpz_cmp (sym->ts.u.cl->length->value.integer, ! gfc_integer_kinds[k].huge) <= 0) ! { ! HOST_WIDE_INT len ! = gfc_mpz_get_hwi (sym->ts.u.cl->length->value.integer); ! ! if (init->expr_type == EXPR_CONSTANT) ! gfc_set_constant_character_len (len, init, -1); ! else if (init->expr_type == EXPR_ARRAY) ! { ! gfc_constructor *c; ! ! /* Build a new charlen to prevent simplification from ! deleting the length before it is resolved. */ ! init->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL); ! init->ts.u.cl->length ! = gfc_copy_expr (sym->ts.u.cl->length); ! ! for (c = gfc_constructor_first (init->value.constructor); ! c; c = gfc_constructor_next (c)) ! gfc_set_constant_character_len (len, c->expr, -1); ! } ! } ! } } if (sym->attr.flavor == FL_PARAMETER && sym->attr.dimension && sym->as --- 2112,2121 ---- gfc_copy_expr (init->ts.u.cl->length); } } ! /* Update initializer character length according to symbol. */ ! else if (sym->ts.u.cl->length->expr_type == EXPR_CONSTANT ! && !fix_initializer_charlen (&sym->ts, init)) ! return false; } if (sym->attr.flavor == FL_PARAMETER && sym->attr.dimension && sym->as *************** add_init_expr_to_sym (const char *name, *** 2239,2246 **** && gfc_is_constant_expr (init) && (init->expr_type == EXPR_CONSTANT || init->expr_type == EXPR_STRUCTURE) ! && spec_size (sym->as, &size) ! && mpz_cmp_si (size, 0) > 0) { array = gfc_get_array_expr (init->ts.type, init->ts.kind, &init->where); --- 2251,2257 ---- && gfc_is_constant_expr (init) && (init->expr_type == EXPR_CONSTANT || init->expr_type == EXPR_STRUCTURE) ! && spec_size (sym->as, &size)) { array = gfc_get_array_expr (init->ts.type, init->ts.kind, &init->where); *************** build_struct (const char *name, gfc_char *** 2367,2372 **** --- 2378,2390 ---- c->initializer = *init; *init = NULL; + /* Update initializer character length according to component. */ + if (c->ts.type == BT_CHARACTER && c->ts.u.cl->length + && c->ts.u.cl->length->expr_type == EXPR_CONSTANT + && c->initializer && c->initializer->ts.type == BT_CHARACTER + && !fix_initializer_charlen (&c->ts, c->initializer)) + return false; + c->as = *as; if (c->as != NULL) { *************** variable_decl (int elem) *** 2940,2946 **** create a symbol for those yet. If we fail to create the symbol, bail out. */ if (!gfc_comp_struct (gfc_current_state ()) ! && !build_sym (name, cl, cl_deferred, &as, &var_locus)) { m = MATCH_ERROR; goto cleanup; --- 2958,2964 ---- create a symbol for those yet. If we fail to create the symbol, bail out. */ if (!gfc_comp_struct (gfc_current_state ()) ! && !build_sym (name, elem, cl, cl_deferred, &as, &var_locus)) { m = MATCH_ERROR; goto cleanup; *************** enumerator_decl (void) *** 10888,10894 **** /* OK, we've successfully matched the declaration. Now put the symbol in the current namespace. If we fail to create the symbol, bail out. */ ! if (!build_sym (name, NULL, false, &as, &var_locus)) { m = MATCH_ERROR; goto cleanup; --- 10906,10912 ---- /* OK, we've successfully matched the declaration. Now put the symbol in the current namespace. If we fail to create the symbol, bail out. */ ! if (!build_sym (name, 1, NULL, false, &as, &var_locus)) { m = MATCH_ERROR; goto cleanup; diff -Nrcpad gcc-13.2.0/gcc/fortran/expr.cc gcc-13.3.0/gcc/fortran/expr.cc *** gcc-13.2.0/gcc/fortran/expr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/expr.cc Tue May 21 07:47:38 2024 *************** find_inquiry_ref (gfc_expr *p, gfc_expr *** 1854,1859 **** --- 1854,1866 ---- else if (tmp->expr_type == EXPR_CONSTANT) *newp = gfc_get_int_expr (gfc_default_integer_kind, NULL, tmp->value.character.length); + else if (gfc_init_expr_flag + && tmp->ts.u.cl->length->symtree->n.sym->attr.pdt_len) + *newp = gfc_pdt_find_component_copy_initializer (tmp->symtree->n + .sym, + tmp->ts.u.cl + ->length->symtree + ->n.sym->name); else goto cleanup; *************** find_inquiry_ref (gfc_expr *p, gfc_expr *** 1894,1900 **** mpc_imagref (tmp->value.complex), GFC_RND_MODE); break; } ! tmp = gfc_copy_expr (*newp); } if (!(*newp)) --- 1901,1909 ---- mpc_imagref (tmp->value.complex), GFC_RND_MODE); break; } ! // TODO: Fix leaking expr tmp, when simplify is done twice. ! if (inquiry->next) ! gfc_replace_expr (tmp, *newp); } if (!(*newp)) *************** static bool *** 2059,2065 **** simplify_ref_chain (gfc_ref *ref, int type, gfc_expr **p) { int n; ! gfc_expr *newp; for (; ref; ref = ref->next) { --- 2068,2074 ---- simplify_ref_chain (gfc_ref *ref, int type, gfc_expr **p) { int n; ! gfc_expr *newp = NULL; for (; ref; ref = ref->next) { *************** gfc_match_init_expr (gfc_expr **result) *** 3221,3227 **** return m; } ! if (gfc_derived_parameter_expr (expr)) { *result = expr; gfc_init_expr_flag = false; --- 3230,3236 ---- return m; } ! if (expr->expr_type != EXPR_FUNCTION && gfc_derived_parameter_expr (expr)) { *result = expr; gfc_init_expr_flag = false; *************** gfc_is_simply_contiguous (gfc_expr *expr *** 5994,6008 **** } sym = expr->symtree->n.sym; ! if (expr->ts.type != BT_CLASS ! && ((part_ref ! && !part_ref->u.c.component->attr.contiguous ! && part_ref->u.c.component->attr.pointer) ! || (!part_ref ! && !sym->attr.contiguous ! && (sym->attr.pointer ! || (sym->as && sym->as->type == AS_ASSUMED_RANK) ! || (sym->as && sym->as->type == AS_ASSUMED_SHAPE))))) return false; if (!ar || ar->type == AR_FULL) --- 6003,6018 ---- } sym = expr->symtree->n.sym; ! if ((part_ref ! && part_ref->u.c.component ! && !part_ref->u.c.component->attr.contiguous ! && IS_POINTER (part_ref->u.c.component)) ! || (!part_ref ! && expr->ts.type != BT_CLASS ! && !sym->attr.contiguous ! && (sym->attr.pointer ! || (sym->as && sym->as->type == AS_ASSUMED_RANK) ! || (sym->as && sym->as->type == AS_ASSUMED_SHAPE)))) return false; if (!ar || ar->type == AR_FULL) *************** gfc_check_vardef_context (gfc_expr* e, b *** 6532,6534 **** --- 6542,6560 ---- return true; } + + gfc_expr* + gfc_pdt_find_component_copy_initializer (gfc_symbol *sym, const char *name) + { + /* The actual length of a pdt is in its components. In the + initializer of the current ref is only the default value. + Therefore traverse the chain of components and pick the correct + one's initializer expressions. */ + for (gfc_component *comp = sym->ts.u.derived->components; comp != NULL; + comp = comp->next) + { + if (!strcmp (comp->name, name)) + return gfc_copy_expr (comp->initializer); + } + return NULL; + } diff -Nrcpad gcc-13.2.0/gcc/fortran/frontend-passes.cc gcc-13.3.0/gcc/fortran/frontend-passes.cc *** gcc-13.2.0/gcc/fortran/frontend-passes.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/frontend-passes.cc Tue May 21 07:47:38 2024 *************** traverse_io_block (gfc_code *code, bool *** 1326,1332 **** if (iters[i]) { gfc_expr *var = iters[i]->var; ! for (int j = i - 1; j < i; j++) { if (iters[j] && (var_in_expr (var, iters[j]->start) --- 1326,1332 ---- if (iters[i]) { gfc_expr *var = iters[i]->var; ! for (int j = 0; j < i; j++) { if (iters[j] && (var_in_expr (var, iters[j]->start) *************** check_externals_expr (gfc_expr **ep, int *** 5807,5812 **** --- 5807,5815 ---- if (e->expr_type != EXPR_FUNCTION) return 0; + if (e->symtree && e->symtree->n.sym->attr.subroutine) + return 0; + sym = e->value.function.esym; if (sym == NULL) return 0; diff -Nrcpad gcc-13.2.0/gcc/fortran/gfortran.h gcc-13.3.0/gcc/fortran/gfortran.h *** gcc-13.2.0/gcc/fortran/gfortran.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/gfortran.h Tue May 21 07:47:38 2024 *************** gfc_expr* gfc_find_stat_co (gfc_expr *); *** 3716,3721 **** --- 3716,3722 ---- gfc_expr* gfc_build_intrinsic_call (gfc_namespace *, gfc_isym_id, const char*, locus, unsigned, ...); bool gfc_check_vardef_context (gfc_expr*, bool, bool, bool, const char*); + gfc_expr* gfc_pdt_find_component_copy_initializer (gfc_symbol *, const char *); /* st.cc */ *************** void gfc_module_done_2 (void); *** 3850,3855 **** --- 3851,3858 ---- void gfc_dump_module (const char *, int); bool gfc_check_symbol_access (gfc_symbol *); void gfc_free_use_stmts (gfc_use_list *); + void gfc_save_module_list (); + void gfc_restore_old_module_list (); const char *gfc_dt_lower_string (const char *); const char *gfc_dt_upper_string (const char *); *************** bool gfc_may_be_finalized (gfc_typespec) *** 3951,3956 **** --- 3954,3962 ---- #define IS_POINTER(sym) \ (sym->ts.type == BT_CLASS && sym->attr.class_ok && CLASS_DATA (sym) \ ? CLASS_DATA (sym)->attr.class_pointer : sym->attr.pointer) + #define IS_PROC_POINTER(sym) \ + (sym->ts.type == BT_CLASS && sym->attr.class_ok && CLASS_DATA (sym) \ + ? CLASS_DATA (sym)->attr.proc_pointer : sym->attr.proc_pointer) /* frontend-passes.cc */ diff -Nrcpad gcc-13.2.0/gcc/fortran/gfortran.info gcc-13.3.0/gcc/fortran/gfortran.info *** gcc-13.2.0/gcc/fortran/gfortran.info Thu Jul 27 08:33:24 2023 --- gcc-13.3.0/gcc/fortran/gfortran.info Tue May 21 08:05:52 2024 *************** applies to other front ends of GCC, e.g. *** 5050,5062 **** '_Bool' or GCC's Ada compiler for 'Boolean'.) For arguments of 'CHARACTER' type, the character length is passed as ! a hidden argument at the end of the argument list. For deferred-length ! strings, the value is passed by reference, otherwise by value. The ! character length has the C type 'size_t' (or 'INTEGER(kind=C_SIZE_T)' in ! Fortran). Note that this is different to older versions of the GNU ! Fortran compiler, where the type of the hidden character length argument ! was a C 'int'. In order to retain compatibility with older versions, ! one can e.g. for the following Fortran procedure subroutine fstrlen (s, a) character(len=*) :: s --- 5050,5064 ---- '_Bool' or GCC's Ada compiler for 'Boolean'.) For arguments of 'CHARACTER' type, the character length is passed as ! a hidden argument at the end of the argument list, except when the ! corresponding dummy argument is declared as 'TYPE(*)'. For ! deferred-length strings, the value is passed by reference, otherwise by ! value. The character length has the C type 'size_t' (or ! 'INTEGER(kind=C_SIZE_T)' in Fortran). Note that this is different to ! older versions of the GNU Fortran compiler, where the type of the hidden ! character length argument was a C 'int'. In order to retain ! compatibility with older versions, one can e.g. for the following ! Fortran procedure subroutine fstrlen (s, a) character(len=*) :: s *************** Node: _gfortran_set_max_subrecord_length *** 23185,23532 **** Node: Naming and argument-passing conventions210929 Node: Naming conventions211648 Node: Argument passing conventions213120 ! Node: Coarray Programming218387 ! Node: Type and enum ABI Documentation218634 ! Node: caf_token_t218932 ! Node: caf_register_t219168 ! Node: caf_deregister_t220379 ! Node: caf_reference_t220881 ! Node: caf_team_t225206 ! Node: Function ABI Documentation225505 ! Node: _gfortran_caf_init227955 ! Node: _gfortran_caf_finish229381 ! Node: _gfortran_caf_this_image230320 ! Node: _gfortran_caf_num_images231075 ! Node: _gfortran_caf_image_status232186 ! Node: _gfortran_caf_failed_images233306 ! Node: _gfortran_caf_stopped_images234476 ! Node: _gfortran_caf_register235649 ! Node: _gfortran_caf_deregister239830 ! Node: _gfortran_caf_is_present241436 ! Node: _gfortran_caf_send242515 ! Node: _gfortran_caf_get245705 ! Node: _gfortran_caf_sendget248786 ! Node: _gfortran_caf_send_by_ref252697 ! Node: _gfortran_caf_get_by_ref256306 ! Node: _gfortran_caf_sendget_by_ref259825 ! Node: _gfortran_caf_lock264121 ! Node: _gfortran_caf_unlock265910 ! Node: _gfortran_caf_event_post267391 ! Node: _gfortran_caf_event_wait268840 ! Node: _gfortran_caf_event_query270947 ! Node: _gfortran_caf_sync_all272278 ! Node: _gfortran_caf_sync_images273206 ! Node: _gfortran_caf_sync_memory274741 ! Node: _gfortran_caf_error_stop275733 ! Node: _gfortran_caf_error_stop_str276337 ! Node: _gfortran_caf_fail_image277042 ! Node: _gfortran_caf_atomic_define277578 ! Node: _gfortran_caf_atomic_ref278893 ! Node: _gfortran_caf_atomic_cas280197 ! Node: _gfortran_caf_atomic_op281958 ! Node: _gfortran_caf_co_broadcast284060 ! Node: _gfortran_caf_co_max285165 ! Node: _gfortran_caf_co_min286791 ! Node: _gfortran_caf_co_sum288411 ! Node: _gfortran_caf_co_reduce289951 ! Node: Intrinsic Procedures292595 ! Node: Introduction to Intrinsics309799 ! Node: ABORT311993 ! Node: ABS312748 ! Node: ACCESS314472 ! Node: ACHAR316373 ! Node: ACOS317587 ! Node: ACOSD318876 ! Node: ACOSH320291 ! Node: ADJUSTL321377 ! Node: ADJUSTR322324 ! Node: AIMAG323279 ! Node: AINT324729 ! Node: ALARM326323 ! Node: ALL327955 ! Node: ALLOCATED329879 ! Node: AND331018 ! Node: ANINT332758 ! Node: ANY334243 ! Node: ASIN336169 ! Node: ASIND337447 ! Node: ASINH338848 ! Node: ASSOCIATED339944 ! Node: ATAN342955 ! Node: ATAND344431 ! Node: ATAN2346037 ! Node: ATAN2D347906 ! Node: ATANH349947 ! Node: ATOMIC_ADD351043 ! Node: ATOMIC_AND352592 ! Node: ATOMIC_CAS354195 ! Node: ATOMIC_DEFINE356064 ! Node: ATOMIC_FETCH_ADD357803 ! Node: ATOMIC_FETCH_AND359620 ! Node: ATOMIC_FETCH_OR361425 ! Node: ATOMIC_FETCH_XOR363217 ! Node: ATOMIC_OR365015 ! Node: ATOMIC_REF366615 ! Node: ATOMIC_XOR368531 ! Node: BACKTRACE370131 ! Node: BESSEL_J0370711 ! Node: BESSEL_J1371812 ! Node: BESSEL_JN372914 ! Node: BESSEL_Y0374819 ! Node: BESSEL_Y1375859 ! Node: BESSEL_YN376899 ! Node: BGE378815 ! Node: BGT379517 ! Node: BIT_SIZE380177 ! Node: BLE380999 ! Node: BLT381691 ! Node: BTEST382339 ! Node: C_ASSOCIATED383784 ! Node: C_F_POINTER385000 ! Node: C_F_PROCPOINTER386440 ! Node: C_FUNLOC387952 ! Node: C_LOC389333 ! Node: C_SIZEOF390622 ! Node: CEILING392035 ! Node: CHAR393048 ! Node: CHDIR394362 ! Node: CHMOD395536 ! Node: CMPLX397451 ! Node: CO_BROADCAST398894 ! Node: CO_MAX400721 ! Node: CO_MIN402629 ! Node: CO_REDUCE404523 ! Node: CO_SUM408099 ! Node: COMMAND_ARGUMENT_COUNT410080 ! Node: COMPILER_OPTIONS411002 ! Node: COMPILER_VERSION412032 ! Node: COMPLEX413000 ! Node: CONJG414139 ! Node: COS415195 ! Node: COSD416566 ! Node: COSH418058 ! Node: COTAN419234 ! Node: COTAND420476 ! Node: COUNT421758 ! Node: CPU_TIME423783 ! Node: CSHIFT425145 ! Node: CTIME426805 ! Node: DATE_AND_TIME428328 ! Node: DBLE430549 ! Node: DCMPLX431344 ! Node: DIGITS432526 ! Node: DIM433493 ! Node: DOT_PRODUCT434901 ! Node: DPROD436544 ! Node: DREAL437506 ! Node: DSHIFTL438172 ! Node: DSHIFTR439505 ! Node: DTIME440839 ! Node: EOSHIFT443545 ! Node: EPSILON445618 ! Node: ERF446345 ! Node: ERFC447211 ! Node: ERFC_SCALED448106 ! Node: ETIME448799 ! Node: EVENT_QUERY450969 ! Node: EXECUTE_COMMAND_LINE452558 ! Node: EXIT455338 ! Node: EXP456221 ! Node: EXPONENT457375 ! Node: EXTENDS_TYPE_OF458139 ! Node: FDATE458997 ! Node: FGET460488 ! Node: FGETC462325 ! Node: FINDLOC464145 ! Node: FLOOR466744 ! Node: FLUSH467740 ! Node: FNUM469619 ! Node: FPUT470344 ! Node: FPUTC471988 ! Node: FRACTION473779 ! Node: FREE474683 ! Node: FSEEK475526 ! Node: FSTAT477832 ! Node: FTELL478933 ! Node: GAMMA479915 ! Node: GERROR480995 ! Node: GETARG481748 ! Node: GET_COMMAND483487 ! Node: GET_COMMAND_ARGUMENT484866 ! Node: GETCWD486918 ! Node: GETENV487898 ! Node: GET_ENVIRONMENT_VARIABLE489330 ! Node: GETGID491493 ! Node: GETLOG492035 ! Node: GETPID492893 ! Node: GETUID493628 ! Node: GMTIME494149 ! Node: HOSTNM495924 ! Node: HUGE496845 ! Node: HYPOT497567 ! Node: IACHAR498393 ! Node: IALL499571 ! Node: IAND501066 ! Node: IANY502823 ! Node: IARGC504327 ! Node: IBCLR505361 ! Node: IBITS506584 ! Node: IBSET508063 ! Node: ICHAR509281 ! Node: IDATE511496 ! Node: IEOR512796 ! Node: IERRNO514446 ! Node: IMAGE_INDEX514994 ! Node: INDEX intrinsic516021 ! Node: INT517642 ! Node: INT2519424 ! Node: INT8520130 ! Node: IOR520836 ! Node: IPARITY522462 ! Node: IRAND524025 ! Node: IS_CONTIGUOUS525384 ! Node: IS_IOSTAT_END526550 ! Node: IS_IOSTAT_EOR527657 ! Node: ISATTY528786 ! Node: ISHFT529567 ! Node: ISHFTC531091 ! Node: ISNAN532853 ! Node: ITIME533620 ! Node: KILL534918 ! Node: KIND536059 ! Node: LBOUND536957 ! Node: LCOBOUND538300 ! Node: LEADZ539440 ! Node: LEN540316 ! Node: LEN_TRIM541657 ! Node: LGE542655 ! Node: LGT544268 ! Node: LINK545846 ! Node: LLE546890 ! Node: LLT548490 ! Node: LNBLNK550061 ! Node: LOC550844 ! Node: LOG551576 ! Node: LOG10553012 ! Node: LOG_GAMMA553990 ! Node: LOGICAL555188 ! Node: LSHIFT556012 ! Node: LSTAT557144 ! Node: LTIME558358 ! Node: MALLOC560055 ! Node: MASKL561517 ! Node: MASKR562284 ! Node: MATMUL563054 ! Node: MAX564214 ! Node: MAXEXPONENT565606 ! Node: MAXLOC566423 ! Node: MAXVAL569041 ! Node: MCLOCK570688 ! Node: MCLOCK8571726 ! Node: MERGE572971 ! Node: MERGE_BITS573723 ! Node: MIN574762 ! Node: MINEXPONENT576157 ! Node: MINLOC576788 ! Node: MINVAL579437 ! Node: MOD581086 ! Node: MODULO583271 ! Node: MOVE_ALLOC584736 ! Node: MVBITS585769 ! Node: NEAREST587396 ! Node: NEW_LINE588496 ! Node: NINT589269 ! Node: NORM2590683 ! Node: NOT591822 ! Node: NULL592967 ! Node: NUM_IMAGES593875 ! Node: OR595581 ! Node: PACK597309 ! Node: PARITY599353 ! Node: PERROR600574 ! Node: POPCNT601199 ! Node: POPPAR602080 ! Node: PRECISION603143 ! Node: PRESENT604080 ! Node: PRODUCT605192 ! Node: RADIX606726 ! Node: RAN607537 ! Node: RAND607998 ! Node: RANDOM_INIT609336 ! Node: RANDOM_NUMBER611412 ! Node: RANDOM_SEED612669 ! Node: RANGE615144 ! Node: RANK615829 ! Node: REAL616610 ! Node: RENAME618689 ! Node: REPEAT619711 ! Node: RESHAPE620439 ! Node: RRSPACING621906 ! Node: RSHIFT622599 ! Node: SAME_TYPE_AS623787 ! Node: SCALE624619 ! Node: SCAN625400 ! Node: SECNDS626963 ! Node: SECOND628055 ! Node: SELECTED_CHAR_KIND628931 ! Node: SELECTED_INT_KIND630526 ! Node: SELECTED_REAL_KIND631703 ! Node: SET_EXPONENT634389 ! Node: SHAPE635376 ! Node: SHIFTA636805 ! Node: SHIFTL637801 ! Node: SHIFTR638666 ! Node: SIGN639532 ! Node: SIGNAL640823 ! Node: SIN642329 ! Node: SIND643509 ! Node: SINH644881 ! Node: SIZE645834 ! Node: SIZEOF647158 ! Node: SLEEP648818 ! Node: SPACING649379 ! Node: SPREAD650393 ! Node: SQRT651544 ! Node: SRAND652777 ! Node: STAT654021 ! Node: STORAGE_SIZE657203 ! Node: SUM658087 ! Node: SYMLNK659579 ! Node: SYSTEM660719 ! Node: SYSTEM_CLOCK661974 ! Node: TAN664827 ! Node: TAND665901 ! Node: TANH667088 ! Node: THIS_IMAGE668251 ! Node: TIME670556 ! Node: TIME8671747 ! Node: TINY672966 ! Node: TRAILZ673567 ! Node: TRANSFER674400 ! Node: TRANSPOSE676436 ! Node: TRIM677126 ! Node: TTYNAM677989 ! Node: UBOUND678905 ! Node: UCOBOUND680300 ! Node: UMASK681442 ! Node: UNLINK682124 ! Node: UNPACK683109 ! Node: VERIFY684409 ! Node: XOR686143 ! Node: Intrinsic Modules687958 ! Node: ISO_FORTRAN_ENV688245 ! Node: ISO_C_BINDING692646 ! Node: IEEE modules696591 ! Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS697732 ! Node: OpenACC Module OPENACC701538 ! Node: Contributing702464 ! Node: Contributors703294 ! Node: Projects704948 ! Node: Copying706126 ! Node: GNU Free Documentation License743677 ! Node: Funding768806 ! Node: Option Index771332 ! Node: Keyword Index790466  End Tag Table --- 23187,23534 ---- Node: Naming and argument-passing conventions210929 Node: Naming conventions211648 Node: Argument passing conventions213120 ! Node: Coarray Programming218458 ! Node: Type and enum ABI Documentation218705 ! Node: caf_token_t219003 ! Node: caf_register_t219239 ! Node: caf_deregister_t220450 ! Node: caf_reference_t220952 ! Node: caf_team_t225277 ! Node: Function ABI Documentation225576 ! Node: _gfortran_caf_init228026 ! Node: _gfortran_caf_finish229452 ! Node: _gfortran_caf_this_image230391 ! Node: _gfortran_caf_num_images231146 ! Node: _gfortran_caf_image_status232257 ! Node: _gfortran_caf_failed_images233377 ! Node: _gfortran_caf_stopped_images234547 ! Node: _gfortran_caf_register235720 ! Node: _gfortran_caf_deregister239901 ! Node: _gfortran_caf_is_present241507 ! Node: _gfortran_caf_send242586 ! Node: _gfortran_caf_get245776 ! Node: _gfortran_caf_sendget248857 ! Node: _gfortran_caf_send_by_ref252768 ! Node: _gfortran_caf_get_by_ref256377 ! Node: _gfortran_caf_sendget_by_ref259896 ! Node: _gfortran_caf_lock264192 ! Node: _gfortran_caf_unlock265981 ! Node: _gfortran_caf_event_post267462 ! Node: _gfortran_caf_event_wait268911 ! Node: _gfortran_caf_event_query271018 ! Node: _gfortran_caf_sync_all272349 ! Node: _gfortran_caf_sync_images273277 ! Node: _gfortran_caf_sync_memory274812 ! Node: _gfortran_caf_error_stop275804 ! Node: _gfortran_caf_error_stop_str276408 ! Node: _gfortran_caf_fail_image277113 ! Node: _gfortran_caf_atomic_define277649 ! Node: _gfortran_caf_atomic_ref278964 ! Node: _gfortran_caf_atomic_cas280268 ! Node: _gfortran_caf_atomic_op282029 ! Node: _gfortran_caf_co_broadcast284131 ! Node: _gfortran_caf_co_max285236 ! Node: _gfortran_caf_co_min286862 ! Node: _gfortran_caf_co_sum288482 ! Node: _gfortran_caf_co_reduce290022 ! Node: Intrinsic Procedures292666 ! Node: Introduction to Intrinsics309870 ! Node: ABORT312064 ! Node: ABS312819 ! Node: ACCESS314543 ! Node: ACHAR316444 ! Node: ACOS317658 ! Node: ACOSD318947 ! Node: ACOSH320362 ! Node: ADJUSTL321448 ! Node: ADJUSTR322395 ! Node: AIMAG323350 ! Node: AINT324800 ! Node: ALARM326394 ! Node: ALL328026 ! Node: ALLOCATED329950 ! Node: AND331089 ! Node: ANINT332829 ! Node: ANY334314 ! Node: ASIN336240 ! Node: ASIND337518 ! Node: ASINH338919 ! Node: ASSOCIATED340015 ! Node: ATAN343026 ! Node: ATAND344502 ! Node: ATAN2346108 ! Node: ATAN2D347977 ! Node: ATANH350018 ! Node: ATOMIC_ADD351114 ! Node: ATOMIC_AND352663 ! Node: ATOMIC_CAS354266 ! Node: ATOMIC_DEFINE356135 ! Node: ATOMIC_FETCH_ADD357874 ! Node: ATOMIC_FETCH_AND359691 ! Node: ATOMIC_FETCH_OR361496 ! Node: ATOMIC_FETCH_XOR363288 ! Node: ATOMIC_OR365086 ! Node: ATOMIC_REF366686 ! Node: ATOMIC_XOR368602 ! Node: BACKTRACE370202 ! Node: BESSEL_J0370782 ! Node: BESSEL_J1371883 ! Node: BESSEL_JN372985 ! Node: BESSEL_Y0374890 ! Node: BESSEL_Y1375930 ! Node: BESSEL_YN376970 ! Node: BGE378886 ! Node: BGT379588 ! Node: BIT_SIZE380248 ! Node: BLE381070 ! Node: BLT381762 ! Node: BTEST382410 ! Node: C_ASSOCIATED383855 ! Node: C_F_POINTER385071 ! Node: C_F_PROCPOINTER386511 ! Node: C_FUNLOC388023 ! Node: C_LOC389404 ! Node: C_SIZEOF390693 ! Node: CEILING392106 ! Node: CHAR393119 ! Node: CHDIR394433 ! Node: CHMOD395607 ! Node: CMPLX397522 ! Node: CO_BROADCAST398965 ! Node: CO_MAX400792 ! Node: CO_MIN402700 ! Node: CO_REDUCE404594 ! Node: CO_SUM408170 ! Node: COMMAND_ARGUMENT_COUNT410151 ! Node: COMPILER_OPTIONS411073 ! Node: COMPILER_VERSION412103 ! Node: COMPLEX413071 ! Node: CONJG414210 ! Node: COS415266 ! Node: COSD416637 ! Node: COSH418129 ! Node: COTAN419305 ! Node: COTAND420547 ! Node: COUNT421829 ! Node: CPU_TIME423854 ! Node: CSHIFT425216 ! Node: CTIME426876 ! Node: DATE_AND_TIME428399 ! Node: DBLE430620 ! Node: DCMPLX431415 ! Node: DIGITS432597 ! Node: DIM433564 ! Node: DOT_PRODUCT434972 ! Node: DPROD436615 ! Node: DREAL437577 ! Node: DSHIFTL438243 ! Node: DSHIFTR439576 ! Node: DTIME440910 ! Node: EOSHIFT443616 ! Node: EPSILON445689 ! Node: ERF446416 ! Node: ERFC447282 ! Node: ERFC_SCALED448177 ! Node: ETIME448870 ! Node: EVENT_QUERY451040 ! Node: EXECUTE_COMMAND_LINE452629 ! Node: EXIT455409 ! Node: EXP456292 ! Node: EXPONENT457446 ! Node: EXTENDS_TYPE_OF458210 ! Node: FDATE459068 ! Node: FGET460559 ! Node: FGETC462396 ! Node: FINDLOC464216 ! Node: FLOOR466815 ! Node: FLUSH467811 ! Node: FNUM469690 ! Node: FPUT470415 ! Node: FPUTC472059 ! Node: FRACTION473850 ! Node: FREE474754 ! Node: FSEEK475597 ! Node: FSTAT477903 ! Node: FTELL479004 ! Node: GAMMA479986 ! Node: GERROR481066 ! Node: GETARG481819 ! Node: GET_COMMAND483558 ! Node: GET_COMMAND_ARGUMENT484937 ! Node: GETCWD486989 ! Node: GETENV487969 ! Node: GET_ENVIRONMENT_VARIABLE489401 ! Node: GETGID491564 ! Node: GETLOG492106 ! Node: GETPID492964 ! Node: GETUID493699 ! Node: GMTIME494220 ! Node: HOSTNM495995 ! Node: HUGE496916 ! Node: HYPOT497638 ! Node: IACHAR498464 ! Node: IALL499642 ! Node: IAND501137 ! Node: IANY502894 ! Node: IARGC504398 ! Node: IBCLR505432 ! Node: IBITS506655 ! Node: IBSET508134 ! Node: ICHAR509352 ! Node: IDATE511567 ! Node: IEOR512867 ! Node: IERRNO514517 ! Node: IMAGE_INDEX515065 ! Node: INDEX intrinsic516092 ! Node: INT517713 ! Node: INT2519495 ! Node: INT8520201 ! Node: IOR520907 ! Node: IPARITY522533 ! Node: IRAND524096 ! Node: IS_CONTIGUOUS525455 ! Node: IS_IOSTAT_END526621 ! Node: IS_IOSTAT_EOR527728 ! Node: ISATTY528857 ! Node: ISHFT529638 ! Node: ISHFTC531162 ! Node: ISNAN532924 ! Node: ITIME533691 ! Node: KILL534989 ! Node: KIND536130 ! Node: LBOUND537028 ! Node: LCOBOUND538371 ! Node: LEADZ539511 ! Node: LEN540387 ! Node: LEN_TRIM541728 ! Node: LGE542726 ! Node: LGT544339 ! Node: LINK545917 ! Node: LLE546961 ! Node: LLT548561 ! Node: LNBLNK550132 ! Node: LOC550915 ! Node: LOG551647 ! Node: LOG10553083 ! Node: LOG_GAMMA554061 ! Node: LOGICAL555259 ! Node: LSHIFT556083 ! Node: LSTAT557215 ! Node: LTIME558429 ! Node: MALLOC560126 ! Node: MASKL561588 ! Node: MASKR562355 ! Node: MATMUL563125 ! Node: MAX564285 ! Node: MAXEXPONENT565677 ! Node: MAXLOC566494 ! Node: MAXVAL569112 ! Node: MCLOCK570759 ! Node: MCLOCK8571797 ! Node: MERGE573042 ! Node: MERGE_BITS573794 ! Node: MIN574833 ! Node: MINEXPONENT576228 ! Node: MINLOC576859 ! Node: MINVAL579508 ! Node: MOD581157 ! Node: MODULO583342 ! Node: MOVE_ALLOC584807 ! Node: MVBITS585840 ! Node: NEAREST587467 ! Node: NEW_LINE588567 ! Node: NINT589340 ! Node: NORM2590754 ! Node: NOT591893 ! Node: NULL593038 ! Node: NUM_IMAGES593946 ! Node: OR595652 ! Node: PACK597380 ! Node: PARITY599424 ! Node: PERROR600645 ! Node: POPCNT601270 ! Node: POPPAR602151 ! Node: PRECISION603214 ! Node: PRESENT604151 ! Node: PRODUCT605263 ! Node: RADIX606797 ! Node: RAN607608 ! Node: RAND608069 ! Node: RANDOM_INIT609407 ! Node: RANDOM_NUMBER611483 ! Node: RANDOM_SEED612740 ! Node: RANGE615215 ! Node: RANK615900 ! Node: REAL616681 ! Node: RENAME618760 ! Node: REPEAT619782 ! Node: RESHAPE620510 ! Node: RRSPACING621977 ! Node: RSHIFT622670 ! Node: SAME_TYPE_AS623858 ! Node: SCALE624690 ! Node: SCAN625471 ! Node: SECNDS627034 ! Node: SECOND628126 ! Node: SELECTED_CHAR_KIND629002 ! Node: SELECTED_INT_KIND630597 ! Node: SELECTED_REAL_KIND631774 ! Node: SET_EXPONENT634460 ! Node: SHAPE635447 ! Node: SHIFTA636876 ! Node: SHIFTL637872 ! Node: SHIFTR638737 ! Node: SIGN639603 ! Node: SIGNAL640894 ! Node: SIN642400 ! Node: SIND643580 ! Node: SINH644952 ! Node: SIZE645905 ! Node: SIZEOF647229 ! Node: SLEEP648889 ! Node: SPACING649450 ! Node: SPREAD650464 ! Node: SQRT651615 ! Node: SRAND652848 ! Node: STAT654092 ! Node: STORAGE_SIZE657274 ! Node: SUM658158 ! Node: SYMLNK659650 ! Node: SYSTEM660790 ! Node: SYSTEM_CLOCK662045 ! Node: TAN664898 ! Node: TAND665972 ! Node: TANH667159 ! Node: THIS_IMAGE668322 ! Node: TIME670627 ! Node: TIME8671818 ! Node: TINY673037 ! Node: TRAILZ673638 ! Node: TRANSFER674471 ! Node: TRANSPOSE676507 ! Node: TRIM677197 ! Node: TTYNAM678060 ! Node: UBOUND678976 ! Node: UCOBOUND680371 ! Node: UMASK681513 ! Node: UNLINK682195 ! Node: UNPACK683180 ! Node: VERIFY684480 ! Node: XOR686214 ! Node: Intrinsic Modules688029 ! Node: ISO_FORTRAN_ENV688316 ! Node: ISO_C_BINDING692717 ! Node: IEEE modules696662 ! Node: OpenMP Modules OMP_LIB and OMP_LIB_KINDS697803 ! Node: OpenACC Module OPENACC701609 ! Node: Contributing702535 ! Node: Contributors703365 ! Node: Projects705019 ! Node: Copying706197 ! Node: GNU Free Documentation License743748 ! Node: Funding768877 ! Node: Option Index771403 ! Node: Keyword Index790537  End Tag Table diff -Nrcpad gcc-13.2.0/gcc/fortran/gfortran.texi gcc-13.3.0/gcc/fortran/gfortran.texi *** gcc-13.2.0/gcc/fortran/gfortran.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/gfortran.texi Tue May 21 07:47:38 2024 *************** front ends of GCC, e.g. to GCC's C99 com *** 3750,3756 **** or GCC's Ada compiler for @code{Boolean}.) For arguments of @code{CHARACTER} type, the character length is passed ! as a hidden argument at the end of the argument list. For deferred-length strings, the value is passed by reference, otherwise by value. The character length has the C type @code{size_t} (or @code{INTEGER(kind=C_SIZE_T)} in Fortran). Note that this is --- 3750,3757 ---- or GCC's Ada compiler for @code{Boolean}.) For arguments of @code{CHARACTER} type, the character length is passed ! as a hidden argument at the end of the argument list, except when the ! corresponding dummy argument is declared as @code{TYPE(*)}. For deferred-length strings, the value is passed by reference, otherwise by value. The character length has the C type @code{size_t} (or @code{INTEGER(kind=C_SIZE_T)} in Fortran). Note that this is diff -Nrcpad gcc-13.2.0/gcc/fortran/interface.cc gcc-13.3.0/gcc/fortran/interface.cc *** gcc-13.2.0/gcc/fortran/interface.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/interface.cc Tue May 21 07:47:38 2024 *************** gfc_compare_interfaces (gfc_symbol *s1, *** 1752,1757 **** --- 1752,1765 ---- return false; } + if (s2->attr.subroutine && s1->attr.flavor == FL_VARIABLE) + { + if (errmsg != NULL) + snprintf (errmsg, err_len, "subroutine proc pointer '%s' passed " + "to dummy variable '%s'", name2, s1->name); + return false; + } + /* Do strict checks on all characteristics (for dummy procedures and procedure pointer assignments). */ if (!generic_flag && strict_flag) *************** compare_parameter (gfc_symbol *formal, g *** 2388,2399 **** { gfc_symbol *act_sym = actual->symtree->n.sym; ! if (formal->attr.flavor != FL_PROCEDURE) { if (where) gfc_error ("Invalid procedure argument at %L", &actual->where); return false; } if (!gfc_compare_interfaces (formal, act_sym, act_sym->name, 0, 1, err, sizeof(err), NULL, NULL)) --- 2396,2417 ---- { gfc_symbol *act_sym = actual->symtree->n.sym; ! if (formal->attr.flavor != FL_PROCEDURE && !act_sym->ts.interface) { if (where) gfc_error ("Invalid procedure argument at %L", &actual->where); return false; } + else if (act_sym->ts.interface + && !gfc_compare_interfaces (formal, act_sym->ts.interface, + act_sym->name, 0, 1, err, + sizeof(err),NULL, NULL)) + { + if (where) + gfc_error_opt (0, "Interface mismatch in dummy procedure %qs at %L:" + " %s", formal->name, &actual->where, err); + return false; + } if (!gfc_compare_interfaces (formal, act_sym, act_sym->name, 0, 1, err, sizeof(err), NULL, NULL)) *************** gfc_compare_actual_formal (gfc_actual_ar *** 3259,3264 **** --- 3277,3312 ---- && a->expr->ts.type != BT_ASSUMED) gfc_find_vtab (&a->expr->ts); + /* Interp J3/22-146: + "If the context of the reference to NULL is an + corresponding to an dummy argument, MOLD shall be + present." */ + if (a->expr->expr_type == EXPR_NULL + && a->expr->ts.type == BT_UNKNOWN + && f->sym->as + && f->sym->as->type == AS_ASSUMED_RANK) + { + gfc_error ("Intrinsic % without % argument at %L " + "passed to assumed-rank dummy %qs", + &a->expr->where, f->sym->name); + ok = false; + goto match; + } + + if (a->expr->expr_type == EXPR_NULL + && a->expr->ts.type == BT_UNKNOWN + && f->sym->ts.type == BT_CHARACTER + && !f->sym->ts.deferred + && f->sym->ts.u.cl + && f->sym->ts.u.cl->length == NULL) + { + gfc_error ("Intrinsic % without % argument at %L " + "passed to assumed-length dummy %qs", + &a->expr->where, f->sym->name); + ok = false; + goto match; + } + if (a->expr->expr_type == EXPR_NULL && ((f->sym->ts.type != BT_CLASS && !f->sym->attr.pointer && (f->sym->attr.allocatable || !f->sym->attr.optional *************** gfc_compare_actual_formal (gfc_actual_ar *** 3362,3367 **** --- 3410,3419 ---- if (f->sym->ts.type == BT_CLASS) goto skip_size_check; + /* Skip size check for NULL() actual without MOLD argument. */ + if (a->expr->expr_type == EXPR_NULL && a->expr->ts.type == BT_UNKNOWN) + goto skip_size_check; + actual_size = get_expr_storage_size (a->expr); formal_size = get_sym_storage_size (f->sym); if (actual_size != 0 && actual_size < formal_size diff -Nrcpad gcc-13.2.0/gcc/fortran/match.cc gcc-13.3.0/gcc/fortran/match.cc *** gcc-13.2.0/gcc/fortran/match.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/match.cc Tue May 21 07:47:38 2024 *************** gfc_match_call (void) *** 5062,5067 **** --- 5062,5068 ---- right association is made. They are thrown out in resolution.) ... */ if (!sym->attr.generic + && !sym->attr.proc_pointer && !sym->attr.subroutine && !sym->attr.function) { diff -Nrcpad gcc-13.2.0/gcc/fortran/module.cc gcc-13.3.0/gcc/fortran/module.cc *** gcc-13.2.0/gcc/fortran/module.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/module.cc Tue May 21 07:47:38 2024 *************** static const char *module_name; *** 195,201 **** --- 195,206 ---- /* The name of the .smod file that the submodule will write to. */ static const char *submodule_name; + /* The list of use statements to apply to the current namespace + before parsing the non-use statements. */ static gfc_use_list *module_list; + /* The end of the MODULE_LIST list above at the time the recognition + of the current statement started. */ + static gfc_use_list **old_module_list_tail; /* If we're reading an intrinsic module, this is its ID. */ static intmod_id current_intmod; *************** gfc_use_modules (void) *** 7542,7547 **** --- 7547,7554 ---- gfc_use_module (module_list); free (module_list); } + module_list = NULL; + old_module_list_tail = &module_list; gfc_rename_list = NULL; } *************** gfc_free_use_stmts (gfc_use_list *use_st *** 7565,7570 **** --- 7572,7601 ---- } + /* Remember the end of the MODULE_LIST list, so that the list can be restored + to its previous state if the current statement is erroneous. */ + + void + gfc_save_module_list () + { + gfc_use_list **tail = &module_list; + while (*tail != NULL) + tail = &(*tail)->next; + old_module_list_tail = tail; + } + + + /* Restore the MODULE_LIST list to its previous value and free the use + statements that are no longer part of the list. */ + + void + gfc_restore_old_module_list () + { + gfc_free_use_stmts (*old_module_list_tail); + *old_module_list_tail = NULL; + } + + void gfc_module_init_2 (void) { diff -Nrcpad gcc-13.2.0/gcc/fortran/parse.cc gcc-13.3.0/gcc/fortran/parse.cc *** gcc-13.2.0/gcc/fortran/parse.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/parse.cc Tue May 21 07:47:38 2024 *************** next_statement (void) *** 1609,1614 **** --- 1609,1615 ---- locus old_locus; gfc_enforce_clean_symbol_state (); + gfc_save_module_list (); gfc_new_block = NULL; *************** reject_statement (void) *** 2901,2906 **** --- 2902,2910 ---- gfc_reject_data (gfc_current_ns); + /* Don't queue use-association of a module if we reject the use statement. */ + gfc_restore_old_module_list (); + gfc_new_block = NULL; gfc_undo_symbols (); gfc_clear_warning (); *************** parse_associate (void) *** 4919,4924 **** --- 4923,4929 ---- gfc_state_data s; gfc_statement st; gfc_association_list* a; + gfc_array_spec *as; gfc_notify_std (GFC_STD_F2003, "ASSOCIATE construct at %C"); *************** parse_associate (void) *** 4934,4941 **** for (a = new_st.ext.block.assoc; a; a = a->next) { gfc_symbol* sym; ! gfc_ref *ref; ! gfc_array_ref *array_ref; if (gfc_get_sym_tree (a->name, NULL, &a->st, false)) gcc_unreachable (); --- 4939,4946 ---- for (a = new_st.ext.block.assoc; a; a = a->next) { gfc_symbol* sym; ! gfc_expr *target; ! int rank; if (gfc_get_sym_tree (a->name, NULL, &a->st, false)) gcc_unreachable (); *************** parse_associate (void) *** 4952,4959 **** for parsing component references on the associate-name in case of association to a derived-type. */ sym->ts = a->target->ts; ! /* Don’t share the character length information between associate variable and target if the length is not a compile-time constant, as we don’t want to touch some other character length variable when we try to initialize the associate variable’s character length --- 4957,4965 ---- for parsing component references on the associate-name in case of association to a derived-type. */ sym->ts = a->target->ts; + target = a->target; ! /* Do not share the character length information between associate variable and target if the length is not a compile-time constant, as we don’t want to touch some other character length variable when we try to initialize the associate variable’s character length *************** parse_associate (void) *** 4971,5053 **** && sym->ts.u.cl->length->expr_type == EXPR_CONSTANT)) sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL); ! /* Check if the target expression is array valued. This cannot always ! be done by looking at target.rank, because that might not have been ! set yet. Therefore traverse the chain of refs, looking for the last ! array ref and evaluate that. */ ! array_ref = NULL; ! for (ref = a->target->ref; ref; ref = ref->next) ! if (ref->type == REF_ARRAY) ! array_ref = &ref->u.ar; ! if (array_ref || a->target->rank) { ! gfc_array_spec *as; ! int dim, rank = 0; ! if (array_ref) { ! a->rankguessed = 1; ! /* Count the dimension, that have a non-scalar extend. */ ! for (dim = 0; dim < array_ref->dimen; ++dim) ! if (array_ref->dimen_type[dim] != DIMEN_ELEMENT ! && !(array_ref->dimen_type[dim] == DIMEN_UNKNOWN ! && array_ref->end[dim] == NULL ! && array_ref->start[dim] != NULL)) ! ++rank; } ! else ! rank = a->target->rank; ! /* When the rank is greater than zero then sym will be an array. */ ! if (sym->ts.type == BT_CLASS && CLASS_DATA (sym)) { ! if ((!CLASS_DATA (sym)->as && rank != 0) ! || (CLASS_DATA (sym)->as ! && CLASS_DATA (sym)->as->rank != rank)) ! { ! /* Don't just (re-)set the attr and as in the sym.ts, ! because this modifies the target's attr and as. Copy the ! data and do a build_class_symbol. */ ! symbol_attribute attr = CLASS_DATA (a->target)->attr; ! int corank = gfc_get_corank (a->target); ! gfc_typespec type; ! if (rank || corank) ! { ! as = gfc_get_array_spec (); ! as->type = AS_DEFERRED; ! as->rank = rank; ! as->corank = corank; ! attr.dimension = rank ? 1 : 0; ! attr.codimension = corank ? 1 : 0; ! } ! else ! { ! as = NULL; ! attr.dimension = attr.codimension = 0; ! } ! attr.class_ok = 0; ! type = CLASS_DATA (sym)->ts; ! if (!gfc_build_class_symbol (&type, ! &attr, &as)) ! gcc_unreachable (); ! sym->ts = type; ! sym->ts.type = BT_CLASS; ! sym->attr.class_ok = 1; } else ! sym->attr.class_ok = 1; ! } ! else if ((!sym->as && rank != 0) ! || (sym->as && sym->as->rank != rank)) ! { ! as = gfc_get_array_spec (); ! as->type = AS_DEFERRED; ! as->rank = rank; ! as->corank = gfc_get_corank (a->target); ! sym->as = as; ! sym->attr.dimension = 1; ! if (as->corank) ! sym->attr.codimension = 1; } } } --- 4977,5060 ---- && sym->ts.u.cl->length->expr_type == EXPR_CONSTANT)) sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL); ! /* Check if the target expression is array valued. This cannot be done ! by calling gfc_resolve_expr because the context is unavailable. ! However, the references can be resolved and the rank of the target ! expression set. */ ! if (target->ref && gfc_resolve_ref (target) ! && target->expr_type != EXPR_ARRAY ! && target->expr_type != EXPR_COMPCALL) ! gfc_expression_rank (target); ! ! /* Determine whether or not function expressions with unknown type are ! structure constructors. If so, the function result can be converted ! to be a derived type. ! TODO: Deal with references to sibling functions that have not yet been ! parsed (PRs 89645 and 99065). */ ! if (target->expr_type == EXPR_FUNCTION && target->ts.type == BT_UNKNOWN) { ! gfc_symbol *derived; ! /* The derived type has a leading uppercase character. */ ! gfc_find_symbol (gfc_dt_upper_string (target->symtree->name), ! my_ns->parent, 1, &derived); ! if (derived && derived->attr.flavor == FL_DERIVED) { ! sym->ts.type = BT_DERIVED; ! sym->ts.u.derived = derived; } ! } ! ! rank = target->rank; ! /* Fixup cases where the ranks are mismatched. */ ! if (sym->ts.type == BT_CLASS && CLASS_DATA (sym)) ! { ! if ((!CLASS_DATA (sym)->as && rank != 0) ! || (CLASS_DATA (sym)->as ! && CLASS_DATA (sym)->as->rank != rank)) { ! /* Don't just (re-)set the attr and as in the sym.ts, ! because this modifies the target's attr and as. Copy the ! data and do a build_class_symbol. */ ! symbol_attribute attr = CLASS_DATA (target)->attr; ! int corank = gfc_get_corank (target); ! gfc_typespec type; ! if (rank || corank) ! { ! as = gfc_get_array_spec (); ! as->type = AS_DEFERRED; ! as->rank = rank; ! as->corank = corank; ! attr.dimension = rank ? 1 : 0; ! attr.codimension = corank ? 1 : 0; } else ! { ! as = NULL; ! attr.dimension = attr.codimension = 0; ! } ! attr.class_ok = 0; ! type = CLASS_DATA (sym)->ts; ! if (!gfc_build_class_symbol (&type, &attr, &as)) ! gcc_unreachable (); ! sym->ts = type; ! sym->ts.type = BT_CLASS; ! sym->attr.class_ok = 1; } + else + sym->attr.class_ok = 1; + } + else if ((!sym->as && rank != 0) + || (sym->as && sym->as->rank != rank)) + { + as = gfc_get_array_spec (); + as->type = AS_DEFERRED; + as->rank = rank; + as->corank = gfc_get_corank (target); + sym->as = as; + sym->attr.dimension = 1; + if (as->corank) + sym->attr.codimension = 1; } } diff -Nrcpad gcc-13.2.0/gcc/fortran/primary.cc gcc-13.3.0/gcc/fortran/primary.cc *** gcc-13.2.0/gcc/fortran/primary.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/primary.cc Tue May 21 07:47:38 2024 *************** gfc_match_varspec (gfc_expr *primary, in *** 2199,2204 **** --- 2199,2213 ---- match mm; old_loc = gfc_current_locus; mm = gfc_match_name (name); + + /* Check to see if this has a default type. */ + if (sym->ts.type == BT_UNKNOWN && tgt_expr == NULL + && gfc_get_default_type (sym->name, sym->ns)->type != BT_UNKNOWN) + { + gfc_set_default_type (sym, 0, sym->ns); + primary->ts = sym->ts; + } + if (mm == MATCH_YES && is_inquiry_ref (name, &tmp)) inquiry = true; gfc_current_locus = old_loc; *************** gfc_variable_attr (gfc_expr *expr, gfc_t *** 2653,2661 **** --- 2662,2698 ---- if (pointer || attr.proc_pointer) target = 1; + /* F2018:11.1.3.3: Other attributes of associate names + "The associating entity does not have the ALLOCATABLE or POINTER + attributes; it has the TARGET attribute if and only if the selector is + a variable and has either the TARGET or POINTER attribute." */ + if (sym->attr.associate_var && sym->assoc && sym->assoc->target) + { + if (sym->assoc->target->expr_type == EXPR_VARIABLE) + { + symbol_attribute tgt_attr; + tgt_attr = gfc_expr_attr (sym->assoc->target); + target = (tgt_attr.pointer || tgt_attr.target); + } + else + target = 0; + } + if (ts != NULL && expr->ts.type == BT_UNKNOWN) *ts = sym->ts; + /* Catch left-overs from match_actual_arg, where an actual argument of a + procedure is given a temporary ts.type == BT_PROCEDURE. The fixup is + needed for structure constructors in DATA statements, where a pointer + is associated with a data target, and the argument has not been fully + resolved yet. Components references are dealt with further below. */ + if (ts != NULL + && expr->ts.type == BT_PROCEDURE + && expr->ref == NULL + && attr.flavor != FL_PROCEDURE + && attr.target) + *ts = sym->ts; + has_inquiry_part = false; for (ref = expr->ref; ref; ref = ref->next) if (ref->type == REF_INQUIRY) diff -Nrcpad gcc-13.2.0/gcc/fortran/resolve.cc gcc-13.3.0/gcc/fortran/resolve.cc *** gcc-13.2.0/gcc/fortran/resolve.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/resolve.cc Tue May 21 07:47:38 2024 *************** resolve_common_vars (gfc_common_head *co *** 982,989 **** /* gfc_add_in_common may have been called before, but the reported errors have been ignored to continue parsing. ! We do the checks again here. */ ! if (!csym->attr.use_assoc) { gfc_add_in_common (&csym->attr, csym->name, &common_block->where); gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L", --- 982,989 ---- /* gfc_add_in_common may have been called before, but the reported errors have been ignored to continue parsing. ! We do the checks again here, unless the symbol is USE associated. */ ! if (!csym->attr.use_assoc && !csym->attr.used_in_submodule) { gfc_add_in_common (&csym->attr, csym->name, &common_block->where); gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L", *************** resolve_procedure_expression (gfc_expr* *** 1950,1961 **** || (sym->attr.function && sym->result == sym)) return true; ! /* A non-RECURSIVE procedure that is used as procedure expression within its own body is in danger of being called recursively. */ if (is_illegal_recursion (sym, gfc_current_ns)) ! gfc_warning (0, "Non-RECURSIVE procedure %qs at %L is possibly calling" ! " itself recursively. Declare it RECURSIVE or use" ! " %<-frecursive%>", sym->name, &expr->where); return true; } --- 1950,1969 ---- || (sym->attr.function && sym->result == sym)) return true; ! /* A non-RECURSIVE procedure that is used as procedure expression within its own body is in danger of being called recursively. */ if (is_illegal_recursion (sym, gfc_current_ns)) ! { ! if (sym->attr.use_assoc && expr->symtree->name[0] == '@') ! gfc_warning (0, "Non-RECURSIVE procedure %qs from module %qs is " ! " possibly calling itself recursively in procedure %qs. " ! " Declare it RECURSIVE or use %<-frecursive%>", ! sym->name, sym->module, gfc_current_ns->proc_name->name); ! else ! gfc_warning (0, "Non-RECURSIVE procedure %qs at %L is possibly calling" ! " itself recursively. Declare it RECURSIVE or use" ! " %<-frecursive%>", sym->name, &expr->where); ! } return true; } *************** gfc_resolve_ref (gfc_expr *expr) *** 5526,5532 **** case REF_INQUIRY: /* Implement requirement in note 9.7 of F2018 that the result of the LEN inquiry be a scalar. */ ! if (ref->u.i == INQUIRY_LEN && array_ref && expr->ts.deferred) { array_ref->u.ar.type = AR_ELEMENT; expr->rank = 0; --- 5534,5542 ---- case REF_INQUIRY: /* Implement requirement in note 9.7 of F2018 that the result of the LEN inquiry be a scalar. */ ! if (ref->u.i == INQUIRY_LEN && array_ref ! && ((expr->ts.type == BT_CHARACTER && !expr->ts.u.cl->length) ! || expr->ts.type == BT_INTEGER)) { array_ref->u.ar.type = AR_ELEMENT; expr->rank = 0; *************** resolve_typebound_static (gfc_expr* e, g *** 6622,6627 **** --- 6632,6644 ---- if (st) *target = st; } + + if (is_illegal_recursion ((*target)->n.sym, gfc_current_ns) + && !e->value.compcall.tbp->deferred) + gfc_warning (0, "Non-RECURSIVE procedure %qs at %L is possibly calling" + " itself recursively. Declare it RECURSIVE or use" + " %<-frecursive%>", (*target)->n.sym->name, &e->where); + return true; } *************** resolve_symbol (gfc_symbol *sym) *** 16073,16079 **** if (((as->type == AS_ASSUMED_SIZE && !as->cp_was_assumed) || as->type == AS_ASSUMED_SHAPE) ! && !sym->attr.dummy && !sym->attr.select_type_temporary) { if (as->type == AS_ASSUMED_SIZE) gfc_error ("Assumed size array at %L must be a dummy argument", --- 16090,16097 ---- if (((as->type == AS_ASSUMED_SIZE && !as->cp_was_assumed) || as->type == AS_ASSUMED_SHAPE) ! && !sym->attr.dummy && !sym->attr.select_type_temporary ! && !sym->attr.associate_var) { if (as->type == AS_ASSUMED_SIZE) gfc_error ("Assumed size array at %L must be a dummy argument", *************** resolve_symbol (gfc_symbol *sym) *** 16682,16696 **** if (sym->param_list) resolve_pdt (sym); - - if (!sym->attr.referenced - && (sym->ts.type == BT_CLASS || sym->ts.type == BT_DERIVED)) - { - gfc_expr *final_expr = gfc_lval_expr_from_sym (sym); - if (gfc_is_finalizable (final_expr->ts.u.derived, NULL)) - gfc_set_sym_referenced (sym); - gfc_free_expr (final_expr); - } } --- 16700,16705 ---- *************** resolve_types (gfc_namespace *ns) *** 17917,17923 **** for (n = ns->contained; n; n = n->sibling) { ! if (gfc_pure (ns->proc_name) && !gfc_pure (n->proc_name)) gfc_error ("Contained procedure %qs at %L of a PURE procedure must " "also be PURE", n->proc_name->name, &n->proc_name->declared_at); --- 17926,17935 ---- for (n = ns->contained; n; n = n->sibling) { ! /* Exclude final wrappers with the test for the artificial attribute. */ ! if (gfc_pure (ns->proc_name) ! && !gfc_pure (n->proc_name) ! && !n->proc_name->attr.artificial) gfc_error ("Contained procedure %qs at %L of a PURE procedure must " "also be PURE", n->proc_name->name, &n->proc_name->declared_at); diff -Nrcpad gcc-13.2.0/gcc/fortran/simplify.cc gcc-13.3.0/gcc/fortran/simplify.cc *** gcc-13.2.0/gcc/fortran/simplify.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/simplify.cc Tue May 21 07:47:38 2024 *************** gfc_simplify_len (gfc_expr *e, gfc_expr *** 4566,4584 **** return range_check (result, "LEN"); } else if (e->expr_type == EXPR_VARIABLE && e->ts.type == BT_CHARACTER ! && e->symtree->n.sym ! && e->symtree->n.sym->ts.type != BT_DERIVED ! && e->symtree->n.sym->assoc && e->symtree->n.sym->assoc->target ! && e->symtree->n.sym->assoc->target->ts.type == BT_DERIVED ! && e->symtree->n.sym->assoc->target->symtree->n.sym ! && UNLIMITED_POLY (e->symtree->n.sym->assoc->target->symtree->n.sym)) ! ! /* The expression in assoc->target points to a ref to the _data component ! of the unlimited polymorphic entity. To get the _len component the last ! _data ref needs to be stripped and a ref to the _len component added. */ ! return gfc_get_len_component (e->symtree->n.sym->assoc->target, k); ! else ! return NULL; } --- 4566,4615 ---- return range_check (result, "LEN"); } else if (e->expr_type == EXPR_VARIABLE && e->ts.type == BT_CHARACTER ! && e->symtree->n.sym) ! { ! if (e->symtree->n.sym->ts.type != BT_DERIVED ! && e->symtree->n.sym->assoc && e->symtree->n.sym->assoc->target ! && e->symtree->n.sym->assoc->target->ts.type == BT_DERIVED ! && e->symtree->n.sym->assoc->target->symtree->n.sym ! && UNLIMITED_POLY (e->symtree->n.sym->assoc->target->symtree->n.sym)) ! /* The expression in assoc->target points to a ref to the _data ! component of the unlimited polymorphic entity. To get the _len ! component the last _data ref needs to be stripped and a ref to the ! _len component added. */ ! return gfc_get_len_component (e->symtree->n.sym->assoc->target, k); ! else if (e->symtree->n.sym->ts.type == BT_DERIVED ! && e->ref && e->ref->type == REF_COMPONENT ! && e->ref->u.c.component->attr.pdt_string ! && e->ref->u.c.component->ts.type == BT_CHARACTER ! && e->ref->u.c.component->ts.u.cl->length) ! { ! if (gfc_init_expr_flag) ! { ! gfc_expr* tmp; ! tmp = gfc_pdt_find_component_copy_initializer (e->symtree->n.sym, ! e->ref->u.c ! .component->ts.u.cl ! ->length->symtree ! ->name); ! if (tmp) ! return tmp; ! } ! else ! { ! gfc_expr *len_expr = gfc_copy_expr (e); ! gfc_free_ref_list (len_expr->ref); ! len_expr->ref = NULL; ! gfc_find_component (len_expr->symtree->n.sym->ts.u.derived, e->ref ! ->u.c.component->ts.u.cl->length->symtree ! ->name, ! false, true, &len_expr->ref); ! len_expr->ts = len_expr->ref->u.c.component->ts; ! return len_expr; ! } ! } ! } ! return NULL; } diff -Nrcpad gcc-13.2.0/gcc/fortran/trans-array.cc gcc-13.3.0/gcc/fortran/trans-array.cc *** gcc-13.2.0/gcc/fortran/trans-array.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans-array.cc Tue May 21 07:47:38 2024 *************** gfc_conv_array_ref (gfc_se * se, gfc_arr *** 3962,3968 **** } decl = se->expr; ! if (IS_CLASS_ARRAY (sym) && sym->attr.dummy && ar->as->type != AS_DEFERRED) decl = sym->backend_decl; cst_offset = offset = gfc_index_zero_node; --- 3962,3971 ---- } decl = se->expr; ! if (UNLIMITED_POLY(sym) ! && IS_CLASS_ARRAY (sym) ! && sym->attr.dummy ! && ar->as->type != AS_DEFERRED) decl = sym->backend_decl; cst_offset = offset = gfc_index_zero_node; *************** gfc_get_dataptr_offset (stmtblock_t *blo *** 7323,7328 **** --- 7326,7342 ---- /* Set the target data pointer. */ offset = gfc_build_addr_expr (gfc_array_dataptr_type (desc), tmp); + + /* Check for optional dummy argument being present. Arguments of BIND(C) + procedures are excepted here since they are handled differently. */ + if (expr->expr_type == EXPR_VARIABLE + && expr->symtree->n.sym->attr.dummy + && expr->symtree->n.sym->attr.optional + && !is_CFI_desc (NULL, expr)) + offset = build3_loc (input_location, COND_EXPR, TREE_TYPE (offset), + gfc_conv_expr_present (expr->symtree->n.sym), offset, + fold_convert (TREE_TYPE (offset), gfc_index_zero_node)); + gfc_conv_descriptor_data_set (block, parm, offset); } *************** structure_alloc_comps (gfc_symbol * der_ *** 9200,9205 **** --- 9214,9225 ---- gfc_add_expr_to_block (&fnblock, tmp); } + /* Still having a descriptor array of rank == 0 here, indicates an + allocatable coarrays. Dereference it correctly. */ + if (GFC_DESCRIPTOR_TYPE_P (decl_type)) + { + decl = build_fold_indirect_ref (gfc_conv_array_data (decl)); + } /* Otherwise, act on the components or recursively call self to act on a chain of components. */ for (c = der_type->components; c; c = c->next) *************** gfc_trans_deferred_array (gfc_symbol * s *** 11278,11283 **** --- 11298,11312 ---- { gfc_conv_string_length (sym->ts.u.cl, NULL, &init); gfc_trans_vla_type_sizes (sym, &init); + + /* Presence check of optional deferred-length character dummy. */ + if (sym->ts.deferred && sym->attr.dummy && sym->attr.optional) + { + tmp = gfc_finish_block (&init); + tmp = build3_v (COND_EXPR, gfc_conv_expr_present (sym), + tmp, build_empty_stmt (input_location)); + gfc_add_expr_to_block (&init, tmp); + } } /* Dummy, use associated and result variables don't need anything special. */ *************** gfc_trans_deferred_array (gfc_symbol * s *** 11387,11393 **** { int rank; rank = sym->as ? sym->as->rank : 0; ! tmp = gfc_deallocate_alloc_comp (sym->ts.u.derived, descriptor, rank); gfc_add_expr_to_block (&cleanup, tmp); } --- 11416,11426 ---- { int rank; rank = sym->as ? sym->as->rank : 0; ! tmp = gfc_deallocate_alloc_comp (sym->ts.u.derived, descriptor, rank, ! (sym->attr.codimension ! && flag_coarray == GFC_FCOARRAY_LIB) ! ? GFC_STRUCTURE_CAF_MODE_IN_COARRAY ! : 0); gfc_add_expr_to_block (&cleanup, tmp); } *************** gfc_trans_deferred_array (gfc_symbol * s *** 11401,11409 **** NULL_TREE, NULL_TREE, true, e, sym->attr.codimension ? GFC_CAF_COARRAY_DEREGISTER ! : GFC_CAF_COARRAY_NOCOARRAY); if (e) gfc_free_expr (e); gfc_add_expr_to_block (&cleanup, tmp); } --- 11434,11444 ---- NULL_TREE, NULL_TREE, true, e, sym->attr.codimension ? GFC_CAF_COARRAY_DEREGISTER ! : GFC_CAF_COARRAY_NOCOARRAY, ! gfc_finish_block (&cleanup)); if (e) gfc_free_expr (e); + gfc_init_block (&cleanup); gfc_add_expr_to_block (&cleanup, tmp); } diff -Nrcpad gcc-13.2.0/gcc/fortran/trans-expr.cc gcc-13.3.0/gcc/fortran/trans-expr.cc *** gcc-13.2.0/gcc/fortran/trans-expr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans-expr.cc Tue May 21 07:47:38 2024 *************** gfc_trans_class_init_assign (gfc_code *c *** 1692,1697 **** --- 1692,1698 ---- tree tmp; gfc_se dst,src,memsz; gfc_expr *lhs, *rhs, *sz; + gfc_component *cmp; gfc_start_block (&block); *************** gfc_trans_class_init_assign (gfc_code *c *** 1708,1713 **** --- 1709,1729 ---- /* The _def_init is always scalar. */ rhs->rank = 0; + /* Check def_init for initializers. If this is a dummy with all default + initializer components NULL, return NULL_TREE and use the passed value as + required by F2018(8.5.10). */ + if (!lhs->ref && lhs->symtree->n.sym->attr.dummy) + { + cmp = rhs->ref->next->u.c.component->ts.u.derived->components; + for (; cmp; cmp = cmp->next) + { + if (cmp->initializer) + break; + else if (!cmp->next) + return build_empty_stmt (input_location); + } + } + if (code->expr1->ts.type == BT_CLASS && CLASS_DATA (code->expr1)->attr.dimension) { *************** gfc_conv_missing_dummy (gfc_se * se, gfc *** 2106,2115 **** if (ts.type == BT_CHARACTER) { ! tmp = build_int_cst (gfc_charlen_type_node, 0); ! tmp = fold_build3_loc (input_location, COND_EXPR, gfc_charlen_type_node, ! present, se->string_length, tmp); ! tmp = gfc_evaluate_now (tmp, &se->pre); se->string_length = tmp; } return; --- 2122,2145 ---- if (ts.type == BT_CHARACTER) { ! /* Handle deferred-length dummies that pass the character length by ! reference so that the value can be returned. */ ! if (ts.deferred && INDIRECT_REF_P (se->string_length)) ! { ! tmp = gfc_build_addr_expr (NULL_TREE, se->string_length); ! tmp = fold_build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp), ! present, tmp, null_pointer_node); ! tmp = gfc_evaluate_now (tmp, &se->pre); ! tmp = build_fold_indirect_ref_loc (input_location, tmp); ! } ! else ! { ! tmp = build_int_cst (gfc_charlen_type_node, 0); ! tmp = fold_build3_loc (input_location, COND_EXPR, ! gfc_charlen_type_node, ! present, se->string_length, tmp); ! tmp = gfc_evaluate_now (tmp, &se->pre); ! } se->string_length = tmp; } return; *************** conv_inquiry (gfc_se * se, gfc_ref * ref *** 2861,2871 **** --- 2891,2903 ---- case INQUIRY_KIND: res = build_int_cst (gfc_typenode_for_spec (&expr->ts), ts->kind); + se->string_length = NULL_TREE; break; case INQUIRY_LEN: res = fold_convert (gfc_typenode_for_spec (&expr->ts), se->string_length); + se->string_length = NULL_TREE; break; default: *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6504,6509 **** --- 6536,6545 ---- { tree efield; + /* Evaluate arguments just once. */ + if (e->expr_type != EXPR_VARIABLE) + parmse.expr = save_expr (parmse.expr); + /* Set the _data field. */ tmp = gfc_class_data_get (var); efield = fold_convert (TREE_TYPE (tmp), *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6919,6925 **** INTENT_IN, fsym->attr.pointer); } else if (fsym && fsym->attr.contiguous ! && !gfc_is_simply_contiguous (e, false, true) && gfc_expr_is_variable (e)) { gfc_conv_subref_array_arg (&parmse, e, nodesc_arg, --- 6955,6963 ---- INTENT_IN, fsym->attr.pointer); } else if (fsym && fsym->attr.contiguous ! && (fsym->attr.target ! ? gfc_is_not_contiguous (e) ! : !gfc_is_simply_contiguous (e, false, true)) && gfc_expr_is_variable (e)) { gfc_conv_subref_array_arg (&parmse, e, nodesc_arg, *************** gfc_conv_procedure_call (gfc_se * se, gf *** 7030,7037 **** with an interface indicating an optional argument. When we call an intrinsic subroutine, however, fsym is NULL, but we might still have an optional argument, so we proceed to the substitution ! just in case. */ ! if (e && (fsym == NULL || fsym->attr.optional)) { /* If an optional argument is itself an optional dummy argument, check its presence and substitute a null if absent. This is --- 7068,7077 ---- with an interface indicating an optional argument. When we call an intrinsic subroutine, however, fsym is NULL, but we might still have an optional argument, so we proceed to the substitution ! just in case. Arguments passed to bind(c) procedures via CFI ! descriptors are handled elsewhere. */ ! if (e && (fsym == NULL || fsym->attr.optional) ! && !(sym->attr.is_bind_c && is_CFI_desc (fsym, NULL))) { /* If an optional argument is itself an optional dummy argument, check its presence and substitute a null if absent. This is *************** gfc_conv_procedure_call (gfc_se * se, gf *** 7346,7356 **** } /* Character strings are passed as two parameters, a length and a ! pointer - except for Bind(c) which only passes the pointer. An unlimited polymorphic formal argument likewise does not need the length. */ if (parmse.string_length != NULL_TREE && !sym->attr.is_bind_c && !(fsym && UNLIMITED_POLY (fsym))) vec_safe_push (stringargs, parmse.string_length); --- 7386,7400 ---- } /* Character strings are passed as two parameters, a length and a ! pointer - except for Bind(c) and c_ptrs which only pass the pointer. An unlimited polymorphic formal argument likewise does not need the length. */ if (parmse.string_length != NULL_TREE && !sym->attr.is_bind_c + && !(fsym && fsym->ts.type == BT_DERIVED && fsym->ts.u.derived + && fsym->ts.u.derived->intmod_sym_id == ISOCBINDING_PTR + && fsym->ts.u.derived->from_intmod == INTMOD_ISO_C_BINDING ) + && !(fsym && fsym->ts.type == BT_ASSUMED) && !(fsym && UNLIMITED_POLY (fsym))) vec_safe_push (stringargs, parmse.string_length); *************** gfc_conv_procedure_call (gfc_se * se, gf *** 7582,7589 **** { gcc_assert (se->loop && info); ! /* Set the type of the array. */ ! tmp = gfc_typenode_for_spec (&comp->ts); gcc_assert (se->ss->dimen == se->loop->dimen); /* Evaluate the bounds of the result, if known. */ --- 7626,7639 ---- { gcc_assert (se->loop && info); ! /* Set the type of the array. vtable charlens are not always reliable. ! Use the interface, if possible. */ ! if (comp->ts.type == BT_CHARACTER ! && expr->symtree->n.sym->ts.type == BT_CLASS ! && comp->ts.interface && comp->ts.interface->result) ! tmp = gfc_typenode_for_spec (&comp->ts.interface->result->ts); ! else ! tmp = gfc_typenode_for_spec (&comp->ts); gcc_assert (se->ss->dimen == se->loop->dimen); /* Evaluate the bounds of the result, if known. */ *************** gfc_conv_structure (gfc_se * se, gfc_exp *** 9338,9344 **** cm = expr->ts.u.derived->components; for (c = gfc_constructor_first (expr->value.constructor); ! c; c = gfc_constructor_next (c), cm = cm->next) { /* Skip absent members in default initializers and allocatable components. Although the latter have a default initializer --- 9388,9394 ---- cm = expr->ts.u.derived->components; for (c = gfc_constructor_first (expr->value.constructor); ! c && cm; c = gfc_constructor_next (c), cm = cm->next) { /* Skip absent members in default initializers and allocatable components. Although the latter have a default initializer *************** gfc_trans_pointer_assignment (gfc_expr * *** 10209,10219 **** } if (expr1->ts.type == BT_CHARACTER ! && expr1->symtree->n.sym->ts.deferred ! && expr1->symtree->n.sym->ts.u.cl->backend_decl ! && VAR_P (expr1->symtree->n.sym->ts.u.cl->backend_decl)) { ! tmp = expr1->symtree->n.sym->ts.u.cl->backend_decl; if (expr2->expr_type != EXPR_NULL) gfc_add_modify (&block, tmp, fold_convert (TREE_TYPE (tmp), strlen_rhs)); --- 10259,10291 ---- } if (expr1->ts.type == BT_CHARACTER ! && expr1->ts.deferred) { ! gfc_symbol *psym = expr1->symtree->n.sym; ! tmp = NULL_TREE; ! if (psym->ts.type == BT_CHARACTER ! && psym->ts.u.cl->backend_decl) ! tmp = psym->ts.u.cl->backend_decl; ! else if (expr1->ts.u.cl->backend_decl ! && VAR_P (expr1->ts.u.cl->backend_decl)) ! tmp = expr1->ts.u.cl->backend_decl; ! else if (TREE_CODE (lse.expr) == COMPONENT_REF) ! { ! gfc_ref *ref = expr1->ref; ! for (;ref; ref = ref->next) ! { ! if (ref->type == REF_COMPONENT ! && ref->u.c.component->ts.type == BT_CHARACTER ! && gfc_deferred_strlen (ref->u.c.component, &tmp)) ! tmp = fold_build3_loc (input_location, COMPONENT_REF, ! TREE_TYPE (tmp), ! TREE_OPERAND (lse.expr, 0), ! tmp, NULL_TREE); ! } ! } ! ! gcc_assert (tmp); ! if (expr2->expr_type != EXPR_NULL) gfc_add_modify (&block, tmp, fold_convert (TREE_TYPE (tmp), strlen_rhs)); *************** gfc_trans_scalar_assign (gfc_se * lse, g *** 10522,10528 **** { tmp_var = gfc_evaluate_now (lse->expr, &lse->pre); tmp = gfc_deallocate_alloc_comp_no_caf (ts.u.derived, tmp_var, ! 0, true); if (deep_copy) tmp = build3_v (COND_EXPR, cond, build_empty_stmt (input_location), tmp); --- 10594,10600 ---- { tmp_var = gfc_evaluate_now (lse->expr, &lse->pre); tmp = gfc_deallocate_alloc_comp_no_caf (ts.u.derived, tmp_var, ! 0, gfc_may_be_finalized (ts)); if (deep_copy) tmp = build3_v (COND_EXPR, cond, build_empty_stmt (input_location), tmp); *************** gfc_trans_arrayfunc_assign (gfc_expr * e *** 10964,10970 **** if (expr1->ts.type == BT_DERIVED && expr1->ts.u.derived->attr.alloc_comp) { ! tmp = gfc_deallocate_alloc_comp_no_caf (expr1->ts.u.derived, se.expr, expr1->rank); gfc_add_expr_to_block (&se.pre, tmp); } --- 11036,11043 ---- if (expr1->ts.type == BT_DERIVED && expr1->ts.u.derived->attr.alloc_comp) { ! tmp = build_fold_indirect_ref_loc (input_location, se.expr); ! tmp = gfc_deallocate_alloc_comp_no_caf (expr1->ts.u.derived, tmp, expr1->rank); gfc_add_expr_to_block (&se.pre, tmp); } *************** gfc_trans_assignment_1 (gfc_expr * expr1 *** 12128,12138 **** gfc_add_block_to_block (&body, &lse.pre); gfc_add_expr_to_block (&body, tmp); ! /* Add the post blocks to the body. */ ! if (!l_is_temp) { - gfc_add_block_to_block (&rse.finalblock, &rse.post); gfc_add_block_to_block (&body, &rse.finalblock); } else gfc_add_block_to_block (&body, &rse.post); --- 12201,12214 ---- gfc_add_block_to_block (&body, &lse.pre); gfc_add_expr_to_block (&body, tmp); ! /* Add the post blocks to the body. Scalar finalization must appear before ! the post block in case any dellocations are done. */ ! if (rse.finalblock.head ! && (!l_is_temp || (expr2->expr_type == EXPR_FUNCTION ! && gfc_expr_attr (expr2).elemental))) { gfc_add_block_to_block (&body, &rse.finalblock); + gfc_add_block_to_block (&body, &rse.post); } else gfc_add_block_to_block (&body, &rse.post); diff -Nrcpad gcc-13.2.0/gcc/fortran/trans-intrinsic.cc gcc-13.3.0/gcc/fortran/trans-intrinsic.cc *** gcc-13.2.0/gcc/fortran/trans-intrinsic.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans-intrinsic.cc Tue May 21 07:47:38 2024 *************** gfc_conv_intrinsic_ishftc (gfc_se * se, *** 6863,6871 **** --- 6863,6885 ---- if (num_args == 3) { + gfc_expr *size = expr->value.function.actual->next->next->expr; + /* Use a library function for the 3 parameter version. */ tree int4type = gfc_get_int_type (4); + /* Treat optional SIZE argument when it is passed as an optional + dummy. If SIZE is absent, the default value is BIT_SIZE(I). */ + if (size->expr_type == EXPR_VARIABLE + && size->symtree->n.sym->attr.dummy + && size->symtree->n.sym->attr.optional) + { + tree type_of_size = TREE_TYPE (args[2]); + args[2] = build3_loc (input_location, COND_EXPR, type_of_size, + gfc_conv_expr_present (size->symtree->n.sym), + args[2], fold_convert (type_of_size, nbits)); + } + /* We convert the first argument to at least 4 bytes, and convert back afterwards. This removes the need for library functions for all argument sizes, and function will be diff -Nrcpad gcc-13.2.0/gcc/fortran/trans-stmt.cc gcc-13.3.0/gcc/fortran/trans-stmt.cc *** gcc-13.2.0/gcc/fortran/trans-stmt.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans-stmt.cc Tue May 21 07:47:38 2024 *************** gfc_trans_allocate (gfc_code * code) *** 6318,6325 **** vtab_needed = (al->expr->ts.type == BT_CLASS); gfc_init_se (&se, NULL); ! /* When expr3 is a variable, i.e., a very simple expression, ! then convert it once here. */ if (code->expr3->expr_type == EXPR_VARIABLE || code->expr3->expr_type == EXPR_ARRAY || code->expr3->expr_type == EXPR_CONSTANT) --- 6318,6331 ---- vtab_needed = (al->expr->ts.type == BT_CLASS); gfc_init_se (&se, NULL); ! /* When expr3 is a variable, i.e., a very simple expression, then ! convert it once here. If one has a source expression that has ! substring references, part-refs, or %re/%im inquiries, wrap the ! entity in parentheses to force evaluation of the expression. */ ! if (code->expr3->expr_type == EXPR_VARIABLE ! && is_subref_array (code->expr3)) ! code->expr3 = gfc_get_parentheses (code->expr3); ! if (code->expr3->expr_type == EXPR_VARIABLE || code->expr3->expr_type == EXPR_ARRAY || code->expr3->expr_type == EXPR_CONSTANT) diff -Nrcpad gcc-13.2.0/gcc/fortran/trans-types.cc gcc-13.3.0/gcc/fortran/trans-types.cc *** gcc-13.2.0/gcc/fortran/trans-types.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans-types.cc Tue May 21 07:47:38 2024 *************** gfc_get_nodesc_array_type (tree etype, g *** 1791,1797 **** TYPE_LANG_SPECIFIC (type) = TYPE_LANG_SPECIFIC (TREE_TYPE (type)); } ! return type; } if (known_stride) --- 1791,1797 ---- TYPE_LANG_SPECIFIC (type) = TYPE_LANG_SPECIFIC (TREE_TYPE (type)); } ! goto array_type_done; } if (known_stride) *************** gfc_get_nodesc_array_type (tree etype, g *** 1810,1819 **** layout_type (type); - mpz_clear (offset); - mpz_clear (stride); - mpz_clear (delta); - /* Represent packed arrays as multi-dimensional if they have rank > 1 and with proper bounds, instead of flat arrays. This makes for better debug info. */ --- 1810,1815 ---- *************** gfc_get_nodesc_array_type (tree etype, g *** 1844,1849 **** --- 1840,1851 ---- GFC_ARRAY_TYPE_P (type) = 1; TYPE_LANG_SPECIFIC (type) = TYPE_LANG_SPECIFIC (TREE_TYPE (type)); } + + array_type_done: + mpz_clear (offset); + mpz_clear (stride); + mpz_clear (delta); + return type; } *************** gfc_sym_type (gfc_symbol * sym, bool is_ *** 2324,2331 **** else byref = 0; ! restricted = !sym->attr.target && !sym->attr.pointer ! && !sym->attr.proc_pointer && !sym->attr.cray_pointee; if (!restricted) type = gfc_nonrestricted_type (type); --- 2326,2333 ---- else byref = 0; ! restricted = (!sym->attr.target && !IS_POINTER (sym) ! && !IS_PROC_POINTER (sym) && !sym->attr.cray_pointee); if (!restricted) type = gfc_nonrestricted_type (type); *************** gfc_sym_type (gfc_symbol * sym, bool is_ *** 2381,2391 **** || (sym->ns->proc_name && sym->ns->proc_name->attr.entry_master)) type = build_pointer_type (type); else ! { ! type = build_reference_type (type); ! if (restricted) ! type = build_qualified_type (type, TYPE_QUAL_RESTRICT); ! } } return (type); --- 2383,2392 ---- || (sym->ns->proc_name && sym->ns->proc_name->attr.entry_master)) type = build_pointer_type (type); else ! type = build_reference_type (type); ! ! if (restricted) ! type = build_qualified_type (type, TYPE_QUAL_RESTRICT); } return (type); diff -Nrcpad gcc-13.2.0/gcc/fortran/trans.cc gcc-13.3.0/gcc/fortran/trans.cc *** gcc-13.2.0/gcc/fortran/trans.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/fortran/trans.cc Tue May 21 07:47:38 2024 *************** gfc_finalize_tree_expr (gfc_se *se, gfc_ *** 1527,1533 **** } else if (derived && gfc_is_finalizable (derived, NULL)) { ! if (derived->attr.zero_comp && !rank) { /* Any attempt to assign zero length entities, causes the gimplifier all manner of problems. Instead, a variable is created to act as --- 1527,1533 ---- } else if (derived && gfc_is_finalizable (derived, NULL)) { ! if (!derived->components && (!rank || attr.elemental)) { /* Any attempt to assign zero length entities, causes the gimplifier all manner of problems. Instead, a variable is created to act as *************** gfc_finalize_tree_expr (gfc_se *se, gfc_ *** 1578,1584 **** final_fndecl); if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (desc))) { ! if (is_class) desc = gfc_conv_scalar_to_descriptor (se, desc, attr); else { --- 1578,1584 ---- final_fndecl); if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (desc))) { ! if (is_class || attr.elemental) desc = gfc_conv_scalar_to_descriptor (se, desc, attr); else { *************** gfc_finalize_tree_expr (gfc_se *se, gfc_ *** 1588,1594 **** } } ! if (derived && derived->attr.zero_comp) { /* All the conditions below break down for zero length derived types. */ tmp = build_call_expr_loc (input_location, final_fndecl, 3, --- 1588,1594 ---- } } ! if (derived && !derived->components) { /* All the conditions below break down for zero length derived types. */ tmp = build_call_expr_loc (input_location, final_fndecl, 3, diff -Nrcpad gcc-13.2.0/gcc/function.cc gcc-13.3.0/gcc/function.cc *** gcc-13.2.0/gcc/function.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/function.cc Tue May 21 07:47:38 2024 *************** assign_parms (tree fndecl) *** 3650,3656 **** assign_parms_initialize_all (&all); fnargs = assign_parms_augmented_arg_list (&all); ! if (TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (fndecl))) { struct assign_parm_data_one data = {}; assign_parms_setup_varargs (&all, &data, false); --- 3650,3657 ---- assign_parms_initialize_all (&all); fnargs = assign_parms_augmented_arg_list (&all); ! if (TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (fndecl)) ! && fnargs.is_empty ()) { struct assign_parm_data_one data = {}; assign_parms_setup_varargs (&all, &data, false); diff -Nrcpad gcc-13.2.0/gcc/generic-match-head.cc gcc-13.3.0/gcc/generic-match-head.cc *** gcc-13.2.0/gcc/generic-match-head.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/generic-match-head.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 41,46 **** --- 41,48 ---- #include "tree-eh.h" #include "langhooks.h" #include "tree-pass.h" + #include "attribs.h" + #include "asan.h" /* Routine to determine if the types T1 and T2 are effectively the same for GENERIC. If T1 or T2 is not a type, the test diff -Nrcpad gcc-13.2.0/gcc/gengtype-lex.cc gcc-13.3.0/gcc/gengtype-lex.cc *** gcc-13.2.0/gcc/gengtype-lex.cc Thu Jul 27 08:18:10 2023 --- gcc-13.3.0/gcc/gengtype-lex.cc Tue May 21 07:50:33 2024 *************** int yy_flex_debug = 0; *** 1188,1194 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2023 Free Software Foundation, Inc. --- 1188,1194 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2023 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 "/d/gcc-13.2.0/gcc-13.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 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 *************** update_lineno (const char *l, size_t len *** 1238,1244 **** } #line 1235 "gengtype-lex.cc" ! #line 59 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* Include '::' in identifiers to capture C++ scope qualifiers. */ #line 1239 "gengtype-lex.cc" --- 1238,1244 ---- } #line 1235 "gengtype-lex.cc" ! #line 59 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* Include '::' in identifiers to capture C++ scope qualifiers. */ #line 1239 "gengtype-lex.cc" *************** YY_DECL *** 1462,1468 **** } { ! #line 67 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1462,1468 ---- } { ! #line 67 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1534,1540 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 78 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1534,1540 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 78 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1547,1553 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 82 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1547,1553 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 82 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1560,1566 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 86 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1560,1566 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 86 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1573,1579 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1573,1579 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 90 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1586,1592 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1586,1592 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 94 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1599,1605 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1599,1605 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 98 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** YY_RULE_SETUP *** 1610,1634 **** case 7: YY_RULE_SETUP ! #line 106 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 107 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 110 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: --- 1610,1634 ---- case 7: YY_RULE_SETUP ! #line 106 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 107 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 109 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 110 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1638,1644 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: --- 1638,1644 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 112 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: *************** case 12: *** 1647,1663 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 114 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 115 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 116 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 116 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; --- 1647,1663 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 114 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 115 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 116 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 116 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; *************** YY_LINENO_REWIND_TO(yy_bp + 3); *** 1670,1676 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: --- 1670,1676 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1680,1686 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: --- 1680,1686 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: *************** YY_LINENO_REWIND_TO(yy_bp + 6); *** 1690,1696 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: --- 1690,1696 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: *************** YY_LINENO_REWIND_TO(yy_bp + 5); *** 1700,1706 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: --- 1700,1706 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: *************** YY_LINENO_REWIND_TO(yy_bp + 7); *** 1710,1716 **** (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: --- 1710,1716 ---- (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1720,1726 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: --- 1720,1726 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: *************** YY_LINENO_REWIND_TO(yy_bp + 9); *** 1730,1736 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: --- 1730,1736 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: *************** YY_LINENO_REWIND_TO(yy_bp + 10); *** 1740,1746 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: --- 1740,1746 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: *************** YY_LINENO_REWIND_TO(yy_bp + 4); *** 1750,1761 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 128 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 129 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return NUM; --- 1750,1761 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 128 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 129 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return NUM; *************** case 26: *** 1767,1777 **** YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 135 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 135 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { size_t len; --- 1767,1777 ---- YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ ! #line 135 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 135 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { size_t len; *************** YY_LINENO_REWIND_TO(yy_cp - 1); *** 1790,1796 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 146 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; --- 1790,1796 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 146 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1799,1805 **** case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 151 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; --- 1799,1805 ---- case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 151 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1809,1815 **** case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 156 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1809,1815 ---- case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 156 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1818,1824 **** case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 160 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; --- 1818,1824 ---- case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 160 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1826,1849 **** YY_BREAK case 32: YY_RULE_SETUP ! #line 165 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 166 "/d/gcc-13.2.0/gcc-13.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 169 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 171 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1826,1849 ---- YY_BREAK case 32: YY_RULE_SETUP ! #line 165 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 166 "/d/gcc-13.3.0/gcc-13.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 169 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 171 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1851,1886 **** case 36: YY_RULE_SETUP ! #line 176 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 178 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 180 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 181 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 181 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 182 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: --- 1851,1886 ---- case 36: YY_RULE_SETUP ! #line 176 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 177 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 178 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 180 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 181 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 181 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 182 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1890,1910 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 183 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 186 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 188 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 188 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: --- 1890,1910 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 183 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 186 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 188 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 188 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: *************** YY_LINENO_REWIND_TO(yy_bp + 1); *** 1914,1938 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 189 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 192 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 193 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 196 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 196 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1914,1938 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 189 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 192 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 193 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 196 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 196 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1941,1952 **** case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 201 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 203 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1947 "gengtype-lex.cc" --- 1941,1952 ---- case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 201 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 203 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1947 "gengtype-lex.cc" *************** void yyfree (void * ptr ) *** 2924,2930 **** #define YYTABLES_NAME "yytables" ! #line 203 "/d/gcc-13.2.0/gcc-13.2.0/gcc/gengtype-lex.l" void --- 2924,2930 ---- #define YYTABLES_NAME "yytables" ! #line 203 "/d/gcc-13.3.0/gcc-13.3.0/gcc/gengtype-lex.l" void diff -Nrcpad gcc-13.2.0/gcc/genmatch.cc gcc-13.3.0/gcc/genmatch.cc *** gcc-13.2.0/gcc/genmatch.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/genmatch.cc Tue May 21 07:47:38 2024 *************** parser::parse_c_expr (cpp_ttype start) *** 4519,4528 **** = (const char *)CPP_HASHNODE (token->val.node.node)->ident.str; if (strcmp (str, "return") == 0) fatal_at (token, "return statement not allowed in C expression"); ! id_base *idb = get_operator (str); ! user_id *p; ! if (idb && (p = dyn_cast (idb)) && p->is_oper_list) ! record_operlist (token->src_loc, p); } /* Record the token. */ --- 4519,4526 ---- = (const char *)CPP_HASHNODE (token->val.node.node)->ident.str; if (strcmp (str, "return") == 0) fatal_at (token, "return statement not allowed in C expression"); ! /* Mark user operators corresponding to 'str' as used. */ ! get_operator (str); } /* Record the token. */ diff -Nrcpad gcc-13.2.0/gcc/ggc-common.cc gcc-13.3.0/gcc/ggc-common.cc *** gcc-13.2.0/gcc/ggc-common.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ggc-common.cc Tue May 21 07:47:38 2024 *************** gt_pch_save (FILE *f) *** 673,679 **** { gcc_assert ((uintptr_t) addr >= (uintptr_t) mmi.preferred_base && ((uintptr_t) addr + sizeof (void *) ! < (uintptr_t) mmi.preferred_base + mmi.size)); if (addr == last_addr) continue; if (last_addr == NULL) --- 673,679 ---- { gcc_assert ((uintptr_t) addr >= (uintptr_t) mmi.preferred_base && ((uintptr_t) addr + sizeof (void *) ! <= (uintptr_t) mmi.preferred_base + mmi.size)); if (addr == last_addr) continue; if (last_addr == NULL) diff -Nrcpad gcc-13.2.0/gcc/gimple-isel.cc gcc-13.3.0/gcc/gimple-isel.cc *** gcc-13.2.0/gcc/gimple-isel.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-isel.cc Tue May 21 07:47:38 2024 *************** gimple_expand_vec_set_expr (struct funct *** 77,83 **** tree pos = TREE_OPERAND (lhs, 1); tree view_op0 = TREE_OPERAND (op0, 0); machine_mode outermode = TYPE_MODE (TREE_TYPE (view_op0)); ! if (auto_var_in_fn_p (view_op0, fun->decl) && !TREE_ADDRESSABLE (view_op0) && can_vec_set_var_idx_p (outermode)) { location_t loc = gimple_location (stmt); --- 77,84 ---- tree pos = TREE_OPERAND (lhs, 1); tree view_op0 = TREE_OPERAND (op0, 0); machine_mode outermode = TYPE_MODE (TREE_TYPE (view_op0)); ! if ((auto_var_in_fn_p (view_op0, fun->decl) ! || (VAR_P (view_op0) && DECL_HARD_REGISTER (view_op0))) && !TREE_ADDRESSABLE (view_op0) && can_vec_set_var_idx_p (outermode)) { location_t loc = gimple_location (stmt); diff -Nrcpad gcc-13.2.0/gcc/gimple-iterator.cc gcc-13.3.0/gcc/gimple-iterator.cc *** gcc-13.2.0/gcc/gimple-iterator.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-iterator.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 32,37 **** --- 32,38 ---- #include "tree-cfg.h" #include "tree-ssa.h" #include "value-prof.h" + #include "gimplify.h" /* Mark the statement STMT as modified, and update it. */ *************** gsi_start_phis (basic_block bb) *** 943,945 **** --- 944,1095 ---- return i; } + + /* Helper function for gsi_safe_insert_before and gsi_safe_insert_seq_before. + Find edge to insert statements before returns_twice call at the start of BB, + if there isn't just one, split the bb and adjust PHIs to ensure that. */ + + static edge + edge_before_returns_twice_call (basic_block bb) + { + gimple_stmt_iterator gsi = gsi_start_nondebug_bb (bb); + gcc_checking_assert (is_gimple_call (gsi_stmt (gsi)) + && (gimple_call_flags (gsi_stmt (gsi)) + & ECF_RETURNS_TWICE) != 0); + edge_iterator ei; + edge e, ad_edge = NULL, other_edge = NULL; + bool split = false; + FOR_EACH_EDGE (e, ei, bb->preds) + { + if ((e->flags & (EDGE_ABNORMAL | EDGE_EH)) == EDGE_ABNORMAL) + { + gimple_stmt_iterator gsi + = gsi_start_nondebug_after_labels_bb (e->src); + gimple *ad = gsi_stmt (gsi); + if (ad && gimple_call_internal_p (ad, IFN_ABNORMAL_DISPATCHER)) + { + gcc_checking_assert (ad_edge == NULL); + ad_edge = e; + continue; + } + } + if (other_edge || e->flags & (EDGE_ABNORMAL | EDGE_EH)) + split = true; + other_edge = e; + } + gcc_checking_assert (ad_edge); + if (other_edge == NULL) + split = true; + if (split) + { + other_edge = split_block_after_labels (bb); + e = make_edge (ad_edge->src, other_edge->dest, EDGE_ABNORMAL); + for (gphi_iterator gsi = gsi_start_phis (other_edge->src); + !gsi_end_p (gsi); gsi_next (&gsi)) + { + gphi *phi = gsi.phi (); + tree lhs = gimple_phi_result (phi); + tree new_lhs = copy_ssa_name (lhs); + gimple_phi_set_result (phi, new_lhs); + gphi *new_phi = create_phi_node (lhs, other_edge->dest); + add_phi_arg (new_phi, new_lhs, other_edge, UNKNOWN_LOCATION); + add_phi_arg (new_phi, PHI_ARG_DEF_FROM_EDGE (phi, ad_edge), + e, gimple_phi_arg_location_from_edge (phi, ad_edge)); + } + e->flags = ad_edge->flags; + e->probability = ad_edge->probability; + remove_edge (ad_edge); + if (dom_info_available_p (CDI_DOMINATORS)) + { + set_immediate_dominator (CDI_DOMINATORS, other_edge->src, + recompute_dominator (CDI_DOMINATORS, + other_edge->src)); + set_immediate_dominator (CDI_DOMINATORS, other_edge->dest, + recompute_dominator (CDI_DOMINATORS, + other_edge->dest)); + } + } + return other_edge; + } + + /* Helper function for gsi_safe_insert_before and gsi_safe_insert_seq_before. + Replace SSA_NAME uses in G if they are PHI results of PHIs on E->dest + bb with the corresponding PHI argument from E edge. */ + + static void + adjust_before_returns_twice_call (edge e, gimple *g) + { + use_operand_p use_p; + ssa_op_iter iter; + bool m = false; + FOR_EACH_SSA_USE_OPERAND (use_p, g, iter, SSA_OP_USE) + { + tree s = USE_FROM_PTR (use_p); + if (SSA_NAME_DEF_STMT (s) + && gimple_code (SSA_NAME_DEF_STMT (s)) == GIMPLE_PHI + && gimple_bb (SSA_NAME_DEF_STMT (s)) == e->dest) + { + tree r = PHI_ARG_DEF_FROM_EDGE (SSA_NAME_DEF_STMT (s), e); + SET_USE (use_p, unshare_expr (r)); + m = true; + } + } + if (m) + update_stmt (g); + } + + /* Insert G stmt before ITER and keep ITER pointing to the same statement + as before. If ITER is a returns_twice call, insert it on an appropriate + edge instead. */ + + void + gsi_safe_insert_before (gimple_stmt_iterator *iter, gimple *g) + { + gimple *stmt = gsi_stmt (*iter); + if (stmt + && is_gimple_call (stmt) + && (gimple_call_flags (stmt) & ECF_RETURNS_TWICE) != 0 + && bb_has_abnormal_pred (gsi_bb (*iter))) + { + edge e = edge_before_returns_twice_call (gsi_bb (*iter)); + basic_block new_bb = gsi_insert_on_edge_immediate (e, g); + if (new_bb) + e = single_succ_edge (new_bb); + adjust_before_returns_twice_call (e, g); + *iter = gsi_for_stmt (stmt); + } + else + gsi_insert_before (iter, g, GSI_SAME_STMT); + } + + /* Similarly for sequence SEQ. */ + + void + gsi_safe_insert_seq_before (gimple_stmt_iterator *iter, gimple_seq seq) + { + if (gimple_seq_empty_p (seq)) + return; + gimple *stmt = gsi_stmt (*iter); + if (stmt + && is_gimple_call (stmt) + && (gimple_call_flags (stmt) & ECF_RETURNS_TWICE) != 0 + && bb_has_abnormal_pred (gsi_bb (*iter))) + { + edge e = edge_before_returns_twice_call (gsi_bb (*iter)); + gimple *f = gimple_seq_first_stmt (seq); + gimple *l = gimple_seq_last_stmt (seq); + basic_block new_bb = gsi_insert_seq_on_edge_immediate (e, seq); + if (new_bb) + e = single_succ_edge (new_bb); + for (gimple_stmt_iterator gsi = gsi_for_stmt (f); ; gsi_next (&gsi)) + { + gimple *g = gsi_stmt (gsi); + adjust_before_returns_twice_call (e, g); + if (g == l) + break; + } + *iter = gsi_for_stmt (stmt); + } + else + gsi_insert_seq_before (iter, seq, GSI_SAME_STMT); + } diff -Nrcpad gcc-13.2.0/gcc/gimple-iterator.h gcc-13.3.0/gcc/gimple-iterator.h *** gcc-13.2.0/gcc/gimple-iterator.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-iterator.h Tue May 21 07:47:38 2024 *************** extern void gsi_insert_on_edge (edge, gi *** 88,93 **** --- 88,95 ---- extern void gsi_insert_seq_on_edge (edge, gimple_seq); extern basic_block gsi_insert_on_edge_immediate (edge, gimple *); extern basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq); + extern void gsi_safe_insert_before (gimple_stmt_iterator *, gimple *); + extern void gsi_safe_insert_seq_before (gimple_stmt_iterator *, gimple_seq); extern void gsi_commit_edge_inserts (void); extern void gsi_commit_one_edge_insert (edge, basic_block *); extern gphi_iterator gsi_start_phis (basic_block); diff -Nrcpad gcc-13.2.0/gcc/gimple-low.cc gcc-13.3.0/gcc/gimple-low.cc *** gcc-13.2.0/gcc/gimple-low.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-low.cc Tue May 21 07:47:38 2024 *************** assumption_copy_decl (tree decl, copy_bo *** 374,388 **** gcc_assert (VAR_P (decl) || TREE_CODE (decl) == PARM_DECL || TREE_CODE (decl) == RESULT_DECL); tree copy = build_decl (DECL_SOURCE_LOCATION (decl), PARM_DECL, DECL_NAME (decl), type); if (DECL_PT_UID_SET_P (decl)) SET_DECL_PT_UID (copy, DECL_PT_UID (decl)); ! TREE_ADDRESSABLE (copy) = TREE_ADDRESSABLE (decl); ! TREE_READONLY (copy) = TREE_READONLY (decl); ! TREE_THIS_VOLATILE (copy) = TREE_THIS_VOLATILE (decl); ! DECL_NOT_GIMPLE_REG_P (copy) = DECL_NOT_GIMPLE_REG_P (decl); ! DECL_BY_REFERENCE (copy) = DECL_BY_REFERENCE (decl); DECL_ARG_TYPE (copy) = type; ((lower_assumption_data *) id)->decls.safe_push (decl); return copy_decl_for_dup_finish (id, decl, copy); --- 374,395 ---- gcc_assert (VAR_P (decl) || TREE_CODE (decl) == PARM_DECL || TREE_CODE (decl) == RESULT_DECL); + if (TREE_THIS_VOLATILE (decl)) + type = build_pointer_type (type); tree copy = build_decl (DECL_SOURCE_LOCATION (decl), PARM_DECL, DECL_NAME (decl), type); if (DECL_PT_UID_SET_P (decl)) SET_DECL_PT_UID (copy, DECL_PT_UID (decl)); ! TREE_THIS_VOLATILE (copy) = 0; ! if (TREE_THIS_VOLATILE (decl)) ! TREE_READONLY (copy) = 1; ! else ! { ! TREE_ADDRESSABLE (copy) = TREE_ADDRESSABLE (decl); ! TREE_READONLY (copy) = TREE_READONLY (decl); ! DECL_NOT_GIMPLE_REG_P (copy) = DECL_NOT_GIMPLE_REG_P (decl); ! DECL_BY_REFERENCE (copy) = DECL_BY_REFERENCE (decl); ! } DECL_ARG_TYPE (copy) = type; ((lower_assumption_data *) id)->decls.safe_push (decl); return copy_decl_for_dup_finish (id, decl, copy); *************** adjust_assumption_stmt_op (tree *tp, int *** 466,471 **** --- 473,483 ---- case PARM_DECL: case RESULT_DECL: *tp = remap_decl (t, &data->id); + if (TREE_THIS_VOLATILE (t) && *tp != t) + { + *tp = build_simple_mem_ref (*tp); + TREE_THIS_NOTRAP (*tp) = 1; + } break; default: break; *************** lower_assumption (gimple_stmt_iterator * *** 600,605 **** --- 612,622 ---- /* Remaining arguments will be the variables/parameters mentioned in the condition. */ vargs[i - sz] = lad.decls[i - 1]; + if (TREE_THIS_VOLATILE (lad.decls[i - 1])) + { + TREE_ADDRESSABLE (lad.decls[i - 1]) = 1; + vargs[i - sz] = build_fold_addr_expr (lad.decls[i - 1]); + } /* If they have gimple types, we might need to regimplify them to make the IFN_ASSUME call valid. */ if (is_gimple_reg_type (TREE_TYPE (vargs[i - sz])) diff -Nrcpad gcc-13.2.0/gcc/gimple-match-head.cc gcc-13.3.0/gcc/gimple-match-head.cc *** gcc-13.2.0/gcc/gimple-match-head.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-match-head.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 47,52 **** --- 47,54 ---- #include "tm.h" #include "gimple-range.h" #include "langhooks.h" + #include "attribs.h" + #include "asan.h" /* Forward declarations of the private auto-generated matchers. They expect valueized operands in canonical order and do not diff -Nrcpad gcc-13.2.0/gcc/gimple-predicate-analysis.cc gcc-13.3.0/gcc/gimple-predicate-analysis.cc *** gcc-13.2.0/gcc/gimple-predicate-analysis.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-predicate-analysis.cc Tue May 21 07:47:38 2024 *************** *** 50,57 **** /* In our predicate normal form we have MAX_NUM_CHAINS or predicates and in those MAX_CHAIN_LEN (inverted) and predicates. */ ! #define MAX_NUM_CHAINS 8 ! #define MAX_CHAIN_LEN 5 /* Return true if X1 is the negation of X2. */ --- 50,57 ---- /* In our predicate normal form we have MAX_NUM_CHAINS or predicates and in those MAX_CHAIN_LEN (inverted) and predicates. */ ! #define MAX_NUM_CHAINS (unsigned)param_uninit_max_num_chains ! #define MAX_CHAIN_LEN (unsigned)param_uninit_max_chain_len /* Return true if X1 is the negation of X2. */ *************** compute_control_dep_chain (basic_block d *** 1162,1172 **** vec cd_chains[], unsigned *num_chains, unsigned in_region = 0) { ! auto_vec cur_cd_chain; unsigned num_calls = 0; unsigned depth = 0; bool complete_p = true; /* Walk the post-dominator chain. */ compute_control_dep_chain_pdom (dom_bb, dep_bb, NULL, cd_chains, num_chains, cur_cd_chain, &num_calls, in_region, depth, &complete_p); --- 1162,1173 ---- vec cd_chains[], unsigned *num_chains, unsigned in_region = 0) { ! auto_vec cur_cd_chain; unsigned num_calls = 0; unsigned depth = 0; bool complete_p = true; /* Walk the post-dominator chain. */ + cur_cd_chain.reserve (MAX_CHAIN_LEN + 1); compute_control_dep_chain_pdom (dom_bb, dep_bb, NULL, cd_chains, num_chains, cur_cd_chain, &num_calls, in_region, depth, &complete_p); *************** uninit_analysis::init_use_preds (predica *** 2034,2040 **** are logical conjunctions. Together, the DEP_CHAINS vector is used below to initialize an OR expression of the conjunctions. */ unsigned num_chains = 0; ! auto_vec dep_chains[MAX_NUM_CHAINS]; if (!dfs_mark_dominating_region (use_bb, cd_root, in_region, region) || !compute_control_dep_chain (cd_root, use_bb, dep_chains, &num_chains, --- 2035,2041 ---- are logical conjunctions. Together, the DEP_CHAINS vector is used below to initialize an OR expression of the conjunctions. */ unsigned num_chains = 0; ! auto_vec *dep_chains = new auto_vec[MAX_NUM_CHAINS]; if (!dfs_mark_dominating_region (use_bb, cd_root, in_region, region) || !compute_control_dep_chain (cd_root, use_bb, dep_chains, &num_chains, *************** uninit_analysis::init_use_preds (predica *** 2059,2064 **** --- 2060,2066 ---- Each OR subexpression is represented by one element of DEP_CHAINS, where each element consists of a series of AND subexpressions. */ use_preds.init_from_control_deps (dep_chains, num_chains, true); + delete[] dep_chains; return !use_preds.is_empty (); } *************** uninit_analysis::init_from_phi_def (gphi *** 2143,2149 **** break; unsigned num_chains = 0; ! auto_vec dep_chains[MAX_NUM_CHAINS]; for (unsigned i = 0; i < nedges; i++) { edge e = def_edges[i]; --- 2145,2151 ---- break; unsigned num_chains = 0; ! auto_vec *dep_chains = new auto_vec[MAX_NUM_CHAINS]; for (unsigned i = 0; i < nedges; i++) { edge e = def_edges[i]; *************** uninit_analysis::init_from_phi_def (gphi *** 2174,2179 **** --- 2176,2182 ---- which the PHI operands are defined to values for which M_EVAL is false. */ m_phi_def_preds.init_from_control_deps (dep_chains, num_chains, false); + delete[] dep_chains; return !m_phi_def_preds.is_empty (); } diff -Nrcpad gcc-13.2.0/gcc/gimple-range-cache.cc gcc-13.3.0/gcc/gimple-range-cache.cc *** gcc-13.2.0/gcc/gimple-range-cache.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-range-cache.cc Tue May 21 07:47:38 2024 *************** block_range_cache::set_bb_range (tree na *** 343,349 **** { unsigned v = SSA_NAME_VERSION (name); if (v >= m_ssa_ranges.length ()) ! m_ssa_ranges.safe_grow_cleared (num_ssa_names + 1); if (!m_ssa_ranges[v]) { --- 343,349 ---- { unsigned v = SSA_NAME_VERSION (name); if (v >= m_ssa_ranges.length ()) ! m_ssa_ranges.safe_grow_cleared (num_ssa_names); if (!m_ssa_ranges[v]) { *************** void *** 410,416 **** block_range_cache::dump (FILE *f) { unsigned x; ! for (x = 0; x < m_ssa_ranges.length (); ++x) { if (m_ssa_ranges[x]) { --- 410,416 ---- block_range_cache::dump (FILE *f) { unsigned x; ! for (x = 1; x < m_ssa_ranges.length (); ++x) { if (m_ssa_ranges[x]) { *************** block_range_cache::dump (FILE *f, basic_ *** 432,442 **** bool summarize_varying = false; for (x = 1; x < m_ssa_ranges.length (); ++x) { if (!gimple_range_ssa_p (ssa_name (x))) continue; Value_Range r (TREE_TYPE (ssa_name (x))); ! if (m_ssa_ranges[x] && m_ssa_ranges[x]->get_bb_range (r, bb)) { if (!print_varying && r.varying_p ()) { --- 432,445 ---- bool summarize_varying = false; for (x = 1; x < m_ssa_ranges.length (); ++x) { + if (!m_ssa_ranges[x]) + continue; + if (!gimple_range_ssa_p (ssa_name (x))) continue; Value_Range r (TREE_TYPE (ssa_name (x))); ! if (m_ssa_ranges[x]->get_bb_range (r, bb)) { if (!print_varying && r.varying_p ()) { *************** block_range_cache::dump (FILE *f, basic_ *** 453,465 **** if (summarize_varying) { fprintf (f, "VARYING_P on entry : "); ! for (x = 1; x < num_ssa_names; ++x) { if (!gimple_range_ssa_p (ssa_name (x))) continue; Value_Range r (TREE_TYPE (ssa_name (x))); ! if (m_ssa_ranges[x] && m_ssa_ranges[x]->get_bb_range (r, bb)) { if (r.varying_p ()) { --- 456,471 ---- if (summarize_varying) { fprintf (f, "VARYING_P on entry : "); ! for (x = 1; x < m_ssa_ranges.length (); ++x) { + if (!m_ssa_ranges[x]) + continue; + if (!gimple_range_ssa_p (ssa_name (x))) continue; Value_Range r (TREE_TYPE (ssa_name (x))); ! if (m_ssa_ranges[x]->get_bb_range (r, bb)) { if (r.varying_p ()) { *************** ranger_cache::fill_block_cache (tree nam *** 1258,1263 **** --- 1264,1272 ---- { if (rel != VREL_EQ) range_cast (equiv_range, type); + else + adjust_equivalence_range (equiv_range); + if (block_result.intersect (equiv_range)) { if (DEBUG_RANGE_CACHE) diff -Nrcpad gcc-13.2.0/gcc/gimple-range-gori.cc gcc-13.3.0/gcc/gimple-range-gori.cc *** gcc-13.2.0/gcc/gimple-range-gori.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-range-gori.cc Tue May 21 07:47:38 2024 *************** gori_compute::logical_combine (vrange &r *** 835,840 **** --- 835,841 ---- r.dump (dump_file); fputc ('\n', dump_file); } + return res; } switch (code) diff -Nrcpad gcc-13.2.0/gcc/gimple-ssa-backprop.cc gcc-13.3.0/gcc/gimple-ssa-backprop.cc *** gcc-13.2.0/gcc/gimple-ssa-backprop.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-ssa-backprop.cc Tue May 21 07:47:38 2024 *************** strip_sign_op_1 (tree rhs) *** 694,700 **** switch (gimple_assign_rhs_code (assign)) { case ABS_EXPR: - case ABSU_EXPR: case NEGATE_EXPR: return gimple_assign_rhs1 (assign); --- 694,699 ---- diff -Nrcpad gcc-13.2.0/gcc/gimple-ssa-sprintf.cc gcc-13.3.0/gcc/gimple-ssa-sprintf.cc *** gcc-13.2.0/gcc/gimple-ssa-sprintf.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-ssa-sprintf.cc Tue May 21 07:47:38 2024 *************** format_character (const directive &dir, *** 2170,2177 **** res.knownrange = true; ! if (dir.specifier == 'C' ! || dir.modifier == FMT_LEN_l) { /* A wide character can result in as few as zero bytes. */ res.range.min = 0; --- 2170,2176 ---- res.knownrange = true; ! if (dir.specifier == 'C' || dir.modifier == FMT_LEN_l) { /* A wide character can result in as few as zero bytes. */ res.range.min = 0; *************** format_character (const directive &dir, *** 2182,2191 **** { if (min == 0 && max == 0) { ! /* The NUL wide character results in no bytes. */ ! res.range.max = 0; ! res.range.likely = 0; ! res.range.unlikely = 0; } else if (min >= 0 && min < 128) { --- 2181,2193 ---- { if (min == 0 && max == 0) { ! /* In strict reading of older ISO C or POSIX, this required ! no characters to be emitted. ISO C23 changes that, so ! does POSIX, to match what has been implemented in most of the ! implementations, namely emitting a single NUL character. ! Let's use 0 for minimum and 1 for all the other values. */ ! res.range.max = 1; ! res.range.likely = res.range.unlikely = 1; } else if (min >= 0 && min < 128) { *************** format_character (const directive &dir, *** 2193,2203 **** is not a 1-to-1 mapping to the source character set or if the source set is not ASCII. */ bool one_2_one_ascii ! = (target_to_host_charmap[0] == 1 && target_to_host ('a') == 97); /* A wide character in the ASCII range most likely results in a single byte, and only unlikely in up to MB_LEN_MAX. */ ! res.range.max = one_2_one_ascii ? 1 : target_mb_len_max ();; res.range.likely = 1; res.range.unlikely = target_mb_len_max (); res.mayfail = !one_2_one_ascii; --- 2195,2206 ---- is not a 1-to-1 mapping to the source character set or if the source set is not ASCII. */ bool one_2_one_ascii ! = (target_to_host_charmap[0] == 1 ! && target_to_host ('a') == 97); /* A wide character in the ASCII range most likely results in a single byte, and only unlikely in up to MB_LEN_MAX. */ ! res.range.max = one_2_one_ascii ? 1 : target_mb_len_max (); res.range.likely = 1; res.range.unlikely = target_mb_len_max (); res.mayfail = !one_2_one_ascii; *************** format_character (const directive &dir, *** 2228,2234 **** /* A plain '%c' directive. Its output is exactly 1. */ res.range.min = res.range.max = 1; res.range.likely = res.range.unlikely = 1; - res.knownrange = true; } /* Bump up the byte counters if WIDTH is greater. */ --- 2231,2236 ---- diff -Nrcpad gcc-13.2.0/gcc/gimple-ssa-store-merging.cc gcc-13.3.0/gcc/gimple-ssa-store-merging.cc *** gcc-13.2.0/gcc/gimple-ssa-store-merging.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-ssa-store-merging.cc Tue May 21 07:47:38 2024 *************** imm_store_chain_info::output_merged_stor *** 4605,4616 **** } else if ((BYTES_BIG_ENDIAN ? start_gap : end_gap) > 0) { ! const unsigned HOST_WIDE_INT imask ! = (HOST_WIDE_INT_1U << info->bitsize) - 1; tem = gimple_build (&seq, loc, BIT_AND_EXPR, TREE_TYPE (tem), tem, ! build_int_cst (TREE_TYPE (tem), ! imask)); } const HOST_WIDE_INT shift = (BYTES_BIG_ENDIAN ? end_gap : start_gap); --- 4605,4617 ---- } else if ((BYTES_BIG_ENDIAN ? start_gap : end_gap) > 0) { ! wide_int imask ! = wi::mask (info->bitsize, false, ! TYPE_PRECISION (TREE_TYPE (tem))); tem = gimple_build (&seq, loc, BIT_AND_EXPR, TREE_TYPE (tem), tem, ! wide_int_to_tree (TREE_TYPE (tem), ! imask)); } const HOST_WIDE_INT shift = (BYTES_BIG_ENDIAN ? end_gap : start_gap); diff -Nrcpad gcc-13.2.0/gcc/gimple-ssa-warn-access.cc gcc-13.3.0/gcc/gimple-ssa-warn-access.cc *** gcc-13.2.0/gcc/gimple-ssa-warn-access.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimple-ssa-warn-access.cc Tue May 21 07:47:38 2024 *************** new_delete_mismatch_p (const demangle_co *** 1700,1705 **** --- 1700,1706 ---- case DEMANGLE_COMPONENT_FUNCTION_PARAM: case DEMANGLE_COMPONENT_TEMPLATE_PARAM: + case DEMANGLE_COMPONENT_UNNAMED_TYPE: return newc.u.s_number.number != delc.u.s_number.number; case DEMANGLE_COMPONENT_CHARACTER: *************** private: *** 2142,2148 **** void check_dangling_uses (tree, tree, bool = false, bool = false); void check_dangling_uses (); void check_dangling_stores (); ! void check_dangling_stores (basic_block, hash_set &, auto_bitmap &); void warn_invalid_pointer (tree, gimple *, gimple *, tree, bool, bool = false); --- 2143,2149 ---- void check_dangling_uses (tree, tree, bool = false, bool = false); void check_dangling_uses (); void check_dangling_stores (); ! bool check_dangling_stores (basic_block, hash_set &); void warn_invalid_pointer (tree, gimple *, gimple *, tree, bool, bool = false); *************** pass_waccess::check_dangling_uses (tree *** 4525,4541 **** /* Diagnose stores in BB and (recursively) its predecessors of the addresses of local variables into nonlocal pointers that are left dangling after ! the function returns. BBS is a bitmap of basic blocks visited. */ ! void pass_waccess::check_dangling_stores (basic_block bb, ! hash_set &stores, ! auto_bitmap &bbs) { - if (!bitmap_set_bit (bbs, bb->index)) - /* Avoid cycles. */ - return; - /* Iterate backwards over the statements looking for a store of the address of a local variable into a nonlocal pointer. */ for (auto gsi = gsi_last_nondebug_bb (bb); ; gsi_prev_nondebug (&gsi)) --- 4526,4538 ---- /* Diagnose stores in BB and (recursively) its predecessors of the addresses of local variables into nonlocal pointers that are left dangling after ! the function returns. Returns true when we can continue walking ! the CFG to predecessors. */ ! bool pass_waccess::check_dangling_stores (basic_block bb, ! hash_set &stores) { /* Iterate backwards over the statements looking for a store of the address of a local variable into a nonlocal pointer. */ for (auto gsi = gsi_last_nondebug_bb (bb); ; gsi_prev_nondebug (&gsi)) *************** pass_waccess::check_dangling_stores (bas *** 4551,4557 **** && !(gimple_call_flags (stmt) & (ECF_CONST | ECF_PURE))) /* Avoid looking before nonconst, nonpure calls since those might use the escaped locals. */ ! return; if (!is_gimple_assign (stmt) || gimple_clobber_p (stmt) || !gimple_store_p (stmt)) --- 4548,4554 ---- && !(gimple_call_flags (stmt) & (ECF_CONST | ECF_PURE))) /* Avoid looking before nonconst, nonpure calls since those might use the escaped locals. */ ! return false; if (!is_gimple_assign (stmt) || gimple_clobber_p (stmt) || !gimple_store_p (stmt)) *************** pass_waccess::check_dangling_stores (bas *** 4577,4583 **** gimple *def_stmt = SSA_NAME_DEF_STMT (lhs_ref.ref); if (!gimple_nop_p (def_stmt)) /* Avoid looking at or before stores into unknown objects. */ ! return; lhs_ref.ref = SSA_NAME_VAR (lhs_ref.ref); } --- 4574,4580 ---- gimple *def_stmt = SSA_NAME_DEF_STMT (lhs_ref.ref); if (!gimple_nop_p (def_stmt)) /* Avoid looking at or before stores into unknown objects. */ ! return false; lhs_ref.ref = SSA_NAME_VAR (lhs_ref.ref); } *************** pass_waccess::check_dangling_stores (bas *** 4621,4633 **** } } ! edge e; ! edge_iterator ei; ! FOR_EACH_EDGE (e, ei, bb->preds) ! { ! basic_block pred = e->src; ! check_dangling_stores (pred, stores, bbs); ! } } /* Diagnose stores of the addresses of local variables into nonlocal --- 4618,4624 ---- } } ! return true; } /* Diagnose stores of the addresses of local variables into nonlocal *************** pass_waccess::check_dangling_stores (bas *** 4636,4644 **** void pass_waccess::check_dangling_stores () { auto_bitmap bbs; hash_set stores; ! check_dangling_stores (EXIT_BLOCK_PTR_FOR_FN (m_func), stores, bbs); } /* Check for and diagnose uses of dangling pointers to auto objects --- 4627,4658 ---- void pass_waccess::check_dangling_stores () { + if (EDGE_COUNT (EXIT_BLOCK_PTR_FOR_FN (m_func)->preds) == 0) + return; + auto_bitmap bbs; hash_set stores; ! auto_vec worklist (n_basic_blocks_for_fn (cfun) + 1); ! worklist.quick_push (ei_start (EXIT_BLOCK_PTR_FOR_FN (m_func)->preds)); ! do ! { ! edge_iterator ei = worklist.last (); ! basic_block src = ei_edge (ei)->src; ! if (bitmap_set_bit (bbs, src->index)) ! { ! if (check_dangling_stores (src, stores) ! && EDGE_COUNT (src->preds) > 0) ! worklist.quick_push (ei_start (src->preds)); ! } ! else ! { ! if (ei_one_before_end_p (ei)) ! worklist.pop (); ! else ! ei_next (&worklist.last ()); ! } ! } ! while (!worklist.is_empty ()); } /* Check for and diagnose uses of dangling pointers to auto objects diff -Nrcpad gcc-13.2.0/gcc/gimplify.cc gcc-13.3.0/gcc/gimplify.cc *** gcc-13.2.0/gcc/gimplify.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/gimplify.cc Tue May 21 07:47:38 2024 *************** gimplify_switch_expr (tree *expr_p, gimp *** 2764,2769 **** --- 2764,2770 ---- switch_stmt = gimple_build_switch (SWITCH_COND (switch_expr), default_case, labels); + gimple_set_location (switch_stmt, EXPR_LOCATION (switch_expr)); /* For the benefit of -Wimplicit-fallthrough, if switch_body_seq ends with a GIMPLE_LABEL holding SWITCH_BREAK_LABEL_P LABEL_DECL, wrap the GIMPLE_SWITCH up to that GIMPLE_LABEL into a GIMPLE_BIND, diff -Nrcpad gcc-13.2.0/gcc/go/ChangeLog gcc-13.3.0/gcc/go/ChangeLog *** gcc-13.2.0/gcc/go/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/go/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/graphite-sese-to-poly.cc gcc-13.3.0/gcc/graphite-sese-to-poly.cc *** gcc-13.2.0/gcc/graphite-sese-to-poly.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/graphite-sese-to-poly.cc Tue May 21 07:47:38 2024 *************** add_conditions_to_domain (poly_bb_p pbb) *** 391,398 **** { case GIMPLE_COND: { ! /* Don't constrain on anything else than INTEGER_TYPE. */ ! if (TREE_CODE (TREE_TYPE (gimple_cond_lhs (stmt))) != INTEGER_TYPE) break; gcond *cond_stmt = as_a (stmt); --- 391,399 ---- { case GIMPLE_COND: { ! /* Don't constrain on anything else than INTEGRAL_TYPE_P. */ ! tree cmp_type = TREE_TYPE (gimple_cond_lhs (stmt)); ! if (!INTEGRAL_TYPE_P (cmp_type)) break; gcond *cond_stmt = as_a (stmt); diff -Nrcpad gcc-13.2.0/gcc/input.cc gcc-13.3.0/gcc/input.cc *** gcc-13.2.0/gcc/input.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/input.cc Tue May 21 07:47:38 2024 *************** file_cache::evicted_cache_tab_entry (uns *** 443,449 **** accessed by caret diagnostic. This cache is added to an array of cache and can be retrieved by lookup_file_in_cache_tab. This function returns the created cache. Note that only the last ! num_file_slots files are cached. */ file_cache_slot* file_cache::add_file (const char *file_path) --- 443,452 ---- accessed by caret diagnostic. This cache is added to an array of cache and can be retrieved by lookup_file_in_cache_tab. This function returns the created cache. Note that only the last ! num_file_slots files are cached. ! ! This can return nullptr if the FILE_PATH can't be opened for ! reading, or if the content can't be converted to the input_charset. */ file_cache_slot* file_cache::add_file (const char *file_path) *************** file_cache::~file_cache () *** 547,553 **** /* Lookup the cache used for the content of a given file accessed by caret diagnostic. If no cached file was found, create a new cache for this file, add it to the array of cached file and return ! it. */ file_cache_slot* file_cache::lookup_or_add_file (const char *file_path) --- 550,559 ---- /* Lookup the cache used for the content of a given file accessed by caret diagnostic. If no cached file was found, create a new cache for this file, add it to the array of cached file and return ! it. ! ! This can return nullptr on a cache miss if FILE_PATH can't be opened for ! reading, or if the content can't be converted to the input_charset. */ file_cache_slot* file_cache::lookup_or_add_file (const char *file_path) *************** get_source_file_content (const char *fil *** 1071,1076 **** --- 1077,1084 ---- diagnostic_file_cache_init (); file_cache_slot *c = global_dc->m_file_cache->lookup_or_add_file (file_path); + if (c == nullptr) + return char_span (nullptr, 0); return c->get_full_file_content (); } diff -Nrcpad gcc-13.2.0/gcc/internal-fn.cc gcc-13.3.0/gcc/internal-fn.cc *** gcc-13.2.0/gcc/internal-fn.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/internal-fn.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 52,57 **** --- 52,59 ---- #include "explow.h" #include "rtl-iter.h" #include "gimple-range.h" + #include "tree-ssa-live.h" + #include "tree-outof-ssa.h" /* For lang_hooks.types.type_for_mode. */ #include "langhooks.h" *************** expand_mul_overflow (location_t loc, tre *** 1482,1488 **** --- 1484,1494 ---- rtx target = NULL_RTX; signop sign; enum insn_code icode; + int save_flag_trapv = flag_trapv; + /* We don't want any __mulv?i3 etc. calls from the expansion of + these internal functions, so disable -ftrapv temporarily. */ + flag_trapv = 0; done_label = gen_label_rtx (); do_error = gen_label_rtx (); *************** expand_mul_overflow (location_t loc, tre *** 2324,2329 **** --- 2330,2336 ---- else expand_arith_overflow_result_store (lhs, target, mode, res); } + flag_trapv = save_flag_trapv; } /* Expand UBSAN_CHECK_* internal function if it has vector operands. */ *************** expand_vector_ubsan_overflow (location_t *** 2344,2350 **** --- 2351,2361 ---- rtx resvr = NULL_RTX; unsigned HOST_WIDE_INT const_cnt = 0; bool use_loop_p = (!cnt.is_constant (&const_cnt) || const_cnt > 4); + int save_flag_trapv = flag_trapv; + /* We don't want any __mulv?i3 etc. calls from the expansion of + these internal functions, so disable -ftrapv temporarily. */ + flag_trapv = 0; if (lhs) { optab op; *************** expand_vector_ubsan_overflow (location_t *** 2474,2479 **** --- 2485,2491 ---- } else if (resvr) emit_move_insn (lhsr, resvr); + flag_trapv = save_flag_trapv; } /* Expand UBSAN_CHECK_ADD call STMT. */ *************** expand_arith_overflow (enum tree_code co *** 2552,2558 **** --- 2564,2574 ---- prec0 = MIN (prec0, pr); pr = get_min_precision (arg1, uns1_p ? UNSIGNED : SIGNED); prec1 = MIN (prec1, pr); + int save_flag_trapv = flag_trapv; + /* We don't want any __mulv?i3 etc. calls from the expansion of + these internal functions, so disable -ftrapv temporarily. */ + flag_trapv = 0; /* If uns0_p && uns1_p, precop is minimum needed precision of unsigned type to hold the exact result, otherwise precop is minimum needed precision of signed type to *************** expand_arith_overflow (enum tree_code co *** 2593,2598 **** --- 2609,2615 ---- ops.location = loc; rtx tem = expand_expr_real_2 (&ops, NULL_RTX, mode, EXPAND_NORMAL); expand_arith_overflow_result_store (lhs, target, mode, tem); + flag_trapv = save_flag_trapv; return; } *************** expand_arith_overflow (enum tree_code co *** 2616,2631 **** --- 2633,2651 ---- if (integer_zerop (arg0) && !unsr_p) { expand_neg_overflow (loc, lhs, arg1, false, NULL); + flag_trapv = save_flag_trapv; return; } /* FALLTHRU */ case PLUS_EXPR: expand_addsub_overflow (loc, code, lhs, arg0, arg1, unsr_p, unsr_p, unsr_p, false, NULL); + flag_trapv = save_flag_trapv; return; case MULT_EXPR: expand_mul_overflow (loc, lhs, arg0, arg1, unsr_p, unsr_p, unsr_p, false, NULL); + flag_trapv = save_flag_trapv; return; default: gcc_unreachable (); *************** expand_arith_overflow (enum tree_code co *** 2671,2676 **** --- 2691,2697 ---- else expand_mul_overflow (loc, lhs, arg0, arg1, unsr_p, uns0_p, uns1_p, false, NULL); + flag_trapv = save_flag_trapv; return; } *************** expand_call_mem_ref (tree type, gcall *s *** 2752,2759 **** tree tmp = addr; if (TREE_CODE (tmp) == SSA_NAME) { ! gimple *def = SSA_NAME_DEF_STMT (tmp); ! if (gimple_assign_single_p (def)) tmp = gimple_assign_rhs1 (def); } --- 2773,2780 ---- tree tmp = addr; if (TREE_CODE (tmp) == SSA_NAME) { ! gimple *def = get_gimple_for_ssa_name (tmp); ! if (def && gimple_assign_single_p (def)) tmp = gimple_assign_rhs1 (def); } diff -Nrcpad gcc-13.2.0/gcc/ipa-cp.cc gcc-13.3.0/gcc/ipa-cp.cc *** gcc-13.2.0/gcc/ipa-cp.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-cp.cc Tue May 21 07:47:38 2024 *************** ipcp_lattice::is_single_const ( *** 458,464 **** /* Return true iff X and Y should be considered equal values by IPA-CP. */ ! static bool values_equal_for_ipcp_p (tree x, tree y) { gcc_checking_assert (x != NULL_TREE && y != NULL_TREE); --- 458,464 ---- /* Return true iff X and Y should be considered equal values by IPA-CP. */ ! bool values_equal_for_ipcp_p (tree x, tree y) { gcc_checking_assert (x != NULL_TREE && y != NULL_TREE); diff -Nrcpad gcc-13.2.0/gcc/ipa-icf-gimple.cc gcc-13.3.0/gcc/ipa-icf-gimple.cc *** gcc-13.2.0/gcc/ipa-icf-gimple.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-icf-gimple.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 39,47 **** --- 39,52 ---- #include "cfgloop.h" #include "attribs.h" #include "gimple-walk.h" + #include "tree-sra.h" #include "tree-ssa-alias-compare.h" + #include "alloc-pool.h" + #include "symbol-summary.h" #include "ipa-icf-gimple.h" + #include "sreal.h" + #include "ipa-prop.h" namespace ipa_icf_gimple { *************** func_checker::func_checker (tree source_ *** 59,65 **** : m_source_func_decl (source_func_decl), m_target_func_decl (target_func_decl), m_ignored_source_nodes (ignored_source_nodes), m_ignored_target_nodes (ignored_target_nodes), ! m_ignore_labels (ignore_labels), m_tbaa (tbaa) { function *source_func = DECL_STRUCT_FUNCTION (source_func_decl); function *target_func = DECL_STRUCT_FUNCTION (target_func_decl); --- 64,71 ---- : m_source_func_decl (source_func_decl), m_target_func_decl (target_func_decl), m_ignored_source_nodes (ignored_source_nodes), m_ignored_target_nodes (ignored_target_nodes), ! m_ignore_labels (ignore_labels), m_tbaa (tbaa), ! m_total_scalarization_limit_known_p (false) { function *source_func = DECL_STRUCT_FUNCTION (source_func_decl); function *target_func = DECL_STRUCT_FUNCTION (target_func_decl); *************** func_checker::operand_equal_p (const_tre *** 356,361 **** --- 362,397 ---- return operand_compare::operand_equal_p (t1, t2, flags); } + /* Return true if either T1 and T2 cannot be totally scalarized or if doing + so would result in copying the same memory. Otherwise return false. */ + + bool + func_checker::safe_for_total_scalarization_p (tree t1, tree t2) + { + tree type1 = TREE_TYPE (t1); + tree type2 = TREE_TYPE (t2); + + if (!AGGREGATE_TYPE_P (type1) + || !AGGREGATE_TYPE_P (type2) + || !tree_fits_uhwi_p (TYPE_SIZE (type1)) + || !tree_fits_uhwi_p (TYPE_SIZE (type2))) + return true; + + if (!m_total_scalarization_limit_known_p) + { + push_cfun (DECL_STRUCT_FUNCTION (m_target_func_decl)); + m_total_scalarization_limit = sra_get_max_scalarization_size (); + pop_cfun (); + m_total_scalarization_limit_known_p = true; + } + + unsigned HOST_WIDE_INT sz = tree_to_uhwi (TYPE_SIZE (type1)); + gcc_assert (sz == tree_to_uhwi (TYPE_SIZE (type2))); + if (sz > m_total_scalarization_limit) + return true; + return sra_total_scalarization_would_copy_same_data_p (type1, type2); + } + /* Function responsible for comparison of various operands T1 and T2 which are accessed as ACCESS. If these components, from functions FUNC1 and FUNC2, are equal, true *************** func_checker::compare_operand (tree t1, *** 377,383 **** lto_streaming_expected_p (), m_tbaa); if (!flags) ! return true; if (flags & SEMANTICS) return return_false_with_msg ("compare_ao_refs failed (semantic difference)"); --- 413,424 ---- lto_streaming_expected_p (), m_tbaa); if (!flags) ! { ! if (!safe_for_total_scalarization_p (t1, t2)) ! return return_false_with_msg ! ("total scalarization may not be equivalent"); ! return true; ! } if (flags & SEMANTICS) return return_false_with_msg ("compare_ao_refs failed (semantic difference)"); *************** func_checker::compare_gimple_call (gcall *** 714,719 **** --- 755,785 ---- && !compatible_types_p (TREE_TYPE (t1), TREE_TYPE (t2))) return return_false_with_msg ("GIMPLE internal call LHS type mismatch"); + if (!gimple_call_internal_p (s1)) + { + cgraph_edge *e1 = cgraph_node::get (m_source_func_decl)->get_edge (s1); + cgraph_edge *e2 = cgraph_node::get (m_target_func_decl)->get_edge (s2); + class ipa_edge_args *args1 = ipa_edge_args_sum->get (e1); + class ipa_edge_args *args2 = ipa_edge_args_sum->get (e2); + if ((args1 != nullptr) != (args2 != nullptr)) + return return_false_with_msg ("ipa_edge_args mismatch"); + if (args1) + { + int n1 = ipa_get_cs_argument_count (args1); + int n2 = ipa_get_cs_argument_count (args2); + if (n1 != n2) + return return_false_with_msg ("ipa_edge_args nargs mismatch"); + for (int i = 0; i < n1; i++) + { + struct ipa_jump_func *jf1 = ipa_get_ith_jump_func (args1, i); + struct ipa_jump_func *jf2 = ipa_get_ith_jump_func (args2, i); + if (((jf1 != nullptr) != (jf2 != nullptr)) + || (jf1 && !ipa_jump_functions_equivalent_p (jf1, jf2))) + return return_false_with_msg ("jump function mismatch"); + } + } + } + return compare_operand (t1, t2, get_operand_access_type (&map, t1)); } diff -Nrcpad gcc-13.2.0/gcc/ipa-icf-gimple.h gcc-13.3.0/gcc/ipa-icf-gimple.h *** gcc-13.2.0/gcc/ipa-icf-gimple.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-icf-gimple.h Tue May 21 07:47:38 2024 *************** public: *** 125,131 **** func_checker (): m_source_func_decl (NULL_TREE), m_target_func_decl (NULL_TREE), m_ignored_source_nodes (NULL), m_ignored_target_nodes (NULL), ! m_ignore_labels (false), m_tbaa (true) { m_source_ssa_names.create (0); m_target_ssa_names.create (0); --- 125,132 ---- func_checker (): m_source_func_decl (NULL_TREE), m_target_func_decl (NULL_TREE), m_ignored_source_nodes (NULL), m_ignored_target_nodes (NULL), ! m_ignore_labels (false), m_tbaa (true), ! m_total_scalarization_limit_known_p (false) { m_source_ssa_names.create (0); m_target_ssa_names.create (0); *************** public: *** 205,210 **** --- 206,215 ---- enum operand_access_type {OP_MEMORY, OP_NORMAL}; typedef hash_set operand_access_type_map; + /* Return true if either T1 and T2 cannot be totally scalarized or if doing + so would result in copying the same memory. Otherwise return false. */ + bool safe_for_total_scalarization_p (tree t1, tree t2); + /* Function responsible for comparison of various operands T1 and T2. If these components, from functions FUNC1 and FUNC2, are equal, true is returned. */ *************** private: *** 279,284 **** --- 284,297 ---- /* Flag if we should compare type based alias analysis info. */ bool m_tbaa; + /* Set to true when total scalarization size has already been determined for + the functions. */ + bool m_total_scalarization_limit_known_p; + + /* When the above it set to true the determiend total scalarization + limit. */ + unsigned HOST_WIDE_INT m_total_scalarization_limit; + public: /* Return true if two operands are equal. The flags fields can be used to specify OEP flags described above. */ diff -Nrcpad gcc-13.2.0/gcc/ipa-icf.cc gcc-13.3.0/gcc/ipa-icf.cc *** gcc-13.2.0/gcc/ipa-icf.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-icf.cc Tue May 21 07:47:38 2024 *************** sem_item_optimizer::merge_classes (unsig *** 3389,3394 **** --- 3389,3395 ---- continue; sem_item *source = c->members[0]; + bool this_merged_p = false; if (DECL_NAME (source->decl) && MAIN_NAME_P (DECL_NAME (source->decl))) *************** sem_item_optimizer::merge_classes (unsig *** 3435,3441 **** if (dbg_cnt (merged_ipa_icf)) { bool merged = source->merge (alias); ! merged_p |= merged; if (merged && alias->type == VAR) { --- 3436,3442 ---- if (dbg_cnt (merged_ipa_icf)) { bool merged = source->merge (alias); ! this_merged_p |= merged; if (merged && alias->type == VAR) { *************** sem_item_optimizer::merge_classes (unsig *** 3444,3449 **** --- 3445,3479 ---- } } } + + merged_p |= this_merged_p; + if (this_merged_p + && source->type == FUNC + && (!flag_wpa || flag_checking)) + { + unsigned i; + tree name; + FOR_EACH_SSA_NAME (i, name, DECL_STRUCT_FUNCTION (source->decl)) + { + /* We need to either merge or reset SSA_NAME_*_INFO. + For merging we don't preserve the mapping between + original and alias SSA_NAMEs from successful equals + calls. */ + if (POINTER_TYPE_P (TREE_TYPE (name))) + { + if (SSA_NAME_PTR_INFO (name)) + { + gcc_checking_assert (!flag_wpa); + SSA_NAME_PTR_INFO (name) = NULL; + } + } + else if (SSA_NAME_RANGE_INFO (name)) + { + gcc_checking_assert (!flag_wpa); + SSA_NAME_RANGE_INFO (name) = NULL; + } + } + } } if (!m_merged_variables.is_empty ()) diff -Nrcpad gcc-13.2.0/gcc/ipa-param-manipulation.cc gcc-13.3.0/gcc/ipa-param-manipulation.cc *** gcc-13.2.0/gcc/ipa-param-manipulation.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-param-manipulation.cc Tue May 21 07:47:38 2024 *************** isra_get_ref_base_and_offset (tree expr, *** 593,606 **** return true; } /* Modify actual arguments of a function call in statement currently belonging to CS, and make it call CS->callee->decl. Return the new statement that replaced the old one. When invoked, cfun and current_function_decl have to ! be set to the caller. */ gcall * ipa_param_adjustments::modify_call (cgraph_edge *cs, ! bool update_references) { gcall *stmt = cs->call_stmt; tree callee_decl = cs->callee->decl; --- 593,657 ---- return true; } + /* Remove all statements that use NAME directly or indirectly. KILLED_SSAS + contains the SSA_NAMEs that are already being or have been processed and new + ones need to be added to it. The function only has to process situations + handled by ssa_name_only_returned_p in ipa-sra.cc with the exception that it + can assume it must never reach a use in a return statement. */ + + static void + purge_all_uses (tree name, hash_set *killed_ssas) + { + imm_use_iterator imm_iter; + gimple *stmt; + auto_vec worklist; + + worklist.safe_push (name); + while (!worklist.is_empty ()) + { + tree cur_name = worklist.pop (); + FOR_EACH_IMM_USE_STMT (stmt, imm_iter, cur_name) + { + if (gimple_debug_bind_p (stmt)) + { + /* When runing within tree-inline, we will never end up here but + adding the SSAs to killed_ssas will do the trick in this case + and the respective debug statements will get reset. */ + gimple_debug_bind_reset_value (stmt); + update_stmt (stmt); + continue; + } + + tree lhs = NULL_TREE; + if (is_gimple_assign (stmt)) + lhs = gimple_assign_lhs (stmt); + else if (gimple_code (stmt) == GIMPLE_PHI) + lhs = gimple_phi_result (stmt); + gcc_assert (lhs + && (TREE_CODE (lhs) == SSA_NAME) + && !gimple_vdef (stmt)); + if (!killed_ssas->add (lhs)) + { + worklist.safe_push (lhs); + gimple_stmt_iterator gsi = gsi_for_stmt (stmt); + gsi_remove (&gsi, true); + } + } + } + } + /* Modify actual arguments of a function call in statement currently belonging to CS, and make it call CS->callee->decl. Return the new statement that replaced the old one. When invoked, cfun and current_function_decl have to ! be set to the caller. When called from within tree-inline, KILLED_SSAs has ! to contain the pointer to killed_new_ssa_names within the copy_body_data ! structure and SSAs discovered to be useless (if LHS is removed) will be ! added to it, otherwise it needs to be NULL. */ gcall * ipa_param_adjustments::modify_call (cgraph_edge *cs, ! bool update_references, ! hash_set *killed_ssas) { gcall *stmt = cs->call_stmt; tree callee_decl = cs->callee->decl; *************** ipa_param_adjustments::modify_call (cgra *** 687,692 **** --- 738,749 ---- } if (repl) { + if (!useless_type_conversion_p(apm->type, repl->typed.type)) + { + repl = force_value_to_type (apm->type, repl); + repl = force_gimple_operand_gsi (&gsi, repl, + true, NULL, true, GSI_SAME_STMT); + } vargs.quick_push (repl); continue; } *************** ipa_param_adjustments::modify_call (cgra *** 910,941 **** gcall *new_stmt = gimple_build_call_vec (callee_decl, vargs); ! tree ssa_to_remove = NULL; if (tree lhs = gimple_call_lhs (stmt)) { if (!m_skip_return) gimple_call_set_lhs (new_stmt, lhs); else if (TREE_CODE (lhs) == SSA_NAME) { ! /* LHS should now by a default-def SSA. Unfortunately default-def ! SSA_NAMEs need a backing variable (or at least some code examining ! SSAs assumes it is non-NULL). So we either have to re-use the ! decl we have at hand or introdice a new one. */ ! tree repl = create_tmp_var (TREE_TYPE (lhs), "removed_return"); ! repl = get_or_create_ssa_default_def (cfun, repl); ! SSA_NAME_IS_DEFAULT_DEF (repl) = true; ! imm_use_iterator ui; ! use_operand_p use_p; ! gimple *using_stmt; ! FOR_EACH_IMM_USE_STMT (using_stmt, ui, lhs) { ! FOR_EACH_IMM_USE_ON_STMT (use_p, ui) ! { ! SET_USE (use_p, repl); ! } ! update_stmt (using_stmt); } ! ssa_to_remove = lhs; } } --- 967,986 ---- gcall *new_stmt = gimple_build_call_vec (callee_decl, vargs); ! hash_set *ssas_to_remove = NULL; if (tree lhs = gimple_call_lhs (stmt)) { if (!m_skip_return) gimple_call_set_lhs (new_stmt, lhs); else if (TREE_CODE (lhs) == SSA_NAME) { ! if (!killed_ssas) { ! ssas_to_remove = new hash_set (8); ! killed_ssas = ssas_to_remove; } ! killed_ssas->add (lhs); ! purge_all_uses (lhs, killed_ssas); } } *************** ipa_param_adjustments::modify_call (cgra *** 954,961 **** fprintf (dump_file, "\n"); } gsi_replace (&gsi, new_stmt, true); ! if (ssa_to_remove) ! release_ssa_name (ssa_to_remove); if (update_references) do { --- 999,1009 ---- fprintf (dump_file, "\n"); } gsi_replace (&gsi, new_stmt, true); ! if (ssas_to_remove) ! { ! ipa_release_ssas_in_hash (ssas_to_remove); ! delete ssas_to_remove; ! } if (update_references) do { *************** ipa_param_body_adjustments::common_initi *** 1442,1447 **** --- 1490,1511 ---- replacement with a constant (for split aggregates passed by value). */ + if (split[parm_num]) + { + /* We must be careful not to add a duplicate + replacement. */ + sort_replacements (); + ipa_param_body_replacement *pbr + = lookup_replacement_1 (m_oparms[parm_num], + av.unit_offset); + if (pbr) + { + /* Otherwise IPA-SRA should have bailed out. */ + gcc_assert (AGGREGATE_TYPE_P (TREE_TYPE (pbr->repl))); + continue; + } + } + tree repl; if (av.by_ref) repl = av.value; *************** ipa_edge_modifications_finalize () *** 2502,2505 **** --- 2566,2595 ---- ipa_edge_modifications = NULL; } + /* Helper used to sort a vector of SSA_NAMES. */ + static int + compare_ssa_versions (const void *va, const void *vb) + { + const_tree const a = *(const_tree const*)va; + const_tree const b = *(const_tree const*)vb; + + if (SSA_NAME_VERSION (a) < SSA_NAME_VERSION (b)) + return -1; + if (SSA_NAME_VERSION (a) > SSA_NAME_VERSION (b)) + return 1; + return 0; + } + + /* Call release_ssa_name on all elements in KILLED_SSAS in a defined order. */ + + void + ipa_release_ssas_in_hash (hash_set *killed_ssas) + { + auto_vec ssas_to_release; + for (tree sn : *killed_ssas) + ssas_to_release.safe_push (sn); + ssas_to_release.qsort (compare_ssa_versions); + for (tree sn : ssas_to_release) + release_ssa_name (sn); + } diff -Nrcpad gcc-13.2.0/gcc/ipa-param-manipulation.h gcc-13.3.0/gcc/ipa-param-manipulation.h *** gcc-13.2.0/gcc/ipa-param-manipulation.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-param-manipulation.h Tue May 21 07:47:38 2024 *************** public: *** 224,230 **** /* Modify a call statement arguments (and possibly remove the return value) as described in the data fields of this class. */ ! gcall *modify_call (cgraph_edge *cs, bool update_references); /* Return if the first parameter is left intact. */ bool first_param_intact_p (); /* Build a function type corresponding to the modified call. */ --- 224,231 ---- /* Modify a call statement arguments (and possibly remove the return value) as described in the data fields of this class. */ ! gcall *modify_call (cgraph_edge *cs, bool update_references, ! hash_set *killed_ssas); /* Return if the first parameter is left intact. */ bool first_param_intact_p (); /* Build a function type corresponding to the modified call. */ *************** void push_function_arg_decls (vec *** 440,445 **** void push_function_arg_types (vec *types, tree fntype); void ipa_verify_edge_has_no_modifications (cgraph_edge *cs); void ipa_edge_modifications_finalize (); ! #endif /* IPA_PARAM_MANIPULATION_H */ --- 441,446 ---- void push_function_arg_types (vec *types, tree fntype); void ipa_verify_edge_has_no_modifications (cgraph_edge *cs); void ipa_edge_modifications_finalize (); ! void ipa_release_ssas_in_hash (hash_set *killed_ssas); #endif /* IPA_PARAM_MANIPULATION_H */ diff -Nrcpad gcc-13.2.0/gcc/ipa-prop.cc gcc-13.3.0/gcc/ipa-prop.cc *** gcc-13.2.0/gcc/ipa-prop.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-prop.cc Tue May 21 07:47:38 2024 *************** ipcp_transform_function (struct cgraph_n *** 6022,6026 **** --- 6022,6183 ---- return modified_mem_access ? TODO_update_ssa_only_virtuals : 0; } + /* Return true if the two pass_through components of two jump functions are + known to be equivalent. AGG_JF denotes whether they are part of aggregate + functions or not. The function can be used before the IPA phase of IPA-CP + or inlining because it cannot cope with refdesc changes these passes can + carry out. */ + + static bool + ipa_agg_pass_through_jf_equivalent_p (ipa_pass_through_data *ipt1, + ipa_pass_through_data *ipt2, + bool agg_jf) + + { + gcc_assert (agg_jf || + (!ipt1->refdesc_decremented && !ipt2->refdesc_decremented)); + if (ipt1->operation != ipt2->operation + || ipt1->formal_id != ipt2->formal_id + || (!agg_jf && (ipt1->agg_preserved != ipt2->agg_preserved))) + return false; + if (((ipt1->operand != NULL_TREE) != (ipt2->operand != NULL_TREE)) + || (ipt1->operand + && !values_equal_for_ipcp_p (ipt1->operand, ipt2->operand))) + return false; + return true; + } + + /* Return true if the two aggregate jump functions are known to be equivalent. + The function can be used before the IPA phase of IPA-CP or inlining because + it cannot cope with refdesc changes these passes can carry out. */ + + static bool + ipa_agg_jump_functions_equivalent_p (ipa_agg_jf_item *ajf1, + ipa_agg_jf_item *ajf2) + { + if (ajf1->offset != ajf2->offset + || ajf1->jftype != ajf2->jftype + || !types_compatible_p (ajf1->type, ajf2->type)) + return false; + + switch (ajf1->jftype) + { + case IPA_JF_CONST: + if (!values_equal_for_ipcp_p (ajf1->value.constant, + ajf2->value.constant)) + return false; + break; + case IPA_JF_PASS_THROUGH: + { + ipa_pass_through_data *ipt1 = &ajf1->value.pass_through; + ipa_pass_through_data *ipt2 = &ajf2->value.pass_through; + if (!ipa_agg_pass_through_jf_equivalent_p (ipt1, ipt2, true)) + return false; + } + break; + case IPA_JF_LOAD_AGG: + { + ipa_load_agg_data *ila1 = &ajf1->value.load_agg; + ipa_load_agg_data *ila2 = &ajf2->value.load_agg; + if (!ipa_agg_pass_through_jf_equivalent_p (&ila1->pass_through, + &ila2->pass_through, true)) + return false; + if (ila1->offset != ila2->offset + || ila1->by_ref != ila2->by_ref + || !types_compatible_p (ila1->type, ila2->type)) + return false; + } + break; + default: + gcc_unreachable (); + } + return true; + } + + /* Return true if the two jump functions are known to be equivalent. The + function can be used before the IPA phase of IPA-CP or inlining because it + cannot cope with refdesc changes these passes can carry out. */ + + bool + ipa_jump_functions_equivalent_p (ipa_jump_func *jf1, ipa_jump_func *jf2) + { + if (jf1->type != jf2->type) + return false; + + switch (jf1->type) + { + case IPA_JF_UNKNOWN: + break; + case IPA_JF_CONST: + { + tree cst1 = ipa_get_jf_constant (jf1); + tree cst2 = ipa_get_jf_constant (jf2); + if (!values_equal_for_ipcp_p (cst1, cst2)) + return false; + + ipa_cst_ref_desc *rd1 = jfunc_rdesc_usable (jf1); + ipa_cst_ref_desc *rd2 = jfunc_rdesc_usable (jf2); + if (rd1 && rd2) + { + gcc_assert (rd1->refcount == 1 + && rd2->refcount == 1); + gcc_assert (!rd1->next_duplicate && !rd2->next_duplicate); + } + else if (rd1) + return false; + else if (rd2) + return false; + } + break; + case IPA_JF_PASS_THROUGH: + { + ipa_pass_through_data *ipt1 = &jf1->value.pass_through; + ipa_pass_through_data *ipt2 = &jf2->value.pass_through; + if (!ipa_agg_pass_through_jf_equivalent_p (ipt1, ipt2, false)) + return false; + } + break; + case IPA_JF_ANCESTOR: + { + ipa_ancestor_jf_data *ia1 = &jf1->value.ancestor; + ipa_ancestor_jf_data *ia2 = &jf2->value.ancestor; + + if (ia1->formal_id != ia2->formal_id + || ia1->agg_preserved != ia2->agg_preserved + || ia1->keep_null != ia2->keep_null + || ia1->offset != ia2->offset) + return false; + } + break; + default: + gcc_unreachable (); + } + + if (((jf1->bits != nullptr) != (jf2->bits != nullptr)) + || (jf1->bits && ((jf1->bits->value != jf2->bits->value) + || (jf1->bits->mask != jf2->bits->mask)))) + return false; + + if (((jf1->m_vr != nullptr) != (jf2->m_vr != nullptr)) + || (jf1->m_vr && *jf1->m_vr != *jf2->m_vr)) + return false; + + unsigned alen = vec_safe_length (jf1->agg.items); + if (vec_safe_length (jf2->agg.items) != alen) + return false; + + if (!alen) + return true; + + if (jf1->agg.by_ref != jf2->agg.by_ref) + return false; + + for (unsigned i = 0 ; i < alen; i++) + if (!ipa_agg_jump_functions_equivalent_p (&(*jf1->agg.items)[i], + &(*jf2->agg.items)[i])) + return false; + + return true; + } #include "gt-ipa-prop.h" diff -Nrcpad gcc-13.2.0/gcc/ipa-prop.h gcc-13.3.0/gcc/ipa-prop.h *** gcc-13.2.0/gcc/ipa-prop.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/ipa-prop.h Tue May 21 07:47:38 2024 *************** bool ipcp_get_parm_bits (tree, tree *, w *** 1194,1204 **** --- 1194,1207 ---- bool unadjusted_ptr_and_unit_offset (tree op, tree *ret, poly_int64 *offset_ret); + bool ipa_jump_functions_equivalent_p (ipa_jump_func *jf1, ipa_jump_func *jf2); + /* From tree-sra.cc: */ tree build_ref_for_offset (location_t, tree, poly_int64, bool, tree, gimple_stmt_iterator *, bool); /* In ipa-cp.cc */ void ipa_cp_cc_finalize (void); + bool values_equal_for_ipcp_p (tree x, tree y); #endif /* IPA_PROP_H */ diff -Nrcpad gcc-13.2.0/gcc/jit/ChangeLog gcc-13.3.0/gcc/jit/ChangeLog *** gcc-13.2.0/gcc/jit/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/jit/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,24 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-09 Vibhav Pant + + Backported from master: + 2023-10-25 Vibhav Pant + + * jit-recording.cc (recording::global::write_to_dump): Fix + dump of string literal initializers. + + 2024-04-05 Iain Sandoe + + Backported from master: + 2024-04-02 Iain Sandoe + + * Make-lang.in: Implement exports list, and use a shared + libgcc. + * libgccjit.exports: New file. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/jit/Make-lang.in gcc-13.3.0/gcc/jit/Make-lang.in *** gcc-13.2.0/gcc/jit/Make-lang.in Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/jit/Make-lang.in Tue May 21 07:47:38 2024 *************** else *** 55,61 **** ifneq (,$(findstring darwin,$(host))) ! LIBGCCJIT_AGE = 1 LIBGCCJIT_BASENAME = libgccjit LIBGCCJIT_SONAME = \ --- 55,71 ---- ifneq (,$(findstring darwin,$(host))) ! # NOTE that we are building here for the host, and so tests for target- ! # specific functionality will only work when host == target. This causes ! # fails when building cross-compilers with different object formats (at ! # least when the respective linkers do not accept the same command line ! # options). Fortunately, for Darwin we can safely hard-code the relevant ! # host options, since all usable linkers support them). ! ! LIBGCCJIT_CURRENT = 24 ! LIBGCCJIT_REVISION = 0 ! LIBGCCJIT_AGE = 24 ! LIBGCCJIT_COMPAT = 0 LIBGCCJIT_BASENAME = libgccjit LIBGCCJIT_SONAME = \ *************** LIBGCCJIT_SONAME = \ *** 63,80 **** LIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib LIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib ! # Conditionalize the use of the LD_VERSION_SCRIPT_OPTION and ! # LD_SONAME_OPTION depending if configure found them, using $(if) ! # We have to define a COMMA here, otherwise the commas in the "true" ! # result are treated as separators by the $(if). COMMA := , LIBGCCJIT_VERSION_SCRIPT_OPTION = \ ! $(if $(LD_VERSION_SCRIPT_OPTION),\ ! -Wl$(COMMA)$(LD_VERSION_SCRIPT_OPTION)$(COMMA)$(srcdir)/jit/libgccjit.map) LIBGCCJIT_SONAME_OPTION = \ ! $(if $(LD_SONAME_OPTION), \ ! -Wl$(COMMA)$(LD_SONAME_OPTION)$(COMMA)$(LIBGCCJIT_SONAME)) LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME) LIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME) --- 73,90 ---- LIBGCCJIT_FILENAME = $(LIBGCCJIT_BASENAME).$(LIBGCCJIT_VERSION_NUM).dylib LIBGCCJIT_LINKER_NAME = $(LIBGCCJIT_BASENAME).dylib ! # Darwin does not have a version script option. Exported symbols are controlled ! # by the following, and library versioning is done using libtool. ! # We have to define a COMMA here, otherwise the commas are treated as ! # separators. COMMA := , LIBGCCJIT_VERSION_SCRIPT_OPTION = \ ! -Wl$(COMMA)-exported_symbols_list$(COMMA)$(srcdir)/jit/libgccjit.exports + # For Darwin host, we need a l64 or ld64-compatible linker, that uses + # -install_name to introduce this. LIBGCCJIT_SONAME_OPTION = \ ! -Wl$(COMMA)-install_name$(COMMA)$(LIBGCCJIT_SONAME) LIBGCCJIT_SONAME_SYMLINK = $(LIBGCCJIT_FILENAME) LIBGCCJIT_LINKER_NAME_SYMLINK = $(LIBGCCJIT_LINKER_NAME) *************** ifneq (,$(findstring mingw,$(target))) *** 143,157 **** # Create import library LIBGCCJIT_EXTRA_OPTS = -Wl,--out-implib,$(LIBGCCJIT_IMPORT_LIB) else - ifneq (,$(findstring darwin,$(host))) ! # TODO : Construct a Darwin-style symbol export file. ! LIBGCCJIT_EXTRA_OPTS = -Wl,-compatibility_version,$(LIBGCCJIT_VERSION_NUM) \ ! -Wl,-current_version,$(LIBGCCJIT_VERSION_NUM).$(LIBGCCJIT_MINOR_NUM).$(LIBGCCJIT_AGE) \ ! $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \ ! $(LIBGCCJIT_SONAME_OPTION) else ! LIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \ $(LIBGCCJIT_SONAME_OPTION) endif --- 153,170 ---- # Create import library LIBGCCJIT_EXTRA_OPTS = -Wl,--out-implib,$(LIBGCCJIT_IMPORT_LIB) else ifneq (,$(findstring darwin,$(host))) ! LIBGCCJIT_VERS = $(LIBGCCJIT_CURRENT).$(LIBGCCJIT_REVISION).$(LIBGCCJIT_AGE) ! LIBGCCJIT_EXTRA_OPTS = -Wl,-current_version,$(LIBGCCJIT_VERS) \ ! -Wl,-compatibility_version,$(LIBGCCJIT_COMPAT) \ ! $(LIBGCCJIT_VERSION_SCRIPT_OPTION) $(LIBGCCJIT_SONAME_OPTION) ! # Use the default (shared) libgcc. ! JIT_LDFLAGS = $(filter-out -static-libgcc, $(LDFLAGS)) ! ifeq (,$(findstring darwin8,$(host))) ! JIT_LDFLAGS += -Wl,-rpath,@loader_path ! endif else ! JIT_LDFLAGS = $(LDFLAGS) LIBGCCJIT_EXTRA_OPTS = $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \ $(LIBGCCJIT_SONAME_OPTION) endif *************** $(LIBGCCJIT_FILENAME): $(jit_OBJS) \ *** 170,176 **** $(LIBDEPS) $(srcdir)/jit/libgccjit.map \ $(EXTRA_GCC_OBJS_EXCLUSIVE) $(jit.prev) @$(call LINK_PROGRESS,$(INDEX.jit),start) ! +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ -shared \ $(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \ $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \ $(EXTRA_GCC_OBJS_EXCLUSIVE) \ --- 183,189 ---- $(LIBDEPS) $(srcdir)/jit/libgccjit.map \ $(EXTRA_GCC_OBJS_EXCLUSIVE) $(jit.prev) @$(call LINK_PROGRESS,$(INDEX.jit),start) ! +$(LLINKER) $(ALL_LINKERFLAGS) $(JIT_LDFLAGS) -o $@ -shared \ $(jit_OBJS) libbackend.a libcommon-target.a libcommon.a \ $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \ $(EXTRA_GCC_OBJS_EXCLUSIVE) \ diff -Nrcpad gcc-13.2.0/gcc/jit/jit-recording.cc gcc-13.3.0/gcc/jit/jit-recording.cc *** gcc-13.2.0/gcc/jit/jit-recording.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/jit/jit-recording.cc Tue May 21 07:47:38 2024 *************** recording::global::write_to_dump (dump & *** 4919,4925 **** else if (m_rvalue_init) { d.write (" = "); ! d.write (m_rvalue_init->get_debug_string ()); d.write (";\n"); } --- 4919,4925 ---- else if (m_rvalue_init) { d.write (" = "); ! d.write ("%s", m_rvalue_init->get_debug_string ()); d.write (";\n"); } diff -Nrcpad gcc-13.2.0/gcc/jit/libgccjit.exports gcc-13.3.0/gcc/jit/libgccjit.exports *** gcc-13.2.0/gcc/jit/libgccjit.exports Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/jit/libgccjit.exports Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,219 ---- + # Linker export list for Darwin libgccjit.dylib + + # Contributed by Iain Sandoe . + # + # 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 + # . */ + + # The initial release of the library. + # Keep this list sorted alphabetically: + _gcc_jit_block_add_assignment + _gcc_jit_block_add_assignment_op + _gcc_jit_block_add_comment + _gcc_jit_block_add_eval + _gcc_jit_block_as_object + _gcc_jit_block_end_with_conditional + _gcc_jit_block_end_with_jump + _gcc_jit_block_end_with_return + _gcc_jit_block_end_with_void_return + _gcc_jit_block_get_function + _gcc_jit_context_acquire + _gcc_jit_context_compile + _gcc_jit_context_compile_to_file + _gcc_jit_context_dump_to_file + _gcc_jit_context_dump_reproducer_to_file + _gcc_jit_context_enable_dump + _gcc_jit_context_get_builtin_function + _gcc_jit_context_get_first_error + _gcc_jit_context_get_last_error + _gcc_jit_context_get_type + _gcc_jit_context_get_int_type + _gcc_jit_context_new_array_access + _gcc_jit_context_new_array_type + _gcc_jit_context_new_binary_op + _gcc_jit_context_new_call + _gcc_jit_context_new_call_through_ptr + _gcc_jit_context_new_cast + _gcc_jit_context_new_child_context + _gcc_jit_context_new_comparison + _gcc_jit_context_new_field + _gcc_jit_context_new_function + _gcc_jit_context_new_function_ptr_type + _gcc_jit_context_new_global + _gcc_jit_context_new_location + _gcc_jit_context_new_opaque_struct + _gcc_jit_context_new_param + _gcc_jit_context_new_rvalue_from_double + _gcc_jit_context_new_rvalue_from_int + _gcc_jit_context_new_rvalue_from_long + _gcc_jit_context_new_rvalue_from_ptr + _gcc_jit_context_new_string_literal + _gcc_jit_context_new_struct_type + _gcc_jit_context_new_unary_op + _gcc_jit_context_new_union_type + _gcc_jit_context_null + _gcc_jit_context_one + _gcc_jit_context_release + _gcc_jit_context_set_bool_option + _gcc_jit_context_set_int_option + _gcc_jit_context_set_logfile + _gcc_jit_context_set_str_option + _gcc_jit_context_zero + _gcc_jit_field_as_object + _gcc_jit_function_as_object + _gcc_jit_function_dump_to_dot + _gcc_jit_function_get_param + _gcc_jit_function_new_block + _gcc_jit_function_new_local + _gcc_jit_location_as_object + _gcc_jit_lvalue_as_object + _gcc_jit_lvalue_as_rvalue + _gcc_jit_lvalue_access_field + _gcc_jit_lvalue_get_address + _gcc_jit_object_get_context + _gcc_jit_object_get_debug_string + _gcc_jit_param_as_lvalue + _gcc_jit_param_as_object + _gcc_jit_param_as_rvalue + _gcc_jit_result_get_code + _gcc_jit_result_get_global + _gcc_jit_result_release + _gcc_jit_rvalue_access_field + _gcc_jit_rvalue_as_object + _gcc_jit_rvalue_dereference + _gcc_jit_rvalue_dereference_field + _gcc_jit_rvalue_get_type + _gcc_jit_struct_as_type + _gcc_jit_struct_set_fields + _gcc_jit_type_as_object + _gcc_jit_type_get_const + _gcc_jit_type_get_pointer + _gcc_jit_type_get_volatile + + # Add support for adding arbitrary command-line options (PR jit/66628). + # LIBGCCJIT_ABI_1 + _gcc_jit_context_add_command_line_option + + # Add support for disabling the check for unreachable blocks (PR jit/66546). + # LIBGCCJIT_ABI_2 + _gcc_jit_context_set_bool_allow_unreachable_blocks + + # Add support for switch statements. + # LIBGCCJIT_ABI_3 + _gcc_jit_block_end_with_switch + _gcc_jit_case_as_object + _gcc_jit_context_new_case + + # Add timing API. + #LIBGCCJIT_ABI_4 + _gcc_jit_context_get_timer + _gcc_jit_context_set_timer + _gcc_jit_timer_new + _gcc_jit_timer_release + _gcc_jit_timer_push + _gcc_jit_timer_pop + _gcc_jit_timer_print + + # LIBGCCJIT_ABI_5 + _gcc_jit_context_set_bool_use_external_driver + + # LIBGCCJIT_ABI_6 + _gcc_jit_rvalue_set_bool_require_tail_call + + # LIBGCCJIT_ABI_7 + _gcc_jit_type_get_aligned + + # LIBGCCJIT_ABI_8 + _gcc_jit_type_get_vector + + # LIBGCCJIT_ABI_9 + _gcc_jit_function_get_address + + # LIBGCCJIT_ABI_10 + _gcc_jit_context_new_rvalue_from_vector + + # LIBGCCJIT_ABI_11 + _gcc_jit_context_add_driver_option + + # LIBGCCJIT_ABI_12 + _gcc_jit_context_new_bitfield + + # LIBGCCJIT_ABI_13 + _gcc_jit_version_major + _gcc_jit_version_minor + _gcc_jit_version_patchlevel + + # LIBGCCJIT_ABI_14 + _gcc_jit_global_set_initializer + + # LIBGCCJIT_ABI_15 + _gcc_jit_block_add_extended_asm + _gcc_jit_block_end_with_extended_asm_goto + _gcc_jit_extended_asm_as_object + _gcc_jit_extended_asm_set_volatile_flag + _gcc_jit_extended_asm_set_inline_flag + _gcc_jit_extended_asm_add_output_operand + _gcc_jit_extended_asm_add_input_operand + _gcc_jit_extended_asm_add_clobber + _gcc_jit_context_add_top_level_asm + + # LIBGCCJIT_ABI_16 + _gcc_jit_function_get_return_type + _gcc_jit_function_get_param_count + _gcc_jit_function_type_get_return_type + _gcc_jit_function_type_get_param_count + _gcc_jit_function_type_get_param_type + _gcc_jit_type_unqualified + _gcc_jit_type_dyncast_array + _gcc_jit_type_is_bool + _gcc_jit_type_dyncast_function_ptr_type + _gcc_jit_type_is_integral + _gcc_jit_type_is_pointer + _gcc_jit_type_dyncast_vector + _gcc_jit_vector_type_get_element_type + _gcc_jit_vector_type_get_num_units + _gcc_jit_struct_get_field + _gcc_jit_type_is_struct + _gcc_jit_struct_get_field_count + + # LIBGCCJIT_ABI_17 + _gcc_jit_lvalue_set_tls_model + + # LIBGCCJIT_ABI_18 + _gcc_jit_lvalue_set_link_section + + #LIBGCCJIT_ABI_19 + _gcc_jit_context_new_array_constructor + _gcc_jit_context_new_struct_constructor + _gcc_jit_context_new_union_constructor + _gcc_jit_global_set_initializer_rvalue + + # LIBGCCJIT_ABI_20 + _gcc_jit_compatible_types + _gcc_jit_type_get_size + + # LIBGCCJIT_ABI_21 + _gcc_jit_context_new_bitcast + + # LIBGCCJIT_ABI_22 + _gcc_jit_lvalue_set_register_name + + # LIBGCCJIT_ABI_23 + _gcc_jit_context_set_bool_print_errors_to_stderr + + # LIBGCCJIT_ABI_24 + _gcc_jit_lvalue_set_alignment + _gcc_jit_lvalue_get_alignment diff -Nrcpad gcc-13.2.0/gcc/lower-subreg.cc gcc-13.3.0/gcc/lower-subreg.cc *** gcc-13.2.0/gcc/lower-subreg.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lower-subreg.cc Tue May 21 07:47:38 2024 *************** resolve_simple_move (rtx set, rtx_insn * *** 926,931 **** --- 926,946 ---- SRC's operator. */ dest = resolve_operand_for_swap_move_operator (dest); src = src_op; + if (resolve_reg_p (src)) + { + gcc_assert (GET_CODE (src) == CONCATN); + if (reg_overlap_mentioned_p (XVECEXP (dest, 0, 0), + XVECEXP (src, 0, 1))) + { + /* If there is overlap between the first half of the + destination and what will be stored to the second one, + use a temporary pseudo. See PR114211. */ + rtx tem = gen_reg_rtx (GET_MODE (XVECEXP (src, 0, 1))); + emit_move_insn (tem, XVECEXP (src, 0, 1)); + src = copy_rtx (src); + XVECEXP (src, 0, 1) = tem; + } + } } else if (resolve_reg_p (src_op)) { diff -Nrcpad gcc-13.2.0/gcc/lra-constraints.cc gcc-13.3.0/gcc/lra-constraints.cc *** gcc-13.2.0/gcc/lra-constraints.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lra-constraints.cc Tue May 21 07:47:38 2024 *************** lra_constraints (bool first_p) *** 5271,5276 **** --- 5271,5281 ---- loc_equivalence_callback, curr_insn); if (old != *curr_id->operand_loc[0]) { + /* If we substitute pseudo by shared equivalence, we can fail + to update LRA reg info and this can result in many + unexpected consequences. So keep rtl unshared: */ + *curr_id->operand_loc[0] + = copy_rtx (*curr_id->operand_loc[0]); lra_update_insn_regno_info (curr_insn); changed_p = true; } diff -Nrcpad gcc-13.2.0/gcc/lra-eliminations.cc gcc-13.3.0/gcc/lra-eliminations.cc *** gcc-13.2.0/gcc/lra-eliminations.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lra-eliminations.cc Tue May 21 07:47:38 2024 *************** lra_eliminate_regs_1 (rtx_insn *insn, rt *** 397,404 **** rtx to = subst_p ? ep->to_rtx : ep->from_rtx; if (! update_p && ! full_p) ! return gen_rtx_PLUS (Pmode, to, XEXP (x, 1)); ! if (maybe_ne (update_sp_offset, 0)) offset = ep->to_rtx == stack_pointer_rtx ? update_sp_offset : 0; else --- 397,404 ---- rtx to = subst_p ? ep->to_rtx : ep->from_rtx; if (! update_p && ! full_p) ! return simplify_gen_binary (PLUS, Pmode, to, XEXP (x, 1)); ! if (maybe_ne (update_sp_offset, 0)) offset = ep->to_rtx == stack_pointer_rtx ? update_sp_offset : 0; else diff -Nrcpad gcc-13.2.0/gcc/lra.cc gcc-13.3.0/gcc/lra.cc *** gcc-13.2.0/gcc/lra.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lra.cc Tue May 21 07:47:38 2024 *************** lra (FILE *f) *** 2535,2543 **** if (inserted_p) commit_edge_insertions (); ! /* Replacing pseudos with their memory equivalents might have ! created shared rtx. Subsequent passes would get confused ! by this, so unshare everything here. */ unshare_all_rtl_again (get_insns ()); if (flag_checking) --- 2535,2542 ---- if (inserted_p) commit_edge_insertions (); ! /* Subsequent passes expect that rtl is unshared, so unshare everything ! here. */ unshare_all_rtl_again (get_insns ()); if (flag_checking) diff -Nrcpad gcc-13.2.0/gcc/lto/ChangeLog gcc-13.3.0/gcc/lto/ChangeLog *** gcc-13.2.0/gcc/lto/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/lto/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/lto-streamer.h gcc-13.3.0/gcc/lto-streamer.h *** gcc-13.2.0/gcc/lto-streamer.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lto-streamer.h Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 122,128 **** form followed by the data for the string. */ #define LTO_major_version GCC_major_version ! #define LTO_minor_version 0 typedef unsigned char lto_decl_flags_t; --- 122,128 ---- form followed by the data for the string. */ #define LTO_major_version GCC_major_version ! #define LTO_minor_version 1 typedef unsigned char lto_decl_flags_t; diff -Nrcpad gcc-13.2.0/gcc/lto-wrapper.cc gcc-13.3.0/gcc/lto-wrapper.cc *** gcc-13.2.0/gcc/lto-wrapper.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/lto-wrapper.cc Tue May 21 07:47:38 2024 *************** find_option (vec &opt *** 218,232 **** return find_option (options, option->opt_index); } ! /* Merge -flto FOPTION into vector of DECODED_OPTIONS. */ static void merge_flto_options (vec &decoded_options, ! cl_decoded_option *foption) { int existing_opt = find_option (decoded_options, foption); if (existing_opt == -1) decoded_options.safe_push (*foption); else { if (strcmp (foption->arg, decoded_options[existing_opt].arg) != 0) --- 218,235 ---- return find_option (options, option->opt_index); } ! /* Merge -flto FOPTION into vector of DECODED_OPTIONS. If FORCE is true ! then FOPTION overrides previous settings. */ static void merge_flto_options (vec &decoded_options, ! cl_decoded_option *foption, bool force) { int existing_opt = find_option (decoded_options, foption); if (existing_opt == -1) decoded_options.safe_push (*foption); + else if (force) + decoded_options[existing_opt].arg = foption->arg; else { if (strcmp (foption->arg, decoded_options[existing_opt].arg) != 0) *************** merge_and_complain (vecarg, "jobserver") == 0) jobserver_requested = true; break; --- 1552,1559 ---- break; case OPT_flto_: ! /* Override IL file settings with a linker -flto= option. */ ! merge_flto_options (fdecoded_options, option, true); if (strcmp (option->arg, "jobserver") == 0) jobserver_requested = true; break; diff -Nrcpad gcc-13.2.0/gcc/m2/ChangeLog gcc-13.3.0/gcc/m2/ChangeLog *** gcc-13.2.0/gcc/m2/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/m2/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,1009 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2023-10-18 Gaius Mulley + + PR modula2/111756 + * Make-lang.in (CM2DEP): New define conditionally set if + ($(CXXDEPMODE),depmode=gcc3). + (m2/gm2-gcc/%.o): Ensure $(@D)/$(DEPDIR) is created. + Add $(CM2DEP) to the $(COMPILER) command and use $(POSTCOMPILE). + (m2/gm2-gcc/m2configure.o): Ditto. + (m2/gm2-lang.o): Ditto. + (m2/m2pp.o): Ditto. + (m2/gm2-gcc/rtegraph.o): Ditto. + (m2/mc-boot/$(SRC_PREFIX)%.o): Ditto. + (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. + (m2/mc-boot-ch/$(SRC_PREFIX)%.o): Ditto. + (m2/mc-boot/main.o): Ditto. + (mcflex.o): Ditto. + (m2/gm2-libs-boot/M2RTS.o): Ditto. + (m2/gm2-libs-boot/%.o): Ditto. + (m2/gm2-libs-boot/%.o): Ditto. + (m2/gm2-libs-boot/RTcodummy.o): Ditto. + (m2/gm2-libs-boot/RTintdummy.o): Ditto. + (m2/gm2-libs-boot/wrapc.o): Ditto. + (m2/gm2-libs-boot/UnixArgs.o): Ditto. + (m2/gm2-libs-boot/choosetemp.o): Ditto. + (m2/gm2-libs-boot/errno.o): Ditto. + (m2/gm2-libs-boot/dtoa.o): Ditto. + (m2/gm2-libs-boot/ldtoa.o): Ditto. + (m2/gm2-libs-boot/termios.o): Ditto. + (m2/gm2-libs-boot/SysExceptions.o): Ditto. + (m2/gm2-libs-boot/SysStorage.o): Ditto. + (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. + (m2/gm2-compiler-boot/M2Error.o): Ditto. + (m2/gm2-compiler-boot/%.o): Ditto. + (m2/gm2-compiler-boot/%.o): Ditto. + (m2/gm2-compiler-boot/m2flex.o): Ditto. + (m2/gm2-compiler/m2flex.o): Ditto. + (m2/gm2-libs/choosetemp.o): Ditto. + (m2/boot-bin/mklink$(exeext)): Ditto. + (m2/pge-boot/%.o): Ditto. + (m2/pge-boot/%.o): Ditto. + * README: Remove out of date info. + * gm2-compiler/M2Quads.mod (BuildStringAdrParam): Correct + procedure end name. + * gm2-compiler/SymbolTable.mod (GetVarPointerCheck): Add + default FALSE return value. + + 2023-09-26 Gaius Mulley + + Backported from master: + 2023-09-26 Gaius Mulley + + PR modula2/111510 + * gm2-compiler/M2GenGCC.mod (IsExportedGcc): Minor spacing changes. + (BuildTrashTreeFromInterface): Minor spacing changes. + * gm2-compiler/M2Options.mod (GetRuntimeModuleOverride): Call + string to generate a nul terminated C style string. + * gm2-compiler/M2Quads.mod (BuildStringAdrParam): New procedure. + (BuildM2InitFunction): Replace inline parameter generation with + calls to BuildStringAdrParam. + + 2023-09-13 Gaius Mulley + + Backported from master: + 2023-09-13 Gaius Mulley + + * Make-lang.in (GM2_FLAGS): Add -Wcase-enum. + (GM2_ISO_FLAGS): Add -Wcase-enum. + * gm2-compiler/M2CaseList.mod (EnumerateErrors): Issue + singular or plural start text prior to the enum list. + Remove unused parameter tokenno. + (EmitMissingRangeErrors): New procedure. + (MissingCaseBounds): Call EmitMissingRangeErrors. + (MissingCaseStatementBounds): Call EmitMissingRangeErrors. + * gm2-libs-iso/TextIO.mod: Fix spacing. + + 2023-09-12 Gaius Mulley + + Backported from master: + 2023-09-12 Gaius Mulley + + * gm2-compiler/M2CaseList.def (PushCase): Rename parameters + r to rec and v to va. Add expr parameter. + (MissingCaseStatementBounds): New procedure function. + * gm2-compiler/M2CaseList.mod (RangePair): Add expression. + (PushCase): Rename parameters r to rec and v to va. Add + expr parameter. + (RemoveRange): New procedure function. + (SubBitRange): Detect the case when the range in the set matches + lo..hi. + (CheckLowHigh): New procedure. + (ExcludeCaseRanges): Rename parameter c to cd. Rename local + variables q to cl and r to rp. + (High): Remove. + (Low): Remove. + (DoEnumValues): Remove. + (IncludeElement): New procedure. + (IncludeElements): New procedure. + (ErrorRangeEnum): New procedure. + (ErrorRange): Remove. + (ErrorRanges): Remove. + (appendEnum): New procedure. + (appendStr): New procedure. + (EnumerateErrors): New procedure. + (MissingCaseBounds): Re-implement. + (InRangeList): Remove. + (MissingCaseStatementBounds): New procedure function. + (checkTypes): Re-format. + (inRange): Re-format. + (TypeCaseBounds): Re-format. + * gm2-compiler/M2Error.mod (GetAnnounceScope): Add noscope to + case label list. + * gm2-compiler/M2GCCDeclare.mod: Replace ForeachFieldEnumerationDo + with ForeachLocalSymDo. + * gm2-compiler/M2Options.def (SetCaseEnumChecking): New procedure. + (CaseEnumChecking): New variable. + * gm2-compiler/M2Options.mod (SetCaseEnumChecking): New procedure. + (Module initialization): set CaseEnumChecking to FALSE. + * gm2-compiler/M2Quads.def (QuadOperator): Alphabetically ordered. + * gm2-compiler/M2Quads.mod (IsBackReferenceConditional): Add else + clause. + (BuildCaseStart): Pass selector expression to InitCaseBounds. + (CheckUninitializedVariablesAreUsed): Remove. + (IsInlineWithinBlock): Remove. + (AsmStatementsInBlock): Remove. + (CheckVariablesInBlock): Remove commented code. + (BeginVarient): Pass NulSym to InitCaseBounds. + * gm2-compiler/M2Range.mod (FoldCaseBounds): New local variable + errorGenerated. Add call to MissingCaseStatementBounds. + * gm2-compiler/P3Build.bnf (CaseEndStatement): Call ElseCase. + * gm2-compiler/PCSymBuild.mod (InitDesExpr): Add else clause. + (InitFunction): Add else clause. + (InitConvert): Add else clause. + (InitLeaf): Add else clause. + (InitBinary): Add else clause. + (InitUnary): Add else clause. + * gm2-compiler/SymbolTable.def (GetNth): Re-write comment. + (ForeachFieldEnumerationDo): Re-write comment stating alphabetical + traversal. + * gm2-compiler/SymbolTable.mod (GetNth): Re-write comment. + Add case label for EnumerationSym and call GetItemFromList. + (ForeachFieldEnumerationDo): Re-write comment stating alphabetical + traversal. + (SymEnumeration): Add ListOfFields used for declaration order. + (MakeEnumeration): Initialize ListOfFields. + (PutFieldEnumeration): Include Field in ListOfFields. + * gm2-gcc/m2options.h (M2Options_SetCaseEnumChecking): New + function. + * gm2-lang.cc (gm2_langhook_handle_option): Add + OPT_Wcase_enum case and call M2Options_SetCaseEnumChecking. + * lang.opt (Wcase-enum): Add. + + 2023-09-11 Gaius Mulley + + PR modula2/111330 + * gm2-compiler/M2SymInit.mod (CheckReadBeforeInitQuad): Add + case labels LogicalDiffOp, DummyOp, OptParamOp and + InitAddressOp. + + 2023-08-13 Iain Sandoe + + Backported from master: + 2023-08-13 Iain Sandoe + + * Make-lang.in: Update suffix spellings to use 'soext'. + Add libc to the plugin link. + + 2023-08-12 Gaius Mulley + + PR modula2/110779 + * gm2-libs-iso/SysClock.mod (EpochTime): New procedure. + (GetClock): Call EpochTime if the C time functions are + unavailable. + * gm2-libs-iso/wrapclock.def (istimezone): New function + definition. + + 2023-08-12 Gaius Mulley + + PR modula2/108119 + * Make-lang.in (M2RTE_PLUGIN_SO): Assigned to + plugin/m2rte$(exeext).so if enable_plugin is yes. + (m2.all.cross): Replace plugin/m2rte$(soext) with + $(M2RTE_PLUGIN_SO). + (m2.all.encap): Replace plugin/m2rte$(soext) with + $(M2RTE_PLUGIN_SO). + (m2.install-plugin): Add dummy rule when enable_plugin + is not yes. + (plugin/m2rte$(exeext).so): Add dummy rule when enable_plugin + is not yes. + (m2/stage2/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with + $(M2RTE_PLUGIN_SO). + (m2/stage1/cc1gm2$(exeext)): Replace plugin/m2rte$(soext) with + $(M2RTE_PLUGIN_SO). + * gm2spec.cc (lang_specific_driver): Set need_plugin to false + by default. + + 2023-08-09 Gaius Mulley + + PR modula2/110779 + * gm2-libs-iso/SysClock.mod (GetClock): Test GetTimespec + return value. + (SetClock): Test SetTimespec return value. + * gm2-libs-iso/wrapclock.def (GetTimespec): Add integer + return type. + (SetTimespec): Add integer return type. + + 2023-08-07 Gaius Mulley + + PR modula2/110779 + * gm2-libs-iso/SysClock.mod: Re-implement using wrapclock. + * gm2-libs-iso/wrapclock.def: New file. + + 2023-08-01 Gaius Mulley + + Backported from master: + 2023-08-01 Gaius Mulley + + PR modula2/110161 + * gm2-compiler/M2Check.mod (checkProcTypeEquivalence): New + procedure function. + (checkTypeKindEquivalence): Call checkProcTypeEquivalence + if either left or right is a proc type. + * gm2-compiler/M2Quads.mod (BuildRelOp): Create + combinedTok prior to creating the range check quadruple. + Use combinedTok when creating the range check quadruple. + + 2023-08-01 Gaius Mulley + + Backported from master: + 2023-08-01 Gaius Mulley + + PR modula2/110865 + * gm2-compiler/M2Quads.mod (BuildDesignatorArray): + Rename t as type and d as dim. New variable result. + Allow constants of an array type to be indexed. + + 2023-07-31 Gaius Mulley + + PR modula2/110284 + * Make-lang.in: Build $(generated_files) before building + all $(GM2_C_OBJS). + (m2_OBJS): Assign $(GM2_C_OBJS). Add m2/gm2-gcc/rtegraph.o and + m2/gm2-compiler-boot/m2flex.o. + (GM2_C_OBJS): Remove m2/stor-layout.o. + (m2/stor-layout.o): Remove rule. + * gm2-gcc/gcc-consolidation.h (rtl.h): Remove include. + (df.h): Remove include. + (except.h): Remove include. + (c-family/m2pp.o): Remove. + * Make-maintainer.in (c-family/m2pp.o): Add. + + 2023-07-31 Gaius Mulley + + Backported from master: + 2023-07-25 Gaius Mulley + + PR modula2/110174 + * gm2-compiler/M2GCCDeclare.def (PromoteToCString): New procedure + function. + * gm2-compiler/M2GCCDeclare.mod (PromoteToCString): New procedure + function. + * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Call + skip_const_decl before chaining the parameter value. + Use PromoteToCString to ensure the string is nul terminated. + (CodeInline): Remove all parameters and replace with quad. + Use GetQuadOtok to get operand token numbers. + Remove call to DeclareConstant and replace it with PromoteToCString. + * gm2-compiler/M2Quads.def (BuildInline): Rename into ... + (BuildAsm): ... this. + * gm2-compiler/M2Quads.mod: (BuildInline): Rename into ... + (BuildAsm): ... this. + (BuildAsmElement): Add debugging. + * gm2-compiler/P1Build.bnf: Remove import of BuildInline. + * gm2-compiler/P2Build.bnf: Remove import of BuildInline. + * gm2-compiler/P3Build.bnf: Remove import of BuildInline and + import BuildAsm. + * gm2-compiler/PHBuild.bnf: Remove import of BuildInline. + * gm2-libs-iso/SysClock.mod (foo): Remove. + * gm2-libs/FIO.mod (BufferedRead): Rename parameter a to dest. + Rename variable t to src. + * m2pp.cc (pf): Correct block comment. + (pe): Correct block comment. + (m2pp_asm_expr): New function. + (m2pp_statement): Call m2pp_asm_expr. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-22 Gaius Mulley + + PR modula2/110631 + * gm2-libs/FIO.def (ReadAny): Correct comment as + HIGH (a) + 1 is number of bytes. + (WriteAny): Correct comment as HIGH (a) + 1 is number of + bytes. + * gm2-libs/FIO.mod (ReadAny): Correct comment as + HIGH (a) + 1 is number of bytes. Also pass HIGH (a) + 1 + to BufferedRead. + (WriteAny): Correct comment as HIGH (a) + 1 is number of + bytes. Also pass HIGH (a) + 1 to BufferedWrite. + (BufferedWrite): Rename parameter a to src, rename variable + t to dest. Correct parameter order to memcpy. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-20 Gaius Mulley + + * gm2-compiler/M2SymInit.mod (IsExempt): Remove parameter exemption. + (CheckIndrX): Call SetupLAlias between lhs and content. + (trashParam): Re-write. + (SetVarLRInitialized): Indicate shadow and heap are initialized. + Call SetupIndr between shadow and heap. + * gm2-compiler/P2SymBuild.mod: Import + PutProcedureParameterHeapVars. + (EndBuildProcedure): Call PutProcedureParameterHeapVars. + * gm2-compiler/SymbolTable.def (GetParameterHeapVar): New + procedure function. + (PutProcedureParameterHeapVars): New procedure function. + * gm2-compiler/SymbolTable.mod (MakeParameterHeapVar): New + procedure function. + (GetParameterHeapVar): New procedure function. + (PuttParameterHeapVar): New procedure function. + (PutProcedureParameterHeapVars): New procedure. + (VarParam): HeapVar new record field. + (PutVarParam): HeapVar assigned to NulSym. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-19 Gaius Mulley + + * gm2-compiler/M2Quads.mod (BuildDifAdrFunction): Removed + unnecessary in error message. Use vartok for location. + (BuildOddFunction): Use optok for location. + (BuildAbsFunction): Use vartok for location. Bugfix set vartok. + (BuildCapFunction): Use optok for location. + (BuildOrdFunction): Use optok for location and correct format + specifier. + (BuildShiftFunction): Use vartok for location. + (BuildRotateFunction): Use vartok for location. + (BuildTruncFunction): Use vartok for location. + (BuildFloatFunction): Use vartok for location. + (BuildReFunction): Use vartok for location. + (BuildImFunction): Use vartok for location. + * gm2-compiler/M2SymInit.mod (trashParam): Remove commented code. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-19 Gaius Mulley + + * gm2-compiler/M2Quads.mod (BuildRealFuncProcCall): Set the trash + parameter value to NIL if DEALLOCATE is detected. + * gm2-compiler/M2SymInit.mod (CheckDeferredRecordAccess): Pass + tok to SetVarInitialized. Pass tok to GetVarComponentInitialized. + (ComponentFindVar): Add tok parameter. Check aliased pointer + against Nil and generate warning if necessary. + (deRefComponent): Add tok and sym parameters and pass them to + getContent. + (SetVarComponentInitialized): Add tok parameter. Pass tok to + ComponentFindVar. Pass tok and sym to deRefComponent. + (GetVarComponentInitialized): Add tok parameter. Pass tok to + ComponentFindVar. Pass tok to deRefComponent. + (SetVarInitialized): Add tok parameter. Pass tok to + SetVarComponentInitialized. + (doGetVarInitialized): Add tok parameter. Pass tok to + GetVarComponentInitialized. + (CheckXIndr): Pass lhs and lhstok to getContent. + (CheckIndrX): Pass rhs and rhstok to getContent. + (CheckBecomes): Pass destok to ComponentFindVar. Pass des and + destok to deRefComponent. + (CheckAddr): Pass contenttok to GetVarInitialized. Pass ptrtok + to SetVarInitialized. + (CheckReadBeforeInitQuad): Pass op1tok to SetVarInitialized for + op1 cases and op3tok for op3 cases. + (trashParam): Get operand tokens. Pass op3tok to + SetVarInitialized. Pass op3 and op3tok to getContent. + Alias ptr to NIL if procedure is DEALLOCATE. Pass op3tok to + SetVarInitialized. + (IsDeallocate): New procedure function. + (DetectTrash): Use IsDeallocate. + (SetupLAlias): Allow exp to be Nil. + (getContent): Generate warning message if ptr is Nil. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-18 Gaius Mulley + + * Make-lang.in: Minor formatting change. + * gm2-compiler/M2GCCDeclare.mod + (DeclareUnboundedProcedureParameters): Rename local variables. + (WalkUnboundedProcedureParameters): Rename local variables. + (DoVariableDeclaration): Avoid declaration of a variable if + it is on the heap (used by static analysis only). + * gm2-compiler/M2GenGCC.mod: Formatting. + * gm2-compiler/M2Quads.def (GetQuadTrash): New procedure function. + * gm2-compiler/M2Quads.mod (GetQuadTrash): New procedure function. + (QuadFrame): Add Trash field. + (BuildRealFuncProcCall): Detect ALLOCATE and DEALLOCATE and create + a heap variable for parameter 1 saving it as the trashed variable + for static analysis. + (GenQuadOTrash): New procedure. + (DisplayQuadRange): Bugfix. Write the scope number. + * gm2-compiler/M2SymInit.mod: Rewritten to separate LValue + equivalence from LValue to RValue pairings. Comprehensive + detection of variant record implemented. Allow dereferencing + of pointers through LValue/RValue chains. + * gm2-compiler/SymbolTable.def (PutVarHeap): New procedure. + (IsVarHeap): New procedure function. + (ForeachParamSymDo): New procedure. + * gm2-compiler/SymbolTable.mod (PutVarHeap): New procedure. + (IsVarHeap): New procedure function. + (ForeachParamSymDo): New procedure. + (MakeVariableForParam): Reformatted. + (CheckForUnknownInModule): Reformatted. + (SymVar): Add field Heap. + (MakeVar): Assign Heap to FALSE. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-11 Gaius Mulley + + * gm2-compiler/M2BasicBlock.def (InitBasicBlocksFromRange): New + parameter ScopeSym. + * gm2-compiler/M2BasicBlock.mod (ConvertQuads2BasicBlock): New + parameter ScopeSym. + (InitBasicBlocksFromRange): New parameter ScopeSym. Call + ConvertQuads2BasicBlock with ScopeSym. + (DisplayBasicBlocks): Uncomment. + * gm2-compiler/M2Code.mod: Replace VariableAnalysis with + ScopeBlockVariableAnalysis. + (InitialDeclareAndOptiomize): Add parameter scope. + (SecondDeclareAndOptimize): Add parameter scope. + * gm2-compiler/M2GCCDeclare.mod (DeclareConstructor): Add scope + parameter to DeclareTypesConstantsProceduresInRange. + (DeclareTypesConstantsProceduresInRange): New parameter scope. + Pass scope to DisplayQuadRange. Reformatted. + * gm2-compiler/M2GenGCC.def (ConvertQuadsToTree): New parameter + scope. + * gm2-compiler/M2GenGCC.mod (ConvertQuadsToTree): New parameter + scope. + * gm2-compiler/M2Optimize.mod (KnownReachable): New parameter + scope. + * gm2-compiler/M2Options.def (SetUninitVariableChecking): Add + arg parameter. + * gm2-compiler/M2Options.mod (SetUninitVariableChecking): Add + arg parameter and set boolean UninitVariableChecking and + UninitVariableConditionalChecking. + (UninitVariableConditionalChecking): New boolean set to FALSE. + * gm2-compiler/M2Quads.def (IsGoto): New procedure function. + (DisplayQuadRange): Add scope parameter. + (LoopAnalysis): Add scope parameter. + * gm2-compiler/M2Quads.mod: Import PutVarArrayRef. + (IsGoto): New procedure function. + (LoopAnalysis): Add scope parameter and use MetaErrorT1 instead + of WarnStringAt. + (BuildStaticArray): Call PutVarArrayRef. + (BuildDynamicArray): Call PutVarArrayRef. + (DisplayQuadRange): Add scope parameter. + (GetM2OperatorDesc): Add relational condition cases. + * gm2-compiler/M2Scope.def (ScopeProcedure): Add parameter. + * gm2-compiler/M2Scope.mod (DisplayScope): Pass scopeSym to + DisplayQuadRange. + (ForeachScopeBlockDo): Pass scopeSym to p. + * gm2-compiler/M2SymInit.def (VariableAnalysis): Rename to ... + (ScopeBlockVariableAnalysis): ... this. + * gm2-compiler/M2SymInit.mod (ScopeBlockVariableAnalysis): Add + scope parameter. + (bbEntry): New pointer to record. + (bbArray): New array. + (bbFreeList): New variable. + (errorList): New list. + (IssueConditional): New procedure. + (GenerateNoteFlow): New procedure. + (IssueWarning): New procedure. + (IsUniqueWarning): New procedure. + (CheckDeferredRecordAccess): Re-implement. + (CheckBinary): Add warning and lst parameters. + (CheckUnary): Add warning and lst parameters. + (CheckXIndr): Add warning and lst parameters. + (CheckIndrX): Add warning and lst parameters. + (CheckBecomes): Add warning and lst parameters. + (CheckComparison): Add warning and lst parameters. + (CheckReadBeforeInitQuad): Add warning and lst parameters to all + Check procedures. Add all case quadruple clauses. + (FilterCheckReadBeforeInitQuad): Add warning and lst parameters. + (CheckReadBeforeInitFirstBasicBlock): Add warning and lst parameters. + (bbArrayKill): New procedure. + (DumpBBEntry): New procedure. + (DumpBBArray): New procedure. + (DumpBBSequence): New procedure. + (TestBBSequence): New procedure. + (CreateBBPermultations): New procedure. + (ScopeBlockVariableAnalysis): New procedure. + (GetOp3): New procedure. + (GenerateCFG): New procedure. + (NewEntry): New procedure. + (AppendEntry): New procedure. + (init): Initialize bbFreeList and errorList. + * gm2-compiler/SymbolTable.def (PutVarArrayRef): New procedure. + (IsVarArrayRef): New procedure function. + * gm2-compiler/SymbolTable.mod (SymVar): ArrayRef new field. + (MakeVar): Set ArrayRef to FALSE. + (PutVarArrayRef): New procedure. + (IsVarArrayRef): New procedure function. + * gm2-gcc/init.cc (_M2_M2SymInit_init): New prototype. + (init_PerCompilationInit): Add call to _M2_M2SymInit_init. + * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking): + New definition. + * gm2-lang.cc (gm2_langhook_handle_option): Add new case + OPT_Wuninit_variable_checking_. + * lang.opt: Wuninit-variable-checking= new entry. + + 2023-07-30 Gaius Mulley + + Backported from master: + 2023-07-03 Gaius Mulley + + PR modula2/110125 + * Make-lang.in (GM2-COMP-BOOT-DEFS): Add M2SymInit.def. + (GM2-COMP-BOOT-MODS): Add M2SymInit.mod. + * gm2-compiler/M2BasicBlock.mod: Formatting changes. + * gm2-compiler/M2Code.mod: Remove import of VariableAnalysis from + M2Quads. Import VariableAnalysis from M2SymInit.mod. + * gm2-compiler/M2GCCDeclare.mod (PrintVerboseFromList): + Add debugging print for a component. + (TypeConstFullyDeclared): Call RememberType for every type. + * gm2-compiler/M2GenGCC.mod (CodeReturnValue): Add parameter to + GetQuadOtok. + (CodeBecomes): Add parameter to GetQuadOtok. + (CodeXIndr): Add parameter to GetQuadOtok. + * gm2-compiler/M2Optimize.mod (ReduceBranch): Reformat and + preserve operand token positions when reducing the branch + quadruples. + (ReduceGoto): Reformat. + (FoldMultipleGoto): Reformat. + (KnownReachable): Reformat. + * gm2-compiler/M2Options.def (UninitVariableChecking): New + variable declared and exported. + (SetUninitVariableChecking): New procedure. + * gm2-compiler/M2Options.mod (SetWall): Set + UninitVariableChecking. + (SetUninitVariableChecking): New procedure. + * gm2-compiler/M2Quads.def (PutQuadOtok): Exported and declared. + (VariableAnalysis): Removed. + * gm2-compiler/M2Quads.mod (PutQuadOtok): New procedure. + (doVal): Reformatted. + (MarkAsWrite): Reformatted. + (MarkArrayAsWritten): Reformatted. + (doIndrX): Use PutQuadOtok. + (MakeRightValue): Use GenQuadOtok. + (MakeLeftValue): Use GenQuadOtok. + (CheckReadBeforeInitialized): Remove. + (IsNeverAltered): Reformat. + (DebugLocation): New procedure. + (BuildDesignatorPointer): Use GenQuadO to preserve operand token + position. + (BuildRelOp): Use GenQuadOtok ditto. + * gm2-compiler/SymbolTable.def (VarCheckReadInit): New procedure. + (VarInitState): New procedure. + (PutVarInitialized): New procedure. + (PutVarFieldInitialized): New procedure function. + (GetVarFieldInitialized): New procedure function. + (PrintInitialized): New procedure. + * gm2-compiler/SymbolTable.mod (VarCheckReadInit): New procedure. + (VarInitState): New procedure. + (PutVarInitialized): New procedure. + (PutVarFieldInitialized): New procedure function. + (GetVarFieldInitialized): New procedure function. + (PrintInitialized): New procedure. + (LRInitDesc): New type. + (SymVar): InitState new field. + (MakeVar): Initialize InitState. + * gm2-gcc/m2options.h (M2Options_SetUninitVariableChecking): + New function declaration. + * gm2-lang.cc (gm2_langhook_handle_option): Detect + OPT_Wuninit_variable_checking and call SetUninitVariableChecking. + * lang.opt: Add Wuninit-variable-checking. + * gm2-compiler/M2SymInit.def: New file. + * gm2-compiler/M2SymInit.mod: New file. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-13 Gaius Mulley + + * Make-lang.in (check-format-error): New rule. + * gm2-compiler/M2MetaError.mod (op): Add calls InternalError if + digits are detected. + * gm2-compiler/M2Quads.mod (BuildForToByDo): Bugfix to format + specifier. + (BuildLengthFunction): Bugfix to format specifiers. + (BuildOddFunction): Bugfix to format specifiers. + (BuildAbsFunction): Bugfix to format specifiers. + (BuildCapFunction): Bugfix to format specifiers. + (BuildChrFunction): Bugfix to format specifiers. + (BuildOrdFunction): Bugfix to format specifiers. + (BuildMakeAdrFunction): Bugfix to format specifiers. + (BuildSizeFunction): Bugfix to format specifiers. + (BuildBitSizeFunction): Bugfix to format specifiers. + * tools-src/checkmeta.py: New file. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-12 Gaius Mulley + + PR modula2/110189 + * gm2-compiler/M2Quads.mod (BuildAbsFunction): Replace abort + format specifier. + (BuildValFunction): Replace abort format specifier. + (BuildCastFunction): Replace abort format specifier. + (BuildMinFunction): Replace abort format specifier. + (BuildMaxFunction): Replace abort format specifier. + (BuildTruncFunction): Replace abort format specifier. + * gm2-compiler/P3Build.bnf (Pass1): Remove. + (Pass2): Remove. + (Pass3): Remove. + (Expect): Add Pass1. + (AsmStatement): Remove Pass3. + (AsmOperands): Remove Pass3. + (AsmOperandSpec): Remove Pass3. + (AsmInputElement): Remove Pass3. + (AsmOutputElement): Remove Pass3. + (AsmTrashList): Remove Pass3. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-12 Gaius Mulley + + PR modula2/110126 + * gm2-compiler/M2Quads.def (BuildAsmElement): Remove + trash parameter. + (BuildAsmTrash): New procedure. + * gm2-compiler/M2Quads.mod (BuildAsmTrash): New procedure. + (BuildAsmElement): Remove trash parameter. + * gm2-compiler/P3Build.bnf (AsmTrashList): Rewrite. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-08 Gaius Mulley + + PR modula2/110126 + * gm2-compiler/M2GenGCC.mod (BuildTreeFromInterface): Remove + tokenno parameter. Use object tok instead of tokenno. + (BuildTrashTreeFromInterface): Use object tok instead of + GetDeclaredMod. + (CodeInline): Remove tokenno from parameter list to BuildTreeFromInterface. + * gm2-compiler/M2Quads.def (BuildAsmElement): Exported and + defined. + * gm2-compiler/M2Quads.mod (BuildOptimizeOff): Reformatted. + (BuildInline): Reformatted. + (BuildLineNo): Reformatted. + (UseLineNote): Reformatted. + (BuildAsmElement): New procedure. + * gm2-compiler/P0SyntaxCheck.bnf (AsmOperands): Use + ConstExpression instead of string. + (AsmElement): Use ConstExpression instead of string. + (TrashList): Use ConstExpression instead of string. + * gm2-compiler/P1Build.bnf (AsmOperands): Use + ConstExpression instead of string. + (AsmElement): Use ConstExpression instead of string. + (TrashList): Use ConstExpression instead of string. + * gm2-compiler/P2Build.bnf (AsmOperands): Use + ConstExpression instead of string. + (AsmElement): Use ConstExpression instead of string. + (TrashList): Use ConstExpression instead of string. + * gm2-compiler/P3Build.bnf (AsmOperands): Rewrite. + (AsmOperandSpec): Rewrite. + (AsmOutputList): New rule. + (AsmInputList): New rule. + (TrashList): Rewrite. + * gm2-compiler/PCBuild.bnf (AsmOperands): Use + ConstExpression instead of string. + (AsmElement): Use ConstExpression instead of string. + (TrashList): Use ConstExpression instead of string. + * gm2-compiler/PHBuild.bnf (AsmOperands): Use + ConstExpression instead of string. + (AsmElement): Use ConstExpression instead of string. + (TrashList): Use ConstExpression instead of string. + * gm2-compiler/SymbolTable.def (PutRegInterface): + Rewrite interface. + (GetRegInterface): Rewrite interface. + * gm2-compiler/SymbolTable.mod (SetFirstUsed): New procedure. + (PutFirstUsed): New procedure. + (PutRegInterface): Rewrite. + (GetRegInterface): Rewrite. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-07 Gaius Mulley + + PR modula2/110019 + * gm2-compiler/SymbolKey.mod (SearchAndDo): Reformatted. + (ForeachNodeDo): Reformatted. + * gm2-compiler/SymbolTable.mod (AddListify): Join list + with "," or "and" if more than one word is in the list. + * m2.flex: Remove -1 from atoi(yytext) line number. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-06-03 Gaius Mulley + + PR modula2/110003 + * gm2-compiler/P2SymBuild.mod (GetParameterShadowVar): Import. + (CheckFormalParameterSection): Call PutDeclared for the shadow + variable associated with the parameter. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-05-24 Gaius Mulley + + PR modula2/109952 + * Make-maintainer.in: Change header to include emacs file mode. + * gm2-compiler/M2GenGCC.mod (BuildHighFromChar): Check whether + operand is a constant string and is nul terminated then return one. + * gm2-compiler/PCSymBuild.mod (WalkFunction): Add default return + TRUE. Static analysis missing return path fix. + * gm2-libs/IO.mod (Init): Rewrite to help static analysis. + * target-independent/m2/gm2-libs.texi: Rebuild. + + 2023-07-29 Gaius Mulley + + Backported from master: + 2023-05-19 Gaius Mulley + + PR modula2/109908 + * gm2-libs-iso/Strings.mod (Delete): Re-implement. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-16 Gaius Mulley + + PR modula2/109879 + * gm2-libs-iso/LongIO.mod (ReadReal): Call SkipSpaces. + * gm2-libs-iso/LongWholeIO.mod (ReadInt): Call SkipSpaces. + (ReadCard): Call SkipSpaces. + * gm2-libs-iso/RealIO.mod (ReadReal): Call SkipSpaces. + * gm2-libs-iso/ShortWholeIO.mod: (ReadInt): Call SkipSpaces. + (ReadCard): Call SkipSpaces. + * gm2-libs-iso/TextIO.mod: Import SkipSpaces. + * gm2-libs-iso/WholeIO.mod (ReadInt): Call SkipSpaces. + (ReadCard): Call SkipSpaces. + * gm2-libs-iso/TextUtil.def: New file. + * gm2-libs-iso/TextUtil.mod: New file. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-16 Gaius Mulley + + PR modula2/108344 + * gm2-libs-coroutines/TimerHandler.mod (EnableLED): New + constant. + (Timer): Test EnableLED before switching on the scroll LED. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-12 Gaius Mulley + + PR modula2/109830 + * gm2-libs-iso/SeqFile.mod (newCid): New parameter toAppend + used to select FIO.OpenForRandom. + (OpenRead): Pass extra parameter to newCid. + (OpenWrite): Pass extra parameter to newCid. + (OpenAppend): Pass extra parameter to newCid. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-11 Gaius Mulley + + PR modula2/109810 + * gm2-compiler/M2ALU.mod (ConvertConstToType): Use + PrepareCopyString in place of DoCopyString. + * gm2-compiler/M2GenGCC.def (DoCopyString): Rename to ... + (PrepareCopyString): ... this. + * gm2-compiler/M2GenGCC.mod (CodeStatement): Call CodeReturnValue + with a single parameter. Call CodeXIndr with a single parameter. + (CodeReturnValue): Remove parameters and replace with a single + quadno. Reimplement using PrepareCopyString. Issue error + if the string exceeds designator space. + (DoCopyString): Reimplement and rename to ... + (PrepareCopyString): ... this. + (CodeXIndr): Remove parameters and replace with a single + quadno. Reimplement using PrepareCopyString. Issue error + if the string exceeds designator space. + (CodeBecomes): Remove parameters and replace with a single + quadno. Reimplement using PrepareCopyString. Issue error + if the string exceeds designator space. + * gm2-compiler/M2Quads.def (BuildReturn): Rename parameter to + tokreturn. + * gm2-compiler/M2Quads.mod (BuildReturn): Rename parameter to + tokreturn. Rename tokno to tokcombined. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-09 Gaius Mulley + + PR modula2/109779 + * gm2-libs-iso/RTgen.mod (doLook): Remove old. + Remove re-assignment of result. + * gm2-libs-iso/TextIO.mod (CanRead): Rename into ... + (CharAvailable): ... this. + (DumpState): New procedure. + (SetResult): Rename as SetNul. + (WasGoodChar): Rename into ... + (EofOrEoln): ... this. + (SkipLine): Skip over the newline. + (ReadString): Flip THEN ELSE statements after testing for + EofOrEoln. + (ReadRestLine): Flip THEN ELSE statements after testing for + EofOrEoln. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-04 Gaius Mulley + + PR modula2/109729 + PR modula2/110246 + * gm2-compiler/M2GenGCC.mod (CodeStatement): Detect + ArithAddOp and call CodeAddChecked. + (ResolveConstantExpressions): Detect ArithAddOp and call + FoldArithAdd. + (FoldArithAdd): New procedure. + (FoldAdd): Refactor to use FoldArithAdd. + * gm2-compiler/M2Quads.def (QuadOperator): Add ArithAddOp. + * gm2-compiler/M2Quads.mod: Remove commented imports. + (QuadFrame): Changed comments to use GNU coding standards. + (ArithPlusTok): New global variable. + (BuildForToByDo): Use ArithPlusTok instead of PlusTok. + (MakeOp): Detect ArithPlusTok and return ArithAddOp. + (WriteQuad): Add ArithAddOp clause. + (WriteOperator): Add ArithAddOp clause. + (Init): Initialize ArithPlusTok. + + 2023-07-28 Gaius Mulley + + * Make-maintainer.in (m2/m2obj3/cc1gm2$(exeext)): + Remove M2LINK.o from dependency and build rule. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-05-04 Gaius Mulley + + PR modula2/109675 + * Make-lang.in (MC-LIB-DEFS): Remove M2LINK.def. + (BUILD-PGE-O): Remove GM2LINK.o. + * Make-maintainer.in (PPG-DEFS): New define. + (PPG-LIB-DEFS): Remove M2LINK.def. + (BUILD-BOOT-PPG-H): Add PPGDEF .h files. + (m2/ppg$(exeext)): Remove M2LINK.o + (PGE-DEPS): New define. + (m2/pg$(exeext)): Remove M2LINK.o. + (m2/gm2-pge-boot/$(SRC_PREFIX)%.o): Add -Im2/gm2-pge-boot. + (m2/pge$(exeext)): Remove M2LINK.o. + (pge-maintainer): Re-implement. + (pge-libs-push): Re-implement. + (m2/m2obj3/cc1gm2$(exeext)): Remove M2LINK.o. + * gm2-libs/DynamicStrings.mod (writeAddress): Re-implement + using snprintf. + * gm2-libs/M2Dependent.mod: Remove commented out imports. + * mc-boot/GDynamicStrings.cc: Rebuild. + * mc-boot/GFIO.cc: Rebuild. + * mc-boot/GFormatStrings.cc: Rebuild. + * mc-boot/GM2Dependent.cc: Rebuild. + * mc-boot/GM2Dependent.h: Rebuild. + * mc-boot/GM2RTS.cc: Rebuild. + * mc-boot/GM2RTS.h: Rebuild. + * mc-boot/GRTExceptions.cc: Rebuild. + * mc-boot/GRTint.cc: Rebuild. + * mc-boot/GSFIO.cc: Rebuild. + * mc-boot/GStringConvert.cc: Rebuild. + * mc-boot/Gdecl.cc: Rebuild. + * pge-boot/GASCII.cc: Rebuild. + * pge-boot/GASCII.h: Rebuild. + * pge-boot/GArgs.cc: Rebuild. + * pge-boot/GArgs.h: Rebuild. + * pge-boot/GAssertion.cc: Rebuild. + * pge-boot/GAssertion.h: Rebuild. + * pge-boot/GBreak.h: Rebuild. + * pge-boot/GCmdArgs.h: Rebuild. + * pge-boot/GDebug.cc: Rebuild. + * pge-boot/GDebug.h: Rebuild. + * pge-boot/GDynamicStrings.cc: Rebuild. + * pge-boot/GDynamicStrings.h: Rebuild. + * pge-boot/GEnvironment.h: Rebuild. + * pge-boot/GFIO.cc: Rebuild. + * pge-boot/GFIO.h: Rebuild. + * pge-boot/GFormatStrings.h:: Rebuild. + * pge-boot/GFpuIO.h:: Rebuild. + * pge-boot/GIO.cc: Rebuild. + * pge-boot/GIO.h: Rebuild. + * pge-boot/GIndexing.cc: Rebuild. + * pge-boot/GIndexing.h: Rebuild. + * pge-boot/GLists.cc: Rebuild. + * pge-boot/GLists.h: Rebuild. + * pge-boot/GM2Dependent.cc: Rebuild. + * pge-boot/GM2Dependent.h: Rebuild. + * pge-boot/GM2EXCEPTION.cc: Rebuild. + * pge-boot/GM2EXCEPTION.h: Rebuild. + * pge-boot/GM2RTS.cc: Rebuild. + * pge-boot/GM2RTS.h: Rebuild. + * pge-boot/GNameKey.cc: Rebuild. + * pge-boot/GNameKey.h: Rebuild. + * pge-boot/GNumberIO.cc: Rebuild. + * pge-boot/GNumberIO.h: Rebuild. + * pge-boot/GOutput.cc: Rebuild. + * pge-boot/GOutput.h: Rebuild. + * pge-boot/GPushBackInput.cc: Rebuild. + * pge-boot/GPushBackInput.h: Rebuild. + * pge-boot/GRTExceptions.cc: Rebuild. + * pge-boot/GRTExceptions.h: Rebuild. + * pge-boot/GSArgs.h: Rebuild. + * pge-boot/GSEnvironment.h: Rebuild. + * pge-boot/GSFIO.cc: Rebuild. + * pge-boot/GSFIO.h: Rebuild. + * pge-boot/GSYSTEM.h: Rebuild. + * pge-boot/GScan.h: Rebuild. + * pge-boot/GStdIO.cc: Rebuild. + * pge-boot/GStdIO.h: Rebuild. + * pge-boot/GStorage.cc: Rebuild. + * pge-boot/GStorage.h: Rebuild. + * pge-boot/GStrCase.cc: Rebuild. + * pge-boot/GStrCase.h: Rebuild. + * pge-boot/GStrIO.cc: Rebuild. + * pge-boot/GStrIO.h: Rebuild. + * pge-boot/GStrLib.cc: Rebuild. + * pge-boot/GStrLib.h: Rebuild. + * pge-boot/GStringConvert.h: Rebuild. + * pge-boot/GSymbolKey.cc: Rebuild. + * pge-boot/GSymbolKey.h: Rebuild. + * pge-boot/GSysExceptions.h: Rebuild. + * pge-boot/GSysStorage.cc: Rebuild. + * pge-boot/GSysStorage.h: Rebuild. + * pge-boot/GTimeString.h: Rebuild. + * pge-boot/GUnixArgs.h: Rebuild. + * pge-boot/Gbnflex.cc: Rebuild. + * pge-boot/Gbnflex.h: Rebuild. + * pge-boot/Gdtoa.h: Rebuild. + * pge-boot/Gerrno.h: Rebuild. + * pge-boot/Gldtoa.h: Rebuild. + * pge-boot/Glibc.h: Rebuild. + * pge-boot/Glibm.h: Rebuild. + * pge-boot/Gpge.cc: Rebuild. + * pge-boot/Gtermios.h: Rebuild. + * pge-boot/Gwrapc.h: Rebuild. + * mc-boot/GM2LINK.h: Removed. + * pge-boot/GM2LINK.cc: Removed. + * pge-boot/GM2LINK.h: Removed. + + 2023-07-28 Gaius Mulley + + Backported from master: + 2023-04-26 Gaius Mulley + + PR modula2/108121 + * gm2-compiler/M2ALU.mod (Less): Reformatted. + * gm2-compiler/SymbolTable.mod (DetermineSizeOfConstant): Remove + from import. + (ConstantStringExceedsZType): Import. + (GetConstLitType): Re-implement using ConstantStringExceedsZType. + * gm2-gcc/m2decl.cc (m2decl_DetermineSizeOfConstant): Remove. + (m2decl_ConstantStringExceedsZType): New function. + (m2decl_BuildConstLiteralNumber): Re-implement. + * gm2-gcc/m2decl.def (DetermineSizeOfConstant): Remove. + (ConstantStringExceedsZType): New function. + * gm2-gcc/m2decl.h (m2decl_DetermineSizeOfConstant): Remove. + (m2decl_ConstantStringExceedsZType): New function. + * gm2-gcc/m2expr.cc (append_digit): Remove. + (m2expr_interpret_integer): Remove. + (append_m2_digit): Remove. + (m2expr_StrToWideInt): New function. + (m2expr_interpret_m2_integer): Remove. + * gm2-gcc/m2expr.def (CheckConstStrZtypeRange): New function. + * gm2-gcc/m2expr.h (m2expr_StrToWideInt): New function. + * gm2-gcc/m2type.cc (build_m2_word64_type_node): New function. + (build_m2_ztype_node): New function. + (m2type_InitBaseTypes): Call build_m2_ztype_node. + * gm2-lang.cc (gm2_type_for_size): Re-write using early returns. + + 2023-07-27 Gaius Mulley + + Backported from master: + 2023-04-21 Gaius Mulley + + PR modula2/109586 + * gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE + (t) == CONSTRUCTOR) to expression. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/m2/Make-lang.in gcc-13.3.0/gcc/m2/Make-lang.in *** gcc-13.2.0/gcc/m2/Make-lang.in Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/Make-lang.in Tue May 21 07:47:38 2024 *************** GM2_CROSS_NAME = `echo gm2|sed '$(progra *** 27,32 **** --- 27,39 ---- M2_MAINTAINER = no + # CM2DEP must match the COMPILE and POSTCOMPILE defines in gcc/Make-lang.in + ifeq ($(CXXDEPMODE),depmode=gcc3) + CM2DEP=-MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo + else + CM2DEP= + endif + GM2_1 = ./gm2 -B./m2/stage1 -g -fm2-g GM2_FOR_TARGET = $(STAGE_CC_WRAPPER) ./gm2 -B./ -B$(build_tooldir)/bin/ -L$(objdir)/../ld $(TFLAGS) *************** else *** 39,44 **** --- 46,52 ---- PLUGINLDFLAGS = -Wl,-undefined,dynamic_lookup PLUGINLDFLAGS += -Wl,-install_name,m2rte$(soext) PLUGINLDFLAGS += -nodefaultlibs + PLUGINLDFLAGS += -lc endif TEXISRC = $(srcdir)/doc/gm2.texi \ *************** PGE=m2/pge$(exeext) *** 90,95 **** --- 98,107 ---- SRC_PREFIX=G + ifeq ($(enable_plugin),yes) + M2RTE_PLUGIN_SO=plugin/m2rte$(soext) + endif + m2/gm2spec.o: $(srcdir)/m2/gm2spec.cc $(SYSTEM_H) $(GCC_H) $(CONFIG_H) \ m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) \ $(generated_files) $(C_TREE_H) insn-attr-common.h *************** po-generated: *** 122,130 **** # Build hooks: ! m2.all.cross: gm2-cross$(exeext) plugin/m2rte$(soext) ! m2.start.encap: gm2$(exeext) plugin/m2rte$(soext) m2.rest.encap: --- 134,142 ---- # Build hooks: ! m2.all.cross: gm2-cross$(exeext) $(M2RTE_PLUGIN_SO) ! m2.start.encap: gm2$(exeext) $(M2RTE_PLUGIN_SO) m2.rest.encap: *************** m2.uninstall: *** 400,408 **** -rm -rf $(bindir)/$(GM2_INSTALL_NAME) -rm -rf $(bindir)/$(GM2_CROSS_NAME) m2.install-plugin: installdirs $(mkinstalldirs) $(DESTDIR)$(plugin_resourcesdir) ! $(INSTALL_PROGRAM) plugin/m2rte$(soext) $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) chmod a+x $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) override PLUGINCFLAGS := $(filter-out -mdynamic-no-pic,$(PLUGINCFLAGS)) --- 412,421 ---- -rm -rf $(bindir)/$(GM2_INSTALL_NAME) -rm -rf $(bindir)/$(GM2_CROSS_NAME) + ifeq ($(enable_plugin),yes) m2.install-plugin: installdirs $(mkinstalldirs) $(DESTDIR)$(plugin_resourcesdir) ! $(INSTALL_PROGRAM) $(M2RTE_PLUGIN_SO) $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) chmod a+x $(DESTDIR)$(plugin_resourcesdir)/m2rte$(soext) override PLUGINCFLAGS := $(filter-out -mdynamic-no-pic,$(PLUGINCFLAGS)) *************** plugin/m2rte$(soext): $(srcdir)/m2/plugi *** 412,417 **** --- 425,436 ---- -test -d $(@D) || $(mkinstalldirs) $(@D) $(PLUGINCC) $(PLUGINCFLAGS) -fno-rtti -I. -I$(srcdir) $(INCINTL) -I$(srcdir)/m2 -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/../include -I$(srcdir)/../libcpp/include -Wall $(GMPINC) -Wno-literal-suffix -fPIC -c -o plugin/m2rte.o $(srcdir)/m2/plugin/m2rte.cc $(PLUGINCC) $(PLUGINCFLAGS) $(PLUGINLDFLAGS) $(PLUGINLIBS) $(LIBINTL) -fno-rtti plugin/m2rte.o -shared -o $@ + else + m2.install-plugin: + + plugin/m2rte$(soext): + + endif # Clean hooks: *************** GM2_G=-g -fm2-g *** 462,478 **** GM2_CPP= # GM2_DEBUG_STRMEM=-fcpp GM2_DEBUG_STRMEM= ! GM2_FLAGS=-Wunused-variable -fsoft-check-all \ ! -fno-return -Wreturn-type \ $(GM2_G) $(GM2_O) \ -funbounded-by-reference -fpim -fextended-opaque \ ! -Wpedantic-cast -Wpedantic-param-names -ffunction-sections \ ! -fdata-sections $(GM2_CPP) # -fauto-init GM2_ISO_FLAGS=-fsoft-check-all $(GM2_G) $(GM2_O) \ ! -fno-return -Wreturn-type \ -funbounded-by-reference -fiso -fextended-opaque \ ! -Wpedantic-cast -Wpedantic-param-names -ffunction-sections \ ! -fdata-sections $(GM2_CPP) GM2_MIN_FLAGS=$(GM2_G) $(GM2_OS) \ -funbounded-by-reference -fextended-opaque \ -Wpedantic-cast -Wpedantic-param-names -fno-exceptions \ --- 481,501 ---- GM2_CPP= # GM2_DEBUG_STRMEM=-fcpp GM2_DEBUG_STRMEM= ! GM2_FLAGS=-fsoft-check-all \ ! -fno-return \ $(GM2_G) $(GM2_O) \ -funbounded-by-reference -fpim -fextended-opaque \ ! -Wcase-enum -Wpedantic-cast -Wpedantic-param-names \ ! -Wreturn-type -Wunused-variable -Wuninit-variable-checking \ ! -ffunction-sections -fdata-sections \ ! $(GM2_CPP) # -fauto-init GM2_ISO_FLAGS=-fsoft-check-all $(GM2_G) $(GM2_O) \ ! -fno-return \ -funbounded-by-reference -fiso -fextended-opaque \ ! -Wcase-enum -Wpedantic-cast -Wpedantic-param-names -Wreturn-type \ ! -Wunused-variable -Wuninit-variable-checking \ ! -ffunction-sections -fdata-sections \ ! $(GM2_CPP) GM2_MIN_FLAGS=$(GM2_G) $(GM2_OS) \ -funbounded-by-reference -fextended-opaque \ -Wpedantic-cast -Wpedantic-param-names -fno-exceptions \ *************** SO=-O0 -g -fPIC *** 485,491 **** # Language-specific object files for the gm2 compiler. GM2_C_OBJS = m2/gm2-lang.o \ - m2/stor-layout.o \ m2/m2pp.o \ m2/gm2-gcc/m2assert.o \ m2/gm2-gcc/m2block.o \ --- 508,513 ---- *************** GM2_LIBS_BOOT = m2/gm2-compiler-boot *** 511,522 **** m2/gm2-libs-boot/libgm2.a \ $(GM2-BOOT-O) cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) $(m2.prev) cp -p $< $@ m2/stage2/cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) m2/gm2-compiler/m2flex.o $(P) \ $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) $(GM2_LIBS) \ ! m2/gm2-gcc/rtegraph.o plugin/m2rte$(soext) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) +$(LLINKER) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GM2_C_OBJS) m2/gm2-compiler/m2flex.o \ --- 533,547 ---- m2/gm2-libs-boot/libgm2.a \ $(GM2-BOOT-O) + m2_OBJS = $(GM2_C_OBJS) m2/gm2-gcc/rtegraph.o \ + m2/gm2-compiler-boot/m2flex.o + cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) $(m2.prev) cp -p $< $@ m2/stage2/cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) m2/gm2-compiler/m2flex.o $(P) \ $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) $(GM2_LIBS) \ ! m2/gm2-gcc/rtegraph.o $(M2RTE_PLUGIN_SO) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) +$(LLINKER) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GM2_C_OBJS) m2/gm2-compiler/m2flex.o \ *************** m2/stage2/cc1gm2$(exeext): m2/stage1/cc1 *** 529,535 **** m2/stage1/cc1gm2$(exeext): gm2$(exeext) m2/gm2-compiler-boot/m2flex.o \ $(P) $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) \ $(GM2_LIBS_BOOT) $(MC_LIBS) \ ! m2/gm2-gcc/rtegraph.o plugin/m2rte$(soext) \ $(m2.prev) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) --- 554,560 ---- m2/stage1/cc1gm2$(exeext): gm2$(exeext) m2/gm2-compiler-boot/m2flex.o \ $(P) $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) \ $(GM2_LIBS_BOOT) $(MC_LIBS) \ ! m2/gm2-gcc/rtegraph.o $(M2RTE_PLUGIN_SO) \ $(m2.prev) -test -d $(@D) || $(mkinstalldirs) $(@D) @$(call LINK_PROGRESS,$(INDEX.m2),start) *************** GCC_HEADER_DEPENDENCIES_FOR_M2 = $(BUILD *** 549,596 **** $(generated_files) insn-attr-common.h m2/gm2-gcc/%.o: $(srcdir)/m2/gm2-gcc/%.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(COMPILER) -c -g $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) m2/gm2-gcc/m2configure.o: $(srcdir)/m2/gm2-gcc/m2configure.cc \ $(SYSTEM_H) $(GCC_H) $(CONFIG_H) \ m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) \ $(generated_files) $(C_TREE_H) insn-attr-common.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(DRIVER_DEFINES) \ -DLIBSUBDIR=\"$(libsubdir)\" \ -DPREFIX=\"$(prefix)\" \ -c $(srcdir)/m2/gm2-gcc/m2configure.cc $(OUTPUT_OPTION) m2/gm2-lang.o: $(srcdir)/m2/gm2-lang.cc gt-m2-gm2-lang.h $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) -c -g $(GM2GCC) $(ALL_COMPILERFLAGS) \ -DLIBSUBDIR=\"$(libsubdir)\" \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) ! ! m2/stor-layout.o: $(srcdir)/stor-layout.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) -c -DSET_WORD_SIZE=INT_TYPE_SIZE $(ALL_COMPILERFLAGS) \ ! $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) m2/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) -c -g -DGM2 $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) m2/gm2-gcc/rtegraph.o: $(srcdir)/m2/gm2-gcc/rtegraph.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) \ gt-m2-rtegraph.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(COMPILER) -c -g $(GM2GCC) $(ALL_COMPILERFLAGS) \ ! $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) ! ! c-family/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) -c -g $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) m2/gm2-gcc/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-gcc/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-gcc/$*.def # The following tables define the source files which are translated into C using mc # and defines the system interface C files. --- 574,625 ---- $(generated_files) insn-attr-common.h m2/gm2-gcc/%.o: $(srcdir)/m2/gm2-gcc/%.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(COMPILER) $(CM2DEP) -c -g $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) + $(POSTCOMPILE) m2/gm2-gcc/m2configure.o: $(srcdir)/m2/gm2-gcc/m2configure.cc \ $(SYSTEM_H) $(GCC_H) $(CONFIG_H) \ m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) \ $(generated_files) $(C_TREE_H) insn-attr-common.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(COMPILER) $(CM2DEP) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(DRIVER_DEFINES) \ -DLIBSUBDIR=\"$(libsubdir)\" \ -DPREFIX=\"$(prefix)\" \ -c $(srcdir)/m2/gm2-gcc/m2configure.cc $(OUTPUT_OPTION) + $(POSTCOMPILE) m2/gm2-lang.o: $(srcdir)/m2/gm2-lang.cc gt-m2-gm2-lang.h $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) $(CM2DEP) -c -g $(GM2GCC) $(ALL_COMPILERFLAGS) \ -DLIBSUBDIR=\"$(libsubdir)\" \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) ! $(POSTCOMPILE) m2/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) ! $(COMPILER) $(CM2DEP) -c -g -DGM2 $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) + $(POSTCOMPILE) m2/gm2-gcc/rtegraph.o: $(srcdir)/m2/gm2-gcc/rtegraph.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) \ gt-m2-rtegraph.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(COMPILER) $(CM2DEP) -c -g $(GM2GCC) $(ALL_COMPILERFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) + $(POSTCOMPILE) m2/gm2-gcc/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-gcc/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-gcc/$*.def + ifeq ($(HAVE_PYTHON),yes) + check-format-error: + $(PYTHON) $(srcdir)/m2/tools-src/checkmeta.py -s $(srcdir)/m2/gm2-compiler + else + check-format-error: + endif + # The following tables define the source files which are translated into C using mc # and defines the system interface C files. *************** GM2-COMP-BOOT-DEFS = \ *** 741,746 **** --- 770,776 ---- M2StackWord.def \ M2Students.def \ M2Swig.def \ + M2SymInit.def \ M2System.def \ NameKey.def \ ObjectFiles.def \ *************** GM2-COMP-BOOT-MODS = \ *** 813,818 **** --- 843,849 ---- M2StackWord.mod \ M2Students.mod \ M2Swig.mod \ + M2SymInit.mod \ M2System.mod \ NameKey.mod \ NameKey.mod \ *************** GM2-COMP-DEFS = \ *** 1018,1023 **** --- 1049,1055 ---- M2StackWord.def \ M2Students.def \ M2Swig.def \ + M2SymInit.def \ M2System.def \ NameKey.def \ ObjectFiles.def \ *************** GM2-COMP-MODS = \ *** 1087,1092 **** --- 1119,1125 ---- M2StackWord.mod \ M2Students.mod \ M2Swig.mod \ + M2SymInit.mod \ M2System.mod \ NameKey.mod \ ObjectFiles.mod \ *************** MC-LIB-DEFS = \ *** 1161,1167 **** IO.def \ M2Dependent.def \ M2EXCEPTION.def \ - M2LINK.def \ M2RTS.def \ MemUtils.def \ NumberIO.def \ --- 1194,1199 ---- *************** m2/boot-bin/mc$(exeext): $(BUILD-MC-BOOT *** 1353,1478 **** mcflex.o m2/gm2-libs-boot/RTcodummy.o -lm m2/mc-boot/$(SRC_PREFIX)%.o: m2/mc-boot/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) $(CXXFLAGS) -g -c -I. -I$(srcdir)/m2/mc-boot-ch -I$(srcdir)/m2/mc-boot -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) $< -o $@ m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h -test -d $(@D) || $(mkinstalldirs) $(@D) $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ m2/mc-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit ! -test -d $(@D) || $(mkinstalldirs) $(@D) unset CC ; $(M2LINK) -s --langc++ --exit --name m2/mc-boot/main.cc $(srcdir)/m2/init/mcinit ! $(CXX) $(CXXFLAGS) -g -c -I. -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) m2/mc-boot/main.cc -o $@ mcflex.o: mcflex.c m2/gm2-libs/gm2-libs-host.h ! $(CC) $(CFLAGS) -I$(srcdir)/m2/mc -g -c $< -o $@ # remember that mcReserved.h is copied into m2/mc mcflex.c: $(srcdir)/m2/mc/mc.flex flex -t $< > $@ m2/gm2-libs-boot/M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) --suppress-noreturn -o=m2/gm2-libs-boot/M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod ! $(COMPILER) -c -DIN_GCC $(CFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/M2RTS.c -o $@ m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs-boot/$*.mod ! $(COMPILER) -c -DIN_GCC $(CFLAGS) $(MCINCLUDES) m2/gm2-libs-boot/$*.c -o $@ m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs/$*.mod ! $(COMPILER) -c -DIN_GCC $(CFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/$*.c -o $@ m2/gm2-libs-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def m2/gm2-libs-boot/RTcodummy.o: $(srcdir)/m2/gm2-libs-ch/RTcodummy.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c -DIN_GCC $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/RTintdummy.o: $(srcdir)/m2/gm2-libs-ch/RTintdummy.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c -DIN_GCC $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c -DHAVE_CONFIG_H $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libs $(INCLUDES) $< -o $@ m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c -DIN_GCC $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c m2/gm2-libs-boot/$(SRC_PREFIX)errno.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c $(BUILD-LIBS-BOOT-H) m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/SysExceptions.o: $(srcdir)/m2/gm2-libs-ch/SysExceptions.c \ m2/gm2-libs-boot/$(SRC_PREFIX)SysExceptions.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=m2/gm2-libs-boot/SysStorage.c $(srcdir)/m2/gm2-libs/SysStorage.mod ! $(COMPILER) -DIN_GCC -c $(CFLAGS) \ ! -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) \ ! m2/gm2-libs-boot/SysStorage.c -o m2/gm2-libs-boot/SysStorage.o m2/gm2-compiler-boot/M2GCCDeclare.o: $(srcdir)/m2/gm2-compiler/M2GCCDeclare.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2GCCDeclare.c $< ! $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2GCCDeclare.c -o $@ m2/gm2-compiler-boot/M2Error.o: $(srcdir)/m2/gm2-compiler/M2Error.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2Error.c $< ! $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2Error.c -o $@ m2/gm2-compiler-boot/%.o: $(srcdir)/m2/gm2-compiler/%.mod $(BUILD-BOOT-H) $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=m2/gm2-compiler-boot/$*.c $(srcdir)/m2/gm2-compiler/$*.mod ! $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot -Im2/gm2-libiberty \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ m2/gm2-compiler-boot/%.o: m2/gm2-compiler-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=m2/gm2-compiler-boot/$*.c m2/gm2-compiler-boot/$*.mod ! $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) --- 1385,1534 ---- mcflex.o m2/gm2-libs-boot/RTcodummy.o -lm m2/mc-boot/$(SRC_PREFIX)%.o: m2/mc-boot/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -g -c -I. -I$(srcdir)/m2/mc-boot-ch -I$(srcdir)/m2/mc-boot -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ ! $(POSTCOMPILE) m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.cc m2/gm2-libs/gm2-libs-host.h -test -d $(@D) || $(mkinstalldirs) $(@D) $(CXX) $(CXXFLAGS) -DHAVE_CONFIG_H -g -c -I. -Im2/gm2-libs -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) -Im2/gm2-libs $< -o $@ m2/mc-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) unset CC ; $(M2LINK) -s --langc++ --exit --name m2/mc-boot/main.cc $(srcdir)/m2/init/mcinit ! $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) -g -c -I. -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) m2/mc-boot/main.cc -o $@ ! $(POSTCOMPILE) mcflex.o: mcflex.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CC) $(CM2DEP) $(CFLAGS) $(GM2_PICFLAGS) -I$(srcdir)/m2/mc -g -c $< -o $@ # remember that mcReserved.h is copied into m2/mc ! $(POSTCOMPILE) mcflex.c: $(srcdir)/m2/mc/mc.flex flex -t $< > $@ m2/gm2-libs-boot/M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) --suppress-noreturn -o=m2/gm2-libs-boot/M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod ! $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/M2RTS.c -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs-boot/$*.mod ! $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MCINCLUDES) m2/gm2-libs-boot/$*.c -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs/$*.mod ! $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/$*.c -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def m2/gm2-libs-boot/RTcodummy.o: $(srcdir)/m2/gm2-libs-ch/RTcodummy.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/RTintdummy.o: $(srcdir)/m2/gm2-libs-ch/RTintdummy.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c -DHAVE_CONFIG_H $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libs $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c m2/gm2-libs-boot/$(SRC_PREFIX)errno.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c $(BUILD-LIBS-BOOT-H) m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/SysExceptions.o: $(srcdir)/m2/gm2-libs-ch/SysExceptions.c \ m2/gm2-libs-boot/$(SRC_PREFIX)SysExceptions.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/SysStorage.c $(srcdir)/m2/gm2-libs/SysStorage.mod ! $(COMPILER) $(CM2DEP) -DIN_GCC -c $(CFLAGS) $(GM2_PICFLAGS) \ ! -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(MCINCLUDES) $(INCLUDES) \ ! m2/gm2-libs-boot/SysStorage.c -o m2/gm2-libs-boot/SysStorage.o ! $(POSTCOMPILE) m2/gm2-compiler-boot/M2GCCDeclare.o: $(srcdir)/m2/gm2-compiler/M2GCCDeclare.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2GCCDeclare.c $< ! $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2GCCDeclare.c -o $@ ! $(POSTCOMPILE) m2/gm2-compiler-boot/M2Error.o: $(srcdir)/m2/gm2-compiler/M2Error.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) --extended-opaque -o=m2/gm2-compiler-boot/M2Error.c $< ! $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2Error.c -o $@ ! $(POSTCOMPILE) m2/gm2-compiler-boot/%.o: $(srcdir)/m2/gm2-compiler/%.mod $(BUILD-BOOT-H) $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/$*.c $(srcdir)/m2/gm2-compiler/$*.mod ! ! $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot -Im2/gm2-libiberty \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ ! $(POSTCOMPILE) m2/gm2-compiler-boot/%.o: m2/gm2-compiler-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/$*.c m2/gm2-compiler-boot/$*.mod ! $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ ! -I. -I$(srcdir)/../include -I$(srcdir) \ ! -I. -Im2/gm2-libs-boot -Im2/gm2-compiler-boot \ ! -I$(srcdir)/m2/gm2-libiberty $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ ! $(POSTCOMPILE) m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) *************** m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $ *** 1481,1490 **** m2/gm2-compiler-boot/m2flex.o: m2/gm2-compiler/m2flex.c $(BUILD-BOOT-H) $(TIMEVAR_H) \ $(BUILD-LIBS-BOOT-H) m2/gm2-compiler-boot/$(SRC_PREFIX)NameKey.h \ $(CONFIG_H) m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(COMPILER) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(GM2GCC) $(INCLUDES) -I$(srcdir)/m2 \ -Im2 -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ m2/gm2-compiler/m2flex.c: $(srcdir)/m2/m2.flex $(TIMEVAR_H) insn-attr-common.h -test -d $(@D) || $(mkinstalldirs) $(@D) --- 1537,1547 ---- m2/gm2-compiler-boot/m2flex.o: m2/gm2-compiler/m2flex.c $(BUILD-BOOT-H) $(TIMEVAR_H) \ $(BUILD-LIBS-BOOT-H) m2/gm2-compiler-boot/$(SRC_PREFIX)NameKey.h \ $(CONFIG_H) m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(COMPILER) $(CM2DEP) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(GM2GCC) $(INCLUDES) -I$(srcdir)/m2 \ -Im2 -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ + $(POSTCOMPILE) m2/gm2-compiler/m2flex.c: $(srcdir)/m2/m2.flex $(TIMEVAR_H) insn-attr-common.h -test -d $(@D) || $(mkinstalldirs) $(@D) *************** m2/gm2-compiler/%.o: $(srcdir)/m2/gm2-co *** 1501,1523 **** $(GM2_1) $(GM2_FLAGS) -c -I$(srcdir)/m2/gm2-compiler -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/m2/gm2-libiberty $< -o $@ m2/gm2-compiler/m2flex.o: m2/gm2-compiler/m2flex.c m2/gm2-libs/gm2-libs-host.h $(TIMEVAR_H) ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(COMPILER) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ ! $(GM2GCC) -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ m2/gm2-compiler/%.o: m2/gm2-compiler/%.mod -test -d $(@D) || $(mkinstalldirs) $(@D) $(GM2_1) $(GM2_FLAGS) -c -I$(srcdir)/m2/gm2-compiler -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/m2/gm2-libiberty $< -o $@ m2/gm2-libs-iso/%.o: $(srcdir)/m2/gm2-libs-iso/%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -DBUILD_GM2_LIBS_TARGET -DBUILD_GM2_LIBS -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs-iso/%.o: $(srcdir)/m2/gm2-libs-iso/%.mod -test -d $(@D) || $(mkinstalldirs) $(@D) $(GM2_1) $(GM2_ISO_FLAGS) -c -B./ -Im2/gm2-libs-iso:$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $< -o $@ - # We build the cc1gm2$(exeext) from the boot stage and then proceed to build it # again using itself. --- 1558,1581 ---- $(GM2_1) $(GM2_FLAGS) -c -I$(srcdir)/m2/gm2-compiler -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/m2/gm2-libiberty $< -o $@ m2/gm2-compiler/m2flex.o: m2/gm2-compiler/m2flex.c m2/gm2-libs/gm2-libs-host.h $(TIMEVAR_H) ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(COMPILER) $(CM2DEP) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ ! $(GM2GCC) -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ ! $(POSTCOMPILE) m2/gm2-compiler/%.o: m2/gm2-compiler/%.mod -test -d $(@D) || $(mkinstalldirs) $(@D) $(GM2_1) $(GM2_FLAGS) -c -I$(srcdir)/m2/gm2-compiler -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/m2/gm2-libiberty $< -o $@ m2/gm2-libs-iso/%.o: $(srcdir)/m2/gm2-libs-iso/%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -DBUILD_GM2_LIBS_TARGET -DBUILD_GM2_LIBS -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-iso/%.o: $(srcdir)/m2/gm2-libs-iso/%.mod -test -d $(@D) || $(mkinstalldirs) $(@D) $(GM2_1) $(GM2_ISO_FLAGS) -c -B./ -Im2/gm2-libs-iso:$(srcdir)/m2/gm2-libs-iso -I$(srcdir)/m2/gm2-libs $< -o $@ # We build the cc1gm2$(exeext) from the boot stage and then proceed to build it # again using itself. *************** m2/gm2-libs/%.o: $(srcdir)/m2/gm2-libs/% *** 1612,1627 **** $(GM2_1) -c $(GM2_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $< -o $@ m2/gm2-libs/%.o: $(srcdir)/m2/gm2-libs-ch/%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -DBUILD_GM2_LIBS -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs/%.o: $(srcdir)/m2/gm2-libs-ch/%.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ m2/gm2-libs/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) -c $(CFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ m2/gm2-libs-boot/libgm2.a: m2/boot-bin/mc$(exeext) $(BUILD-LIBS-BOOT) -test -d $(@D) || $(mkinstalldirs) $(@D) --- 1670,1688 ---- $(GM2_1) -c $(GM2_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-libs-iso $< -o $@ m2/gm2-libs/%.o: $(srcdir)/m2/gm2-libs-ch/%.c m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -DBUILD_GM2_LIBS -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs/%.o: $(srcdir)/m2/gm2-libs-ch/%.cc m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h m2/gm2-libs/gm2-libs-host.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-libs-boot/libgm2.a: m2/boot-bin/mc$(exeext) $(BUILD-LIBS-BOOT) -test -d $(@D) || $(mkinstalldirs) $(@D) *************** m2/gm2-compiler-boot/gm2.a: m2/boot-bin/ *** 1640,1647 **** m2/gm2-compiler-boot/gm2.a: m2/boot-bin/mc$(exeext) m2/boot-bin/mklink$(exeext): $(srcdir)/m2/tools-src/mklink.c ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) $(CFLAGS) -I$(srcdir)/m2 -Im2/gm2-libs-boot -Im2/gm2-compiler-boot -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) $< -o $@ m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler-boot/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) --- 1701,1709 ---- m2/gm2-compiler-boot/gm2.a: m2/boot-bin/mc$(exeext) m2/boot-bin/mklink$(exeext): $(srcdir)/m2/tools-src/mklink.c ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) $(CFLAGS) $(LDFLAGS) -I$(srcdir)/m2 -Im2/gm2-libs-boot -Im2/gm2-compiler-boot -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) $< -o $@ ! $(POSTCOMPILE) m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler-boot/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) *************** BUILD-PGE-O = \ *** 1710,1716 **** m2/pge-boot/Glibc.o \ m2/pge-boot/Gerrno.o \ m2/pge-boot/GUnixArgs.o \ - m2/pge-boot/GM2LINK.o \ m2/pge-boot/Gtermios.o \ m2/pge-boot/GSysExceptions.o \ m2/pge-boot/Gabort.o \ --- 1772,1777 ---- *************** ifeq ($(M2_MAINTAINER),yes) *** 1721,1732 **** include m2/Make-maintainer else m2/pge-boot/%.o: m2/pge-boot/%.c m2/gm2-libs/gm2-libs-host.h m2/gm2config.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) $(CFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ m2/pge-boot/%.o: m2/pge-boot/%.cc m2/gm2-libs/gm2-libs-host.h m2/gm2config.h ! -test -d $(@D) || $(mkinstalldirs) $(@D) ! $(CXX) $(CXXFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ $(PGE): $(BUILD-PGE-O) +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PGE-O) -lm --- 1782,1795 ---- include m2/Make-maintainer else m2/pge-boot/%.o: m2/pge-boot/%.c m2/gm2-libs/gm2-libs-host.h m2/gm2config.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) $(CFLAGS) $(GM2_PICFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ ! $(POSTCOMPILE) m2/pge-boot/%.o: m2/pge-boot/%.cc m2/gm2-libs/gm2-libs-host.h m2/gm2config.h ! -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) ! $(CXX) $(CM2DEP) $(CXXFLAGS) $(GM2_PICFLAGS) $(INCLUDES) -I$(srcdir)/m2/pge-boot -Im2/gm2-libs -g -c $< -o $@ ! $(POSTCOMPILE) $(PGE): $(BUILD-PGE-O) +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PGE-O) -lm diff -Nrcpad gcc-13.2.0/gcc/m2/Make-maintainer.in gcc-13.3.0/gcc/m2/Make-maintainer.in *** gcc-13.2.0/gcc/m2/Make-maintainer.in Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/Make-maintainer.in Tue May 21 07:47:38 2024 *************** *** 1,4 **** ! # Make-maintainer.in build support tools for GNU M2. # Copyright (C) 2022-2023 Free Software Foundation, Inc. --- 1,4 ---- ! # Make-maintainer.in subsidiary -*- makefile -*- build support for GNU M2 tools. # Copyright (C) 2022-2023 Free Software Foundation, Inc. *************** PPG-INTERFACE-CC = UnixArgs.cc ldtoa.cc *** 34,46 **** PPG-MODS = SymbolKey.mod NameKey.mod Lists.mod bnflex.mod Output.mod # Core library definition modules used by ppg found in the gm2-libs directory. PPG-LIB-DEFS = Args.def Assertion.def ASCII.def Debug.def \ DynamicStrings.def FIO.def Indexing.def IO.def \ NumberIO.def PushBackInput.def \ M2Dependent.def \ ! M2EXCEPTION.def M2LINK.def M2RTS.def \ RTExceptions.def \ StdIO.def SFIO.def StrIO.def StrLib.def \ Storage.def StrCase.def SysStorage.def --- 34,48 ---- PPG-MODS = SymbolKey.mod NameKey.mod Lists.mod bnflex.mod Output.mod + PPG-DEFS = SymbolKey.def NameKey.def Lists.def bnflex.def Output.def + # Core library definition modules used by ppg found in the gm2-libs directory. PPG-LIB-DEFS = Args.def Assertion.def ASCII.def Debug.def \ DynamicStrings.def FIO.def Indexing.def IO.def \ NumberIO.def PushBackInput.def \ M2Dependent.def \ ! M2EXCEPTION.def M2RTS.def \ RTExceptions.def \ StdIO.def SFIO.def StrIO.def StrLib.def \ Storage.def StrCase.def SysStorage.def *************** BUILD-PPG-H = m2/boot-bin/mc$(exeext) $( *** 97,103 **** BUILD-BOOT-PPG-H: $(BUILD-BOOT-H) \ m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.h \ ! m2/gm2-ppg-boot/$(SRC_PREFIX)M2Dependent.h m2/gm2-ppg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot --- 99,106 ---- BUILD-BOOT-PPG-H: $(BUILD-BOOT-H) \ m2/gm2-ppg-boot/$(SRC_PREFIX)M2RTS.h \ ! m2/gm2-ppg-boot/$(SRC_PREFIX)M2Dependent.h \ ! $(PPG-DEFS:%.def=m2/gm2-ppg-boot/$(SRC_PREFIX)%.h) m2/gm2-ppg-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot *************** m2/gm2-ppg-boot/$(SRC_PREFIX)%.o: $(srcd *** 133,144 **** -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ m2/ppg$(exeext): m2/boot-bin/mc $(BUILD-PPG-O) $(BUILD-MC-INTERFACE-O) m2/gm2-ppg-boot/main.o \ ! m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o \ ! m2/gm2-libs-boot/M2LINK.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PPG-O) m2/gm2-ppg-boot/main.o \ ! m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o \ ! m2/gm2-libs-boot/M2LINK.o -lm m2/gm2-ppg-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot --- 136,145 ---- -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-ppg-boot/$(SRC_PREFIX)$*.cc -o $@ m2/ppg$(exeext): m2/boot-bin/mc $(BUILD-PPG-O) $(BUILD-MC-INTERFACE-O) m2/gm2-ppg-boot/main.o \ ! m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PPG-O) m2/gm2-ppg-boot/main.o \ ! m2/gm2-libs-boot/RTcodummy.o m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm m2/gm2-ppg-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit -test -d m2/gm2-ppg-boot || $(mkinstalldirs) m2/gm2-ppg-boot *************** m2/gm2-ppg-boot/main.o: $(M2LINK) $(srcd *** 149,154 **** --- 150,159 ---- m2/gm2-auto: -test -d $@ || $(mkinstalldirs) $@ + c-family/m2pp.o : $(srcdir)/m2/m2pp.cc $(GCC_HEADER_DEPENDENCIES_FOR_M2) + $(COMPILER) -c -g $(ALL_COMPILERFLAGS) \ + $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) + # m2/pg$(exext) is the 2nd generation parser generator built from ebnf # without error recovery *************** PGE-DEF = ASCII.def \ *** 168,174 **** IO.def \ M2Dependent.def \ M2EXCEPTION.def \ - M2LINK.def \ M2RTS.def \ MemUtils.def \ NumberIO.def \ --- 173,178 ---- *************** PGE-DEF = ASCII.def \ *** 199,204 **** --- 203,300 ---- termios.def \ wrapc.def \ + PGE-DEPS = Gabort.cc \ + GArgs.cc \ + GArgs.h \ + GASCII.cc \ + GASCII.h \ + GAssertion.cc \ + GAssertion.h \ + Gbnflex.cc \ + Gbnflex.h \ + GBreak.h \ + GBuiltins.cc \ + Gcbuiltin.cc \ + GCmdArgs.h \ + GDebug.cc \ + GDebug.h \ + Gdtoa.cc \ + Gdtoa.h \ + GDynamicStrings.cc \ + GDynamicStrings.h \ + GEnvironment.h \ + Gerrno.cc \ + Gerrno.h \ + GFIO.cc \ + GFIO.h \ + GFormatStrings.h \ + GFpuIO.h \ + GIndexing.cc \ + GIndexing.h \ + GIO.cc \ + GIO.h \ + Gldtoa.cc \ + Gldtoa.h \ + Glibc.cc \ + Glibc.h \ + Glibm.cc \ + Glibm.h \ + GLists.cc \ + GLists.h \ + GM2Dependent.cc \ + GM2Dependent.h \ + GM2EXCEPTION.cc \ + GM2EXCEPTION.h \ + GM2RTS.cc \ + GM2RTS.h \ + Gmcrts.cc \ + Gmcrts.h \ + GNameKey.cc \ + GNameKey.h \ + Gnetwork.h \ + GNumberIO.cc \ + GNumberIO.h \ + GOutput.cc \ + GOutput.h \ + Gpge.cc \ + GPushBackInput.cc \ + GPushBackInput.h \ + GRTco.cc \ + GRTExceptions.cc \ + GRTExceptions.h \ + GSArgs.h \ + GScan.h \ + GSelective.cc \ + GSEnvironment.h \ + GSFIO.cc \ + GSFIO.h \ + GStdIO.cc \ + GStdIO.h \ + GStorage.cc \ + GStorage.h \ + GStrCase.cc \ + GStrCase.h \ + GStringConvert.h \ + GStrIO.cc \ + GStrIO.h \ + GStrLib.cc \ + GStrLib.h \ + GSymbolKey.cc \ + GSymbolKey.h \ + GSysExceptions.cc \ + GSysExceptions.h \ + GSysStorage.cc \ + GSysStorage.h \ + GSYSTEM.cc \ + GSYSTEM.h \ + Gtermios.cc \ + Gtermios.h \ + GTimeString.h \ + GUnixArgs.cc \ + GUnixArgs.h \ + Gwrapc.cc \ + Gwrapc.h + BUILD-PG-O = $(PPG-INTERFACE-C:%.c=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ $(PPG-INTERFACE-CC:%.cc=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ $(PPG-MODS:%.mod=m2/gm2-pg-boot/$(SRC_PREFIX)%.o) \ *************** m2/gm2-pg-boot/$(SRC_PREFIX)pg.o: m2/gm *** 252,262 **** m2/pg$(exeext): m2/boot-bin/mc \ $(BUILD-PG-O) $(GM2-PPG-MODS:%.mod=m2/gm2-pg-boot/%.o) \ $(BUILD-MC-INTERFACE-O) m2/gm2-pg-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o m2/gm2-libs-boot/M2LINK.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PG-O) \ m2/gm2-pg-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ - m2/gm2-libs-boot/M2LINK.o \ m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm m2/gm2-auto/pginit: --- 348,357 ---- m2/pg$(exeext): m2/boot-bin/mc \ $(BUILD-PG-O) $(GM2-PPG-MODS:%.mod=m2/gm2-pg-boot/%.o) \ $(BUILD-MC-INTERFACE-O) m2/gm2-pg-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PG-O) \ m2/gm2-pg-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm m2/gm2-auto/pginit: *************** m2/gm2-pge-boot/$(SRC_PREFIX)%.o: $(srcd *** 369,375 **** -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot $(MCC) -o=m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-compiler/$*.mod $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot -Im2/gm2-compiler-boot \ ! -Im2/gm2-libs-boot \ -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc -o $@ m2/gm2-pge-boot/$(SRC_PREFIX)pge.o: m2/gm2-auto/pge.mod $(MCDEPS) $(BUILD-BOOT-PGE-H) --- 464,470 ---- -test -d m2/gm2-pge-boot || $(mkinstalldirs) m2/gm2-pge-boot $(MCC) -o=m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc $(srcdir)/m2/gm2-compiler/$*.mod $(CXX) -I. -I$(srcdir)/../include -I$(srcdir) -I$(srcdir)/m2/mc-boot -Im2/gm2-compiler-boot \ ! -Im2/gm2-libs-boot -Im2/gm2-pge-boot \ -I$(srcdir)/m2/mc-boot-ch $(INCLUDES) -g -c m2/gm2-pge-boot/$(SRC_PREFIX)$*.cc -o $@ m2/gm2-pge-boot/$(SRC_PREFIX)pge.o: m2/gm2-auto/pge.mod $(MCDEPS) $(BUILD-BOOT-PGE-H) *************** m2/gm2-pge-boot/$(SRC_PREFIX)pge.o: m2/ *** 382,392 **** m2/pge$(exeext): m2/boot-bin/mc \ $(BUILD-PGE-O) $(GM2-PPG-MODS:%.mod=m2/gm2-pge-boot/%.o) \ $(BUILD-MC-INTERFACE-O) m2/gm2-pge-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o m2/gm2-libs-boot/M2LINK.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PGE-O) \ m2/gm2-pge-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o m2/gm2-libs-boot/M2LINK.o -lm $(SHELL) $(srcdir)/m2/tools-src/buildpg $(srcdir)/m2/gm2-compiler/ppg.mod t > m2/gm2-auto/t.bnf ./m2/pge$(exeext) m2/gm2-auto/t.bnf -o m2/gm2-auto/t1.mod ./m2/pg$(exeext) m2/gm2-auto/t.bnf -o m2/gm2-auto/t2.mod --- 477,487 ---- m2/pge$(exeext): m2/boot-bin/mc \ $(BUILD-PGE-O) $(GM2-PPG-MODS:%.mod=m2/gm2-pge-boot/%.o) \ $(BUILD-MC-INTERFACE-O) m2/gm2-pge-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o -test -d m2 || $(mkinstalldirs) m2 +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(BUILD-PGE-O) \ m2/gm2-pge-boot/main.o m2/gm2-libs-boot/RTcodummy.o \ ! m2/mc-boot-ch/$(SRC_PREFIX)abort.o -lm $(SHELL) $(srcdir)/m2/tools-src/buildpg $(srcdir)/m2/gm2-compiler/ppg.mod t > m2/gm2-auto/t.bnf ./m2/pge$(exeext) m2/gm2-auto/t.bnf -o m2/gm2-auto/t1.mod ./m2/pg$(exeext) m2/gm2-auto/t.bnf -o m2/gm2-auto/t2.mod *************** pge-help: force *** 436,460 **** @echo " make pge-app-push # copy pge C++ application modules into srcdir/m2/pge-boot" @echo " make pge-clean" ! pge-maintainer: $(PGE) # Copy the C++ sources for ppe.mod into $(srcdir)/pge-boot. pge-push: pge-libs-push pge-app-push pge-libs-push: force ! for i in $(cat $(srcdir)/m2/init/ppginit) ; do \ ! if [ -f $(srcdir)/m2/gm2-libs-ch/${i}.h ] ; then \ ! cp $(srcdir)/m2/gm2-libs-ch/${i}.h $(srcdir) ; \ ! else \ ! echo "not found ${i}" ; \ ! fi ; \ ! if [ -f $(srcdir)/m2/gm2-libs-ch/${i}.c* ] ; then \ ! cp $(srcdir)/m2/gm2-libs-ch/${i}.c* $(srcdir) ; \ ! elif [ -f $(srcdir)/m2/gm2-pge-libs/${i}.c* ] ; then \ ! cp $(srcdir)/m2/gm2-pge-libs/${i}.c* $(srcdir) ; \ else \ ! echo "not found ${i}" ; \ fi ; \ done --- 531,559 ---- @echo " make pge-app-push # copy pge C++ application modules into srcdir/m2/pge-boot" @echo " make pge-clean" ! # pge-maintainer: $(PGE) ! pge-maintainer: pge-clean $(PGE) pge-verify pge-push # Copy the C++ sources for ppe.mod into $(srcdir)/pge-boot. pge-push: pge-libs-push pge-app-push pge-libs-push: force ! for i in ${PGE-DEPS} ; do \ ! if [ -f ${srcdir}/m2/gm2-libs-ch/$${i} ] ; then \ ! echo cp ${srcdir}/m2/gm2-libs-ch/$${i} ${srcdir}/m2/pge-boot ; \ ! cp ${srcdir}/m2/gm2-libs-ch/$${i} ${srcdir}/m2/pge-boot ; \ ! elif [ -f m2/gm2-pge-boot/$${i} ] ; then \ ! echo cp m2/gm2-pge-boot/$${i} ${srcdir}/m2/pge-boot ; \ ! cp m2/gm2-pge-boot/$${i} ${srcdir}/m2/pge-boot ; \ ! elif [ -f m2/gm2-compiler-boot/$${i} ] ; then \ ! echo cp m2/gm2-compiler-boot/$${i} ${srcdir}/m2/pge-boot ; \ ! cp m2/gm2-compiler-boot/$${i} ${srcdir}/m2/pge-boot ; \ ! elif [ -f m2/gm2-libs-boot/$${i} ] ; then \ ! echo cp m2/gm2-libs-boot/$${i} ${srcdir}/m2/pge-boot ; \ ! cp m2/gm2-libs-boot/$${i} ${srcdir}/m2/pge-boot ; \ else \ ! echo "not found $${i}" ; \ fi ; \ done *************** gm2.paranoid: m2/m2obj3/cc1gm2$(exeext) *** 754,766 **** m2/m2obj3/cc1gm2$(exeext): m2/m2obj2/cc1gm2$(exeext) m2/gm2-compiler-paranoid/m2flex.o \ $(P) $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) $(GM2_LIBS_PARANOID) \ ! m2/gm2-gcc/rtegraph.o plugin/m2rte$(exeext).so m2/gm2-libs-boot/M2LINK.o -test -d m2/m2obj3 || $(mkinstalldirs) m2/m2obj3 @$(call LINK_PROGRESS,$(INDEX.m2),start) +$(LLINKER) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GM2_C_OBJS) m2/gm2-compiler-paranoid/m2flex.o \ attribs.o \ $(GM2_LIBS_PARANOID) \ ! $(BACKEND) $(LIBS) m2/gm2-gcc/rtegraph.o m2/gm2-libs-boot/M2LINK.o \ $(BACKENDLIBS) $(LIBSTDCXX) -lm @$(call LINK_PROGRESS,$(INDEX.m2),end) --- 853,865 ---- m2/m2obj3/cc1gm2$(exeext): m2/m2obj2/cc1gm2$(exeext) m2/gm2-compiler-paranoid/m2flex.o \ $(P) $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) $(GM2_LIBS_PARANOID) \ ! m2/gm2-gcc/rtegraph.o plugin/m2rte$(exeext).so -test -d m2/m2obj3 || $(mkinstalldirs) m2/m2obj3 @$(call LINK_PROGRESS,$(INDEX.m2),start) +$(LLINKER) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GM2_C_OBJS) m2/gm2-compiler-paranoid/m2flex.o \ attribs.o \ $(GM2_LIBS_PARANOID) \ ! $(BACKEND) $(LIBS) m2/gm2-gcc/rtegraph.o \ $(BACKENDLIBS) $(LIBSTDCXX) -lm @$(call LINK_PROGRESS,$(INDEX.m2),end) diff -Nrcpad gcc-13.2.0/gcc/m2/README gcc-13.3.0/gcc/m2/README *** gcc-13.2.0/gcc/m2/README Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/README Tue May 21 07:47:38 2024 *************** *** 1,25 **** - Building GNU Modula-2 - ===================== - - Please see the GCC documentation (gcc.texi) and section - (Installing GCC). - - Regression testing GM2 - ====================== - - cd host-build ; make check-m2 - - runs all regression tests. - - Stress testing GM2 - ================== - - cd host-build/gcc ; make gm2.paranoid - - builds gm2 using itself and then compiles each module with both - versions of gm2 comparing the emitted assembler code. - Contributing to GNU Modula-2 ============================ --- 1,4 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2ALU.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2ALU.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2ALU.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2ALU.mod Tue May 21 07:47:38 2024 *************** FROM M2Debug IMPORT Assert ; *** 40,46 **** FROM Storage IMPORT ALLOCATE ; FROM StringConvert IMPORT ostoi, bstoi, stoi, hstoi ; FROM M2GCCDeclare IMPORT GetTypeMin, GetTypeMax, CompletelyResolved, DeclareConstant ; ! FROM M2GenGCC IMPORT DoCopyString, StringToChar ; FROM M2Bitset IMPORT Bitset ; FROM SymbolConversion IMPORT Mod2Gcc, GccKnowsAbout ; FROM M2Printf IMPORT printf0, printf2 ; --- 40,46 ---- FROM Storage IMPORT ALLOCATE ; FROM StringConvert IMPORT ostoi, bstoi, stoi, hstoi ; FROM M2GCCDeclare IMPORT GetTypeMin, GetTypeMax, CompletelyResolved, DeclareConstant ; ! FROM M2GenGCC IMPORT PrepareCopyString, StringToChar ; FROM M2Bitset IMPORT Bitset ; FROM SymbolConversion IMPORT Mod2Gcc, GccKnowsAbout ; FROM M2Printf IMPORT printf0, printf2 ; *************** VAR *** 2119,2136 **** result: BOOLEAN ; res : INTEGER ; BEGIN ! v1 := Pop() ; ! v2 := Pop() ; ! IF (v1^.type=set) AND (v2^.type=set) THEN ! result := NOT IsSuperset(tokenno, v2, v1) ! ELSIF (v1^.type=set) OR (v2^.type=set) THEN MetaErrorT0 (tokenno, 'cannot perform a comparison between a number and a set') ; result := FALSE ELSE ! res := CompareTrees(v2^.numberValue, v1^.numberValue) ; ! IF res=-1 THEN result := TRUE ELSE --- 2119,2136 ---- result: BOOLEAN ; res : INTEGER ; BEGIN ! v1 := Pop () ; ! v2 := Pop () ; ! IF (v1^.type = set) AND (v2^.type = set) THEN ! result := NOT IsSuperset (tokenno, v2, v1) ! ELSIF (v1^.type = set) OR (v2^.type = set) THEN MetaErrorT0 (tokenno, 'cannot perform a comparison between a number and a set') ; result := FALSE ELSE ! res := CompareTrees (v2^.numberValue, v1^.numberValue) ; ! IF res = -1 THEN result := TRUE ELSE *************** BEGIN *** 2138,2146 **** END ; (* result := (CompareTrees(v2^.numberValue, v1^.numberValue)=-1) *) END ; ! Dispose(v1) ; ! Dispose(v2) ; ! RETURN( result ) END Less ; --- 2138,2146 ---- END ; (* result := (CompareTrees(v2^.numberValue, v1^.numberValue)=-1) *) END ; ! Dispose (v1) ; ! Dispose (v2) ; ! RETURN result END Less ; *************** BEGIN *** 4528,4535 **** IF IsConstString(init) AND IsArray(SkipType(GetType(field))) AND (SkipTypeAndSubrange(GetType(GetType(field)))=Char) THEN ! DoCopyString(tokenno, nBytes, initT, GetType(field), init) ; ! RETURN( initT ) ELSE RETURN( ConvertConstantAndCheck(TokenToLocation(tokenno), Mod2Gcc(GetType(field)), Mod2Gcc(init)) ) END --- 4528,4540 ---- IF IsConstString(init) AND IsArray(SkipType(GetType(field))) AND (SkipTypeAndSubrange(GetType(GetType(field)))=Char) THEN ! IF NOT PrepareCopyString (tokenno, nBytes, initT, init, GetType (field)) ! THEN ! MetaErrorT2 (tokenno, ! 'string constant {%1Ea} is too large to be assigned to the {%2d} {%2a}', ! init, field) ! END ; ! RETURN initT ELSE RETURN( ConvertConstantAndCheck(TokenToLocation(tokenno), Mod2Gcc(GetType(field)), Mod2Gcc(init)) ) END diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2BasicBlock.def gcc-13.3.0/gcc/m2/gm2-compiler/M2BasicBlock.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2BasicBlock.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2BasicBlock.def Tue May 21 07:47:38 2024 *************** PROCEDURE InitBasicBlocks (sb: ScopeBloc *** 60,66 **** reachable are removed. *) ! PROCEDURE InitBasicBlocksFromRange (start, end: CARDINAL) : BasicBlock ; (* --- 60,67 ---- reachable are removed. *) ! PROCEDURE InitBasicBlocksFromRange (ScopeSym: CARDINAL; ! start, end: CARDINAL) : BasicBlock ; (* diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2BasicBlock.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2BasicBlock.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2BasicBlock.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2BasicBlock.mod Tue May 21 07:47:38 2024 *************** FROM M2Quads IMPORT IsReferenced, IsCond *** 35,46 **** IsInitialisingConst, IsPseudoQuad, IsDefOrModFile, GetNextQuad, GetQuad, QuadOperator, ! SubQuad ; FROM M2Scope IMPORT ScopeBlock, ForeachScopeBlockDo ; FROM M2GenGCC IMPORT ConvertQuadsToTree ; TYPE BasicBlock = POINTER TO RECORD StartQuad : CARDINAL ; (* First Quad in Basic Block *) --- 35,49 ---- IsInitialisingConst, IsPseudoQuad, IsDefOrModFile, GetNextQuad, GetQuad, QuadOperator, ! SubQuad, DisplayQuadRange ; FROM M2Scope IMPORT ScopeBlock, ForeachScopeBlockDo ; FROM M2GenGCC IMPORT ConvertQuadsToTree ; + CONST + Debugging = FALSE ; + TYPE BasicBlock = POINTER TO RECORD StartQuad : CARDINAL ; (* First Quad in Basic Block *) *************** END InitBasicBlocks ; *** 77,86 **** reachable are removed. *) ! PROCEDURE InitBasicBlocksFromRange (start, end: CARDINAL) : BasicBlock ; BEGIN HeadOfBasicBlock := NIL ; ! ConvertQuads2BasicBlock(start, end) ; RETURN( HeadOfBasicBlock ) END InitBasicBlocksFromRange ; --- 80,94 ---- reachable are removed. *) ! PROCEDURE InitBasicBlocksFromRange (ScopeSym: CARDINAL; ! start, end: CARDINAL) : BasicBlock ; BEGIN HeadOfBasicBlock := NIL ; ! ConvertQuads2BasicBlock (ScopeSym, start, end) ; ! IF Debugging ! THEN ! DisplayBasicBlocks (HeadOfBasicBlock) ! END ; RETURN( HeadOfBasicBlock ) END InitBasicBlocksFromRange ; *************** END New ; *** 144,150 **** which has only has one entry and exit point. *) ! PROCEDURE ConvertQuads2BasicBlock (Start, End: CARDINAL) ; VAR LastQuadDefMod, LastQuadConditional, --- 152,158 ---- which has only has one entry and exit point. *) ! PROCEDURE ConvertQuads2BasicBlock (ScopeSym: CARDINAL; Start, End: CARDINAL) ; VAR LastQuadDefMod, LastQuadConditional, *************** VAR *** 154,159 **** --- 162,171 ---- CurrentBB : BasicBlock ; LastBB : BasicBlock ; BEGIN + IF Debugging + THEN + DisplayQuadRange (ScopeSym, Start, End) + END ; (* Algorithm to perform Basic Block: *************** BEGIN *** 242,248 **** b := bb ; REPEAT WITH b^ DO ! p(StartQuad, EndQuad) END ; b := b^.Right UNTIL b=bb --- 254,260 ---- b := bb ; REPEAT WITH b^ DO ! p (StartQuad, EndQuad) END ; b := b^.Right UNTIL b=bb *************** END Sub ; *** 323,329 **** DisplayBasicBlocks - displays the basic block data structure. *) - (* PROCEDURE DisplayBasicBlocks (bb: BasicBlock) ; VAR b: BasicBlock ; --- 335,340 ---- *************** BEGIN *** 347,353 **** WriteString(' end ') ; WriteCard(EndQuad, 6) ; END END DisplayBlock ; - *) BEGIN --- 358,363 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2CaseList.def gcc-13.3.0/gcc/m2/gm2-compiler/M2CaseList.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2CaseList.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2CaseList.def Tue May 21 07:47:38 2024 *************** FROM Lists IMPORT List ; *** 36,45 **** (* PushCase - create a case entity and push it to an internal stack. Return the case id. *) ! PROCEDURE PushCase (r: CARDINAL; v: CARDINAL) : CARDINAL ; (* --- 36,50 ---- (* PushCase - create a case entity and push it to an internal stack. + rec is NulSym if this is a CASE statement. + If rec is a record then it indicates a possible + varients reside in the record to check. + Both rec and va might be NulSym and then the expr + will contain the selector expression to a case statement. Return the case id. *) ! PROCEDURE PushCase (rec, va, expr: CARDINAL) : CARDINAL ; (* *************** PROCEDURE MissingCaseBounds (tokenno: CA *** 114,119 **** --- 119,132 ---- (* + MissingCaseStatementBounds - returns TRUE if the case statement has a missing + clause. It will also generate error messages. + *) + + PROCEDURE MissingCaseStatementBounds (tokenno: CARDINAL; c: CARDINAL) : BOOLEAN ; + + + (* WriteCase - displays the case list. *) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2CaseList.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2CaseList.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2CaseList.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2CaseList.mod Tue May 21 07:47:38 2024 *************** IMPLEMENTATION MODULE M2CaseList ; *** 24,47 **** FROM M2Debug IMPORT Assert ; FROM M2GCCDeclare IMPORT TryDeclareConstant, GetTypeMin, GetTypeMax ; ! FROM M2MetaError IMPORT MetaError1, MetaError2, MetaErrorT0, MetaErrorT1, MetaErrorT2, MetaErrorT3, MetaErrorT4, MetaErrorString1 ; FROM M2Error IMPORT InternalError ; FROM M2Range IMPORT OverlapsRange, IsEqual, IsGreater ; FROM M2ALU IMPORT PushIntegerTree, PopIntegerTree, Addn, Sub, PushInt ; FROM Indexing IMPORT Index, InitIndex, PutIndice, GetIndice, ForeachIndiceInIndexDo, HighIndice ; ! FROM Lists IMPORT InitList, IncludeItemIntoList ; FROM NameKey IMPORT KeyToCharStar ; FROM SymbolConversion IMPORT GccKnowsAbout, Mod2Gcc, AddModGcc ; FROM DynamicStrings IMPORT InitString, InitStringCharStar, ConCat, Mark, KillString ; FROM m2tree IMPORT Tree ; FROM m2block IMPORT RememberType ; FROM m2type IMPORT GetMinFrom ; FROM Storage IMPORT ALLOCATE ; FROM M2Base IMPORT IsExpressionCompatible ; FROM M2Printf IMPORT printf1 ; FROM SymbolTable IMPORT NulSym, IsConst, IsFieldVarient, IsRecord, IsRecordField, GetVarientTag, GetType, ! ForeachLocalSymDo, GetSymName, IsEnumeration, SkipType ; TYPE RangePair = POINTER TO RECORD --- 24,49 ---- FROM M2Debug IMPORT Assert ; FROM M2GCCDeclare IMPORT TryDeclareConstant, GetTypeMin, GetTypeMax ; ! FROM M2MetaError IMPORT MetaError1, MetaError2, MetaErrorT0, MetaErrorT1, MetaErrorT2, MetaErrorT3, MetaErrorT4, MetaErrorStringT0, MetaErrorString1 ; FROM M2Error IMPORT InternalError ; FROM M2Range IMPORT OverlapsRange, IsEqual, IsGreater ; FROM M2ALU IMPORT PushIntegerTree, PopIntegerTree, Addn, Sub, PushInt ; FROM Indexing IMPORT Index, InitIndex, PutIndice, GetIndice, ForeachIndiceInIndexDo, HighIndice ; ! FROM Lists IMPORT InitList, IncludeItemIntoList, RemoveItemFromList, NoOfItemsInList, GetItemFromList ; FROM NameKey IMPORT KeyToCharStar ; FROM SymbolConversion IMPORT GccKnowsAbout, Mod2Gcc, AddModGcc ; FROM DynamicStrings IMPORT InitString, InitStringCharStar, ConCat, Mark, KillString ; FROM m2tree IMPORT Tree ; FROM m2block IMPORT RememberType ; FROM m2type IMPORT GetMinFrom ; + FROM m2expr IMPORT GetIntegerOne ; FROM Storage IMPORT ALLOCATE ; FROM M2Base IMPORT IsExpressionCompatible ; FROM M2Printf IMPORT printf1 ; + FROM M2LexBuf IMPORT TokenToLocation ; FROM SymbolTable IMPORT NulSym, IsConst, IsFieldVarient, IsRecord, IsRecordField, GetVarientTag, GetType, ! ForeachLocalSymDo, GetSymName, IsEnumeration, SkipType, NoOfElements, GetNth ; TYPE RangePair = POINTER TO RECORD *************** TYPE *** 65,70 **** --- 67,73 ---- elseField : CARDINAL ; record : CARDINAL ; varient : CARDINAL ; + expression : CARDINAL ; maxCaseId : CARDINAL ; caseListArray: Index ; currentCase : CaseList ; *************** VAR *** 87,123 **** (* PushCase - create a case entity and push it to an internal stack. ! r, is NulSym if this is a CASE statement. ! If, r, is a record then it indicates it includes one ! or more varients reside in the record. The particular ! varient is, v. Return the case id. *) ! PROCEDURE PushCase (r: CARDINAL; v: CARDINAL) : CARDINAL ; VAR c: CaseDescriptor ; BEGIN ! INC(caseId) ; ! NEW(c) ; ! IF c=NIL THEN InternalError ('out of memory error') ELSE WITH c^ DO elseClause := FALSE ; elseField := NulSym ; ! record := r ; ! varient := v ; maxCaseId := 0 ; ! caseListArray := InitIndex(1) ; next := caseStack ; currentCase := NIL END ; caseStack := c ; ! PutIndice(caseArray, caseId, c) END ; ! RETURN( caseId ) END PushCase ; --- 90,128 ---- (* PushCase - create a case entity and push it to an internal stack. ! rec is NulSym if this is a CASE statement. ! If rec is a record then it indicates a possible ! varients reside in the record to check. ! Both rec and va might be NulSym and then the expr ! will contain the selector expression to a case statement. Return the case id. *) ! PROCEDURE PushCase (rec, va, expr: CARDINAL) : CARDINAL ; VAR c: CaseDescriptor ; BEGIN ! INC (caseId) ; ! NEW (c) ; ! IF c = NIL THEN InternalError ('out of memory error') ELSE WITH c^ DO elseClause := FALSE ; elseField := NulSym ; ! record := rec ; ! varient := va ; ! expression := expr ; maxCaseId := 0 ; ! caseListArray := InitIndex (1) ; next := caseStack ; currentCase := NIL END ; caseStack := c ; ! PutIndice (caseArray, caseId, c) END ; ! RETURN caseId END PushCase ; *************** END DisposeRanges ; *** 569,608 **** (* SubBitRange - subtracts bits, lo..hi, from, set. *) PROCEDURE SubBitRange (set: SetRange; lo, hi: Tree; tokenno: CARDINAL) : SetRange ; VAR ! h, i : SetRange ; BEGIN h := set ; WHILE h#NIL DO IF (h^.high=NIL) OR IsEqual(h^.high, h^.low) THEN IF IsEqual(h^.low, lo) OR OverlapsRange(lo, hi, h^.low, h^.low) THEN ! IF h=set ! THEN ! set := set^.next ; ! h^.next := NIL ; ! h := DisposeRanges(h) ; ! h := set ! ELSE ! i := set ; ! WHILE i^.next#h DO ! i := i^.next ! END ; ! i^.next := h^.next ; ! i := h ; ! h := h^.next ; ! i^.next := NIL ; ! i := DisposeRanges(i) ! END ELSE h := h^.next END ELSE IF OverlapsRange(lo, hi, h^.low, h^.high) THEN IF IsGreater(h^.low, lo) OR IsGreater(hi, h^.high) --- 574,634 ---- (* + RemoveRange - removes the range descriptor h from set and return the + possibly new head of set. + *) + + PROCEDURE RemoveRange (set: SetRange; h: SetRange) : SetRange ; + VAR + i: SetRange ; + BEGIN + IF h=set + THEN + set := set^.next ; + h^.next := NIL ; + h := DisposeRanges(h) ; + ELSE + i := set ; + WHILE i^.next#h DO + i := i^.next + END ; + i^.next := h^.next ; + i := h ; + h := h^.next ; + i^.next := NIL ; + i := DisposeRanges(i) + END ; + RETURN set + END RemoveRange ; + + + (* SubBitRange - subtracts bits, lo..hi, from, set. *) PROCEDURE SubBitRange (set: SetRange; lo, hi: Tree; tokenno: CARDINAL) : SetRange ; VAR ! h, i: SetRange ; BEGIN h := set ; WHILE h#NIL DO + (* Check to see if a single set element h is obliterated by lo..hi. *) IF (h^.high=NIL) OR IsEqual(h^.high, h^.low) THEN IF IsEqual(h^.low, lo) OR OverlapsRange(lo, hi, h^.low, h^.low) THEN ! set := RemoveRange (set, h) ; ! h := set ELSE h := h^.next END + (* Now check to see if the lo..hi match exactly with the set range. *) + ELSIF (h^.high#NIL) AND IsEqual (lo, h^.low) AND IsEqual (hi, h^.high) + THEN + (* Remove h and return as lo..hi have been removed. *) + RETURN RemoveRange (set, h) ELSE + (* All other cases require modifying the existing set range. *) IF OverlapsRange(lo, hi, h^.low, h^.high) THEN IF IsGreater(h^.low, lo) OR IsGreater(hi, h^.high) *************** END SubBitRange ; *** 647,750 **** (* ExcludeCaseRanges - excludes all case ranges found in, p, from, set *) ! PROCEDURE ExcludeCaseRanges (set: SetRange; p: CaseDescriptor) : SetRange ; VAR i, j: CARDINAL ; ! q : CaseList ; ! r : RangePair ; BEGIN ! WITH p^ DO i := 1 ; ! WHILE i<=maxCaseId DO ! q := GetIndice(caseListArray, i) ; j := 1 ; ! WHILE j<=q^.maxRangeId DO ! r := GetIndice(q^.rangeArray, j) ; ! IF r^.high=NulSym THEN ! set := SubBitRange(set, Mod2Gcc(r^.low), Mod2Gcc(r^.low), r^.tokenno) ELSE ! set := SubBitRange(set, Mod2Gcc(r^.low), Mod2Gcc(r^.high), r^.tokenno) END ; ! INC(j) END ; ! INC(i) END END ; ! RETURN( set ) END ExcludeCaseRanges ; VAR - High, Low : Tree ; errorString: String ; (* ! DoEnumValues - *) ! PROCEDURE DoEnumValues (sym: CARDINAL) ; BEGIN ! IF (Low#NIL) AND IsEqual(Mod2Gcc(sym), Low) THEN ! errorString := ConCat(errorString, InitStringCharStar(KeyToCharStar(GetSymName(sym)))) ; ! Low := NIL END ; ! IF (High#NIL) AND IsEqual(Mod2Gcc(sym), High) THEN ! errorString := ConCat(errorString, Mark(InitString('..'))) ; ! errorString := ConCat(errorString, Mark(InitStringCharStar(KeyToCharStar(GetSymName(sym))))) ; ! High := NIL END ! END DoEnumValues ; (* ! ErrorRange - *) ! PROCEDURE ErrorRange (p: CaseDescriptor; type: CARDINAL; set: SetRange) ; BEGIN ! type := SkipType(type) ; ! IF IsEnumeration(type) THEN ! Low := set^.low ; ! High := set^.high ; ! IF IsEqual(Low, High) THEN ! High := NIL ; ! errorString := InitString('enumeration value ') ; ! ForeachLocalSymDo(type, DoEnumValues) ; ! errorString := ConCat(errorString, InitString(' is ignored by the CASE variant record {%1D}')) ELSE ! errorString := InitString('enumeration values ') ; ! ForeachLocalSymDo(type, DoEnumValues) ; ! errorString := ConCat(errorString, InitString(' are ignored by the CASE variant record {%1D}')) END ; ! MetaErrorString1(errorString, p^.varient) END ! END ErrorRange ; (* ! ErrorRanges - *) ! PROCEDURE ErrorRanges (p: CaseDescriptor; type: CARDINAL; set: SetRange) ; BEGIN ! WHILE set#NIL DO ! ErrorRange(p, type, set) ; ! set := set^.next END ! END ErrorRanges ; (* ! MissingCaseBounds - returns TRUE if there were any missing bounds in the varient record case list, c. It will generate an error message for each missing bounds found. --- 673,904 ---- (* + CheckLowHigh - checks to see the low value <= high value and issues an error + if this is not true. + *) + + PROCEDURE CheckLowHigh (rp: RangePair) ; + VAR + lo, hi: Tree ; + temp : CARDINAL ; + BEGIN + lo := Mod2Gcc (rp^.low) ; + hi := Mod2Gcc (rp^.high) ; + IF IsGreater (lo, hi) + THEN + MetaErrorT2 (rp^.tokenno, 'case range should be low..high rather than high..low, range specified as {%1Euad}..{%2Euad}', rp^.low, rp^.high) ; + temp := rp^.high ; + rp^.high := rp^.low ; + rp^.low := temp + END + END CheckLowHigh ; + + + (* ExcludeCaseRanges - excludes all case ranges found in, p, from, set *) ! PROCEDURE ExcludeCaseRanges (set: SetRange; cd: CaseDescriptor) : SetRange ; VAR i, j: CARDINAL ; ! cl : CaseList ; ! rp : RangePair ; BEGIN ! WITH cd^ DO i := 1 ; ! WHILE i <= maxCaseId DO ! cl := GetIndice (caseListArray, i) ; j := 1 ; ! WHILE j <= cl^.maxRangeId DO ! rp := GetIndice (cl^.rangeArray, j) ; ! IF rp^.high = NulSym THEN ! set := SubBitRange (set, ! Mod2Gcc (rp^.low), ! Mod2Gcc (rp^.low), rp^.tokenno) ELSE ! CheckLowHigh (rp) ; ! set := SubBitRange (set, ! Mod2Gcc (rp^.low), ! Mod2Gcc (rp^.high), rp^.tokenno) END ; ! INC (j) END ; ! INC (i) END END ; ! RETURN set END ExcludeCaseRanges ; VAR errorString: String ; (* ! IncludeElement - *) ! PROCEDURE IncludeElement (enumList: List; field: CARDINAL; low, high: Tree) ; ! VAR ! fieldTree: Tree ; BEGIN ! IF field # NulSym THEN ! fieldTree := Mod2Gcc (field) ; ! IF OverlapsRange (fieldTree, fieldTree, low, high) ! THEN ! IncludeItemIntoList (enumList, field) ! END ! END ! END IncludeElement ; ! ! ! (* ! IncludeElements - ! *) ! ! PROCEDURE IncludeElements (type: CARDINAL; enumList: List; low, high: Tree) ; ! VAR ! field : CARDINAL ; ! i, ! NoElements: CARDINAL ; ! BEGIN ! NoElements := NoOfElements (type) ; ! i := 1 ; ! WHILE i <= NoElements DO ! field := GetNth (type, i) ; ! IncludeElement (enumList, field, low, high) ; ! INC (i) ! END ! END IncludeElements ; ! ! ! (* ! ErrorRangeEnum ! *) ! ! PROCEDURE ErrorRangeEnum (type: CARDINAL; set: SetRange; enumList: List) ; ! VAR ! Low, High: Tree ; ! BEGIN ! Low := set^.low ; ! High := set^.high ; ! IF Low = NIL ! THEN ! Low := High END ; ! IF High = NIL THEN ! High := Low ! END ; ! IF (Low # NIL) AND (High # NIL) ! THEN ! IncludeElements (type, enumList, Low, High) END ! END ErrorRangeEnum ; (* ! ErrorRanges - return a list of all enumeration fields not present in the case statement. ! The return value will be nil if type is not an enumeration type. *) ! PROCEDURE ErrorRanges (type: CARDINAL; set: SetRange) : List ; ! VAR ! enumSet: List ; BEGIN ! type := SkipType (type) ; ! IF IsEnumeration (type) THEN ! InitList (enumSet) ; ! WHILE set#NIL DO ! ErrorRangeEnum (type, set, enumSet) ; ! set := set^.next ! END ; ! RETURN enumSet ! END ; ! RETURN NIL ! END ErrorRanges ; ! ! ! (* ! appendEnum - ! *) ! ! PROCEDURE appendEnum (enum: CARDINAL) ; ! BEGIN ! errorString := ConCat (errorString, ! Mark (InitStringCharStar (KeyToCharStar (GetSymName (enum))))) ! END appendEnum ; ! ! ! (* ! appendStr - ! *) ! ! PROCEDURE appendStr (str: ARRAY OF CHAR) ; ! BEGIN ! errorString := ConCat (errorString, Mark (InitString (str))) ! END appendStr ; ! ! ! (* ! EnumerateErrors - populate errorString with the contents of enumList. ! *) ! ! PROCEDURE EnumerateErrors (enumList: List) ; ! VAR ! i, n: CARDINAL ; ! BEGIN ! n := NoOfItemsInList (enumList) ; ! IF (enumList # NIL) AND (n > 0) ! THEN ! IF n = 1 THEN ! errorString := InitString ('{%W}the missing enumeration field is: ') ; ELSE ! errorString := InitString ('{%W}the missing enumeration fields are: ') ; END ; ! appendEnum (GetItemFromList (enumList, 1)) ; ! IF n > 1 ! THEN ! IF n > 2 ! THEN ! i := 2 ; ! WHILE i <= n-1 DO ! appendStr (', ') ; ! appendEnum (GetItemFromList (enumList, i)) ; ! INC (i) ! END ! END ; ! appendStr (' and ') ; ! appendEnum (GetItemFromList (enumList, n)) ! END END ! END EnumerateErrors ; (* ! EmitMissingRangeErrors - emits a singular/plural error message for an enumeration type. *) ! PROCEDURE EmitMissingRangeErrors (tokenno: CARDINAL; type: CARDINAL; set: SetRange) ; BEGIN ! errorString := NIL ; ! IF IsEnumeration (type) ! THEN ! EnumerateErrors (ErrorRanges (type, set)) ! END ; ! IF errorString # NIL ! THEN ! MetaErrorStringT0 (tokenno, errorString) END ! END EmitMissingRangeErrors ; (* ! MissingCaseBounds - returns true if there were any missing bounds in the varient record case list, c. It will generate an error message for each missing bounds found. *************** VAR *** 757,817 **** missing: BOOLEAN ; set : SetRange ; BEGIN ! p := GetIndice(caseArray, c) ; missing := FALSE ; WITH p^ DO ! IF (record#NulSym) AND (varient#NulSym) AND (NOT elseClause) THEN ! (* not a CASE statement, but a varient record containing without an ELSE clause *) ! type := GetVariantTagType(varient) ; ! set := NewSet(type) ; ! set := ExcludeCaseRanges(set, p) ; ! IF set#NIL THEN ! missing := TRUE ; ! MetaErrorT2 (tokenno, ! 'not all variant record alternatives in the {%kCASE} clause are specified, hint you either need to specify each value of {%2ad} or use an {%kELSE} clause', ! varient, type) ; ! ErrorRanges(p, type, set) ! END ; ! set := DisposeRanges(set) END END ; ! RETURN( missing ) END MissingCaseBounds ; (* ! InRangeList - returns TRUE if the value, tag, is defined in the case list. ! PROCEDURE InRangeList (cl: CaseList; tag: CARDINAL) : BOOLEAN ; VAR ! i, h: CARDINAL ; r : RangePair ; a : Tree ; ! BEGIN ! WITH cl^ DO i := 1 ; h := HighIndice(rangeArray) ; ! WHILE i<=h DO r := GetIndice(rangeArray, i) ; ! WITH r^ DO ! IF high=NulSym ! THEN a := Mod2Gcc(low) ! ELSE a := Mod2Gcc(high) ! END ; ! IF OverlapsRange(Mod2Gcc(low), a, Mod2Gcc(tag), Mod2Gcc(tag)) ! THEN ! RETURN( TRUE ) ! END ! END ; ! INC(i) ! END ! END ; ! RETURN( FALSE ) ! END InRangeList ; *) --- 911,1017 ---- missing: BOOLEAN ; set : SetRange ; BEGIN ! p := GetIndice (caseArray, c) ; missing := FALSE ; WITH p^ DO ! IF NOT elseClause THEN ! IF (record # NulSym) AND (varient # NulSym) THEN ! (* Not a case statement, but a varient record without an else clause. *) ! type := GetVariantTagType (varient) ; ! set := NewSet (type) ; ! set := ExcludeCaseRanges (set, p) ; ! IF set # NIL ! THEN ! missing := TRUE ; ! MetaErrorT2 (tokenno, ! 'not all variant record alternatives in the {%kCASE} clause are specified, hint you either need to specify each value of {%2ad} or use an {%kELSE} clause', ! varient, type) ; ! EmitMissingRangeErrors (tokenno, type, set) ! END ; ! set := DisposeRanges (set) ! END END END ; ! RETURN missing END MissingCaseBounds ; (* ! MissingCaseStatementBounds - returns true if the case statement has a missing ! clause. It will also generate error messages. ! *) ! PROCEDURE MissingCaseStatementBounds (tokenno: CARDINAL; c: CARDINAL) : BOOLEAN ; VAR ! p : CaseDescriptor ; ! type : CARDINAL ; ! missing: BOOLEAN ; ! set : SetRange ; ! BEGIN ! p := GetIndice (caseArray, c) ; ! missing := FALSE ; ! WITH p^ DO ! IF NOT elseClause ! THEN ! IF expression # NulSym ! THEN ! type := SkipType (GetType (expression)) ; ! IF (type # NulSym) AND IsEnumeration (type) ! THEN ! (* A case statement sequence without an else clause but ! selecting using an enumeration type. *) ! set := NewSet (type) ; ! set := ExcludeCaseRanges (set, p) ; ! IF set # NIL ! THEN ! missing := TRUE ; ! MetaErrorT1 (tokenno, ! 'not all enumeration values in the {%kCASE} statements are specified, hint you either need to specify each value of {%1Wad} or use an {%kELSE} clause', ! type) ; ! EmitMissingRangeErrors (tokenno, type, set) ! END ; ! set := DisposeRanges (set) ! END ! END ! END ! END ; ! RETURN missing ! END MissingCaseStatementBounds ; ! ! ! (* ! InRangeList - returns true if the value, tag, is defined in the case list. ! ! procedure InRangeList (cl: CaseList; tag: cardinal) : boolean ; ! var ! i, h: cardinal ; r : RangePair ; a : Tree ; ! begin ! with cl^ do i := 1 ; h := HighIndice(rangeArray) ; ! while i<=h do r := GetIndice(rangeArray, i) ; ! with r^ do ! if high=NulSym ! then a := Mod2Gcc(low) ! else a := Mod2Gcc(high) ! end ; ! if OverlapsRange(Mod2Gcc(low), a, Mod2Gcc(tag), Mod2Gcc(tag)) ! then ! return( true ) ! end ! end ; ! inc(i) ! end ! end ; ! return( false ) ! end InRangeList ; *) *************** END InRangeList ; *** 821,827 **** PROCEDURE WriteCase (c: CARDINAL) ; BEGIN ! (* this debugging procedure should be finished. *) printf1 ("%d", c) END WriteCase ; --- 1021,1027 ---- PROCEDURE WriteCase (c: CARDINAL) ; BEGIN ! (* this debugging PROCEDURE should be finished. *) printf1 ("%d", c) END WriteCase ; *************** PROCEDURE checkTypes (constant, type: CA *** 834,865 **** VAR consttype: CARDINAL ; BEGIN ! IF (constant#NulSym) AND IsConst(constant) THEN ! consttype := GetType(constant) ; ! IF NOT IsExpressionCompatible(consttype, type) THEN ! MetaError2('the CASE statement variant tag {%1ad} must be type compatible with the constant {%2Da:is a {%2d}}', ! type, constant) ; ! RETURN( FALSE ) END END ; ! RETURN( TRUE ) END checkTypes ; (* ! inRange - returns TRUE if, min <= i <= max. *) PROCEDURE inRange (i, min, max: CARDINAL) : BOOLEAN ; BEGIN ! RETURN( OverlapsRange(Mod2Gcc(i), Mod2Gcc(i), Mod2Gcc(min), Mod2Gcc(max)) ) END inRange ; (* ! TypeCaseBounds - returns TRUE if all bounds in case list, c, are compatible with the tagged type. *) --- 1034,1065 ---- VAR consttype: CARDINAL ; BEGIN ! IF (constant # NulSym) AND IsConst (constant) THEN ! consttype := GetType (constant) ; ! IF NOT IsExpressionCompatible (consttype, type) THEN ! MetaError2 ('the case statement variant tag {%1ad} must be type compatible with the constant {%2Da:is a {%2d}}', ! type, constant) ; ! RETURN FALSE END END ; ! RETURN TRUE END checkTypes ; (* ! inRange - returns true if, min <= i <= max. *) PROCEDURE inRange (i, min, max: CARDINAL) : BOOLEAN ; BEGIN ! RETURN OverlapsRange (Mod2Gcc (i), Mod2Gcc (i), Mod2Gcc (min), Mod2Gcc (max)) END inRange ; (* ! TypeCaseBounds - returns true if all bounds in case list, c, are compatible with the tagged type. *) *************** BEGIN *** 915,925 **** THEN compatible := FALSE END ; ! INC(j) END ; ! INC(i) END ; ! RETURN( compatible ) END END TypeCaseBounds ; --- 1115,1125 ---- THEN compatible := FALSE END ; ! INC (j) END ; ! INC (i) END ; ! RETURN compatible END END TypeCaseBounds ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Check.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Check.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Check.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Check.mod Tue May 21 07:47:38 2024 *************** END checkPointerType ; *** 902,907 **** --- 902,938 ---- (* + checkProcTypeEquivalence - allow proctype to be compared against another + proctype or procedure. It is legal to be compared + against an address. + *) + + PROCEDURE checkProcTypeEquivalence (result: status; tinfo: tInfo; + left, right: CARDINAL) : status ; + BEGIN + IF isFalse (result) + THEN + RETURN result + ELSIF IsProcedure (left) AND IsProcType (right) + THEN + RETURN checkProcedure (result, tinfo, right, left) + ELSIF IsProcType (left) AND IsProcedure (right) + THEN + RETURN checkProcedure (result, tinfo, left, right) + ELSIF IsProcType (left) AND IsProcType (right) + THEN + RETURN checkProcType (result, tinfo, left, right) + ELSIF (left = Address) OR (right = Address) + THEN + RETURN true + ELSE + RETURN false + END + END checkProcTypeEquivalence ; + + + + (* checkTypeKindEquivalence - *) *************** BEGIN *** 928,942 **** ELSIF IsEnumeration (left) AND IsEnumeration (right) THEN RETURN checkEnumerationEquivalence (result, left, right) - ELSIF IsProcedure (left) AND IsProcType (right) - THEN - RETURN checkProcedure (result, tinfo, right, left) - ELSIF IsProcType (left) AND IsProcedure (right) - THEN - RETURN checkProcedure (result, tinfo, left, right) ELSIF IsProcType (left) OR IsProcType (right) THEN ! RETURN checkProcType (result, tinfo, left, right) ELSIF IsReallyPointer (left) AND IsReallyPointer (right) THEN RETURN checkPointerType (result, left, right) --- 959,967 ---- ELSIF IsEnumeration (left) AND IsEnumeration (right) THEN RETURN checkEnumerationEquivalence (result, left, right) ELSIF IsProcType (left) OR IsProcType (right) THEN ! RETURN checkProcTypeEquivalence (result, tinfo, right, left) ELSIF IsReallyPointer (left) AND IsReallyPointer (right) THEN RETURN checkPointerType (result, left, right) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Code.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Code.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Code.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Code.mod Tue May 21 07:47:38 2024 *************** FROM NameKey IMPORT Name ; *** 42,50 **** FROM M2Batch IMPORT ForeachSourceModuleDo ; FROM M2Quads IMPORT CountQuads, GetFirstQuad, DisplayQuadList, DisplayQuadRange, ! BackPatchSubrangesAndOptParam, VariableAnalysis, LoopAnalysis, ForLoopAnalysis, GetQuad, QuadOperator ; FROM M2Pass IMPORT SetPassToNoPass, SetPassToCodeGeneration ; FROM M2BasicBlock IMPORT BasicBlock, --- 42,52 ---- FROM M2Batch IMPORT ForeachSourceModuleDo ; FROM M2Quads IMPORT CountQuads, GetFirstQuad, DisplayQuadList, DisplayQuadRange, ! BackPatchSubrangesAndOptParam, LoopAnalysis, ForLoopAnalysis, GetQuad, QuadOperator ; + FROM M2SymInit IMPORT ScopeBlockVariableAnalysis ; + FROM M2Pass IMPORT SetPassToNoPass, SetPassToCodeGeneration ; FROM M2BasicBlock IMPORT BasicBlock, *************** END Code ; *** 291,306 **** InitialDeclareAndCodeBlock - declares all objects within scope, *) ! PROCEDURE InitialDeclareAndOptimize (start, end: CARDINAL) ; BEGIN ! Count := CountQuads() ; ! FreeBasicBlocks(InitBasicBlocksFromRange(start, end)) ; ! BasicB := Count - CountQuads() ; ! Count := CountQuads() ; ! FoldBranches(start, end) ; ! Jump := Count - CountQuads() ; ! Count := CountQuads() END InitialDeclareAndOptimize ; --- 293,308 ---- InitialDeclareAndCodeBlock - declares all objects within scope, *) ! PROCEDURE InitialDeclareAndOptimize (scope: CARDINAL; start, end: CARDINAL) ; BEGIN ! Count := CountQuads () ; ! FreeBasicBlocks (InitBasicBlocksFromRange (scope, start, end)) ; ! BasicB := Count - CountQuads () ; ! Count := CountQuads () ; ! FoldBranches (start, end) ; ! Jump := Count - CountQuads () ; ! Count := CountQuads () END InitialDeclareAndOptimize ; *************** END InitialDeclareAndOptimize ; *** 308,331 **** DeclareAndCodeBlock - declares all objects within scope, *) ! PROCEDURE SecondDeclareAndOptimize (start, end: CARDINAL) ; BEGIN REPEAT FoldConstants(start, end) ; DeltaConst := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks(InitBasicBlocksFromRange (start, end)) ; DeltaBasicB := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks (InitBasicBlocksFromRange (start, end)) ; FoldBranches(start, end) ; DeltaJump := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks(InitBasicBlocksFromRange (start, end)) ; INC (DeltaBasicB, Count - CountQuads ()) ; Count := CountQuads () ; --- 310,334 ---- DeclareAndCodeBlock - declares all objects within scope, *) ! PROCEDURE SecondDeclareAndOptimize (scope: CARDINAL; ! start, end: CARDINAL) ; BEGIN REPEAT FoldConstants(start, end) ; DeltaConst := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks(InitBasicBlocksFromRange (scope, start, end)) ; DeltaBasicB := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks (InitBasicBlocksFromRange (scope, start, end)) ; FoldBranches(start, end) ; DeltaJump := Count - CountQuads () ; Count := CountQuads () ; ! FreeBasicBlocks(InitBasicBlocksFromRange (scope, start, end)) ; INC (DeltaBasicB, Count - CountQuads ()) ; Count := CountQuads () ; *************** END Init ; *** 373,392 **** (* - BasicBlockVariableAnalysis - - *) - - PROCEDURE BasicBlockVariableAnalysis (start, end: CARDINAL) ; - VAR - bb: BasicBlock ; - BEGIN - bb := InitBasicBlocksFromRange(start, end) ; - ForeachBasicBlockDo (bb, VariableAnalysis) ; - KillBasicBlocks (bb) - END BasicBlockVariableAnalysis ; - - - (* DisplayQuadsInScope - *) --- 376,381 ---- *************** BEGIN *** 414,420 **** OptimTimes := 1 ; Current := CountQuads () ; ForeachScopeBlockDo (sb, InitialDeclareAndOptimize) ; ! ForeachScopeBlockDo (sb, BasicBlockVariableAnalysis) ; REPEAT ForeachScopeBlockDo (sb, SecondDeclareAndOptimize) ; Previous := Current ; --- 403,409 ---- OptimTimes := 1 ; Current := CountQuads () ; ForeachScopeBlockDo (sb, InitialDeclareAndOptimize) ; ! ForeachScopeBlockDo (sb, ScopeBlockVariableAnalysis) ; REPEAT ForeachScopeBlockDo (sb, SecondDeclareAndOptimize) ; Previous := Current ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Error.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Error.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Error.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Error.mod Tue May 21 07:47:38 2024 *************** BEGIN *** 868,874 **** implementation: desc := InitString ("In implementation module") | program : desc := InitString ("In program module") | module : desc := InitString ("In inner module") | ! procedure : desc := InitString ("In procedure") END END ; --- 868,875 ---- implementation: desc := InitString ("In implementation module") | program : desc := InitString ("In program module") | module : desc := InitString ("In inner module") | ! procedure : desc := InitString ("In procedure") | ! noscope : desc := InitString ("Unknown scope") END END ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2GCCDeclare.def gcc-13.3.0/gcc/m2/gm2-compiler/M2GCCDeclare.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2GCCDeclare.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2GCCDeclare.def Tue May 21 07:47:38 2024 *************** DEFINITION MODULE M2GCCDeclare ; *** 32,49 **** FROM SYSTEM IMPORT WORD ; FROM m2tree IMPORT Tree ; - EXPORT QUALIFIED FoldConstants, - DeclareConstant, TryDeclareConstant, - DeclareConstructor, TryDeclareConstructor, - DeclareLocalVariables, PromoteToString, DeclareLocalVariable, - InitDeclarations, StartDeclareScope, EndDeclareScope, - DeclareModuleVariables, IsProcedureGccNested, - DeclareProcedure, PoisonSymbols, DeclareParameters, - CompletelyResolved, MarkExported, PrintSym, - ConstantKnownAndUsed, - PutToBeSolvedByQuads, - GetTypeMin, GetTypeMax, - WalkAction, IsAction ; TYPE WalkAction = PROCEDURE (WORD) ; --- 32,37 ---- *************** PROCEDURE PromoteToString (tokenno: CARD *** 174,179 **** --- 162,178 ---- (* + PromoteToCString - declare, sym, and then promote it to a string. + Note that if sym is a single character we do + *not* record it as a string + but as a char however we always + return a string constant. + *) + + PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; + + + (* CompletelyResolved - returns TRUE if a symbol has been completely resolved and is not partially declared (such as a record, array or procedure type). diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2GCCDeclare.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2GCCDeclare.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2GCCDeclare.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2GCCDeclare.mod Tue May 21 07:47:38 2024 *************** FROM SymbolTable IMPORT NulSym, *** 95,101 **** IsProcedureReachable, IsParameter, IsConstLit, IsDummy, IsVarAParam, IsProcedureVariable, IsGnuAsm, IsGnuAsmVolatile, IsObject, IsTuple, ! IsError, IsHiddenType, IsComponent, IsPublic, IsExtern, IsCtor, GetMainModule, GetBaseModule, GetModule, GetLocalSym, PutModuleFinallyFunction, --- 95,101 ---- IsProcedureReachable, IsParameter, IsConstLit, IsDummy, IsVarAParam, IsProcedureVariable, IsGnuAsm, IsGnuAsmVolatile, IsObject, IsTuple, ! IsError, IsHiddenType, IsVarHeap, IsComponent, IsPublic, IsExtern, IsCtor, GetMainModule, GetBaseModule, GetModule, GetLocalSym, PutModuleFinallyFunction, *************** FROM SymbolTable IMPORT NulSym, *** 117,126 **** ForeachOAFamily, GetOAFamily, IsModuleWithinProcedure, IsVariableSSA, IsVariableAtAddress, IsConstructorConstant, ! ForeachLocalSymDo, ForeachFieldEnumerationDo, ForeachProcedureDo, ForeachModuleDo, ForeachInnerModuleDo, ForeachImportedDo, ! ForeachExportedDo ; FROM M2Base IMPORT IsPseudoBaseProcedure, IsPseudoBaseFunction, GetBaseTypeMinMax, MixTypes, --- 117,126 ---- ForeachOAFamily, GetOAFamily, IsModuleWithinProcedure, IsVariableSSA, IsVariableAtAddress, IsConstructorConstant, ! ForeachLocalSymDo, ForeachProcedureDo, ForeachModuleDo, ForeachInnerModuleDo, ForeachImportedDo, ! ForeachExportedDo, PrintInitialized ; FROM M2Base IMPORT IsPseudoBaseProcedure, IsPseudoBaseFunction, GetBaseTypeMinMax, MixTypes, *************** END DebugSetNumbers ; *** 339,345 **** lists. *) - (* PROCEDURE AddSymToWatch (sym: WORD) ; BEGIN IF (sym#NulSym) AND (NOT IsElementInSet(WatchList, sym)) --- 339,344 ---- *************** BEGIN *** 350,356 **** FIO.FlushBuffer(FIO.StdOut) END END AddSymToWatch ; - *) (* --- 349,354 ---- *************** BEGIN *** 409,415 **** tobesolvedbyquads : doInclude(ToBeSolvedByQuads, "symbol %d -> ToBeSolvedByQuads\n", sym) | fullydeclared : doInclude(FullyDeclared, "symbol %d -> FullyDeclared\n", sym) ; ! IF sym=1265 THEN mystop END | --- 407,413 ---- tobesolvedbyquads : doInclude(ToBeSolvedByQuads, "symbol %d -> ToBeSolvedByQuads\n", sym) | fullydeclared : doInclude(FullyDeclared, "symbol %d -> FullyDeclared\n", sym) ; ! IF sym=8821 THEN mystop END | *************** END PromoteToString ; *** 1586,1591 **** --- 1584,1616 ---- (* + PromoteToCString - declare, sym, and then promote it to a string. + Note that if sym is a single character we do + *not* record it as a string + but as a char however we always + return a string constant. + *) + + PROCEDURE PromoteToCString (tokenno: CARDINAL; sym: CARDINAL) : Tree ; + VAR + size: CARDINAL ; + ch : CHAR ; + BEGIN + DeclareConstant (tokenno, sym) ; + IF IsConst (sym) AND (GetSType (sym) = Char) + THEN + PushValue (sym) ; + ch := PopChar (tokenno) ; + RETURN BuildCStringConstant (string (InitStringChar (ch)), 1) + ELSE + size := GetStringLength (sym) ; + RETURN BuildCStringConstant (KeyToCharStar (GetString (sym)), + size) + END + END PromoteToCString ; + + + (* WalkConstructor - walks all dependants of, sym. *) *************** BEGIN *** 1612,1624 **** THEN InternalError ('trying to declare the NulSym') END ; ! IF IsConstructor(sym) AND (NOT GccKnowsAbout(sym)) THEN ! WalkConstructor(sym, TraverseDependants) ; ! DeclareTypesConstantsProceduresInRange(quad, quad) ; ! Assert(IsConstructorDependants(sym, IsFullyDeclared)) ; ! PushValue(sym) ; ! DeclareConstantFromTree(sym, PopConstructorTree(tokenno)) END END DeclareConstructor ; --- 1637,1649 ---- THEN InternalError ('trying to declare the NulSym') END ; ! IF IsConstructor (sym) AND (NOT GccKnowsAbout (sym)) THEN ! WalkConstructor (sym, TraverseDependants) ; ! DeclareTypesConstantsProceduresInRange (GetScope (sym), quad, quad) ; ! Assert (IsConstructorDependants (sym, IsFullyDeclared)) ; ! PushValue (sym) ; ! DeclareConstantFromTree (sym, PopConstructorTree (tokenno)) END END DeclareConstructor ; *************** END WalkTypeInfo ; *** 2120,2126 **** PROCEDURE DeclareUnboundedProcedureParameters (sym: WORD) ; VAR ! son, type, p, i : CARDINAL ; location : location_t ; BEGIN --- 2145,2152 ---- PROCEDURE DeclareUnboundedProcedureParameters (sym: WORD) ; VAR ! param, ! type, p, i : CARDINAL ; location : location_t ; BEGIN *************** BEGIN *** 2131,2138 **** WHILE i>0 DO IF IsUnboundedParam(sym, i) THEN ! son := GetNthParam(sym, i) ; ! type := GetSType(son) ; TraverseDependants(type) ; IF GccKnowsAbout(type) THEN --- 2157,2164 ---- WHILE i>0 DO IF IsUnboundedParam(sym, i) THEN ! param := GetNthParam(sym, i) ; ! type := GetSType(param) ; TraverseDependants(type) ; IF GccKnowsAbout(type) THEN *************** BEGIN *** 2140,2147 **** BuildTypeDeclaration(location, Mod2Gcc(type)) END ELSE ! son := GetNth(sym, i) ; ! type := GetSType(son) ; TraverseDependants(type) END ; DEC(i) --- 2166,2173 ---- BuildTypeDeclaration(location, Mod2Gcc(type)) END ELSE ! param := GetNth(sym, i) ; ! type := GetSType(param) ; TraverseDependants(type) END ; DEC(i) *************** END DeclareUnboundedProcedureParameters *** 2156,2186 **** PROCEDURE WalkUnboundedProcedureParameters (sym: WORD) ; VAR ! son, type, p, i: CARDINAL ; BEGIN ! IF IsProcedure(sym) THEN ! p := NoOfParam(sym) ; i := p ; WHILE i>0 DO ! IF IsUnboundedParam(sym, i) THEN ! son := GetNthParam(sym, i) ; ! type := GetSType(son) ; ! WalkTypeInfo(type) ; ! (* ! type := GetUnboundedRecordType(type) ; ! Assert(IsRecord(type)) ; ! RecordNotPacked(type) (* which is never packed. *) ! *) ELSE ! son := GetNth(sym, i) ; ! type := GetSType(son) ; ! WalkTypeInfo(type) END ; ! DEC(i) END END END WalkUnboundedProcedureParameters ; --- 2182,2205 ---- PROCEDURE WalkUnboundedProcedureParameters (sym: WORD) ; VAR ! param, type, p, i: CARDINAL ; BEGIN ! IF IsProcedure (sym) THEN ! p := NoOfParam (sym) ; i := p ; WHILE i>0 DO ! IF IsUnboundedParam (sym, i) THEN ! param := GetNthParam (sym, i) ELSE ! param := GetNth (sym, i) END ; ! type := GetSType (param) ; ! WalkTypeInfo (type) ; ! DEC (i) END END END WalkUnboundedProcedureParameters ; *************** END FoldConstants ; *** 2541,2564 **** DeclareTypesConstantsProceduresInRange - *) ! PROCEDURE DeclareTypesConstantsProceduresInRange (start, end: CARDINAL) ; VAR n, m: CARDINAL ; BEGIN IF DisplayQuadruples THEN ! DisplayQuadRange(start, end) END ; REPEAT n := NoOfElementsInSet(ToDoList) ; ! WHILE ResolveConstantExpressions(DeclareConstFully, start, end) DO END ; (* we need to evaluate some constant expressions to resolve these types *) IF DeclaredOutstandingTypes (FALSE) THEN END ; m := NoOfElementsInSet(ToDoList) ! UNTIL (NOT ResolveConstantExpressions(DeclareConstFully, start, end)) AND (n=m) END DeclareTypesConstantsProceduresInRange ; --- 2560,2583 ---- DeclareTypesConstantsProceduresInRange - *) ! PROCEDURE DeclareTypesConstantsProceduresInRange (scope, start, end: CARDINAL) ; VAR n, m: CARDINAL ; BEGIN IF DisplayQuadruples THEN ! DisplayQuadRange (scope, start, end) END ; REPEAT n := NoOfElementsInSet(ToDoList) ; ! WHILE ResolveConstantExpressions (DeclareConstFully, start, end) DO END ; (* we need to evaluate some constant expressions to resolve these types *) IF DeclaredOutstandingTypes (FALSE) THEN END ; m := NoOfElementsInSet(ToDoList) ! UNTIL (NOT ResolveConstantExpressions (DeclareConstFully, start, end)) AND (n=m) END DeclareTypesConstantsProceduresInRange ; *************** VAR *** 2622,2637 **** s, t: CARDINAL ; sb : ScopeBlock ; BEGIN ! sb := InitScopeBlock(scope) ; ! PushBinding(scope) ; REPEAT ! s := NoOfElementsInSet(ToDoList) ; (* ForeachLocalSymDo(scope, DeclareTypeInfo) ; *) ! ForeachScopeBlockDo(sb, DeclareTypesConstantsProceduresInRange) ; ! t := NoOfElementsInSet(ToDoList) ; UNTIL s=t ; ! PopBinding(scope) ; ! KillScopeBlock(sb) END DeclareTypesConstantsProcedures ; --- 2641,2656 ---- s, t: CARDINAL ; sb : ScopeBlock ; BEGIN ! sb := InitScopeBlock (scope) ; ! PushBinding (scope) ; REPEAT ! s := NoOfElementsInSet (ToDoList) ; (* ForeachLocalSymDo(scope, DeclareTypeInfo) ; *) ! ForeachScopeBlockDo (sb, DeclareTypesConstantsProceduresInRange) ; ! t := NoOfElementsInSet (ToDoList) ; UNTIL s=t ; ! PopBinding (scope) ; ! KillScopeBlock (sb) END DeclareTypesConstantsProcedures ; *************** BEGIN *** 2693,2699 **** WalkTypesInProcedure(scope) ; DeclareProcedure(scope) ; ForeachInnerModuleDo(scope, WalkTypesInModule) ; ! DeclareTypesConstantsProcedures(scope) ; ForeachInnerModuleDo(scope, DeclareTypesConstantsProcedures) ; DeclareLocalVariables(scope) ; ForeachInnerModuleDo(scope, DeclareModuleVariables) ; --- 2712,2718 ---- WalkTypesInProcedure(scope) ; DeclareProcedure(scope) ; ForeachInnerModuleDo(scope, WalkTypesInModule) ; ! DeclareTypesConstantsProcedures (scope) ; ForeachInnerModuleDo(scope, DeclareTypesConstantsProcedures) ; DeclareLocalVariables(scope) ; ForeachInnerModuleDo(scope, DeclareModuleVariables) ; *************** PROCEDURE StartDeclareScope (scope: CARD *** 2797,2803 **** VAR n: Name ; BEGIN ! (* AddSymToWatch (1265) ; *) (* AddSymToWatch (1157) ; *) (* watch goes here *) (* AddSymToWatch(TryFindSymbol('IOLink', 'DeviceId')) ; *) (* AddSymToWatch(819) ; *) --- 2816,2822 ---- VAR n: Name ; BEGIN ! (* AddSymToWatch (8821) ; *) (* AddSymToWatch (1157) ; *) (* watch goes here *) (* AddSymToWatch(TryFindSymbol('IOLink', 'DeviceId')) ; *) (* AddSymToWatch(819) ; *) *************** VAR *** 3175,3181 **** varType : CARDINAL ; location: location_t ; BEGIN ! IF IsComponent (var) THEN RETURN END ; --- 3194,3200 ---- varType : CARDINAL ; location: location_t ; BEGIN ! IF IsComponent (var) OR IsVarHeap (var) THEN RETURN END ; *************** BEGIN *** 3911,3916 **** --- 3930,3941 ---- THEN printf0('component ') END ; + IF IsVarHeap (sym) + THEN + printf0('heap ') + END ; + printf0 ('\n') ; + PrintInitialized (sym) ; IncludeType(l, sym) ELSIF IsConst(sym) THEN *************** BEGIN *** 4910,4916 **** THEN MinEnumerationField := NulSym ; MaxEnumerationField := NulSym ; ! ForeachFieldEnumerationDo(type, FindMinMaxEnum) ; RETURN( MinEnumerationField ) ELSIF IsBaseType(type) THEN --- 4935,4941 ---- THEN MinEnumerationField := NulSym ; MaxEnumerationField := NulSym ; ! ForeachLocalSymDo (type, FindMinMaxEnum) ; RETURN( MinEnumerationField ) ELSIF IsBaseType(type) THEN *************** BEGIN *** 4949,4955 **** THEN MinEnumerationField := NulSym ; MaxEnumerationField := NulSym ; ! ForeachFieldEnumerationDo(type, FindMinMaxEnum) ; RETURN( MaxEnumerationField ) ELSIF IsBaseType(type) THEN --- 4974,4980 ---- THEN MinEnumerationField := NulSym ; MaxEnumerationField := NulSym ; ! ForeachLocalSymDo (type, FindMinMaxEnum) ; RETURN( MaxEnumerationField ) ELSIF IsBaseType(type) THEN *************** END CheckResolveSubrange ; *** 5161,5167 **** PROCEDURE TypeConstFullyDeclared (sym: CARDINAL) : Tree ; VAR t: Tree ; - n: Name ; BEGIN IF IsEnumeration(sym) THEN --- 5186,5191 ---- *************** BEGIN *** 5229,5244 **** t := CheckAlignment(t, sym) END END ; ! IF GetSymName(sym)#NulName ! THEN ! IF Debugging ! THEN ! n := GetSymName(sym) ; ! printf1('declaring type %a\n', n) ! END ; ! t := RememberType(t) ! END ; ! RETURN( t ) END TypeConstFullyDeclared ; --- 5253,5259 ---- t := CheckAlignment(t, sym) END END ; ! RETURN RememberType (t) END TypeConstFullyDeclared ; *************** PROCEDURE IsEnumerationDependants (sym: *** 5278,5284 **** BEGIN action := q ; enumDeps := TRUE ; ! ForeachFieldEnumerationDo(sym, IsFieldEnumerationDependants) ; RETURN( enumDeps ) END IsEnumerationDependants ; --- 5293,5299 ---- BEGIN action := q ; enumDeps := TRUE ; ! ForeachLocalSymDo (sym, IsFieldEnumerationDependants) ; RETURN( enumDeps ) END IsEnumerationDependants ; *************** END IsEnumerationDependants ; *** 5289,5295 **** PROCEDURE WalkEnumerationDependants (sym: CARDINAL; p: WalkAction) ; BEGIN ! ForeachFieldEnumerationDo(sym, p) END WalkEnumerationDependants ; --- 5304,5310 ---- PROCEDURE WalkEnumerationDependants (sym: CARDINAL; p: WalkAction) ; BEGIN ! ForeachLocalSymDo (sym, p) END WalkEnumerationDependants ; *************** VAR *** 5303,5309 **** high, low: CARDINAL ; BEGIN GetSubrange(sym, high, low) ; ! CheckResolveSubrange(sym) ; type := GetSType(sym) ; IF type#NulSym THEN --- 5318,5324 ---- high, low: CARDINAL ; BEGIN GetSubrange(sym, high, low) ; ! CheckResolveSubrange (sym) ; type := GetSType(sym) ; IF type#NulSym THEN diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2GenGCC.def gcc-13.3.0/gcc/m2/gm2-compiler/M2GenGCC.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2GenGCC.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2GenGCC.def Tue May 21 07:47:38 2024 *************** FROM m2linemap IMPORT location_t ; *** 37,43 **** EXPORT QUALIFIED ConvertQuadsToTree, ResolveConstantExpressions, GetHighFromUnbounded, StringToChar, LValueToGenericPtr, ZConstToTypedConst, ! DoCopyString ; (* --- 37,43 ---- EXPORT QUALIFIED ConvertQuadsToTree, ResolveConstantExpressions, GetHighFromUnbounded, StringToChar, LValueToGenericPtr, ZConstToTypedConst, ! PrepareCopyString ; (* *************** EXPORT QUALIFIED ConvertQuadsToTree, Res *** 45,51 **** the GCC tree structure. *) ! PROCEDURE ConvertQuadsToTree (Start, End: CARDINAL) ; (* --- 45,51 ---- the GCC tree structure. *) ! PROCEDURE ConvertQuadsToTree (Scope: CARDINAL; Start, End: CARDINAL) ; (* *************** PROCEDURE ZConstToTypedConst (t: Tree; o *** 91,103 **** (* ! DoCopyString - returns trees: ! t number of bytes to be copied (including the nul) ! op3t the string with the extra nul character ! providing it fits. *) ! PROCEDURE DoCopyString (tokenno: CARDINAL; VAR length, op3t: Tree; op1t, op3: CARDINAL) ; END M2GenGCC. --- 91,112 ---- (* ! PrepareCopyString - returns two trees: ! length number of bytes to be copied (including the nul if room) ! srcTreeType the new string type (with the extra nul character). ! ! Pre condition: destStrType the dest type string. ! src is the original string (without a nul) ! to be copied. ! Post condition: TRUE or FALSE is returned. ! if true length and srcTreeType will be assigned ! else length is set to the maximum length to be ! copied and srcTree is set to the max length ! which fits in dest. *) ! PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: Tree; ! src, destStrType: CARDINAL) : BOOLEAN ; END M2GenGCC. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2GenGCC.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2GenGCC.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2GenGCC.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2GenGCC.mod Tue May 21 07:47:38 2024 *************** FROM SymbolTable IMPORT PushSize, PopSiz *** 41,46 **** --- 41,47 ---- NoOfParam, GetParent, GetDimension, IsAModula2Type, IsModule, IsDefImp, IsType, IsModuleWithinProcedure, IsConstString, GetString, GetStringLength, + IsConstStringCnul, IsConstStringM2nul, IsConst, IsConstSet, IsProcedure, IsProcType, IsVar, IsVarParam, IsTemporary, IsEnumeration, *************** FROM SymbolTable IMPORT PushSize, PopSiz *** 80,86 **** NulSym ; FROM M2Batch IMPORT MakeDefinitionSource ; ! FROM M2LexBuf IMPORT FindFileNameFromToken, TokenToLineNo, TokenToLocation, MakeVirtualTok ; FROM M2Code IMPORT CodeBlock ; FROM M2Debug IMPORT Assert ; FROM M2Error IMPORT InternalError, WriteFormat0, WriteFormat1, WriteFormat2, WarnStringAt ; --- 81,90 ---- NulSym ; FROM M2Batch IMPORT MakeDefinitionSource ; ! ! FROM M2LexBuf IMPORT FindFileNameFromToken, TokenToLineNo, TokenToLocation, ! MakeVirtualTok, UnknownTokenNo ; ! FROM M2Code IMPORT CodeBlock ; FROM M2Debug IMPORT Assert ; FROM M2Error IMPORT InternalError, WriteFormat0, WriteFormat1, WriteFormat2, WarnStringAt ; *************** FROM M2GCCDeclare IMPORT WalkAction, *** 146,152 **** DeclareConstant, TryDeclareConstant, DeclareConstructor, TryDeclareConstructor, StartDeclareScope, EndDeclareScope, ! PromoteToString, DeclareLocalVariable, CompletelyResolved, PoisonSymbols, GetTypeMin, GetTypeMax, IsProcedureGccNested, DeclareParameters, --- 150,156 ---- DeclareConstant, TryDeclareConstant, DeclareConstructor, TryDeclareConstructor, StartDeclareScope, EndDeclareScope, ! PromoteToString, PromoteToCString, DeclareLocalVariable, CompletelyResolved, PoisonSymbols, GetTypeMin, GetTypeMax, IsProcedureGccNested, DeclareParameters, *************** FROM m2expr IMPORT GetIntegerZero, GetIn *** 167,172 **** --- 171,177 ---- CompareTrees, StringLength, AreConstantsEqual, + GetCstInteger, BuildForeachWordInSetDoIfExpr, BuildIfConstInVar, BuildIfVarInVar, *************** FROM m2expr IMPORT GetIntegerZero, GetIn *** 203,212 **** BuildAddAddress, BuildIfInRangeGoto, BuildIfNotInRangeGoto ; ! FROM m2tree IMPORT Tree, debug_tree ; FROM m2linemap IMPORT location_t ; ! FROM m2decl IMPORT BuildStringConstant, DeclareKnownConstant, GetBitsPerBitset, BuildIntegerConstant, BuildModuleCtor, DeclareModuleCtor ; --- 208,218 ---- BuildAddAddress, BuildIfInRangeGoto, BuildIfNotInRangeGoto ; ! FROM m2tree IMPORT Tree, debug_tree, skip_const_decl ; FROM m2linemap IMPORT location_t ; ! FROM m2decl IMPORT BuildStringConstant, BuildCStringConstant, ! DeclareKnownConstant, GetBitsPerBitset, BuildIntegerConstant, BuildModuleCtor, DeclareModuleCtor ; *************** BEGIN *** 382,388 **** IF WholeProgram THEN scope := GetScope (sym) ; ! WHILE scope#NulSym DO IF IsDefImp (scope) THEN RETURN IsExported (scope, sym) --- 388,394 ---- IF WholeProgram THEN scope := GetScope (sym) ; ! WHILE scope # NulSym DO IF IsDefImp (scope) THEN RETURN IsExported (scope, sym) *************** BEGIN *** 390,396 **** THEN RETURN FALSE END ; ! scope := GetScope(scope) END ; InternalError ('expecting scope to eventually reach a module or defimp symbol') ELSE --- 396,402 ---- THEN RETURN FALSE END ; ! scope := GetScope (scope) END ; InternalError ('expecting scope to eventually reach a module or defimp symbol') ELSE *************** END IsExportedGcc ; *** 405,411 **** the GCC tree structure. *) ! PROCEDURE ConvertQuadsToTree (Start, End: CARDINAL) ; BEGIN REPEAT CodeStatement (Start) ; --- 411,417 ---- the GCC tree structure. *) ! PROCEDURE ConvertQuadsToTree (Scope: CARDINAL; Start, End: CARDINAL) ; BEGIN REPEAT CodeStatement (Start) ; *************** BEGIN *** 467,473 **** KillLocalVarOp : CodeKillLocalVar (op3) | ProcedureScopeOp : CodeProcedureScope (op3) | ReturnOp : (* Not used as return is achieved by KillLocalVar. *) | ! ReturnValueOp : CodeReturnValue (op1, op3) | TryOp : CodeTry | ThrowOp : CodeThrow (op3) | CatchBeginOp : CodeCatchBegin | --- 473,479 ---- KillLocalVarOp : CodeKillLocalVar (op3) | ProcedureScopeOp : CodeProcedureScope (op3) | ReturnOp : (* Not used as return is achieved by KillLocalVar. *) | ! ReturnValueOp : CodeReturnValue (q) | TryOp : CodeTry | ThrowOp : CodeThrow (op3) | CatchBeginOp : CodeCatchBegin | *************** BEGIN *** 476,481 **** --- 482,488 ---- DummyOp : | InitAddressOp : CodeInitAddress(q, op1, op2, op3) | BecomesOp : CodeBecomes(q) | + ArithAddOp, AddOp : CodeAddChecked (q, op2, op3) | SubOp : CodeSubChecked (q, op2, op3) | MultOp : CodeMultChecked (q, op2, op3) | *************** BEGIN *** 506,512 **** IfInOp : CodeIfIn (q, op1, op2, op3) | IfNotInOp : CodeIfNotIn (q, op1, op2, op3) | IndrXOp : CodeIndrX (q, op1, op2, op3) | ! XIndrOp : CodeXIndr (q, op1, op2, op3) | CallOp : CodeCall (CurrentQuadToken, op3) | ParamOp : CodeParam (q, op1, op2, op3) | FunctValueOp : CodeFunctValue (location, op1) | --- 513,519 ---- IfInOp : CodeIfIn (q, op1, op2, op3) | IfNotInOp : CodeIfNotIn (q, op1, op2, op3) | IndrXOp : CodeIndrX (q, op1, op2, op3) | ! XIndrOp : CodeXIndr (q) | CallOp : CodeCall (CurrentQuadToken, op3) | ParamOp : CodeParam (q, op1, op2, op3) | FunctValueOp : CodeFunctValue (location, op1) | *************** BEGIN *** 524,530 **** SavePriorityOp : CodeSavePriority (op1, op2, op3) | RestorePriorityOp : CodeRestorePriority (op1, op2, op3) | ! InlineOp : CodeInline (location, CurrentQuadToken, op3) | StatementNoteOp : CodeStatementNote (op3) | CodeOnOp : | (* the following make no sense with gcc *) CodeOffOp : | --- 531,537 ---- SavePriorityOp : CodeSavePriority (op1, op2, op3) | RestorePriorityOp : CodeRestorePriority (op1, op2, op3) | ! InlineOp : CodeInline (q) | StatementNoteOp : CodeStatementNote (op3) | CodeOnOp : | (* the following make no sense with gcc *) CodeOffOp : | *************** BEGIN *** 586,591 **** --- 593,599 ---- LogicalAndOp : FoldSetAnd (tokenno, p, quad, op1, op2, op3) | LogicalXorOp : FoldSymmetricDifference (tokenno, p, quad, op1, op2, op3) | BecomesOp : FoldBecomes (tokenno, p, quad, op1, op3) | + ArithAddOp : FoldArithAdd (op1pos, p, quad, op1, op2, op3) | AddOp : FoldAdd (op1pos, p, quad, op1, op2, op3) | SubOp : FoldSub (op1pos, p, quad, op1, op2, op3) | MultOp : FoldMult (op1pos, p, quad, op1, op2, op3) | *************** END FindType ; *** 694,701 **** BuildTreeFromInterface - generates a GCC tree from an interface definition. *) ! PROCEDURE BuildTreeFromInterface (tokenno: CARDINAL; sym: CARDINAL) : Tree ; VAR i : CARDINAL ; name : Name ; str, --- 702,712 ---- BuildTreeFromInterface - generates a GCC tree from an interface definition. *) ! PROCEDURE BuildTreeFromInterface (sym: CARDINAL) : Tree ; ! CONST ! DebugTokPos = FALSE ; VAR + tok : CARDINAL ; i : CARDINAL ; name : Name ; str, *************** BEGIN *** 708,728 **** THEN i := 1 ; REPEAT ! GetRegInterface (sym, i, name, str, obj) ; ! IF str#NulSym THEN IF IsConstString (str) THEN ! DeclareConstant (tokenno, obj) ; IF name = NulName THEN gccName := NIL ELSE ! gccName := BuildStringConstant (KeyToCharStar (name), LengthKey (name)) END ; ! tree := ChainOnParamValue (tree, gccName, PromoteToString (tokenno, str), Mod2Gcc (obj)) ELSE ! WriteFormat0 ('a constraint to the GNU ASM statement must be a constant string') END END ; INC(i) --- 719,746 ---- THEN i := 1 ; REPEAT ! GetRegInterface (sym, i, tok, name, str, obj) ; ! IF str # NulSym THEN IF IsConstString (str) THEN ! DeclareConstant (tok, obj) ; IF name = NulName THEN gccName := NIL ELSE ! gccName := BuildCStringConstant (KeyToCharStar (name), LengthKey (name)) END ; ! tree := ChainOnParamValue (tree, gccName, PromoteToCString (tok, str), ! skip_const_decl (Mod2Gcc (obj))) ; ! IF DebugTokPos ! THEN ! WarnStringAt (InitString ('input expression'), tok) ! END ELSE ! MetaErrorT1 (tok, ! 'a constraint to the GNU ASM statement must be a constant string and not a {%1Ed}', ! str) END END ; INC(i) *************** END BuildTreeFromInterface ; *** 737,762 **** *) PROCEDURE BuildTrashTreeFromInterface (sym: CARDINAL) : Tree ; VAR i : CARDINAL ; str, obj : CARDINAL ; name: Name ; tree: Tree ; BEGIN ! tree := Tree(NIL) ; ! IF sym#NulSym THEN i := 1 ; REPEAT ! GetRegInterface(sym, i, name, str, obj) ; ! IF str#NulSym THEN ! IF IsConstString(str) THEN ! tree := AddStringToTreeList(tree, PromoteToString(GetDeclaredMod(str), str)) ELSE ! WriteFormat0('a constraint to the GNU ASM statement must be a constant string') END END ; (* --- 755,789 ---- *) PROCEDURE BuildTrashTreeFromInterface (sym: CARDINAL) : Tree ; + CONST + DebugTokPos = FALSE ; VAR + tok : CARDINAL ; i : CARDINAL ; str, obj : CARDINAL ; name: Name ; tree: Tree ; BEGIN ! tree := Tree (NIL) ; ! IF sym # NulSym THEN i := 1 ; REPEAT ! GetRegInterface (sym, i, tok, name, str, obj) ; ! IF str # NulSym THEN ! IF IsConstString (str) THEN ! tree := AddStringToTreeList (tree, PromoteToCString (tok, str)) ; ! IF DebugTokPos ! THEN ! WarnStringAt (InitString ('trash expression'), tok) ! END ELSE ! MetaErrorT1 (tok, ! 'a constraint to the GNU ASM statement must be a constant string and not a {%1Ed}', ! str) END END ; (* *************** BEGIN *** 765,774 **** InternalError ('not expecting the object to be non null in the trash list') END ; *) ! INC(i) ! UNTIL (str=NulSym) AND (obj=NulSym) END ; ! RETURN( tree ) END BuildTrashTreeFromInterface ; --- 792,801 ---- InternalError ('not expecting the object to be non null in the trash list') END ; *) ! INC (i) ! UNTIL (str = NulSym) AND (obj = NulSym) END ; ! RETURN tree END BuildTrashTreeFromInterface ; *************** END BuildTrashTreeFromInterface ; *** 776,808 **** CodeInline - InlineOp is a quadruple which has the following format: InlineOp NulSym NulSym Sym - - The inline asm statement, Sym, is written to standard output. *) ! PROCEDURE CodeInline (location: location_t; tokenno: CARDINAL; GnuAsm: CARDINAL) ; VAR ! string : CARDINAL ; inputs, outputs, trash, ! labels : Tree ; BEGIN ! (* ! no need to explicity flush the outstanding instructions as ! per M2GenDyn486 and M2GenAPU. The GNU ASM statements in GCC ! can handle the register dependency providing the user ! specifies VOLATILE and input/output/trash sets correctly. ! *) ! inputs := BuildTreeFromInterface (tokenno, GetGnuAsmInput(GnuAsm)) ; ! outputs := BuildTreeFromInterface (tokenno, GetGnuAsmOutput(GnuAsm)) ; ! trash := BuildTrashTreeFromInterface (GetGnuAsmTrash(GnuAsm)) ; ! labels := NIL ; (* at present it makes no sence for Modula-2 to jump to a label, given that labels are not allowed in Modula-2. *) string := GetGnuAsm (GnuAsm) ; - DeclareConstant (tokenno, string) ; BuildAsm (location, ! Mod2Gcc (string), IsGnuAsmVolatile (GnuAsm), IsGnuAsmSimple (GnuAsm), inputs, outputs, trash, labels) END CodeInline ; --- 803,836 ---- CodeInline - InlineOp is a quadruple which has the following format: InlineOp NulSym NulSym Sym *) ! PROCEDURE CodeInline (quad: CARDINAL) ; VAR ! overflowChecking: BOOLEAN ; ! op : QuadOperator ; ! op1, op2, GnuAsm: CARDINAL ; ! op1pos, op2pos, ! op3pos, asmpos : CARDINAL ; ! string : CARDINAL ; inputs, outputs, trash, ! labels : Tree ; ! location : location_t ; BEGIN ! GetQuadOtok (quad, asmpos, op, op1, op2, GnuAsm, overflowChecking, ! op1pos, op2pos, op3pos) ; ! location := TokenToLocation (asmpos) ; ! inputs := BuildTreeFromInterface (GetGnuAsmInput (GnuAsm)) ; ! outputs := BuildTreeFromInterface (GetGnuAsmOutput (GnuAsm)) ; ! trash := BuildTrashTreeFromInterface (GetGnuAsmTrash (GnuAsm)) ; ! labels := NIL ; (* At present it makes no sence for Modula-2 to jump to a label, given that labels are not allowed in Modula-2. *) string := GetGnuAsm (GnuAsm) ; BuildAsm (location, ! PromoteToCString (GetDeclaredMod (string), string), ! IsGnuAsmVolatile (GnuAsm), IsGnuAsmSimple (GnuAsm), inputs, outputs, trash, labels) END CodeInline ; *************** BEGIN *** 1353,1359 **** (* now assign param.Addr := ADR(NewArray) *) BuildAssignmentStatement (location, ! BuildComponentRef (location, Mod2Gcc (param), Mod2Gcc (GetUnboundedAddressOffset (UnboundedType))), NewArray) END MakeCopyUse ; --- 1381,1389 ---- (* now assign param.Addr := ADR(NewArray) *) BuildAssignmentStatement (location, ! BuildComponentRef (location, ! Mod2Gcc (param), ! Mod2Gcc (GetUnboundedAddressOffset (UnboundedType))), NewArray) END MakeCopyUse ; *************** END CodeProcedureScope ; *** 1830,1897 **** allocated by the function call. *) ! PROCEDURE CodeReturnValue (res, Procedure: CARDINAL) ; VAR ! value, length, op3t : Tree ; ! location: location_t ; BEGIN ! location := TokenToLocation (CurrentQuadToken) ; ! TryDeclareConstant (CurrentQuadToken, res) ; (* checks to see whether it is a constant and declares it *) ! TryDeclareConstructor (CurrentQuadToken, res) ; ! IF IsConstString (res) AND (SkipTypeAndSubrange (GetType (Procedure)) # Char) THEN ! DoCopyString (CurrentQuadToken, length, op3t, GetType (Procedure), res) ; value := BuildArrayStringConstructor (location, ! Mod2Gcc (GetType (Procedure)), op3t, length) ELSE ! value := Mod2Gcc (res) END ; ! BuildReturnValueCode (location, Mod2Gcc (Procedure), value) END CodeReturnValue ; - (* ******************************* - (* - GenerateCleanup - generates a try/catch/clobber tree containing the call to ptree - *) - - PROCEDURE GenerateCleanup (location: location_t; procedure: CARDINAL; p, call: Tree) : Tree ; - VAR - i, n: CARDINAL ; - t : Tree ; - BEGIN - t := push_statement_list (begin_statement_list ()) ; - i := 1 ; - n := NoOfParam (procedure) ; - WHILE i<=n DO - IF IsParameterVar (GetNthParam (procedure, i)) - THEN - AddStatement (location, BuildCleanUp (GetParamTree (call, i-1))) - END ; - INC(i) - END ; - RETURN BuildTryFinally (location, p, pop_statement_list ()) - END GenerateCleanup ; - - - (* - CheckCleanup - checks whether a cleanup is required for a procedure with - VAR parameters. The final tree is returned. - *) - - PROCEDURE CheckCleanup (location: location_t; procedure: CARDINAL; tree, call: Tree) : Tree ; - BEGIN - IF HasVarParameters(procedure) - THEN - RETURN tree ; - (* RETURN GenerateCleanup(location, procedure, tree, call) *) - ELSE - RETURN tree - END - END CheckCleanup ; - ************************************** *) - - (* CodeCall - determines whether the procedure call is a direct call or an indirect procedure call. --- 1860,1899 ---- allocated by the function call. *) ! PROCEDURE CodeReturnValue (quad: CARDINAL) ; VAR ! op : QuadOperator ; ! overflowChecking : BOOLEAN ; ! expr, none, procedure : CARDINAL ; ! combinedpos, ! returnpos, exprpos, nonepos, procpos: CARDINAL ; ! value, length : Tree ; ! location : location_t ; BEGIN ! GetQuadOtok (quad, returnpos, op, expr, none, procedure, overflowChecking, ! exprpos, nonepos, procpos) ; ! combinedpos := MakeVirtualTok (returnpos, returnpos, exprpos) ; ! location := TokenToLocation (combinedpos) ; ! TryDeclareConstant (exprpos, expr) ; (* checks to see whether it is a constant and declares it *) ! TryDeclareConstructor (exprpos, expr) ; ! IF IsConstString (expr) AND (SkipTypeAndSubrange (GetType (procedure)) # Char) THEN ! IF NOT PrepareCopyString (returnpos, length, value, expr, GetType (procedure)) ! THEN ! MetaErrorT3 (MakeVirtualTok (returnpos, returnpos, exprpos), ! 'string constant {%1Ea} is too large to be returned from procedure {%2a} via the {%3d} {%3a}', ! expr, procedure, GetType (procedure)) ! END ; value := BuildArrayStringConstructor (location, ! Mod2Gcc (GetType (procedure)), ! value, length) ELSE ! value := Mod2Gcc (expr) END ; ! BuildReturnValueCode (location, Mod2Gcc (procedure), value) END CodeReturnValue ; (* CodeCall - determines whether the procedure call is a direct call or an indirect procedure call. *************** BEGIN *** 1918,1924 **** THEN location := TokenToLocation (tokenno) ; AddStatement (location, tree) - (* was AddStatement(location, CheckCleanup(location, procedure, tree, tree)) *) ELSE (* leave tree alone - as it will be picked up when processing FunctValue *) END --- 1920,1925 ---- *************** END FoldConstBecomes ; *** 2880,2936 **** (* ! DoCopyString - returns trees: ! length number of bytes to be copied (including the nul) ! op1t the new string _type_ (with the extra nul character). ! op3t the actual string with the extra nul character. *) ! PROCEDURE DoCopyString (tokenno: CARDINAL; VAR length, op3t: Tree; op1t, op3: CARDINAL) ; VAR ! location: location_t ; BEGIN ! location := TokenToLocation(tokenno) ; ! Assert(IsArray(SkipType(op1t))) ; ! (* handle string assignments: VAR str: ARRAY [0..10] OF CHAR ; ch : CHAR ; str := 'abcde' but not ch := 'a' *) ! IF GetType (op3) = Char THEN (* ! * create string from char and add nul to the end, nul is * added by BuildStringConstant *) ! op3t := BuildStringConstant (KeyToCharStar (GetString (op3)), 1) ELSE ! op3t := Mod2Gcc (op3) END ; ! op3t := ConvertString (Mod2Gcc (op1t), op3t) ; ! ! PushIntegerTree(FindSize(tokenno, op3)) ; ! PushIntegerTree(FindSize(tokenno, op1t)) ; ! IF Less(tokenno) THEN ! (* there is room for the extra character *) ! length := BuildAdd(location, FindSize(tokenno, op3), GetIntegerOne(location), FALSE) ELSE ! PushIntegerTree(FindSize(tokenno, op3)) ; ! PushIntegerTree(FindSize(tokenno, op1t)) ; IF Gre (tokenno) THEN ! WarnStringAt (InitString('string constant is too large to be assigned to the array'), ! tokenno) ; ! length := FindSize (tokenno, op1t) ! ELSE ! (* equal so return max characters in the array *) ! length := FindSize (tokenno, op1t) END ! END ! END DoCopyString ; (* --- 2881,2947 ---- (* ! PrepareCopyString - returns two trees: ! length number of bytes to be copied (including the nul if room) ! srcTreeType the new string type (with the extra nul character). ! ! Pre condition: destStrType the dest type string. ! src is the original string (without a nul) ! to be copied. ! Post condition: TRUE or FALSE is returned. ! if true length and srcTreeType will be assigned ! else length is set to the maximum length to be ! copied and srcTree is set to the max length ! which fits in dest. *) ! PROCEDURE PrepareCopyString (tokenno: CARDINAL; VAR length, srcTree: Tree; ! src, destStrType: CARDINAL) : BOOLEAN ; VAR ! location : location_t ; ! intLength: INTEGER ; BEGIN ! location := TokenToLocation (tokenno) ; ! Assert (IsArray (SkipType (destStrType))) ; ! (* Handle string assignments: VAR str: ARRAY [0..10] OF CHAR ; ch : CHAR ; str := 'abcde' but not ch := 'a' *) ! IF GetType (src) = Char THEN (* ! * Create string from char and add nul to the end, nul is * added by BuildStringConstant *) ! srcTree := BuildStringConstant (KeyToCharStar (GetString (src)), 1) ELSE ! srcTree := Mod2Gcc (src) END ; ! srcTree := ConvertString (Mod2Gcc (destStrType), srcTree) ; ! PushIntegerTree (FindSize (tokenno, src)) ; ! PushIntegerTree (FindSize (tokenno, destStrType)) ; ! IF Less (tokenno) THEN ! (* There is room for the extra character. *) ! length := BuildAdd (location, FindSize (tokenno, src), ! GetIntegerOne (location), FALSE) ELSE ! length := FindSize (tokenno, destStrType) ; ! PushIntegerTree (FindSize (tokenno, src)) ; ! PushIntegerTree (length) ; ! (* Greater or Equal so return max characters in the array. *) IF Gre (tokenno) THEN ! intLength := GetCstInteger (length) ; ! srcTree := BuildStringConstant (KeyToCharStar (GetString (src)), intLength) ; ! RETURN FALSE END ! END ; ! RETURN TRUE ! END PrepareCopyString ; (* *************** END checkDeclare ; *** 3090,3108 **** PROCEDURE CodeBecomes (quad: CARDINAL) ; VAR ! op : QuadOperator ; ! op1, op2, ! op3 : CARDINAL ; becomespos, op1pos, op2pos, ! op3pos : CARDINAL ; length, ! op3t : Tree ; ! location : location_t ; BEGIN ! GetQuadOtok (quad, becomespos, op, op1, op2, op3, op1pos, op2pos, op3pos) ; ! DeclareConstant (CurrentQuadToken, op3) ; (* checks to see whether it is a constant and declares it *) DeclareConstructor (CurrentQuadToken, quad, op3) ; location := TokenToLocation (CurrentQuadToken) ; --- 3101,3121 ---- PROCEDURE CodeBecomes (quad: CARDINAL) ; VAR ! overflowChecking: BOOLEAN ; ! op : QuadOperator ; ! op1, op2, op3 : CARDINAL ; becomespos, op1pos, op2pos, ! op3pos : CARDINAL ; length, ! op3t : Tree ; ! location : location_t ; BEGIN ! GetQuadOtok (quad, becomespos, op, op1, op2, op3, overflowChecking, ! op1pos, op2pos, op3pos) ; ! Assert (op2pos = UnknownTokenNo) ; ! DeclareConstant (CurrentQuadToken, op3) ; (* Check to see whether op3 is a constant and declare it. *) DeclareConstructor (CurrentQuadToken, quad, op3) ; location := TokenToLocation (CurrentQuadToken) ; *************** BEGIN *** 3119,3125 **** ELSIF IsConstString (op3) AND (SkipTypeAndSubrange (GetType (op1)) # Char) THEN checkDeclare (op1) ; ! DoCopyString (CurrentQuadToken, length, op3t, SkipType (GetType (op1)), op3) ; AddStatement (location, MaybeDebugBuiltinMemcpy (location, CurrentQuadToken, BuildAddr (location, Mod2Gcc (op1), FALSE), --- 3132,3143 ---- ELSIF IsConstString (op3) AND (SkipTypeAndSubrange (GetType (op1)) # Char) THEN checkDeclare (op1) ; ! IF NOT PrepareCopyString (becomespos, length, op3t, op3, SkipType (GetType (op1))) ! THEN ! MetaErrorT2 (MakeVirtualTok (becomespos, op1pos, op3pos), ! 'string constant {%1Ea} is too large to be assigned to the array {%2ad}', ! op3, op1) ! END ; AddStatement (location, MaybeDebugBuiltinMemcpy (location, CurrentQuadToken, BuildAddr (location, Mod2Gcc (op1), FALSE), *************** END GetStr ; *** 3623,3629 **** (* ! FoldAdd - check addition for constant folding. *) PROCEDURE FoldAdd (tokenno: CARDINAL; p: WalkAction; --- 3641,3648 ---- (* ! FoldAdd - check addition for constant folding. It checks for conststrings ! overloading the +. *) PROCEDURE FoldAdd (tokenno: CARDINAL; p: WalkAction; *************** BEGIN *** 3643,3657 **** SubQuad (quad) ; s := KillString (s) ELSE ! IF BinaryOperands (quad, op2, op3) ! THEN ! FoldBinary (tokenno, p, BuildAdd, quad, op1, op2, op3) ! END END END FoldAdd ; (* CodeAddChecked - code an addition instruction, determine whether checking is required. *) --- 3662,3687 ---- SubQuad (quad) ; s := KillString (s) ELSE ! FoldArithAdd (tokenno, p, quad, op1, op2, op3) END END FoldAdd ; (* + FoldArithAdd - check arithmetic addition for constant folding. + *) + + PROCEDURE FoldArithAdd (tokenno: CARDINAL; p: WalkAction; + quad: CARDINAL; op1, op2, op3: CARDINAL) ; + BEGIN + IF BinaryOperands (quad, op2, op3) + THEN + FoldBinary (tokenno, p, BuildAdd, quad, op1, op2, op3) + END + END FoldArithAdd ; + + + (* CodeAddChecked - code an addition instruction, determine whether checking is required. *) *************** VAR *** 5496,5502 **** location: location_t ; BEGIN location := TokenToLocation(GetDeclaredMod(operand)) ; ! RETURN( GetCardinalZero(location) ) END BuildHighFromChar ; --- 5526,5537 ---- location: location_t ; BEGIN location := TokenToLocation(GetDeclaredMod(operand)) ; ! IF IsConstString (operand) AND ! (IsConstStringM2nul (operand) OR IsConstStringCnul (operand)) ! THEN ! RETURN GetCardinalOne (location) ! END ; ! RETURN GetCardinalZero (location) END BuildHighFromChar ; *************** END CodeIndrX ; *** 7163,7179 **** (op2 is the type of the data being indirectly copied) *) ! PROCEDURE CodeXIndr (quad: CARDINAL; op1, type, op3: CARDINAL) ; VAR length, ! newstr : Tree ; ! location: location_t ; BEGIN ! location := TokenToLocation(CurrentQuadToken) ; type := SkipType (type) ; ! DeclareConstant(CurrentQuadToken, op3) ; ! DeclareConstructor(CurrentQuadToken, quad, op3) ; (* Follow the Quadruple rule: --- 7198,7227 ---- (op2 is the type of the data being indirectly copied) *) ! PROCEDURE CodeXIndr (quad: CARDINAL) ; VAR + overflowChecking: BOOLEAN ; + op : QuadOperator ; + tokenno, + op1, + type, + op3, + op1pos, + op3pos, + typepos, + xindrpos : CARDINAL ; length, ! newstr : Tree ; ! location : location_t ; BEGIN ! GetQuadOtok (quad, xindrpos, op, op1, type, op3, overflowChecking, ! op1pos, typepos, op3pos) ; ! tokenno := MakeVirtualTok (xindrpos, op1pos, op3pos) ; ! location := TokenToLocation (tokenno) ; type := SkipType (type) ; ! DeclareConstant (op3pos, op3) ; ! DeclareConstructor (op3pos, quad, op3) ; (* Follow the Quadruple rule: *************** BEGIN *** 7181,7188 **** *) IF IsProcType(SkipType(type)) THEN ! BuildAssignmentStatement (location, BuildIndirect(location, Mod2Gcc(op1), GetPointerType()), Mod2Gcc(op3)) ! ELSIF IsConstString(op3) AND (GetStringLength(op3)=0) AND (GetMode(op1)=LeftValue) THEN (* no need to check for type errors, --- 7229,7236 ---- *) IF IsProcType(SkipType(type)) THEN ! BuildAssignmentStatement (location, BuildIndirect (location, Mod2Gcc (op1), GetPointerType ()), Mod2Gcc (op3)) ! ELSIF IsConstString (op3) AND (GetStringLength (op3) = 0) AND (GetMode (op1) = LeftValue) THEN (* no need to check for type errors, *************** BEGIN *** 7191,7203 **** contents. *) BuildAssignmentStatement (location, ! BuildIndirect(location, LValueToGenericPtr(location, op1), Mod2Gcc(Char)), ! StringToChar(Mod2Gcc(op3), Char, op3)) ! ELSIF IsConstString(op3) AND (SkipTypeAndSubrange(GetType(op1))#Char) THEN ! DoCopyString (CurrentQuadToken, length, newstr, type, op3) ; AddStatement (location, ! MaybeDebugBuiltinMemcpy (location, CurrentQuadToken, Mod2Gcc (op1), BuildAddr (location, newstr, FALSE), length)) --- 7239,7256 ---- contents. *) BuildAssignmentStatement (location, ! BuildIndirect (location, LValueToGenericPtr (location, op1), Mod2Gcc (Char)), ! StringToChar (Mod2Gcc (op3), Char, op3)) ! ELSIF IsConstString (op3) AND (SkipTypeAndSubrange (GetType (op1)) # Char) THEN ! IF NOT PrepareCopyString (tokenno, length, newstr, op3, type) ! THEN ! MetaErrorT2 (MakeVirtualTok (xindrpos, op1pos, op3pos), ! 'string constant {%1Ea} is too large to be assigned to the array {%2ad}', ! op3, op1) ! END ; AddStatement (location, ! MaybeDebugBuiltinMemcpy (location, tokenno, Mod2Gcc (op1), BuildAddr (location, newstr, FALSE), length)) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2MetaError.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2MetaError.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2MetaError.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2MetaError.mod Tue May 21 07:47:38 2024 *************** BEGIN *** 1529,1535 **** DEC (eb.ini) | 'u': eb.quotes := FALSE | ':': ifNonNulThen (eb, sym) ; ! DEC (eb.ini) ELSE InternalFormat (eb, 'expecting one of [akqtdnpsuCDEFKNOPQRSTUWXYZ:<>%]', __LINE__) --- 1529,1539 ---- DEC (eb.ini) | 'u': eb.quotes := FALSE | ':': ifNonNulThen (eb, sym) ; ! DEC (eb.ini) | ! '1': InternalError ('incorrect format spec, expecting %1 rather than % spec 1') | ! '2': InternalError ('incorrect format spec, expecting %2 rather than % spec 2') | ! '3': InternalError ('incorrect format spec, expecting %3 rather than % spec 3') | ! '4': InternalError ('incorrect format spec, expecting %4 rather than % spec 4') ELSE InternalFormat (eb, 'expecting one of [akqtdnpsuCDEFKNOPQRSTUWXYZ:<>%]', __LINE__) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Optimize.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Optimize.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Optimize.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Optimize.mod Tue May 21 07:47:38 2024 *************** FROM SymbolTable IMPORT GetSymName, *** 58,65 **** FROM M2Quads IMPORT QuadOperator, GetQuad, GetFirstQuad, GetNextQuad, PutQuad, SubQuad, Opposite, IsReferenced, ! GetRealQuad ; ! (* FoldBranches - folds unneccessary branches in the list of quadruples. --- 58,64 ---- FROM M2Quads IMPORT QuadOperator, GetQuad, GetFirstQuad, GetNextQuad, PutQuad, SubQuad, Opposite, IsReferenced, ! GetRealQuad, GetQuadOtok, PutQuadOtok ; (* FoldBranches - folds unneccessary branches in the list of quadruples. *************** BEGIN *** 114,127 **** GetQuad(i, Operator, Operand1, Operand2, Operand3) ; CASE Operator OF ! GotoOp : Folded := ReduceGoto(i, Operand3, ! Right, Folded) | IfInOp, IfNotInOp, IfNotEquOp, IfEquOp, IfLessEquOp, IfGreEquOp, ! IfGreOp, IfLessOp : Folded := ReduceBranch(Operator, i, ! Operand1, Operand2, Operand3, ! Right, Folded) ELSE END ; --- 113,126 ---- GetQuad(i, Operator, Operand1, Operand2, Operand3) ; CASE Operator OF ! GotoOp : Folded := ReduceGoto (i, Operand3, ! Right, Folded) | IfInOp, IfNotInOp, IfNotEquOp, IfEquOp, IfLessEquOp, IfGreEquOp, ! IfGreOp, IfLessOp : Folded := ReduceBranch (Operator, i, ! Operand1, Operand2, Operand3, ! Right, Folded) ELSE END ; *************** PROCEDURE ReduceBranch (Operator: QuadOp *** 154,201 **** VAR NextQuad: CARDINAL; Folded: BOOLEAN) : BOOLEAN ; VAR ! OpNext : QuadOperator ; NextPlusOne, Op1Next, Op2Next, Op3Next, ! From, ! To : CARDINAL ; BEGIN (* If op NextQuad+1 *) (* Goto x *) IF NextQuad#0 THEN ! IF (GetNextQuad(CurrentQuad)=CurrentOperand3) OR ! (GetRealQuad(GetNextQuad(CurrentQuad))=CurrentOperand3) THEN ! SubQuad(CurrentQuad) ; Folded := TRUE ELSE ! From := GetNextQuad(CurrentQuad) ; (* start after CurrentQuad *) To := NextQuad ; ! CurrentOperand3 := GetRealQuad(CurrentOperand3) ; ! NextPlusOne := GetRealQuad(GetNextQuad(NextQuad)) ; ! GetQuad(NextQuad, OpNext, Op1Next, Op2Next, Op3Next) ; ! IF (OpNext=GotoOp) AND (NextPlusOne=CurrentOperand3) AND ! IsBasicBlock(From, To) THEN ! (* Op3Next := GetRealQuad(Op3Next) ; *) ! SubQuad(NextQuad) ; ! PutQuad(CurrentQuad, Opposite(Operator), ! CurrentOperand1, CurrentOperand2, Op3Next) ; NextQuad := NextPlusOne ; Folded := TRUE END END ; ! IF FoldMultipleGoto(CurrentQuad) THEN Folded := TRUE END END ; ! RETURN( Folded ) END ReduceBranch ; --- 153,208 ---- VAR NextQuad: CARDINAL; Folded: BOOLEAN) : BOOLEAN ; VAR ! overflowChecking: BOOLEAN ; ! OpNext : QuadOperator ; ! tok, NextPlusOne, Op1Next, Op2Next, Op3Next, ! op1tok, ! op2tok, ! op3tok, ! From, To : CARDINAL ; BEGIN (* If op NextQuad+1 *) (* Goto x *) IF NextQuad#0 THEN ! IF (GetNextQuad (CurrentQuad) = CurrentOperand3) OR ! (GetRealQuad (GetNextQuad (CurrentQuad)) = CurrentOperand3) THEN ! SubQuad (CurrentQuad) ; Folded := TRUE ELSE ! From := GetNextQuad (CurrentQuad) ; (* start after CurrentQuad *) To := NextQuad ; ! CurrentOperand3 := GetRealQuad (CurrentOperand3) ; ! NextPlusOne := GetRealQuad (GetNextQuad (NextQuad)) ; ! GetQuad (NextQuad, OpNext, Op1Next, Op2Next, Op3Next) ; ! IF (OpNext = GotoOp) AND (NextPlusOne = CurrentOperand3) AND ! IsBasicBlock (From, To) THEN ! GetQuadOtok (CurrentQuad, tok, Operator, ! CurrentOperand1, CurrentOperand2, CurrentOperand3, ! overflowChecking, op1tok, op2tok, op3tok) ; ! SubQuad (NextQuad) ; ! PutQuadOtok (CurrentQuad, tok, Opposite (Operator), ! CurrentOperand1, CurrentOperand2, Op3Next, ! overflowChecking, ! op1tok, op2tok, op3tok) ; NextQuad := NextPlusOne ; Folded := TRUE END END ; ! IF FoldMultipleGoto (CurrentQuad) THEN Folded := TRUE END END ; ! RETURN Folded END ReduceBranch ; *************** END IsBasicBlock ; *** 237,256 **** PROCEDURE ReduceGoto (CurrentQuad, CurrentOperand3, NextQuad: CARDINAL; Folded: BOOLEAN) : BOOLEAN ; BEGIN ! CurrentOperand3 := GetRealQuad(CurrentOperand3) ; (* IF next quad is a GotoOp *) ! IF CurrentOperand3=NextQuad THEN ! SubQuad(CurrentQuad) ; Folded := TRUE ELSE (* Does Goto point to another Goto ? *) ! IF FoldMultipleGoto(CurrentQuad) THEN Folded := TRUE END END ; ! RETURN( Folded ) END ReduceGoto ; --- 244,263 ---- PROCEDURE ReduceGoto (CurrentQuad, CurrentOperand3, NextQuad: CARDINAL; Folded: BOOLEAN) : BOOLEAN ; BEGIN ! CurrentOperand3 := GetRealQuad (CurrentOperand3) ; (* IF next quad is a GotoOp *) ! IF CurrentOperand3 = NextQuad THEN ! SubQuad (CurrentQuad) ; Folded := TRUE ELSE (* Does Goto point to another Goto ? *) ! IF FoldMultipleGoto (CurrentQuad) THEN Folded := TRUE END END ; ! RETURN Folded END ReduceGoto ; *************** VAR *** 272,289 **** Operand2, Operand3: CARDINAL ; BEGIN ! GetQuad(QuadNo, Operator, Operand1, Operand2, Operand3) ; ! Operand3 := GetRealQuad(Operand3) ; (* skip pseudo quadruples *) ! GetQuad(Operand3, Op, Op1, Op2, Op3) ; ! IF Op=GotoOp THEN ! PutQuad(QuadNo, Operator, Operand1, Operand2, Op3) ; (* Dont want success to be returned if in fact the Goto *) (* line number has not changed... otherwise we loop *) (* forever. *) ! RETURN( Op3#Operand3 ) ELSE ! RETURN( FALSE ) END END FoldMultipleGoto ; --- 279,296 ---- Operand2, Operand3: CARDINAL ; BEGIN ! GetQuad (QuadNo, Operator, Operand1, Operand2, Operand3) ; ! Operand3 := GetRealQuad (Operand3) ; (* skip pseudo quadruples *) ! GetQuad (Operand3, Op, Op1, Op2, Op3) ; ! IF Op = GotoOp THEN ! PutQuad (QuadNo, Operator, Operand1, Operand2, Op3) ; (* Dont want success to be returned if in fact the Goto *) (* line number has not changed... otherwise we loop *) (* forever. *) ! RETURN Op3 # Operand3 ELSE ! RETURN FALSE END END FoldMultipleGoto ; *************** BEGIN *** 344,350 **** END RemoveProcedures ; ! PROCEDURE KnownReachable (Start, End: CARDINAL) ; VAR Op : QuadOperator ; Op1, Op2, Op3: CARDINAL ; --- 351,358 ---- END RemoveProcedures ; ! PROCEDURE KnownReachable (Scope: CARDINAL; ! Start, End: CARDINAL) ; VAR Op : QuadOperator ; Op1, Op2, Op3: CARDINAL ; *************** BEGIN *** 352,380 **** IF Start#0 THEN REPEAT ! GetQuad(Start, Op, Op1, Op2, Op3) ; CASE Op OF ! CallOp : KnownReach(Op3) | AddrOp, ParamOp, XIndrOp, ! BecomesOp: KnownReach(Op3) ; ! CheckNeedSavePriority(Op3) ELSE END ; ! Start := GetNextQuad(Start) ! UNTIL (Start>End) OR (Start=0) END END KnownReachable ; PROCEDURE KnownReach (sym: CARDINAL) ; BEGIN ! IF IsProcedure(sym) AND (NOT IsProcedureReachable(sym)) THEN ! RemoveProcedures(sym) END END KnownReach ; --- 360,388 ---- IF Start#0 THEN REPEAT ! GetQuad (Start, Op, Op1, Op2, Op3) ; CASE Op OF ! CallOp : KnownReach (Op3) | AddrOp, ParamOp, XIndrOp, ! BecomesOp: KnownReach (Op3) ; ! CheckNeedSavePriority (Op3) ELSE END ; ! Start := GetNextQuad (Start) ! UNTIL (Start > End) OR (Start = 0) END END KnownReachable ; PROCEDURE KnownReach (sym: CARDINAL) ; BEGIN ! IF IsProcedure (sym) AND (NOT IsProcedureReachable (sym)) THEN ! RemoveProcedures (sym) END END KnownReach ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Options.def gcc-13.3.0/gcc/m2/gm2-compiler/M2Options.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Options.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Options.def Tue May 21 07:47:38 2024 *************** EXPORT QUALIFIED SetReturnCheck, SetNilC *** 70,77 **** IndexChecking, RangeChecking, ReturnChecking, CaseElseChecking, AutoInit, ! VariantValueChecking, UnusedVariableChecking, UnusedParameterChecking, SetUnusedVariableChecking, SetUnusedParameterChecking, Quiet, LineDirectives, StrictTypeChecking, CPreProcessor, Xcode, ExtendedOpaque, --- 70,79 ---- IndexChecking, RangeChecking, ReturnChecking, CaseElseChecking, AutoInit, ! VariantValueChecking, CaseEnumChecking, UnusedVariableChecking, UnusedParameterChecking, + UninitVariableChecking, SetUninitVariableChecking, + UninitVariableConditionalChecking, SetUnusedVariableChecking, SetUnusedParameterChecking, Quiet, LineDirectives, StrictTypeChecking, CPreProcessor, Xcode, ExtendedOpaque, *************** EXPORT QUALIFIED SetReturnCheck, SetNilC *** 95,101 **** SetGenModuleList, GetGenModuleFilename, SharedFlag, SetB, GetB, SetMD, GetMD, SetMMD, GetMMD, SetObj, GetObj, GetMQ, SetMQ, SetM2Prefix, GetM2Prefix, ! SetM2PathName, GetM2PathName ; VAR --- 97,103 ---- SetGenModuleList, GetGenModuleFilename, SharedFlag, SetB, GetB, SetMD, GetMD, SetMMD, GetMMD, SetObj, GetObj, GetMQ, SetMQ, SetM2Prefix, GetM2Prefix, ! SetM2PathName, GetM2PathName, SetCaseEnumChecking ; VAR *************** VAR *** 147,152 **** --- 149,156 ---- VariantValueChecking, (* Should we check all values are present *) (* in a variant record? True for ISO and *) (* false for PIM. *) + CaseEnumChecking, (* Should the compiler check for missing *) + (* enumeration labels in a case statement? *) Quiet, (* -fquiet option specified. *) LineDirectives, (* Should compiler understand preprocessor *) (* # linenumber "filename" markers? *) *************** VAR *** 159,164 **** --- 163,174 ---- Exceptions, (* Should we generate exception code? *) UnusedVariableChecking, (* Should we warn about unused variables? *) UnusedParameterChecking, (* Should we warn about unused parameters? *) + UninitVariableChecking, (* Should we warn about accessing *) + (* uninitialized variables in the first bb? *) + UninitVariableConditionalChecking, + (* Should we warn about accessing *) + (* uninitialized variables in subsequent *) + (* basic blocks? *) LowerCaseKeywords, (* Should keywords in errors be in lower? *) DebugBuiltins, (* Should we always call a real function? *) AutoInit, (* -fauto-init assigns pointers to NIL. *) *************** PROCEDURE SetShared (value: BOOLEAN) ; *** 919,924 **** --- 929,951 ---- (* + SetUninitVariableChecking - sets the UninitVariableChecking flag to value + or UninitVariableConditionalChecking to value. + Arg can be "known", "known,cond", "cond,known" + or "all". + *) + + PROCEDURE SetUninitVariableChecking (value: BOOLEAN; arg: ADDRESS) : INTEGER ; + + + (* + SetCaseEnumChecking - sets the CaseEnumChecking to value. + *) + + PROCEDURE SetCaseEnumChecking (value: BOOLEAN) ; + + + (* FinaliseOptions - once all options have been parsed we set any inferred values. *) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Options.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Options.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Options.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Options.mod Tue May 21 07:47:38 2024 *************** FROM M2Search IMPORT SetDefExtension, Se *** 28,34 **** FROM PathName IMPORT DumpPathName, AddInclude ; FROM M2Printf IMPORT printf0, printf1, fprintf1 ; FROM FIO IMPORT StdErr ; ! FROM libc IMPORT exit ; FROM Debug IMPORT Halt ; FROM m2linemap IMPORT location_t ; FROM m2configure IMPORT FullPathCPP ; --- 28,34 ---- FROM PathName IMPORT DumpPathName, AddInclude ; FROM M2Printf IMPORT printf0, printf1, fprintf1 ; FROM FIO IMPORT StdErr ; ! FROM libc IMPORT exit, printf ; FROM Debug IMPORT Halt ; FROM m2linemap IMPORT location_t ; FROM m2configure IMPORT FullPathCPP ; *************** PROCEDURE SetWall (value: BOOLEAN) ; *** 1190,1198 **** BEGIN UnusedVariableChecking := value ; UnusedParameterChecking := value ; PedanticCast := value ; PedanticParamNames := value ; ! StyleChecking := value END SetWall ; --- 1190,1200 ---- BEGIN UnusedVariableChecking := value ; UnusedParameterChecking := value ; + UninitVariableChecking := value ; PedanticCast := value ; PedanticParamNames := value ; ! StyleChecking := value ; ! CaseEnumChecking := value END SetWall ; *************** BEGIN *** 1226,1231 **** --- 1228,1234 ---- RETURN SaveTempsDir END GetSaveTempsDir ; + (* SetDumpDir - Set the dump dir. *) *************** END SetRuntimeModuleOverride ; *** 1323,1329 **** PROCEDURE GetRuntimeModuleOverride () : ADDRESS ; BEGIN ! RETURN RuntimeModuleOverride END GetRuntimeModuleOverride ; --- 1326,1332 ---- PROCEDURE GetRuntimeModuleOverride () : ADDRESS ; BEGIN ! RETURN string (RuntimeModuleOverride) END GetRuntimeModuleOverride ; *************** BEGIN *** 1363,1438 **** END SetShared ; BEGIN ! cflag := FALSE ; (* -c. *) ! RuntimeModuleOverride := InitString (DefaultRuntimeModuleOverride) ; ! CppArgs := InitString ('') ; ! Pim := TRUE ; ! Pim2 := FALSE ; ! Pim3 := FALSE ; ! Pim4 := TRUE ; ! PositiveModFloorDiv := FALSE ; ! Iso := FALSE ; ! SeenSources := FALSE ; ! Statistics := FALSE ; ! StyleChecking := FALSE ; ! CompilerDebugging := FALSE ; ! GenerateDebugging := FALSE ; ! Optimizing := FALSE ; ! Pedantic := FALSE ; ! Verbose := FALSE ; ! Quiet := TRUE ; ! CC1Quiet := TRUE ; ! Profiling := FALSE ; ! DisplayQuadruples := FALSE ; ! OptimizeBasicBlock := FALSE ; ! OptimizeUncalledProcedures := FALSE ; ! OptimizeCommonSubExpressions := FALSE ; ! NilChecking := FALSE ; ! WholeDivChecking := FALSE ; ! WholeValueChecking := FALSE ; ! FloatValueChecking := FALSE ; ! IndexChecking := FALSE ; ! RangeChecking := FALSE ; ! ReturnChecking := FALSE ; ! CaseElseChecking := FALSE ; ! CPreProcessor := FALSE ; ! LineDirectives := FALSE ; ! ExtendedOpaque := FALSE ; ! UnboundedByReference := FALSE ; ! VerboseUnbounded := FALSE ; ! PedanticParamNames := FALSE ; ! PedanticCast := FALSE ; ! Xcode := FALSE ; ! DumpSystemExports := FALSE ; ! GenerateSwig := FALSE ; ! Exceptions := TRUE ; ! DebugBuiltins := FALSE ; ! ForcedLocation := FALSE ; ! WholeProgram := FALSE ; ! DebugTraceQuad := FALSE ; ! DebugTraceAPI := FALSE ; ! DebugFunctionLineNumbers := FALSE ; ! GenerateStatementNote := FALSE ; ! LowerCaseKeywords := FALSE ; ! UnusedVariableChecking := FALSE ; ! UnusedParameterChecking := FALSE ; ! StrictTypeChecking := TRUE ; ! AutoInit := FALSE ; ! SaveTemps := FALSE ; ! ScaffoldDynamic := TRUE ; ! ScaffoldStatic := FALSE ; ! ScaffoldMain := FALSE ; ! UselistFilename := NIL ; ! GenModuleList := FALSE ; ! GenModuleListFilename := NIL ; ! SharedFlag := FALSE ; ! Barg := NIL ; ! MDarg := NIL ; ! MMDarg := NIL ; ! MQarg := NIL ; ! SaveTempsDir := NIL ; ! DumpDir := NIL ; ! M2Prefix := InitString ('') ; ! M2PathName := InitString ('') END M2Options. --- 1366,1494 ---- END SetShared ; + (* + SetUninitVariableChecking - sets the UninitVariableChecking flag to value. + *) + + PROCEDURE SetUninitVariableChecking (value: BOOLEAN; arg: ADDRESS) : INTEGER ; + VAR + s: String ; BEGIN ! IF Debugging ! THEN ! IF value ! THEN ! printf ("SetUninitVariableChecking (TRUE, %s)\n", arg) ! ELSE ! printf ("SetUninitVariableChecking (FALSE, %s)\n", arg) ! END ! END ; ! s := InitStringCharStar (arg) ; ! IF EqualArray (s, "all") OR ! EqualArray (s, "known,cond") OR ! EqualArray (s, "cond,known") OR ! EqualArray (s, "cond") ! THEN ! UninitVariableChecking := value ; ! UninitVariableConditionalChecking := value ; ! s := KillString (s) ; ! RETURN 1 ! ELSIF EqualArray (s, "known") ! THEN ! UninitVariableChecking := value ; ! UninitVariableConditionalChecking := NOT value ; ! s := KillString (s) ; ! RETURN 1 ! ELSE ! s := KillString (s) ; ! RETURN 0 ! END ! END SetUninitVariableChecking ; ! ! ! (* ! SetCaseEnumChecking - sets the CaseEnumChecking to value. ! *) ! ! PROCEDURE SetCaseEnumChecking (value: BOOLEAN) ; ! BEGIN ! CaseEnumChecking := value ! END SetCaseEnumChecking ; ! ! ! BEGIN ! cflag := FALSE ; (* -c. *) ! RuntimeModuleOverride := InitString (DefaultRuntimeModuleOverride) ; ! CppArgs := InitString ('') ; ! Pim := TRUE ; ! Pim2 := FALSE ; ! Pim3 := FALSE ; ! Pim4 := TRUE ; ! PositiveModFloorDiv := FALSE ; ! Iso := FALSE ; ! SeenSources := FALSE ; ! Statistics := FALSE ; ! StyleChecking := FALSE ; ! CompilerDebugging := FALSE ; ! GenerateDebugging := FALSE ; ! Optimizing := FALSE ; ! Pedantic := FALSE ; ! Verbose := FALSE ; ! Quiet := TRUE ; ! CC1Quiet := TRUE ; ! Profiling := FALSE ; ! DisplayQuadruples := FALSE ; ! OptimizeBasicBlock := FALSE ; ! OptimizeUncalledProcedures := FALSE ; ! OptimizeCommonSubExpressions := FALSE ; ! NilChecking := FALSE ; ! WholeDivChecking := FALSE ; ! WholeValueChecking := FALSE ; ! FloatValueChecking := FALSE ; ! IndexChecking := FALSE ; ! RangeChecking := FALSE ; ! ReturnChecking := FALSE ; ! CaseElseChecking := FALSE ; ! CPreProcessor := FALSE ; ! LineDirectives := FALSE ; ! ExtendedOpaque := FALSE ; ! UnboundedByReference := FALSE ; ! VerboseUnbounded := FALSE ; ! PedanticParamNames := FALSE ; ! PedanticCast := FALSE ; ! Xcode := FALSE ; ! DumpSystemExports := FALSE ; ! GenerateSwig := FALSE ; ! Exceptions := TRUE ; ! DebugBuiltins := FALSE ; ! ForcedLocation := FALSE ; ! WholeProgram := FALSE ; ! DebugTraceQuad := FALSE ; ! DebugTraceAPI := FALSE ; ! DebugFunctionLineNumbers := FALSE ; ! GenerateStatementNote := FALSE ; ! LowerCaseKeywords := FALSE ; ! UnusedVariableChecking := FALSE ; ! UnusedParameterChecking := FALSE ; ! StrictTypeChecking := TRUE ; ! AutoInit := FALSE ; ! SaveTemps := FALSE ; ! ScaffoldDynamic := TRUE ; ! ScaffoldStatic := FALSE ; ! ScaffoldMain := FALSE ; ! UselistFilename := NIL ; ! GenModuleList := FALSE ; ! GenModuleListFilename := NIL ; ! SharedFlag := FALSE ; ! Barg := NIL ; ! MDarg := NIL ; ! MMDarg := NIL ; ! MQarg := NIL ; ! SaveTempsDir := NIL ; ! DumpDir := NIL ; ! UninitVariableChecking := FALSE ; ! UninitVariableConditionalChecking := FALSE ; ! CaseEnumChecking := FALSE ; ! M2Prefix := InitString ('') ; ! M2PathName := InitString ('') END M2Options. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Quads.def gcc-13.3.0/gcc/m2/gm2-compiler/M2Quads.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Quads.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Quads.def Tue May 21 07:47:38 2024 *************** EXPORT QUALIFIED StartBuildDefFile, Star *** 88,94 **** BuildCodeOn, BuildCodeOff, BuildProfileOn, BuildProfileOff, BuildOptimizeOn, BuildOptimizeOff, ! BuildInline, BuildStmtNote, BuildLineNo, PushLineNo, BuildConstructor, BuildConstructorStart, BuildConstructorEnd, --- 88,94 ---- BuildCodeOn, BuildCodeOff, BuildProfileOn, BuildProfileOff, BuildOptimizeOn, BuildOptimizeOff, ! BuildAsm, BuildStmtNote, BuildLineNo, PushLineNo, BuildConstructor, BuildConstructorStart, BuildConstructorEnd, *************** EXPORT QUALIFIED StartBuildDefFile, Star *** 106,111 **** --- 106,112 ---- IsBackReference, IsUnConditional, IsConditional, IsBackReferenceConditional, + IsGoto, IsCall, IsReturn, IsProcedureScope, *************** EXPORT QUALIFIED StartBuildDefFile, Star *** 129,141 **** GetQuad, GetFirstQuad, GetNextQuad, PutQuad, SubQuad, EraseQuad, GetRealQuad, ! GetQuadtok, GetQuadOtok, GetQuadOp, GetM2OperatorDesc, CountQuads, GetLastFileQuad, GetLastQuadNo, QuadToLineNo, QuadToTokenNo, ! VariableAnalysis, LoopAnalysis, ForLoopAnalysis, AddVarientFieldToList, AddRecordToList, AddVarientToList, AddVarientRange, AddVarientEquality, --- 130,142 ---- GetQuad, GetFirstQuad, GetNextQuad, PutQuad, SubQuad, EraseQuad, GetRealQuad, ! GetQuadtok, GetQuadOtok, PutQuadOtok, GetQuadOp, GetM2OperatorDesc, CountQuads, GetLastFileQuad, GetLastQuadNo, QuadToLineNo, QuadToTokenNo, ! LoopAnalysis, ForLoopAnalysis, AddVarientFieldToList, AddRecordToList, AddVarientToList, AddVarientRange, AddVarientEquality, *************** EXPORT QUALIFIED StartBuildDefFile, Star *** 144,184 **** IsAutoPushOn, PushAutoOn, PushAutoOff, PopAuto, PushInConstExpression, PopInConstExpression, IsInConstExpression, ! MustCheckOverflow ; TYPE ! QuadOperator = (BecomesOp, IndrXOp, XIndrOp, ArrayOp, ElementSizeOp, ! RecordFieldOp, ! AddrOp, SizeOp, ! IfEquOp, IfLessEquOp, IfGreEquOp, IfGreOp, IfLessOp, ! IfNotEquOp, IfInOp, IfNotInOp, ! CallOp, ParamOp, OptParamOp, ReturnOp, ReturnValueOp, FunctValueOp, ! NewLocalVarOp, KillLocalVarOp, ! ProcedureScopeOp, ModuleScopeOp, DummyOp, ! GotoOp, InitEndOp, InitStartOp, ! FinallyStartOp, FinallyEndOp, ! RetryOp, TryOp, CatchBeginOp, CatchEndOp, ThrowOp, ! NegateOp, AddOp, SubOp, MultOp, ! DivM2Op, ModM2Op, ! DivCeilOp, ModCeilOp, ! DivFloorOp, ModFloorOp, DivTruncOp, ModTruncOp, ! LogicalOrOp, LogicalAndOp, LogicalXorOp, LogicalDiffOp, ! InclOp, ExclOp, LogicalShiftOp, LogicalRotateOp, ! UnboundedOp, HighOp, ! CoerceOp, ConvertOp, CastOp, InitAddressOp, ! StartDefFileOp, StartModFileOp, EndFileOp, ! CodeOnOp, CodeOffOp, ! ProfileOnOp, ProfileOffOp, ! OptimizeOnOp, OptimizeOffOp, ! InlineOp, LineNumberOp, StatementNoteOp, ! SubrangeLowOp, SubrangeHighOp, ! BuiltinConstOp, BuiltinTypeInfoOp, StandardFunctionOp, ! SavePriorityOp, RestorePriorityOp, ! SaveExceptionOp, RestoreExceptionOp, ! RangeCheckOp, ErrorOp) ; (* --- 145,242 ---- IsAutoPushOn, PushAutoOn, PushAutoOff, PopAuto, PushInConstExpression, PopInConstExpression, IsInConstExpression, ! MustCheckOverflow, BuildAsmElement, BuildAsmTrash, ! GetQuadTrash ; TYPE ! QuadOperator = (AddOp, ! AddrOp, ! ArithAddOp, ! ArrayOp, ! BecomesOp, ! BuiltinConstOp, ! BuiltinTypeInfoOp, ! CallOp, ! CastOp, ! CatchBeginOp, ! CatchEndOp, ! CodeOffOp, ! CodeOnOp, ! CoerceOp, ! ConvertOp, ! DivCeilOp, ! DivFloorOp, ! DivM2Op, ! DivTruncOp, DummyOp, ! ElementSizeOp, ! EndFileOp, ! ErrorOp, ! ExclOp, ! FinallyEndOp, ! FinallyStartOp, ! FunctValueOp, ! GotoOp, ! HighOp, ! IfEquOp, ! IfGreEquOp, ! IfGreOp, ! IfInOp, ! IfLessEquOp, ! IfLessOp, ! IfNotEquOp, ! IfNotInOp, ! InclOp, ! IndrXOp, InitAddressOp, ! InitEndOp, ! InitStartOp, ! InlineOp, ! KillLocalVarOp, ! LineNumberOp, ! LogicalAndOp, ! LogicalDiffOp, ! LogicalOrOp, ! LogicalRotateOp, ! LogicalShiftOp, ! LogicalXorOp, ! ModCeilOp, ! ModFloorOp, ! ModM2Op, ! ModTruncOp, ! ModuleScopeOp, ! MultOp, ! NegateOp, ! NewLocalVarOp, ! OptimizeOffOp, ! OptimizeOnOp, ! OptParamOp, ! ParamOp, ! ProcedureScopeOp, ! ProfileOffOp, ! ProfileOnOp, ! RangeCheckOp, ! RecordFieldOp, ! RestoreExceptionOp, ! RestorePriorityOp, ! RetryOp, ! ReturnOp, ! ReturnValueOp, ! SaveExceptionOp, ! SavePriorityOp, ! SizeOp, ! StandardFunctionOp, ! StartDefFileOp, ! StartModFileOp, ! StatementNoteOp, ! SubOp, ! SubrangeHighOp, ! SubrangeLowOp, ! ThrowOp, ! TryOp, ! UnboundedOp, ! XIndrOp) ; (* *************** PROCEDURE IsBackReferenceConditional (q: *** 249,254 **** --- 307,319 ---- (* + IsGoto - returns true if QuadNo is a goto operation. + *) + + PROCEDURE IsGoto (QuadNo: CARDINAL) : BOOLEAN ; + + + (* IsCall - returns true if QuadNo is a call operation. *) *************** PROCEDURE DisplayQuadList ; *** 381,387 **** DisplayQuadRange - displays all quads in list range, start..end. *) ! PROCEDURE DisplayQuadRange (start, end: CARDINAL) ; (* --- 446,452 ---- DisplayQuadRange - displays all quads in list range, start..end. *) ! PROCEDURE DisplayQuadRange (scope: CARDINAL; start, end: CARDINAL) ; (* *************** PROCEDURE GetQuadOtok (QuadNo: CARDINAL; *** 476,485 **** --- 541,564 ---- VAR tok: CARDINAL; VAR Op: QuadOperator; VAR Oper1, Oper2, Oper3: CARDINAL; + VAR overflowChecking: BOOLEAN ; VAR Op1Pos, Op2Pos, Op3Pos: CARDINAL) ; (* + PutQuadOtok - alters a quadruple QuadNo with Op, Oper1, Oper2, Oper3, and + sets a boolean to determinine whether overflow should be checked. + *) + + PROCEDURE PutQuadOtok (QuadNo: CARDINAL; + tok: CARDINAL; + Op: QuadOperator; + Oper1, Oper2, Oper3: CARDINAL; + overflowChecking: BOOLEAN ; + Op1Pos, Op2Pos, Op3Pos: CARDINAL) ; + + + (* PutQuad - overwrites a quadruple QuadNo with Op, Oper1, Oper2, Oper3 *) *************** PROCEDURE BuildProcedureEnd ; *** 1704,1710 **** |------------| *) ! PROCEDURE BuildReturn (tokno: CARDINAL) ; (* --- 1783,1789 ---- |------------| *) ! PROCEDURE BuildReturn (tokreturn: CARDINAL) ; (* *************** PROCEDURE BuildOptimizeOff ; *** 2494,2516 **** (* ! BuildInline - builds an Inline pseudo quadruple operator. ! The inline interface, Sym, is stored as the operand ! to the operator InlineOp. ! The stack is expected to contain: Entry Exit ===== ==== ! Ptr -> ! +--------------+ ! | Sym | Empty ! |--------------| *) ! PROCEDURE BuildInline ; (* --- 2573,2595 ---- (* ! BuildAsm - builds an Inline pseudo quadruple operator. ! The inline interface, Sym, is stored as the operand ! to the operator InlineOp. ! The stack is expected to contain: Entry Exit ===== ==== ! Ptr -> ! +--------------+ ! | Sym | Empty ! |--------------| *) ! PROCEDURE BuildAsm (tok: CARDINAL) ; (* *************** PROCEDURE BuildStmtNote (offset: INTEGER *** 2573,2592 **** (* - VariableAnalysis - checks to see whether a variable is: - - read without being initialized or - written over when it is a non var parameter - *) - - PROCEDURE VariableAnalysis (Start, End: CARDINAL) ; - - - (* LoopAnalysis - checks whether an infinite loop exists. *) ! PROCEDURE LoopAnalysis (Current, End: CARDINAL) ; (* --- 2652,2661 ---- (* LoopAnalysis - checks whether an infinite loop exists. *) ! PROCEDURE LoopAnalysis (Scope: CARDINAL; Current, End: CARDINAL) ; (* *************** PROCEDURE PopInConstExpression ; *** 2710,2713 **** --- 2779,2837 ---- PROCEDURE IsInConstExpression () : BOOLEAN ; + (* + BuildAsmElement - the stack is expected to contain: + + + Entry Exit + ===== ==== + + Ptr -> + +------------------+ + | expr | tokpos | + |------------------| + | str | + |------------------| + | name | + |------------------| +------------------+ + | CurrentInterface | | CurrentInterface | + |------------------| |------------------| + | CurrentAsm | | CurrentAsm | + |------------------| |------------------| + | n | | n | + |------------------| |------------------| + *) + + PROCEDURE BuildAsmElement (input, output: BOOLEAN) ; + + + (* + BuildAsmTrash - the stack is expected to contain: + + + Entry Exit + ===== ==== + + Ptr -> + +------------------+ + | expr | tokpos | + |------------------| +------------------+ + | CurrentInterface | | CurrentInterface | + |------------------| |------------------| + | CurrentAsm | | CurrentAsm | + |------------------| |------------------| + | n | | n | + |------------------| |------------------| + *) + + PROCEDURE BuildAsmTrash ; + + + (* + GetQuadTrash - return the symbol associated with the trashed operand. + *) + + PROCEDURE GetQuadTrash (quad: CARDINAL) : CARDINAL ; + + END M2Quads. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Quads.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Quads.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Quads.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Quads.mod Tue May 21 07:47:38 2024 *************** FROM SymbolTable IMPORT ModeOfAddr, GetM *** 85,90 **** --- 85,91 ---- PutPriority, GetPriority, PutProcedureBegin, PutProcedureEnd, PutVarConst, IsVarConst, + PutVarHeap, IsVarParam, IsProcedure, IsPointer, IsParameter, IsUnboundedParam, IsEnumeration, IsDefinitionForC, IsVarAParam, IsVarient, IsLegal, *************** FROM SymbolTable IMPORT ModeOfAddr, GetM *** 94,99 **** --- 95,102 ---- NoOfElements, NoOfParam, StartScope, EndScope, + IsGnuAsm, IsGnuAsmVolatile, + MakeRegInterface, PutRegInterface, HasExceptionBlock, PutExceptionBlock, HasExceptionFinally, PutExceptionFinally, GetParent, GetRecord, IsRecordField, IsFieldVarient, IsRecord, *************** FROM SymbolTable IMPORT ModeOfAddr, GetM *** 107,113 **** PutConstructor, PutConstructorFrom, PutDeclared, MakeComponentRecord, MakeComponentRef, ! IsSubscript, IsTemporary, IsAModula2Type, PutLeftValueFrontBackType, --- 110,116 ---- PutConstructor, PutConstructorFrom, PutDeclared, MakeComponentRecord, MakeComponentRef, ! IsSubscript, IsComponent, IsTemporary, IsAModula2Type, PutLeftValueFrontBackType, *************** FROM SymbolTable IMPORT ModeOfAddr, GetM *** 124,129 **** --- 127,133 ---- GetUnboundedRecordType, GetUnboundedAddressOffset, GetUnboundedHighOffset, + PutVarArrayRef, ForeachFieldEnumerationDo, ForeachLocalSymDo, GetExported, PutImported, GetSym, GetLibName, *************** FROM M2Options IMPORT NilChecking, *** 208,213 **** --- 212,218 ---- Pedantic, CompilerDebugging, GenerateDebugging, GenerateLineDebug, Exceptions, Profiling, Coding, Optimizing, + UninitVariableChecking, ScaffoldDynamic, ScaffoldStatic, cflag, ScaffoldMain, SharedFlag, WholeProgram, GetRuntimeModuleOverride ; *************** FROM M2Range IMPORT InitAssignmentRangeC *** 248,255 **** InitWholeZeroDivisionCheck, InitWholeZeroRemainderCheck, InitParameterRangeCheck, - (* CheckRangeAddVariableRead, *) - (* CheckRangeRemoveVariableRead, *) WriteRangeCheck ; FROM M2CaseList IMPORT PushCase, PopCase, AddRange, BeginCaseList, EndCaseList, ElseCase ; --- 253,258 ---- *************** IMPORT M2Error ; *** 262,276 **** CONST DebugStackOn = TRUE ; DebugVarients = FALSE ; ! BreakAtQuad = 4423 ; DebugTokPos = FALSE ; TYPE ! ConstructorFrame = POINTER TO constructorFrame ; ! constructorFrame = RECORD ! type : CARDINAL ; ! index: CARDINAL ; ! END ; BoolFrame = POINTER TO RECORD TrueExit : CARDINAL ; --- 265,278 ---- CONST DebugStackOn = TRUE ; DebugVarients = FALSE ; ! BreakAtQuad = 53 ; DebugTokPos = FALSE ; TYPE ! ConstructorFrame = POINTER TO RECORD ! type : CARDINAL ; ! index: CARDINAL ; ! END ; BoolFrame = POINTER TO RECORD TrueExit : CARDINAL ; *************** TYPE *** 289,318 **** Operand1 : CARDINAL ; Operand2 : CARDINAL ; Operand3 : CARDINAL ; ! Next : CARDINAL ; (* Next quadruple *) ! LineNo : CARDINAL ; (* Line No of source text *) ! TokenNo : CARDINAL ; (* Token No of source text *) ! NoOfTimesReferenced: CARDINAL ; (* No of times quad is referenced *) ! CheckOverflow : BOOLEAN ; (* should backend check overflow *) op1pos, op2pos, ! op3pos : CARDINAL ; (* token position of operands. *) END ; WithFrame = POINTER TO RECORD RecordSym : CARDINAL ; RecordType : CARDINAL ; RecordRef : CARDINAL ; ! rw : CARDINAL ; (* The record variable. *) ! RecordTokPos: CARDINAL ; (* Token of the record. *) END ; ForLoopInfo = POINTER TO RECORD IncrementQuad, ! StartOfForLoop, (* we keep a list of all for *) ! EndOfForLoop, (* loops so we can check index *) ForLoopIndex, ! IndexTok : CARDINAL ; (* variables are not abused *) END ; LineNote = POINTER TO RECORD --- 291,322 ---- Operand1 : CARDINAL ; Operand2 : CARDINAL ; Operand3 : CARDINAL ; ! Trash : CARDINAL ; ! Next : CARDINAL ; (* Next quadruple. *) ! LineNo : CARDINAL ; (* Line No of source text. *) ! TokenNo : CARDINAL ; (* Token No of source text. *) ! NoOfTimesReferenced: CARDINAL ; (* No of times quad is referenced. *) ! CheckOverflow : BOOLEAN ; (* should backend check overflow *) op1pos, op2pos, ! op3pos : CARDINAL ; (* Token position of operands. *) END ; WithFrame = POINTER TO RECORD RecordSym : CARDINAL ; RecordType : CARDINAL ; RecordRef : CARDINAL ; ! rw : CARDINAL ; (* The record variable. *) ! RecordTokPos: CARDINAL ; (* Token of the record. *) END ; ForLoopInfo = POINTER TO RECORD IncrementQuad, ! StartOfForLoop, (* We keep a list of all for *) ! EndOfForLoop, (* loops so we can check index. *) ForLoopIndex, ! IndexTok : CARDINAL ; (* Used to ensure iterators are not *) ! (* user modified. *) END ; LineNote = POINTER TO RECORD *************** VAR *** 334,370 **** WhileStack, ForStack, ExitStack, ! ReturnStack : StackOfWord ; (* Return quadruple of the procedure. *) ! PriorityStack : StackOfWord ; (* temporary variable holding old priority *) SuppressWith : BOOLEAN ; QuadArray : Index ; NextQuad : CARDINAL ; (* Next quadruple number to be created. *) FreeList : CARDINAL ; (* FreeList of quadruples. *) CurrentProc : CARDINAL ; (* Current procedure being compiled, used *) ! (* to determine which procedure a RETURN *) (* ReturnValueOp must have as its 3rd op. *) InitQuad : CARDINAL ; (* Initial Quad BackPatch that starts the *) (* suit of Modules. *) LastQuadNo : CARDINAL ; (* Last Quadruple accessed by GetQuad. *) LogicalOrTok, (* Internal _LOR token. *) LogicalAndTok, (* Internal _LAND token. *) LogicalXorTok, (* Internal _LXOR token. *) LogicalDifferenceTok : Name ; (* Internal _LDIFF token. *) InConstExpression, ! IsAutoOn, (* should parser automatically push idents *) MustNotCheckBounds : BOOLEAN ; ! ForInfo : Index ; (* start and end of all FOR loops *) ! GrowInitialization : CARDINAL ; (* upper limit of where the initialized *) (* quadruples. *) BuildingHigh, BuildingSize, ! QuadrupleGeneration : BOOLEAN ; (* should we be generating quadruples? *) ! FreeLineList : LineNote ; (* free list of line notes *) ! VarientFields : List ; (* the list of all varient fields created *) ! VarientFieldNo : CARDINAL ; (* used to retrieve the VarientFields *) (* in order. *) NoOfQuads : CARDINAL ; (* Number of used quadruples. *) ! Head : CARDINAL ; (* Head of the list of quadruples *) (* --- 338,377 ---- WhileStack, ForStack, ExitStack, ! ReturnStack : StackOfWord ; (* Return quadruple of the procedure. *) ! PriorityStack : StackOfWord ; (* Temporary variable holding old *) ! (* priority. *) SuppressWith : BOOLEAN ; QuadArray : Index ; NextQuad : CARDINAL ; (* Next quadruple number to be created. *) FreeList : CARDINAL ; (* FreeList of quadruples. *) CurrentProc : CARDINAL ; (* Current procedure being compiled, used *) ! (* to determine which procedure a RETURN. *) (* ReturnValueOp must have as its 3rd op. *) InitQuad : CARDINAL ; (* Initial Quad BackPatch that starts the *) (* suit of Modules. *) LastQuadNo : CARDINAL ; (* Last Quadruple accessed by GetQuad. *) + ArithPlusTok, (* Internal + token for arithmetic only. *) LogicalOrTok, (* Internal _LOR token. *) LogicalAndTok, (* Internal _LAND token. *) LogicalXorTok, (* Internal _LXOR token. *) LogicalDifferenceTok : Name ; (* Internal _LDIFF token. *) InConstExpression, ! IsAutoOn, (* Should parser automatically push *) ! (* idents? *) MustNotCheckBounds : BOOLEAN ; ! ForInfo : Index ; (* Start and end of all FOR loops. *) ! GrowInitialization : CARDINAL ; (* Upper limit of where the initialized *) (* quadruples. *) BuildingHigh, BuildingSize, ! QuadrupleGeneration : BOOLEAN ; (* Should we be generating quadruples? *) ! FreeLineList : LineNote ; (* Free list of line notes. *) ! VarientFields : List ; (* The list of all varient fields created. *) ! VarientFieldNo : CARDINAL ; (* Used to retrieve the VarientFields *) (* in order. *) NoOfQuads : CARDINAL ; (* Number of used quadruples. *) ! Head : CARDINAL ; (* Head of the list of quadruples. *) (* *************** BEGIN *** 584,589 **** --- 591,597 ---- RETURN( TRUE ) END + ELSE END ; i := GetNextQuad (i) END ; *************** BEGIN *** 685,690 **** --- 693,700 ---- RETURN( TRUE ) END + ELSE + RETURN FALSE END ; i := GetNextQuad (i) END ; *************** END IsQuadA ; *** 708,713 **** --- 718,733 ---- (* + IsGoto - returns true if QuadNo is a goto operation. + *) + + PROCEDURE IsGoto (QuadNo: CARDINAL) : BOOLEAN ; + BEGIN + RETURN( IsQuadA (QuadNo, GotoOp) ) + END IsGoto ; + + + (* IsCall - returns true if QuadNo is a call operation. *) *************** PROCEDURE GetQuadtok (QuadNo: CARDINAL; *** 1123,1129 **** VAR f: QuadFrame ; BEGIN ! f := GetQF(QuadNo) ; LastQuadNo := QuadNo ; WITH f^ DO Op := Operator ; --- 1143,1149 ---- VAR f: QuadFrame ; BEGIN ! f := GetQF (QuadNo) ; LastQuadNo := QuadNo ; WITH f^ DO Op := Operator ; *************** PROCEDURE GetQuadOtok (QuadNo: CARDINAL; *** 1145,1155 **** VAR tok: CARDINAL; VAR Op: QuadOperator; VAR Oper1, Oper2, Oper3: CARDINAL; VAR Op1Pos, Op2Pos, Op3Pos: CARDINAL) ; VAR f: QuadFrame ; BEGIN ! f := GetQF(QuadNo) ; LastQuadNo := QuadNo ; WITH f^ DO Op := Operator ; --- 1165,1176 ---- VAR tok: CARDINAL; VAR Op: QuadOperator; VAR Oper1, Oper2, Oper3: CARDINAL; + VAR overflowChecking: BOOLEAN ; VAR Op1Pos, Op2Pos, Op3Pos: CARDINAL) ; VAR f: QuadFrame ; BEGIN ! f := GetQF (QuadNo) ; LastQuadNo := QuadNo ; WITH f^ DO Op := Operator ; *************** BEGIN *** 1159,1170 **** Op1Pos := op1pos ; Op2Pos := op2pos ; Op3Pos := op3pos ; ! tok := TokenNo END END GetQuadOtok ; (* AddQuadInformation - adds variable analysis and jump analysis to the new quadruple. *) --- 1180,1230 ---- Op1Pos := op1pos ; Op2Pos := op2pos ; Op3Pos := op3pos ; ! tok := TokenNo ; ! overflowChecking := CheckOverflow END END GetQuadOtok ; (* + PutQuadOtok - alters a quadruple QuadNo with Op, Oper1, Oper2, Oper3, and + sets a boolean to determinine whether overflow should be checked. + *) + + PROCEDURE PutQuadOtok (QuadNo: CARDINAL; + tok: CARDINAL; + Op: QuadOperator; + Oper1, Oper2, Oper3: CARDINAL; + overflowChecking: BOOLEAN ; + Op1Pos, Op2Pos, Op3Pos: CARDINAL) ; + VAR + f: QuadFrame ; + BEGIN + IF QuadNo = BreakAtQuad + THEN + stop + END ; + IF QuadrupleGeneration + THEN + EraseQuad (QuadNo) ; + AddQuadInformation (QuadNo, Op, Oper1, Oper2, Oper3) ; + f := GetQF (QuadNo) ; + WITH f^ DO + Operator := Op ; + Operand1 := Oper1 ; + Operand2 := Oper2 ; + Operand3 := Oper3 ; + CheckOverflow := overflowChecking ; + op1pos := Op1Pos ; + op2pos := Op2Pos ; + op3pos := Op3Pos ; + TokenNo := tok + END + END + END PutQuadOtok ; + + + (* AddQuadInformation - adds variable analysis and jump analysis to the new quadruple. *) *************** BEGIN *** 1425,1430 **** --- 1485,1491 ---- Operand1 := 0 ; Operand2 := 0 ; Operand3 := 0 ; + Trash := 0 ; op1pos := UnknownTokenNo ; op2pos := UnknownTokenNo ; op3pos := UnknownTokenNo *************** END BuildM2MainFunction ; *** 2519,2524 **** --- 2580,2602 ---- (* + BuildStringAdrParam - push the address of a nul terminated string onto the quad stack. + *) + + PROCEDURE BuildStringAdrParam (tok: CARDINAL; name: Name); + VAR + str, m2strnul: CARDINAL ; + BEGIN + PushTF (Adr, Address) ; + str := MakeConstLitString (tok, name) ; + m2strnul := MakeConstStringM2nul (tok, str) ; + PushTtok (m2strnul, tok) ; + PushT (1) ; + BuildAdrFunction + END BuildStringAdrParam ; + + + (* BuildM2InitFunction - *) *************** BEGIN *** 2558,2579 **** (* ConstructModules (module_name, argc, argv, envp); *) PushTtok (constructModules, tok) ; ! PushTF(Adr, Address) ; ! PushTtok (MakeConstLitString (tok, GetSymName (moduleSym)), tok) ; ! PushT(1) ; ! BuildAdrFunction ; ! ! PushTF(Adr, Address) ; ! PushTtok (MakeConstLitString (tok, GetLibName (moduleSym)), tok) ; ! PushT(1) ; ! BuildAdrFunction ; ! ! PushTF(Adr, Address) ; ! PushTtok (MakeConstLitString (tok, ! makekey (GetRuntimeModuleOverride ())), ! tok) ; ! PushT(1) ; ! BuildAdrFunction ; PushTtok (SafeRequestSym (tok, MakeKey ("argc")), tok) ; PushTtok (SafeRequestSym (tok, MakeKey ("argv")), tok) ; --- 2636,2644 ---- (* ConstructModules (module_name, argc, argv, envp); *) PushTtok (constructModules, tok) ; ! BuildStringAdrParam (tok, GetSymName (moduleSym)) ; ! BuildStringAdrParam (tok, GetLibName (moduleSym)) ; ! BuildStringAdrParam (tok, makekey (GetRuntimeModuleOverride ())) ; PushTtok (SafeRequestSym (tok, MakeKey ("argc")), tok) ; PushTtok (SafeRequestSym (tok, MakeKey ("argv")), tok) ; *************** PROCEDURE MarkArrayWritten (Array: CARDI *** 3114,3120 **** BEGIN IF (Array#NulSym) AND IsVarAParam(Array) THEN ! PutVarWritten(Array, TRUE) END END MarkArrayWritten ; --- 3179,3185 ---- BEGIN IF (Array#NulSym) AND IsVarAParam(Array) THEN ! PutVarWritten (Array, TRUE) END END MarkArrayWritten ; *************** END MarkAsRead ; *** 3153,3161 **** PROCEDURE MarkAsWrite (sym: CARDINAL) ; BEGIN ! IF (sym#NulSym) AND IsVar(sym) THEN ! PutWriteQuad(sym, RightValue, NextQuad) END END MarkAsWrite ; --- 3218,3226 ---- PROCEDURE MarkAsWrite (sym: CARDINAL) ; BEGIN ! IF (sym # NulSym) AND IsVar (sym) THEN ! PutWriteQuad (sym, RightValue, NextQuad) END END MarkAsWrite ; *************** END MarkAsWrite ; *** 3167,3180 **** PROCEDURE doVal (type, expr: CARDINAL) : CARDINAL ; BEGIN ! IF (NOT IsConst(expr)) AND (SkipType(type)#GetDType(expr)) THEN ! PushTF(Convert, NulSym) ; ! PushT(SkipType(type)) ; ! PushT(expr) ; ! PushT(2) ; (* Two parameters *) BuildConvertFunction ; ! PopT(expr) END ; RETURN( expr ) END doVal ; --- 3232,3245 ---- PROCEDURE doVal (type, expr: CARDINAL) : CARDINAL ; BEGIN ! IF (NOT IsConst (expr)) AND (SkipType (type) # GetDType (expr)) THEN ! PushTF (Convert, NulSym) ; ! PushT (SkipType(type)) ; ! PushT (expr) ; ! PushT (2) ; (* Two parameters *) BuildConvertFunction ; ! PopT (expr) END ; RETURN( expr ) END doVal ; *************** BEGIN *** 3194,3200 **** IF IsConstString(Exp) AND IsConst(Des) THEN GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! tokno, destok, exptok) ; PutConstString (tokno, Des, GetString (Exp)) ELSE IF GetMode(Des)=RightValue --- 3259,3265 ---- IF IsConstString(Exp) AND IsConst(Des) THEN GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! destok, UnknownTokenNo, exptok) ; PutConstString (tokno, Des, GetString (Exp)) ELSE IF GetMode(Des)=RightValue *************** BEGIN *** 3205,3211 **** doIndrX (tokno, Des, Exp) ELSE GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! tokno, destok, exptok) END ELSIF GetMode(Des)=LeftValue THEN --- 3270,3276 ---- doIndrX (tokno, Des, Exp) ELSE GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! destok, UnknownTokenNo, exptok) END ELSIF GetMode(Des)=LeftValue THEN *************** BEGIN *** 3226,3232 **** END ELSE GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! tokno, destok, exptok) END END END MoveWithMode ; --- 3291,3297 ---- END ELSE GenQuadOtok (tokno, BecomesOp, Des, NulSym, Exp, TRUE, ! destok, UnknownTokenNo, exptok) END END END MoveWithMode ; *************** BEGIN *** 3541,3546 **** --- 3606,3622 ---- MarkAsWrite (w) ; CheckCompatibleWithBecomes (Des, Exp, destok, exptok) ; combinedtok := MakeVirtualTok (becomesTokNo, destok, exptok) ; + IF DebugTokPos + THEN + MetaErrorT1 (becomesTokNo, 'becomestok {%1Oad}', Des) ; + MetaErrorT1 (destok, 'destok {%1Oad}', Des) ; + MetaErrorT1 (exptok, 'exptok {%1Oad}', Exp) + END ; + combinedtok := MakeVirtualTok (becomesTokNo, destok, exptok) ; + IF DebugTokPos + THEN + MetaErrorT1 (combinedtok, 'combined {%1Oad}', Des) + END ; IF (GetSType (Des) # NulSym) AND (NOT IsSet (GetDType (Des))) THEN (* Tell code generator to test runtime values of assignment so ensure we *************** BEGIN *** 3551,3557 **** THEN CheckBecomesMeta (Des, Exp, combinedtok, destok, exptok) END ; ! (* Traditional Assignment. *) MoveWithMode (becomesTokNo, Des, Exp, Array, destok, exptok, checkOverflow) ; IF checkTypes THEN --- 3627,3633 ---- THEN CheckBecomesMeta (Des, Exp, combinedtok, destok, exptok) END ; ! (* Simple assignment. *) MoveWithMode (becomesTokNo, Des, Exp, Array, destok, exptok, checkOverflow) ; IF checkTypes THEN *************** BEGIN *** 4396,4413 **** IdSym := RequestSym (idtok, Id) ; IF NOT IsExpressionCompatible (GetSType (e1), GetSType (e2)) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, initial expression {%E1tsad} and final expression {%E2tsad}', e1, e2) ; CheckExpressionCompatible (idtok, GetSType (e1), GetSType (e2)) END ; IF NOT IsExpressionCompatible( GetSType (e1), ByType) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, initial expression {%E1tsad} and {%kBY} {%E2tsad}', e2, BySym) ; CheckExpressionCompatible (e1tok, GetSType (e1), ByType) ELSIF NOT IsExpressionCompatible (GetSType (e2), ByType) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, final expression {%E1tsad} and {%kBY} {%E2tsad}', e2, BySym) ; CheckExpressionCompatible (e1tok, GetSType (e2), ByType) END ; --- 4472,4489 ---- IdSym := RequestSym (idtok, Id) ; IF NOT IsExpressionCompatible (GetSType (e1), GetSType (e2)) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, initial expression {%1tsad} and final expression {%2tsad}', e1, e2) ; CheckExpressionCompatible (idtok, GetSType (e1), GetSType (e2)) END ; IF NOT IsExpressionCompatible( GetSType (e1), ByType) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, initial expression {%1tsad} and {%kBY} {%2tsad}', e2, BySym) ; CheckExpressionCompatible (e1tok, GetSType (e1), ByType) ELSIF NOT IsExpressionCompatible (GetSType (e2), ByType) THEN ! MetaError2 ('incompatible types found in {%EkFOR} loop header, final expression {%1tsad} and {%kBY} {%2tsad}', e2, BySym) ; CheckExpressionCompatible (e1tok, GetSType (e2), ByType) END ; *************** BEGIN *** 4436,4442 **** PushT (TimesTok) ; PushTFtok (BySym, ByType, bytok) ; doBuildBinaryOp (FALSE, FALSE) ; ! PushT (PlusTok) ; PushTFtok (e1, GetSType (e1), e1tok) ; doBuildBinaryOp (FALSE, FALSE) ; BuildForLoopToRangeCheck ; --- 4512,4518 ---- PushT (TimesTok) ; PushTFtok (BySym, ByType, bytok) ; doBuildBinaryOp (FALSE, FALSE) ; ! PushT (ArithPlusTok) ; PushTFtok (e1, GetSType (e1), e1tok) ; doBuildBinaryOp (FALSE, FALSE) ; BuildForLoopToRangeCheck ; *************** END BuildEndFor ; *** 4590,4604 **** <- Ptr +------------+ - Empty | 0 | 0 | - |------------| | 0 | 0 | |------------| *) PROCEDURE BuildCaseStart ; BEGIN ! BuildRange (InitCaseBounds (PushCase (NulSym, NulSym))) ; PushBool (0, 0) ; (* BackPatch list initialized *) PushBool (0, 0) (* Room for a boolean expression *) END BuildCaseStart ; --- 4666,4682 ---- <- Ptr +------------+ | 0 | 0 | |------------| + | 0 | 0 | + +-------------+ |------------| + | Expr | | | Expr | | + |-------------| |------------| *) PROCEDURE BuildCaseStart ; BEGIN ! BuildRange (InitCaseBounds (PushCase (NulSym, NulSym, OperandT (1)))) ; PushBool (0, 0) ; (* BackPatch list initialized *) PushBool (0, 0) (* Room for a boolean expression *) END BuildCaseStart ; *************** END BuildRealProcedureCall ; *** 5107,5123 **** --- 5185,5208 ---- PROCEDURE BuildRealFuncProcCall (tokno: CARDINAL; IsFunc, IsForC: BOOLEAN) ; VAR + AllocateProc, + DeallocateProc, ForcedFunc, ParamConstant : BOOLEAN ; + trash, resulttok, paramtok, proctok, NoOfParameters, i, pi, + ParamType, + Param1, (* Used to remember first param for allocate/deallocate. *) ReturnVar, ProcSym, Proc : CARDINAL ; BEGIN + Param1 := NulSym ; + ParamType := NulSym ; CheckProcedureParameters (IsForC) ; PopT (NoOfParameters) ; PushT (NoOfParameters) ; (* Restore stack to original state. *) *************** BEGIN *** 5130,5135 **** --- 5215,5222 ---- paramtok := proctok ; ProcSym := SkipConst (ProcSym) ; ForcedFunc := FALSE ; + AllocateProc := FALSE ; + DeallocateProc := FALSE ; IF IsVar (ProcSym) THEN (* Procedure Variable ? *) *************** BEGIN *** 5137,5143 **** ParamConstant := FALSE ELSE Proc := ProcSym ; ! ParamConstant := IsProcedureBuiltin (Proc) END ; IF IsFunc THEN --- 5224,5232 ---- ParamConstant := FALSE ELSE Proc := ProcSym ; ! ParamConstant := IsProcedureBuiltin (Proc) ; ! AllocateProc := GetSymName (Proc) = MakeKey('ALLOCATE') ; ! DeallocateProc := GetSymName (Proc) = MakeKey('DEALLOCATE') END ; IF IsFunc THEN *************** BEGIN *** 5162,5167 **** --- 5251,5260 ---- ForcedFunc := TRUE END END ; + IF AllocateProc OR DeallocateProc + THEN + Param1 := OperandT (NoOfParameters+1) (* Remember this before manipulating. *) + END ; ManipulateParameters (IsForC) ; CheckParameterOrdinals ; PopT(NoOfParameters) ; *************** BEGIN *** 5177,5183 **** pi := 1 ; (* stack index referencing stacked parameter, i *) WHILE i>0 DO paramtok := OperandTtok (pi) ; ! GenQuadO (paramtok, ParamOp, i, Proc, OperandT (pi), TRUE) ; IF NOT IsConst (OperandT (pi)) THEN ParamConstant := FALSE --- 5270,5296 ---- pi := 1 ; (* stack index referencing stacked parameter, i *) WHILE i>0 DO paramtok := OperandTtok (pi) ; ! IF (AllocateProc OR DeallocateProc) AND (i = 1) AND (Param1 # NulSym) ! THEN ! ParamType := GetItemPointedTo (Param1) ; ! IF ParamType = NulSym ! THEN ! GenQuadO (paramtok, ParamOp, i, Proc, OperandT (pi), TRUE) ! ELSE ! IF AllocateProc ! THEN ! trash := MakeTemporary (paramtok, RightValue) ; ! PutVar (trash, ParamType) ; ! PutVarHeap (trash, TRUE) ! ELSE ! Assert (DeallocateProc) ; ! trash := Nil ! END ; ! GenQuadOTrash (paramtok, ParamOp, i, Proc, OperandT (pi), TRUE, trash) ! END ! ELSE ! GenQuadO (paramtok, ParamOp, i, Proc, OperandT (pi), TRUE) ! END ; IF NOT IsConst (OperandT (pi)) THEN ParamConstant := FALSE *************** VAR *** 5937,5948 **** BEGIN IF GetDType(des)=GetDType(exp) THEN ! GenQuadO (tok, IndrXOp, des, GetSType(des), exp, TRUE) ELSE t := MakeTemporary (tok, RightValue) ; PutVar (t, GetSType (exp)) ; ! GenQuadO (tok, IndrXOp, t, GetSType (exp), exp, TRUE) ; ! GenQuadO (tok, BecomesOp, des, NulSym, doVal (GetSType(des), t), TRUE) END END doIndrX ; --- 6050,6064 ---- BEGIN IF GetDType(des)=GetDType(exp) THEN ! GenQuadOtok (tok, IndrXOp, des, GetSType (des), exp, TRUE, ! tok, tok, tok) ELSE t := MakeTemporary (tok, RightValue) ; PutVar (t, GetSType (exp)) ; ! GenQuadOtok (tok, IndrXOp, t, GetSType (exp), exp, TRUE, ! tok, tok, tok) ; ! GenQuadOtok (tok, BecomesOp, des, NulSym, doVal (GetSType(des), t), TRUE, ! tok, UnknownTokenNo, tok) END END doIndrX ; *************** BEGIN *** 5971,5977 **** *) t := MakeTemporary (tok, RightValue) ; PutVar (t, type) ; ! GenQuadO (tok, BecomesOp, t, NulSym, doVal(type, Sym), TRUE) ; RETURN t END ELSE --- 6087,6094 ---- *) t := MakeTemporary (tok, RightValue) ; PutVar (t, type) ; ! GenQuadOtok (tok, BecomesOp, t, NulSym, doVal (type, Sym), TRUE, ! tok, tok, tok) ; RETURN t END ELSE *************** BEGIN *** 6007,6019 **** *) t := MakeTemporary (tok, with) ; PutVar (t, type) ; ! GenQuadO (tok, BecomesOp, t, NulSym, Sym, TRUE) ; RETURN t END ELSE t := MakeTemporary (tok, with) ; PutVar (t, type) ; ! GenQuadO (tok, AddrOp, t, NulSym, Sym, TRUE) ; RETURN t END END MakeLeftValue ; --- 6124,6138 ---- *) t := MakeTemporary (tok, with) ; PutVar (t, type) ; ! GenQuadOtok (tok, BecomesOp, t, NulSym, Sym, TRUE, ! tok, UnknownTokenNo, tok) ; RETURN t END ELSE t := MakeTemporary (tok, with) ; PutVar (t, type) ; ! GenQuadOtok (tok, AddrOp, t, NulSym, Sym, TRUE, ! tok, UnknownTokenNo, tok) ; RETURN t END END MakeLeftValue ; *************** BEGIN *** 6714,6720 **** THEN RETURN GetItemPointedTo (GetSType (Sym)) ELSE ! InternalError ('expecting a pointer or variable symbol') END END GetItemPointedTo ; --- 6833,6839 ---- THEN RETURN GetItemPointedTo (GetSType (Sym)) ELSE ! RETURN NulSym END END GetItemPointedTo ; *************** BEGIN *** 6983,6995 **** IF IsExpressionCompatible (dtype, etype) THEN (* the easy case simulate a straightforward macro *) ! PushTF(des, dtype) ; ! PushT(tok) ; ! PushTF(expr, etype) ; ! doBuildBinaryOp(FALSE, TRUE) ELSE ! IF (IsOrdinalType(dtype) OR (dtype=Address) OR IsPointer(dtype)) AND ! (IsOrdinalType(etype) OR (etype=Address) OR IsPointer(etype)) THEN PushTF (des, dtype) ; PushT (tok) ; --- 7102,7114 ---- IF IsExpressionCompatible (dtype, etype) THEN (* the easy case simulate a straightforward macro *) ! PushTF (des, dtype) ; ! PushT (tok) ; ! PushTF (expr, etype) ; ! doBuildBinaryOp (FALSE, TRUE) ELSE ! IF (IsOrdinalType (dtype) OR (dtype = Address) OR IsPointer (dtype)) AND ! (IsOrdinalType (etype) OR (etype = Address) OR IsPointer (etype)) THEN PushTF (des, dtype) ; PushT (tok) ; *************** BEGIN *** 8016,8037 **** PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaError1 ('the second parameter to {%EkDIFADR } {%1Ea} must be a variable of type ADDRESS or a {%EkPOINTER}, rather than a {%1Etsd}', OperandSym) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Integer), Integer, combinedtok) END ELSE ! MetaError1 ('the first parameter to {%EkDIFADR } {%1Ea} must be a variable of type ADDRESS or a {%EkPOINTER}, rather than a {%1Etsd}', ! VarSym) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Integer), Integer, combinedtok) END ELSE ! MetaError0 ('{%E}SYSTEM procedure {%EkDIFADR } expects a variable of type ADDRESS or POINTER as its first parameter') ; PushTFtok (MakeConstLit (combinedtok, MakeKey('0'), Integer), Integer, combinedtok) END ELSE combinedtok := MakeVirtualTok (functok, functok, optok) ; ! MetaErrorT0 (functok, '{%E}SYSTEM procedure {%EkDIFADR } expects 2 parameters') ; PopN (NoOfParam+1) ; PushTFtok (MakeConstLit (combinedtok, MakeKey('0'), Integer), Integer, combinedtok) END --- 8135,8157 ---- PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaError1 ('the second parameter to {%EkDIFADR} {%1Ea} must be a variable of type ADDRESS or a {%EkPOINTER}, rather than a {%1Etsd}', OperandSym) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Integer), Integer, combinedtok) END ELSE ! MetaErrorT1 (vartok, ! 'the first parameter to {%EkDIFADR} {%1Ea} must be a variable of type ADDRESS or a {%EkPOINTER}, rather than a {%1Etsd}', ! VarSym) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Integer), Integer, combinedtok) END ELSE ! MetaError0 ('{%E}SYSTEM procedure {%EkDIFADR} expects a variable of type ADDRESS or POINTER as its first parameter') ; PushTFtok (MakeConstLit (combinedtok, MakeKey('0'), Integer), Integer, combinedtok) END ELSE combinedtok := MakeVirtualTok (functok, functok, optok) ; ! MetaErrorT0 (functok, '{%E}SYSTEM procedure {%EkDIFADR} expects 2 parameters') ; PopN (NoOfParam+1) ; PushTFtok (MakeConstLit (combinedtok, MakeKey('0'), Integer), Integer, combinedtok) END *************** BEGIN *** 8275,8281 **** Type := GetSType (Param) ; (* get the type from the symbol, not the stack *) IF NoOfParam # 1 THEN ! MetaErrorT1 (functok, 'base procedure {%E1kLENGTH} expects 1 parameter, seen {%1En} parameters', NoOfParam) END ; IF NoOfParam >= 1 THEN --- 8395,8401 ---- Type := GetSType (Param) ; (* get the type from the symbol, not the stack *) IF NoOfParam # 1 THEN ! MetaErrorT1 (functok, 'base procedure {%1EkLENGTH} expects 1 parameter, seen {%1n} parameters', NoOfParam) END ; IF NoOfParam >= 1 THEN *************** BEGIN *** 8318,8324 **** PopT (NoOfParam) ; PopN (NoOfParam + 1) ; PushTtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), combinedtok) ; ! MetaErrorT0 (functok, 'no procedure Length found for substitution to the standard function {%E1kLENGTH} which is required to calculate non constant string lengths') END END ELSE --- 8438,8444 ---- PopT (NoOfParam) ; PopN (NoOfParam + 1) ; PushTtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), combinedtok) ; ! MetaErrorT0 (functok, 'no procedure Length found for substitution to the standard function {%1EkLENGTH} which is required to calculate non constant string lengths') END END ELSE *************** BEGIN *** 8411,8424 **** PushTtok (Res, combinedtok) ELSE ! MetaErrorT1 (combinedtok, ! 'the parameter to {%E1kODD} must be a variable or constant, seen {%E1ad}', Var) ; PushTtok (False, combinedtok) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%E1kODD} only has one parameter, seen {%E1n} parameters', NoOfParam) ; PushTtok (False, functok) END --- 8531,8544 ---- PushTtok (Res, combinedtok) ELSE ! MetaErrorT1 (optok, ! 'the parameter to {%1EkODD} must be a variable or constant, seen {%1ad}', Var) ; PushTtok (False, combinedtok) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%E1kODD} only has one parameter, seen {%1n} parameters', NoOfParam) ; PushTtok (False, functok) END *************** END BuildOddFunction ; *** 8462,8467 **** --- 8582,8588 ---- PROCEDURE BuildAbsFunction ; VAR + vartok, functok, combinedtok: CARDINAL ; NoOfParam, *************** BEGIN *** 8473,8478 **** --- 8594,8600 ---- IF NoOfParam = 1 THEN Var := OperandT (1) ; + vartok := OperandTok (1) ; combinedtok := MakeVirtualTok (functok, functok, vartok) ; IF IsVar(Var) OR IsConst(Var) THEN *************** BEGIN *** 8485,8497 **** GenQuadO (combinedtok, StandardFunctionOp, Res, ProcSym, Var, FALSE) ; PushTFtok (Res, GetSType (Var), combinedtok) ELSE ! MetaErrorT1 (combinedtok, ! 'the parameter to {%A1kABS} must be a variable or constant, seen {%E1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%A1kABS} only has one parameter, seen {%E1n} parameters', NoOfParam) END END BuildAbsFunction ; --- 8607,8619 ---- GenQuadO (combinedtok, StandardFunctionOp, Res, ProcSym, Var, FALSE) ; PushTFtok (Res, GetSType (Var), combinedtok) ELSE ! MetaErrorT1 (vartok, ! 'the parameter to {%AkABS} must be a variable or constant, seen {%1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%AkABS} only has one parameter, seen {%1n} parameters', NoOfParam) END END BuildAbsFunction ; *************** BEGIN *** 8545,8557 **** GenQuadO (combinedtok, StandardFunctionOp, Res, ProcSym, Var, FALSE) ; PushTFtok (Res, Char, combinedtok) ELSE ! MetaErrorT1 (functok, ! 'the parameter to {%A1kCAP} must be a variable or constant, seen {%E1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%A1kCAP} only has one parameter, seen {%E1n} parameters', NoOfParam) END END BuildCapFunction ; --- 8667,8679 ---- GenQuadO (combinedtok, StandardFunctionOp, Res, ProcSym, Var, FALSE) ; PushTFtok (Res, Char, combinedtok) ELSE ! MetaErrorT1 (optok, ! 'the parameter to {%AkCAP} must be a variable or constant, seen {%1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%AkCAP} only has one parameter, seen {%1n} parameters', NoOfParam) END END BuildCapFunction ; *************** BEGIN *** 8615,8627 **** PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaErrorT1 (functok, ! 'the parameter to {%A1kCHR} must be a variable or constant, seen {%E1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%A1kCHR} only has one parameter, seen {%E1n} parameters', NoOfParam) END END BuildChrFunction ; --- 8737,8749 ---- PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaErrorT1 (optok, ! 'the parameter to {%AkCHR} must be a variable or constant, seen {%1ad}', Var) END ELSE MetaErrorT1 (functok, ! 'the pseudo procedure {%AkCHR} only has one parameter, seen {%1n} parameters', NoOfParam) END END BuildChrFunction ; *************** BEGIN *** 8686,8698 **** PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaErrorT2 (functok, ! 'the parameter to {%A1k%a} must be a variable or constant, seen {%2ad}', Sym, Var) END ELSE MetaErrorT2 (functok, ! 'the pseudo procedure {%A1k%a} only has one parameter, seen {%2n} parameters', Sym, NoOfParam) END END BuildOrdFunction ; --- 8808,8820 ---- PushT (2) ; (* Two parameters *) BuildConvertFunction ELSE ! MetaErrorT2 (optok, ! 'the parameter to {%1Aa} must be a variable or constant, seen {%2ad}', Sym, Var) END ELSE MetaErrorT2 (functok, ! 'the pseudo procedure {%1Aa} only has one parameter, seen {%2n} parameters', Sym, NoOfParam) END END BuildOrdFunction ; *************** BEGIN *** 8757,8770 **** BuildConvertFunction ELSE combinedtok := MakeVirtualTok (functok, optok, optok) ; ! MetaErrorT2 (combinedtok, ! 'the parameter to {%E1k%a} must be a variable or constant, seen {%2ad}', Sym, Var) ; PushTtok (combinedtok, MakeConstLit (combinedtok, MakeKey ('0'), ZType)) END ELSE MetaErrorT2 (functok, ! 'the pseudo procedure {%E1k%a} only has one parameter, seen {%2n} parameters', Sym, NoOfParam) ; PushTtok (functok, MakeConstLit (functok, MakeKey ('0'), ZType)) END --- 8879,8892 ---- BuildConvertFunction ELSE combinedtok := MakeVirtualTok (functok, optok, optok) ; ! MetaErrorT2 (optok, ! 'the parameter to {%1Ea} must be a variable or constant, seen {%2ad}', Sym, Var) ; PushTtok (combinedtok, MakeConstLit (combinedtok, MakeKey ('0'), ZType)) END ELSE MetaErrorT2 (functok, ! 'the pseudo procedure {%1Ea} only has one parameter, seen {%2n} parameters', Sym, NoOfParam) ; PushTtok (functok, MakeConstLit (functok, MakeKey ('0'), ZType)) END *************** BEGIN *** 8831,8837 **** AreConst := FALSE ; ELSIF NOT IsConst (OperandT (i)) THEN ! MetaError1 ('problem in the {%E1N} argument for {%EkMAKEADR}, all arguments to {%EkMAKEADR} must be either variables or constants', i) END ; INC (i) END ; --- 8953,8959 ---- AreConst := FALSE ; ELSIF NOT IsConst (OperandT (i)) THEN ! MetaError1 ('problem in the {%1EN} argument for {%kMAKEADR}, all arguments to {%kMAKEADR} must be either variables or constants', i) END ; INC (i) END ; *************** BEGIN *** 8843,8849 **** PopN (NoOfParameters+1) ; PushTFtok (ReturnVar, GetSType (MakeAdr), resulttok) ELSE ! MetaError1 ('the pseudo procedure {%EkMAKEADR} requires at least one parameter, seen {%E1n}', NoOfParameters) ; PopN (1) ; PushTFtok (Nil, GetSType (MakeAdr), functok) END --- 8965,8971 ---- PopN (NoOfParameters+1) ; PushTFtok (ReturnVar, GetSType (MakeAdr), resulttok) ELSE ! MetaError1 ('the pseudo procedure {%EkMAKEADR} requires at least one parameter, seen {%1n}', NoOfParameters) ; PopN (1) ; PushTFtok (Nil, GetSType (MakeAdr), functok) END *************** BEGIN *** 8913,8926 **** GenQuad (LogicalShiftOp, returnVar, varSet, derefExp) ; PushTFtok (returnVar, GetSType (varSet), combinedtok) ELSE ! MetaError1 ('SYSTEM procedure {%E1kSHIFT} expects a constant or variable which has a type of SET as its first parameter, seen {%E1ad}', ! varSet) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), Cardinal, combinedtok) END ELSE combinedtok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (functok, ! 'the pseudo procedure {%EkSHIFT} requires at least two parameters, seen {%E1n}', NoOfParam) ; PopN (NoOfParam + 1) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), Cardinal, combinedtok) --- 9035,9049 ---- GenQuad (LogicalShiftOp, returnVar, varSet, derefExp) ; PushTFtok (returnVar, GetSType (varSet), combinedtok) ELSE ! MetaErrorT1 (vartok, ! 'SYSTEM procedure {%1EkSHIFT} expects a constant or variable which has a type of SET as its first parameter, seen {%1ad}', ! varSet) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), Cardinal, combinedtok) END ELSE combinedtok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (functok, ! 'the pseudo procedure {%kSHIFT} requires at least two parameters, seen {%1En}', NoOfParam) ; PopN (NoOfParam + 1) ; PushTFtok (MakeConstLit (combinedtok, MakeKey ('0'), Cardinal), Cardinal, combinedtok) *************** BEGIN *** 8988,8995 **** GenQuadO (combinedtok, LogicalRotateOp, returnVar, varSet, derefExp, TRUE) ; PushTFtok (returnVar, GetSType (varSet), combinedtok) ELSE ! MetaErrorT0 (functok, ! 'SYSTEM procedure {%EkROTATE} expects a constant or variable which has a type of SET as its first parameter') ; PushTFtok (MakeConstLit (functok, MakeKey('0'), Cardinal), Cardinal, functok) END ELSE --- 9111,9119 ---- GenQuadO (combinedtok, LogicalRotateOp, returnVar, varSet, derefExp, TRUE) ; PushTFtok (returnVar, GetSType (varSet), combinedtok) ELSE ! MetaErrorT1 (vartok, ! 'SYSTEM procedure {%EkROTATE} expects a constant or variable which has a type of SET as its first parameter, seen {%1ad}', ! varSet) ; PushTFtok (MakeConstLit (functok, MakeKey('0'), Cardinal), Cardinal, functok) END ELSE *************** BEGIN *** 9057,9063 **** THEN (* not sensible to try and recover when we dont know the return type. *) MetaErrorT1 (typetok, ! 'undeclared type found in builtin procedure function {%AkVAL} {%A1ad}', Type) (* non recoverable error. *) ELSIF (IsSet (Type) OR IsEnumeration (Type) OR IsSubrange (Type) OR --- 9181,9187 ---- THEN (* not sensible to try and recover when we dont know the return type. *) MetaErrorT1 (typetok, ! 'undeclared type found in builtin procedure function {%AkVAL} {%1ad}', Type) (* non recoverable error. *) ELSIF (IsSet (Type) OR IsEnumeration (Type) OR IsSubrange (Type) OR *************** BEGIN *** 9075,9081 **** ELSE (* not sensible to try and recover when we dont know the return type. *) MetaErrorT0 (functok, ! 'the builtin procedure {%AkVAL} has thw following formal parameter declaration {%kVAL} (type, expression)') (* non recoverable error. *) END ELSE --- 9199,9205 ---- ELSE (* not sensible to try and recover when we dont know the return type. *) MetaErrorT0 (functok, ! 'the builtin procedure {%AkVAL} has the following formal parameter declaration {%kVAL} (type, expression)') (* non recoverable error. *) END ELSE *************** BEGIN *** 9167,9173 **** ELSE (* not sensible to try and recover when we dont know the return type. *) MetaErrorT0 (functok, ! 'the second parameter to the builtin procedure {%AkCAST} must either be a variable, constant or a procedure. The formal parameters to cast are CAST(type, variable or constant or procedure)') (* non recoverable error. *) END ELSE --- 9291,9297 ---- ELSE (* not sensible to try and recover when we dont know the return type. *) MetaErrorT0 (functok, ! 'the second parameter to the builtin procedure {%AkCAST} must either be a variable, constant or a procedure. The formal parameters to cast are {%kCAST} (type, variable or constant or procedure)') (* non recoverable error. *) END ELSE *************** BEGIN *** 9242,9253 **** IF IsUnknown (Type) THEN (* we cannot recover if we dont have a type. *) ! MetaErrorT1 (typetok, 'undeclared type {%A1ad} found in {%kCONVERT}', Type) (* non recoverable error. *) ELSIF IsUnknown (Exp) THEN (* we cannot recover if we dont have a type. *) ! MetaErrorT1 (typetok, 'unknown {%A1d} {%1ad} found in {%kCONVERT}', Exp) (* non recoverable error. *) ELSIF (IsSet (Type) OR IsEnumeration (Type) OR IsSubrange (Type) OR IsType (Type) OR IsPointer (Type) OR IsProcType (Type) OR IsRecord (Type)) AND --- 9366,9377 ---- IF IsUnknown (Type) THEN (* we cannot recover if we dont have a type. *) ! MetaErrorT1 (typetok, 'undeclared type {%1Aad} found in {%kCONVERT}', Type) (* non recoverable error. *) ELSIF IsUnknown (Exp) THEN (* we cannot recover if we dont have a type. *) ! MetaErrorT1 (typetok, 'unknown {%1Ad} {%1ad} found in {%kCONVERT}', Exp) (* non recoverable error. *) ELSIF (IsSet (Type) OR IsEnumeration (Type) OR IsSubrange (Type) OR IsType (Type) OR IsPointer (Type) OR IsProcType (Type) OR IsRecord (Type)) AND *************** BEGIN *** 9335,9341 **** ELSIF GetSType (type) = NulSym THEN MetaErrorT1 (tok, ! 'unable to obtain the {%AkMIN} value for type {%1Aad}', type) ; (* non recoverable error. *) InternalError ('MetaErrorT1 {%AkMIN} should call abort') ELSE --- 9459,9465 ---- ELSIF GetSType (type) = NulSym THEN MetaErrorT1 (tok, ! 'unable to obtain the {%AkMIN} value for type {%1ad}', type) ; (* non recoverable error. *) InternalError ('MetaErrorT1 {%AkMIN} should call abort') ELSE *************** BEGIN *** 9373,9379 **** ELSIF GetSType (type) = NulSym THEN MetaErrorT1 (tok, ! 'unable to obtain the {%AkMAX} value for type {%1Aad}', type) ; (* non recoverable error. *) InternalError ('MetaErrorT1 {%AkMAX} should call abort') ELSE --- 9497,9503 ---- ELSIF GetSType (type) = NulSym THEN MetaErrorT1 (tok, ! 'unable to obtain the {%AkMAX} value for type {%1ad}', type) ; (* non recoverable error. *) InternalError ('MetaErrorT1 {%AkMAX} should call abort') ELSE *************** BEGIN *** 9429,9442 **** ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (vartok, ! 'parameter to {%AkMIN} must be a type or a variable, seen {%1Aad}', Var) (* non recoverable error. *) END ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkMIN} only has one parameter, seen {%1An}', NoOfParam) (* non recoverable error. *) END --- 9553,9566 ---- ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (vartok, ! 'parameter to {%AkMIN} must be a type or a variable, seen {%1ad}', Var) (* non recoverable error. *) END ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkMIN} only has one parameter, seen {%1n}', NoOfParam) (* non recoverable error. *) END *************** BEGIN *** 9490,9503 **** ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (vartok, ! 'parameter to {%AkMAX} must be a type or a variable, seen {%1Aad}', Var) (* non recoverable error. *) ; END ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkMAX} only has one parameter, seen {%1An}', NoOfParam) (* non recoverable error. *) END --- 9614,9627 ---- ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (vartok, ! 'parameter to {%AkMAX} must be a type or a variable, seen {%1ad}', Var) (* non recoverable error. *) ; END ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkMAX} only has one parameter, seen {%1n}', NoOfParam) (* non recoverable error. *) END *************** BEGIN *** 9574,9580 **** PushTFtok (MakeConstLit (functok, MakeKey('0'), Type), Type, functok) END ELSE ! MetaErrorT2 (functok, 'argument to {%1E%ad} must be a variable or constant, seen {%2ad}', Sym, Var) ; PushTFtok (MakeConstLit (functok, MakeKey('0'), Type), Type, functok) --- 9698,9704 ---- PushTFtok (MakeConstLit (functok, MakeKey('0'), Type), Type, functok) END ELSE ! MetaErrorT2 (vartok, 'argument to {%1E%ad} must be a variable or constant, seen {%2ad}', Sym, Var) ; PushTFtok (MakeConstLit (functok, MakeKey('0'), Type), Type, functok) *************** BEGIN *** 9585,9591 **** ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkTRUNC} only has one parameter, seen {%1An}', NoOfParam) (* non recoverable error. *) END END BuildTruncFunction ; --- 9709,9715 ---- ELSE (* we dont know the type therefore cannot fake a return. *) MetaErrorT1 (functok, ! 'the pseudo builtin procedure function {%AkTRUNC} only has one parameter, seen {%1n}', NoOfParam) (* non recoverable error. *) END END BuildTruncFunction ; *************** BEGIN *** 9653,9659 **** PushT(2) ; (* two parameters. *) BuildConvertFunction ELSE ! MetaErrorT1 (functok, 'argument to {%1E%ad} must be a variable or constant', ProcSym) ; PushTFtok (MakeConstLit (functok, MakeKey('0.0'), Type), Type, functok) END --- 9777,9783 ---- PushT(2) ; (* two parameters. *) BuildConvertFunction ELSE ! MetaErrorT1 (vartok, 'argument to {%1E%ad} must be a variable or constant', ProcSym) ; PushTFtok (MakeConstLit (functok, MakeKey('0.0'), Type), Type, functok) END *************** BEGIN *** 9723,9729 **** ELSE PopN (NoOfParam+1) ; (* destroy arguments to this function *) PushTFtok (MakeConstLit (combinedtok, MakeKey ('1.0'), RType), RType, combinedtok) ; ! MetaErrorT2 (functok, 'the parameter to the builtin procedure function {%1Ead} must be a constant or a variable, seen {%2ad}', func, Var) END --- 9847,9853 ---- ELSE PopN (NoOfParam+1) ; (* destroy arguments to this function *) PushTFtok (MakeConstLit (combinedtok, MakeKey ('1.0'), RType), RType, combinedtok) ; ! MetaErrorT2 (vartok, 'the parameter to the builtin procedure function {%1Ead} must be a constant or a variable, seen {%2ad}', func, Var) END *************** BEGIN *** 9791,9797 **** ELSE PopN (NoOfParam+1) ; (* destroy arguments to this function *) PushTFtok (MakeConstLit (combinedtok, MakeKey ('1.0'), RType), RType, combinedtok) ; ! MetaErrorT2 (functok, 'the parameter to the builtin procedure function {%1Ead} must be a constant or a variable, seen {%2ad}', func, Var) END --- 9915,9921 ---- ELSE PopN (NoOfParam+1) ; (* destroy arguments to this function *) PushTFtok (MakeConstLit (combinedtok, MakeKey ('1.0'), RType), RType, combinedtok) ; ! MetaErrorT2 (vartok, 'the parameter to the builtin procedure function {%1Ead} must be a constant or a variable, seen {%2ad}', func, Var) END *************** BEGIN *** 10056,10073 **** THEN paramtok := OperandTok (1) ; resulttok := MakeVirtualTok (functok, functok, paramtok) ; ! BuildSizeCheckEnd (ProcSym) ; (* quadruple generation now on *) ReturnVar := MakeTemporary (resulttok, ImmediateValue) ; GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, OperandT(1), TRUE) ELSIF IsVar (OperandT (1)) THEN ! BuildSizeCheckEnd (ProcSym) ; (* quadruple generation now on *) Type := GetSType (OperandT (1)) ; paramtok := OperandTok (1) ; resulttok := MakeVirtualTok (functok, functok, paramtok) ; IF IsUnbounded (Type) THEN ! (* eg. SIZE(a) ; where a is unbounded dereference HIGH and multiply by the TYPE *) dim := OperandD (1) ; IF dim = 0 THEN --- 10180,10197 ---- THEN paramtok := OperandTok (1) ; resulttok := MakeVirtualTok (functok, functok, paramtok) ; ! BuildSizeCheckEnd (ProcSym) ; (* Quadruple generation now on. *) ReturnVar := MakeTemporary (resulttok, ImmediateValue) ; GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, OperandT(1), TRUE) ELSIF IsVar (OperandT (1)) THEN ! BuildSizeCheckEnd (ProcSym) ; (* Quadruple generation now on. *) Type := GetSType (OperandT (1)) ; paramtok := OperandTok (1) ; resulttok := MakeVirtualTok (functok, functok, paramtok) ; IF IsUnbounded (Type) THEN ! (* Eg. SIZE(a) ; where a is unbounded dereference HIGH and multiply by the TYPE. *) dim := OperandD (1) ; IF dim = 0 THEN *************** BEGIN *** 10080,10097 **** IF Type = NulSym THEN MetaErrorT1 (resulttok, ! 'cannot get the type and size of {%E1ad}', OperandT (1)) END ; GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, Type, TRUE) END ELSE resulttok := functok ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure {%kSIZE} expects a variable as its parameter, seen {%E1d}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey('0'), Cardinal) END ; ! PopN (NoOfParam+1) ; (* destroy the arguments and function *) PushTFtok (ReturnVar, GetSType(ProcSym), resulttok) END BuildSizeFunction ; --- 10204,10221 ---- IF Type = NulSym THEN MetaErrorT1 (resulttok, ! 'cannot get the type and size of {%1Ead}', OperandT (1)) END ; GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, Type, TRUE) END ELSE resulttok := functok ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure {%kSIZE} expects a variable as its parameter, seen {%1Ed}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey('0'), Cardinal) END ; ! PopN (NoOfParam+1) ; (* Destroy the arguments and function. *) PushTFtok (ReturnVar, GetSType(ProcSym), resulttok) END BuildSizeFunction ; *************** BEGIN *** 10150,10156 **** GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, GetSType (OperandT (1)), FALSE) ELSE MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTSIZE} expects a variable as its first parameter, seen {%E1d}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END --- 10274,10280 ---- GenQuadO (resulttok, SizeOp, ReturnVar, NulSym, GetSType (OperandT (1)), FALSE) ELSE MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTSIZE} expects a variable as its first parameter, seen {%1Ed}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END *************** BEGIN *** 10173,10179 **** ELSE resulttok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTSIZE} expects the first parameter to be a record type, seen {%E1d}', Record) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END --- 10297,10303 ---- ELSE resulttok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTSIZE} expects the first parameter to be a record type, seen {%1d}', Record) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END *************** BEGIN *** 10237,10243 **** GenQuadO (resulttok, StandardFunctionOp, ReturnVar, ProcSym, OperandT(1), FALSE) ELSE MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTBITSIZE} expects a variable as its first parameter, seen {%E1d}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END --- 10361,10367 ---- GenQuadO (resulttok, StandardFunctionOp, ReturnVar, ProcSym, OperandT(1), FALSE) ELSE MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTBITSIZE} expects a variable as its first parameter, seen {%1d}', OperandT (1)) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END *************** BEGIN *** 10260,10266 **** ELSE resulttok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTBITSIZE} expects the first parameter to be a record type, seen {%E1d}', Record) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END --- 10384,10390 ---- ELSE resulttok := MakeVirtualTok (functok, functok, paramtok) ; MetaErrorT1 (resulttok, ! '{%E}SYSTEM procedure function {%kTBITSIZE} expects the first parameter to be a record type, seen {%1d}', Record) ; ReturnVar := MakeConstLit (resulttok, MakeKey ('0'), Cardinal) END *************** END BuildProcedureEnd ; *** 10487,10558 **** (* - CheckReadBeforeInitialized - - *) - - PROCEDURE CheckReadBeforeInitialized (ProcSym: CARDINAL; End: CARDINAL) ; - VAR - s1, s2 : String ; - i, n, ParamNo, - ReadStart, ReadEnd, - WriteStart, WriteEnd: CARDINAL ; - BEGIN - ParamNo := NoOfParam(ProcSym) ; - i := 1 ; - REPEAT - n := GetNth(ProcSym, i) ; - IF (n#NulSym) AND (NOT IsTemporary(n)) - THEN - GetReadQuads(n, RightValue, ReadStart, ReadEnd) ; - GetWriteQuads(n, RightValue, WriteStart, WriteEnd) ; - IF i>ParamNo - THEN - (* n is a not a parameter thus we can check *) - IF (ReadStart>0) AND (ReadStart') ELSE ! n := GetSymName(Sym) ; ! printf1('%a', n) ; ! IF IsVar(Sym) OR IsConst(Sym) THEN ! printf0('[') ; WriteMode(GetMode(Sym)) ; printf0(']') END ; ! printf1('(%d)', Sym) END END WriteOperand ; --- 13569,13585 ---- VAR n: Name ; BEGIN ! IF Sym = NulSym THEN ! printf0 ('') ELSE ! n := GetSymName (Sym) ; ! printf1 ('%a', n) ; ! IF IsVar (Sym) OR IsConst (Sym) THEN ! printf0 ('[') ; WriteMode (GetMode (Sym)) ; printf0(']') END ; ! printf1 ('(%d)', Sym) END END WriteOperand ; *************** BEGIN *** 13623,13629 **** LogicalOrOp : RETURN InitString ('{%kOR}') | LogicalAndOp: RETURN InitString ('{%kAND}') | InclOp : RETURN InitString ('{%kINCL}') | ! ExclOp : RETURN InitString ('{%kEXCL}') ELSE RETURN NIL --- 13639,13653 ---- LogicalOrOp : RETURN InitString ('{%kOR}') | LogicalAndOp: RETURN InitString ('{%kAND}') | InclOp : RETURN InitString ('{%kINCL}') | ! ExclOp : RETURN InitString ('{%kEXCL}') | ! IfEquOp : RETURN InitString ('=') | ! IfLessEquOp : RETURN InitString ('<=') | ! IfGreEquOp : RETURN InitString ('>=') | ! IfGreOp : RETURN InitString ('>') | ! IfLessOp : RETURN InitString ('<') | ! IfNotEquOp : RETURN InitString ('#') | ! IfInOp : RETURN InitString ('IN') | ! IfNotInOp : RETURN InitString ('NOT IN') ELSE RETURN NIL *************** END BuildOptimizeOn ; *** 13972,14005 **** PROCEDURE BuildOptimizeOff ; BEGIN ! GenQuad(OptimizeOffOp, NulSym, NulSym, NulSym) END BuildOptimizeOff ; (* ! BuildInline - builds an Inline pseudo quadruple operator. ! The inline interface, Sym, is stored as the operand ! to the operator InlineOp. ! The stack is expected to contain: Entry Exit ===== ==== ! Ptr -> ! +--------------+ ! | Sym | Empty ! |--------------| *) ! PROCEDURE BuildInline ; VAR Sym: CARDINAL ; BEGIN ! PopT(Sym) ; ! GenQuad(InlineOp, NulSym, NulSym, Sym) ! END BuildInline ; (* --- 13996,14029 ---- PROCEDURE BuildOptimizeOff ; BEGIN ! GenQuad (OptimizeOffOp, NulSym, NulSym, NulSym) END BuildOptimizeOff ; (* ! BuildAsm - builds an Inline pseudo quadruple operator. ! The inline interface, Sym, is stored as the operand ! to the operator InlineOp. ! The stack is expected to contain: Entry Exit ===== ==== ! Ptr -> ! +--------------+ ! | Sym | Empty ! |--------------| *) ! PROCEDURE BuildAsm (tok: CARDINAL) ; VAR Sym: CARDINAL ; BEGIN ! PopT (Sym) ; ! GenQuadO (tok, InlineOp, NulSym, NulSym, Sym, FALSE) ! END BuildAsm ; (* *************** VAR *** 14024,14034 **** BEGIN IF (NextQuad#Head) AND (GenerateLineDebug OR GenerateDebugging) AND FALSE THEN ! filename := makekey(string(GetFileName())) ; ! f := GetQF(NextQuad-1) ; ! IF NOT ((f^.Operator=LineNumberOp) AND (f^.Operand1=WORD(filename))) THEN ! GenQuad(LineNumberOp, WORD(filename), NulSym, WORD(GetLineNo())) END END END BuildLineNo ; --- 14048,14058 ---- BEGIN IF (NextQuad#Head) AND (GenerateLineDebug OR GenerateDebugging) AND FALSE THEN ! filename := makekey (string (GetFileName ())) ; ! f := GetQF (NextQuad-1) ; ! IF NOT ((f^.Operator = LineNumberOp) AND (f^.Operand1 = WORD (filename))) THEN ! GenQuad (LineNumberOp, WORD (filename), NulSym, WORD (GetLineNo ())) END END END BuildLineNo ; *************** VAR *** 14043,14056 **** f: QuadFrame ; BEGIN WITH l^ DO ! f := GetQF(NextQuad-1) ; ! IF (f^.Operator=LineNumberOp) AND (f^.Operand1=WORD(File)) THEN (* do nothing *) ELSE IF FALSE THEN ! GenQuad(LineNumberOp, WORD(File), NulSym, WORD(Line)) END END ; Next := FreeLineList --- 14067,14080 ---- f: QuadFrame ; BEGIN WITH l^ DO ! f := GetQF (NextQuad-1) ; ! IF (f^.Operator = LineNumberOp) AND (f^.Operand1 = WORD (File)) THEN (* do nothing *) ELSE IF FALSE THEN ! GenQuad (LineNumberOp, WORD (File), NulSym, WORD (Line)) END END ; Next := FreeLineList *************** BEGIN *** 14288,14294 **** Assert(IsRecord(r) OR IsFieldVarient(r)) ; v := GetRecordOrField() ; Assert(IsVarient(v)) ; ! BuildRange(InitCaseBounds(PushCase(r, v))) END BeginVarient ; --- 14312,14318 ---- Assert(IsRecord(r) OR IsFieldVarient(r)) ; v := GetRecordOrField() ; Assert(IsVarient(v)) ; ! BuildRange(InitCaseBounds(PushCase(r, v, NulSym))) END BeginVarient ; *************** END AddVarientEquality ; *** 14374,14379 **** --- 14398,14516 ---- (* + BuildAsmElement - the stack is expected to contain: + + + Entry Exit + ===== ==== + + Ptr -> + +------------------+ + | expr | tokpos | + |------------------| + | str | + |------------------| + | name | + |------------------| +------------------+ + | CurrentInterface | | CurrentInterface | + |------------------| |------------------| + | CurrentAsm | | CurrentAsm | + |------------------| |------------------| + | n | | n | + |------------------| |------------------| + *) + + PROCEDURE BuildAsmElement (input, output: BOOLEAN) ; + CONST + DebugAsmTokPos = FALSE ; + VAR + s : String ; + n, str, expr, tokpos, + CurrentInterface, + CurrentAsm, name : CARDINAL ; + BEGIN + PopTtok (expr, tokpos) ; + PopT (str) ; + PopT (name) ; + PopT (CurrentInterface) ; + PopT (CurrentAsm) ; + Assert (IsGnuAsm (CurrentAsm) OR IsGnuAsmVolatile (CurrentAsm)) ; + PopT (n) ; + INC (n) ; + IF CurrentInterface = NulSym + THEN + CurrentInterface := MakeRegInterface () + END ; + IF input + THEN + PutRegInterface (tokpos, CurrentInterface, n, name, str, expr, + NextQuad, 0) ; + IF DebugAsmTokPos + THEN + s := InitString ('input expression') ; + WarnStringAt (s, tokpos) + END + END ; + IF output + THEN + PutRegInterface (tokpos, CurrentInterface, n, name, str, expr, + 0, NextQuad) ; + IF DebugAsmTokPos + THEN + s := InitString ('output expression') ; + WarnStringAt (s, tokpos) + END + END ; + PushT (n) ; + PushT (CurrentAsm) ; + PushT (CurrentInterface) + END BuildAsmElement ; + + + (* + BuildAsmTrash - the stack is expected to contain: + + + Entry Exit + ===== ==== + + Ptr -> + +------------------+ + | expr | tokpos | + |------------------| +------------------+ + | CurrentInterface | | CurrentInterface | + |------------------| |------------------| + | CurrentAsm | | CurrentAsm | + |------------------| |------------------| + | n | | n | + |------------------| |------------------| + *) + + PROCEDURE BuildAsmTrash ; + VAR + n, expr, tokpos, + CurrentInterface, + CurrentAsm : CARDINAL ; + BEGIN + PopTtok (expr, tokpos) ; + PopT (CurrentInterface) ; + PopT (CurrentAsm) ; + Assert (IsGnuAsm (CurrentAsm) OR IsGnuAsmVolatile (CurrentAsm)) ; + PopT (n) ; + INC (n) ; + IF CurrentInterface = NulSym + THEN + CurrentInterface := MakeRegInterface () + END ; + PutRegInterface (tokpos, CurrentInterface, n, NulName, NulSym, expr, + 0, NextQuad) ; + PushT (n) ; + PushT (CurrentAsm) ; + PushT (CurrentInterface) + END BuildAsmTrash ; + + + (* IncOperandD - increment the dimension number associated with symbol at, pos, on the boolean stack. *) *************** BEGIN *** 15120,15125 **** --- 15257,15263 ---- LogicalAndTok := MakeKey('_LAND') ; LogicalXorTok := MakeKey('_LXOR') ; LogicalDifferenceTok := MakeKey('_LDIFF') ; + ArithPlusTok := MakeKey ('_ARITH_+') ; QuadArray := InitIndex (1) ; FreeList := 1 ; NewQuad(NextQuad) ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Range.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Range.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Range.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Range.mod Tue May 21 07:47:38 2024 *************** FROM M2Debug IMPORT Assert ; *** 56,62 **** FROM Indexing IMPORT Index, InitIndex, InBounds, PutIndice, GetIndice ; FROM Storage IMPORT ALLOCATE ; FROM M2ALU IMPORT PushIntegerTree, PushInt, ConvertToInt, Equ, Gre, Less, GreEqu ; ! FROM M2Options IMPORT VariantValueChecking ; FROM M2Error IMPORT Error, InternalError, ErrorFormat0, ErrorFormat1, ErrorFormat2, FlushErrors, GetAnnounceScope ; --- 56,62 ---- FROM Indexing IMPORT Index, InitIndex, InBounds, PutIndice, GetIndice ; FROM Storage IMPORT ALLOCATE ; FROM M2ALU IMPORT PushIntegerTree, PushInt, ConvertToInt, Equ, Gre, Less, GreEqu ; ! FROM M2Options IMPORT VariantValueChecking, CaseEnumChecking ; FROM M2Error IMPORT Error, InternalError, ErrorFormat0, ErrorFormat1, ErrorFormat2, FlushErrors, GetAnnounceScope ; *************** FROM M2Base IMPORT Nil, IsRealType, GetB *** 103,110 **** ExceptionParameterBounds, ExceptionNo ; ! FROM M2CaseList IMPORT CaseBoundsResolved, OverlappingCaseBounds, WriteCase, MissingCaseBounds, TypeCaseBounds ; ! TYPE TypeOfRange = (assignment, returnassignment, subrangeassignment, --- 103,111 ---- ExceptionParameterBounds, ExceptionNo ; ! FROM M2CaseList IMPORT CaseBoundsResolved, OverlappingCaseBounds, ! WriteCase, MissingCaseBounds, TypeCaseBounds, ! MissingCaseStatementBounds ; TYPE TypeOfRange = (assignment, returnassignment, subrangeassignment, *************** END FoldDynamicArraySubscript ; *** 1915,1926 **** PROCEDURE FoldCaseBounds (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; VAR ! p: Range ; BEGIN p := GetIndice(RangeIndex, r) ; WITH p^ DO IF CaseBoundsResolved(tokenno, caseList) THEN IF TypeCaseBounds (caseList) THEN (* nothing to do *) --- 1916,1929 ---- PROCEDURE FoldCaseBounds (tokenno: CARDINAL; q: CARDINAL; r: CARDINAL) ; VAR ! p : Range ; ! errorGenerated: BOOLEAN ; BEGIN p := GetIndice(RangeIndex, r) ; WITH p^ DO IF CaseBoundsResolved(tokenno, caseList) THEN + errorGenerated := FALSE ; IF TypeCaseBounds (caseList) THEN (* nothing to do *) *************** BEGIN *** 1928,1941 **** IF OverlappingCaseBounds(caseList) THEN PutQuad(q, ErrorOp, NulSym, NulSym, r) ; ! IF VariantValueChecking AND MissingCaseBounds(tokenno, caseList) THEN ! (* nothing to do *) END ! ELSIF VariantValueChecking AND MissingCaseBounds(tokenno, caseList) THEN - PutQuad(q, ErrorOp, NulSym, NulSym, r) - ELSE SubQuad(q) END END --- 1931,1956 ---- IF OverlappingCaseBounds(caseList) THEN PutQuad(q, ErrorOp, NulSym, NulSym, r) ; ! errorGenerated := TRUE ! END ; ! IF VariantValueChecking AND MissingCaseBounds(tokenno, caseList) ! THEN ! IF NOT errorGenerated THEN ! PutQuad(q, ErrorOp, NulSym, NulSym, r) ; ! errorGenerated := TRUE END ! END ; ! IF CaseEnumChecking AND MissingCaseStatementBounds (tokenno, caseList) ! THEN ! IF NOT errorGenerated ! THEN ! PutQuad(q, ErrorOp, NulSym, NulSym, r) ; ! errorGenerated := TRUE ! END ! END ; ! IF NOT errorGenerated THEN SubQuad(q) END END *************** BEGIN *** 1966,1971 **** --- 1981,1990 ---- IF MissingCaseBounds (tokenno, caseList) THEN (* nothing to do *) + END ; + IF CaseEnumChecking AND MissingCaseStatementBounds (tokenno, caseList) + THEN + (* nothing to do *) END ELSE MetaErrorT0 (tokenno, '{%E}the CASE statement ranges must be constants') diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Scope.def gcc-13.3.0/gcc/m2/gm2-compiler/M2Scope.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Scope.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Scope.def Tue May 21 07:47:38 2024 *************** EXPORT QUALIFIED ScopeBlock, ScopeProced *** 37,43 **** TYPE ScopeBlock ; ! ScopeProcedure = PROCEDURE (CARDINAL, CARDINAL) ; (* --- 37,43 ---- TYPE ScopeBlock ; ! ScopeProcedure = PROCEDURE (CARDINAL, CARDINAL, CARDINAL) ; (* diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2Scope.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2Scope.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2Scope.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2Scope.mod Tue May 21 07:47:38 2024 *************** BEGIN *** 349,355 **** END ; printf0 ("\n") ; ! DisplayQuadRange (low, high) ; IF next#NIL THEN DisplayScope (next) --- 349,355 ---- END ; printf0 ("\n") ; ! DisplayQuadRange (scopeSym, low, high) ; IF next#NIL THEN DisplayScope (next) *************** BEGIN *** 428,434 **** enter (sb) ; IF (low # 0) AND (high # 0) THEN ! p (low, high) END ; leave (sb) END ; --- 428,434 ---- enter (sb) ; IF (low # 0) AND (high # 0) THEN ! p (scopeSym, low, high) END ; leave (sb) END ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2SymInit.def gcc-13.3.0/gcc/m2/gm2-compiler/M2SymInit.def *** gcc-13.2.0/gcc/m2/gm2-compiler/M2SymInit.def Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2SymInit.def Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,58 ---- + (* M2SymInit.def records initialization state for variables. + + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Gaius Mulley . + + This file is part of GNU Modula-2. + + GNU Modula-2 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. + + GNU Modula-2 is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Modula-2; see the file COPYING3. If not see + . *) + + DEFINITION MODULE M2SymInit ; + + FROM Lists IMPORT List ; + + TYPE + InitDesc ; + + + PROCEDURE InitSymInit () : InitDesc ; + PROCEDURE KillSymInit (VAR desc: InitDesc) ; + + + PROCEDURE ConfigSymInit (desc: InitDesc; sym: CARDINAL) ; + + + PROCEDURE SetInitialized (desc: InitDesc) ; + PROCEDURE GetInitialized (desc: InitDesc) : BOOLEAN ; + + + PROCEDURE GetFieldDesc (desc: InitDesc; field: CARDINAL) : InitDesc ; + + PROCEDURE SetFieldInitialized (desc: InitDesc; fieldlist: List) : BOOLEAN ; + PROCEDURE GetFieldInitialized (desc: InitDesc; fieldlist: List) : BOOLEAN ; + + + (* + ScopeBlockVariableAnalysis - checks to see whether a variable is + read before it has been initialized. + *) + + PROCEDURE ScopeBlockVariableAnalysis (Scope: CARDINAL; Start, End: CARDINAL) ; + + + PROCEDURE PrintSymInit (desc: InitDesc) ; + + + END M2SymInit. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/M2SymInit.mod gcc-13.3.0/gcc/m2/gm2-compiler/M2SymInit.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/M2SymInit.mod Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/gm2-compiler/M2SymInit.mod Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,2183 ---- + (* M2SymInit.mod records initialization state for variables. + + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Gaius Mulley . + + This file is part of GNU Modula-2. + + GNU Modula-2 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. + + GNU Modula-2 is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Modula-2; see the file COPYING3. If not see + . *) + + IMPLEMENTATION MODULE M2SymInit ; + + FROM Storage IMPORT ALLOCATE, DEALLOCATE ; + FROM M2Debug IMPORT Assert ; + FROM M2Printf IMPORT printf0, printf1, printf2, printf3, printf4 ; + FROM libc IMPORT printf ; + FROM NameKey IMPORT Name, NulName, KeyToCharStar, MakeKey ; + FROM M2Base IMPORT Nil ; + + FROM M2Options IMPORT UninitVariableChecking, UninitVariableConditionalChecking, + CompilerDebugging ; + + FROM M2MetaError IMPORT MetaErrorT1, MetaErrorStringT1, MetaErrorStringT2 ; + FROM M2LexBuf IMPORT UnknownTokenNo ; + FROM DynamicStrings IMPORT String, InitString, Mark, ConCat, InitString ; + FROM M2Error IMPORT InternalError ; + + FROM M2BasicBlock IMPORT BasicBlock, + InitBasicBlocks, InitBasicBlocksFromRange, + KillBasicBlocks, FreeBasicBlocks, + ForeachBasicBlockDo ; + + IMPORT Indexing ; + FROM Indexing IMPORT Index ; + + FROM Lists IMPORT List, InitList, GetItemFromList, PutItemIntoList, + IsItemInList, IncludeItemIntoList, NoOfItemsInList, + RemoveItemFromList, ForeachItemInListDo, KillList, DuplicateList ; + + FROM SymbolTable IMPORT NulSym, ModeOfAddr, IsVar, IsRecord, GetSType, + GetNth, IsRecordField, IsSet, IsArray, IsProcedure, + GetVarScope, IsVarAParam, IsComponent, GetMode, + VarCheckReadInit, VarInitState, PutVarInitialized, + PutVarFieldInitialized, GetVarFieldInitialized, + IsConst, IsConstString, NoOfParam, IsVarParam, + ForeachLocalSymDo, ForeachParamSymDo, + IsTemporary, ModeOfAddr, + IsReallyPointer, IsUnbounded, + IsVarient, IsFieldVarient, GetVarient, + IsVarArrayRef, GetSymName, + IsType, IsPointer, + GetParameterShadowVar, IsParameter, GetLType, + GetParameterHeapVar ; + + FROM M2Quads IMPORT QuadOperator, GetQuadOtok, GetQuad, GetNextQuad, + IsNewLocalVar, IsReturn, IsKillLocalVar, IsConditional, + IsUnConditional, IsBackReference, IsCall, IsGoto, + GetM2OperatorDesc, Opposite, DisplayQuadRange, + GetQuadTrash ; + + FROM M2Printf IMPORT printf0, printf1, printf2 ; + FROM M2GCCDeclare IMPORT PrintSym ; + + + CONST + Debugging = FALSE ; + + TYPE + descType = (scalar, record) ; + + InitDesc = POINTER TO RECORD + sym, type : CARDINAL ; + initialized: BOOLEAN ; + CASE kind: descType OF + + scalar: | + record: rec: recordDesc | + + END + END ; + + recordDesc = RECORD + fieldDesc: Indexing.Index ; + END ; + + symAlias = POINTER TO RECORD + keySym, + alias : CARDINAL ; + next : symAlias ; + END ; + + bbEntry = POINTER TO RECORD + start, end: CARDINAL ; + (* Is this the first bb? *) + first, + (* Does it end with a call? *) + endCall, + (* Does it end with a goto? *) + endGoto, + (* Does it end with a conditional? *) + endCond, + (* Does it form part of a loop? *) + topOfLoop : BOOLEAN ; + trashQuad, + indexBB, + nextQuad, + condQuad, + nextBB, + condBB : CARDINAL ; + next : bbEntry ; + END ; + + VAR + IndirectArray, + LArray : Indexing.Index ; + freeList : symAlias ; + bbArray : Indexing.Index ; + bbFreeList : bbEntry ; + ignoreList, + errorList : List ; (* Ensure that we only generate one set of warnings per token. *) + + + (* + PrintSymInit - + *) + + PROCEDURE PrintSymInit (desc: InitDesc) ; + VAR + i, n: CARDINAL ; + BEGIN + printf ("sym %d: type %d ", desc^.sym, desc^.type) ; + IF desc^.kind = scalar + THEN + printf ("scalar") + ELSE + printf ("record") + END ; + IF NOT desc^.initialized + THEN + printf (" not") + END ; + printf (" initialized\n") ; + IF (desc^.type # NulSym) AND IsRecord (desc^.type) + THEN + i := 1 ; + n := Indexing.HighIndice (desc^.rec.fieldDesc) ; + WHILE i <= n DO + PrintSymInit (Indexing.GetIndice (desc^.rec.fieldDesc, i)) ; + INC (i) + END + END + END PrintSymInit ; + + + PROCEDURE InitSymInit () : InitDesc ; + VAR + id: InitDesc ; + BEGIN + NEW (id) ; + WITH id^ DO + sym := NulSym ; + type := NulSym ; + initialized := TRUE ; + kind := scalar + END ; + RETURN id + END InitSymInit ; + + + PROCEDURE KillSymInit (VAR desc: InitDesc) ; + BEGIN + WITH desc^ DO + CASE kind OF + + record: KillFieldDesc (rec.fieldDesc) + + ELSE + END + END ; + DISPOSE (desc) ; + desc := NIL + END KillSymInit ; + + + PROCEDURE ConfigSymInit (desc: InitDesc; sym: CARDINAL) ; + BEGIN + IF IsVar (sym) OR IsRecordField (sym) + THEN + desc^.sym := sym ; + desc^.type := GetSType (sym) ; + desc^.initialized := FALSE ; + IF IsRecord (desc^.type) + THEN + desc^.kind := record ; + desc^.rec.fieldDesc := Indexing.InitIndex (1) ; + PopulateFields (desc, desc^.type) + ELSE + desc^.kind := scalar ; + IF IsArray (desc^.type) + THEN + desc^.initialized := TRUE (* For now we don't attempt to handle array types. *) + END + END + END + END ConfigSymInit ; + + + (* + KillFieldDesc - + *) + + PROCEDURE KillFieldDesc (VAR fielddesc: Indexing.Index) ; + VAR + i, h: CARDINAL ; + id : InitDesc ; + BEGIN + i := 1 ; + h := Indexing.HighIndice (fielddesc) ; + WHILE i <= h DO + id := Indexing.GetIndice (fielddesc, i) ; + KillSymInit (id) ; + INC (i) + END ; + fielddesc := Indexing.KillIndex (fielddesc) + END KillFieldDesc ; + + + (* + PopulateFields - + *) + + PROCEDURE PopulateFields (desc: InitDesc; recsym: CARDINAL) ; + VAR + field, + i : CARDINAL ; + fdesc: InitDesc ; + BEGIN + Assert (IsRecord (recsym)) ; + i := 1 ; + REPEAT + field := GetNth (recsym, i) ; + IF field # NulSym + THEN + fdesc := InitSymInit () ; + ConfigSymInit (fdesc, field) ; + Indexing.IncludeIndiceIntoIndex (desc^.rec.fieldDesc, fdesc) ; + INC (i) + END + UNTIL field = NulSym + END PopulateFields ; + + + PROCEDURE SetInitialized (desc: InitDesc) ; + BEGIN + desc^.initialized := TRUE + END SetInitialized ; + + + PROCEDURE GetInitialized (desc: InitDesc) : BOOLEAN ; + BEGIN + IF NOT desc^.initialized + THEN + IF IsRecord (desc^.type) + THEN + TrySetInitialized (desc) + END + END ; + IF Debugging + THEN + PrintSymInit (desc) + END ; + RETURN desc^.initialized + END GetInitialized ; + + + PROCEDURE GetFieldDesc (desc: InitDesc; field: CARDINAL) : InitDesc ; + VAR + fsym, + i : CARDINAL ; + BEGIN + IF IsRecord (desc^.type) + THEN + i := 1 ; + REPEAT + fsym := GetNth (desc^.type, i) ; + IF field = fsym + THEN + RETURN Indexing.GetIndice (desc^.rec.fieldDesc, i) + END ; + INC (i) + UNTIL fsym = NulSym + END ; + RETURN NIL + END GetFieldDesc ; + + + PROCEDURE SetFieldInitialized (desc: InitDesc; fieldlist: List) : BOOLEAN ; + BEGIN + RETURN SetFieldInitializedNo (desc, fieldlist, 1) + END SetFieldInitialized ; + + + (* + TrySetInitialized - + *) + + PROCEDURE TrySetInitialized (desc: InitDesc) ; + VAR + i, h : CARDINAL ; + fdesc: InitDesc ; + BEGIN + h := Indexing.HighIndice (desc^.rec.fieldDesc) ; + i := 1 ; + WHILE i <= h DO + fdesc := Indexing.GetIndice (desc^.rec.fieldDesc, i) ; + IF NOT fdesc^.initialized + THEN + RETURN + END ; + INC (i) + END ; + desc^.initialized := TRUE + END TrySetInitialized ; + + + (* + SetFieldInitializedNo - + *) + + PROCEDURE SetFieldInitializedNo (desc: InitDesc; + fieldlist: List; level: CARDINAL) : BOOLEAN ; + VAR + init : BOOLEAN ; + nsym : CARDINAL ; + fdesc: InitDesc ; + BEGIN + IF level > NoOfItemsInList (fieldlist) + THEN + RETURN FALSE + ELSE + nsym := GetItemFromList (fieldlist, level) ; + fdesc := GetFieldDesc (desc, nsym) ; + IF fdesc = NIL + THEN + RETURN FALSE + ELSIF level = NoOfItemsInList (fieldlist) + THEN + SetInitialized (fdesc) ; + TrySetInitialized (desc) ; + RETURN desc^.initialized + ELSE + init := SetFieldInitializedNo (fdesc, fieldlist, level + 1) ; + TrySetInitialized (desc) ; + RETURN desc^.initialized + END + END + END SetFieldInitializedNo ; + + + PROCEDURE GetFieldInitialized (desc: InitDesc; fieldlist: List) : BOOLEAN ; + BEGIN + RETURN GetFieldInitializedNo (desc, fieldlist, 1) + END GetFieldInitialized ; + + + PROCEDURE GetFieldInitializedNo (desc: InitDesc; + fieldlist: List; level: CARDINAL) : BOOLEAN ; + VAR + nsym : CARDINAL ; + fdesc: InitDesc ; + BEGIN + IF desc^.initialized + THEN + RETURN TRUE + ELSIF level > NoOfItemsInList (fieldlist) + THEN + RETURN FALSE + ELSE + nsym := GetItemFromList (fieldlist, level) ; + fdesc := GetFieldDesc (desc, nsym) ; + IF fdesc = NIL + THEN + (* The pointer variable maybe uninitialized and hence we cannot + find the record variable. *) + RETURN FALSE + ELSIF fdesc^.initialized + THEN + RETURN TRUE + ELSE + RETURN GetFieldInitializedNo (fdesc, fieldlist, level + 1) + END + END + END GetFieldInitializedNo ; + + + (* + IsGlobalVar - + *) + + PROCEDURE IsGlobalVar (sym: CARDINAL) : BOOLEAN ; + BEGIN + RETURN IsVar (sym) AND (NOT IsProcedure (GetVarScope (sym))) + END IsGlobalVar ; + + + (* + IsLocalVar - + *) + + PROCEDURE IsLocalVar (procsym, varsym: CARDINAL) : BOOLEAN ; + BEGIN + RETURN IsVar (varsym) AND (GetVarScope (varsym) = procsym) + END IsLocalVar ; + + + (* + RecordFieldContainsVarient - + *) + + PROCEDURE RecordFieldContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + Assert (IsRecordField (sym)) ; + IF doContainsVariant (GetSType (sym), visited) + THEN + RETURN TRUE + END ; + RETURN GetVarient (sym) # NulSym + END RecordFieldContainsVarient ; + + + (* + RecordContainsVarient - + *) + + PROCEDURE RecordContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + VAR + i, + fieldsym, + fieldtype: CARDINAL ; + BEGIN + Assert (IsRecord (sym)) ; + i := 1 ; + REPEAT + fieldsym := GetNth (sym, i) ; + IF fieldsym # NulSym + THEN + IF IsRecordField (fieldsym) + THEN + IF RecordFieldContainsVarient (fieldsym, visited) + THEN + RETURN TRUE + END + ELSIF IsVarient (fieldsym) + THEN + RETURN TRUE + END ; + INC (i) + END + UNTIL fieldsym = NulSym ; + RETURN FALSE + END RecordContainsVarient ; + + + (* + VarContainsVarient - + *) + + PROCEDURE VarContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + Assert (IsVar (sym)) ; + RETURN doContainsVariant (GetSType (sym), visited) + END VarContainsVarient ; + + + (* + TypeContainsVarient - + *) + + PROCEDURE TypeContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + Assert (IsType (sym)) ; + RETURN doContainsVariant (GetSType (sym), visited) + END TypeContainsVarient ; + + + (* + ArrayContainsVarient - + *) + + PROCEDURE ArrayContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + Assert (IsArray (sym)) ; + RETURN doContainsVariant (GetSType (sym), visited) + END ArrayContainsVarient ; + + + (* + PointerContainsVarient - + *) + + PROCEDURE PointerContainsVarient (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + Assert (IsPointer (sym)) ; + RETURN doContainsVariant (GetSType (sym), visited) + END PointerContainsVarient ; + + + (* + doContainsVariant - + *) + + PROCEDURE doContainsVariant (sym: CARDINAL; visited: List) : BOOLEAN ; + BEGIN + IF (sym # NulSym) AND (NOT IsItemInList (visited, sym)) + THEN + IncludeItemIntoList (visited, sym) ; + IF IsVar (sym) + THEN + RETURN VarContainsVarient (sym, visited) + ELSIF IsRecord (sym) + THEN + RETURN RecordContainsVarient (sym, visited) + ELSIF IsPointer (sym) + THEN + RETURN PointerContainsVarient (sym, visited) + ELSIF IsArray (sym) + THEN + RETURN ArrayContainsVarient (sym, visited) + ELSIF IsType (sym) + THEN + RETURN TypeContainsVarient (sym, visited) + END + END ; + RETURN FALSE + END doContainsVariant ; + + + (* + ContainsVariant - returns TRUE if type sym contains a variant record. + *) + + PROCEDURE ContainsVariant (sym: CARDINAL) : BOOLEAN ; + VAR + visited: List ; + result : BOOLEAN ; + BEGIN + InitList (visited) ; + result := doContainsVariant (sym, visited) ; + KillList (visited) ; + RETURN result + END ContainsVariant ; + + + (* + IssueConditional - + *) + + PROCEDURE IssueConditional (quad: CARDINAL; conditional: BOOLEAN) ; + VAR + op : QuadOperator ; + op1, op2, op3 : CARDINAL ; + op1tok, op2tok, op3tok, qtok: CARDINAL ; + overflowChecking : BOOLEAN ; + s : String ; + BEGIN + GetQuadOtok (quad, qtok, op, op1, op2, op3, overflowChecking, + op1tok, op2tok, op3tok) ; + IF IsUniqueWarning (qtok) + THEN + op1tok := DefaultTokPos (op1tok, qtok) ; + op2tok := DefaultTokPos (op2tok, qtok) ; + op3tok := DefaultTokPos (op3tok, qtok) ; + IF NOT conditional + THEN + op := Opposite (op) + END ; + s := InitString ('depending upon the result of {%1Oad} ') ; + s := ConCat (s, Mark (GetM2OperatorDesc (op))) ; + s := ConCat (s, InitString (' {%2ad}')) ; + MetaErrorStringT2 (qtok, s, op1, op2) + END + END IssueConditional ; + + + (* + GenerateNoteFlow - + *) + + PROCEDURE GenerateNoteFlow (lst: List; n: CARDINAL; warning: BOOLEAN) ; + VAR + i : CARDINAL ; + ip1Ptr, + iPtr : bbEntry ; + BEGIN + IF NOT warning + THEN + (* Only issue flow messages for non warnings. *) + i := 1 ; + WHILE i <= n DO + iPtr := Indexing.GetIndice (bbArray, i) ; + IF iPtr^.endCond + THEN + IF i < n + THEN + ip1Ptr := Indexing.GetIndice (bbArray, i+1) ; + IssueConditional (iPtr^.end, iPtr^.condBB = ip1Ptr^.indexBB) + END + END ; + INC (i) + END + END + END GenerateNoteFlow ; + + + (* + IssueWarning - issue a warning or note at tok location. + *) + + PROCEDURE IssueWarning (tok: CARDINAL; + before, after: ARRAY OF CHAR; + sym: CARDINAL; warning: BOOLEAN) ; + VAR + s: String ; + BEGIN + s := InitString (before) ; + IF warning + THEN + s := ConCat (s, Mark (InitString ('{%1Wad}'))) + ELSE + s := ConCat (s, Mark (InitString ('{%1Oad}'))) + END ; + s := ConCat (s, Mark (InitString (after))) ; + MetaErrorStringT1 (tok, s, sym) + END IssueWarning ; + + + (* + IsUniqueWarning - return TRUE if a warning has not been issued at tok. + It remembers tok and subsequent calls will always return FALSE. + *) + + PROCEDURE IsUniqueWarning (tok: CARDINAL) : BOOLEAN ; + BEGIN + IF NOT IsItemInList (errorList, tok) + THEN + IncludeItemIntoList (errorList, tok) ; + RETURN TRUE + ELSE + RETURN FALSE + END + END IsUniqueWarning ; + + + (* + CheckDeferredRecordAccess - + *) + + PROCEDURE CheckDeferredRecordAccess (procsym: CARDINAL; tok: CARDINAL; + sym: CARDINAL; + canDereference, warning: BOOLEAN; + lst: List; i: CARDINAL) ; + VAR + unique: BOOLEAN ; + BEGIN + IF IsVar (sym) + THEN + IF Debugging + THEN + Trace ("CheckDeferredRecordAccess %d\n", sym) ; + PrintSym (sym) ; + IF canDereference + THEN + printf1 ("checkReadInit (%d, true)\n", sym) + ELSE + printf1 ("checkReadInit (%d, false)\n", sym) + END + END ; + IF IsExempt (sym) + THEN + Trace ("checkReadInit sym is a parameter or not a local variable (%d)", sym) ; + (* We assume parameters have been initialized. *) + PutVarInitialized (sym, LeftValue) ; + PutVarInitialized (sym, RightValue) + (* SetVarInitialized (sym, TRUE) *) + ELSIF IsUnbounded (GetSType (sym)) + THEN + SetVarInitialized (sym, TRUE, tok) + ELSIF IsComponent (sym) + THEN + Trace ("checkReadInit IsComponent (%d) is true)", sym) ; + IF (NOT GetVarComponentInitialized (sym, tok)) AND IsUniqueWarning (tok) + THEN + GenerateNoteFlow (lst, i, warning) ; + IssueWarning (tok, + 'attempting to access ', + ' before it has been initialized', + sym, warning) + END + ELSIF (GetMode (sym) = LeftValue) AND canDereference + THEN + Trace ("checkReadInit GetMode (%d) = LeftValue and canDereference (LeftValue and RightValue VarCheckReadInit)", sym) ; + unique := TRUE ; + IF NOT VarCheckReadInit (sym, LeftValue) + THEN + unique := IsUniqueWarning (tok) ; + IF unique + THEN + GenerateNoteFlow (lst, i, warning) ; + IssueWarning (tok, + 'attempting to access the address of ', + ' before it has been initialized', + sym, warning) + END + END ; + IF NOT VarCheckReadInit (sym, RightValue) + THEN + IF unique + THEN + GenerateNoteFlow (lst, i, warning) ; + IssueWarning (tok, + 'attempting to access ', ' before it has been initialized', + sym, warning) + END + END + ELSE + Trace ("checkReadInit call VarCheckReadInit using GetMode (%d)", sym) ; + IF (NOT VarCheckReadInit (sym, GetMode (sym))) AND IsUniqueWarning (tok) + THEN + GenerateNoteFlow (lst, i, warning) ; + IssueWarning (tok, + 'attempting to access ', + ' before it has been initialized', + sym, warning) + END + END + END + END CheckDeferredRecordAccess ; + + + (* + SetVarUninitialized - resets variable init state. + *) + + PROCEDURE SetVarUninitialized (sym: CARDINAL) ; + BEGIN + IF IsVar (sym) + THEN + IF NOT IsUnbounded (GetSType (sym)) + THEN + VarInitState (sym) + END + END + END SetVarUninitialized ; + + + (* + ComponentFindVar - + *) + + PROCEDURE ComponentFindVar (sym: CARDINAL; + VAR lvalue: BOOLEAN; + tok: CARDINAL) : CARDINAL ; + VAR + nsym, + i : CARDINAL ; + BEGIN + i := 1 ; + REPEAT + nsym := GetNth (sym, i) ; + lvalue := GetMode (nsym) = LeftValue ; + nsym := getLAlias (nsym) ; + IF nsym = Nil + THEN + MetaErrorT1 (tok, + "attempting to dereference {%1Wad} which will be a {%kNIL} pointer", + sym) ; + RETURN NulSym + ELSIF (nsym # NulSym) AND IsVar (nsym) + THEN + IF (nsym # sym) AND IsComponent (nsym) + THEN + RETURN ComponentFindVar (nsym, lvalue, tok) + ELSE + RETURN nsym + END + END ; + INC (i) + UNTIL nsym = NulSym ; + RETURN NulSym + END ComponentFindVar ; + + + (* + ComponentCreateFieldList - builds a list of fields accessed by the component var. + Each item in the list will be a field of incremental levels + though a nested record. It is not a list of fields + at the same level. + + foo = RECORD + v: RECORD + x, y: CARDINAL ; + END ; + w: CARDINAL ; + END ; + + { v, x } for example and not { v, w } + *) + + PROCEDURE ComponentCreateFieldList (sym: CARDINAL) : List ; + VAR + lst: List ; + BEGIN + InitList (lst) ; + IF IsVar (sym) AND IsComponent (sym) + THEN + ComponentBuildFieldList (lst, sym) + END ; + RETURN lst + END ComponentCreateFieldList ; + + + PROCEDURE ComponentBuildFieldList (lst: List; sym: CARDINAL) ; + VAR + i, nsym: CARDINAL ; + BEGIN + i := 1 ; + REPEAT + nsym := GetNth (sym, i) ; + IF nsym # NulSym + THEN + IF IsComponent (nsym) + THEN + ComponentBuildFieldList (lst, nsym) + ELSIF IsRecordField (nsym) + THEN + IncludeItemIntoList (lst, nsym) + END ; + INC (i) + END + UNTIL nsym = NulSym + END ComponentBuildFieldList ; + + + (* + deRefComponent - + *) + + PROCEDURE deRefComponent (component: CARDINAL; lvalue: BOOLEAN; + sym: CARDINAL; tok: CARDINAL) : CARDINAL ; + BEGIN + IF lvalue + THEN + RETURN getContent (component, sym, tok) + ELSE + RETURN component + END + END deRefComponent ; + + + (* + SetVarComponentInitialized - + *) + + PROCEDURE SetVarComponentInitialized (sym: CARDINAL; tok: CARDINAL) ; + VAR + lvalue: BOOLEAN ; + i, n, + fsym, + vsym : CARDINAL ; + lst : List ; + BEGIN + vsym := ComponentFindVar (sym, lvalue, tok) ; + vsym := deRefComponent (vsym, lvalue, sym, tok) ; + IF vsym # NulSym + THEN + IF Debugging + THEN + printf0 ("*************** vsym is: ") ; + PrintSym (vsym) + END ; + (* Build list accessing the field. *) + lst := ComponentCreateFieldList (sym) ; + IF Debugging + THEN + printf2 ("sym = %d, vsym = %d, fields:", sym, vsym) + END ; + (* Now mark this field in the record variable as initialized. *) + IF PutVarFieldInitialized (vsym, RightValue, lst) + THEN + IF Debugging + THEN + i := 1 ; + n := NoOfItemsInList (lst) ; + WHILE i <= n DO + fsym := GetItemFromList (lst, i) ; + printf1 (" %d", fsym) ; + INC (i) + END ; + printf0 (" is initialized\n") + END + ELSIF Debugging + THEN + printf0 (" vsym is not a var\n") + END ; + KillList (lst) + END + END SetVarComponentInitialized ; + + + (* + GetVarComponentInitialized - + *) + + PROCEDURE GetVarComponentInitialized (sym: CARDINAL; tok: CARDINAL) : BOOLEAN ; + VAR + lvalue, + init : BOOLEAN ; + component, + vsym : CARDINAL ; + lst : List ; + BEGIN + component := ComponentFindVar (sym, lvalue, tok) ; + IF IsItemInList (ignoreList, component) OR IsExempt (component) + THEN + RETURN TRUE + ELSE + init := FALSE ; + vsym := deRefComponent (component, lvalue, sym, tok) ; + IF vsym # NulSym + THEN + IF IsExempt (vsym) + THEN + init := TRUE + ELSE + (* Create list representing how the field is accessed. *) + lst := ComponentCreateFieldList (sym) ; + (* Now obtain the mark indicating whether this field was initialized. *) + init := GetVarFieldInitialized (vsym, RightValue, lst) ; + KillList (lst) + END + END ; + RETURN init + END + END GetVarComponentInitialized ; + + + (* + Trace - + *) + + PROCEDURE Trace (message: ARRAY OF CHAR; sym: CARDINAL) ; + BEGIN + IF Debugging + THEN + printf1 (message, sym) ; + printf0 ("\n") + END + END Trace ; + + + (* + SetVarInitialized - if the variable has a left mode and can be dereferenced + then set the left and right initialization state. + *) + + PROCEDURE SetVarInitialized (sym: CARDINAL; canDereference: BOOLEAN; + tok: CARDINAL) ; + BEGIN + IF IsVar (sym) + THEN + RemoveItemFromList (ignoreList, sym) ; + IF IsComponent (sym) + THEN + Trace ("SetVarInitialized sym %d is a component and calling SetVarComponentInitialized", sym); + SetVarComponentInitialized (sym, tok) + ELSIF (GetMode (sym) = LeftValue) AND canDereference + THEN + Trace ("SetVarInitialized sym %d is LeftValue and canDeference and calling PutVarInitialized LeftValue and RightValue", sym); + PutVarInitialized (sym, LeftValue) ; + PutVarInitialized (sym, RightValue) + ELSE + Trace ("SetVarInitialized sym %d calling PutVarInitialized with its mode", sym); + PutVarInitialized (sym, GetMode (sym)) + END ; + IF Debugging + THEN + PrintSym (sym) + END + END + END SetVarInitialized ; + + + (* + doGetVarInitialized - + *) + + PROCEDURE doGetVarInitialized (sym: CARDINAL; tok: CARDINAL) : BOOLEAN ; + BEGIN + IF IsVar (sym) + THEN + IF IsUnbounded (GetSType (sym)) + THEN + RETURN TRUE + ELSIF IsComponent (sym) + THEN + RETURN GetVarComponentInitialized (sym, tok) + END ; + RETURN VarCheckReadInit (sym, GetMode (sym)) + END ; + RETURN IsConst (sym) AND IsConstString (sym) + END doGetVarInitialized ; + + + (* + GetVarInitialized - + *) + + PROCEDURE GetVarInitialized (sym: CARDINAL; tok: CARDINAL) : BOOLEAN ; + VAR + init: BOOLEAN ; + BEGIN + init := doGetVarInitialized (sym, tok) ; + IF Debugging + THEN + IF init + THEN + Trace ("GetVarInitialized (sym = %d) returning TRUE", sym) + ELSE + Trace ("GetVarInitialized (sym = %d) returning FALSE", sym) + END + END ; + RETURN init + END GetVarInitialized ; + + + (* + IsExempt - returns TRUE if sym is a global variable or a parameter or + a variable with a variant record type. + *) + + PROCEDURE IsExempt (sym: CARDINAL) : BOOLEAN ; + BEGIN + RETURN (sym # NulSym) AND IsVar (sym) AND + (IsGlobalVar (sym) OR + (* (IsVarAParam (sym) AND (GetMode (sym) = LeftValue)) OR *) + ContainsVariant (sym) OR + IsArray (GetSType (sym)) OR IsSet (GetSType (sym)) OR + IsUnbounded (GetSType (sym)) OR IsVarArrayRef (sym) OR + IsItemInList (ignoreList, sym)) + END IsExempt ; + + + (* + CheckBinary - + *) + + PROCEDURE CheckBinary (procSym, + op1tok, op1, + op2tok, op2, + op3tok, op3: CARDINAL; warning: BOOLEAN; + lst: List; i: CARDINAL) ; + BEGIN + CheckDeferredRecordAccess (procSym, op2tok, op2, FALSE, warning, lst, i) ; + CheckDeferredRecordAccess (procSym, op3tok, op3, FALSE, warning, lst, i) ; + SetVarInitialized (op1, FALSE, op1tok) + END CheckBinary ; + + + (* + CheckUnary - + *) + + PROCEDURE CheckUnary (procSym, + lhstok, lhs, + rhstok, rhs: CARDINAL; warning: BOOLEAN; + lst: List; i: CARDINAL) ; + BEGIN + CheckDeferredRecordAccess (procSym, rhstok, rhs, FALSE, warning, lst, i) ; + SetVarInitialized (lhs, FALSE, lhstok) + END CheckUnary ; + + + (* + CheckXIndr - + *) + + PROCEDURE CheckXIndr (procSym, lhstok, lhs, type, + rhstok, rhs: CARDINAL; warning: BOOLEAN; + bblst: List; i: CARDINAL) ; + VAR + lst : List ; + content: CARDINAL ; + BEGIN + CheckDeferredRecordAccess (procSym, rhstok, rhs, FALSE, warning, bblst, i) ; + CheckDeferredRecordAccess (procSym, lhstok, lhs, FALSE, warning, bblst, i) ; + (* Now see if we know what lhs is pointing to and set fields if necessary. *) + content := getContent (getLAlias (lhs), lhs, lhstok) ; + IF (content # NulSym) AND (content # lhs) AND (GetSType (content) = type) + THEN + IF IsReallyPointer (rhs) + THEN + SetupLAlias (content, rhs) + END ; + IF IsRecord (type) + THEN + (* Set all fields of content as initialized. *) + SetVarInitialized (content, FALSE, lhstok) + ELSE + (* Set only the field assigned in vsym as initialized. *) + lst := ComponentCreateFieldList (rhs) ; + IF PutVarFieldInitialized (content, RightValue, lst) + THEN + END ; + KillList (lst) + END + END + END CheckXIndr ; + + + (* + CheckIndrX - + *) + + PROCEDURE CheckIndrX (procSym, lhstok, lhs, type, rhstok, rhs: CARDINAL; + warning: BOOLEAN; + lst: List; i: CARDINAL) ; + VAR + content: CARDINAL ; + BEGIN + CheckDeferredRecordAccess (procSym, rhstok, rhs, FALSE, warning, lst, i) ; + content := getContent (getLAlias (rhs), rhs, rhstok) ; + IF content = NulSym + THEN + IncludeItemIntoList (ignoreList, lhs) + ELSE + CheckDeferredRecordAccess (procSym, rhstok, content, TRUE, warning, lst, i) ; + SetVarInitialized (lhs, VarCheckReadInit (content, RightValue), lhstok) ; + IF IsReallyPointer (content) + THEN + SetupLAlias (lhs, content) + END + END + END CheckIndrX ; + + + (* + CheckRecordField - + *) + + PROCEDURE CheckRecordField (procSym, op1tok, op1, op2tok, op2: CARDINAL) ; + BEGIN + PutVarInitialized (op1, LeftValue) + END CheckRecordField ; + + + (* + CheckBecomes - + *) + + PROCEDURE CheckBecomes (procSym, destok, des, exprtok, expr: CARDINAL; + warning: BOOLEAN; bblst: List; i: CARDINAL) ; + VAR + lvalue: BOOLEAN ; + lst : List ; + vsym : CARDINAL ; + BEGIN + CheckDeferredRecordAccess (procSym, exprtok, expr, FALSE, warning, bblst, i) ; + SetupLAlias (des, expr) ; + SetVarInitialized (des, FALSE, destok) ; + (* Now see if we know what lhs is pointing to and set fields if necessary. *) + IF IsComponent (des) + THEN + vsym := ComponentFindVar (des, lvalue, destok) ; + vsym := deRefComponent (vsym, lvalue, des, destok) ; + IF vsym # NulSym + THEN + (* Set only the field assigned in vsym as initialized. *) + lst := ComponentCreateFieldList (des) ; + IF PutVarFieldInitialized (vsym, RightValue, lst) + THEN + END ; + KillList (lst) + END + END + END CheckBecomes ; + + + (* + CheckComparison - + *) + + PROCEDURE CheckComparison (procSym, op1tok, op1, op2tok, op2: CARDINAL; + warning: BOOLEAN; lst: List; i: CARDINAL) ; + BEGIN + CheckDeferredRecordAccess (procSym, op1tok, op1, FALSE, warning, lst, i) ; + CheckDeferredRecordAccess (procSym, op2tok, op2, FALSE, warning, lst, i) + END CheckComparison ; + + + (* + CheckAddr - + *) + + PROCEDURE CheckAddr (procSym, ptrtok, ptr, contenttok, content: CARDINAL) ; + BEGIN + SetVarInitialized (ptr, GetVarInitialized (content, contenttok), ptrtok) ; + SetupIndr (ptr, content) + END CheckAddr ; + + + (* + DefaultTokPos - + *) + + PROCEDURE DefaultTokPos (preferredPos, defaultPos: CARDINAL) : CARDINAL ; + BEGIN + IF preferredPos = UnknownTokenNo + THEN + RETURN defaultPos + END ; + RETURN preferredPos + END DefaultTokPos ; + + + (* + stop - + *) + + PROCEDURE stop ; + END stop ; + + + (* + CheckReadBeforeInitQuad - + *) + + PROCEDURE CheckReadBeforeInitQuad (procSym: CARDINAL; quad: CARDINAL; + warning: BOOLEAN; lst: List; i: CARDINAL) : BOOLEAN ; + VAR + op : QuadOperator ; + op1, op2, op3 : CARDINAL ; + op1tok, op2tok, op3tok, qtok: CARDINAL ; + overflowChecking : BOOLEAN ; + BEGIN + IF quad = 3140 + THEN + stop + END ; + IF Debugging + THEN + printf1 ("CheckReadBeforeInitQuad (quad %d)\n", quad) ; + DumpAliases ; + ForeachLocalSymDo (procSym, PrintSym) ; + printf0 ("***********************************\n") + END ; + GetQuadOtok (quad, qtok, op, op1, op2, op3, overflowChecking, + op1tok, op2tok, op3tok) ; + op1tok := DefaultTokPos (op1tok, qtok) ; + op2tok := DefaultTokPos (op2tok, qtok) ; + op3tok := DefaultTokPos (op3tok, qtok) ; + CASE op OF + + (* Jumps, calls and branches. *) + IfInOp, + IfNotInOp, + IfEquOp, + IfNotEquOp, + IfLessOp, + IfLessEquOp, + IfGreOp, + IfGreEquOp : CheckComparison (procSym, op1tok, op1, op2tok, op2, warning, lst, i) | + TryOp, + ReturnOp, + CallOp, + KillLocalVarOp, + RetryOp, + GotoOp : RETURN TRUE | (* End of basic block. *) + + (* Variable references. *) + + InclOp, + ExclOp : CheckDeferredRecordAccess (procSym, op1tok, op1, FALSE, warning, lst, i) ; + CheckDeferredRecordAccess (procSym, op1tok, op1, TRUE, warning, lst, i) ; + CheckDeferredRecordAccess (procSym, op3tok, op3, FALSE, warning, lst, i) | + NegateOp : CheckUnary (procSym, op1tok, op1, op3tok, op3, warning, lst, i) | + BecomesOp : CheckBecomes (procSym, op1tok, op1, op3tok, op3, warning, lst, i) | + UnboundedOp, + FunctValueOp, + StandardFunctionOp, + HighOp, + SizeOp : SetVarInitialized (op1, FALSE, op1tok) | + AddrOp : CheckAddr (procSym, op1tok, op1, op3tok, op3) | + ReturnValueOp : SetVarInitialized (op1, FALSE, op1tok) | + NewLocalVarOp : | + ParamOp : CheckDeferredRecordAccess (procSym, op2tok, op2, FALSE, warning, lst, i) ; + CheckDeferredRecordAccess (procSym, op3tok, op3, FALSE, warning, lst, i) ; + IF (op1 > 0) AND (op1 <= NoOfParam (op2)) AND + IsVarParam (op2, op1) + THEN + SetVarInitialized (op3, TRUE, op3tok) + END | + ArrayOp : CheckDeferredRecordAccess (procSym, op3tok, op3, FALSE, warning, lst, i) ; + SetVarInitialized (op1, TRUE, op1tok) | + RecordFieldOp : CheckRecordField (procSym, op1tok, op1, op2tok, op2) | + LogicalShiftOp, + LogicalRotateOp, + LogicalOrOp, + LogicalAndOp, + LogicalXorOp, + LogicalDiffOp, + CoerceOp, + ConvertOp, + CastOp, + AddOp, + ArithAddOp, + SubOp, + MultOp, + DivM2Op, + ModM2Op, + ModFloorOp, + DivCeilOp, + ModCeilOp, + DivFloorOp, + ModTruncOp, + DivTruncOp : CheckBinary (procSym, + op1tok, op1, op2tok, op2, op3tok, op3, warning, lst, i) | + XIndrOp : CheckXIndr (procSym, op1tok, op1, op2, op3tok, op3, warning, lst, i) | + IndrXOp : CheckIndrX (procSym, op1tok, op1, op2, op3tok, op3, warning, lst, i) | + SaveExceptionOp : SetVarInitialized (op1, FALSE, op1tok) | + RestoreExceptionOp: CheckDeferredRecordAccess (procSym, op1tok, op1, FALSE, warning, lst, i) | + + SubrangeLowOp, + SubrangeHighOp : InternalError ('quadruples should have been resolved') | + ElementSizeOp, + BuiltinConstOp, (* Nothing to do, it is assigning a constant to op1 (also a const). *) + BuiltinTypeInfoOp, (* Likewise assigning op1 (const) with a type. *) + ProcedureScopeOp, + InitEndOp, + InitStartOp, + FinallyStartOp, + FinallyEndOp, + CatchBeginOp, + CatchEndOp, + ThrowOp, + StartDefFileOp, + StartModFileOp, + EndFileOp, + CodeOnOp, + CodeOffOp, + ProfileOnOp, + ProfileOffOp, + OptimizeOnOp, + OptimizeOffOp, + InlineOp, + LineNumberOp, + StatementNoteOp, + SavePriorityOp, + RestorePriorityOp, + RangeCheckOp, + ModuleScopeOp, + ErrorOp, + DummyOp, + OptParamOp, + InitAddressOp : | + + END ; + RETURN FALSE + END CheckReadBeforeInitQuad ; + + + (* + FilterCheckReadBeforeInitQuad - + *) + + PROCEDURE FilterCheckReadBeforeInitQuad (procSym: CARDINAL; start: CARDINAL; + warning: BOOLEAN; + lst: List; i: CARDINAL) : BOOLEAN ; + VAR + Op : QuadOperator ; + Op1, Op2, Op3: CARDINAL ; + BEGIN + GetQuad (start, Op, Op1, Op2, Op3) ; + IF (Op # RangeCheckOp) AND (Op # StatementNoteOp) + THEN + RETURN CheckReadBeforeInitQuad (procSym, start, warning, lst, i) + END ; + RETURN FALSE + END FilterCheckReadBeforeInitQuad ; + + + (* + CheckReadBeforeInitFirstBasicBlock - + *) + + PROCEDURE CheckReadBeforeInitFirstBasicBlock (procSym: CARDINAL; + start, end: CARDINAL; + warning: BOOLEAN; + lst: List; i: CARDINAL) ; + BEGIN + LOOP + IF FilterCheckReadBeforeInitQuad (procSym, start, warning, lst, i) + THEN + END ; + IF start = end + THEN + RETURN + ELSE + start := GetNextQuad (start) + END + END + END CheckReadBeforeInitFirstBasicBlock ; + + + (* + bbArrayKill - + *) + + PROCEDURE bbArrayKill ; + VAR + i, h : CARDINAL ; + bbPtr: bbEntry ; + BEGIN + h := Indexing.HighIndice (bbArray) ; + i := 1 ; + WHILE i <= h DO + bbPtr := Indexing.GetIndice (bbArray, i) ; + bbPtr^.next := bbFreeList ; + bbFreeList := bbPtr ; + INC (i) + END ; + bbArray := Indexing.KillIndex (bbArray) + END bbArrayKill ; + + + (* + DumpBBEntry - + *) + + PROCEDURE DumpBBEntry (bbPtr: bbEntry; procSym: CARDINAL) ; + BEGIN + printf4 ("bb %d: scope %d: quads: %d .. %d", + bbPtr^.indexBB, procSym, bbPtr^.start, bbPtr^.end) ; + IF bbPtr^.first + THEN + printf0 (" first") + END ; + IF bbPtr^.endCall + THEN + printf0 (" endcall") + END ; + IF bbPtr^.endGoto + THEN + printf0 (" endgoto") + END ; + IF bbPtr^.endCond + THEN + printf0 (" endcond") + END ; + IF bbPtr^.topOfLoop + THEN + printf0 (" topofloop") + END ; + IF bbPtr^.condBB # 0 + THEN + printf1 (" cond %d", bbPtr^.condBB) + END ; + IF bbPtr^.nextBB # 0 + THEN + printf1 (" next %d", bbPtr^.nextBB) + END ; + printf0 ("\n") + END DumpBBEntry ; + + + (* + DumpBBArray - + *) + + PROCEDURE DumpBBArray (procSym: CARDINAL) ; + VAR + bbPtr: bbEntry ; + i, n : CARDINAL ; + BEGIN + i := 1 ; + n := Indexing.HighIndice (bbArray) ; + WHILE i <= n DO + bbPtr := Indexing.GetIndice (bbArray, i) ; + DumpBBEntry (bbPtr, procSym) ; + INC (i) + END ; + i := 1 ; + WHILE i <= n DO + bbPtr := Indexing.GetIndice (bbArray, i) ; + printf4 ("bb %d: scope %d: quads: %d .. %d\n", + bbPtr^.indexBB, procSym, bbPtr^.start, bbPtr^.end) ; + DisplayQuadRange (procSym, bbPtr^.start, bbPtr^.end) ; + INC (i) + END + END DumpBBArray ; + + + (* + DumpBBSequence - + *) + + PROCEDURE DumpBBSequence (procSym: CARDINAL; lst: List) ; + VAR + arrayindex, + listindex, n: CARDINAL ; + BEGIN + n := NoOfItemsInList (lst) ; + listindex := 1 ; + printf0 ("=============\n"); + printf0 (" checking sequence:"); + WHILE listindex <= n DO + arrayindex := GetItemFromList (lst, listindex) ; + printf1 (" [%d]", listindex) ; + INC (listindex) + END ; + printf0 ("\n") + END DumpBBSequence ; + + + (* + trashParam - + *) + + PROCEDURE trashParam (trashQuad: CARDINAL) ; + VAR + op : QuadOperator ; + op1, proc, param, paramValue : CARDINAL ; + op1tok, op2tok, paramtok, qtok: CARDINAL ; + overflowChecking : BOOLEAN ; + heapValue, ptrToHeap : CARDINAL ; + BEGIN + IF trashQuad # 0 + THEN + GetQuadOtok (trashQuad, qtok, op, op1, proc, param, overflowChecking, + op1tok, op2tok, paramtok) ; + heapValue := GetQuadTrash (trashQuad) ; + IF Debugging + THEN + printf1 ("heapValue = %d\n", heapValue) + END ; + IF heapValue # NulSym + THEN + SetVarInitialized (param, FALSE, paramtok) ; + paramValue := getLAlias (param) ; + ptrToHeap := getContent (paramValue, param, paramtok) ; + IF ptrToHeap # NulSym + THEN + IF IsDeallocate (proc) + THEN + SetupLAlias (ptrToHeap, Nil) ; + SetVarInitialized (ptrToHeap, FALSE, paramtok) + ELSE + SetupIndr (ptrToHeap, heapValue) ; + SetVarInitialized (ptrToHeap, TRUE, paramtok) + END + END + END + END ; + DumpAliases + END trashParam ; + + + (* + SetVarLRInitialized - this sets up an alias between the parameter + value and the pointer for the case: + + procedure foo (var shadow: PtrToType) ; + + which allows shadow to be statically analyzed + once it is re-assigned. + *) + + PROCEDURE SetVarLRInitialized (param: CARDINAL) ; + VAR + heap, + shadow: CARDINAL ; + BEGIN + Assert (IsParameter (param)) ; + shadow := GetParameterShadowVar (param) ; + IF shadow # NulSym + THEN + IncludeItemIntoList (ignoreList, shadow) + END ; + heap := GetParameterHeapVar (param) ; + IF (shadow # NulSym) AND (heap # NulSym) + THEN + PutVarInitialized (shadow, GetMode (shadow)) ; + PutVarInitialized (heap, GetMode (heap)) ; + SetupIndr (shadow, heap) ; + IncludeItemIntoList (ignoreList, heap) + END + END SetVarLRInitialized ; + + + (* + TestBBSequence - + *) + + PROCEDURE TestBBSequence (procSym: CARDINAL; lst: List) ; + VAR + bbPtr : bbEntry ; + bbi, + i, n : CARDINAL ; + warning: BOOLEAN ; (* Should we issue a warning rather than a note? *) + BEGIN + IF Debugging + THEN + DumpBBSequence (procSym, lst) + END ; + initBlock ; + ForeachLocalSymDo (procSym, SetVarUninitialized) ; + ForeachParamSymDo (procSym, SetVarLRInitialized) ; + n := NoOfItemsInList (lst) ; + i := 1 ; + warning := TRUE ; + WHILE i <= n DO + bbi := GetItemFromList (lst, i) ; + bbPtr := Indexing.GetIndice (bbArray, bbi) ; + CheckReadBeforeInitFirstBasicBlock (procSym, + bbPtr^.start, bbPtr^.end, + warning, lst, i) ; + IF bbPtr^.endCond + THEN + (* Check to see if we are moving into an conditional block in which case + we will issue a note. *) + warning := FALSE + ELSIF bbPtr^.endCall AND (bbPtr^.trashQuad # 0) + THEN + trashParam (bbPtr^.trashQuad) + END ; + INC (i) + END ; + killBlock + END TestBBSequence ; + + + (* + CreateBBPermultations - + *) + + PROCEDURE CreateBBPermultations (procSym: CARDINAL; i: CARDINAL; lst: List) ; + VAR + duplst: List ; + iPtr : bbEntry ; + BEGIN + IF i = 0 + THEN + TestBBSequence (procSym, lst) + ELSE + iPtr := Indexing.GetIndice (bbArray, i) ; + IF iPtr^.topOfLoop + THEN + TestBBSequence (procSym, lst) + ELSE + duplst := DuplicateList (lst) ; + IncludeItemIntoList (duplst, i) ; + IF iPtr^.endCall AND (iPtr^.trashQuad = 0) + THEN + TestBBSequence (procSym, duplst) + ELSIF iPtr^.endGoto + THEN + CreateBBPermultations (procSym, iPtr^.nextBB, duplst) + ELSIF UninitVariableConditionalChecking AND iPtr^.endCond + THEN + CreateBBPermultations (procSym, iPtr^.nextBB, duplst) ; + CreateBBPermultations (procSym, iPtr^.condBB, duplst) + ELSIF iPtr^.endCond + THEN + TestBBSequence (procSym, duplst) + ELSE + (* Fall through. *) + CreateBBPermultations (procSym, iPtr^.nextBB, duplst) + END ; + KillList (duplst) + END + END + END CreateBBPermultations ; + + + (* + ScopeBlockVariableAnalysis - checks to see whether a variable is + read before it has been initialized. + *) + + PROCEDURE ScopeBlockVariableAnalysis (Scope: CARDINAL; + Start, End: CARDINAL) ; + VAR + bb : BasicBlock ; + lst: List ; + BEGIN + IF UninitVariableChecking + THEN + bbArray := Indexing.InitIndex (1) ; + bb := InitBasicBlocksFromRange (Scope, Start, End) ; + ForeachBasicBlockDo (bb, AppendEntry) ; + KillBasicBlocks (bb) ; + GenerateCFG ; + IF Scope # NulSym + THEN + InitList (lst) ; + IF Debugging + THEN + DumpBBArray (Scope) ; + IF UninitVariableConditionalChecking + THEN + printf0 ("UninitVariableConditionalChecking is TRUE\n") + END + END ; + CreateBBPermultations (Scope, 1, lst) ; + KillList (lst) + END ; + bbArrayKill + END + END ScopeBlockVariableAnalysis ; + + + (* + GetOp3 - + *) + + PROCEDURE GetOp3 (quad: CARDINAL) : CARDINAL ; + VAR + op: QuadOperator ; + op1, op2, op3: CARDINAL ; + BEGIN + GetQuad (quad, op, op1, op2, op3) ; + RETURN op3 + END GetOp3 ; + + + (* + getBBindex - return the basic block index which starts with quad. + *) + + PROCEDURE getBBindex (quad: CARDINAL) : CARDINAL ; + VAR + iPtr : bbEntry ; + i, high: CARDINAL ; + BEGIN + i := 1 ; + high := Indexing.HighIndice (bbArray) ; + WHILE i <= high DO + iPtr := Indexing.GetIndice (bbArray, i) ; + IF iPtr^.start = quad + THEN + RETURN iPtr^.indexBB + END ; + INC (i) + END ; + RETURN 0 + END getBBindex ; + + + (* + GenerateCFG - + *) + + PROCEDURE GenerateCFG ; + VAR + iPtr : bbEntry ; + next, + i, high: CARDINAL ; + BEGIN + i := 1 ; + high := Indexing.HighIndice (bbArray) ; + WHILE i <= high DO + iPtr := Indexing.GetIndice (bbArray, i) ; + IF IsKillLocalVar (iPtr^.end) OR IsReturn (iPtr^.end) + THEN + (* Nothing to do as we have reached the end of this scope. *) + ELSE + next := GetNextQuad (iPtr^.end) ; + iPtr^.nextQuad := next ; + iPtr^.nextBB := getBBindex (next) ; + IF iPtr^.endCond + THEN + iPtr^.condQuad := GetOp3 (iPtr^.end) ; + iPtr^.condBB := getBBindex (iPtr^.condQuad) + END + END ; + INC (i) + END + END GenerateCFG ; + + + (* + NewEntry - + *) + + PROCEDURE NewEntry () : bbEntry ; + VAR + bbPtr: bbEntry ; + BEGIN + IF bbFreeList = NIL + THEN + NEW (bbPtr) + ELSE + bbPtr := bbFreeList ; + bbFreeList := bbFreeList^.next + END ; + RETURN bbPtr + END NewEntry ; + + + (* + IsAllocate - return TRUE is sym is ALLOCATE. + *) + + PROCEDURE IsAllocate (sym: CARDINAL) : BOOLEAN ; + BEGIN + RETURN IsProcedure (sym) AND (GetSymName (sym) = MakeKey('ALLOCATE')) + END IsAllocate ; + + + (* + IsDeallocate - return TRUE is sym is DEALLOCATE. + *) + + PROCEDURE IsDeallocate (sym: CARDINAL) : BOOLEAN ; + BEGIN + RETURN IsProcedure (sym) AND (GetSymName (sym) = MakeKey('DEALLOCATE')) + END IsDeallocate ; + + + (* + DetectTrash - + *) + + PROCEDURE DetectTrash (bbPtr: bbEntry) ; + VAR + i : CARDINAL ; + op : QuadOperator ; + op1, op2, op3: CARDINAL ; + BEGIN + IF bbPtr^.endCall + THEN + i := bbPtr^.start ; + LOOP + GetQuad (i, op, op1, op2, op3) ; + IF (op = ParamOp) AND (op1 = 1) AND (IsAllocate (op2) OR IsDeallocate (op2)) + THEN + bbPtr^.trashQuad := i + END ; + IF i = bbPtr^.end + THEN + RETURN + END ; + i := GetNextQuad (i) + END + END + END DetectTrash ; + + + (* + AppendEntry - + *) + + PROCEDURE AppendEntry (Start, End: CARDINAL) ; + VAR + bbPtr: bbEntry ; + high : CARDINAL ; + BEGIN + high := Indexing.HighIndice (bbArray) ; + bbPtr := NewEntry () ; + WITH bbPtr^ DO + start := Start ; + end := End ; + first := high = 0 ; + endCall := IsCall (End) ; + endGoto := IsGoto (End) ; + endCond := IsConditional (End) ; + topOfLoop := IsBackReference (Start) ; + trashQuad := 0 ; + indexBB := high + 1 ; + nextQuad := 0 ; + condQuad := 0 ; + nextBB := 0 ; + condBB := 0 ; + next := NIL + END ; + DetectTrash (bbPtr) ; + Indexing.PutIndice (bbArray, high + 1, bbPtr) + END AppendEntry ; + + + (* + DumpAlias - + *) + + PROCEDURE DumpAlias (array: Index; aliasIndex: CARDINAL) ; + VAR + sa: symAlias ; + BEGIN + sa := Indexing.GetIndice (array, aliasIndex) ; + printf2 ("keySym = %d: alias = %d\n", sa^.keySym, sa^.alias) + END DumpAlias ; + + + (* + doDumpAliases - + *) + + PROCEDURE doDumpAliases (array: Index) ; + VAR + i, n: CARDINAL ; + BEGIN + i := 1 ; + n := Indexing.HighIndice (array) ; + WHILE i <= n DO + DumpAlias (array, i) ; + INC (i) + END + END doDumpAliases ; + + + (* + DumpAliases - + *) + + PROCEDURE DumpAliases ; + BEGIN + IF Debugging + THEN + printf0 ("LArray\n") ; + doDumpAliases (LArray) ; + printf0 ("IndirectArray\n") ; + doDumpAliases (IndirectArray) + END + END DumpAliases ; + + + (* + newAlias - + *) + + PROCEDURE newAlias () : symAlias ; + VAR + sa: symAlias ; + BEGIN + IF freeList = NIL + THEN + NEW (sa) + ELSE + sa := freeList ; + freeList := freeList^.next + END ; + RETURN sa + END newAlias ; + + + (* + initAlias - + *) + + PROCEDURE initAlias (sym: CARDINAL) : symAlias ; + VAR + sa: symAlias ; + BEGIN + sa := newAlias () ; + WITH sa^ DO + keySym := sym ; + alias := NulSym ; + next := NIL + END ; + RETURN sa + END initAlias ; + + + (* + killAlias - + *) + + PROCEDURE killAlias (sa: symAlias) ; + BEGIN + sa^.next := freeList ; + freeList := sa + END killAlias ; + + + (* + initBlock - + *) + + PROCEDURE initBlock ; + BEGIN + LArray := Indexing.InitIndex (1) ; + IndirectArray := Indexing.InitIndex (1) ; + InitList (ignoreList) + END initBlock ; + + + (* + killBlock - + *) + + PROCEDURE killBlock ; + BEGIN + doKillBlock (LArray) ; + doKillBlock (IndirectArray) ; + KillList (ignoreList) + END killBlock ; + + + PROCEDURE doKillBlock (VAR array: Index) ; + VAR + i, n: CARDINAL ; + BEGIN + i := 1 ; + n := Indexing.HighIndice (array) ; + WHILE i <= n DO + killAlias (Indexing.GetIndice (array, i)) ; + INC (i) + END ; + array := Indexing.KillIndex (array) + END doKillBlock ; + + + (* + addAlias - + *) + + PROCEDURE addAlias (array: Index; sym: CARDINAL; aliased: CARDINAL) ; + VAR + i, n: CARDINAL ; + sa : symAlias ; + BEGIN + i := 1 ; + n := Indexing.HighIndice (array) ; + WHILE i <= n DO + sa := Indexing.GetIndice (array, i) ; + IF sa^.keySym = sym + THEN + sa^.alias := aliased ; + RETURN + END ; + INC (i) + END ; + sa := initAlias (sym) ; + Indexing.IncludeIndiceIntoIndex (array, sa) ; + sa^.alias := aliased + END addAlias ; + + + (* + lookupAlias - + *) + + PROCEDURE lookupAlias (array: Index; sym: CARDINAL) : symAlias ; + VAR + i, n: CARDINAL ; + sa : symAlias ; + BEGIN + i := 1 ; + n := Indexing.HighIndice (array) ; + WHILE i <= n DO + sa := Indexing.GetIndice (array, i) ; + IF sa^.keySym = sym + THEN + RETURN sa + END ; + INC (i) + END ; + RETURN NIL + END lookupAlias ; + + + (* + doGetAlias - + *) + + PROCEDURE doGetAlias (array: Index; sym: CARDINAL) : CARDINAL ; + VAR + sa: symAlias ; + BEGIN + sa := lookupAlias (array, sym) ; + IF (sa # NIL) AND (sa^.alias # NulSym) + THEN + RETURN sa^.alias + END ; + RETURN NulSym + END doGetAlias ; + + + (* + getLAlias - attempts to looks up an alias which is not a temporary variable. + *) + + PROCEDURE getLAlias (sym: CARDINAL) : CARDINAL ; + VAR + type, + nsym: CARDINAL ; + BEGIN + nsym := sym ; + REPEAT + sym := nsym ; + type := GetSType (sym) ; + IF (IsTemporary (sym) AND (GetMode (sym) = LeftValue)) OR + ((type # NulSym) AND IsReallyPointer (type)) + THEN + nsym := doGetAlias (LArray, sym) + ELSE + RETURN sym + END + UNTIL nsym = NulSym ; + RETURN sym + END getLAlias ; + + + (* + SetupLAlias - + *) + + PROCEDURE SetupLAlias (des, exp: CARDINAL) ; + BEGIN + IF (exp = Nil) OR + (IsVar (exp) AND + ((GetMode (des) = LeftValue) OR IsReallyPointer (GetSType (des)))) + THEN + addAlias (LArray, des, exp) ; + DumpAliases + END + END SetupLAlias ; + + + (* + SetupIndr - + *) + + PROCEDURE SetupIndr (ptr, content: CARDINAL) ; + BEGIN + addAlias (IndirectArray, ptr, content) ; + END SetupIndr ; + + + (* + getContent - attempts to return the content pointed to by ptr. + sym is the original symbol and ptr will be the equivalent lvalue. + *) + + PROCEDURE getContent (ptr: CARDINAL; sym: CARDINAL; tok: CARDINAL) : CARDINAL ; + BEGIN + IF ptr = Nil + THEN + MetaErrorT1 (tok, + "attempting to dereference {%1Wad} which will be a {%kNIL} pointer", + sym) ; + RETURN NulSym + ELSE + RETURN doGetAlias (IndirectArray, ptr) + END + END getContent ; + + + (* + init - + *) + + PROCEDURE init ; + BEGIN + freeList := NIL ; + bbFreeList := NIL ; + InitList (errorList) + END init ; + + + BEGIN + init + END M2SymInit. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf gcc-13.3.0/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/P0SyntaxCheck.bnf Tue May 21 07:47:38 2024 *************** NamedOperand := '[' Ident ']' =: *** 918,931 **** AsmOperandName := [ NamedOperand ] =: ! AsmOperands := string [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName string '(' Expression ')' =: ! TrashList := [ string ] { ',' string } =: FNB --- 918,931 ---- AsmOperandName := [ NamedOperand ] =: ! AsmOperands := ConstExpression ':' AsmList [ ':' AsmList [ ':' TrashList ] ] =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName ConstExpression '(' Expression ')' =: ! TrashList := [ ConstExpression ] { ',' ConstExpression } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/P1Build.bnf gcc-13.3.0/gcc/m2/gm2-compiler/P1Build.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/P1Build.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/P1Build.bnf Tue May 21 07:47:38 2024 *************** FROM M2Quads IMPORT PushT, PopT, *** 64,71 **** EndBuildInit, BuildProcedureStart, BuildProcedureEnd, ! BuildAssignment, ! BuildInline ; FROM P1SymBuild IMPORT P1StartBuildProgramModule, P1EndBuildProgramModule, --- 64,70 ---- EndBuildInit, BuildProcedureStart, BuildProcedureEnd, ! BuildAssignment ; FROM P1SymBuild IMPORT P1StartBuildProgramModule, P1EndBuildProgramModule, *************** NamedOperand := '[' Ident ']' =: *** 1037,1050 **** AsmOperandName := [ NamedOperand ] =: ! AsmOperands := string [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName string '(' Expression ')' ! =: ! TrashList := [ string ] { ',' string } =: FNB --- 1036,1049 ---- AsmOperandName := [ NamedOperand ] =: ! AsmOperands := ConstExpression ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName ConstExpression '(' Expression ')' ! =: ! TrashList := [ ConstExpression ] { ',' ConstExpression } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/P2Build.bnf gcc-13.3.0/gcc/m2/gm2-compiler/P2Build.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/P2Build.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/P2Build.bnf Tue May 21 07:47:38 2024 *************** FROM M2Quads IMPORT PushT, PopT, PushTF, *** 60,66 **** BuildProcedureStart, BuildProcedureEnd, BuildAssignment, - BuildInline, AddRecordToList, AddVarientToList, IsAutoPushOn, PushAutoOff, PushAutoOn, PopAuto, DisplayStack ; --- 60,65 ---- *************** NamedOperand := '[' Ident ']' =: *** 1227,1240 **** AsmOperandName := [ NamedOperand ] =: ! AsmOperands := string [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName string '(' Expression ')' ! =: ! TrashList := [ string ] { ',' string } =: FNB --- 1226,1239 ---- AsmOperandName := [ NamedOperand ] =: ! AsmOperands := ConstExpression ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName ConstExpression '(' Expression ')' ! =: ! TrashList := [ ConstExpression ] { ',' ConstExpression } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/P2SymBuild.mod gcc-13.3.0/gcc/m2/gm2-compiler/P2SymBuild.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/P2SymBuild.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/P2SymBuild.mod Tue May 21 07:47:38 2024 *************** FROM SymbolTable IMPORT NulSym, *** 59,65 **** MakeSubrange, MakeVar, MakeType, PutType, MakeModuleCtor, ! PutMode, PutDeclared, PutFieldEnumeration, PutSubrange, PutVar, PutConst, PutConstSet, PutConstructor, IsDefImp, IsType, IsRecord, IsRecordField, IsPointer, --- 59,65 ---- MakeSubrange, MakeVar, MakeType, PutType, MakeModuleCtor, ! PutMode, PutDeclared, GetParameterShadowVar, PutFieldEnumeration, PutSubrange, PutVar, PutConst, PutConstSet, PutConstructor, IsDefImp, IsType, IsRecord, IsRecordField, IsPointer, *************** FROM SymbolTable IMPORT NulSym, *** 109,114 **** --- 109,115 ---- ParametersDefinedInImplementation, ProcedureParametersDefined, PutProcedureNoReturn, + PutProcedureParameterHeapVars, CheckForUnImplementedExports, CheckForUndeclaredExports, IsHiddenTypeDeclared, *************** BEGIN *** 1377,1382 **** --- 1378,1384 ---- THEN WriteFormat2('end procedure name does not match beginning %a name %a', NameStart, NameEnd) END ; + PutProcedureParameterHeapVars (ProcSym) ; EndScope ; M2Error.LeaveErrorScope END EndBuildProcedure ; *************** BEGIN *** 1820,1833 **** (* different parameter names *) FailParameter('', 'the parameter has been declared with a different name', ! OperandT(pi), ParamTotal+i, ProcSym) END ELSE ! IF GetSymName(ParamI)=NulName THEN ! PutParamName (OperandTok (pi), ProcSym, ParamTotal+i, OperandT(pi)) END END ; IF Unbounded THEN (* GetType(ParamI) yields an UnboundedSym or a PartialUnboundedSym, --- 1822,1836 ---- (* different parameter names *) FailParameter('', 'the parameter has been declared with a different name', ! OperandT (pi), ParamTotal+i, ProcSym) END ELSE ! IF GetSymName (ParamI) = NulName THEN ! PutParamName (OperandTok (pi), ProcSym, ParamTotal+i, OperandT (pi)) END END ; + PutDeclared (OperandTok (pi), GetParameterShadowVar (ParamI)) ; IF Unbounded THEN (* GetType(ParamI) yields an UnboundedSym or a PartialUnboundedSym, diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/P3Build.bnf gcc-13.3.0/gcc/m2/gm2-compiler/P3Build.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/P3Build.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/P3Build.bnf Tue May 21 07:47:38 2024 *************** FROM M2Printf IMPORT printf0, printf1 ; *** 55,60 **** --- 55,61 ---- FROM M2Debug IMPORT Assert ; FROM P2SymBuild IMPORT BuildString, BuildNumber ; FROM M2MetaError IMPORT MetaErrorT0 ; + FROM M2CaseList IMPORT ElseCase ; FROM M2Reserved IMPORT tokToTok, toktype, NulTok, ImportTok, ExportTok, QualifiedTok, UnQualifiedTok, *************** FROM M2Quads IMPORT PushT, PopT, PushTF, *** 98,104 **** BuildProcedureCall, BuildReturn, BuildNulExpression, CheckBuildFunction, StartBuildWith, EndBuildWith, ! BuildInline, BuildCaseStart, BuildCaseOr, BuildCaseElse, --- 99,105 ---- BuildProcedureCall, BuildReturn, BuildNulExpression, CheckBuildFunction, StartBuildWith, EndBuildWith, ! BuildAsm, BuildCaseStart, BuildCaseOr, BuildCaseElse, *************** FROM M2Quads IMPORT PushT, PopT, PushTF, *** 126,131 **** --- 127,133 ---- BuildRetry, DisplayStack, AddVarientRange, AddVarientEquality, + BuildAsmElement, BuildAsmTrash, BeginVarient, EndVarient, BeginVarientList, EndVarientList, PushInConstExpression, PopInConstExpression, IsInConstExpression, BuildDefaultFieldAlignment, BuildPragmaField, *************** IMPORT M2Error ; *** 178,186 **** CONST Debugging = FALSE ; - Pass1 = FALSE ; (* permanently disabled for the time being *) - Pass2 = FALSE ; - Pass3 = TRUE ; (* permanently disabled for the time being *) DebugAsm = FALSE ; VAR --- 180,185 ---- *************** END PeepToken ; *** 367,372 **** --- 366,373 ---- *) PROCEDURE Expect (t: toktype; stopset0: SetOfStop0; stopset1: SetOfStop1; stopset2: SetOfStop2) ; + CONST + Pass1 = FALSE ; BEGIN IF currenttoken=t THEN *************** CaseEndStatement := "END" *** 1207,1212 **** --- 1208,1214 ---- % BuildCaseEnd % | "ELSE" % BuildStmtNote (-1) % % BuildCaseElse % + % ElseCase (NulSym) % StatementSequence % BuildStmtNote (0) % "END" % BuildCaseEnd % *************** Definition := "CONST" { ConstantDeclarat *** 1461,1681 **** "VAR" { VariableDeclaration ";" } | DefProcedureHeading ";" =: ! AsmStatement := % VAR CurrentAsm: CARDINAL ; % ! 'ASM' % IF Pass3 ! THEN ! PushAutoOn ; ! PushT(0) ; (* operand count *) ! PushT(MakeGnuAsm()) ! END % ! [ 'VOLATILE' % IF Pass3 ! THEN ! PopT(CurrentAsm) ; ! PutGnuAsmVolatile(CurrentAsm) ; ! PushT(CurrentAsm) ! END % ! ] '(' AsmOperands % IF Pass3 ! THEN ! PopNothing ; (* throw away interface sym *) ! BuildInline ; ! PopNothing ; (* throw away count *) ! PopAuto ! END % ')' =: AsmOperands := % VAR CurrentAsm, count: CARDINAL ; str: CARDINAL ; % ! string % IF Pass3 THEN ! PopT(str) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm ! THEN ! printf1('1: count of asm operands: %d\n', count) ! END ; ! PushT(count) ; ! (* adds the name/instruction for this asm *) ! PutGnuAsm(CurrentAsm, str) ; ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) ! END % ( AsmOperandSpec | % (* epsilon *) ! IF Pass3 ! THEN ! PutGnuAsmSimple(CurrentAsm) ! END % ) =: AsmOperandSpec := % VAR CurrentAsm, outputs, inputs, trash, count: CARDINAL ; % ! [ ':' AsmList % IF Pass3 THEN ! PopT(outputs) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm ! THEN ! printf1('2: output count of asm operands: %d\n', count) ! END ; ! PutGnuAsmOutput(CurrentAsm, outputs) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) ! END % ! [ ':' AsmList % IF Pass3 THEN ! PopT(inputs) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm ! THEN ! printf1('3: input count of asm operands: %d\n', count) ! END ; ! PutGnuAsmInput(CurrentAsm, inputs) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) ! END % ! [ ':' TrashList % IF Pass3 THEN ! PopT(trash) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm ! THEN ! printf1('4: trash count of asm operands: %d\n', count) ! END ; ! PutGnuAsmTrash(CurrentAsm, trash) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) ! END % ! ] ] ] =: ! AsmList := % VAR count, CurrentAsm, CurrentInterface: CARDINAL ; % ! % IF Pass3 ! THEN ! PopT(CurrentInterface) ; ! PopT(CurrentAsm) ; ! PopT(count) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PushT(count) ; ! PushT(CurrentAsm) ; ! PushT(CurrentInterface) ; ! IF DebugAsm ! THEN ! printf1('8: AsmList has a count of asm operands: %d\n', count) ! END ! END ! % ! [ AsmElement ] { ',' AsmElement } =: NamedOperand := '[' Ident ']' =: AsmOperandName := ( NamedOperand | % IF IsAutoPushOn() THEN ! PushTF(NulName, identtok) END % ) =: ! AsmElement := % VAR n, str, expr, ! CurrentInterface, ! CurrentAsm, name: CARDINAL ; % ! AsmOperandName ! string '(' Expression % IF Pass3 ! THEN ! PopT(expr) ; ! PopT(str) ; ! PopT(name) ; ! PopT(CurrentInterface) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(n) ; ! INC(n) ; ! IF CurrentInterface=NulSym ! THEN ! CurrentInterface := MakeRegInterface() ! END ; ! IF DebugAsm ! THEN ! printf1('5: count of asm operands: %d\n', n) ! END ; ! PutRegInterface(CurrentInterface, n, name, str, expr) ; ! PushT(n) ; ! PushT(CurrentAsm) ; ! PushT(CurrentInterface) ! END % ! ')' ! =: ! TrashList := % VAR CurrentInterface, ! CurrentAsm, ! n, str : CARDINAL ; % ! [ string % IF Pass3 ! THEN ! PopT(str) ; ! PopT(CurrentInterface) ; ! PopT(CurrentAsm) ; ! PopT(n) ; ! INC(n) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! IF DebugAsm ! THEN ! printf1('6: count of asm trash operands: %d\n', n) ! END ; ! IF CurrentInterface=NulSym ! THEN ! CurrentInterface := MakeRegInterface() ! END ; ! PutRegInterface(CurrentInterface, n, NulName, str, NulSym) ; ! PushT(n) ; ! PushT(CurrentAsm) ; ! PushT(CurrentInterface) ! END % ! ] { ',' string % IF Pass3 ! THEN ! PopT(str) ; ! PopT(CurrentInterface) ; ! PopT(CurrentAsm) ; ! PopT(n) ; ! INC(n) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! IF DebugAsm ! THEN ! printf1('7: count of asm trash operands: %d\n', n) ! END ; ! IF CurrentInterface=NulSym ! THEN ! CurrentInterface := MakeRegInterface() ! END ; ! PutRegInterface(CurrentInterface, n, NulName, str, NulSym) ; ! PushT(n) ; ! PushT(CurrentAsm) ; ! PushT(CurrentInterface) ! END % ! } =: FNB --- 1463,1584 ---- "VAR" { VariableDeclaration ";" } | DefProcedureHeading ";" =: ! AsmStatement := % VAR CurrentAsm: CARDINAL ; ! tok: CARDINAL ; % ! % tok := GetTokenNo () % ! 'ASM' % PushAutoOn ; ! PushT (0) ; (* operand count *) ! PushT (MakeGnuAsm ()) % ! [ 'VOLATILE' % PopT (CurrentAsm) ; ! PutGnuAsmVolatile (CurrentAsm) ; ! PushT (CurrentAsm) % ! ] '(' AsmOperands % PopNothing ; (* throw away interface sym *) ! BuildAsm (tok) ; ! PopNothing ; (* throw away count *) ! PopAuto % ')' =: AsmOperands := % VAR CurrentAsm, count: CARDINAL ; str: CARDINAL ; % ! ConstExpression % PopT (str) ; ! PopT (CurrentAsm) ; ! Assert (IsGnuAsm (CurrentAsm) OR IsGnuAsmVolatile (CurrentAsm)) ; ! PopT (count) ; ! IF DebugAsm THEN ! printf1 ('1: count of asm operands: %d\n', count) ! END ; ! PushT (count) ; ! (* adds the name/instruction for this asm *) ! PutGnuAsm (CurrentAsm, str) ; ! PushT (CurrentAsm) ; ! PushT (NulSym) (* the InterfaceSym *) % ( AsmOperandSpec | % (* epsilon *) ! PutGnuAsmSimple (CurrentAsm) % ) =: AsmOperandSpec := % VAR CurrentAsm, outputs, inputs, trash, count: CARDINAL ; % ! ':' AsmOutputList % PopT(outputs) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm THEN ! printf1('2: output count of asm operands: %d\n', count) ! END ; ! PutGnuAsmOutput(CurrentAsm, outputs) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) % ! [ ':' AsmInputList % PopT(inputs) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm THEN ! printf1('3: input count of asm operands: %d\n', count) ! END ; ! PutGnuAsmInput(CurrentAsm, inputs) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) % ! [ ':' AsmTrashList % PopT(trash) ; ! PopT(CurrentAsm) ; ! Assert(IsGnuAsm(CurrentAsm) OR IsGnuAsmVolatile(CurrentAsm)) ; ! PopT(count) ; ! IF DebugAsm THEN ! printf1('4: trash count of asm operands: %d\n', count) ! END ; ! PutGnuAsmTrash(CurrentAsm, trash) ; ! PushT(0) ; (* reset count *) ! PushT(CurrentAsm) ; ! PushT(NulSym) (* the InterfaceSym *) % ! ] ] =: ! AsmOutputList := [ AsmOutputElement ] { ',' AsmOutputElement } =: ! ! AsmInputList := [ AsmInputElement ] { ',' AsmInputElement } =: NamedOperand := '[' Ident ']' =: AsmOperandName := ( NamedOperand | % IF IsAutoPushOn() THEN ! PushTF (NulName, identtok) END % ) =: ! AsmInputElement := AsmOperandName ! ConstExpression '(' Expression % BuildAsmElement (TRUE, FALSE) ! % ! ')' ! =: ! AsmOutputElement := AsmOperandName ! ConstExpression '(' Expression % BuildAsmElement (FALSE, TRUE) % ! ')' ! =: ! AsmTrashList := [ ConstExpression % BuildAsmTrash % ! ] { ',' ConstExpression % BuildAsmTrash % ! } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/PCBuild.bnf gcc-13.3.0/gcc/m2/gm2-compiler/PCBuild.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/PCBuild.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/PCBuild.bnf Tue May 21 07:47:38 2024 *************** NamedOperand := '[' Ident ']' =: *** 1252,1263 **** AsmOperandName := [ NamedOperand ] =: ! AsmOperands := string [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] =: ! AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName string '(' Expression ')' =: ! TrashList := [ string ] { ',' string } =: FNB --- 1252,1265 ---- AsmOperandName := [ NamedOperand ] =: ! AsmOperands := ConstExpression ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ! =: ! AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName ConstExpression '(' Expression ')' ! =: ! TrashList := [ ConstExpression ] { ',' ConstExpression } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/PCSymBuild.mod gcc-13.3.0/gcc/m2/gm2-compiler/PCSymBuild.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/PCSymBuild.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/PCSymBuild.mod Tue May 21 07:47:38 2024 *************** PROCEDURE InitDesExpr (des: CARDINAL) ; *** 806,812 **** VAR e: exprNode ; BEGIN ! NEW(e) ; WITH e^ DO tag := designator ; CASE tag OF --- 806,812 ---- VAR e: exprNode ; BEGIN ! NEW (e) ; WITH e^ DO tag := designator ; CASE tag OF *************** BEGIN *** 819,824 **** --- 819,826 ---- left := NIL END + ELSE + InternalError ('expecting designator') END END ; PushAddress (exprStack, e) *************** BEGIN *** 1168,1173 **** --- 1170,1177 ---- third := more END + ELSE + InternalError ('expecting function') END END ; PushAddress (exprStack, n) *************** BEGIN *** 1194,1199 **** --- 1198,1205 ---- expr := e END + ELSE + InternalError ('expecting convert') END END ; PushAddress(exprStack, n) *************** PROCEDURE InitLeaf (m: constType; s, t: *** 1208,1214 **** VAR l: exprNode ; BEGIN ! NEW(l) ; WITH l^ DO tag := leaf ; CASE tag OF --- 1214,1220 ---- VAR l: exprNode ; BEGIN ! NEW (l) ; WITH l^ DO tag := leaf ; CASE tag OF *************** BEGIN *** 1219,1227 **** sym := s END END END ; ! PushAddress(exprStack, l) END InitLeaf ; --- 1225,1235 ---- sym := s END + ELSE + InternalError ('expecting leaf') END END ; ! PushAddress (exprStack, l) END InitLeaf ; *************** PROCEDURE InitBinary (m: constType; t: C *** 1513,1521 **** VAR l, r, b: exprNode ; BEGIN ! r := PopAddress(exprStack) ; ! l := PopAddress(exprStack) ; ! NEW(b) ; WITH b^ DO tag := binary ; CASE tag OF --- 1521,1529 ---- VAR l, r, b: exprNode ; BEGIN ! r := PopAddress (exprStack) ; ! l := PopAddress (exprStack) ; ! NEW (b) ; WITH b^ DO tag := binary ; CASE tag OF *************** BEGIN *** 1527,1535 **** right := r ; op := o END END END ; ! PushAddress(exprStack, b) END InitBinary ; --- 1535,1545 ---- right := r ; op := o END + ELSE + InternalError ('expecting binary') END END ; ! PushAddress (exprStack, b) END InitBinary ; *************** PROCEDURE BuildRelationConst ; *** 1541,1550 **** VAR op: Name ; BEGIN ! PopT(op) ; IF inDesignator THEN ! InitBinary(boolean, Boolean, op) END END BuildRelationConst ; --- 1551,1560 ---- VAR op: Name ; BEGIN ! PopT (op) ; IF inDesignator THEN ! InitBinary (boolean, Boolean, op) END END BuildRelationConst ; *************** PROCEDURE BuildBinaryConst ; *** 1557,1566 **** VAR op: Name ; BEGIN ! PopT(op) ; IF inDesignator THEN ! InitBinary(unknown, NulSym, op) END END BuildBinaryConst ; --- 1567,1576 ---- VAR op: Name ; BEGIN ! PopT (op) ; IF inDesignator THEN ! InitBinary (unknown, NulSym, op) END END BuildBinaryConst ; *************** BEGIN *** 1586,1591 **** --- 1596,1603 ---- op := o END + ELSE + InternalError ('expecting unary') END END ; PushAddress(exprStack, b) *************** BEGIN *** 1838,1844 **** ELSE MetaError1('not expecting this function inside a constant expression {%1Dad}', func) END ! END END END WalkFunction ; --- 1850,1857 ---- ELSE MetaError1('not expecting this function inside a constant expression {%1Dad}', func) END ! END ; ! RETURN( TRUE ) END END WalkFunction ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/PHBuild.bnf gcc-13.3.0/gcc/m2/gm2-compiler/PHBuild.bnf *** gcc-13.2.0/gcc/m2/gm2-compiler/PHBuild.bnf Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/PHBuild.bnf Tue May 21 07:47:38 2024 *************** FROM M2Quads IMPORT PushT, PopT, PushTF, *** 79,85 **** BuildElsif1, BuildElsif2, BuildProcedureCall, BuildReturn, BuildNulExpression, StartBuildWith, EndBuildWith, - BuildInline, BuildCaseStart, BuildCaseOr, BuildCaseElse, --- 79,84 ---- *************** NamedOperand := '[' Ident ']' =: *** 1227,1240 **** AsmOperandName := [ NamedOperand ] =: ! AsmOperands := AsmOperandName string [ ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := string '(' Expression ')' ! =: ! TrashList := [ string ] { ',' string } =: FNB --- 1226,1239 ---- AsmOperandName := [ NamedOperand ] =: ! AsmOperands := ConstExpression ':' AsmList [ ':' AsmList [ ':' TrashList ] ] ! =: AsmList := [ AsmElement ] { ',' AsmElement } =: ! AsmElement := AsmOperandName ConstExpression '(' Expression ')' ! =: ! TrashList := [ ConstExpression ] { ',' ConstExpression } =: FNB diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/SymbolKey.mod gcc-13.3.0/gcc/m2/gm2-compiler/SymbolKey.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/SymbolKey.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/SymbolKey.mod Tue May 21 07:47:38 2024 *************** END SearchForAny ; *** 312,318 **** PROCEDURE ForeachNodeDo (t: SymbolTree; P: PerformOperation) ; BEGIN ! SearchAndDo(t^.Left, P) END ForeachNodeDo ; --- 312,318 ---- PROCEDURE ForeachNodeDo (t: SymbolTree; P: PerformOperation) ; BEGIN ! SearchAndDo (t^.Left, P) END ForeachNodeDo ; *************** BEGIN *** 327,335 **** IF t#NIL THEN WITH t^ DO ! SearchAndDo(Right, P) ; ! P(KeySym) ; ! SearchAndDo(Left, P) END END END SearchAndDo ; --- 327,335 ---- IF t#NIL THEN WITH t^ DO ! SearchAndDo (Right, P) ; ! P (KeySym) ; ! SearchAndDo (Left, P) END END END SearchAndDo ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/SymbolTable.def gcc-13.3.0/gcc/m2/gm2-compiler/SymbolTable.def *** gcc-13.2.0/gcc/m2/gm2-compiler/SymbolTable.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/SymbolTable.def Tue May 21 07:47:38 2024 *************** EXPORT QUALIFIED NulSym, *** 92,97 **** --- 92,99 ---- ForeachModuleDo, ForeachInnerModuleDo, ForeachLocalSymDo, + ForeachParamSymDo, + ForeachFieldEnumerationDo, GetModule, GetCurrentModule, *************** EXPORT QUALIFIED NulSym, *** 158,163 **** --- 160,166 ---- PutDefLink, PutModLink, PutModuleBuiltin, + PutVarArrayRef, IsVarArrayRef, PutConstSet, PutConstructor, *************** EXPORT QUALIFIED NulSym, *** 203,208 **** --- 206,212 ---- PutVariableSSA, IsVariableSSA, PutPublic, IsPublic, PutCtor, IsCtor, PutExtern, IsExtern, PutMonoName, IsMonoName, + PutVarHeap, IsVarHeap, IsDefImp, IsModule, *************** EXPORT QUALIFIED NulSym, *** 355,361 **** PopOffset, PopSumOfParamSize, DisplayTrees, ! DebugLineNumbers ; (* --- 359,369 ---- PopOffset, PopSumOfParamSize, DisplayTrees, ! DebugLineNumbers, ! VarCheckReadInit, VarInitState, PutVarInitialized, ! PutVarFieldInitialized, GetVarFieldInitialized, ! PrintInitialized, ! GetParameterHeapVar, PutProcedureParameterHeapVars ; (* *************** PROCEDURE PutModuleCtorExtern (tok: CARD *** 691,696 **** --- 699,718 ---- (* + PutVarHeap - assigns ArrayRef field with value. + *) + + PROCEDURE PutVarHeap (sym: CARDINAL; value: BOOLEAN) ; + + + (* + IsVarHeap - returns ArrayRef field value. + *) + + PROCEDURE IsVarHeap (sym: CARDINAL) : BOOLEAN ; + + + (* MakeVar - creates a variable sym with VarName. It returns the symbol index. *) *************** PROCEDURE MakeRegInterface () : CARDINAL *** 998,1007 **** sym, at position, i. The string symbol will either be a register name or a constraint. The object is an optional Modula-2 variable or constant symbol. *) ! PROCEDURE PutRegInterface (sym: CARDINAL; i: CARDINAL; ! n: Name; string, object: CARDINAL) ; (* --- 1020,1033 ---- sym, at position, i. The string symbol will either be a register name or a constraint. The object is an optional Modula-2 variable or constant symbol. + read and write are the quadruple numbers representing any read + or write operation. *) ! PROCEDURE PutRegInterface (tok: CARDINAL; ! sym: CARDINAL; i: CARDINAL; ! n: Name; string, object: CARDINAL; ! read, write: CARDINAL) ; (* *************** PROCEDURE PutRegInterface (sym: CARDINAL *** 1010,1016 **** *) PROCEDURE GetRegInterface (sym: CARDINAL; i: CARDINAL; ! VAR n: Name; VAR string, object: CARDINAL) ; (* --- 1036,1043 ---- *) PROCEDURE GetRegInterface (sym: CARDINAL; i: CARDINAL; ! VAR tok: CARDINAL; VAR n: Name; ! VAR string, object: CARDINAL) ; (* *************** PROCEDURE FromModuleGetSym (tok: CARDINA *** 1196,1203 **** (* ! GetNth - returns the n th symbol in the list of father Sym. ! Sym may be a Module, DefImp, Procedure or Record symbol. *) PROCEDURE GetNth (Sym: CARDINAL; n: CARDINAL) : CARDINAL ; --- 1223,1231 ---- (* ! GetNth - returns the n th symbol in the list associated with the scope ! of Sym. Sym may be a Module, DefImp, Procedure, Record or ! Enumeration symbol. *) PROCEDURE GetNth (Sym: CARDINAL; n: CARDINAL) : CARDINAL ; *************** PROCEDURE ForeachLocalSymDo (Sym: CARDIN *** 2390,2397 **** (* ForeachFieldEnumerationDo - for each field in enumeration, Sym, ! do procedure, P. *) PROCEDURE ForeachFieldEnumerationDo (Sym: CARDINAL; P: PerformOperation) ; --- 2418,2435 ---- (* + ForeachParamSymDo - foreach parameter symbol in procedure, Sym, + perform the procedure, P. + *) + + PROCEDURE ForeachParamSymDo (Sym: CARDINAL; P: PerformOperation) ; + + + (* ForeachFieldEnumerationDo - for each field in enumeration, Sym, ! do procedure, P. Each call to P contains ! an enumeration field, the order is alphabetical. ! Use ForeachLocalSymDo for declaration order. *) PROCEDURE ForeachFieldEnumerationDo (Sym: CARDINAL; P: PerformOperation) ; *************** PROCEDURE IsModuleBuiltin (sym: CARDINAL *** 3553,3556 **** --- 3591,3670 ---- PROCEDURE PutModuleBuiltin (sym: CARDINAL; value: BOOLEAN) ; + (* + PutVarArrayRef - assigns ArrayRef field with value. + *) + + PROCEDURE PutVarArrayRef (sym: CARDINAL; value: BOOLEAN) ; + + + (* + IsVarArrayRef - returns ArrayRef field value. + *) + + PROCEDURE IsVarArrayRef (sym: CARDINAL) : BOOLEAN ; + + + (* + VarCheckReadInit - returns TRUE if sym has been initialized. + *) + + PROCEDURE VarCheckReadInit (sym: CARDINAL; mode: ModeOfAddr) : BOOLEAN ; + + + (* + VarInitState - initializes the init state for variable sym. + *) + + PROCEDURE VarInitState (sym: CARDINAL) ; + + + (* + PutVarInitialized - set sym as initialized. + *) + + PROCEDURE PutVarInitialized (sym: CARDINAL; mode: ModeOfAddr) ; + + + (* + PutVarFieldInitialized - records that field has been initialized with + variable sym. TRUE is returned if the field + is detected and changed to initialized. + *) + + PROCEDURE PutVarFieldInitialized (sym: CARDINAL; mode: ModeOfAddr; + fieldlist: List) : BOOLEAN ; + + + (* + GetVarFieldInitialized - return TRUE if fieldlist has been initialized + within variable sym. + *) + + PROCEDURE GetVarFieldInitialized (sym: CARDINAL; mode: ModeOfAddr; + fieldlist: List) : BOOLEAN ; + + + (* + PrintInitialized - display variable sym initialization state. + *) + + PROCEDURE PrintInitialized (sym: CARDINAL) ; + + + (* + GetParameterHeapVar - return the heap variable associated with the + parameter or NulSym. + *) + + PROCEDURE GetParameterHeapVar (ParSym: CARDINAL) : CARDINAL ; + + + (* + PutProcedureParameterHeapVars - creates heap variables for parameter sym. + *) + + PROCEDURE PutProcedureParameterHeapVars (sym: CARDINAL) ; + + END SymbolTable. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-compiler/SymbolTable.mod gcc-13.3.0/gcc/m2/gm2-compiler/SymbolTable.mod *** gcc-13.2.0/gcc/m2/gm2-compiler/SymbolTable.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-compiler/SymbolTable.mod Tue May 21 07:47:38 2024 *************** FROM M2Base IMPORT MixTypes, InitBase, C *** 76,82 **** Cardinal, LongInt, LongCard, ZType, RType ; FROM M2System IMPORT Address ; ! FROM m2decl IMPORT DetermineSizeOfConstant ; FROM m2tree IMPORT Tree ; FROM m2linemap IMPORT BuiltinsLocation ; FROM StrLib IMPORT StrEqual ; --- 76,82 ---- Cardinal, LongInt, LongCard, ZType, RType ; FROM M2System IMPORT Address ; ! FROM m2decl IMPORT ConstantStringExceedsZType ; FROM m2tree IMPORT Tree ; FROM m2linemap IMPORT BuiltinsLocation ; FROM StrLib IMPORT StrEqual ; *************** FROM M2Comp IMPORT CompilingDefinitionMo *** 87,92 **** --- 87,96 ---- FROM FormatStrings IMPORT HandleEscape ; FROM M2Scaffold IMPORT DeclareArgEnvParams ; + FROM M2SymInit IMPORT InitDesc, InitSymInit, GetInitialized, ConfigSymInit, + SetInitialized, SetFieldInitialized, GetFieldInitialized, + PrintSymInit ; + IMPORT Indexing ; *************** CONST *** 110,115 **** --- 114,121 ---- TYPE LRLists = ARRAY [RightValue..LeftValue] OF List ; + LRInitDesc = ARRAY [RightValue..LeftValue] OF InitDesc ; + TypeOfSymbol = (RecordSym, VarientSym, DummySym, VarSym, EnumerationSym, SubrangeSym, ArraySym, ConstStringSym, ConstVarSym, ConstLitSym, *************** TYPE *** 134,142 **** END ; PtrToAsmConstraint = POINTER TO RECORD ! name: Name ; ! str : CARDINAL ; (* regnames or constraints *) ! obj : CARDINAL ; (* list of M2 syms *) END ; ModuleCtor = RECORD --- 140,149 ---- END ; PtrToAsmConstraint = POINTER TO RECORD ! tokpos: CARDINAL ; ! name : Name ; ! str : CARDINAL ; (* regnames or constraints *) ! obj : CARDINAL ; (* list of M2 syms *) END ; ModuleCtor = RECORD *************** TYPE *** 277,283 **** (* of enumeration. *) NoOfElements: CARDINAL ; (* No elements in enumeration *) LocalSymbols: SymbolTree ; (* Contains all enumeration *) ! (* fields. *) Size : PtrToValue ; (* Size at runtime of symbol. *) packedInfo : PackedInfo ; (* the equivalent packed type *) oafamily : CARDINAL ; (* The oafamily for this sym *) --- 284,291 ---- (* of enumeration. *) NoOfElements: CARDINAL ; (* No elements in enumeration *) LocalSymbols: SymbolTree ; (* Contains all enumeration *) ! (* fields (alphabetical). *) ! ListOfFields: List ; (* Ordered as declared. *) Size : PtrToValue ; (* Size at runtime of symbol. *) packedInfo : PackedInfo ; (* the equivalent packed type *) oafamily : CARDINAL ; (* The oafamily for this sym *) *************** TYPE *** 428,434 **** name : Name ; (* Index into name array, name *) (* of param. *) Type : CARDINAL ; (* Index to the type of param. *) ! IsUnbounded : BOOLEAN ; (* ARRAY OF Type? *) ShadowVar : CARDINAL ; (* The local variable used to *) (* shadow this parameter. *) At : Where ; (* Where was sym declared/used *) --- 436,442 ---- name : Name ; (* Index into name array, name *) (* of param. *) Type : CARDINAL ; (* Index to the type of param. *) ! IsUnbounded : BOOLEAN ; (* Is it an ARRAY OF Type? *) ShadowVar : CARDINAL ; (* The local variable used to *) (* shadow this parameter. *) At : Where ; (* Where was sym declared/used *) *************** TYPE *** 438,444 **** name : Name ; (* Index into name array, name *) (* of param. *) Type : CARDINAL ;(* Index to the type of param. *) ! IsUnbounded : BOOLEAN ; (* ARRAY OF Type? *) ShadowVar : CARDINAL ;(* The local variable used to *) (* shadow this parameter. *) At : Where ; (* Where was sym declared/used *) --- 446,455 ---- name : Name ; (* Index into name array, name *) (* of param. *) Type : CARDINAL ;(* Index to the type of param. *) ! IsUnbounded : BOOLEAN ; (* Is it an ARRAY OF Type? *) ! HeapVar : CARDINAL ;(* The pointer value on heap. *) ! (* Only used by static *) ! (* analysis. *) ShadowVar : CARDINAL ;(* The local variable used to *) (* shadow this parameter. *) At : Where ; (* Where was sym declared/used *) *************** TYPE *** 509,514 **** --- 520,529 ---- IsWritten : BOOLEAN ; (* Is variable written to? *) IsSSA : BOOLEAN ; (* Is variable a SSA? *) IsConst : BOOLEAN ; (* Is variable read/only? *) + ArrayRef : BOOLEAN ; (* Is variable used to point *) + (* to an array? *) + Heap : BOOLEAN ; (* Is var on the heap? *) + InitState : LRInitDesc ; (* Initialization state. *) At : Where ; (* Where was sym declared/used *) ReadUsageList, (* list of var read quads *) WriteUsageList: LRLists ; (* list of var write quads *) *************** TYPE *** 819,825 **** SetSym : Set : SymSet | ProcedureSym : Procedure : SymProcedure | ProcTypeSym : ProcType : SymProcType | ! ImportStatementSym : ImportStatement : SymImportStatement | ImportSym : Import : SymImport | GnuAsmSym : GnuAsm : SymGnuAsm | InterfaceSym : Interface : SymInterface | --- 834,840 ---- SetSym : Set : SymSet | ProcedureSym : Procedure : SymProcedure | ProcTypeSym : ProcType : SymProcType | ! ImportStatementSym : ImportStatement : SymImportStatement | ImportSym : Import : SymImport | GnuAsmSym : GnuAsm : SymGnuAsm | InterfaceSym : Interface : SymInterface | *************** END IsDeclaredIn ; *** 2327,2332 **** --- 2342,2387 ---- (* + SetFirstUsed - assigns the FirstUsed field in at to tok providing + it has not already been set. + *) + + PROCEDURE SetFirstUsed (tok: CARDINAL; VAR at: Where) ; + BEGIN + IF at.FirstUsed = UnknownTokenNo + THEN + at.FirstUsed := tok + END + END SetFirstUsed ; + + + (* + PutFirstUsed - sets tok to the first used providing it has not already been set. + It also includes the read and write quad into the usage list + providing the quad numbers are not 0. + *) + + PROCEDURE PutFirstUsed (object: CARDINAL; tok: CARDINAL; read, write: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (object) + THEN + pSym := GetPsym (object) ; + SetFirstUsed (tok, pSym^.Var.At) ; + IF read # 0 + THEN + PutReadQuad (object, GetMode (object), read) + END ; + IF write # 0 + THEN + PutWriteQuad (object, GetMode (object), write) + END + END + END PutFirstUsed ; + + + (* MakeGnuAsm - create a GnuAsm symbol. *) *************** VAR *** 2336,2347 **** Sym : CARDINAL ; BEGIN NewSym(Sym) ; ! pSym := GetPsym(Sym) ; WITH pSym^ DO SymbolType := GnuAsmSym ; WITH GnuAsm DO String := NulSym ; ! InitWhereDeclared(At) ; Inputs := NulSym ; Outputs := NulSym ; Trashed := NulSym ; --- 2391,2402 ---- Sym : CARDINAL ; BEGIN NewSym(Sym) ; ! pSym := GetPsym (Sym) ; WITH pSym^ DO SymbolType := GnuAsmSym ; WITH GnuAsm DO String := NulSym ; ! InitWhereDeclared (At) ; Inputs := NulSym ; Outputs := NulSym ; Trashed := NulSym ; *************** PROCEDURE PutGnuAsm (sym: CARDINAL; stri *** 2361,2367 **** VAR pSym: PtrToSymbol ; BEGIN ! Assert(IsConstString(string)) ; pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF --- 2416,2422 ---- VAR pSym: PtrToSymbol ; BEGIN ! Assert (IsConstString (string)) ; pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF *************** BEGIN *** 2388,2394 **** WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN( GnuAsm.String ) ELSE InternalError ('expecting GnuAsm symbol') --- 2443,2449 ---- WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN GnuAsm.String ELSE InternalError ('expecting GnuAsm symbol') *************** PROCEDURE PutGnuAsmInput (sym: CARDINAL; *** 2426,2432 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF --- 2481,2487 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (sym) ; WITH pSym^ DO CASE SymbolType OF *************** PROCEDURE PutGnuAsmTrash (sym: CARDINAL; *** 2447,2453 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF --- 2502,2508 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (sym) ; WITH pSym^ DO CASE SymbolType OF *************** PROCEDURE GetGnuAsmInput (sym: CARDINAL) *** 2468,2478 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN( GnuAsm.Inputs ) ELSE InternalError ('expecting PutGnuAsm symbol') --- 2523,2533 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN GnuAsm.Inputs ELSE InternalError ('expecting PutGnuAsm symbol') *************** PROCEDURE GetGnuAsmOutput (sym: CARDINAL *** 2489,2499 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN( GnuAsm.Outputs ) ELSE InternalError ('expecting PutGnuAsm symbol') --- 2544,2554 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN GnuAsm.Outputs ELSE InternalError ('expecting PutGnuAsm symbol') *************** PROCEDURE GetGnuAsmTrash (sym: CARDINAL) *** 2510,2520 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN( GnuAsm.Trashed ) ELSE InternalError ('expecting PutGnuAsm symbol') --- 2565,2575 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (sym) ; WITH pSym^ DO CASE SymbolType OF ! GnuAsmSym: RETURN GnuAsm.Trashed ELSE InternalError ('expecting PutGnuAsm symbol') *************** PROCEDURE PutGnuAsmVolatile (Sym: CARDIN *** 2531,2537 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(Sym) ; WITH pSym^ DO CASE SymbolType OF --- 2586,2592 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (Sym) ; WITH pSym^ DO CASE SymbolType OF *************** PROCEDURE PutGnuAsmSimple (Sym: CARDINAL *** 2552,2558 **** VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym(Sym) ; WITH pSym^ DO CASE SymbolType OF --- 2607,2613 ---- VAR pSym: PtrToSymbol ; BEGIN ! pSym := GetPsym (Sym) ; WITH pSym^ DO CASE SymbolType OF *************** VAR *** 2574,2586 **** pSym: PtrToSymbol ; Sym : CARDINAL ; BEGIN ! NewSym(Sym) ; ! pSym := GetPsym(Sym) ; WITH pSym^ DO SymbolType := InterfaceSym ; WITH Interface DO ! Parameters := InitIndex(1) ; ! InitWhereDeclared(At) END END ; RETURN( Sym ) --- 2629,2641 ---- pSym: PtrToSymbol ; Sym : CARDINAL ; BEGIN ! NewSym (Sym) ; ! pSym := GetPsym (Sym) ; WITH pSym^ DO SymbolType := InterfaceSym ; WITH Interface DO ! Parameters := InitIndex (1) ; ! InitWhereDeclared (At) END END ; RETURN( Sym ) *************** END MakeRegInterface ; *** 2592,2600 **** sym, at position, i. The string symbol will either be a register name or a constraint. The object is an optional Modula-2 variable or constant symbol. *) ! PROCEDURE PutRegInterface (sym: CARDINAL; i: CARDINAL; n: Name; string, object: CARDINAL) ; VAR pSym : PtrToSymbol ; p : PtrToAsmConstraint ; --- 2647,2659 ---- sym, at position, i. The string symbol will either be a register name or a constraint. The object is an optional Modula-2 variable or constant symbol. + read and write are the quadruple numbers representing any read + or write operation. *) ! PROCEDURE PutRegInterface (tok: CARDINAL; ! sym: CARDINAL; i: CARDINAL; n: Name; string, object: CARDINAL; ! read, write: CARDINAL) ; VAR pSym : PtrToSymbol ; p : PtrToAsmConstraint ; *************** BEGIN *** 2614,2623 **** InternalError ('expecting to add parameters sequentially') END ; WITH p^ DO ! name := n ; ! str := string ; ! obj := object ! END ELSE InternalError ('expecting Interface symbol') --- 2673,2684 ---- InternalError ('expecting to add parameters sequentially') END ; WITH p^ DO ! tokpos := tok ; ! name := n ; ! str := string ; ! obj := object ! END ; ! PutFirstUsed (object, tok, read, write) ELSE InternalError ('expecting Interface symbol') *************** END PutRegInterface ; *** 2631,2637 **** sym, from position, i. *) ! PROCEDURE GetRegInterface (sym: CARDINAL; i: CARDINAL; VAR n: Name; VAR string, object: CARDINAL) ; VAR pSym: PtrToSymbol ; p : PtrToAsmConstraint ; --- 2692,2699 ---- sym, from position, i. *) ! PROCEDURE GetRegInterface (sym: CARDINAL; i: CARDINAL; ! VAR tok: CARDINAL; VAR n: Name; VAR string, object: CARDINAL) ; VAR pSym: PtrToSymbol ; p : PtrToAsmConstraint ; *************** BEGIN *** 2644,2654 **** --- 2706,2718 ---- THEN p := Indexing.GetIndice(Interface.Parameters, i) ; WITH p^ DO + tok := tokpos ; n := name ; string := str ; object := obj END ELSE + tok := UnknownTokenNo ; n := NulName ; string := NulSym ; object := NulSym *************** BEGIN *** 4194,4205 **** IsWritten := FALSE ; IsSSA := FALSE ; IsConst := FALSE ; InitWhereDeclaredTok(tok, At) ; InitWhereFirstUsedTok(tok, At) ; (* Where symbol first used. *) InitList(ReadUsageList[RightValue]) ; InitList(WriteUsageList[RightValue]) ; InitList(ReadUsageList[LeftValue]) ; ! InitList(WriteUsageList[LeftValue]) END END ; (* Add Var to Procedure or Module variable list. *) --- 4258,4273 ---- IsWritten := FALSE ; IsSSA := FALSE ; IsConst := FALSE ; + ArrayRef := FALSE ; + Heap := FALSE ; InitWhereDeclaredTok(tok, At) ; InitWhereFirstUsedTok(tok, At) ; (* Where symbol first used. *) InitList(ReadUsageList[RightValue]) ; InitList(WriteUsageList[RightValue]) ; InitList(ReadUsageList[LeftValue]) ; ! InitList(WriteUsageList[LeftValue]) ; ! InitState[LeftValue] := InitSymInit () ; ! InitState[RightValue] := InitSymInit () END END ; (* Add Var to Procedure or Module variable list. *) *************** BEGIN *** 4568,4573 **** --- 4636,4642 ---- (* enumeration type. *) Size := InitValue () ; (* Size at runtime of sym *) InitTree (LocalSymbols) ; (* Enumeration fields. *) + InitList (ListOfFields) ; (* Ordered as declared. *) InitPacked (packedInfo) ; (* not packed and no *) (* equivalent (yet). *) oafamily := oaf ; (* The open array family *) *************** END IsHiddenType ; *** 6376,6385 **** PROCEDURE GetConstLitType (tok: CARDINAL; name: Name; VAR overflow: BOOLEAN; issueError: BOOLEAN) : CARDINAL ; VAR ! loc : location_t ; ! s : String ; ! needsLong, ! needsUnsigned: BOOLEAN ; BEGIN s := InitStringCharStar (KeyToCharStar (name)) ; IF char (s, -1) = 'C' --- 6445,6452 ---- PROCEDURE GetConstLitType (tok: CARDINAL; name: Name; VAR overflow: BOOLEAN; issueError: BOOLEAN) : CARDINAL ; VAR ! loc: location_t ; ! s : String ; BEGIN s := InitStringCharStar (KeyToCharStar (name)) ; IF char (s, -1) = 'C' *************** BEGIN *** 6395,6421 **** loc := TokenToLocation (tok) ; CASE char (s, -1) OF ! 'H': overflow := DetermineSizeOfConstant (loc, string (s), 16, ! needsLong, needsUnsigned, issueError) | ! 'B': overflow := DetermineSizeOfConstant (loc, string (s), 8, ! needsLong, needsUnsigned, issueError) | ! 'A': overflow := DetermineSizeOfConstant (loc, string (s), 2, ! needsLong, needsUnsigned, issueError) ELSE ! overflow := DetermineSizeOfConstant (loc, string (s), 10, ! needsLong, needsUnsigned, issueError) END ; s := KillString (s) ; - (* - IF needsLong AND needsUnsigned - THEN - RETURN LongCard - ELSIF needsLong AND (NOT needsUnsigned) - THEN - RETURN LongInt - END ; - *) RETURN ZType END END GetConstLitType ; --- 6462,6475 ---- loc := TokenToLocation (tok) ; CASE char (s, -1) OF ! 'H': overflow := ConstantStringExceedsZType (loc, string (s), 16, issueError) | ! 'B': overflow := ConstantStringExceedsZType (loc, string (s), 8, issueError) | ! 'A': overflow := ConstantStringExceedsZType (loc, string (s), 2, issueError) ELSE ! overflow := ConstantStringExceedsZType (loc, string (s), 10, issueError) END ; s := KillString (s) ; RETURN ZType END END GetConstLitType ; *************** END GetNthFromComponent ; *** 6485,6492 **** (* ! GetNth - returns the n th symbol in the list of father Sym. ! Sym may be a Module, DefImp, Procedure or Record symbol. *) PROCEDURE GetNth (Sym: CARDINAL; n: CARDINAL) : CARDINAL ; --- 6539,6547 ---- (* ! GetNth - returns the n th symbol in the list associated with the scope ! of Sym. Sym may be a Module, DefImp, Procedure, Record or ! Enumeration symbol. *) PROCEDURE GetNth (Sym: CARDINAL; n: CARDINAL) : CARDINAL ; *************** BEGIN *** 6498,6511 **** WITH pSym^ DO CASE SymbolType OF ! RecordSym : i := GetItemFromList(Record.ListOfSons, n) | ! VarientSym : i := GetItemFromList(Varient.ListOfSons, n) | ! VarientFieldSym : i := GetItemFromList(VarientField.ListOfSons, n) | ! ProcedureSym : i := GetItemFromList(Procedure.ListOfVars, n) | ! DefImpSym : i := GetItemFromList(DefImp.ListOfVars, n) | ! ModuleSym : i := GetItemFromList(Module.ListOfVars, n) | ! TupleSym : i := GetFromIndex(Tuple.list, n) | ! VarSym : i := GetNthFromComponent(Sym, n) ELSE InternalError ('cannot GetNth from this symbol') --- 6553,6567 ---- WITH pSym^ DO CASE SymbolType OF ! RecordSym : i := GetItemFromList (Record.ListOfSons, n) | ! VarientSym : i := GetItemFromList (Varient.ListOfSons, n) | ! VarientFieldSym : i := GetItemFromList (VarientField.ListOfSons, n) | ! ProcedureSym : i := GetItemFromList (Procedure.ListOfVars, n) | ! DefImpSym : i := GetItemFromList (DefImp.ListOfVars, n) | ! ModuleSym : i := GetItemFromList (Module.ListOfVars, n) | ! TupleSym : i := GetFromIndex (Tuple.list, n) | ! VarSym : i := GetNthFromComponent (Sym, n) | ! EnumerationSym : i := GetItemFromList (Enumeration.ListOfFields, n) ELSE InternalError ('cannot GetNth from this symbol') *************** BEGIN *** 6562,6568 **** WITH pSym^ DO CASE SymbolType OF ! VarSym : Var.Type := VarType | ConstVarSym: ConstVar.Type := VarType ELSE --- 6618,6626 ---- WITH pSym^ DO CASE SymbolType OF ! VarSym : Var.Type := VarType ; ! ConfigSymInit (Var.InitState[LeftValue], Sym) ; ! ConfigSymInit (Var.InitState[RightValue], Sym) | ConstVarSym: ConstVar.Type := VarType ELSE *************** BEGIN *** 6655,6661 **** WITH pSym^.Var DO RETURN( IsPointerCheck ) END ! END END GetVarPointerCheck ; --- 6713,6720 ---- WITH pSym^.Var DO RETURN( IsPointerCheck ) END ! END ; ! RETURN FALSE END GetVarPointerCheck ; *************** END PutConst ; *** 6759,6764 **** --- 6818,6907 ---- (* + PutVarArrayRef - assigns ArrayRef field with value. + *) + + PROCEDURE PutVarArrayRef (sym: CARDINAL; value: BOOLEAN) ; + VAR + pSym: PtrToSymbol ; + BEGIN + pSym := GetPsym(sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: Var.ArrayRef := value + + ELSE + InternalError ('expecting VarSym') + END + END + END PutVarArrayRef ; + + + (* + IsVarArrayRef - returns ArrayRef field value. + *) + + PROCEDURE IsVarArrayRef (sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN + pSym := GetPsym(sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: RETURN (Var.ArrayRef) + + ELSE + InternalError ('expecting VarSym') + END + END + END IsVarArrayRef ; + + + (* + PutVarHeap - assigns ArrayRef field with value. + *) + + PROCEDURE PutVarHeap (sym: CARDINAL; value: BOOLEAN) ; + VAR + pSym: PtrToSymbol ; + BEGIN + pSym := GetPsym(sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: Var.Heap := value + + ELSE + InternalError ('expecting VarSym') + END + END + END PutVarHeap ; + + + (* + IsVarHeap - returns ArrayRef field value. + *) + + PROCEDURE IsVarHeap (sym: CARDINAL) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN + pSym := GetPsym(sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: RETURN (Var.Heap) + + ELSE + InternalError ('expecting VarSym') + END + END + END IsVarHeap ; + + + (* PutFieldRecord - places a field, FieldName and FieldType into a record, Sym. VarSym is a optional varient symbol which can be returned by a call to GetVarient(fieldsymbol). The created field *************** BEGIN *** 7290,7296 **** FieldName, GetDeclaredMod(GetSymKey(LocalSymbols, FieldName))) ELSE ! PutSymKey(LocalSymbols, FieldName, Field) END END --- 7433,7440 ---- FieldName, GetDeclaredMod(GetSymKey(LocalSymbols, FieldName))) ELSE ! PutSymKey(LocalSymbols, FieldName, Field) ; ! IncludeItemIntoList (ListOfFields, Field) END END *************** BEGIN *** 7798,7804 **** IsHiddenTypeDeclared(CurrentModule) AND (TypeName#NulName) THEN ! (* Check to see whether we are declaring a HiddenType. *) pSym := GetPsym(CurrentModule) ; WITH pSym^ DO CASE SymbolType OF --- 7942,7948 ---- IsHiddenTypeDeclared(CurrentModule) AND (TypeName#NulName) THEN ! (* Check to see whether we are declaring a HiddenType. *) pSym := GetPsym(CurrentModule) ; WITH pSym^ DO CASE SymbolType OF *************** END ForeachLocalSymDo ; *** 8853,8858 **** --- 8997,9027 ---- (* + ForeachParamSymDo - foreach parameter symbol in procedure, Sym, + perform the procedure, P. Each symbol + looked up will be VarParam or Param + (not the shadow variable). + *) + + PROCEDURE ForeachParamSymDo (Sym: CARDINAL; P: PerformOperation) ; + VAR + param: CARDINAL ; + p, i : CARDINAL ; + BEGIN + IF IsProcedure (Sym) + THEN + p := NoOfParam (Sym) ; + i := p ; + WHILE i>0 DO + param := GetNthParam (Sym, i) ; + P (param) ; + DEC(i) + END + END + END ForeachParamSymDo ; + + + (* CheckForUnknownInModule - checks for any unknown symbols in the current module. If any unknown symbols are found then *************** BEGIN *** 8868,8887 **** CASE SymbolType OF DefImpSym: WITH DefImp DO ! CheckForUnknowns( name, ExportQualifiedTree, ! 'EXPORT QUALIFIED' ) ; ! CheckForUnknowns( name, ExportUnQualifiedTree, ! 'EXPORT UNQUALIFIED' ) ; ! CheckForSymbols ( ExportRequest, ! 'requested by another modules import (symbols have not been exported by the appropriate definition module)' ) ; ! CheckForUnknowns( name, Unresolved, 'unresolved' ) ; ! CheckForUnknowns( name, LocalSymbols, 'locally used' ) END | ModuleSym: WITH Module DO ! CheckForUnknowns( name, Unresolved, 'unresolved' ) ; ! CheckForUnknowns( name, ExportUndeclared, 'exported but undeclared' ) ; ! CheckForUnknowns( name, ExportTree, 'exported but undeclared' ) ; ! CheckForUnknowns( name, LocalSymbols, 'locally used' ) END ELSE --- 9037,9056 ---- CASE SymbolType OF DefImpSym: WITH DefImp DO ! CheckForUnknowns (name, ExportQualifiedTree, ! 'EXPORT QUALIFIED') ; ! CheckForUnknowns (name, ExportUnQualifiedTree, ! 'EXPORT UNQUALIFIED') ; ! CheckForSymbols (ExportRequest, ! 'requested by another modules import (symbols have not been exported by the appropriate definition module)') ; ! CheckForUnknowns (name, Unresolved, 'unresolved') ; ! CheckForUnknowns (name, LocalSymbols, 'locally used') END | ModuleSym: WITH Module DO ! CheckForUnknowns (name, Unresolved, 'unresolved') ; ! CheckForUnknowns (name, ExportUndeclared, 'exported but undeclared') ; ! CheckForUnknowns (name, ExportTree, 'exported but undeclared') ; ! CheckForUnknowns (name, LocalSymbols, 'locally used') END ELSE *************** VAR *** 8943,8954 **** PROCEDURE AddListify (sym: CARDINAL) ; BEGIN INC (ListifyWordCount) ; ! IF ListifyWordCount = ListifyTotal ! THEN ! ListifySentance := ConCat (ListifySentance, Mark (InitString (" and "))) ! ELSIF ListifyWordCount > 1 THEN ! ListifySentance := ConCat (ListifySentance, Mark (InitString (", "))) END ; ListifySentance := ConCat (ListifySentance, Mark (InitStringCharStar (KeyToCharStar (GetSymName (sym))))) --- 9112,9127 ---- PROCEDURE AddListify (sym: CARDINAL) ; BEGIN INC (ListifyWordCount) ; ! (* printf ("AddListify: ListifyWordCount = %d, ListifyTotal = %d\n", ! ListifyWordCount, ListifyTotal) ; *) ! IF ListifyWordCount > 1 THEN ! IF ListifyWordCount = ListifyTotal ! THEN ! ListifySentance := ConCat (ListifySentance, Mark (InitString (" and "))) ! ELSE ! ListifySentance := ConCat (ListifySentance, Mark (InitString (", "))) ! END END ; ListifySentance := ConCat (ListifySentance, Mark (InitStringCharStar (KeyToCharStar (GetSymName (sym))))) *************** VAR *** 9921,9951 **** pSym : PtrToSymbol ; VariableSym: CARDINAL ; BEGIN ! VariableSym := MakeVar(tok, ParamName) ; ! pSym := GetPsym(VariableSym) ; WITH pSym^ DO CASE SymbolType OF ErrorSym: RETURN( NulSym ) | ! VarSym : Var.IsParam := TRUE (* Variable is really a parameter *) ELSE InternalError ('expecting a Var symbol') END END ; ! (* Note that the parameter is now treated as a local variable *) ! PutVar(VariableSym, GetType(GetNthParam(ProcSym, no))) ; ! PutDeclared(tok, VariableSym) ; (* Normal VAR parameters have LeftValue, however Unbounded VAR parameters have RightValue. Non VAR parameters always have RightValue. *) ! IF IsVarParam(ProcSym, no) AND (NOT IsUnboundedParam(ProcSym, no)) THEN ! PutMode(VariableSym, LeftValue) ELSE ! PutMode(VariableSym, RightValue) END ; RETURN( VariableSym ) END MakeVariableForParam ; --- 10094,10124 ---- pSym : PtrToSymbol ; VariableSym: CARDINAL ; BEGIN ! VariableSym := MakeVar (tok, ParamName) ; ! pSym := GetPsym (VariableSym) ; WITH pSym^ DO CASE SymbolType OF ErrorSym: RETURN( NulSym ) | ! VarSym : Var.IsParam := TRUE (* Variable is really a parameter. *) ELSE InternalError ('expecting a Var symbol') END END ; ! (* Note that the parameter is now treated as a local variable. *) ! PutVar (VariableSym, GetType(GetNthParam(ProcSym, no))) ; ! PutDeclared (tok, VariableSym) ; (* Normal VAR parameters have LeftValue, however Unbounded VAR parameters have RightValue. Non VAR parameters always have RightValue. *) ! IF IsVarParam (ProcSym, no) AND (NOT IsUnboundedParam (ProcSym, no)) THEN ! PutMode (VariableSym, LeftValue) ELSE ! PutMode (VariableSym, RightValue) END ; RETURN( VariableSym ) END MakeVariableForParam ; *************** BEGIN *** 10032,10037 **** --- 10205,10211 ---- Type := ParamType ; IsUnbounded := isUnbounded ; ShadowVar := NulSym ; + HeapVar := NulSym ; (* Will contain a pointer value. *) InitWhereDeclaredTok(tok, At) END END ; *************** END GetOptArgInit ; *** 10395,10400 **** --- 10569,10651 ---- (* + MakeParameterHeapVar - create a heap variable if sym is a pointer. + *) + + PROCEDURE MakeParameterHeapVar (tok: CARDINAL; type: CARDINAL; mode: ModeOfAddr) : CARDINAL ; + VAR + heapvar: CARDINAL ; + BEGIN + heapvar := NulSym ; + type := SkipType (type) ; + IF IsPointer (type) + THEN + heapvar := MakeTemporary (tok, mode) ; + PutVar (heapvar, type) ; + PutVarHeap (heapvar, TRUE) + END ; + RETURN heapvar + END MakeParameterHeapVar ; + + + (* + GetParameterHeapVar - return the heap variable associated with the + parameter or NulSym. + *) + + PROCEDURE GetParameterHeapVar (ParSym: CARDINAL) : CARDINAL ; + VAR + pSym: PtrToSymbol ; + BEGIN + pSym := GetPsym (ParSym) ; + WITH pSym^ DO + CASE SymbolType OF + + ParamSym : RETURN NulSym | (* Only VarParam has the pointer. *) + VarParamSym: RETURN VarParam.HeapVar + + ELSE + InternalError ('expecting Param or VarParam symbol') + END + END + END GetParameterHeapVar ; + + + (* + PutParameterHeapVar - creates a heap variable associated with parameter sym. + *) + + PROCEDURE PutParameterHeapVar (sym: CARDINAL) ; + VAR + pSym : PtrToSymbol ; + BEGIN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + ParamSym : | (* Nothing to do for the non var parameter. *) + VarParamSym: VarParam.HeapVar := MakeParameterHeapVar (GetDeclaredMod (sym), + VarParam.Type, LeftValue) + + ELSE + InternalError ('Param or VarParam symbol expected') + END + END + END PutParameterHeapVar ; + + + (* + PutProcedureParameterHeapVars - creates heap variables for parameter sym. + *) + + PROCEDURE PutProcedureParameterHeapVars (sym: CARDINAL) ; + BEGIN + Assert (IsProcedure (sym)) ; + ForeachParamSymDo (sym, PutParameterHeapVar) + END PutProcedureParameterHeapVars ; + + + (* NoOfVariables - returns the number of variables in scope. The scope maybe a procedure, module or defimp scope. *) *************** VAR *** 11988,11993 **** --- 12239,12245 ---- pSym: PtrToSymbol ; s : CARDINAL ; BEGIN + s := NulSym ; IF IsModule (sym) OR IsDefImp (sym) THEN RETURN( CollectSymbolFrom (tok, sym, n) ) *************** BEGIN *** 12012,12018 **** s := CollectUnknown (tok, GetScope (sym), n) END ; RETURN( s ) ! END END CollectUnknown ; --- 12264,12271 ---- s := CollectUnknown (tok, GetScope (sym), n) END ; RETURN( s ) ! END ; ! RETURN( s ) END CollectUnknown ; *************** END ForeachModuleDo ; *** 13316,13322 **** (* ForeachFieldEnumerationDo - for each field in enumeration, Sym, ! do procedure, P. *) PROCEDURE ForeachFieldEnumerationDo (Sym: CARDINAL; P: PerformOperation) ; --- 13569,13577 ---- (* ForeachFieldEnumerationDo - for each field in enumeration, Sym, ! do procedure, P. Each call to P contains ! an enumeration field, the order is alphabetical. ! Use ForeachLocalSymDo for declaration order. *) PROCEDURE ForeachFieldEnumerationDo (Sym: CARDINAL; P: PerformOperation) ; *************** BEGIN *** 13327,13333 **** WITH pSym^ DO CASE SymbolType OF ! EnumerationSym: ForeachNodeDo( Enumeration.LocalSymbols, P) ELSE InternalError ('expecting Enumeration symbol') --- 13582,13588 ---- WITH pSym^ DO CASE SymbolType OF ! EnumerationSym: ForeachNodeDo (Enumeration.LocalSymbols, P) ELSE InternalError ('expecting Enumeration symbol') *************** END GetDefaultRecordFieldAlignment ; *** 14306,14311 **** --- 14561,14722 ---- (* + VarCheckReadInit - returns TRUE if sym has been initialized. + *) + + PROCEDURE VarCheckReadInit (sym: CARDINAL; mode: ModeOfAddr) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: RETURN GetInitialized (Var.InitState[mode]) + + ELSE + END + END + END ; + RETURN FALSE + END VarCheckReadInit ; + + + (* + VarInitState - initializes the init state for variable sym. + *) + + PROCEDURE VarInitState (sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: ConfigSymInit (Var.InitState[LeftValue], sym) ; + ConfigSymInit (Var.InitState[RightValue], sym) + + ELSE + END + END + END + END VarInitState ; + + + (* + PutVarInitialized - set sym as initialized. + *) + + PROCEDURE PutVarInitialized (sym: CARDINAL; mode: ModeOfAddr) ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: WITH Var DO + SetInitialized (InitState[mode]) + END + + ELSE + END + END + END + END PutVarInitialized ; + + + (* + PutVarFieldInitialized - records that field has been initialized with + variable sym. TRUE is returned if the field + is detected and changed to initialized. + *) + + PROCEDURE PutVarFieldInitialized (sym: CARDINAL; mode: ModeOfAddr; + fieldlist: List) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: WITH Var DO + RETURN SetFieldInitialized (InitState[mode], fieldlist) + END + + ELSE + END + END + END ; + RETURN FALSE + END PutVarFieldInitialized ; + + + (* + GetVarFieldInitialized - return TRUE if fieldlist has been initialized + within variable sym. + *) + + PROCEDURE GetVarFieldInitialized (sym: CARDINAL; mode: ModeOfAddr; + fieldlist: List) : BOOLEAN ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: WITH Var DO + RETURN GetFieldInitialized (InitState[mode], fieldlist) + END + + ELSE + END + END + END ; + RETURN FALSE + END GetVarFieldInitialized ; + + + (* + PrintInitialized - display variable sym initialization state. + *) + + PROCEDURE PrintInitialized (sym: CARDINAL) ; + VAR + pSym: PtrToSymbol ; + BEGIN + IF IsVar (sym) + THEN + pSym := GetPsym (sym) ; + WITH pSym^ DO + CASE SymbolType OF + + VarSym: printf0 ("LeftMode init: ") ; + PrintSymInit (Var.InitState[LeftValue]) ; + printf0 ("RightMode init: ") ; + PrintSymInit (Var.InitState[RightValue]) + + ELSE + END + END + END + END PrintInitialized ; + + + (* DumpSymbols - display all symbol numbers and their type. *) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/gcc-consolidation.h gcc-13.3.0/gcc/m2/gm2-gcc/gcc-consolidation.h *** gcc-13.2.0/gcc/m2/gm2-gcc/gcc-consolidation.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/gcc-consolidation.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 25,34 **** #include "realmpfr.h" #include "backend.h" #include "stringpool.h" - #include "rtl.h" #include "tree.h" #include "predict.h" - #include "df.h" #include "tm.h" #include "hash-set.h" #include "machmode.h" --- 25,32 ---- *************** along with GNU Modula-2; see the file CO *** 69,75 **** #include "cfganal.h" #include "predict.h" #include "basic-block.h" - #include "df.h" #include "tree-ssa-alias.h" #include "internal-fn.h" #include "gimple-expr.h" --- 67,72 ---- *************** along with GNU Modula-2; see the file CO *** 80,86 **** #include "stringpool.h" #include "tree-nested.h" #include "print-tree.h" - #include "except.h" #include "toplev.h" #include "convert.h" #include "tree-dump.h" --- 77,82 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/init.cc gcc-13.3.0/gcc/m2/gm2-gcc/init.cc *** gcc-13.2.0/gcc/m2/gm2-gcc/init.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/init.cc Tue May 21 07:47:38 2024 *************** EXTERN void _M2_dtoa_init (int argc, cha *** 103,108 **** --- 103,109 ---- EXTERN void _M2_ldtoa_init (int argc, char *argv[], char *envp[]); EXTERN void _M2_M2Check_init (int argc, char *argv[], char *envp[]); EXTERN void _M2_M2SSA_init (int argc, char *argv[], char *envp[]); + EXTERN void _M2_M2SymInit_init (int argc, char *argv[], char *envp[]); EXTERN void exit (int); EXTERN void M2Comp_compile (const char *filename); EXTERN void RTExceptions_DefaultErrorCatch (void); *************** init_PerCompilationInit (const char *fil *** 195,200 **** --- 196,202 ---- _M2_PCBuild_init (0, NULL, NULL); _M2_Sets_init (0, NULL, NULL); _M2_M2SSA_init (0, NULL, NULL); + _M2_M2SymInit_init (0, NULL, NULL); _M2_M2Check_init (0, NULL, NULL); M2Comp_compile (filename); } diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.cc gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.cc *** gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.cc Tue May 21 07:47:38 2024 *************** m2decl_DeclareModuleCtor (tree decl) *** 284,306 **** return decl; } ! /* DetermineSizeOfConstant - given, str, and, base, fill in needsLong ! and needsUnsigned appropriately. */ bool ! m2decl_DetermineSizeOfConstant (location_t location, ! const char *str, unsigned int base, ! bool *needsLong, bool *needsUnsigned, ! bool issueError) { ! unsigned int ulow; ! int high; ! bool overflow = m2expr_interpret_m2_integer (location, ! str, base, &ulow, &high, ! needsLong, needsUnsigned); ! if (overflow && issueError) ! error_at (location, "constant %qs is too large", str); ! return overflow; } /* BuildConstLiteralNumber - returns a GCC TREE built from the --- 284,298 ---- return decl; } ! /* ConstantStringExceedsZType return TRUE if str cannot be represented in the ZTYPE. */ bool ! m2decl_ConstantStringExceedsZType (location_t location, ! const char *str, unsigned int base, ! bool issueError) { ! widest_int wval; ! return m2expr_StrToWideInt (location, str, base, wval, issueError); } /* BuildConstLiteralNumber - returns a GCC TREE built from the *************** tree *** 311,340 **** m2decl_BuildConstLiteralNumber (location_t location, const char *str, unsigned int base, bool issueError) { ! tree value, type; ! unsigned HOST_WIDE_INT low; ! HOST_WIDE_INT high; ! HOST_WIDE_INT ival[3]; ! bool overflow = m2expr_interpret_integer (location, str, base, &low, &high); ! bool needLong, needUnsigned; ! ! ival[0] = low; ! ival[1] = high; ! ival[2] = 0; ! ! widest_int wval = widest_int::from_array (ival, 3); ! ! bool overflow_m2 = m2decl_DetermineSizeOfConstant (location, str, base, ! &needLong, &needUnsigned, ! issueError); ! if (needUnsigned && needLong) ! type = m2type_GetM2LongCardType (); ! else ! type = m2type_GetM2LongIntType (); ! ! value = wide_int_to_tree (type, wval); ! if (issueError && (overflow || overflow_m2 || m2expr_TreeOverflow (value))) error_at (location, "constant %qs is too large", str); return m2block_RememberConstant (value); --- 303,314 ---- m2decl_BuildConstLiteralNumber (location_t location, const char *str, unsigned int base, bool issueError) { ! widest_int wval; ! tree value; ! bool overflow = m2expr_StrToWideInt (location, str, base, wval, issueError); ! value = wide_int_to_tree (m2type_GetM2ZType (), wval); ! if (issueError && (overflow || m2expr_TreeOverflow (value))) error_at (location, "constant %qs is too large", str); return m2block_RememberConstant (value); diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.def gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.def *** gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.def Tue May 21 07:47:38 2024 *************** PROCEDURE RememberVariables (l: Tree) ; *** 161,174 **** (* ! DetermineSizeOfConstant - given, str, and, base, fill in ! needsLong and needsUnsigned appropriately. *) ! PROCEDURE DetermineSizeOfConstant (location: location_t; ! str: ADDRESS; base: CARDINAL; ! VAR needsLong, needsUnsigned: BOOLEAN; ! issueError: BOOLEAN) : BOOLEAN ; (* --- 161,172 ---- (* ! ConstantStringExceedsZType - return TRUE if str exceeds the ZTYPE range. *) ! PROCEDURE ConstantStringExceedsZType (location: location_t; ! str: ADDRESS; base: CARDINAL; ! issueError: BOOLEAN) : BOOLEAN ; (* diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.h gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.h *** gcc-13.2.0/gcc/m2/gm2-gcc/m2decl.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2decl.h Tue May 21 07:47:38 2024 *************** EXTERN tree m2decl_BuildConstLiteralNumb *** 51,61 **** const char *str, unsigned int base, bool issueError); ! EXTERN bool m2decl_DetermineSizeOfConstant (location_t location, ! const char *str, unsigned int base, ! bool *needsLong, ! bool *needsUnsigned, ! bool issueError); EXTERN void m2decl_RememberVariables (tree l); EXTERN tree m2decl_BuildEndFunctionDeclaration ( --- 51,59 ---- const char *str, unsigned int base, bool issueError); ! EXTERN bool m2decl_ConstantStringExceedsZType (location_t location, ! const char *str, unsigned int base, ! bool issueError); EXTERN void m2decl_RememberVariables (tree l); EXTERN tree m2decl_BuildEndFunctionDeclaration ( diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.cc gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.cc *** gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.cc Tue May 21 07:47:38 2024 *************** m2expr_BuildBinaryForeachWordDo (locatio *** 3855,4127 **** } } - /* Append DIGIT to NUM, a number of PRECISION bits being read in base - BASE. */ - - static int - append_digit (location_t location, - unsigned HOST_WIDE_INT *low, HOST_WIDE_INT *high, - unsigned int digit, unsigned int base) - { - unsigned int shift; - int overflow; - HOST_WIDE_INT add_high, res_high, test_high; - unsigned HOST_WIDE_INT add_low, res_low, test_low; - - switch (base) - { - - case 2: - shift = 1; - break; - case 8: - shift = 3; - break; - case 10: - shift = 3; - break; - case 16: - shift = 4; - break; - - default: - shift = 3; - m2linemap_internal_error_at (location, - "not expecting this base value for a constant"); - } - - /* Multiply by 2, 8 or 16. Catching this overflow here means we - don't need to worry about add_high overflowing. */ - if (((*high) >> (INT_TYPE_SIZE - shift)) == 0) - overflow = false; - else - overflow = true; - - res_high = *high << shift; - res_low = *low << shift; - res_high |= (*low) >> (INT_TYPE_SIZE - shift); ! if (base == 10) ! { ! add_low = (*low) << 1; ! add_high = ((*high) << 1) + ((*low) >> (INT_TYPE_SIZE - 1)); ! } ! else ! add_high = add_low = 0; ! ! test_low = add_low + digit; ! if (test_low < add_low) ! add_high++; ! add_low += digit; ! ! test_low = res_low + add_low; ! if (test_low < res_low) ! add_high++; ! test_high = res_high + add_high; ! if (test_high < res_high) ! overflow = true; ! ! *low = res_low + add_low; ! *high = res_high + add_high; ! ! return overflow; ! } ! ! /* interpret_integer convert an integer constant into two integer ! constants. Heavily borrowed from gcc/cppexp.cc. */ ! ! int ! m2expr_interpret_integer (location_t location, const char *str, unsigned int base, ! unsigned HOST_WIDE_INT *low, HOST_WIDE_INT *high) ! { ! unsigned const char *p, *end; ! int overflow = false; ! int len; ! ! *low = 0; ! *high = 0; ! p = (unsigned const char *)str; ! len = strlen (str); ! end = p + len; ! ! /* Common case of a single digit. */ ! if (len == 1) ! *low = p[0] - '0'; ! else ! { ! unsigned int c = 0; ! ! /* We can add a digit to numbers strictly less than this without ! needing the precision and slowness of double integers. */ ! ! unsigned HOST_WIDE_INT max = ~(unsigned HOST_WIDE_INT)0; ! max = (max - base + 1) / base + 1; ! ! for (; p < end; p++) ! { ! c = *p; ! ! if (ISDIGIT (c) || (base == 16 && ISXDIGIT (c))) ! c = hex_value (c); ! else ! return overflow; ! ! /* Strict inequality for when max is set to zero. */ ! if (*low < max) ! *low = (*low) * base + c; ! else ! { ! overflow = append_digit (location, low, high, c, base); ! max = 0; /* From now on we always use append_digit. */ ! } ! } ! } ! return overflow; ! } ! ! /* Append DIGIT to NUM, a number of PRECISION bits being read in base ! BASE. */ ! static int ! append_m2_digit (location_t location, ! unsigned int *low, int *high, unsigned int digit, ! unsigned int base, bool *needsUnsigned) { ! unsigned int shift; ! bool overflow; ! int add_high, res_high, test_high; ! unsigned int add_low, res_low, test_low; ! unsigned int add_uhigh, res_uhigh, test_uhigh; ! switch (base) { ! case 2: ! shift = 1; ! break; ! case 8: ! shift = 3; ! break; ! case 10: ! shift = 3; ! break; ! case 16: ! shift = 4; ! break; ! default: ! shift = 3; ! m2linemap_internal_error_at (location, ! "not expecting this base value for a constant"); } ! ! /* Multiply by 2, 8 or 16. Catching this overflow here means we ! don't need to worry about add_high overflowing. */ ! if (((*high) >> (INT_TYPE_SIZE - shift)) == 0) ! overflow = false; ! else ! overflow = true; ! ! res_high = *high << shift; ! res_low = *low << shift; ! res_high |= (*low) >> (INT_TYPE_SIZE - shift); ! ! if (base == 10) { ! add_low = (*low) << 1; ! add_high = ((*high) << 1) + ((*low) >> (INT_TYPE_SIZE - 1)); } else - add_high = add_low = 0; - - test_low = add_low + digit; - if (test_low < add_low) - add_high++; - add_low += digit; - - test_low = res_low + add_low; - if (test_low < res_low) - add_high++; - test_high = res_high + add_high; - if (test_high < res_high) { ! res_uhigh = res_high; ! add_uhigh = add_high; ! test_uhigh = res_uhigh + add_uhigh; ! if (test_uhigh < res_uhigh) ! overflow = true; ! else ! *needsUnsigned = true; } - - *low = res_low + add_low; - *high = res_high + add_high; - - return overflow; } - /* interpret_m2_integer convert an integer constant into two integer - constants. Heavily borrowed from gcc/cppexp.cc. Note that this is a - copy of the above code except that it uses `int' rather than - HOST_WIDE_INT to allow gm2 to determine what Modula-2 base type to - use for this constant and it also sets needsLong and needsUnsigned - if an overflow can be avoided by using these techniques. */ - - int - m2expr_interpret_m2_integer (location_t location, - const char *str, unsigned int base, - unsigned int *low, int *high, - bool *needsLong, bool *needsUnsigned) - { - const unsigned char *p, *end; - int len; - *needsLong = false; - *needsUnsigned = false; - - *low = 0; - *high = 0; - p = (unsigned const char *)str; - len = strlen (str); - end = p + len; - - /* Common case of a single digit. */ - if (len == 1) - *low = p[0] - '0'; - else - { - unsigned int c = 0; - - /* We can add a digit to numbers strictly less than this without - needing the precision and slowness of double integers. */ - - unsigned int max = ~(unsigned int)0; - max = (max - base + 1) / base + 1; - - for (; p < end; p++) - { - c = *p; - - if (ISDIGIT (c) || (base == 16 && ISXDIGIT (c))) - c = hex_value (c); - else - return false; /* End of string and no overflow found. */ - - /* Strict inequality for when max is set to zero. */ - if (*low < max) - *low = (*low) * base + c; - else - { - *needsLong = true; - if (append_m2_digit (location, - low, high, c, base, - needsUnsigned)) - return true; /* We have overflowed so bail out. */ - max = 0; /* From now on we always use append_digit. */ - } - } - } - return false; - } /* GetSizeOfInBits return the number of bits used to contain, type. */ --- 3855,3977 ---- } } ! /* StrToWideInt return true if an overflow occurs when attempting to convert ! str to an unsigned ZTYPE the value is contained in the widest_int result. ! The value result is undefined if true is returned. */ ! bool ! m2expr_StrToWideInt (location_t location, const char *str, unsigned int base, ! widest_int &result, bool issueError) { ! tree type = m2type_GetM2ZType (); ! unsigned int i = 0; ! wi::overflow_type overflow = wi::OVF_NONE; ! widest_int wbase = wi::to_widest (m2decl_BuildIntegerConstant (base)); ! unsigned int digit = 0; ! result = wi::to_widest (m2decl_BuildIntegerConstant (0)); ! bool base_specifier = false; ! while (((str[i] != (char)0) && (overflow == wi::OVF_NONE)) ! && (! base_specifier)) { + char ch = str[i]; ! switch (base) ! { ! /* GNU m2 extension allows 'A' to represent binary literals. */ ! case 2: ! if (ch == 'A') ! base_specifier = true; ! else if ((ch < '0') || (ch > '1')) ! { ! if (issueError) ! error_at (location, ! "constant literal %qs contains %qc, expected 0 or 1", ! str, ch); ! return true; ! } ! else ! digit = (unsigned int) (ch - '0'); ! break; ! case 8: ! /* An extension of 'B' indicates octal ZTYPE and 'C' octal character. */ ! if ((ch == 'B') || (ch == 'C')) ! base_specifier = true; ! else if ((ch < '0') || (ch > '7')) ! { ! if (issueError) ! error_at (location, ! "constant literal %qs contains %qc, expected %qs", ! str, ch, "0..7"); ! return true; ! } ! else ! digit = (unsigned int) (ch - '0'); ! break; ! case 10: ! if ((ch < '0') || (ch > '9')) ! { ! if (issueError) ! error_at (location, ! "constant literal %qs contains %qc, expected %qs", ! str, ch, "0..9"); ! return true; ! } ! else ! digit = (unsigned int) (ch - '0'); ! break; ! case 16: ! /* An extension of 'H' indicates hexidecimal ZTYPE. */ ! if (ch == 'H') ! base_specifier = true; ! else if ((ch >= '0') && (ch <= '9')) ! digit = (unsigned int) (ch - '0'); ! else if ((ch >= 'A') && (ch <= 'F')) ! digit = ((unsigned int) (ch - 'A')) + 10; ! else ! { ! if (issueError) ! error_at (location, ! "constant literal %qs contains %qc, expected %qs or %qs", ! str, ch, "0..9", "A..F"); ! return true; ! } ! break; ! default: ! gcc_unreachable (); ! } ! if (! base_specifier) ! { ! widest_int wdigit = wi::to_widest (m2decl_BuildIntegerConstant (digit)); ! result = wi::umul (result, wbase, &overflow); ! if (overflow == wi::OVF_NONE) ! result = wi::add (result, wdigit, UNSIGNED, &overflow); ! } ! i++; } ! if (overflow == wi::OVF_NONE) { ! tree value = wide_int_to_tree (type, result); ! if (m2expr_TreeOverflow (value)) ! { ! if (issueError) ! error_at (location, ! "constant literal %qs exceeds internal ZTYPE range", str); ! return true; ! } ! return false; } else { ! if (issueError) ! error_at (location, ! "constant literal %qs exceeds internal ZTYPE range", str); ! return true; } } /* GetSizeOfInBits return the number of bits used to contain, type. */ diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.def gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.def *** gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.def Tue May 21 07:47:38 2024 *************** TYPE *** 44,49 **** --- 44,53 ---- PROCEDURE init (location: location_t) ; + + PROCEDURE CheckConstStrZtypeRange (location: location_t; + str: ADDRESS; base: CARDINAL) : BOOLEAN ; + (* CompareTrees - returns -1 if e1 < e2, 0 if e1 == e2, and 1 if e1 > e2. *) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.h gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.h *** gcc-13.2.0/gcc/m2/gm2-gcc/m2expr.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2expr.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 35,40 **** --- 35,42 ---- #endif /* !__GNUG__. */ #endif /* !m2expr_c. */ + EXTERN bool m2expr_StrToWideInt (location_t location, const char *str, unsigned int base, + widest_int &wval, bool issueError); EXTERN void m2expr_BuildBinaryForeachWordDo ( location_t location, tree type, tree op1, tree op2, tree op3, tree (*binop) (location_t, tree, tree, bool), bool is_op1lvalue, diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2options.h gcc-13.3.0/gcc/m2/gm2-gcc/m2options.h *** gcc-13.2.0/gcc/m2/gm2-gcc/m2options.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2options.h Tue May 21 07:47:38 2024 *************** EXTERN void M2Options_SetM2Prefix (const *** 136,141 **** --- 136,143 ---- EXTERN char *M2Options_GetM2Prefix (void); EXTERN void M2Options_SetM2PathName (const char *arg); EXTERN char *M2Options_GetM2PathName (void); + EXTERN int M2Options_SetUninitVariableChecking (bool value, const char *arg); + EXTERN void M2Options_SetCaseEnumChecking (bool value); #undef EXTERN #endif /* m2options_h. */ diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2tree.cc gcc-13.3.0/gcc/m2/gm2-gcc/m2tree.cc *** gcc-13.2.0/gcc/m2/gm2-gcc/m2tree.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2tree.cc Tue May 21 07:47:38 2024 *************** bool *** 120,127 **** m2tree_IsAConstant (tree t) { return (TREE_CODE (t) == INTEGER_CST) || (TREE_CODE (t) == REAL_CST) ! || (TREE_CODE (t) == REAL_CST) || (TREE_CODE (t) == COMPLEX_CST) ! || (TREE_CODE (t) == STRING_CST); } --- 120,127 ---- m2tree_IsAConstant (tree t) { return (TREE_CODE (t) == INTEGER_CST) || (TREE_CODE (t) == REAL_CST) ! || (TREE_CODE (t) == REAL_CST) || (TREE_CODE (t) == COMPLEX_CST) ! || (TREE_CODE (t) == STRING_CST) || (TREE_CODE (t) == CONSTRUCTOR); } diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-gcc/m2type.cc gcc-13.3.0/gcc/m2/gm2-gcc/m2type.cc *** gcc-13.2.0/gcc/m2/gm2-gcc/m2type.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-gcc/m2type.cc Tue May 21 07:47:38 2024 *************** build_m2_word64_type_node (location_t lo *** 364,369 **** --- 364,370 ---- m2decl_BuildIntegerConstant (7), loc); } + /* GetM2Complex32 return the fixed size complex type. */ tree *************** build_m2_long_real_node (void) *** 1475,1480 **** --- 1476,1497 ---- } static tree + build_m2_ztype_node (void) + { + tree ztype_node; + + /* Define `ZTYPE'. */ + + if (targetm.scalar_mode_supported_p (TImode)) + ztype_node = gm2_type_for_size (128, 0); + else + ztype_node = gm2_type_for_size (64, 0); + layout_type (ztype_node); + + return ztype_node; + } + + static tree build_m2_long_int_node (void) { tree c; *************** m2type_InitBaseTypes (location_t locatio *** 1761,1767 **** m2_long_card_type_node = build_m2_long_card_node (); m2_short_int_type_node = build_m2_short_int_node (); m2_short_card_type_node = build_m2_short_card_node (); ! m2_z_type_node = build_m2_long_int_node (); m2_integer8_type_node = build_m2_integer8_type_node (location); m2_integer16_type_node = build_m2_integer16_type_node (location); m2_integer32_type_node = build_m2_integer32_type_node (location); --- 1778,1784 ---- m2_long_card_type_node = build_m2_long_card_node (); m2_short_int_type_node = build_m2_short_int_node (); m2_short_card_type_node = build_m2_short_card_node (); ! m2_z_type_node = build_m2_ztype_node (); m2_integer8_type_node = build_m2_integer8_type_node (location); m2_integer16_type_node = build_m2_integer16_type_node (location); m2_integer32_type_node = build_m2_integer32_type_node (location); diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-lang.cc gcc-13.3.0/gcc/m2/gm2-lang.cc *** gcc-13.2.0/gcc/m2/gm2-lang.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-lang.cc Tue May 21 07:47:38 2024 *************** gm2_langhook_handle_option ( *** 469,480 **** --- 469,487 ---- case OPT_Wunused_parameter: M2Options_SetUnusedParameterChecking (value); return 1; + case OPT_Wuninit_variable_checking: + return M2Options_SetUninitVariableChecking (value, "known"); + case OPT_Wuninit_variable_checking_: + return M2Options_SetUninitVariableChecking (value, arg); case OPT_fm2_strict_type: M2Options_SetStrictTypeChecking (value); return 1; case OPT_Wall: M2Options_SetWall (value); return 1; + case OPT_Wcase_enum: + M2Options_SetCaseEnumChecking (value); + return 1; #if 0 /* Not yet implemented. */ case OPT_fxcode: *************** gm2_mark_addressable (tree exp) *** 1107,1147 **** tree gm2_type_for_size (unsigned int bits, int unsignedp) { - tree type; - if (unsignedp) { if (bits == INT_TYPE_SIZE) ! type = unsigned_type_node; else if (bits == CHAR_TYPE_SIZE) ! type = unsigned_char_type_node; else if (bits == SHORT_TYPE_SIZE) ! type = short_unsigned_type_node; else if (bits == LONG_TYPE_SIZE) ! type = long_unsigned_type_node; else if (bits == LONG_LONG_TYPE_SIZE) ! type = long_long_unsigned_type_node; else ! type = build_nonstandard_integer_type (bits, unsignedp); } else { if (bits == INT_TYPE_SIZE) ! type = integer_type_node; else if (bits == CHAR_TYPE_SIZE) ! type = signed_char_type_node; else if (bits == SHORT_TYPE_SIZE) ! type = short_integer_type_node; else if (bits == LONG_TYPE_SIZE) ! type = long_integer_type_node; else if (bits == LONG_LONG_TYPE_SIZE) ! type = long_long_integer_type_node; else ! type = build_nonstandard_integer_type (bits, unsignedp); } ! return type; } /* Allow the analyzer to understand Storage ALLOCATE/DEALLOCATE. */ --- 1114,1153 ---- tree gm2_type_for_size (unsigned int bits, int unsignedp) { if (unsignedp) { if (bits == INT_TYPE_SIZE) ! return unsigned_type_node; else if (bits == CHAR_TYPE_SIZE) ! return unsigned_char_type_node; else if (bits == SHORT_TYPE_SIZE) ! return short_unsigned_type_node; else if (bits == LONG_TYPE_SIZE) ! return long_unsigned_type_node; else if (bits == LONG_LONG_TYPE_SIZE) ! return long_long_unsigned_type_node; else ! return build_nonstandard_integer_type (bits, unsignedp); } else { if (bits == INT_TYPE_SIZE) ! return integer_type_node; else if (bits == CHAR_TYPE_SIZE) ! return signed_char_type_node; else if (bits == SHORT_TYPE_SIZE) ! return short_integer_type_node; else if (bits == LONG_TYPE_SIZE) ! return long_integer_type_node; else if (bits == LONG_LONG_TYPE_SIZE) ! return long_long_integer_type_node; else ! return build_nonstandard_integer_type (bits, unsignedp); } ! /* Never reach here. */ ! gcc_unreachable (); } /* Allow the analyzer to understand Storage ALLOCATE/DEALLOCATE. */ diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs/DynamicStrings.mod gcc-13.3.0/gcc/m2/gm2-libs/DynamicStrings.mod *** gcc-13.2.0/gcc/m2/gm2-libs/DynamicStrings.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs/DynamicStrings.mod Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 26,32 **** IMPLEMENTATION MODULE DynamicStrings ; ! FROM libc IMPORT strlen, strncpy, write, exit ; FROM StrLib IMPORT StrLen ; FROM Storage IMPORT ALLOCATE, DEALLOCATE ; FROM Assertion IMPORT Assert ; --- 26,32 ---- IMPLEMENTATION MODULE DynamicStrings ; ! FROM libc IMPORT strlen, strncpy, write, exit, snprintf ; FROM StrLib IMPORT StrLen ; FROM Storage IMPORT ALLOCATE, DEALLOCATE ; FROM Assertion IMPORT Assert ; *************** END writeLongcard ; *** 411,422 **** (* ! writeAddress - *) PROCEDURE writeAddress (a: ADDRESS) ; BEGIN ! writeLongcard (VAL (LONGCARD, a)) END writeAddress ; --- 411,425 ---- (* ! writeAddress - writes out the address of a with a C style hex prefix. *) PROCEDURE writeAddress (a: ADDRESS) ; + VAR + buffer: ARRAY [0..30] OF CHAR ; BEGIN ! snprintf (ADR (buffer), SIZE (buffer), "0x%", a) ; ! writeString (buffer) ; END writeAddress ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs/FIO.def gcc-13.3.0/gcc/m2/gm2-libs/FIO.def *** gcc-13.2.0/gcc/m2/gm2-libs/FIO.def Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs/FIO.def Tue May 21 07:47:38 2024 *************** PROCEDURE ReadNBytes (f: File; nBytes: C *** 159,165 **** (* ! ReadAny - reads HIGH(a) bytes into, a. All input is fully buffered, unlike ReadNBytes and thus is more suited to small reads. *) --- 159,165 ---- (* ! ReadAny - reads HIGH (a) + 1 bytes into, a. All input is fully buffered, unlike ReadNBytes and thus is more suited to small reads. *) *************** PROCEDURE WriteNBytes (f: File; nBytes: *** 180,186 **** (* ! WriteAny - writes HIGH(a) bytes onto, file, f. All output is fully buffered, unlike WriteNBytes and thus is more suited to small writes. *) --- 180,186 ---- (* ! WriteAny - writes HIGH (a) + 1 bytes onto, file, f. All output is fully buffered, unlike WriteNBytes and thus is more suited to small writes. *) diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs/FIO.mod gcc-13.3.0/gcc/m2/gm2-libs/FIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs/FIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs/FIO.mod Tue May 21 07:47:38 2024 *************** END ReadNBytes ; *** 664,672 **** Useful when performing small reads. *) ! PROCEDURE BufferedRead (f: File; nBytes: CARDINAL; a: ADDRESS) : INTEGER ; VAR ! t : ADDRESS ; total, n : INTEGER ; p : POINTER TO BYTE ; --- 664,672 ---- Useful when performing small reads. *) ! PROCEDURE BufferedRead (f: File; nBytes: CARDINAL; dest: ADDRESS) : INTEGER ; VAR ! src : ADDRESS ; total, n : INTEGER ; p : POINTER TO BYTE ; *************** VAR *** 674,725 **** BEGIN IF f#Error THEN ! fd := GetIndice(FileInfo, f) ; total := 0 ; (* how many bytes have we read *) IF fd#NIL THEN WITH fd^ DO (* extract from the buffer first *) ! IF buffer#NIL THEN WITH buffer^ DO ! WHILE nBytes>0 DO ! IF (left>0) AND valid THEN ! IF nBytes=1 THEN (* too expensive to call memcpy for 1 character *) ! p := a ; p^ := contents^[position] ; ! DEC(left) ; (* remove consumed byte *) ! INC(position) ; (* move onwards n byte *) ! INC(total) ; RETURN( total ) ELSE ! n := Min(left, nBytes) ; ! t := address ; ! INC(t, position) ; ! p := memcpy(a, t, n) ; ! DEC(left, n) ; (* remove consumed bytes *) ! INC(position, n) ; (* move onwards n bytes *) (* move onwards ready for direct reads *) ! INC(a, n) ; ! DEC(nBytes, n) ; (* reduce the amount for future direct *) (* read *) ! INC(total, n) END ELSE (* refill buffer *) ! n := read(unixfd, address, size) ; ! IF n>=0 THEN valid := TRUE ; position := 0 ; left := n ; filled := n ; bufstart := abspos ; ! INC(abspos, n) ; ! IF n=0 THEN (* eof reached *) state := endoffile ; --- 674,725 ---- BEGIN IF f#Error THEN ! fd := GetIndice (FileInfo, f) ; total := 0 ; (* how many bytes have we read *) IF fd#NIL THEN WITH fd^ DO (* extract from the buffer first *) ! IF buffer # NIL THEN WITH buffer^ DO ! WHILE nBytes > 0 DO ! IF (left > 0) AND valid THEN ! IF nBytes = 1 THEN (* too expensive to call memcpy for 1 character *) ! p := dest ; p^ := contents^[position] ; ! DEC (left) ; (* remove consumed byte *) ! INC (position) ; (* move onwards n byte *) ! INC (total) ; RETURN( total ) ELSE ! n := Min (left, nBytes) ; ! src := address ; ! INC (src, position) ; ! p := memcpy (dest, src, n) ; ! DEC (left, n) ; (* remove consumed bytes *) ! INC (position, n) ; (* move onwards n bytes *) (* move onwards ready for direct reads *) ! INC (dest, n) ; ! DEC (nBytes, n) ; (* reduce the amount for future direct *) (* read *) ! INC (total, n) END ELSE (* refill buffer *) ! n := read (unixfd, address, size) ; ! IF n >= 0 THEN valid := TRUE ; position := 0 ; left := n ; filled := n ; bufstart := abspos ; ! INC (abspos, n) ; ! IF n = 0 THEN (* eof reached *) state := endoffile ; *************** END UnReadChar ; *** 1083,1089 **** (* ! ReadAny - reads HIGH(a) bytes into, a. All input is fully buffered, unlike ReadNBytes and thus is more suited to small reads. *) --- 1083,1089 ---- (* ! ReadAny - reads HIGH (a) + 1 bytes into, a. All input is fully buffered, unlike ReadNBytes and thus is more suited to small reads. *) *************** END UnReadChar ; *** 1091,1099 **** PROCEDURE ReadAny (f: File; VAR a: ARRAY OF BYTE) ; BEGIN CheckAccess(f, openedforread, FALSE) ; ! IF BufferedRead (f, HIGH (a), ADR (a)) = VAL (INTEGER, HIGH (a)) THEN ! SetEndOfLine(f, a[HIGH(a)]) END END ReadAny ; --- 1091,1099 ---- PROCEDURE ReadAny (f: File; VAR a: ARRAY OF BYTE) ; BEGIN CheckAccess(f, openedforread, FALSE) ; ! IF BufferedRead (f, HIGH (a) + 1, ADR (a)) = VAL (INTEGER, HIGH (a) + 1) THEN ! SetEndOfLine (f, a[HIGH(a)]) END END ReadAny ; *************** END WriteNBytes ; *** 1232,1282 **** Useful when performing small writes. *) ! PROCEDURE BufferedWrite (f: File; nBytes: CARDINAL; a: ADDRESS) : INTEGER ; VAR ! t : ADDRESS ; total, n : INTEGER ; p : POINTER TO BYTE ; fd : FileDescriptor ; BEGIN ! IF f#Error THEN ! fd := GetIndice(FileInfo, f) ; IF fd#NIL THEN total := 0 ; (* how many bytes have we read *) WITH fd^ DO ! IF buffer#NIL THEN WITH buffer^ DO ! WHILE nBytes>0 DO (* place into the buffer first *) ! IF left>0 THEN ! IF nBytes=1 THEN (* too expensive to call memcpy for 1 character *) ! p := a ; contents^[position] := p^ ; ! DEC(left) ; (* reduce space *) ! INC(position) ; (* move onwards n byte *) ! INC(total) ; RETURN( total ) ELSE ! n := Min(left, nBytes) ; ! t := address ; ! INC(t, position) ; ! p := memcpy(a, t, CARDINAL(n)) ; ! DEC(left, n) ; (* remove consumed bytes *) ! INC(position, n) ; (* move onwards n bytes *) ! (* move ready for further writes *) ! INC(a, n) ; ! DEC(nBytes, n) ; (* reduce the amount for future writes *) ! INC(total, n) END ELSE ! FlushBuffer(f) ; IF (state#successful) AND (state#endofline) THEN nBytes := 0 --- 1232,1282 ---- Useful when performing small writes. *) ! PROCEDURE BufferedWrite (f: File; nBytes: CARDINAL; src: ADDRESS) : INTEGER ; VAR ! dest : ADDRESS ; total, n : INTEGER ; p : POINTER TO BYTE ; fd : FileDescriptor ; BEGIN ! IF f # Error THEN ! fd := GetIndice (FileInfo, f) ; IF fd#NIL THEN total := 0 ; (* how many bytes have we read *) WITH fd^ DO ! IF buffer # NIL THEN WITH buffer^ DO ! WHILE nBytes > 0 DO (* place into the buffer first *) ! IF left > 0 THEN ! IF nBytes = 1 THEN (* too expensive to call memcpy for 1 character *) ! p := src ; contents^[position] := p^ ; ! DEC (left) ; (* reduce space *) ! INC (position) ; (* move onwards n byte *) ! INC (total) ; RETURN( total ) ELSE ! n := Min (left, nBytes) ; ! dest := address ; ! INC (dest, position) ; ! p := memcpy (dest, src, CARDINAL (n)) ; ! DEC (left, n) ; (* remove consumed bytes *) ! INC (position, n) ; (* move onwards n bytes *) ! (* move ready for further writes *) ! INC (src, n) ; ! DEC (nBytes, n) ; (* reduce the amount for future writes *) ! INC (total, n) END ELSE ! FlushBuffer (f) ; IF (state#successful) AND (state#endofline) THEN nBytes := 0 *************** END FlushBuffer ; *** 1329,1335 **** (* ! WriteAny - writes HIGH(a) bytes onto, file, f. All output is fully buffered, unlike WriteNBytes and thus is more suited to small writes. *) --- 1329,1335 ---- (* ! WriteAny - writes HIGH (a) + 1 bytes onto, file, f. All output is fully buffered, unlike WriteNBytes and thus is more suited to small writes. *) *************** END FlushBuffer ; *** 1337,1343 **** PROCEDURE WriteAny (f: File; VAR a: ARRAY OF BYTE) ; BEGIN CheckAccess (f, openedforwrite, TRUE) ; ! IF BufferedWrite (f, HIGH (a), ADR (a)) = VAL (INTEGER, HIGH (a)) THEN END END WriteAny ; --- 1337,1343 ---- PROCEDURE WriteAny (f: File; VAR a: ARRAY OF BYTE) ; BEGIN CheckAccess (f, openedforwrite, TRUE) ; ! IF BufferedWrite (f, HIGH (a) + 1, ADR (a)) = VAL (INTEGER, HIGH (a) + 1) THEN END END WriteAny ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs/IO.mod gcc-13.3.0/gcc/m2/gm2-libs/IO.mod *** gcc-13.2.0/gcc/m2/gm2-libs/IO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs/IO.mod Tue May 21 07:47:38 2024 *************** END EchoOff ; *** 344,361 **** *) PROCEDURE Init ; BEGIN ! WITH fdState[0] DO ! IsEof := FALSE ; ! IsRaw := FALSE ! END ; ! WITH fdState[1] DO ! IsEof := FALSE ; ! IsRaw := FALSE ! END ; ! WITH fdState[2] DO ! IsEof := FALSE ; ! IsRaw := FALSE END END Init ; --- 344,355 ---- *) PROCEDURE Init ; + VAR + fdi: CARDINAL ; BEGIN ! FOR fdi := 0 TO HIGH (fdState) DO ! fdState[fdi].IsEof := FALSE ; ! fdState[fdi].IsRaw := FALSE END END Init ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs/M2Dependent.mod gcc-13.3.0/gcc/m2/gm2-libs/M2Dependent.mod *** gcc-13.2.0/gcc/m2/gm2-libs/M2Dependent.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs/M2Dependent.mod Tue May 21 07:47:38 2024 *************** IMPLEMENTATION MODULE M2Dependent ; *** 28,35 **** FROM libc IMPORT abort, exit, write, getenv, printf, snprintf, strncpy ; - (* FROM Builtins IMPORT strncmp, strcmp ; not available during bootstrap. *) - (* FROM M2LINK IMPORT ForcedModuleInitOrder, StaticInitialization, PtrToChar ; *) FROM ASCII IMPORT nul, nl ; FROM SYSTEM IMPORT ADR, SIZE ; FROM Storage IMPORT ALLOCATE ; --- 28,33 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-coroutines/TimerHandler.mod gcc-13.3.0/gcc/m2/gm2-libs-coroutines/TimerHandler.mod *** gcc-13.2.0/gcc/m2/gm2-libs-coroutines/TimerHandler.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-coroutines/TimerHandler.mod Tue May 21 07:47:38 2024 *************** CONST *** 41,48 **** MaxQuantum = 4 ; (* Maximum ticks a process may consume *) (* before being rescheduled. *) BaseTicks = 1000000 ; (* Max resolution of clock ticks per sec *) ! TimerStackSize = 100000H ; (* Reasonable sized stack for a process *) ! Debugging = FALSE ; (* Do you want lots of debugging info? *) TYPE EVENT = POINTER TO RECORD --- 41,49 ---- MaxQuantum = 4 ; (* Maximum ticks a process may consume *) (* before being rescheduled. *) BaseTicks = 1000000 ; (* Max resolution of clock ticks per sec *) ! TimerStackSize = 100000H ; (* Reasonable sized stack for a process *) ! Debugging = FALSE ; (* Do you want lots of debugging info? *) ! EnableLED = FALSE ; (* Should the scroll LED be pulsed? *) TYPE EVENT = POINTER TO RECORD *************** BEGIN *** 328,348 **** (* Now compenstate for lost ticks *) StartClock (TimerIntNo, CurrentCount + (BaseTicks DIV TicksPerSecond)) ; ! (* your code needs to go here *) ! INC (TotalTicks) ; (* (iii) *) (* remove for student *) ! (* now pulse scroll LED *) (* remove for student *) ! IF (TotalTicks MOD TicksPerSecond) = 0 (* remove for student *) ! THEN (* remove for student *) ! ScrollLED := NOT ScrollLED ; (* remove for student *) ! (* r := printf("", TotalTicks); *) ! SwitchScroll(ScrollLED) (* (iv) *) (* remove for student *) ! END ; (* remove for student *) ! IF (TotalTicks MOD MaxQuantum) = 0 (* remove for student *) ! THEN (* remove for student *) ! RotateRunQueue (* (ii) *) (* remove for student *) ! END ; (* remove for student *) ! CheckActiveQueue (* (i) *) (* remove for student *) END END Timer ; --- 329,351 ---- (* Now compenstate for lost ticks *) StartClock (TimerIntNo, CurrentCount + (BaseTicks DIV TicksPerSecond)) ; ! INC (TotalTicks) ; (* (iii) *) ! IF EnableLED ! THEN ! (* now pulse scroll LED *) ! IF (TotalTicks MOD TicksPerSecond) = 0 ! THEN ! ScrollLED := NOT ScrollLED ; ! (* r := printf("", TotalTicks); *) ! SwitchScroll(ScrollLED) (* (iv) *) ! END ! END ; ! IF (TotalTicks MOD MaxQuantum) = 0 ! THEN ! RotateRunQueue (* (ii) *) ! END ; ! CheckActiveQueue (* (i) *) END END Timer ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/LongIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/LongIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/LongIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/LongIO.mod Tue May 21 07:47:38 2024 *************** FROM DynamicStrings IMPORT String, char, *** 30,35 **** --- 30,36 ---- FROM LongConv IMPORT ScanReal ; FROM StringChan IMPORT writeString, writeFieldWidth ; FROM ldtoa IMPORT strtold ; + FROM TextUtil IMPORT SkipSpaces ; (* The text form of a signed fixed-point real number is *************** VAR *** 55,60 **** --- 56,62 ---- s : String ; error : BOOLEAN ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; nextState := ScanReal ; REPEAT diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/LongWholeIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/LongWholeIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/LongWholeIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/LongWholeIO.mod Tue May 21 07:47:38 2024 *************** FROM StringConvert IMPORT LongIntegerToS *** 33,38 **** --- 33,39 ---- FROM WholeConv IMPORT ScanInt, ScanCard ; FROM StringChan IMPORT writeString ; FROM IOConsts IMPORT ReadResults ; + FROM TextUtil IMPORT SkipSpaces ; (* Input and output of whole numbers in decimal text form *************** VAR *** 63,68 **** --- 64,70 ---- ch : CHAR ; negative : BOOLEAN ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; negative := FALSE ; c := 0 ; *************** VAR *** 133,138 **** --- 135,141 ---- ch : CHAR ; c : LONGCARD ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; c := 0 ; nextState := ScanCard ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/RTgen.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/RTgen.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/RTgen.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/RTgen.mod Tue May 21 07:47:38 2024 *************** PROCEDURE doLook (g: ChanDev; *** 282,310 **** d: DeviceTablePtr; VAR ch: CHAR; VAR r: ReadResults) ; - VAR - old: ReadResults ; BEGIN checkValid(g, d) ; WITH d^ DO checkErrno(g, d) ; checkPreRead(g, d, RaiseEOFinLook(g), ChanConsts.rawFlag IN flags) ; IF (result=IOConsts.allRight) OR (result=IOConsts.notKnown) OR ! (result=IOConsts.endOfLine) THEN - old := result ; ch := doReadChar(g^.genif, d) ; setReadResult(g, d) ; r := result ; ! ch := doUnReadChar(g^.genif, d, ch) ; ! result := old END END END doLook ; (* ! doSkip - *) PROCEDURE doSkip (g: ChanDev; --- 282,306 ---- d: DeviceTablePtr; VAR ch: CHAR; VAR r: ReadResults) ; BEGIN checkValid(g, d) ; WITH d^ DO checkErrno(g, d) ; checkPreRead(g, d, RaiseEOFinLook(g), ChanConsts.rawFlag IN flags) ; IF (result=IOConsts.allRight) OR (result=IOConsts.notKnown) OR ! (result=IOConsts.endOfLine) THEN ch := doReadChar(g^.genif, d) ; setReadResult(g, d) ; r := result ; ! ch := doUnReadChar(g^.genif, d, ch) END END END doLook ; (* ! doSkip - *) PROCEDURE doSkip (g: ChanDev; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/RealIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/RealIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/RealIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/RealIO.mod Tue May 21 07:47:38 2024 *************** FROM DynamicStrings IMPORT String, char, *** 30,35 **** --- 30,36 ---- FROM RealConv IMPORT ScanReal ; FROM StringChan IMPORT writeString, writeFieldWidth ; FROM dtoa IMPORT strtod ; + FROM TextUtil IMPORT SkipSpaces ; (* The text form of a signed fixed-point real number is *************** VAR *** 55,60 **** --- 56,62 ---- s : String ; error : BOOLEAN ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; nextState := ScanReal ; REPEAT diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/SeqFile.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/SeqFile.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/SeqFile.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/SeqFile.mod Tue May 21 07:47:38 2024 *************** END checkOpenErrno ; *** 150,156 **** PROCEDURE newCid (fname: ARRAY OF CHAR; f: FlagSet; VAR res: OpenResults; ! toRead: BOOLEAN; whichreset: ResetProc) : ChanId ; VAR c : RTio.ChanId ; --- 150,156 ---- PROCEDURE newCid (fname: ARRAY OF CHAR; f: FlagSet; VAR res: OpenResults; ! toRead, toAppend: BOOLEAN; whichreset: ResetProc) : ChanId ; VAR c : RTio.ChanId ; *************** VAR *** 158,176 **** e : INTEGER ; p : DeviceTablePtr ; BEGIN ! IF toRead THEN ! file := FIO.OpenToRead(fname) ELSE ! file := FIO.OpenToWrite(fname) END ; ! checkOpenErrno(file, e, res) ; ! IF FIO.IsNoError(file) THEN ! MakeChan(did, c) ; ! RTio.SetFile(c, file) ; ! p := DeviceTablePtrValue(c, did) ; WITH p^ DO flags := f ; errNum := e ; --- 158,179 ---- e : INTEGER ; p : DeviceTablePtr ; BEGIN ! IF toAppend THEN ! file := FIO.OpenForRandom (fname, NOT toRead, NOT FIO.Exists (fname)) ! ELSIF toRead ! THEN ! file := FIO.OpenToRead (fname) ELSE ! file := FIO.OpenToWrite (fname) END ; ! checkOpenErrno (file, e, res) ; ! IF FIO.IsNoError (file) THEN ! MakeChan (did, c) ; ! RTio.SetFile (c, file) ; ! p := DeviceTablePtrValue (c, did) ; WITH p^ DO flags := f ; errNum := e ; *************** BEGIN *** 189,195 **** END ; RETURN( c ) ELSE ! RETURN( IOChan.InvalidChan() ) END END newCid ; --- 192,198 ---- END ; RETURN( c ) ELSE ! RETURN( IOChan.InvalidChan () ) END END newCid ; *************** BEGIN *** 213,219 **** THEN INCL(flags, ChanConsts.textFlag) END ; ! cid := newCid(name, flags, res, FALSE, resetWrite) END OpenWrite ; --- 216,222 ---- THEN INCL(flags, ChanConsts.textFlag) END ; ! cid := newCid(name, flags, res, FALSE, FALSE, resetWrite) END OpenWrite ; *************** BEGIN *** 235,241 **** THEN INCL(flags, ChanConsts.textFlag) END ; ! cid := newCid(name, flags, res, TRUE, resetRead) END OpenRead ; --- 238,244 ---- THEN INCL(flags, ChanConsts.textFlag) END ; ! cid := newCid(name, flags, res, TRUE, FALSE, resetRead) END OpenRead ; *************** END OpenRead ; *** 250,256 **** length of the file. If a channel cannot be opened as required, the value of res indicates the reason, and cid identifies the invalid channel. ! *) PROCEDURE OpenAppend (VAR cid: ChanId; name: ARRAY OF CHAR; flags: FlagSet; VAR res: OpenResults) ; --- 253,259 ---- length of the file. If a channel cannot be opened as required, the value of res indicates the reason, and cid identifies the invalid channel. ! *) PROCEDURE OpenAppend (VAR cid: ChanId; name: ARRAY OF CHAR; flags: FlagSet; VAR res: OpenResults) ; *************** BEGIN *** 258,270 **** flags := flags + ChanConsts.write + ChanConsts.old ; IF NOT (ChanConsts.rawFlag IN flags) THEN ! INCL(flags, ChanConsts.textFlag) END ; ! cid := newCid(name, flags, res, FALSE, resetAppend) ; IF IsSeqFile(cid) THEN ! FIO.SetPositionFromEnd(RTio.GetFile(cid), 0) ; ! checkErrno(dev, RTio.GetDevicePtr(cid)) END END OpenAppend ; --- 261,273 ---- flags := flags + ChanConsts.write + ChanConsts.old ; IF NOT (ChanConsts.rawFlag IN flags) THEN ! INCL (flags, ChanConsts.textFlag) END ; ! cid := newCid (name, flags, res, FALSE, TRUE, resetAppend) ; IF IsSeqFile(cid) THEN ! FIO.SetPositionFromEnd (RTio.GetFile (cid), 0) ; ! checkErrno (dev, RTio.GetDevicePtr (cid)) END END OpenAppend ; *************** END resetAppend ; *** 287,293 **** (* ! resetRead - *) PROCEDURE resetRead (d: DeviceTablePtr) ; --- 290,296 ---- (* ! resetRead - *) PROCEDURE resetRead (d: DeviceTablePtr) ; *************** END resetRead ; *** 297,303 **** (* ! resetWrite - *) PROCEDURE resetWrite (d: DeviceTablePtr) ; --- 300,306 ---- (* ! resetWrite - *) PROCEDURE resetWrite (d: DeviceTablePtr) ; *************** END Rewrite ; *** 392,398 **** (* ! handlefree - *) PROCEDURE handlefree (d: DeviceTablePtr) ; --- 395,401 ---- (* ! handlefree - *) PROCEDURE handlefree (d: DeviceTablePtr) ; *************** END Close ; *** 434,440 **** (* ! Init - *) PROCEDURE Init ; --- 437,443 ---- (* ! Init - *) PROCEDURE Init ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/ShortWholeIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/ShortWholeIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/ShortWholeIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/ShortWholeIO.mod Tue May 21 07:47:38 2024 *************** FROM StringConvert IMPORT IntegerToStrin *** 33,38 **** --- 33,39 ---- FROM WholeConv IMPORT ScanInt, ScanCard ; FROM StringChan IMPORT writeString ; FROM IOConsts IMPORT ReadResults ; + FROM TextUtil IMPORT SkipSpaces ; (* Input and output of whole numbers in decimal text form *************** VAR *** 63,68 **** --- 64,70 ---- ch : CHAR ; negative : BOOLEAN ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; negative := FALSE ; c := 0 ; *************** VAR *** 133,138 **** --- 135,141 ---- ch : CHAR ; c : SHORTCARD ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; c := 0 ; nextState := ScanCard ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/Strings.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/Strings.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/Strings.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/Strings.mod Tue May 21 07:47:38 2024 *************** BEGIN *** 103,128 **** END Extract ; (* Deletes at most numberToDelete characters from stringVar, starting at position startIndex. *) PROCEDURE Delete (VAR stringVar: ARRAY OF CHAR; startIndex, numberToDelete: CARDINAL) ; VAR ! h: CARDINAL ; BEGIN ! IF numberToDelete>0 THEN ! (* numberToDelete can be consider as the number of characters to skip over *) ! h := Length(stringVar) ; ! WHILE (startIndex+numberToDelete 0 THEN ! length := Length (stringVar) ; ! IF startIndex < length THEN ! high := HIGH (stringVar) ; ! (* Calculate the number of characters to delete. *) ! last := MinCard (high, length-1) ; ! IF last - startIndex < numberToDelete ! THEN ! numberToDelete := last - startIndex + 1 ! END ; ! IF numberToDelete > 0 ! THEN ! IF Debugging ! THEN ! printf ("startIndex = %d, numberToDelete = %d, last = %d\n", ! startIndex, numberToDelete, last) ! END ; ! WHILE startIndex + numberToDelete <= last DO ! IF Debugging ! THEN ! printf ("strVar[%d] is %c\n", startIndex, stringVar[startIndex]) ; ! printf (" overwriting with strVar[%d] <- %c\n", ! startIndex + numberToDelete, stringVar[startIndex + numberToDelete]) ! END ; ! stringVar[startIndex] := stringVar[startIndex + numberToDelete] ; ! INC (startIndex) ; ! END ! END ; ! IF startIndex <= high ! THEN ! stringVar[startIndex] := ASCII.nul ! END END END END Delete ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/SysClock.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/SysClock.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/SysClock.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/SysClock.mod Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 26,42 **** IMPLEMENTATION MODULE SysClock ; ! FROM wraptime IMPORT timeval, timezone, tm, ! InitTimezone, InitTimeval, ! InitTM, KillTM, ! gettimeofday, settimeofday, GetFractions, ! localtime_r, GetSummerTime, GetDST, ! KillTimezone, KillTimeval, GetYear, ! GetMonth, GetDay, GetHour, GetMinute, ! GetSecond, SetTimeval, SetTimezone ; IMPORT Args ; VAR canget, canset, --- 26,41 ---- IMPLEMENTATION MODULE SysClock ; ! FROM wrapclock IMPORT timespec, timezone, isdst, InitTimespec, KillTimespec, ! GetTimespec, SetTimespec, GetTimeRealtime, SetTimeRealtime ; ! ! FROM libc IMPORT printf ; IMPORT Args ; + CONST + Debugging = FALSE ; + VAR canget, canset, *************** VAR *** 50,74 **** PROCEDURE determineAccess ; VAR ! tv: timeval ; ! tz: timezone ; BEGIN ! tz := InitTimezone () ; ! tv := InitTimeval () ; ! canget := gettimeofday (tv, tz) = 0 ; ! canset := canget AND (settimeofday (tv, tz) = 0) ; ! tz := KillTimezone (tz) ; ! tv := KillTimeval (tv) END determineAccess ; PROCEDURE CanGetClock () : BOOLEAN ; (* Tests if the clock can be read *) BEGIN ! IF NOT known ! THEN ! determineAccess ! END ; RETURN canget END CanGetClock ; --- 49,71 ---- PROCEDURE determineAccess ; VAR ! ts: timespec ; BEGIN ! IF NOT known ! THEN ! ts := InitTimespec () ; ! canget := GetTimeRealtime (ts) = 0 ; ! canset := canget AND (SetTimeRealtime (ts) = 0) ; ! ts := KillTimespec (ts) ; ! known := TRUE ! END END determineAccess ; PROCEDURE CanGetClock () : BOOLEAN ; (* Tests if the clock can be read *) BEGIN ! determineAccess ; RETURN canget END CanGetClock ; *************** END CanGetClock ; *** 76,85 **** PROCEDURE CanSetClock () : BOOLEAN ; (* Tests if the clock can be set *) BEGIN ! IF NOT known ! THEN ! determineAccess ! END ; RETURN canset END CanSetClock ; --- 73,79 ---- PROCEDURE CanSetClock () : BOOLEAN ; (* Tests if the clock can be set *) BEGIN ! determineAccess ; RETURN canset END CanSetClock ; *************** END IsValidDateTime ; *** 115,165 **** (* ! foo - *) ! PROCEDURE foo () : CARDINAL ; BEGIN ! RETURN 1 ! END foo ; PROCEDURE GetClock (VAR userData: DateTime) ; (* Assigns local date and time of the day to userData *) VAR ! m : tm ; ! tv: timeval ; ! tz: timezone ; BEGIN IF CanGetClock () THEN ! tv := InitTimeval () ; ! tz := InitTimezone () ; ! IF gettimeofday (tv, tz)=0 THEN ! m := InitTM () ; ! (* m := localtime_r (tv, m) ; *) ! WITH userData DO ! (* ! year := GetYear (m) ; ! *) ! month := Args.Narg () (* GetMonth (m) *) (* + 1 *) ; ! (* ! day := GetDay (m) ; ! hour := GetHour (m) ; ! minute := GetMinute (m) ; ! second := GetSecond (m) ; ! fractions := GetFractions (tv) ; ! zone := GetDST (tz) ; ! summerTimeFlag := GetSummerTime (tz) ! *) ! END ; ! m := KillTM (m) ELSE ! HALT END ; ! tv := KillTimeval (tv) ; ! tz := KillTimezone (tz) END END GetClock ; --- 109,238 ---- (* ! DivMod - returns seconds MOD modulus. It also divides seconds by modulus. *) ! PROCEDURE DivMod (VAR seconds: LONGCARD; modulus: LONGCARD) : LONGCARD ; ! VAR ! result: LONGCARD ; BEGIN ! result := seconds MOD modulus ; ! seconds := seconds DIV modulus ; ! RETURN result ! END DivMod ; ! ! ! (* ! daysInYear - return the number of days in year up to month/day. ! *) ! ! PROCEDURE daysInYear (day, month, year: LONGCARD) : LONGCARD ; ! BEGIN ! WHILE month > 1 DO ! INC (day, daysInMonth (year, month)) ; ! DEC (month) ! END ; ! RETURN day ! END daysInYear ; ! ! ! (* ! ExtractDate - extracts the year, month, day from days. ! *) ! ! PROCEDURE ExtractDate (days: LONGCARD; ! VAR year: CARDINAL; VAR month: Month; VAR day: Day) ; ! VAR ! testMonth, ! testYear : CARDINAL ; ! testDays : LONGCARD ; ! BEGIN ! testYear := 1970 ; ! LOOP ! testDays := daysInYear (31, 12, testYear) ; ! IF days < testDays ! THEN ! year := testYear ; ! testMonth := 1 ; ! LOOP ! testDays := daysInMonth (year, testMonth) ; ! IF days < testDays ! THEN ! day := VAL (Day, days) + MIN (Day) ; ! month := VAL (Month, testMonth) ; ! RETURN ! END ; ! DEC (days, testDays) ; ! INC (testMonth) ! END ! ELSE ! DEC (days, testDays) ; ! INC (testYear) ! END ! END ! END ExtractDate ; ! ! ! (* ! EpochTime - assigns all fields of userData to 0 or FALSE. ! *) ! ! PROCEDURE EpochTime (VAR userData: DateTime) ; ! BEGIN ! WITH userData DO ! second := 0 ; ! minute := 0 ; ! hour := 0 ; ! year := 0 ; ! month := 0 ; ! day := 0 ; ! fractions := 0 ; ! zone := 0 ; ! summerTimeFlag := FALSE ! END ! END EpochTime ; PROCEDURE GetClock (VAR userData: DateTime) ; (* Assigns local date and time of the day to userData *) VAR ! ts : timespec ; ! nano, sec: LONGCARD ; ! offset : LONGINT ; BEGIN IF CanGetClock () THEN ! ts := InitTimespec () ; ! IF GetTimeRealtime (ts) = 0 THEN ! IF GetTimespec (ts, sec, nano) = 1 ! THEN ! offset := timezone () ; ! IF Debugging ! THEN ! printf ("getclock = %ld\n", sec) ! END ; ! sec := VAL (LONGINT, sec) + offset ; ! IF Debugging ! THEN ! printf ("getclock = %ld\n", sec) ! END ; ! WITH userData DO ! second := VAL (Sec, DivMod (sec, MAX (Sec) + 1)) ; ! minute := VAL (Min, DivMod (sec, MAX (Min) + 1)) ; ! hour := VAL (Hour, DivMod (sec, MAX (Hour) + 1)) ; ! ExtractDate (sec, year, month, day) ; ! fractions := nano DIV ((1000 * 1000 * 1000) DIV maxSecondParts) ; ! zone := - (offset DIV 60) ; ! summerTimeFlag := (isdst () = 1) ! END ! ELSE ! EpochTime (userData) ! END ELSE ! EpochTime (userData) END ; ! ts := KillTimespec (ts) END END GetClock ; *************** END GetClock ; *** 168,174 **** daysInMonth - returns how many days there are in a month. *) ! PROCEDURE daysInMonth (year, month: CARDINAL) : CARDINAL ; BEGIN CASE month OF --- 241,247 ---- daysInMonth - returns how many days there are in a month. *) ! PROCEDURE daysInMonth (year, month: CARDINAL) : LONGCARD ; BEGIN CASE month OF *************** END daysInMonth ; *** 196,271 **** (* ! dayInYear - *) ! PROCEDURE dayInYear (day, month, year: CARDINAL) : CARDINAL ; BEGIN ! WHILE month > 1 DO ! INC (day, daysInMonth (year, month)) ; ! DEC (month) END ; ! RETURN day ! END dayInYear ; (* ! dayInWeek - *) ! PROCEDURE dayInWeek (day, month, year: CARDINAL) : CARDINAL ; ! CONST ! janFirst1970 = 5 ; (* thursday *) VAR ! yearOffset: CARDINAL ; (* days since Jan 1st 1970 *) BEGIN ! yearOffset := janFirst1970 ; ! WHILE year > 1970 DO ! DEC (year) ; ! INC (yearOffset, dayInYear (31, 12, year)) ! END ; ! INC (yearOffset, dayInYear (day, month, year)) ; ! RETURN yearOffset MOD 7 ! END dayInWeek ; PROCEDURE SetClock (userData: DateTime); - (* Sets the system time clock to the given local date and - time *) VAR ! tv: timeval ; ! tz: timezone ; BEGIN IF CanSetClock () THEN ! tv := InitTimeval () ; ! tz := InitTimezone () ; ! IF gettimeofday (tv, tz) = 0 THEN ! (* fill in as many of tv, tz fields from userData as we can *) ! WITH userData DO ! IF summerTimeFlag ! THEN ! SetTimeval (tv, second, minute, hour, day, month, year, ! dayInYear(day, month, year), ! dayInWeek(day, month, year), ! 1) ; ! SetTimezone (tz, 1, zone) ! ELSE ! SetTimeval (tv, second, minute, hour, day, month, year, ! dayInYear(day, month, year), ! dayInWeek(day, month, year), ! 0) ; ! SetTimezone (tz, 0, zone) ! END ; ! IF settimeofday (tv, tz)#0 ! THEN ! (* error, which we ignore *) ! END END END ; ! tv := KillTimeval (tv) ; ! tz := KillTimezone (tz) END END SetClock ; --- 269,342 ---- (* ! totalYear - return the sum of all days prior to year from the epoch. *) ! PROCEDURE totalYear (year: LONGCARD) : LONGCARD ; ! VAR ! lastYear, ! result : LONGCARD ; BEGIN ! lastYear := 1970 ; ! result := 0 ; ! WHILE lastYear < year DO ! INC (result, daysInYear (31, 12, lastYear)) ; ! INC (lastYear) END ; ! RETURN result ! END totalYear ; (* ! totalSeconds - returns the total seconds *) ! PROCEDURE totalSeconds (second, minute, hour, ! day, month, year: LONGCARD) : LONGCARD ; VAR ! result: LONGCARD ; BEGIN ! result := second ! + minute * (MAX (Sec) + 1) ! + hour * ((MAX (Min) + 1) * (MAX (Sec) + 1)) ! + ((daysInYear (day, month, year) + totalYear (year)) ! * ((MAX (Hour) + 1) * ((MAX (Min) + 1) * (MAX (Sec) + 1)))) ; ! RETURN result ! END totalSeconds ; PROCEDURE SetClock (userData: DateTime); VAR ! ts : timespec ; ! nano, sec: LONGCARD ; ! offset : LONGINT ; BEGIN + IF Debugging + THEN + sec := totalSeconds (userData.second, userData.minute, userData.hour, + VAL (CARDINAL, userData.day) - MIN (Day), + userData.month, userData.year) ; + printf ("setclock = %ld\n", sec); + offset := timezone () ; + sec := VAL (LONGINT, sec) - offset ; + printf ("setclock = %ld\n", sec); + END ; IF CanSetClock () THEN ! ts := InitTimespec () ; ! nano := VAL (LONGCARD, userData.fractions * 1000) ; ! sec := totalSeconds (userData.second, userData.minute, userData.hour, ! VAL (CARDINAL, userData.day) - MIN (Day), ! userData.month, userData.year) ; ! offset := timezone () ; ! sec := VAL (LONGINT, sec) - offset ; ! IF SetTimespec (ts, sec, nano) = 1 THEN ! IF SetTimeRealtime (ts) = 0 ! THEN END END ; ! ts := KillTimespec (ts) END END SetClock ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/TextIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/TextIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/TextIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/TextIO.mod Tue May 21 07:47:38 2024 *************** IMPLEMENTATION MODULE TextIO ; *** 30,74 **** IMPORT IOChan, IOConsts, CharClass, ASCII ; FROM SYSTEM IMPORT ADR ; FROM FIO IMPORT FlushOutErr ; - (* The following procedures do not read past line marks *) ! PROCEDURE CanRead (cid: IOChan.ChanId) : BOOLEAN ; ! BEGIN ! RETURN( (IOChan.ReadResult(cid)=IOConsts.notKnown) OR ! (IOChan.ReadResult(cid)=IOConsts.allRight) ) ! END CanRead ; ! PROCEDURE WasGoodChar (cid: IOChan.ChanId) : BOOLEAN ; BEGIN ! RETURN( (IOChan.ReadResult(cid)#IOConsts.endOfLine) AND ! (IOChan.ReadResult(cid)#IOConsts.endOfInput) ) ! END WasGoodChar ; (* ! SetResult - assigns the result in cid. If s is empty then leave as endOfInput or endOfLine If s is not empty then assign allRight If range and i exceeds, h, then assign outOfRange *) ! PROCEDURE SetResult (cid: IOChan.ChanId; i: CARDINAL; ! VAR s: ARRAY OF CHAR; range: BOOLEAN) ; BEGIN IF i<=HIGH(s) THEN ! s[i] := ASCII.nul ; ! IF i>0 ! THEN ! IOChan.SetReadResult(cid, IOConsts.allRight) ! END ELSIF range THEN ! IOChan.SetReadResult(cid, IOConsts.outOfRange) END ! END SetResult ; PROCEDURE ReadChar (cid: IOChan.ChanId; VAR ch: CHAR); --- 30,87 ---- IMPORT IOChan, IOConsts, CharClass, ASCII ; FROM SYSTEM IMPORT ADR ; FROM FIO IMPORT FlushOutErr ; + FROM libc IMPORT printf ; + FROM TextUtil IMPORT SkipSpaces, EofOrEoln, CharAvailable ; ! CONST ! DebugState = FALSE ; ! ! (* ! DumpState ! *) ! ! PROCEDURE DumpState (cid: IOChan.ChanId) ; BEGIN ! printf ("cid = %d, ", cid) ; ! CASE IOChan.ReadResult (cid) OF ! ! IOConsts.notKnown: printf ('notKnown') | ! IOConsts.allRight: printf ('allRight') | ! IOConsts.outOfRange: printf ('outOfRange') | ! IOConsts.wrongFormat: printf ('wrongFormat') | ! IOConsts.endOfLine: printf ('endOfLine') | ! IOConsts.endOfInput: printf ('endOfInput') ! ! END ; ! printf ("\n") ! END DumpState ; (* ! SetNul - assigns the result in cid. If s is empty then leave as endOfInput or endOfLine If s is not empty then assign allRight If range and i exceeds, h, then assign outOfRange *) ! PROCEDURE SetNul (cid: IOChan.ChanId; i: CARDINAL; ! VAR s: ARRAY OF CHAR; range: BOOLEAN) ; BEGIN + IF DebugState + THEN + DumpState (cid) + END ; IF i<=HIGH(s) THEN ! s[i] := ASCII.nul ELSIF range THEN ! IOChan.SetReadResult (cid, IOConsts.outOfRange) END ! END SetNul ; PROCEDURE ReadChar (cid: IOChan.ChanId; VAR ch: CHAR); *************** VAR *** 81,96 **** res: IOConsts.ReadResults ; BEGIN FlushOutErr ; ! IF CanRead(cid) THEN ! IOChan.Look(cid, ch, res) ; ! IF res=IOConsts.allRight THEN ! IOChan.Skip(cid) END END END ReadChar ; PROCEDURE ReadRestLine (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Removes any remaining characters from the input stream cid before the next line mark, copying to s as many as --- 94,110 ---- res: IOConsts.ReadResults ; BEGIN FlushOutErr ; ! IF CharAvailable (cid) THEN ! IOChan.Look (cid, ch, res) ; ! IF res = IOConsts.allRight THEN ! IOChan.Skip (cid) END END END ReadChar ; + PROCEDURE ReadRestLine (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Removes any remaining characters from the input stream cid before the next line mark, copying to s as many as *************** BEGIN *** 105,125 **** h := HIGH(s) ; i := 0 ; finished := FALSE ; ! WHILE (i<=h) AND CanRead(cid) AND (NOT finished) DO ! ReadChar(cid, s[i]) ; ! IF WasGoodChar(cid) THEN - INC(i) - ELSE finished := TRUE END END ; ! WHILE CanRead(cid) DO ! IOChan.Skip(cid) END ; ! SetResult(cid, i, s, TRUE) END ReadRestLine ; PROCEDURE ReadString (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Removes only those characters from the input stream cid before the next line mark that can be accommodated in s --- 119,140 ---- h := HIGH(s) ; i := 0 ; finished := FALSE ; ! WHILE (i<=h) AND CharAvailable (cid) AND (NOT finished) DO ! ReadChar (cid, s[i]) ; ! IF EofOrEoln (cid) THEN finished := TRUE + ELSE + INC (i) END END ; ! WHILE CharAvailable (cid) DO ! IOChan.Skip (cid) END ; ! SetNul (cid, i, s, TRUE) END ReadRestLine ; + PROCEDURE ReadString (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Removes only those characters from the input stream cid before the next line mark that can be accommodated in s *************** VAR *** 130,177 **** i, h : CARDINAL ; finished: BOOLEAN ; BEGIN ! h := HIGH(s) ; i := 0 ; finished := FALSE ; ! WHILE (i<=h) AND CanRead(cid) AND (NOT finished) DO ! ReadChar(cid, s[i]) ; ! IF WasGoodChar(cid) THEN - INC(i) - ELSE finished := TRUE END END ; ! SetResult(cid, i, s, FALSE) END ReadString ; - (* - SkipSpaces - skips any spaces. - *) - - PROCEDURE SkipSpaces (cid: IOChan.ChanId) ; - VAR - ch : CHAR ; - res: IOConsts.ReadResults ; - BEGIN - WHILE CanRead(cid) DO - IOChan.Look(cid, ch, res) ; - IF res=IOConsts.allRight - THEN - IF CharClass.IsWhiteSpace(ch) - THEN - IOChan.Skip(cid) - ELSE - RETURN - END - ELSE - RETURN - END - END - END SkipSpaces ; - - PROCEDURE ReadToken (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Skips leading spaces, and then removes characters from the input stream cid before the next space or line mark, --- 145,166 ---- i, h : CARDINAL ; finished: BOOLEAN ; BEGIN ! h := HIGH (s) ; i := 0 ; finished := FALSE ; ! WHILE (i<=h) AND CharAvailable (cid) AND (NOT finished) DO ! ReadChar (cid, s[i]) ; ! IF EofOrEoln (cid) THEN finished := TRUE + ELSE + INC (i) END END ; ! SetNul (cid, i, s, FALSE) END ReadString ; PROCEDURE ReadToken (cid: IOChan.ChanId; VAR s: ARRAY OF CHAR); (* Skips leading spaces, and then removes characters from the input stream cid before the next space or line mark, *************** PROCEDURE ReadToken (cid: IOChan.ChanId; *** 182,200 **** VAR i, h: CARDINAL ; BEGIN ! SkipSpaces(cid) ; ! h := HIGH(s) ; i := 0 ; ! WHILE (i<=h) AND CanRead(cid) DO ! ReadChar(cid, s[i]) ; ! IF (s[i]=ASCII.nul) OR CharClass.IsWhiteSpace(s[i]) THEN ! SetResult(cid, i, s, TRUE) ; RETURN END ; ! INC(i) END ; ! SetResult(cid, i, s, TRUE) END ReadToken ; (* The following procedure reads past the next line mark *) --- 171,189 ---- VAR i, h: CARDINAL ; BEGIN ! SkipSpaces (cid) ; ! h := HIGH (s) ; i := 0 ; ! WHILE (i<=h) AND CharAvailable (cid) DO ! ReadChar (cid, s[i]) ; ! IF (s[i]=ASCII.nul) OR CharClass.IsWhiteSpace (s[i]) THEN ! SetNul (cid, i, s, TRUE) ; RETURN END ; ! INC (i) END ; ! SetNul (cid, i, s, TRUE) END ReadToken ; (* The following procedure reads past the next line mark *) *************** VAR *** 209,221 **** ch : CHAR ; res: IOConsts.ReadResults ; BEGIN ! IOChan.Look(cid, ch, res) ; ! WHILE res=IOConsts.allRight DO ! IOChan.SkipLook(cid, ch, res) END ; ! IF res=IOConsts.endOfLine THEN ! IOChan.Skip(cid) END END SkipLine ; --- 198,211 ---- ch : CHAR ; res: IOConsts.ReadResults ; BEGIN ! IOChan.Look (cid, ch, res) ; ! WHILE res = IOConsts.allRight DO ! IOChan.SkipLook (cid, ch, res) END ; ! IF res = IOConsts.endOfLine THEN ! IOChan.Skip (cid) ; ! IOChan.SetReadResult (cid, IOConsts.allRight) END END SkipLine ; *************** END SkipLine ; *** 224,242 **** PROCEDURE WriteChar (cid: IOChan.ChanId; ch: CHAR); (* Writes the value of ch to the output stream cid. *) BEGIN ! IOChan.TextWrite(cid, ADR(ch), SIZE(ch)) END WriteChar ; PROCEDURE WriteLn (cid: IOChan.ChanId); (* Writes a line mark to the output stream cid. *) BEGIN ! IOChan.WriteLn(cid) END WriteLn ; PROCEDURE WriteString (cid: IOChan.ChanId; s: ARRAY OF CHAR); (* Writes the string value in s to the output stream cid. *) BEGIN ! IOChan.TextWrite(cid, ADR(s), LENGTH(s)) END WriteString ; --- 214,232 ---- PROCEDURE WriteChar (cid: IOChan.ChanId; ch: CHAR); (* Writes the value of ch to the output stream cid. *) BEGIN ! IOChan.TextWrite (cid, ADR (ch), SIZE (ch)) END WriteChar ; PROCEDURE WriteLn (cid: IOChan.ChanId); (* Writes a line mark to the output stream cid. *) BEGIN ! IOChan.WriteLn (cid) END WriteLn ; PROCEDURE WriteString (cid: IOChan.ChanId; s: ARRAY OF CHAR); (* Writes the string value in s to the output stream cid. *) BEGIN ! IOChan.TextWrite (cid, ADR (s), LENGTH (s)) END WriteString ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/TextUtil.def gcc-13.3.0/gcc/m2/gm2-libs-iso/TextUtil.def *** gcc-13.2.0/gcc/m2/gm2-libs-iso/TextUtil.def Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/TextUtil.def Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,56 ---- + (* TextUtil.def provides simple text manipulation routines. + + Copyright (C) 2023 Free Software Foundation, Inc. + Contributed by Gaius Mulley . + + This file is part of GNU Modula-2. + + GNU Modula-2 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. + + GNU Modula-2 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 + . *) + + DEFINITION MODULE TextUtil ; + + (* + Title : TextUtil + Author : Gaius Mulley + System : GNU Modula-2 + Date : Tue May 16 18:22:44 2023 + Revision : $Version$ + Description: provides text manmipulation routines. + *) + + IMPORT IOChan ; + + + (* + SkipSpaces - skips any spaces. + *) + + PROCEDURE SkipSpaces (cid: IOChan.ChanId) ; + + + (* The following procedures do not read past line marks. *) + + PROCEDURE CharAvailable (cid: IOChan.ChanId) : BOOLEAN ; + + + PROCEDURE EofOrEoln (cid: IOChan.ChanId) : BOOLEAN ; + + + END TextUtil. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/TextUtil.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/TextUtil.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/TextUtil.mod Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/TextUtil.mod Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,42 ---- + IMPLEMENTATION MODULE TextUtil ; + + IMPORT IOChan, CharClass, IOConsts ; + + (* + SkipSpaces - skips any spaces. + *) + + PROCEDURE SkipSpaces (cid: IOChan.ChanId) ; + VAR + ch : CHAR ; + res: IOConsts.ReadResults ; + BEGIN + WHILE CharAvailable (cid) DO + IOChan.Look (cid, ch, res) ; + IF (res = IOConsts.allRight) AND CharClass.IsWhiteSpace (ch) + THEN + IOChan.Skip (cid) + ELSE + RETURN + END + END + END SkipSpaces ; + + + (* The following procedures do not read past line marks. *) + + PROCEDURE CharAvailable (cid: IOChan.ChanId) : BOOLEAN ; + BEGIN + RETURN( (IOChan.ReadResult (cid) = IOConsts.notKnown) OR + (IOChan.ReadResult (cid) = IOConsts.allRight) ) + END CharAvailable ; + + + PROCEDURE EofOrEoln (cid: IOChan.ChanId) : BOOLEAN ; + BEGIN + RETURN( (IOChan.ReadResult (cid) = IOConsts.endOfLine) OR + (IOChan.ReadResult (cid) = IOConsts.endOfInput) ) + END EofOrEoln ; + + + END TextUtil. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/WholeIO.mod gcc-13.3.0/gcc/m2/gm2-libs-iso/WholeIO.mod *** gcc-13.2.0/gcc/m2/gm2-libs-iso/WholeIO.mod Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/WholeIO.mod Tue May 21 07:47:38 2024 *************** FROM StringConvert IMPORT IntegerToStrin *** 33,38 **** --- 33,39 ---- FROM WholeConv IMPORT ScanInt, ScanCard ; FROM StringChan IMPORT writeString ; FROM IOConsts IMPORT ReadResults ; + FROM TextUtil IMPORT SkipSpaces ; (* Input and output of whole numbers in decimal text form *************** FROM IOConsts IMPORT ReadResults ; *** 40,46 **** type IOConsts.ReadResults. *) ! IMPORT IOChan; (* The text form of a signed whole number is ["+" | "-"], decimal digit, {decimal digit} --- 41,47 ---- type IOConsts.ReadResults. *) ! IMPORT IOChan ; (* The text form of a signed whole number is ["+" | "-"], decimal digit, {decimal digit} *************** VAR *** 63,68 **** --- 64,70 ---- ch : CHAR ; negative : BOOLEAN ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; negative := FALSE ; c := 0 ; *************** VAR *** 133,138 **** --- 135,141 ---- ch : CHAR ; c : CARDINAL ; BEGIN + SkipSpaces (cid) ; ReadChar(cid, ch) ; c := 0 ; nextState := ScanCard ; diff -Nrcpad gcc-13.2.0/gcc/m2/gm2-libs-iso/wrapclock.def gcc-13.3.0/gcc/m2/gm2-libs-iso/wrapclock.def *** gcc-13.2.0/gcc/m2/gm2-libs-iso/wrapclock.def Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/gm2-libs-iso/wrapclock.def Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,139 ---- + (* wrapclock.def provides access to clock primitives. + + Copyright (C) 2023 Free Software Foundation, Inc. + Contributed by Gaius Mulley . + + This file is part of GNU Modula-2. + + GNU Modula-2 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. + + GNU Modula-2 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 + . *) + + DEFINITION MODULE wrapclock ; + + FROM SYSTEM IMPORT ADDRESS ; + + TYPE + timespec = ADDRESS ; + + + (* + timezone - return the glibc timezone value. + This contains the difference between UTC and the latest + local standard time, in seconds west of UTC. + If the underlying timezone is unavailable and + clock_gettime, localtime_r, tm_gmtoff + is unavailable then 0 is returned. + *) + + PROCEDURE timezone () : LONGINT ; + + + (* + istimezone returns 1 if timezone in wrapclock.cc can resolve the + timezone value using the timezone C library call or by using + clock_gettime, localtime_r and tm_gmtoff. + *) + + PROCEDURE istimezone () : INTEGER ; + + + (* + daylight - return the glibc daylight value. + This variable has a nonzero value if Daylight Saving + Time rules apply. + A nonzero value does not necessarily mean that Daylight + Saving Time is now in effect; it means only that Daylight + Saving Time is sometimes in effect. + *) + + PROCEDURE daylight () : INTEGER ; + + + (* + isdst - returns 1 if daylight saving time is currently in effect and + returns 0 if it is not. + *) + + PROCEDURE isdst () : INTEGER ; + + + (* + tzname - returns the string associated with the local timezone. + The daylight value is 0 or 1. The value 0 returns the non + daylight saving timezone string and the value of 1 returns + the daylight saving timezone string. + *) + + PROCEDURE tzname (daylight: INTEGER) : ADDRESS ; + + + (* + InitTimespec - returns a newly created opaque type. + *) + + PROCEDURE InitTimespec () : timespec ; + + + (* + KillTimespec - deallocates the memory associated with an + opaque type. + *) + + PROCEDURE KillTimespec (tv: timespec) : timespec ; + + + (* + GetTimespec - retrieves the number of seconds and nanoseconds + from the timespec. A return value of 0 means timespec + is unavailable and a return value of 1 indicates success. + *) + + PROCEDURE GetTimespec (ts: timespec; VAR sec, nano: LONGCARD) : INTEGER ; + + + (* + SetTimespec - sets the number of seconds and nanoseconds + into timespec. A return value of 0 means timespec + is unavailable and a return value of 1 indicates success. + *) + + PROCEDURE SetTimespec (ts: timespec; sec, nano: LONGCARD) : INTEGER ; + + + (* + GetTimeRealtime - performs return gettime (CLOCK_REALTIME, ts). + gettime returns 0 on success and -1 on failure. + If the underlying system does not have gettime + then GetTimeRealtime returns 1. + *) + + PROCEDURE GetTimeRealtime (ts: timespec) : INTEGER ; + + + (* + SetTimeRealtime - performs return settime (CLOCK_REALTIME, ts). + gettime returns 0 on success and -1 on failure. + If the underlying system does not have gettime + then SetTimeRealtime returns 1. + *) + + PROCEDURE SetTimeRealtime (ts: timespec) : INTEGER ; + + + END wrapclock. diff -Nrcpad gcc-13.2.0/gcc/m2/gm2spec.cc gcc-13.3.0/gcc/m2/gm2spec.cc *** gcc-13.2.0/gcc/m2/gm2spec.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/gm2spec.cc Tue May 21 07:47:38 2024 *************** lang_specific_driver (struct cl_decoded_ *** 469,480 **** /* The number of libraries added in. */ int added_libraries; - #ifdef ENABLE_PLUGIN /* True if we should add -fplugin=m2rte to the command-line. */ - bool need_plugin = true; - #else bool need_plugin = false; - #endif /* True if we should set up include paths and library paths. */ bool allow_libraries = true; --- 469,476 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/lang.opt gcc-13.3.0/gcc/m2/lang.opt *** gcc-13.2.0/gcc/m2/lang.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/lang.opt Tue May 21 07:47:38 2024 *************** Wall *** 277,282 **** --- 277,286 ---- Modula-2 ; Documented in c.opt + Wcase-enum + Modula-2 + turns on case statement label compile time checking when using an expression of an enum type. + Wpedantic Modula-2 ; Documented in common.opt *************** Wunused-parameter *** 293,298 **** --- 297,310 ---- Modula-2 ; Documented in c.opt + Wuninit-variable-checking + Modula-2 + turns on compile time analysis in the first basic block of a procedure detecting access to uninitialized data. + + Wuninit-variable-checking= + Modula-2 Joined + turns on compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all. + B Modula-2 ; Documented in c.opt diff -Nrcpad gcc-13.2.0/gcc/m2/m2.flex gcc-13.3.0/gcc/m2/m2.flex *** gcc-13.2.0/gcc/m2/m2.flex Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/m2.flex Tue May 21 07:47:38 2024 *************** extern void yylex (v *** 163,169 **** ^\#.* { consumeLine(); /* printf("found: %s\n", currentLine->linebuf); */ BEGIN LINE0; } \n\#.* { consumeLine(); /* printf("found: %s\n", currentLine->linebuf); */ BEGIN LINE0; } \#[ \t]* { updatepos(); } ! [0-9]+[ \t]*\" { updatepos(); lineno=atoi(yytext)-1; BEGIN LINE1; } \n { m2flex_M2Error("missing initial quote after #line directive"); resetpos(); BEGIN INITIAL; } [^\n] [^\"\n]+ { m2flex_M2Error("missing final quote after #line directive"); resetpos(); BEGIN INITIAL; } --- 163,169 ---- ^\#.* { consumeLine(); /* printf("found: %s\n", currentLine->linebuf); */ BEGIN LINE0; } \n\#.* { consumeLine(); /* printf("found: %s\n", currentLine->linebuf); */ BEGIN LINE0; } \#[ \t]* { updatepos(); } ! [0-9]+[ \t]*\" { updatepos(); lineno=atoi(yytext); BEGIN LINE1; } \n { m2flex_M2Error("missing initial quote after #line directive"); resetpos(); BEGIN INITIAL; } [^\n] [^\"\n]+ { m2flex_M2Error("missing final quote after #line directive"); resetpos(); BEGIN INITIAL; } diff -Nrcpad gcc-13.2.0/gcc/m2/m2pp.cc gcc-13.3.0/gcc/m2/m2pp.cc *** gcc-13.2.0/gcc/m2/m2pp.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/m2pp.cc Tue May 21 07:47:38 2024 *************** do_pf (tree t, int bits) *** 183,189 **** } /* pf print function. Expected to be printed interactively from ! the debugger: print pf(func), or to be called from code. */ void pf (tree t) --- 183,189 ---- } /* pf print function. Expected to be printed interactively from ! the debugger: print modula2::pf(func), or to be called from code. */ void pf (tree t) *************** pf (tree t) *** 192,198 **** } /* pe print expression. Expected to be printed interactively from ! the debugger: print pe(expr), or to be called from code. */ void pe (tree t) --- 192,198 ---- } /* pe print expression. Expected to be printed interactively from ! the debugger: print modula2::pe(expr), or to be called from code. */ void pe (tree t) *************** pe (tree t) *** 206,213 **** } /* pet print expression and its type. Expected to be printed ! interactively from the debugger: print pet(expr), or to be called ! from code. */ void pet (tree t) --- 206,213 ---- } /* pet print expression and its type. Expected to be printed ! interactively from the debugger: print modula2::pet(expr), or to ! be called from code. */ void pet (tree t) *************** m2pp_if_stmt (pretty *s, tree t) *** 2209,2214 **** --- 2209,2242 ---- } #endif + static void + m2pp_asm_expr (pretty *state, tree node) + { + m2pp_begin (state); + m2pp_print (state, "ASM"); + m2pp_needspace (state); + if (ASM_VOLATILE_P (node)) + { + m2pp_print (state, "VOLATILE"); + m2pp_needspace (state); + } + m2pp_print (state, "("); + m2pp_expression (state, ASM_STRING (node)); + m2pp_print (state, ":"); + m2pp_needspace (state); + m2pp_expression (state, ASM_OUTPUTS (node)); + m2pp_print (state, ":"); + m2pp_needspace (state); + m2pp_expression (state, ASM_INPUTS (node)); + if (ASM_CLOBBERS (node) != NULL) + { + m2pp_print (state, ":"); + m2pp_needspace (state); + m2pp_expression (state, ASM_CLOBBERS (node)); + } + m2pp_print (state, ");\n"); + } + /* m2pp_statement attempts to reconstruct a statement. */ static void *************** m2pp_statement (pretty *s, tree t) *** 2271,2276 **** --- 2299,2307 ---- case CATCH_EXPR: m2pp_catch_expr (s, t); break; + case ASM_EXPR: + m2pp_asm_expr (s, t); + break; #if defined(CPP) case IF_STMT: m2pp_if_stmt (s, t); diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GDynamicStrings.cc gcc-13.3.0/gcc/m2/mc-boot/GDynamicStrings.cc *** gcc-13.2.0/gcc/m2/mc-boot/GDynamicStrings.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GDynamicStrings.cc Tue May 21 07:47:38 2024 *************** static void writeCard (unsigned int c); *** 463,469 **** static void writeLongcard (long unsigned int l); /* ! writeAddress - */ static void writeAddress (void * a); --- 463,469 ---- static void writeLongcard (long unsigned int l); /* ! writeAddress - writes out the address of a with a C style hex prefix. */ static void writeAddress (void * a); *************** static void writeNspace (unsigned int n) *** 684,691 **** static void DumpStringInfo (DynamicStrings_String s, unsigned int i) { - DynamicStrings_String t; - if (s != NULL) { writeNspace (i); --- 684,689 ---- *************** static void writeLongcard (long unsigned *** 901,912 **** /* ! writeAddress - */ static void writeAddress (void * a) { ! writeLongcard ((long unsigned int ) (a)); } --- 899,916 ---- /* ! writeAddress - writes out the address of a with a C style hex prefix. */ static void writeAddress (void * a) { ! typedef struct writeAddress__T4_a writeAddress__T4; ! ! struct writeAddress__T4_a { char array[30+1]; }; ! writeAddress__T4 buffer; ! ! libc_snprintf (&buffer, static_cast (sizeof (buffer)), (const char *) "0x%", 3, a); ! writeString ((const char *) &buffer.array[0], 30); } *************** extern "C" DynamicStrings_String Dynamic *** 1655,1664 **** extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) { ! typedef struct InitStringChar__T4_a InitStringChar__T4; ! struct InitStringChar__T4_a { char array[1+1]; }; ! InitStringChar__T4 a; DynamicStrings_String s; a.array[0] = ch; --- 1659,1668 ---- extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) { ! typedef struct InitStringChar__T5_a InitStringChar__T5; ! struct InitStringChar__T5_a { char array[1+1]; }; ! InitStringChar__T5 a; DynamicStrings_String s; a.array[0] = ch; *************** extern "C" DynamicStrings_String Dynamic *** 1763,1772 **** extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_String a, char ch) { ! typedef struct ConCatChar__T5_a ConCatChar__T5; ! struct ConCatChar__T5_a { char array[1+1]; }; ! ConCatChar__T5 b; DynamicStrings_String t; if (PoisonOn) --- 1767,1776 ---- extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_String a, char ch) { ! typedef struct ConCatChar__T6_a ConCatChar__T6; ! struct ConCatChar__T6_a { char array[1+1]; }; ! ConCatChar__T6 b; DynamicStrings_String t; if (PoisonOn) *************** extern "C" void DynamicStrings_PopAlloca *** 2620,2626 **** extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e) { DynamicStrings_String s; - DynamicStrings_frame f; bool b; Init (); --- 2624,2629 ---- *************** extern "C" DynamicStrings_String Dynamic *** 2630,2636 **** if (frameHead == NULL) { stop (); ! M2RTS_Halt ((const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/DynamicStrings.mod", 55, (const char *) "PopAllocationExemption", 22, 177); } else { --- 2633,2639 ---- if (frameHead == NULL) { stop (); ! M2RTS_Halt ((const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/DynamicStrings.mod", 55, (const char *) "PopAllocationExemption", 22, 174); } else { diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GFIO.cc gcc-13.3.0/gcc/m2/mc-boot/GFIO.cc *** gcc-13.2.0/gcc/m2/mc-boot/GFIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GFIO.cc Tue May 21 07:47:38 2024 *************** static int BufferedRead (FIO_File f, uns *** 814,820 **** typedef unsigned char *BufferedRead__T3; void * t; - int result; int total; int n; BufferedRead__T3 p; --- 814,819 ---- *************** static int BufferedWrite (FIO_File f, un *** 1242,1248 **** typedef unsigned char *BufferedWrite__T5; void * t; - int result; int total; int n; BufferedWrite__T5 p; --- 1241,1246 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GFormatStrings.cc gcc-13.3.0/gcc/m2/mc-boot/GFormatStrings.cc *** gcc-13.2.0/gcc/m2/mc-boot/GFormatStrings.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GFormatStrings.cc Tue May 21 07:47:38 2024 *************** static DynamicStrings_String PerformForm *** 370,376 **** int width; int nextperc; int afterperc; - int endpos; char leader; char ch; char ch2; --- 370,375 ---- *************** static DynamicStrings_String Copy (Dynam *** 544,550 **** static DynamicStrings_String HandlePercent (DynamicStrings_String fmt, DynamicStrings_String s, int startpos) { int prevpos; - DynamicStrings_String result; if ((startpos == ((int ) (DynamicStrings_Length (fmt)))) || (startpos < 0)) { --- 543,548 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GM2Dependent.cc gcc-13.3.0/gcc/m2/mc-boot/GM2Dependent.cc *** gcc-13.2.0/gcc/m2/mc-boot/GM2Dependent.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GM2Dependent.cc Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 51,57 **** #define _M2Dependent_C # include "Glibc.h" - # include "GM2LINK.h" # include "GASCII.h" # include "GSYSTEM.h" # include "GStorage.h" --- 51,56 ---- *************** typedef struct M2Dependent_ArgCVEnvP_p M *** 62,67 **** --- 61,68 ---- typedef struct M2Dependent_DependencyList_r M2Dependent_DependencyList; + typedef char *M2Dependent_PtrToChar; + typedef struct M2Dependent__T2_r M2Dependent__T2; typedef M2Dependent__T2 *M2Dependent_ModuleChain; *************** struct M2Dependent__T2_r { *** 93,98 **** --- 94,100 ---- }; static M2Dependent__T3 Modules; + static bool DynamicInitialization; static bool Initialized; static bool WarningTrace; static bool ModuleTrace; *************** static bool ForceTrace; *** 107,113 **** module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each --- 109,115 ---- module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each *************** extern "C" void M2Dependent_RegisterModu *** 127,133 **** /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are not using StaticInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); --- 129,135 ---- /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are using DynamicInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); *************** static void toCString (char *str, unsign *** 195,214 **** We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b); /* strncmp - return 0 if both strings are equal. We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b, unsigned int n); /* strlen - returns the length of string. */ ! static int strlen_ (M2LINK_PtrToChar string); /* traceprintf - wrap printf with a boolean flag. --- 197,216 ---- We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b); /* strncmp - return 0 if both strings are equal. We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b, unsigned int n); /* strlen - returns the length of string. */ ! static int strlen_ (M2Dependent_PtrToChar string); /* traceprintf - wrap printf with a boolean flag. *************** static void ForceModule (void * modname, *** 294,300 **** the dynamic ordering with the preference. */ ! static void ForceDependencies (void); /* CheckApplication - check to see that the application is the last entry in the list. --- 296,302 ---- the dynamic ordering with the preference. */ ! static void ForceDependencies (void * overrideliborder); /* CheckApplication - check to see that the application is the last entry in the list. *************** static void CheckInitialized (void); *** 360,367 **** static M2Dependent_ModuleChain CreateModule (void * name, void * libname, M2Dependent_ArgCVEnvP init, M2Dependent_ArgCVEnvP fini, PROC dependencies) { M2Dependent_ModuleChain mptr; - void * p0; - void * p1; Storage_ALLOCATE ((void **) &mptr, sizeof (M2Dependent__T2)); mptr->name = name; --- 362,367 ---- *************** static M2Dependent_ModuleChain LookupMod *** 503,509 **** { ptr = Modules.array[state-M2Dependent_unregistered]; do { ! if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) { return ptr; } --- 503,509 ---- { ptr = Modules.array[state-M2Dependent_unregistered]; do { ! if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) { return ptr; } *************** static M2Dependent_ModuleChain LookupMod *** 523,529 **** static M2Dependent_ModuleChain LookupModule (M2Dependent_DependencyState state, void * name, void * libname) { ! return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 523,529 ---- static M2Dependent_ModuleChain LookupModule (M2Dependent_DependencyState state, void * name, void * libname) { ! return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void toCString (char *str, unsign *** 567,573 **** We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b) { if ((a != NULL) && (b != NULL)) { --- 567,573 ---- We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b) { if ((a != NULL) && (b != NULL)) { *************** static int strcmp (M2LINK_PtrToChar a, M *** 600,606 **** We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b, unsigned int n) { if (n == 0) { --- 600,606 ---- We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b, unsigned int n) { if (n == 0) { *************** static int strncmp (M2LINK_PtrToChar a, *** 637,643 **** strlen - returns the length of string. */ ! static int strlen_ (M2LINK_PtrToChar string) { int count; --- 637,643 ---- strlen - returns the length of string. */ ! static int strlen_ (M2Dependent_PtrToChar string) { int count; *************** static void DisplayModuleInfo (M2Depende *** 910,917 **** static void DumpModuleData (bool flag) { - M2Dependent_ModuleChain mptr; - if (flag) { DisplayModuleInfo (M2Dependent_unregistered, (const char *) "unregistered", 12); --- 910,915 ---- *************** static void ForceModule (void * modname, *** 993,1012 **** the dynamic ordering with the preference. */ ! static void ForceDependencies (void) { unsigned int len; unsigned int modlen; unsigned int liblen; ! M2LINK_PtrToChar modname; ! M2LINK_PtrToChar libname; ! M2LINK_PtrToChar pc; ! M2LINK_PtrToChar start; ! if (M2LINK_ForcedModuleInitOrder != NULL) { ! traceprintf2 (ForceTrace, (const char *) "user forcing order: %s\\n", 24, reinterpret_cast (M2LINK_ForcedModuleInitOrder)); ! pc = M2LINK_ForcedModuleInitOrder; start = pc; len = 0; modname = NULL; --- 991,1010 ---- the dynamic ordering with the preference. */ ! static void ForceDependencies (void * overrideliborder) { unsigned int len; unsigned int modlen; unsigned int liblen; ! M2Dependent_PtrToChar modname; ! M2Dependent_PtrToChar libname; ! M2Dependent_PtrToChar pc; ! M2Dependent_PtrToChar start; ! if (overrideliborder != NULL) { ! traceprintf2 (ForceTrace, (const char *) "user forcing order: %s\\n", 24, overrideliborder); ! pc = static_cast (overrideliborder); start = pc; len = 0; modname = NULL; *************** static bool equal (void * cstr, const ch *** 1123,1129 **** /* make a local copy of each unbounded array. */ memcpy (str, str_, _str_high+1); ! return (strncmp (reinterpret_cast (cstr), reinterpret_cast (&str), StrLib_StrLen ((const char *) str, _str_high))) == 0; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1121,1127 ---- /* make a local copy of each unbounded array. */ memcpy (str, str_, _str_high+1); ! return (strncmp (reinterpret_cast (cstr), reinterpret_cast (&str), StrLib_StrLen ((const char *) str, _str_high))) == 0; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void Init (void) *** 1239,1244 **** --- 1237,1243 ---- { Modules.array[state-M2Dependent_unregistered] = NULL; } + DynamicInitialization = false; } *************** static void CheckInitialized (void) *** 1264,1276 **** module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp) { M2Dependent_ModuleChain mptr; - M2Dependent_ArgCVEnvP nulp; CheckInitialized (); ! traceprintf3 (ModuleTrace, (const char *) "application module: %s [%s]\\n", 29, applicationmodule, libname); mptr = LookupModule (M2Dependent_unordered, applicationmodule, libname); if (mptr != NULL) { --- 1263,1275 ---- module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp) { M2Dependent_ModuleChain mptr; CheckInitialized (); ! DynamicInitialization = true; /* This procedure is only called if we desire dynamic initialization. */ ! traceprintf3 (ModuleTrace, (const char *) "application module: %s [%s]\\n", 29, applicationmodule, libname); /* This procedure is only called if we desire dynamic initialization. */ mptr = LookupModule (M2Dependent_unordered, applicationmodule, libname); if (mptr != NULL) { *************** extern "C" void M2Dependent_ConstructMod *** 1281,1287 **** ResolveDependencies (applicationmodule, libname); traceprintf (PreTrace, (const char *) "Post resolving dependents\\n", 27); DumpModuleData (PostTrace); ! ForceDependencies (); traceprintf (ForceTrace, (const char *) "After user forcing ordering\\n", 29); DumpModuleData (ForceTrace); CheckApplication (); --- 1280,1286 ---- ResolveDependencies (applicationmodule, libname); traceprintf (PreTrace, (const char *) "Post resolving dependents\\n", 27); DumpModuleData (PostTrace); ! ForceDependencies (overrideliborder); traceprintf (ForceTrace, (const char *) "After user forcing ordering\\n", 29); DumpModuleData (ForceTrace); CheckApplication (); *************** extern "C" void M2Dependent_RegisterModu *** 1366,1384 **** M2Dependent_ModuleChain mptr; CheckInitialized (); ! if (! M2LINK_StaticInitialization) { ! mptr = LookupModule (M2Dependent_unordered, modulename, libname); ! if (mptr == NULL) ! { ! traceprintf3 (ModuleTrace, (const char *) "module: %s [%s] registering", 27, modulename, libname); ! moveTo (M2Dependent_unordered, CreateModule (modulename, libname, init, fini, dependencies)); ! traceprintf (ModuleTrace, (const char *) "\\n", 2); ! } ! else ! { ! warning3 ((const char *) "module: %s [%s] (ignoring duplicate registration)\\n", 51, modulename, libname); ! } } } --- 1365,1380 ---- M2Dependent_ModuleChain mptr; CheckInitialized (); ! mptr = LookupModule (M2Dependent_unordered, modulename, libname); ! if (mptr == NULL) { ! traceprintf3 (ModuleTrace, (const char *) "module: %s [%s] registering", 27, modulename, libname); ! moveTo (M2Dependent_unordered, CreateModule (modulename, libname, init, fini, dependencies)); ! traceprintf (ModuleTrace, (const char *) "\\n", 2); ! } ! else ! { ! warning3 ((const char *) "module: %s [%s] (ignoring duplicate registration)\\n", 51, modulename, libname); } } *************** extern "C" void M2Dependent_RegisterModu *** 1386,1401 **** /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are not using StaticInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname) { CheckInitialized (); ! if (! M2LINK_StaticInitialization) ! { ! PerformRequestDependant (modulename, libname, dependantmodule, dependantlibname); ! } } extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) --- 1382,1394 ---- /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are using DynamicInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname) { CheckInitialized (); ! PerformRequestDependant (modulename, libname, dependantmodule, dependantlibname); } extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GM2Dependent.h gcc-13.3.0/gcc/m2/mc-boot/GM2Dependent.h *** gcc-13.2.0/gcc/m2/mc-boot/GM2Dependent.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GM2Dependent.h Tue May 21 07:47:38 2024 *************** typedef struct M2Dependent_ArgCVEnvP_p M *** 54,60 **** typedef void (*M2Dependent_ArgCVEnvP_t) (int, void *, void *); struct M2Dependent_ArgCVEnvP_p { M2Dependent_ArgCVEnvP_t proc; }; ! EXTERN void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); EXTERN void M2Dependent_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* --- 54,60 ---- typedef void (*M2Dependent_ArgCVEnvP_t) (int, void *, void *); struct M2Dependent_ArgCVEnvP_p { M2Dependent_ArgCVEnvP_t proc; }; ! EXTERN void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); EXTERN void M2Dependent_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GM2LINK.h gcc-13.3.0/gcc/m2/mc-boot/GM2LINK.h *** gcc-13.2.0/gcc/m2/mc-boot/GM2LINK.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GM2LINK.h Thu Jan 1 00:00:00 1970 *************** *** 1,60 **** - /* do not edit automatically generated by mc from M2LINK. */ - /* M2LINK.def defines the linking mode used in Modula-2. - - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by Gaius Mulley . - - This file is part of GNU Modula-2. - - GNU Modula-2 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. - - GNU Modula-2 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 - . */ - - - #if !defined (_M2LINK_H) - # define _M2LINK_H - - #include "config.h" - #include "system.h" - # ifdef __cplusplus - extern "C" { - # endif - #include - # if !defined (PROC_D) - # define PROC_D - typedef void (*PROC_t) (void); - typedef struct { PROC_t proc; } PROC; - # endif - - - # if defined (_M2LINK_C) - # define EXTERN - # else - # define EXTERN extern - # endif - - typedef char *M2LINK_PtrToChar; - - EXTERN M2LINK_PtrToChar M2LINK_ForcedModuleInitOrder; - EXTERN bool M2LINK_StaticInitialization; - # ifdef __cplusplus - } - # endif - - # undef EXTERN - #endif --- 0 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GM2RTS.cc gcc-13.3.0/gcc/m2/mc-boot/GM2RTS.cc *** gcc-13.2.0/gcc/m2/mc-boot/GM2RTS.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GM2RTS.cc Tue May 21 07:47:38 2024 *************** static bool Initialized; *** 97,103 **** module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each --- 97,103 ---- module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each *************** static void CheckInitialized (void) *** 435,443 **** module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp) { ! M2Dependent_ConstructModules (applicationmodule, libname, argc, argv, envp); } --- 435,443 ---- module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp) { ! M2Dependent_ConstructModules (applicationmodule, libname, overrideliborder, argc, argv, envp); } diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GM2RTS.h gcc-13.3.0/gcc/m2/mc-boot/GM2RTS.h *** gcc-13.2.0/gcc/m2/mc-boot/GM2RTS.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GM2RTS.h Tue May 21 07:47:38 2024 *************** typedef struct M2RTS_ArgCVEnvP_p M2RTS_A *** 54,60 **** typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; ! EXTERN void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); EXTERN void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* --- 54,60 ---- typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; ! EXTERN void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); EXTERN void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GRTExceptions.cc gcc-13.3.0/gcc/m2/mc-boot/GRTExceptions.cc *** gcc-13.2.0/gcc/m2/mc-boot/GRTExceptions.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GRTExceptions.cc Tue May 21 07:47:38 2024 *************** extern "C" void RTExceptions_PushHandler *** 1075,1081 **** extern "C" void RTExceptions_PopHandler (RTExceptions_EHBlock e, unsigned int number) { RTExceptions_Handler h; - RTExceptions_Handler i; h = findHandler (e, number); if (h != NULL) --- 1075,1080 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GRTint.cc gcc-13.3.0/gcc/m2/mc-boot/GRTint.cc *** gcc-13.2.0/gcc/m2/mc-boot/GRTint.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GRTint.cc Tue May 21 07:47:38 2024 *************** extern "C" void RTint_Listen (bool until *** 934,943 **** RTint_Vector vec; Selective_SetOfFd inSet; Selective_SetOfFd outSet; - unsigned int b4s; - unsigned int b4m; - unsigned int afs; - unsigned int afm; unsigned int sec; unsigned int micro; int maxFd; --- 934,939 ---- *************** extern "C" void RTint_Listen (bool until *** 1001,1007 **** } if (((untilInterrupt && (inSet == NULL)) && (outSet == NULL)) && ! found) { ! M2RTS_Halt ((const char *) "deadlock found, no more processes to run and no interrupts active", 65, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/RTint.mod", 46, (const char *) "Listen", 6, 732); } /* printf('} ') ; */ --- 997,1003 ---- } if (((untilInterrupt && (inSet == NULL)) && (outSet == NULL)) && ! found) { ! M2RTS_Halt ((const char *) "deadlock found, no more processes to run and no interrupts active", 65, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/RTint.mod", 46, (const char *) "Listen", 6, 728); } /* printf('} ') ; */ diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GSFIO.cc gcc-13.3.0/gcc/m2/mc-boot/GSFIO.cc *** gcc-13.2.0/gcc/m2/mc-boot/GSFIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GSFIO.cc Tue May 21 07:47:38 2024 *************** extern "C" DynamicStrings_String SFIO_Wr *** 190,196 **** extern "C" DynamicStrings_String SFIO_ReadS (FIO_File file) { DynamicStrings_String s; - unsigned int c; s = DynamicStrings_InitString ((const char *) "", 0); while (((! (FIO_EOLN (file))) && (! (FIO_EOF (file)))) && (FIO_IsNoError (file))) --- 190,195 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/GStringConvert.cc gcc-13.3.0/gcc/m2/mc-boot/GStringConvert.cc *** gcc-13.2.0/gcc/m2/mc-boot/GStringConvert.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/GStringConvert.cc Tue May 21 07:47:38 2024 *************** static DynamicStrings_String doDecimalPl *** 770,777 **** int l; int point; DynamicStrings_String t; - DynamicStrings_String whole; - DynamicStrings_String fraction; DynamicStrings_String tenths; DynamicStrings_String hundreths; --- 770,775 ---- *************** extern "C" DynamicStrings_String StringC *** 1917,1923 **** int point; unsigned int poTen; ! Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/StringConvert.mod", 54, 1222, (const char *) "ToSigFig", 8); point = DynamicStrings_Index (s, '.', 0); if (point < 0) { --- 1915,1921 ---- int point; unsigned int poTen; ! Assert ((IsDigit (DynamicStrings_char (s, 0))) || ((DynamicStrings_char (s, 0)) == '.'), (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/StringConvert.mod", 54, 1220, (const char *) "ToSigFig", 8); point = DynamicStrings_Index (s, '.', 0); if (point < 0) { diff -Nrcpad gcc-13.2.0/gcc/m2/mc-boot/Gdecl.cc gcc-13.3.0/gcc/m2/mc-boot/Gdecl.cc *** gcc-13.2.0/gcc/m2/mc-boot/Gdecl.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/mc-boot/Gdecl.cc Tue May 21 07:47:38 2024 *************** extern "C" void SYSTEM_ShiftRight (unsig *** 1028,1034 **** extern "C" void SYSTEM_RotateVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int RotateCount); extern "C" void SYSTEM_RotateLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); extern "C" void SYSTEM_RotateRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); extern "C" void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); extern "C" void M2RTS_RegisterModule (void * name, void * libname, M2RTS_ArgCVEnvP init, M2RTS_ArgCVEnvP fini, PROC dependencies); extern "C" void M2RTS_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); --- 1028,1034 ---- extern "C" void SYSTEM_RotateVal (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, int RotateCount); extern "C" void SYSTEM_RotateLeft (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); extern "C" void SYSTEM_RotateRight (unsigned int *s, unsigned int _s_high, unsigned int *d, unsigned int _d_high, unsigned int SetSizeInBits, unsigned int RotateCount); ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); extern "C" void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); extern "C" void M2RTS_RegisterModule (void * name, void * libname, M2RTS_ArgCVEnvP init, M2RTS_ArgCVEnvP fini, PROC dependencies); extern "C" void M2RTS_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GASCII.cc gcc-13.3.0/gcc/m2/pge-boot/GASCII.cc *** gcc-13.2.0/gcc/m2/pge-boot/GASCII.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GASCII.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GASCII.h gcc-13.3.0/gcc/m2/pge-boot/GASCII.h *** gcc-13.2.0/gcc/m2/pge-boot/GASCII.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GASCII.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GArgs.cc gcc-13.3.0/gcc/m2/pge-boot/GArgs.cc *** gcc-13.2.0/gcc/m2/pge-boot/GArgs.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GArgs.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** static Args__T1 Source; *** 54,60 **** The success of the operation is returned. */ ! extern "C" unsigned int Args_GetArg (char *a, unsigned int _a_high, unsigned int n); /* Narg - returns the number of arguments available from --- 55,61 ---- The success of the operation is returned. */ ! extern "C" bool Args_GetArg (char *a, unsigned int _a_high, unsigned int n); /* Narg - returns the number of arguments available from *************** extern "C" unsigned int Args_Narg (void) *** 69,75 **** The success of the operation is returned. */ ! extern "C" unsigned int Args_GetArg (char *a, unsigned int _a_high, unsigned int n) { int i; unsigned int High; --- 70,76 ---- The success of the operation is returned. */ ! extern "C" bool Args_GetArg (char *a, unsigned int _a_high, unsigned int n) { int i; unsigned int High; diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GArgs.h gcc-13.3.0/gcc/m2/pge-boot/GArgs.h *** gcc-13.2.0/gcc/m2/pge-boot/GArgs.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GArgs.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 53,59 **** The success of the operation is returned. */ ! EXTERN unsigned int Args_GetArg (char *a, unsigned int _a_high, unsigned int n); /* Narg - returns the number of arguments available from --- 54,60 ---- The success of the operation is returned. */ ! EXTERN bool Args_GetArg (char *a, unsigned int _a_high, unsigned int n); /* Narg - returns the number of arguments available from diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GAssertion.cc gcc-13.3.0/gcc/m2/pge-boot/GAssertion.cc *** gcc-13.2.0/gcc/m2/pge-boot/GAssertion.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GAssertion.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 42,55 **** Assert - tests the boolean Condition, if it fails then HALT is called. */ ! extern "C" void Assertion_Assert (unsigned int Condition); /* Assert - tests the boolean Condition, if it fails then HALT is called. */ ! extern "C" void Assertion_Assert (unsigned int Condition) { if (! Condition) { --- 43,56 ---- Assert - tests the boolean Condition, if it fails then HALT is called. */ ! extern "C" void Assertion_Assert (bool Condition); /* Assert - tests the boolean Condition, if it fails then HALT is called. */ ! extern "C" void Assertion_Assert (bool Condition) { if (! Condition) { diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GAssertion.h gcc-13.3.0/gcc/m2/pge-boot/GAssertion.h *** gcc-13.2.0/gcc/m2/pge-boot/GAssertion.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GAssertion.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 53,59 **** is called. */ ! EXTERN void Assertion_Assert (unsigned int Condition); # ifdef __cplusplus } # endif --- 54,60 ---- is called. */ ! EXTERN void Assertion_Assert (bool Condition); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GBreak.h gcc-13.3.0/gcc/m2/pge-boot/GBreak.h *** gcc-13.2.0/gcc/m2/pge-boot/GBreak.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GBreak.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GCmdArgs.h gcc-13.3.0/gcc/m2/pge-boot/GCmdArgs.h *** gcc-13.2.0/gcc/m2/pge-boot/GCmdArgs.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GCmdArgs.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 53,59 **** the success of the operation is returned. */ ! EXTERN unsigned int CmdArgs_GetArg (const char *CmdLine_, unsigned int _CmdLine_high, unsigned int n, char *Argi, unsigned int _Argi_high); /* Narg - returns the number of arguments available from --- 54,60 ---- the success of the operation is returned. */ ! EXTERN bool CmdArgs_GetArg (const char *CmdLine_, unsigned int _CmdLine_high, unsigned int n, char *Argi, unsigned int _Argi_high); /* Narg - returns the number of arguments available from diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GDebug.cc gcc-13.3.0/gcc/m2/pge-boot/GDebug.cc *** gcc-13.2.0/gcc/m2/pge-boot/GDebug.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GDebug.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 46,57 **** /* Halt - writes a message in the format: ! Module:Line:Message It then terminates by calling HALT. */ ! extern "C" void Debug_Halt (const char *Message_, unsigned int _Message_high, unsigned int LineNo, const char *Module_, unsigned int _Module_high); /* DebugString - writes a string to the debugging device (Scn.Write). --- 47,58 ---- /* Halt - writes a message in the format: ! Module:Function:Line:Message It then terminates by calling HALT. */ ! extern "C" void Debug_Halt (const char *Message_, unsigned int _Message_high, const char *Module_, unsigned int _Module_high, const char *Function_, unsigned int _Function_high, unsigned int LineNo); /* DebugString - writes a string to the debugging device (Scn.Write). *************** static void WriteLn (void) *** 83,94 **** /* Halt - writes a message in the format: ! Module:Line:Message It then terminates by calling HALT. */ ! extern "C" void Debug_Halt (const char *Message_, unsigned int _Message_high, unsigned int LineNo, const char *Module_, unsigned int _Module_high) { typedef struct Halt__T1_a Halt__T1; --- 84,95 ---- /* Halt - writes a message in the format: ! Module:Function:Line:Message It then terminates by calling HALT. */ ! extern "C" void Debug_Halt (const char *Message_, unsigned int _Message_high, const char *Module_, unsigned int _Module_high, const char *Function_, unsigned int _Function_high, unsigned int LineNo) { typedef struct Halt__T1_a Halt__T1; *************** extern "C" void Debug_Halt (const char * *** 96,107 **** --- 97,113 ---- Halt__T1 No; char Message[_Message_high+1]; char Module[_Module_high+1]; + char Function[_Function_high+1]; /* make a local copy of each unbounded array. */ memcpy (Message, Message_, _Message_high+1); memcpy (Module, Module_, _Module_high+1); + memcpy (Function, Function_, _Function_high+1); Debug_DebugString ((const char *) Module, _Module_high); /* should be large enough for most source files.. */ + Debug_DebugString ((const char *) ":", 1); + Debug_DebugString ((const char *) Function, _Function_high); + Debug_DebugString ((const char *) ":", 1); NumberIO_CardToStr (LineNo, 0, (char *) &No.array[0], MaxNoOfDigits); Debug_DebugString ((const char *) ":", 1); Debug_DebugString ((const char *) &No.array[0], MaxNoOfDigits); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GDebug.h gcc-13.3.0/gcc/m2/pge-boot/GDebug.h *** gcc-13.2.0/gcc/m2/pge-boot/GDebug.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GDebug.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 50,61 **** /* Halt - writes a message in the format: ! Module:Line:Message It then terminates by calling HALT. */ ! EXTERN void Debug_Halt (const char *Message_, unsigned int _Message_high, unsigned int LineNo, const char *Module_, unsigned int _Module_high); /* DebugString - writes a string to the debugging device (Scn.Write). --- 51,62 ---- /* Halt - writes a message in the format: ! Module:Function:Line:Message It then terminates by calling HALT. */ ! EXTERN void Debug_Halt (const char *Message_, unsigned int _Message_high, const char *Module_, unsigned int _Module_high, const char *Function_, unsigned int _Function_high, unsigned int LineNo); /* DebugString - writes a string to the debugging device (Scn.Write). diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GDynamicStrings.cc gcc-13.3.0/gcc/m2/pge-boot/GDynamicStrings.cc *** gcc-13.2.0/gcc/m2/pge-boot/GDynamicStrings.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GDynamicStrings.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 61,70 **** # include "GM2RTS.h" # define MaxBuf 127 ! # define PoisonOn FALSE ! # define DebugOn FALSE ! # define CheckOn FALSE ! # define TraceOn FALSE typedef struct DynamicStrings_Contents_r DynamicStrings_Contents; typedef struct DynamicStrings_DebugInfo_r DynamicStrings_DebugInfo; --- 62,71 ---- # include "GM2RTS.h" # define MaxBuf 127 ! # define PoisonOn false ! # define DebugOn false ! # define CheckOn false ! # define TraceOn false typedef struct DynamicStrings_Contents_r DynamicStrings_Contents; typedef struct DynamicStrings_DebugInfo_r DynamicStrings_DebugInfo; *************** struct DynamicStrings_DebugInfo_r { *** 93,102 **** }; struct DynamicStrings_descriptor_r { ! unsigned int charStarUsed; void *charStar; unsigned int charStarSize; ! unsigned int charStarValid; DynamicStrings_desState state; DynamicStrings_String garbage; }; --- 94,103 ---- }; struct DynamicStrings_descriptor_r { ! bool charStarUsed; void *charStar; unsigned int charStarSize; ! bool charStarValid; DynamicStrings_desState state; DynamicStrings_String garbage; }; *************** struct DynamicStrings_stringRecord_r { *** 120,126 **** DynamicStrings_DebugInfo debug; }; ! static unsigned int Initialized; static DynamicStrings_frame frameHead; static DynamicStrings_String captured; --- 121,127 ---- DynamicStrings_DebugInfo debug; }; ! static bool Initialized; static DynamicStrings_frame frameHead; static DynamicStrings_String captured; *************** extern "C" DynamicStrings_String Dynamic *** 205,225 **** Equal - returns TRUE if String, a, and, b, are equal. */ ! extern "C" unsigned int DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b); /* EqualCharStar - returns TRUE if contents of String, s, is the same as the string, a. */ ! extern "C" unsigned int DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a); /* EqualArray - returns TRUE if contents of String, s, is the same as the string, a. */ ! extern "C" unsigned int DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high); /* Mult - returns a new string which is n concatenations of String, s. --- 206,226 ---- Equal - returns TRUE if String, a, and, b, are equal. */ ! extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b); /* EqualCharStar - returns TRUE if contents of String, s, is the same as the string, a. */ ! extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a); /* EqualArray - returns TRUE if contents of String, s, is the same as the string, a. */ ! extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high); /* Mult - returns a new string which is n concatenations of String, s. *************** extern "C" void DynamicStrings_PushAlloc *** 366,384 **** with an exit code of 1. */ ! extern "C" void DynamicStrings_PopAllocation (unsigned int halt); /* PopAllocationExemption - test to see that all strings are deallocated, except ! string, e, since the last push. ! Then it pops to the previous allocation/deallocation lists. If halt is true then the application terminates with an exit code of 1. */ ! extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (unsigned int halt, DynamicStrings_String e); /* writeStringDesc write out debugging information about string, s. */ --- 367,385 ---- with an exit code of 1. */ ! extern "C" void DynamicStrings_PopAllocation (bool halt); /* PopAllocationExemption - test to see that all strings are deallocated, except ! string e since the last push. ! Post-condition: it pops to the previous allocation/deallocation lists. If halt is true then the application terminates with an exit code of 1. */ ! extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e); /* writeStringDesc write out debugging information about string, s. */ *************** static void writeCard (unsigned int c); *** 465,471 **** static void writeLongcard (long unsigned int l); /* ! writeAddress - */ static void writeAddress (void * a); --- 466,472 ---- static void writeLongcard (long unsigned int l); /* ! writeAddress - writes out the address of a with a C style hex prefix. */ static void writeAddress (void * a); *************** static DynamicStrings_String AssignDebug *** 486,492 **** IsOn - returns TRUE if, s, is on one of the debug lists. */ ! static unsigned int IsOn (DynamicStrings_String list, DynamicStrings_String s); /* AddTo - adds string, s, to, list. --- 487,493 ---- IsOn - returns TRUE if, s, is on one of the debug lists. */ ! static bool IsOn (DynamicStrings_String list, DynamicStrings_String s); /* AddTo - adds string, s, to, list. *************** static void AddDeallocated (DynamicStrin *** 516,528 **** IsOnAllocated - returns TRUE if the string, s, has ever been allocated. */ ! static unsigned int IsOnAllocated (DynamicStrings_String s); /* IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. */ ! static unsigned int IsOnDeallocated (DynamicStrings_String s); /* SubAllocated - removes string, s, from the list of allocated strings. --- 517,529 ---- IsOnAllocated - returns TRUE if the string, s, has ever been allocated. */ ! static bool IsOnAllocated (DynamicStrings_String s); /* IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. */ ! static bool IsOnDeallocated (DynamicStrings_String s); /* SubAllocated - removes string, s, from the list of allocated strings. *************** static DynamicStrings_String AddToGarbag *** 592,604 **** IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. */ ! static unsigned int IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s); /* IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch); /* DumpState - --- 593,605 ---- IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. */ ! static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s); /* IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch); /* DumpState - *************** static void writeNspace (unsigned int n) *** 686,693 **** static void DumpStringInfo (DynamicStrings_String s, unsigned int i) { - DynamicStrings_String t; - if (s != NULL) { writeNspace (i); --- 687,692 ---- *************** static void doDSdbExit (DynamicStrings_S *** 738,744 **** { if (CheckOn) { ! s = DynamicStrings_PopAllocationExemption (TRUE, s); } } --- 737,743 ---- { if (CheckOn) { ! s = DynamicStrings_PopAllocationExemption (true, s); } } *************** static void writeLongcard (long unsigned *** 903,914 **** /* ! writeAddress - */ static void writeAddress (void * a) { ! writeLongcard ((long unsigned int ) (a)); } --- 902,919 ---- /* ! writeAddress - writes out the address of a with a C style hex prefix. */ static void writeAddress (void * a) { ! typedef struct writeAddress__T4_a writeAddress__T4; ! ! struct writeAddress__T4_a { char array[30+1]; }; ! writeAddress__T4 buffer; ! ! libc_snprintf (&buffer, static_cast (sizeof (buffer)), (const char *) "0x%", 3, a); ! writeString ((const char *) &buffer.array[0], 30); } *************** static DynamicStrings_String AssignDebug *** 960,966 **** IsOn - returns TRUE if, s, is on one of the debug lists. */ ! static unsigned int IsOn (DynamicStrings_String list, DynamicStrings_String s) { while ((list != s) && (list != NULL)) { --- 965,971 ---- IsOn - returns TRUE if, s, is on one of the debug lists. */ ! static bool IsOn (DynamicStrings_String list, DynamicStrings_String s) { while ((list != s) && (list != NULL)) { *************** static void AddDeallocated (DynamicStrin *** 1050,1056 **** IsOnAllocated - returns TRUE if the string, s, has ever been allocated. */ ! static unsigned int IsOnAllocated (DynamicStrings_String s) { DynamicStrings_frame f; --- 1055,1061 ---- IsOnAllocated - returns TRUE if the string, s, has ever been allocated. */ ! static bool IsOnAllocated (DynamicStrings_String s) { DynamicStrings_frame f; *************** static unsigned int IsOnAllocated (Dynam *** 1059,1072 **** do { if (IsOn (f->alloc, s)) { ! return TRUE; } else { f = f->next; } } while (! (f == NULL)); ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1064,1077 ---- do { if (IsOn (f->alloc, s)) { ! return true; } else { f = f->next; } } while (! (f == NULL)); ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int IsOnAllocated (Dynam *** 1076,1082 **** IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. */ ! static unsigned int IsOnDeallocated (DynamicStrings_String s) { DynamicStrings_frame f; --- 1081,1087 ---- IsOnDeallocated - returns TRUE if the string, s, has ever been deallocated. */ ! static bool IsOnDeallocated (DynamicStrings_String s) { DynamicStrings_frame f; *************** static unsigned int IsOnDeallocated (Dyn *** 1085,1098 **** do { if (IsOn (f->dealloc, s)) { ! return TRUE; } else { f = f->next; } } while (! (f == NULL)); ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1090,1103 ---- do { if (IsOn (f->dealloc, s)) { ! return true; } else { f = f->next; } } while (! (f == NULL)); ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void DeallocateCharStar (DynamicS *** 1238,1247 **** { Storage_DEALLOCATE (&s->head->charStar, s->head->charStarSize); } ! s->head->charStarUsed = FALSE; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = FALSE; } } --- 1243,1252 ---- { Storage_DEALLOCATE (&s->head->charStar, s->head->charStarSize); } ! s->head->charStarUsed = false; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = false; } } *************** static void MarkInvalid (DynamicStrings_ *** 1275,1281 **** } if (s->head != NULL) { ! s->head->charStarValid = FALSE; } } --- 1280,1286 ---- } if (s->head != NULL) { ! s->head->charStarValid = false; } } *************** static DynamicStrings_String AddToGarbag *** 1371,1377 **** IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. */ ! static unsigned int IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s) { if ((e != NULL) && (s != NULL)) { --- 1376,1382 ---- IsOnGarbage - returns TRUE if, s, is on string, e, garbage list. */ ! static bool IsOnGarbage (DynamicStrings_String e, DynamicStrings_String s) { if ((e != NULL) && (s != NULL)) { *************** static unsigned int IsOnGarbage (Dynamic *** 1379,1385 **** { if (e->head->garbage == s) { ! return TRUE; } else { --- 1384,1390 ---- { if (e->head->garbage == s) { ! return true; } else { *************** static unsigned int IsOnGarbage (Dynamic *** 1387,1393 **** } } } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1392,1398 ---- } } } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int IsOnGarbage (Dynamic *** 1397,1403 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch) { return (ch == ' ') || (ch == ASCII_tab); /* static analysis guarentees a RETURN statement will be used before here. */ --- 1402,1408 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch) { return (ch == ' ') || (ch == ASCII_tab); /* static analysis guarentees a RETURN statement will be used before here. */ *************** static void Init (void) *** 1506,1512 **** { if (! Initialized) { ! Initialized = TRUE; frameHead = NULL; DynamicStrings_PushAllocation (); } --- 1511,1517 ---- { if (! Initialized) { ! Initialized = true; frameHead = NULL; DynamicStrings_PushAllocation (); } *************** extern "C" DynamicStrings_String Dynamic *** 1531,1540 **** s->contents.next = NULL; ConcatContents (&s->contents, (const char *) a, _a_high, StrLib_StrLen ((const char *) a, _a_high), 0); Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); ! s->head->charStarUsed = FALSE; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = FALSE; s->head->garbage = NULL; s->head->state = DynamicStrings_inuse; AddDebugInfo (s); --- 1536,1545 ---- s->contents.next = NULL; ConcatContents (&s->contents, (const char *) a, _a_high, StrLib_StrLen ((const char *) a, _a_high), 0); Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); ! s->head->charStarUsed = false; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = false; s->head->garbage = NULL; s->head->state = DynamicStrings_inuse; AddDebugInfo (s); *************** extern "C" DynamicStrings_String Dynamic *** 1634,1643 **** ConcatContentsAddress (&s->contents, a, static_cast (libc_strlen (a))); } Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); ! s->head->charStarUsed = FALSE; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = FALSE; s->head->garbage = NULL; s->head->state = DynamicStrings_inuse; AddDebugInfo (s); --- 1639,1648 ---- ConcatContentsAddress (&s->contents, a, static_cast (libc_strlen (a))); } Storage_ALLOCATE ((void **) &s->head, sizeof (DynamicStrings_descriptor)); ! s->head->charStarUsed = false; s->head->charStar = NULL; s->head->charStarSize = 0; ! s->head->charStarValid = false; s->head->garbage = NULL; s->head->state = DynamicStrings_inuse; AddDebugInfo (s); *************** extern "C" DynamicStrings_String Dynamic *** 1657,1666 **** extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) { ! typedef struct InitStringChar__T4_a InitStringChar__T4; ! struct InitStringChar__T4_a { char array[1+1]; }; ! InitStringChar__T4 a; DynamicStrings_String s; a.array[0] = ch; --- 1662,1671 ---- extern "C" DynamicStrings_String DynamicStrings_InitStringChar (char ch) { ! typedef struct InitStringChar__T5_a InitStringChar__T5; ! struct InitStringChar__T5_a { char array[1+1]; }; ! InitStringChar__T5 a; DynamicStrings_String s; a.array[0] = ch; *************** extern "C" DynamicStrings_String Dynamic *** 1765,1774 **** extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_String a, char ch) { ! typedef struct ConCatChar__T5_a ConCatChar__T5; ! struct ConCatChar__T5_a { char array[1+1]; }; ! ConCatChar__T5 b; DynamicStrings_String t; if (PoisonOn) --- 1770,1779 ---- extern "C" DynamicStrings_String DynamicStrings_ConCatChar (DynamicStrings_String a, char ch) { ! typedef struct ConCatChar__T6_a ConCatChar__T6; ! struct ConCatChar__T6_a { char array[1+1]; }; ! ConCatChar__T6 b; DynamicStrings_String t; if (PoisonOn) *************** extern "C" DynamicStrings_String Dynamic *** 1860,1866 **** Equal - returns TRUE if String, a, and, b, are equal. */ ! extern "C" unsigned int DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b) { unsigned int i; --- 1865,1871 ---- Equal - returns TRUE if String, a, and, b, are equal. */ ! extern "C" bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b) { unsigned int i; *************** extern "C" unsigned int DynamicStrings_E *** 1879,1896 **** { if (a->contents.buf.array[i] != b->contents.buf.array[i]) { ! return FALSE; } i += 1; } a = a->contents.next; b = b->contents.next; } ! return TRUE; } else { ! return FALSE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 1884,1901 ---- { if (a->contents.buf.array[i] != b->contents.buf.array[i]) { ! return false; } i += 1; } a = a->contents.next; b = b->contents.next; } ! return true; } else { ! return false; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" unsigned int DynamicStrings_E *** 1902,1908 **** string, a. */ ! extern "C" unsigned int DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) { DynamicStrings_String t; --- 1907,1913 ---- string, a. */ ! extern "C" bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a) { DynamicStrings_String t; *************** extern "C" unsigned int DynamicStrings_E *** 1919,1930 **** if (DynamicStrings_Equal (t, s)) { t = DynamicStrings_KillString (t); ! return TRUE; } else { t = DynamicStrings_KillString (t); ! return FALSE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 1924,1935 ---- if (DynamicStrings_Equal (t, s)) { t = DynamicStrings_KillString (t); ! return true; } else { t = DynamicStrings_KillString (t); ! return false; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" unsigned int DynamicStrings_E *** 1936,1942 **** string, a. */ ! extern "C" unsigned int DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high) { DynamicStrings_String t; char a[_a_high+1]; --- 1941,1947 ---- string, a. */ ! extern "C" bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high) { DynamicStrings_String t; char a[_a_high+1]; *************** extern "C" unsigned int DynamicStrings_E *** 1957,1968 **** if (DynamicStrings_Equal (t, s)) { t = DynamicStrings_KillString (t); ! return TRUE; } else { t = DynamicStrings_KillString (t); ! return FALSE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 1962,1973 ---- if (DynamicStrings_Equal (t, s)) { t = DynamicStrings_KillString (t); ! return true; } else { t = DynamicStrings_KillString (t); ! return false; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" void * DynamicStrings_string *** 2438,2444 **** DeallocateCharStar (s); Storage_ALLOCATE (&s->head->charStar, l+1); s->head->charStarSize = l+1; ! s->head->charStarUsed = TRUE; } p = static_cast (s->head->charStar); a = s; --- 2443,2449 ---- DeallocateCharStar (s); Storage_ALLOCATE (&s->head->charStar, l+1); s->head->charStarSize = l+1; ! s->head->charStarUsed = true; } p = static_cast (s->head->charStar); a = s; *************** extern "C" void * DynamicStrings_string *** 2454,2460 **** a = a->contents.next; } (*p) = ASCII_nul; ! s->head->charStarValid = TRUE; } return s->head->charStar; } --- 2459,2465 ---- a = a->contents.next; } (*p) = ASCII_nul; ! s->head->charStarValid = true; } return s->head->charStar; } *************** extern "C" void DynamicStrings_PushAlloc *** 2599,2605 **** with an exit code of 1. */ ! extern "C" void DynamicStrings_PopAllocation (unsigned int halt) { if (CheckOn) { --- 2604,2610 ---- with an exit code of 1. */ ! extern "C" void DynamicStrings_PopAllocation (bool halt) { if (CheckOn) { *************** extern "C" void DynamicStrings_PopAlloca *** 2611,2629 **** /* PopAllocationExemption - test to see that all strings are deallocated, except ! string, e, since the last push. ! Then it pops to the previous allocation/deallocation lists. If halt is true then the application terminates with an exit code of 1. */ ! extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (unsigned int halt, DynamicStrings_String e) { DynamicStrings_String s; ! DynamicStrings_frame f; ! unsigned int b; Init (); if (CheckOn) --- 2616,2633 ---- /* PopAllocationExemption - test to see that all strings are deallocated, except ! string e since the last push. ! Post-condition: it pops to the previous allocation/deallocation lists. If halt is true then the application terminates with an exit code of 1. */ ! extern "C" DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e) { DynamicStrings_String s; ! bool b; Init (); if (CheckOn) *************** extern "C" DynamicStrings_String Dynamic *** 2632,2645 **** if (frameHead == NULL) { stop (); ! /* writeString ("mismatched number of PopAllocation's compared to PushAllocation's") */ ! M2RTS_Halt ((const char *) "../../gcc-read-write/gcc/m2/gm2-libs/DynamicStrings.mod", 55, 176, (const char *) "PopAllocationExemption", 22, (const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65); } else { if (frameHead->alloc != NULL) { ! b = FALSE; s = frameHead->alloc; while (s != NULL) { --- 2636,2649 ---- if (frameHead == NULL) { stop (); ! M2RTS_Halt ((const char *) "mismatched number of PopAllocation's compared to PushAllocation's", 65, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/DynamicStrings.mod", 55, (const char *) "PopAllocationExemption", 22, 174); } else { + /* writeString ("mismatched number of PopAllocation's compared to PushAllocation's") */ if (frameHead->alloc != NULL) { ! b = false; s = frameHead->alloc; while (s != NULL) { *************** extern "C" DynamicStrings_String Dynamic *** 2649,2655 **** { writeString ((const char *) "the following strings have been lost", 36); writeLn (); ! b = TRUE; } DumpStringInfo (s, 0); } --- 2653,2659 ---- { writeString ((const char *) "the following strings have been lost", 36); writeLn (); ! b = true; } DumpStringInfo (s, 0); } *************** extern "C" DynamicStrings_String Dynamic *** 2670,2676 **** extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! Initialized = FALSE; Init (); } --- 2674,2680 ---- extern "C" void _M2_DynamicStrings_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! Initialized = false; Init (); } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GDynamicStrings.h gcc-13.3.0/gcc/m2/pge-boot/GDynamicStrings.h *** gcc-13.2.0/gcc/m2/pge-boot/GDynamicStrings.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GDynamicStrings.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN DynamicStrings_String DynamicStri *** 139,159 **** Equal - returns TRUE if String, a, and, b, are equal. */ ! EXTERN unsigned int DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b); /* EqualCharStar - returns TRUE if contents of String, s, is the same as the string, a. */ ! EXTERN unsigned int DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a); /* EqualArray - returns TRUE if contents of String, s, is the same as the string, a. */ ! EXTERN unsigned int DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high); /* Mult - returns a new string which is n concatenations of String, s. --- 140,160 ---- Equal - returns TRUE if String, a, and, b, are equal. */ ! EXTERN bool DynamicStrings_Equal (DynamicStrings_String a, DynamicStrings_String b); /* EqualCharStar - returns TRUE if contents of String, s, is the same as the string, a. */ ! EXTERN bool DynamicStrings_EqualCharStar (DynamicStrings_String s, void * a); /* EqualArray - returns TRUE if contents of String, s, is the same as the string, a. */ ! EXTERN bool DynamicStrings_EqualArray (DynamicStrings_String s, const char *a_, unsigned int _a_high); /* Mult - returns a new string which is n concatenations of String, s. *************** EXTERN void DynamicStrings_PushAllocatio *** 310,322 **** with an exit code of 1. */ ! EXTERN void DynamicStrings_PopAllocation (unsigned int halt); /* PopAllocationExemption - test to see that all strings are ! deallocated, except string, e, since the last push. ! Then it pops to the previous allocation/deallocation lists. If halt is true then the application --- 311,323 ---- with an exit code of 1. */ ! EXTERN void DynamicStrings_PopAllocation (bool halt); /* PopAllocationExemption - test to see that all strings are ! deallocated, except string e since the last push. ! Post-condition: it pops to the previous allocation/deallocation lists. If halt is true then the application *************** EXTERN void DynamicStrings_PopAllocation *** 325,331 **** The string, e, is returned unmodified, */ ! EXTERN DynamicStrings_String DynamicStrings_PopAllocationExemption (unsigned int halt, DynamicStrings_String e); # ifdef __cplusplus } # endif --- 326,332 ---- The string, e, is returned unmodified, */ ! EXTERN DynamicStrings_String DynamicStrings_PopAllocationExemption (bool halt, DynamicStrings_String e); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GEnvironment.h gcc-13.3.0/gcc/m2/pge-boot/GEnvironment.h *** gcc-13.2.0/gcc/m2/pge-boot/GEnvironment.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GEnvironment.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 55,61 **** the processes environment. */ ! EXTERN unsigned int Environment_GetEnvironment (const char *Env_, unsigned int _Env_high, char *dest, unsigned int _dest_high); /* PutEnvironment - change or add an environment variable definition --- 56,62 ---- the processes environment. */ ! EXTERN bool Environment_GetEnvironment (const char *Env_, unsigned int _Env_high, char *dest, unsigned int _dest_high); /* PutEnvironment - change or add an environment variable definition *************** EXTERN unsigned int Environment_GetEnvir *** 64,70 **** set or changed successfully. */ ! EXTERN unsigned int Environment_PutEnvironment (const char *EnvDef_, unsigned int _EnvDef_high); # ifdef __cplusplus } # endif --- 65,71 ---- set or changed successfully. */ ! EXTERN bool Environment_PutEnvironment (const char *EnvDef_, unsigned int _EnvDef_high); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GFIO.cc gcc-13.3.0/gcc/m2/pge-boot/GFIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GFIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GFIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** struct FIO_NameInfo_r { *** 98,104 **** }; struct FIO_buf_r { ! unsigned int valid; long int bufstart; unsigned int position; void *address; --- 99,105 ---- }; struct FIO_buf_r { ! bool valid; long int bufstart; unsigned int position; void *address; *************** struct FIO_fds_r { *** 114,120 **** FIO_NameInfo name; FIO_FileStatus state; FIO_FileUsage usage; ! unsigned int output; FIO_Buffer buffer; long int abspos; }; --- 115,121 ---- FIO_NameInfo name; FIO_FileStatus state; FIO_FileUsage usage; ! bool output; FIO_Buffer buffer; long int abspos; }; *************** static FIO_File Error; *** 126,142 **** IsNoError - returns a TRUE if no error has occured on file, f. */ ! extern "C" unsigned int FIO_IsNoError (FIO_File f); /* IsActive - returns TRUE if the file, f, is still active. */ ! extern "C" unsigned int FIO_IsActive (FIO_File f); ! extern "C" unsigned int FIO_Exists (const char *fname_, unsigned int _fname_high); extern "C" FIO_File FIO_OpenToRead (const char *fname_, unsigned int _fname_high); extern "C" FIO_File FIO_OpenToWrite (const char *fname_, unsigned int _fname_high); ! extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, unsigned int towrite, unsigned int newfile); /* Close - close a file which has been previously opened using: --- 127,143 ---- IsNoError - returns a TRUE if no error has occured on file, f. */ ! extern "C" bool FIO_IsNoError (FIO_File f); /* IsActive - returns TRUE if the file, f, is still active. */ ! extern "C" bool FIO_IsActive (FIO_File f); ! extern "C" bool FIO_Exists (const char *fname_, unsigned int _fname_high); extern "C" FIO_File FIO_OpenToRead (const char *fname_, unsigned int _fname_high); extern "C" FIO_File FIO_OpenToWrite (const char *fname_, unsigned int _fname_high); ! extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, bool towrite, bool newfile); /* Close - close a file which has been previously opened using: *************** extern "C" void FIO_Close (FIO_File f); *** 150,156 **** exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" unsigned int FIO_exists (void * fname, unsigned int flength); /* openToRead - attempts to open a file, fname, for reading and --- 151,157 ---- exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" bool FIO_exists (void * fname, unsigned int flength); /* openToRead - attempts to open a file, fname, for reading and *************** extern "C" FIO_File FIO_openToWrite (voi *** 179,185 **** opened for writing or reading. */ ! extern "C" FIO_File FIO_openForRandom (void * fname, unsigned int flength, unsigned int towrite, unsigned int newfile); /* FlushBuffer - flush contents of file, f. --- 180,186 ---- opened for writing or reading. */ ! extern "C" FIO_File FIO_openForRandom (void * fname, unsigned int flength, bool towrite, bool newfile); /* FlushBuffer - flush contents of file, f. *************** extern "C" void FIO_WriteChar (FIO_File *** 232,251 **** EOF - tests to see whether a file, f, has reached end of file. */ ! extern "C" unsigned int FIO_EOF (FIO_File f); /* EOLN - tests to see whether a file, f, is upon a newline. It does NOT consume the newline. */ ! extern "C" unsigned int FIO_EOLN (FIO_File f); /* WasEOLN - tests to see whether a file, f, has just seen a newline. */ ! extern "C" unsigned int FIO_WasEOLN (FIO_File f); /* ReadChar - returns a character read from file f. --- 233,252 ---- EOF - tests to see whether a file, f, has reached end of file. */ ! extern "C" bool FIO_EOF (FIO_File f); /* EOLN - tests to see whether a file, f, is upon a newline. It does NOT consume the newline. */ ! extern "C" bool FIO_EOLN (FIO_File f); /* WasEOLN - tests to see whether a file, f, has just seen a newline. */ ! extern "C" bool FIO_WasEOLN (FIO_File f); /* ReadChar - returns a character read from file f. *************** static void SetState (FIO_File f, FIO_Fi *** 384,396 **** InitializeFile - initialize a file descriptor */ ! static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, FIO_FileStatus fstate, FIO_FileUsage use, unsigned int towrite, unsigned int buflength); /* ConnectToUnix - connects a FIO file to a UNIX file descriptor. */ ! static void ConnectToUnix (FIO_File f, unsigned int towrite, unsigned int newfile); /* ReadFromBuffer - attempts to read, nBytes, from file, f. --- 385,397 ---- InitializeFile - initialize a file descriptor */ ! static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, FIO_FileStatus fstate, FIO_FileUsage use, bool towrite, unsigned int buflength); /* ConnectToUnix - connects a FIO file to a UNIX file descriptor. */ ! static void ConnectToUnix (FIO_File f, bool towrite, bool newfile); /* ReadFromBuffer - attempts to read, nBytes, from file, f. *************** static void FormatError2 (const char *a_ *** 459,465 **** opened for read/write. */ ! static void CheckAccess (FIO_File f, FIO_FileUsage use, unsigned int towrite); /* SetEndOfLine - --- 460,466 ---- opened for read/write. */ ! static void CheckAccess (FIO_File f, FIO_FileUsage use, bool towrite); /* SetEndOfLine - *************** static int BufferedWrite (FIO_File f, un *** 481,487 **** PreInitialize - preinitialize the file descriptor. */ ! static void PreInitialize (FIO_File f, const char *fname_, unsigned int _fname_high, FIO_FileStatus state, FIO_FileUsage use, unsigned int towrite, int osfd, unsigned int bufsize); /* Init - initialize the modules, global variables. --- 482,488 ---- PreInitialize - preinitialize the file descriptor. */ ! static void PreInitialize (FIO_File f, const char *fname_, unsigned int _fname_high, FIO_FileStatus state, FIO_FileUsage use, bool towrite, int osfd, unsigned int bufsize); /* Init - initialize the modules, global variables. *************** static void SetState (FIO_File f, FIO_Fi *** 580,586 **** InitializeFile - initialize a file descriptor */ ! static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, FIO_FileStatus fstate, FIO_FileUsage use, unsigned int towrite, unsigned int buflength) { FIO_PtrToChar p; FIO_FileDescriptor fd; --- 581,587 ---- InitializeFile - initialize a file descriptor */ ! static FIO_File InitializeFile (FIO_File f, void * fname, unsigned int flength, FIO_FileStatus fstate, FIO_FileUsage use, bool towrite, unsigned int buflength) { FIO_PtrToChar p; FIO_FileDescriptor fd; *************** static FIO_File InitializeFile (FIO_File *** 618,624 **** } else { ! fd->buffer->valid = FALSE; fd->buffer->bufstart = 0; fd->buffer->size = buflength; fd->buffer->position = 0; --- 619,625 ---- } else { ! fd->buffer->valid = false; fd->buffer->bufstart = 0; fd->buffer->size = buflength; fd->buffer->position = 0; *************** static FIO_File InitializeFile (FIO_File *** 658,664 **** ConnectToUnix - connects a FIO file to a UNIX file descriptor. */ ! static void ConnectToUnix (FIO_File f, unsigned int towrite, unsigned int newfile) { FIO_FileDescriptor fd; --- 659,665 ---- ConnectToUnix - connects a FIO file to a UNIX file descriptor. */ ! static void ConnectToUnix (FIO_File f, bool towrite, bool newfile) { FIO_FileDescriptor fd; *************** static int ReadFromBuffer (FIO_File f, v *** 729,735 **** (*p) = static_cast ((*fd->buffer->contents).array[fd->buffer->position]); fd->buffer->left -= 1; /* remove consumed bytes */ fd->buffer->position += 1; /* move onwards n bytes */ ! nBytes = 0; /* read */ return 1; } --- 730,736 ---- (*p) = static_cast ((*fd->buffer->contents).array[fd->buffer->position]); fd->buffer->left -= 1; /* remove consumed bytes */ fd->buffer->position += 1; /* move onwards n bytes */ ! nBytes = 0; /* reduce the amount for future direct */ /* read */ return 1; } *************** static int ReadFromBuffer (FIO_File f, v *** 764,770 **** /* now disable the buffer as we read directly into, a. */ if (fd->buffer != NULL) { ! fd->buffer->valid = FALSE; } } else --- 765,771 ---- /* now disable the buffer as we read directly into, a. */ if (fd->buffer != NULL) { ! fd->buffer->valid = false; } } else *************** static int ReadFromBuffer (FIO_File f, v *** 781,787 **** /* indicate buffer is empty */ if (fd->buffer != NULL) { ! fd->buffer->valid = FALSE; fd->buffer->left = 0; fd->buffer->position = 0; if (fd->buffer->address != NULL) --- 782,788 ---- /* indicate buffer is empty */ if (fd->buffer != NULL) { ! fd->buffer->valid = false; fd->buffer->left = 0; fd->buffer->position = 0; if (fd->buffer->address != NULL) *************** static int BufferedRead (FIO_File f, uns *** 816,822 **** typedef unsigned char *BufferedRead__T3; void * t; - int result; int total; int n; BufferedRead__T3 p; --- 817,822 ---- *************** static int BufferedRead (FIO_File f, uns *** 867,873 **** if (n >= 0) { /* avoid dangling else. */ ! fd->buffer->valid = TRUE; fd->buffer->position = 0; fd->buffer->left = n; fd->buffer->filled = n; --- 867,873 ---- if (n >= 0) { /* avoid dangling else. */ ! fd->buffer->valid = true; fd->buffer->position = 0; fd->buffer->left = n; fd->buffer->filled = n; *************** static int BufferedRead (FIO_File f, uns *** 882,888 **** } else { ! fd->buffer->valid = FALSE; fd->buffer->position = 0; fd->buffer->left = 0; fd->buffer->filled = 0; --- 882,888 ---- } else { ! fd->buffer->valid = false; fd->buffer->position = 0; fd->buffer->left = 0; fd->buffer->filled = 0; *************** static void FormatError2 (const char *a_ *** 1141,1147 **** opened for read/write. */ ! static void CheckAccess (FIO_File f, FIO_FileUsage use, unsigned int towrite) { FIO_FileDescriptor fd; --- 1141,1147 ---- opened for read/write. */ ! static void CheckAccess (FIO_File f, FIO_FileUsage use, bool towrite) { FIO_FileDescriptor fd; *************** static void SetEndOfLine (FIO_File f, ch *** 1215,1221 **** { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, FALSE); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); --- 1215,1221 ---- { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, false); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); *************** static int BufferedWrite (FIO_File f, un *** 1244,1250 **** typedef unsigned char *BufferedWrite__T5; void * t; - int result; int total; int n; BufferedWrite__T5 p; --- 1244,1249 ---- *************** static int BufferedWrite (FIO_File f, un *** 1310,1316 **** PreInitialize - preinitialize the file descriptor. */ ! static void PreInitialize (FIO_File f, const char *fname_, unsigned int _fname_high, FIO_FileStatus state, FIO_FileUsage use, unsigned int towrite, int osfd, unsigned int bufsize) { FIO_FileDescriptor fd; FIO_FileDescriptor fe; --- 1309,1315 ---- PreInitialize - preinitialize the file descriptor. */ ! static void PreInitialize (FIO_File f, const char *fname_, unsigned int _fname_high, FIO_FileStatus state, FIO_FileUsage use, bool towrite, int osfd, unsigned int bufsize) { FIO_FileDescriptor fd; FIO_FileDescriptor fe; *************** static void Init (void) *** 1356,1368 **** { FileInfo = Indexing_InitIndex (0); Error = 0; ! PreInitialize (Error, (const char *) "error", 5, FIO_toomanyfilesopen, FIO_unused, FALSE, -1, 0); FIO_StdIn = 1; ! PreInitialize (FIO_StdIn, (const char *) "", 7, FIO_successful, FIO_openedforread, FALSE, 0, MaxBufferLength); FIO_StdOut = 2; ! PreInitialize (FIO_StdOut, (const char *) "", 8, FIO_successful, FIO_openedforwrite, TRUE, 1, MaxBufferLength); FIO_StdErr = 3; ! PreInitialize (FIO_StdErr, (const char *) "", 8, FIO_successful, FIO_openedforwrite, TRUE, 2, MaxBufferLength); if (! (M2RTS_InstallTerminationProcedure ((PROC ) {(PROC_t) FIO_FlushOutErr}))) { M2RTS_HALT (-1); --- 1355,1367 ---- { FileInfo = Indexing_InitIndex (0); Error = 0; ! PreInitialize (Error, (const char *) "error", 5, FIO_toomanyfilesopen, FIO_unused, false, -1, 0); FIO_StdIn = 1; ! PreInitialize (FIO_StdIn, (const char *) "", 7, FIO_successful, FIO_openedforread, false, 0, MaxBufferLength); FIO_StdOut = 2; ! PreInitialize (FIO_StdOut, (const char *) "", 8, FIO_successful, FIO_openedforwrite, true, 1, MaxBufferLength); FIO_StdErr = 3; ! PreInitialize (FIO_StdErr, (const char *) "", 8, FIO_successful, FIO_openedforwrite, true, 2, MaxBufferLength); if (! (M2RTS_InstallTerminationProcedure ((PROC ) {(PROC_t) FIO_FlushOutErr}))) { M2RTS_HALT (-1); *************** static void Init (void) *** 1375,1387 **** IsNoError - returns a TRUE if no error has occured on file, f. */ ! extern "C" unsigned int FIO_IsNoError (FIO_File f) { FIO_FileDescriptor fd; if (f == Error) { ! return FALSE; } else { --- 1374,1386 ---- IsNoError - returns a TRUE if no error has occured on file, f. */ ! extern "C" bool FIO_IsNoError (FIO_File f) { FIO_FileDescriptor fd; if (f == Error) { ! return false; } else { *************** extern "C" unsigned int FIO_IsNoError (F *** 1397,1407 **** IsActive - returns TRUE if the file, f, is still active. */ ! extern "C" unsigned int FIO_IsActive (FIO_File f) { if (f == Error) { ! return FALSE; } else { --- 1396,1406 ---- IsActive - returns TRUE if the file, f, is still active. */ ! extern "C" bool FIO_IsActive (FIO_File f) { if (f == Error) { ! return false; } else { *************** extern "C" unsigned int FIO_IsActive (FI *** 1411,1417 **** __builtin_unreachable (); } ! extern "C" unsigned int FIO_Exists (const char *fname_, unsigned int _fname_high) { char fname[_fname_high+1]; --- 1410,1416 ---- __builtin_unreachable (); } ! extern "C" bool FIO_Exists (const char *fname_, unsigned int _fname_high) { char fname[_fname_high+1]; *************** extern "C" FIO_File FIO_OpenToWrite (con *** 1450,1456 **** __builtin_unreachable (); } ! extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, unsigned int towrite, unsigned int newfile) { char fname[_fname_high+1]; --- 1449,1455 ---- __builtin_unreachable (); } ! extern "C" FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, bool towrite, bool newfile) { char fname[_fname_high+1]; *************** extern "C" void FIO_Close (FIO_File f) *** 1514,1520 **** exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" unsigned int FIO_exists (void * fname, unsigned int flength) { FIO_File f; --- 1513,1519 ---- exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" bool FIO_exists (void * fname, unsigned int flength) { FIO_File f; *************** extern "C" unsigned int FIO_exists (void *** 1522,1533 **** if (FIO_IsNoError (f)) { FIO_Close (f); ! return TRUE; } else { FIO_Close (f); ! return FALSE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 1521,1532 ---- if (FIO_IsNoError (f)) { FIO_Close (f); ! return true; } else { FIO_Close (f); ! return false; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" FIO_File FIO_openToRead (void *** 1552,1559 **** } else { ! f = InitializeFile (f, fname, flength, FIO_successful, FIO_openedforread, FALSE, MaxBufferLength); ! ConnectToUnix (f, FALSE, FALSE); } return f; /* static analysis guarentees a RETURN statement will be used before here. */ --- 1551,1558 ---- } else { ! f = InitializeFile (f, fname, flength, FIO_successful, FIO_openedforread, false, MaxBufferLength); ! ConnectToUnix (f, false, false); } return f; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" FIO_File FIO_openToWrite (voi *** 1579,1586 **** } else { ! f = InitializeFile (f, fname, flength, FIO_successful, FIO_openedforwrite, TRUE, MaxBufferLength); ! ConnectToUnix (f, TRUE, TRUE); } return f; /* static analysis guarentees a RETURN statement will be used before here. */ --- 1578,1585 ---- } else { ! f = InitializeFile (f, fname, flength, FIO_successful, FIO_openedforwrite, true, MaxBufferLength); ! ConnectToUnix (f, true, true); } return f; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" FIO_File FIO_openToWrite (voi *** 1597,1603 **** opened for writing or reading. */ ! extern "C" FIO_File FIO_openForRandom (void * fname, unsigned int flength, unsigned int towrite, unsigned int newfile) { FIO_File f; --- 1596,1602 ---- opened for writing or reading. */ ! extern "C" FIO_File FIO_openForRandom (void * fname, unsigned int flength, bool towrite, bool newfile) { FIO_File f; *************** extern "C" unsigned int FIO_ReadNBytes ( *** 1666,1672 **** if (f != Error) { ! CheckAccess (f, FIO_openedforread, FALSE); n = ReadFromBuffer (f, dest, nBytes); if (n <= 0) { --- 1665,1671 ---- if (f != Error) { ! CheckAccess (f, FIO_openedforread, false); n = ReadFromBuffer (f, dest, nBytes); if (n <= 0) { *************** extern "C" unsigned int FIO_ReadNBytes ( *** 1697,1703 **** extern "C" void FIO_ReadAny (FIO_File f, unsigned char *a, unsigned int _a_high) { ! CheckAccess (f, FIO_openedforread, FALSE); if ((BufferedRead (f, _a_high, a)) == ((int ) (_a_high))) { SetEndOfLine (f, static_cast (a[_a_high])); --- 1696,1702 ---- extern "C" void FIO_ReadAny (FIO_File f, unsigned char *a, unsigned int _a_high) { ! CheckAccess (f, FIO_openedforread, false); if ((BufferedRead (f, _a_high, a)) == ((int ) (_a_high))) { SetEndOfLine (f, static_cast (a[_a_high])); *************** extern "C" unsigned int FIO_WriteNBytes *** 1718,1724 **** int total; FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforwrite, TRUE); FIO_FlushBuffer (f); if (f != Error) { --- 1717,1723 ---- int total; FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforwrite, true); FIO_FlushBuffer (f); if (f != Error) { *************** extern "C" unsigned int FIO_WriteNBytes *** 1756,1762 **** extern "C" void FIO_WriteAny (FIO_File f, unsigned char *a, unsigned int _a_high) { ! CheckAccess (f, FIO_openedforwrite, TRUE); if ((BufferedWrite (f, _a_high, a)) == ((int ) (_a_high))) {} /* empty. */ } --- 1755,1761 ---- extern "C" void FIO_WriteAny (FIO_File f, unsigned char *a, unsigned int _a_high) { ! CheckAccess (f, FIO_openedforwrite, true); if ((BufferedWrite (f, _a_high, a)) == ((int ) (_a_high))) {} /* empty. */ } *************** extern "C" void FIO_WriteAny (FIO_File f *** 1768,1774 **** extern "C" void FIO_WriteChar (FIO_File f, char ch) { ! CheckAccess (f, FIO_openedforwrite, TRUE); if ((BufferedWrite (f, sizeof (ch), &ch)) == ((int ) (sizeof (ch)))) {} /* empty. */ } --- 1767,1773 ---- extern "C" void FIO_WriteChar (FIO_File f, char ch) { ! CheckAccess (f, FIO_openedforwrite, true); if ((BufferedWrite (f, sizeof (ch), &ch)) == ((int ) (sizeof (ch)))) {} /* empty. */ } *************** extern "C" void FIO_WriteChar (FIO_File *** 1778,1788 **** EOF - tests to see whether a file, f, has reached end of file. */ ! extern "C" unsigned int FIO_EOF (FIO_File f) { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, FALSE); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); --- 1777,1787 ---- EOF - tests to see whether a file, f, has reached end of file. */ ! extern "C" bool FIO_EOF (FIO_File f) { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, false); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); *************** extern "C" unsigned int FIO_EOF (FIO_Fil *** 1791,1797 **** return fd->state == FIO_endoffile; } } ! return TRUE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1790,1796 ---- return fd->state == FIO_endoffile; } } ! return true; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** extern "C" unsigned int FIO_EOF (FIO_Fil *** 1802,1813 **** It does NOT consume the newline. */ ! extern "C" unsigned int FIO_EOLN (FIO_File f) { char ch; FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, FALSE); /* we will read a character and then push it back onto the input stream, having noted the file status, we also reset the status. --- 1801,1812 ---- It does NOT consume the newline. */ ! extern "C" bool FIO_EOLN (FIO_File f) { char ch; FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, false); /* we will read a character and then push it back onto the input stream, having noted the file status, we also reset the status. *************** extern "C" unsigned int FIO_EOLN (FIO_Fi *** 1828,1834 **** } } } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1827,1833 ---- } } } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** extern "C" unsigned int FIO_EOLN (FIO_Fi *** 1838,1851 **** WasEOLN - tests to see whether a file, f, has just seen a newline. */ ! extern "C" unsigned int FIO_WasEOLN (FIO_File f) { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, FALSE); if (f == Error) { ! return FALSE; } else { --- 1837,1850 ---- WasEOLN - tests to see whether a file, f, has just seen a newline. */ ! extern "C" bool FIO_WasEOLN (FIO_File f) { FIO_FileDescriptor fd; ! CheckAccess (f, FIO_openedforread, false); if (f == Error) { ! return false; } else { *************** extern "C" char FIO_ReadChar (FIO_File f *** 1867,1873 **** { char ch; ! CheckAccess (f, FIO_openedforread, FALSE); if ((BufferedRead (f, sizeof (ch), &ch)) == ((int ) (sizeof (ch)))) { SetEndOfLine (f, ch); --- 1866,1872 ---- { char ch; ! CheckAccess (f, FIO_openedforread, false); if ((BufferedRead (f, sizeof (ch), &ch)) == ((int ) (sizeof (ch)))) { SetEndOfLine (f, ch); *************** extern "C" void FIO_UnReadChar (FIO_File *** 1900,1906 **** void * a; void * b; ! CheckAccess (f, FIO_openedforread, FALSE); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); --- 1899,1905 ---- void * a; void * b; ! CheckAccess (f, FIO_openedforread, false); if (f != Error) { fd = static_cast (Indexing_GetIndice (FileInfo, f)); *************** extern "C" void FIO_ReadString (FIO_File *** 1990,1996 **** unsigned int i; char ch; ! CheckAccess (f, FIO_openedforread, FALSE); high = _a_high; i = 0; do { --- 1989,1995 ---- unsigned int i; char ch; ! CheckAccess (f, FIO_openedforread, false); high = _a_high; i = 0; do { *************** extern "C" void FIO_SetPositionFromBegin *** 2081,2087 **** { /* always force the lseek, until we are confident that abspos is always correct, basically it needs some hard testing before we should remove the OR TRUE. */ ! if ((fd->abspos != pos) || TRUE) { FIO_FlushBuffer (f); if (fd->buffer != NULL) --- 2080,2086 ---- { /* always force the lseek, until we are confident that abspos is always correct, basically it needs some hard testing before we should remove the OR TRUE. */ ! if ((fd->abspos != pos) || true) { FIO_FlushBuffer (f); if (fd->buffer != NULL) *************** extern "C" void FIO_SetPositionFromBegin *** 2109,2115 **** } if (fd->buffer != NULL) { ! fd->buffer->valid = FALSE; fd->buffer->bufstart = fd->abspos; } } --- 2108,2114 ---- } if (fd->buffer != NULL) { ! fd->buffer->valid = false; fd->buffer->bufstart = fd->abspos; } } *************** extern "C" void FIO_SetPositionFromEnd ( *** 2159,2165 **** } if (fd->buffer != NULL) { ! fd->buffer->valid = FALSE; fd->buffer->bufstart = offset; } } --- 2158,2164 ---- } if (fd->buffer != NULL) { ! fd->buffer->valid = false; fd->buffer->bufstart = offset; } } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GFIO.h gcc-13.3.0/gcc/m2/pge-boot/GFIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GFIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GFIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN FIO_File FIO_StdErr; *** 58,76 **** IsNoError - returns a TRUE if no error has occured on file, f. */ ! EXTERN unsigned int FIO_IsNoError (FIO_File f); /* IsActive - returns TRUE if the file, f, is still active. */ ! EXTERN unsigned int FIO_IsActive (FIO_File f); /* Exists - returns TRUE if a file named, fname exists for reading. */ ! EXTERN unsigned int FIO_Exists (const char *fname_, unsigned int _fname_high); /* OpenToRead - attempts to open a file, fname, for reading and --- 59,77 ---- IsNoError - returns a TRUE if no error has occured on file, f. */ ! EXTERN bool FIO_IsNoError (FIO_File f); /* IsActive - returns TRUE if the file, f, is still active. */ ! EXTERN bool FIO_IsActive (FIO_File f); /* Exists - returns TRUE if a file named, fname exists for reading. */ ! EXTERN bool FIO_Exists (const char *fname_, unsigned int _fname_high); /* OpenToRead - attempts to open a file, fname, for reading and *************** EXTERN FIO_File FIO_OpenToWrite (const c *** 104,110 **** and modify an existing file. */ ! EXTERN FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, unsigned int towrite, unsigned int newfile); /* Close - close a file which has been previously opened using: --- 105,111 ---- and modify an existing file. */ ! EXTERN FIO_File FIO_OpenForRandom (const char *fname_, unsigned int _fname_high, bool towrite, bool newfile); /* Close - close a file which has been previously opened using: *************** EXTERN FIO_File FIO_OpenForRandom (const *** 113,122 **** */ EXTERN void FIO_Close (FIO_File f); ! EXTERN unsigned int FIO_exists (void * fname, unsigned int flength); EXTERN FIO_File FIO_openToRead (void * fname, unsigned int flength); EXTERN FIO_File FIO_openToWrite (void * fname, unsigned int flength); ! EXTERN FIO_File FIO_openForRandom (void * fname, unsigned int flength, unsigned int towrite, unsigned int newfile); /* FlushBuffer - flush contents of the FIO file, f, to libc. --- 114,123 ---- */ EXTERN void FIO_Close (FIO_File f); ! EXTERN bool FIO_exists (void * fname, unsigned int flength); EXTERN FIO_File FIO_openToRead (void * fname, unsigned int flength); EXTERN FIO_File FIO_openToWrite (void * fname, unsigned int flength); ! EXTERN FIO_File FIO_openForRandom (void * fname, unsigned int flength, bool towrite, bool newfile); /* FlushBuffer - flush contents of the FIO file, f, to libc. *************** EXTERN void FIO_WriteChar (FIO_File f, c *** 169,175 **** EOF - tests to see whether a file, f, has reached end of file. */ ! EXTERN unsigned int FIO_EOF (FIO_File f); /* EOLN - tests to see whether a file, f, is about to read a newline. --- 170,176 ---- EOF - tests to see whether a file, f, has reached end of file. */ ! EXTERN bool FIO_EOF (FIO_File f); /* EOLN - tests to see whether a file, f, is about to read a newline. *************** EXTERN unsigned int FIO_EOF (FIO_File f) *** 177,190 **** and then immediately unreads the character. */ ! EXTERN unsigned int FIO_EOLN (FIO_File f); /* WasEOLN - tests to see whether a file, f, has just read a newline character. */ ! EXTERN unsigned int FIO_WasEOLN (FIO_File f); /* ReadChar - returns a character read from file, f. --- 178,191 ---- and then immediately unreads the character. */ ! EXTERN bool FIO_EOLN (FIO_File f); /* WasEOLN - tests to see whether a file, f, has just read a newline character. */ ! EXTERN bool FIO_WasEOLN (FIO_File f); /* ReadChar - returns a character read from file, f. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GFormatStrings.h gcc-13.3.0/gcc/m2/pge-boot/GFormatStrings.h *** gcc-13.2.0/gcc/m2/pge-boot/GFormatStrings.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GFormatStrings.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GFpuIO.h gcc-13.3.0/gcc/m2/pge-boot/GFpuIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GFpuIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GFpuIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GIO.cc gcc-13.3.0/gcc/m2/pge-boot/GIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef struct IO_BasicFds_r IO_BasicFds *** 58,65 **** typedef struct IO__T1_a IO__T1; struct IO_BasicFds_r { ! unsigned int IsEof; ! unsigned int IsRaw; }; struct IO__T1_a { IO_BasicFds array[MaxDefaultFd+1]; }; --- 59,66 ---- typedef struct IO__T1_a IO__T1; struct IO_BasicFds_r { ! bool IsEof; ! bool IsRaw; }; struct IO__T1_a { IO_BasicFds array[MaxDefaultFd+1]; }; *************** extern "C" void IO_Write (char ch); *** 84,91 **** */ extern "C" void IO_Error (char ch); ! extern "C" void IO_UnBufferedMode (int fd, unsigned int input); ! extern "C" void IO_BufferedMode (int fd, unsigned int input); /* EchoOn - turns on echoing for file descriptor, fd. This --- 85,92 ---- */ extern "C" void IO_Error (char ch); ! extern "C" void IO_UnBufferedMode (int fd, bool input); ! extern "C" void IO_BufferedMode (int fd, bool input); /* EchoOn - turns on echoing for file descriptor, fd. This *************** extern "C" void IO_BufferedMode (int fd, *** 94,100 **** which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOn (int fd, unsigned int input); /* EchoOff - turns off echoing for file descriptor, fd. This --- 95,101 ---- which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOn (int fd, bool input); /* EchoOff - turns off echoing for file descriptor, fd. This *************** extern "C" void IO_EchoOn (int fd, unsig *** 103,115 **** which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOff (int fd, unsigned int input); /* IsDefaultFd - returns TRUE if, fd, is 0, 1 or 2. */ ! static unsigned int IsDefaultFd (int fd); /* doWrite - performs the write of a single character, ch, --- 104,116 ---- which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOff (int fd, bool input); /* IsDefaultFd - returns TRUE if, fd, is 0, 1 or 2. */ ! static bool IsDefaultFd (int fd); /* doWrite - performs the write of a single character, ch, *************** static void doWrite (int fd, FIO_File f, *** 122,128 **** setFlag - sets or unsets the appropriate flag in, t. */ ! static void setFlag (termios_TERMIOS t, termios_Flag f, unsigned int b); /* doraw - sets all the flags associated with making this --- 123,129 ---- setFlag - sets or unsets the appropriate flag in, t. */ ! static void setFlag (termios_TERMIOS t, termios_Flag f, bool b); /* doraw - sets all the flags associated with making this *************** static void Init (void); *** 149,155 **** IsDefaultFd - returns TRUE if, fd, is 0, 1 or 2. */ ! static unsigned int IsDefaultFd (int fd) { return (fd <= MaxDefaultFd) && (fd >= 0); /* static analysis guarentees a RETURN statement will be used before here. */ --- 150,156 ---- IsDefaultFd - returns TRUE if, fd, is 0, 1 or 2. */ ! static bool IsDefaultFd (int fd) { return (fd <= MaxDefaultFd) && (fd >= 0); /* static analysis guarentees a RETURN statement will be used before here. */ *************** static void doWrite (int fd, FIO_File f, *** 184,190 **** r = errno_geterrno (); if ((r != errno_EAGAIN) && (r != errno_EINTR)) { ! fdState.array[fd].IsEof = TRUE; return ; } } --- 185,191 ---- r = errno_geterrno (); if ((r != errno_EAGAIN) && (r != errno_EINTR)) { ! fdState.array[fd].IsEof = true; return ; } } *************** static void doWrite (int fd, FIO_File f, *** 202,208 **** setFlag - sets or unsets the appropriate flag in, t. */ ! static void setFlag (termios_TERMIOS t, termios_Flag f, unsigned int b) { if (termios_SetFlag (t, f, b)) {} /* empty. */ --- 203,209 ---- setFlag - sets or unsets the appropriate flag in, t. */ ! static void setFlag (termios_TERMIOS t, termios_Flag f, bool b) { if (termios_SetFlag (t, f, b)) {} /* empty. */ *************** static void doraw (termios_TERMIOS term) *** 225,246 **** * termios_p->c_cflag &= ~(CSIZE | PARENB); * termios_p->c_cflag |= CS8; */ ! setFlag (term, termios_ignbrk, FALSE); ! setFlag (term, termios_ibrkint, FALSE); ! setFlag (term, termios_iparmrk, FALSE); ! setFlag (term, termios_istrip, FALSE); ! setFlag (term, termios_inlcr, FALSE); ! setFlag (term, termios_igncr, FALSE); ! setFlag (term, termios_icrnl, FALSE); ! setFlag (term, termios_ixon, FALSE); ! setFlag (term, termios_opost, FALSE); ! setFlag (term, termios_lecho, FALSE); ! setFlag (term, termios_lechonl, FALSE); ! setFlag (term, termios_licanon, FALSE); ! setFlag (term, termios_lisig, FALSE); ! setFlag (term, termios_liexten, FALSE); ! setFlag (term, termios_parenb, FALSE); ! setFlag (term, termios_cs8, TRUE); } --- 226,247 ---- * termios_p->c_cflag &= ~(CSIZE | PARENB); * termios_p->c_cflag |= CS8; */ ! setFlag (term, termios_ignbrk, false); ! setFlag (term, termios_ibrkint, false); ! setFlag (term, termios_iparmrk, false); ! setFlag (term, termios_istrip, false); ! setFlag (term, termios_inlcr, false); ! setFlag (term, termios_igncr, false); ! setFlag (term, termios_icrnl, false); ! setFlag (term, termios_ixon, false); ! setFlag (term, termios_opost, false); ! setFlag (term, termios_lecho, false); ! setFlag (term, termios_lechonl, false); ! setFlag (term, termios_licanon, false); ! setFlag (term, termios_lisig, false); ! setFlag (term, termios_liexten, false); ! setFlag (term, termios_parenb, false); ! setFlag (term, termios_cs8, true); } *************** static void dononraw (termios_TERMIOS te *** 262,281 **** * termios_p->c_cflag &= ~(CSIZE | PARENB); * termios_p->c_cflag |= CS8; */ ! setFlag (term, termios_ignbrk, TRUE); ! setFlag (term, termios_ibrkint, TRUE); ! setFlag (term, termios_iparmrk, TRUE); ! setFlag (term, termios_istrip, TRUE); ! setFlag (term, termios_inlcr, TRUE); ! setFlag (term, termios_igncr, TRUE); ! setFlag (term, termios_icrnl, TRUE); ! setFlag (term, termios_ixon, TRUE); ! setFlag (term, termios_opost, TRUE); ! setFlag (term, termios_lecho, TRUE); ! setFlag (term, termios_lechonl, TRUE); ! setFlag (term, termios_licanon, TRUE); ! setFlag (term, termios_lisig, TRUE); ! setFlag (term, termios_liexten, TRUE); } --- 263,282 ---- * termios_p->c_cflag &= ~(CSIZE | PARENB); * termios_p->c_cflag |= CS8; */ ! setFlag (term, termios_ignbrk, true); ! setFlag (term, termios_ibrkint, true); ! setFlag (term, termios_iparmrk, true); ! setFlag (term, termios_istrip, true); ! setFlag (term, termios_inlcr, true); ! setFlag (term, termios_igncr, true); ! setFlag (term, termios_icrnl, true); ! setFlag (term, termios_ixon, true); ! setFlag (term, termios_opost, true); ! setFlag (term, termios_lecho, true); ! setFlag (term, termios_lechonl, true); ! setFlag (term, termios_licanon, true); ! setFlag (term, termios_lisig, true); ! setFlag (term, termios_liexten, true); } *************** static void dononraw (termios_TERMIOS te *** 285,296 **** static void Init (void) { ! fdState.array[0].IsEof = FALSE; ! fdState.array[0].IsRaw = FALSE; ! fdState.array[1].IsEof = FALSE; ! fdState.array[1].IsRaw = FALSE; ! fdState.array[2].IsEof = FALSE; ! fdState.array[2].IsRaw = FALSE; } --- 286,297 ---- static void Init (void) { ! fdState.array[0].IsEof = false; ! fdState.array[0].IsRaw = false; ! fdState.array[1].IsEof = false; ! fdState.array[1].IsRaw = false; ! fdState.array[2].IsEof = false; ! fdState.array[2].IsRaw = false; } *************** extern "C" void IO_Read (char *ch) *** 325,331 **** r = errno_geterrno (); if (r != errno_EAGAIN) { ! fdState.array[0].IsEof = TRUE; (*ch) = ASCII_eof; return ; } --- 326,332 ---- r = errno_geterrno (); if (r != errno_EAGAIN) { ! fdState.array[0].IsEof = true; (*ch) = ASCII_eof; return ; } *************** extern "C" void IO_Error (char ch) *** 361,374 **** doWrite (2, FIO_StdErr, ch); } ! extern "C" void IO_UnBufferedMode (int fd, unsigned int input) { termios_TERMIOS term; int result; if (IsDefaultFd (fd)) { ! fdState.array[fd].IsRaw = TRUE; } term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) --- 362,375 ---- doWrite (2, FIO_StdErr, ch); } ! extern "C" void IO_UnBufferedMode (int fd, bool input) { termios_TERMIOS term; int result; if (IsDefaultFd (fd)) { ! fdState.array[fd].IsRaw = true; } term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) *************** extern "C" void IO_UnBufferedMode (int f *** 386,399 **** term = termios_KillTermios (term); } ! extern "C" void IO_BufferedMode (int fd, unsigned int input) { termios_TERMIOS term; int r; if (IsDefaultFd (fd)) { ! fdState.array[fd].IsRaw = FALSE; } term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) --- 387,400 ---- term = termios_KillTermios (term); } ! extern "C" void IO_BufferedMode (int fd, bool input) { termios_TERMIOS term; int r; if (IsDefaultFd (fd)) { ! fdState.array[fd].IsRaw = false; } term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) *************** extern "C" void IO_BufferedMode (int fd, *** 419,425 **** which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOn (int fd, unsigned int input) { termios_TERMIOS term; int result; --- 420,426 ---- which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOn (int fd, bool input) { termios_TERMIOS term; int result; *************** extern "C" void IO_EchoOn (int fd, unsig *** 427,433 **** term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) { ! setFlag (term, termios_lecho, TRUE); if (input) { result = termios_tcsetattr (fd, termios_tcsflush (), term); --- 428,434 ---- term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) { ! setFlag (term, termios_lecho, true); if (input) { result = termios_tcsetattr (fd, termios_tcsflush (), term); *************** extern "C" void IO_EchoOn (int fd, unsig *** 448,454 **** which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOff (int fd, unsigned int input) { termios_TERMIOS term; int result; --- 449,455 ---- which is attached to a particular piece of hardware. */ ! extern "C" void IO_EchoOff (int fd, bool input) { termios_TERMIOS term; int result; *************** extern "C" void IO_EchoOff (int fd, unsi *** 456,462 **** term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) { ! setFlag (term, termios_lecho, FALSE); if (input) { result = termios_tcsetattr (fd, termios_tcsflush (), term); --- 457,463 ---- term = termios_InitTermios (); if ((termios_tcgetattr (fd, term)) == 0) { ! setFlag (term, termios_lecho, false); if (input) { result = termios_tcsetattr (fd, termios_tcsflush (), term); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GIO.h gcc-13.3.0/gcc/m2/pge-boot/GIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void IO_Error (char ch); *** 55,67 **** UnBufferedMode - places file descriptor, fd, into an unbuffered mode. */ ! EXTERN void IO_UnBufferedMode (int fd, unsigned int input); /* BufferedMode - places file descriptor, fd, into a buffered mode. */ ! EXTERN void IO_BufferedMode (int fd, unsigned int input); /* EchoOn - turns on echoing for file descriptor, fd. This --- 56,68 ---- UnBufferedMode - places file descriptor, fd, into an unbuffered mode. */ ! EXTERN void IO_UnBufferedMode (int fd, bool input); /* BufferedMode - places file descriptor, fd, into a buffered mode. */ ! EXTERN void IO_BufferedMode (int fd, bool input); /* EchoOn - turns on echoing for file descriptor, fd. This *************** EXTERN void IO_BufferedMode (int fd, uns *** 70,76 **** which is attached to a particular piece of hardware. */ ! EXTERN void IO_EchoOn (int fd, unsigned int input); /* EchoOff - turns off echoing for file descriptor, fd. This --- 71,77 ---- which is attached to a particular piece of hardware. */ ! EXTERN void IO_EchoOn (int fd, bool input); /* EchoOff - turns off echoing for file descriptor, fd. This *************** EXTERN void IO_EchoOn (int fd, unsigned *** 79,85 **** which is attached to a particular piece of hardware. */ ! EXTERN void IO_EchoOff (int fd, unsigned int input); # ifdef __cplusplus } # endif --- 80,86 ---- which is attached to a particular piece of hardware. */ ! EXTERN void IO_EchoOff (int fd, bool input); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GIndexing.cc gcc-13.3.0/gcc/m2/pge-boot/GIndexing.cc *** gcc-13.2.0/gcc/m2/pge-boot/GIndexing.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GIndexing.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** struct Indexing__T2_r { *** 75,81 **** unsigned int Used; unsigned int Low; unsigned int High; ! unsigned int Debug; unsigned int Map; }; --- 76,82 ---- unsigned int Used; unsigned int Low; unsigned int High; ! bool Debug; unsigned int Map; }; *************** extern "C" Indexing_Index Indexing_Debug *** 103,109 **** of the dynamic array. */ ! extern "C" unsigned int Indexing_InBounds (Indexing_Index i, unsigned int n); /* HighIndice - returns the last legally accessible indice of this array. --- 104,110 ---- of the dynamic array. */ ! extern "C" bool Indexing_InBounds (Indexing_Index i, unsigned int n); /* HighIndice - returns the last legally accessible indice of this array. *************** extern "C" void * Indexing_GetIndice (In *** 133,139 **** IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! extern "C" unsigned int Indexing_IsIndiceInIndex (Indexing_Index i, void * a); /* RemoveIndiceFromIndex - removes, a, from Index, i. --- 134,140 ---- IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! extern "C" bool Indexing_IsIndiceInIndex (Indexing_Index i, void * a); /* RemoveIndiceFromIndex - removes, a, from Index, i. *************** extern "C" Indexing_Index Indexing_InitI *** 175,181 **** i->ArraySize = MinSize; Storage_ALLOCATE (&i->ArrayStart, MinSize); i->ArrayStart = libc_memset (i->ArrayStart, 0, static_cast (i->ArraySize)); ! i->Debug = FALSE; i->Used = 0; i->Map = (unsigned int) 0; return i; --- 176,182 ---- i->ArraySize = MinSize; Storage_ALLOCATE (&i->ArrayStart, MinSize); i->ArrayStart = libc_memset (i->ArrayStart, 0, static_cast (i->ArraySize)); ! i->Debug = false; i->Used = 0; i->Map = (unsigned int) 0; return i; *************** extern "C" Indexing_Index Indexing_KillI *** 204,210 **** extern "C" Indexing_Index Indexing_DebugIndex (Indexing_Index i) { ! i->Debug = TRUE; return i; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 205,211 ---- extern "C" Indexing_Index Indexing_DebugIndex (Indexing_Index i) { ! i->Debug = true; return i; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" Indexing_Index Indexing_Debug *** 216,222 **** of the dynamic array. */ ! extern "C" unsigned int Indexing_InBounds (Indexing_Index i, unsigned int n) { if (i == NULL) { --- 217,223 ---- of the dynamic array. */ ! extern "C" bool Indexing_InBounds (Indexing_Index i, unsigned int n) { if (i == NULL) { *************** extern "C" void * Indexing_GetIndice (In *** 368,374 **** IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! extern "C" unsigned int Indexing_IsIndiceInIndex (Indexing_Index i, void * a) { unsigned int j; Indexing_PtrToByte b; --- 369,375 ---- IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! extern "C" bool Indexing_IsIndiceInIndex (Indexing_Index i, void * a) { unsigned int j; Indexing_PtrToByte b; *************** extern "C" unsigned int Indexing_IsIndic *** 381,393 **** p = (Indexing_PtrToAddress) (b); if ((*p) == a) { ! return TRUE; } /* we must not INC(p, ..) as p2c gets confused */ b += sizeof (void *); j += 1; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 382,394 ---- p = (Indexing_PtrToAddress) (b); if ((*p) == a) { ! return true; } /* we must not INC(p, ..) as p2c gets confused */ b += sizeof (void *); j += 1; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** extern "C" unsigned int Indexing_IsIndic *** 400,406 **** extern "C" void Indexing_RemoveIndiceFromIndex (Indexing_Index i, void * a) { unsigned int j; - unsigned int k; Indexing_PtrToAddress p; Indexing_PtrToByte b; --- 401,406 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GIndexing.h gcc-13.3.0/gcc/m2/pge-boot/GIndexing.h *** gcc-13.2.0/gcc/m2/pge-boot/GIndexing.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GIndexing.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN Indexing_Index Indexing_DebugInde *** 82,88 **** of the dynamic array. */ ! EXTERN unsigned int Indexing_InBounds (Indexing_Index i, unsigned int n); /* HighIndice - returns the last legally accessible indice of this array. --- 83,89 ---- of the dynamic array. */ ! EXTERN bool Indexing_InBounds (Indexing_Index i, unsigned int n); /* HighIndice - returns the last legally accessible indice of this array. *************** EXTERN void * Indexing_GetIndice (Indexi *** 112,118 **** IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! EXTERN unsigned int Indexing_IsIndiceInIndex (Indexing_Index i, void * a); /* RemoveIndiceFromIndex - removes, a, from Index, i. --- 113,119 ---- IsIndiceInIndex - returns TRUE if, a, is in the index, i. */ ! EXTERN bool Indexing_IsIndiceInIndex (Indexing_Index i, void * a); /* RemoveIndiceFromIndex - removes, a, from Index, i. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GLists.cc gcc-13.3.0/gcc/m2/pge-boot/GLists.cc *** gcc-13.2.0/gcc/m2/pge-boot/GLists.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GLists.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" void Lists_RemoveItemFromList *** 117,123 **** IsItemInList - returns true if a WORD, c, was found in list, l. */ ! extern "C" unsigned int Lists_IsItemInList (Lists_List l, unsigned int c); /* ForeachItemInListDo - calls procedure, P, foreach item in list, l. --- 118,124 ---- IsItemInList - returns true if a WORD, c, was found in list, l. */ ! extern "C" bool Lists_IsItemInList (Lists_List l, unsigned int c); /* ForeachItemInListDo - calls procedure, P, foreach item in list, l. *************** extern "C" void Lists_RemoveItemFromList *** 317,327 **** { Lists_List p; unsigned int i; ! unsigned int Found; if (l != NULL) { ! Found = FALSE; p = NULL; do { i = 1; --- 318,328 ---- { Lists_List p; unsigned int i; ! bool Found; if (l != NULL) { ! Found = false; p = NULL; do { i = 1; *************** extern "C" void Lists_RemoveItemFromList *** 331,337 **** } if ((i <= l->NoOfElements) && (l->Elements.array[i-1] == c)) { ! Found = TRUE; } else { --- 332,338 ---- } if ((i <= l->NoOfElements) && (l->Elements.array[i-1] == c)) { ! Found = true; } else { *************** extern "C" void Lists_RemoveItemFromList *** 351,357 **** IsItemInList - returns true if a WORD, c, was found in list, l. */ ! extern "C" unsigned int Lists_IsItemInList (Lists_List l, unsigned int c) { unsigned int i; --- 352,358 ---- IsItemInList - returns true if a WORD, c, was found in list, l. */ ! extern "C" bool Lists_IsItemInList (Lists_List l, unsigned int c) { unsigned int i; *************** extern "C" unsigned int Lists_IsItemInLi *** 361,367 **** { if (l->Elements.array[i-1] == c) { ! return TRUE; } else { --- 362,368 ---- { if (l->Elements.array[i-1] == c) { ! return true; } else { *************** extern "C" unsigned int Lists_IsItemInLi *** 370,376 **** } l = l->Next; } while (! (l == NULL)); ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 371,377 ---- } l = l->Next; } while (! (l == NULL)); ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GLists.h gcc-13.3.0/gcc/m2/pge-boot/GLists.h *** gcc-13.2.0/gcc/m2/pge-boot/GLists.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GLists.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 29,34 **** --- 29,35 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void Lists_RemoveItemFromList (Li *** 106,112 **** IsItemInList - returns true if a WORD, c, was found in list, l. */ ! EXTERN unsigned int Lists_IsItemInList (Lists_List l, unsigned int c); /* ForeachItemInListDo - calls procedure, P, foreach item in list, l. --- 107,113 ---- IsItemInList - returns true if a WORD, c, was found in list, l. */ ! EXTERN bool Lists_IsItemInList (Lists_List l, unsigned int c); /* ForeachItemInListDo - calls procedure, P, foreach item in list, l. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2Dependent.cc gcc-13.3.0/gcc/m2/pge-boot/GM2Dependent.cc *** gcc-13.2.0/gcc/m2/pge-boot/GM2Dependent.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2Dependent.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 53,59 **** #define _M2Dependent_C # include "Glibc.h" - # include "GM2LINK.h" # include "GASCII.h" # include "GSYSTEM.h" # include "GStorage.h" --- 54,59 ---- *************** typedef struct M2Dependent_ArgCVEnvP_p M *** 64,69 **** --- 64,71 ---- typedef struct M2Dependent_DependencyList_r M2Dependent_DependencyList; + typedef char *M2Dependent_PtrToChar; + typedef struct M2Dependent__T2_r M2Dependent__T2; typedef M2Dependent__T2 *M2Dependent_ModuleChain; *************** struct M2Dependent_ArgCVEnvP_p { M2Depen *** 77,85 **** struct M2Dependent_DependencyList_r { PROC proc; ! unsigned int forced; ! unsigned int forc; ! unsigned int appl; M2Dependent_DependencyState state; }; --- 79,87 ---- struct M2Dependent_DependencyList_r { PROC proc; ! bool forced; ! bool forc; ! bool appl; M2Dependent_DependencyState state; }; *************** struct M2Dependent__T2_r { *** 95,115 **** }; static M2Dependent__T3 Modules; ! static unsigned int Initialized; ! static unsigned int WarningTrace; ! static unsigned int ModuleTrace; ! static unsigned int HexTrace; ! static unsigned int DependencyTrace; ! static unsigned int PreTrace; ! static unsigned int PostTrace; ! static unsigned int ForceTrace; /* ConstructModules - resolve dependencies and then call each module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each --- 97,118 ---- }; static M2Dependent__T3 Modules; ! static bool DynamicInitialization; ! static bool Initialized; ! static bool WarningTrace; ! static bool ModuleTrace; ! static bool HexTrace; ! static bool DependencyTrace; ! static bool PreTrace; ! static bool PostTrace; ! static bool ForceTrace; /* ConstructModules - resolve dependencies and then call each module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each *************** extern "C" void M2Dependent_RegisterModu *** 129,135 **** /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are not using StaticInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); --- 132,138 ---- /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are using DynamicInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname); *************** static void RemoveModule (M2Dependent_Mo *** 157,163 **** onChain - returns TRUE if mptr is on the Modules[state] list. */ ! static unsigned int onChain (M2Dependent_DependencyState state, M2Dependent_ModuleChain mptr); /* max - --- 160,166 ---- onChain - returns TRUE if mptr is on the Modules[state] list. */ ! static bool onChain (M2Dependent_DependencyState state, M2Dependent_ModuleChain mptr); /* max - *************** static void toCString (char *str, unsign *** 197,234 **** We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b); /* strncmp - return 0 if both strings are equal. We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b, unsigned int n); /* strlen - returns the length of string. */ ! static int strlen_ (M2LINK_PtrToChar string); /* traceprintf - wrap printf with a boolean flag. */ ! static void traceprintf (unsigned int flag, const char *str_, unsigned int _str_high); /* traceprintf2 - wrap printf with a boolean flag. */ ! static void traceprintf2 (unsigned int flag, const char *str_, unsigned int _str_high, void * arg); /* traceprintf3 - wrap printf with a boolean flag. */ ! static void traceprintf3 (unsigned int flag, const char *str_, unsigned int _str_high, void * arg1, void * arg2); /* moveTo - moves mptr to the new list determined by newstate. --- 200,237 ---- We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b); /* strncmp - return 0 if both strings are equal. We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b, unsigned int n); /* strlen - returns the length of string. */ ! static int strlen_ (M2Dependent_PtrToChar string); /* traceprintf - wrap printf with a boolean flag. */ ! static void traceprintf (bool flag, const char *str_, unsigned int _str_high); /* traceprintf2 - wrap printf with a boolean flag. */ ! static void traceprintf2 (bool flag, const char *str_, unsigned int _str_high, void * arg); /* traceprintf3 - wrap printf with a boolean flag. */ ! static void traceprintf3 (bool flag, const char *str_, unsigned int _str_high, void * arg1, void * arg2); /* moveTo - moves mptr to the new list determined by newstate. *************** static void DisplayModuleInfo (M2Depende *** 268,274 **** DumpModuleData - */ ! static void DumpModuleData (unsigned int flag); /* combine - dest := src + dest. Places src at the front of list dest. --- 271,277 ---- DumpModuleData - */ ! static void DumpModuleData (bool flag); /* combine - dest := src + dest. Places src at the front of list dest. *************** static void combine (M2Dependent_Depende *** 283,289 **** tracemodule - */ ! static void tracemodule (unsigned int flag, void * modname, unsigned int modlen, void * libname, unsigned int liblen); /* ForceModule - --- 286,292 ---- tracemodule - */ ! static void tracemodule (bool flag, void * modname, unsigned int modlen, void * libname, unsigned int liblen); /* ForceModule - *************** static void ForceModule (void * modname, *** 296,302 **** the dynamic ordering with the preference. */ ! static void ForceDependencies (void); /* CheckApplication - check to see that the application is the last entry in the list. --- 299,305 ---- the dynamic ordering with the preference. */ ! static void ForceDependencies (void * overrideliborder); /* CheckApplication - check to see that the application is the last entry in the list. *************** static void warning3 (const char *format *** 315,321 **** equal - return TRUE if C string cstr is equal to str. */ ! static unsigned int equal (void * cstr, const char *str_, unsigned int _str_high); /* SetupDebugFlags - By default assigns ModuleTrace, DependencyTrace, --- 318,324 ---- equal - return TRUE if C string cstr is equal to str. */ ! static bool equal (void * cstr, const char *str_, unsigned int _str_high); /* SetupDebugFlags - By default assigns ModuleTrace, DependencyTrace, *************** static void CheckInitialized (void); *** 362,369 **** static M2Dependent_ModuleChain CreateModule (void * name, void * libname, M2Dependent_ArgCVEnvP init, M2Dependent_ArgCVEnvP fini, PROC dependencies) { M2Dependent_ModuleChain mptr; - void * p0; - void * p1; Storage_ALLOCATE ((void **) &mptr, sizeof (M2Dependent__T2)); mptr->name = name; --- 365,370 ---- *************** static void RemoveModule (M2Dependent_Mo *** 433,439 **** onChain - returns TRUE if mptr is on the Modules[state] list. */ ! static unsigned int onChain (M2Dependent_DependencyState state, M2Dependent_ModuleChain mptr) { M2Dependent_ModuleChain ptr; --- 434,440 ---- onChain - returns TRUE if mptr is on the Modules[state] list. */ ! static bool onChain (M2Dependent_DependencyState state, M2Dependent_ModuleChain mptr) { M2Dependent_ModuleChain ptr; *************** static unsigned int onChain (M2Dependent *** 443,454 **** do { if (ptr == mptr) { ! return TRUE; } ptr = ptr->next; } while (! (ptr == Modules.array[state-M2Dependent_unregistered])); } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 444,455 ---- do { if (ptr == mptr) { ! return true; } ptr = ptr->next; } while (! (ptr == Modules.array[state-M2Dependent_unregistered])); } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static M2Dependent_ModuleChain LookupMod *** 505,511 **** { ptr = Modules.array[state-M2Dependent_unregistered]; do { ! if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) { return ptr; } --- 506,512 ---- { ptr = Modules.array[state-M2Dependent_unregistered]; do { ! if (((strncmp (reinterpret_cast (ptr->name), reinterpret_cast (name), max (namelen, static_cast (strlen_ (reinterpret_cast (ptr->name)))))) == 0) && ((strncmp (reinterpret_cast (ptr->libname), reinterpret_cast (libname), max (libnamelen, static_cast (strlen_ (reinterpret_cast (ptr->libname)))))) == 0)) { return ptr; } *************** static M2Dependent_ModuleChain LookupMod *** 525,531 **** static M2Dependent_ModuleChain LookupModule (M2Dependent_DependencyState state, void * name, void * libname) { ! return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 526,532 ---- static M2Dependent_ModuleChain LookupModule (M2Dependent_DependencyState state, void * name, void * libname) { ! return LookupModuleN (state, name, static_cast (strlen_ (reinterpret_cast (name))), libname, static_cast (strlen_ (reinterpret_cast (libname)))); /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void toCString (char *str, unsign *** 569,575 **** We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b) { if ((a != NULL) && (b != NULL)) { --- 570,576 ---- We cannot use Builtins.def during bootstrap. */ ! static int strcmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b) { if ((a != NULL) && (b != NULL)) { *************** static int strcmp (M2LINK_PtrToChar a, M *** 602,608 **** We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2LINK_PtrToChar a, M2LINK_PtrToChar b, unsigned int n) { if (n == 0) { --- 603,609 ---- We cannot use Builtins.def during bootstrap. */ ! static int strncmp (M2Dependent_PtrToChar a, M2Dependent_PtrToChar b, unsigned int n) { if (n == 0) { *************** static int strncmp (M2LINK_PtrToChar a, *** 639,645 **** strlen - returns the length of string. */ ! static int strlen_ (M2LINK_PtrToChar string) { int count; --- 640,646 ---- strlen - returns the length of string. */ ! static int strlen_ (M2Dependent_PtrToChar string) { int count; *************** static int strlen_ (M2LINK_PtrToChar str *** 666,672 **** traceprintf - wrap printf with a boolean flag. */ ! static void traceprintf (unsigned int flag, const char *str_, unsigned int _str_high) { char str[_str_high+1]; --- 667,673 ---- traceprintf - wrap printf with a boolean flag. */ ! static void traceprintf (bool flag, const char *str_, unsigned int _str_high) { char str[_str_high+1]; *************** static void traceprintf (unsigned int fl *** 685,691 **** traceprintf2 - wrap printf with a boolean flag. */ ! static void traceprintf2 (unsigned int flag, const char *str_, unsigned int _str_high, void * arg) { char ch; char str[_str_high+1]; --- 686,692 ---- traceprintf2 - wrap printf with a boolean flag. */ ! static void traceprintf2 (bool flag, const char *str_, unsigned int _str_high, void * arg) { char ch; char str[_str_high+1]; *************** static void traceprintf2 (unsigned int f *** 710,716 **** traceprintf3 - wrap printf with a boolean flag. */ ! static void traceprintf3 (unsigned int flag, const char *str_, unsigned int _str_high, void * arg1, void * arg2) { char ch; char str[_str_high+1]; --- 711,717 ---- traceprintf3 - wrap printf with a boolean flag. */ ! static void traceprintf3 (bool flag, const char *str_, unsigned int _str_high, void * arg1, void * arg2) { char ch; char str[_str_high+1]; *************** static void DisplayModuleInfo (M2Depende *** 910,919 **** DumpModuleData - */ ! static void DumpModuleData (unsigned int flag) { - M2Dependent_ModuleChain mptr; - if (flag) { DisplayModuleInfo (M2Dependent_unregistered, (const char *) "unregistered", 12); --- 911,918 ---- DumpModuleData - */ ! static void DumpModuleData (bool flag) { if (flag) { DisplayModuleInfo (M2Dependent_unregistered, (const char *) "unregistered", 12); *************** static void combine (M2Dependent_Depende *** 948,954 **** tracemodule - */ ! static void tracemodule (unsigned int flag, void * modname, unsigned int modlen, void * libname, unsigned int liblen) { typedef struct tracemodule__T4_a tracemodule__T4; --- 947,953 ---- tracemodule - */ ! static void tracemodule (bool flag, void * modname, unsigned int modlen, void * libname, unsigned int liblen) { typedef struct tracemodule__T4_a tracemodule__T4; *************** static void ForceModule (void * modname, *** 984,990 **** mptr = LookupModuleN (M2Dependent_ordered, modname, modlen, libname, liblen); if (mptr != NULL) { ! mptr->dependency.forced = TRUE; moveTo (M2Dependent_user, mptr); } } --- 983,989 ---- mptr = LookupModuleN (M2Dependent_ordered, modname, modlen, libname, liblen); if (mptr != NULL) { ! mptr->dependency.forced = true; moveTo (M2Dependent_user, mptr); } } *************** static void ForceModule (void * modname, *** 995,1014 **** the dynamic ordering with the preference. */ ! static void ForceDependencies (void) { unsigned int len; unsigned int modlen; unsigned int liblen; ! M2LINK_PtrToChar modname; ! M2LINK_PtrToChar libname; ! M2LINK_PtrToChar pc; ! M2LINK_PtrToChar start; ! if (M2LINK_ForcedModuleInitOrder != NULL) { ! traceprintf2 (ForceTrace, (const char *) "user forcing order: %s\\n", 24, reinterpret_cast (M2LINK_ForcedModuleInitOrder)); ! pc = M2LINK_ForcedModuleInitOrder; start = pc; len = 0; modname = NULL; --- 994,1013 ---- the dynamic ordering with the preference. */ ! static void ForceDependencies (void * overrideliborder) { unsigned int len; unsigned int modlen; unsigned int liblen; ! M2Dependent_PtrToChar modname; ! M2Dependent_PtrToChar libname; ! M2Dependent_PtrToChar pc; ! M2Dependent_PtrToChar start; ! if (overrideliborder != NULL) { ! traceprintf2 (ForceTrace, (const char *) "user forcing order: %s\\n", 24, overrideliborder); ! pc = static_cast (overrideliborder); start = pc; len = 0; modname = NULL; *************** static void warning3 (const char *format *** 1118,1131 **** equal - return TRUE if C string cstr is equal to str. */ ! static unsigned int equal (void * cstr, const char *str_, unsigned int _str_high) { char str[_str_high+1]; /* make a local copy of each unbounded array. */ memcpy (str, str_, _str_high+1); ! return (strncmp (reinterpret_cast (cstr), reinterpret_cast (&str), StrLib_StrLen ((const char *) str, _str_high))) == 0; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 1117,1130 ---- equal - return TRUE if C string cstr is equal to str. */ ! static bool equal (void * cstr, const char *str_, unsigned int _str_high) { char str[_str_high+1]; /* make a local copy of each unbounded array. */ memcpy (str, str_, _str_high+1); ! return (strncmp (reinterpret_cast (cstr), reinterpret_cast (&str), StrLib_StrLen ((const char *) str, _str_high))) == 0; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void SetupDebugFlags (void) *** 1156,1222 **** SetupDebugFlags__T1 pc; ! ModuleTrace = FALSE; ! DependencyTrace = FALSE; ! PostTrace = FALSE; ! PreTrace = FALSE; ! ForceTrace = FALSE; ! HexTrace = FALSE; ! WarningTrace = FALSE; pc = static_cast (libc_getenv (const_cast (reinterpret_cast("GCC_M2LINK_RTFLAG")))); while ((pc != NULL) && ((*pc) != ASCII_nul)) { if (equal (reinterpret_cast (pc), (const char *) "all", 3)) { ! ModuleTrace = TRUE; ! DependencyTrace = TRUE; ! PreTrace = TRUE; ! PostTrace = TRUE; ! ForceTrace = TRUE; ! HexTrace = TRUE; ! WarningTrace = TRUE; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "module", 6)) { /* avoid dangling else. */ ! ModuleTrace = TRUE; pc += 6; } else if (equal (reinterpret_cast (pc), (const char *) "warning", 7)) { /* avoid dangling else. */ ! WarningTrace = TRUE; pc += 7; } else if (equal (reinterpret_cast (pc), (const char *) "hex", 3)) { /* avoid dangling else. */ ! HexTrace = TRUE; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "dep", 3)) { /* avoid dangling else. */ ! DependencyTrace = TRUE; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "pre", 3)) { /* avoid dangling else. */ ! PreTrace = TRUE; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "post", 4)) { /* avoid dangling else. */ ! PostTrace = TRUE; pc += 4; } else if (equal (reinterpret_cast (pc), (const char *) "force", 5)) { /* avoid dangling else. */ ! ForceTrace = TRUE; pc += 5; } else --- 1155,1221 ---- SetupDebugFlags__T1 pc; ! ModuleTrace = false; ! DependencyTrace = false; ! PostTrace = false; ! PreTrace = false; ! ForceTrace = false; ! HexTrace = false; ! WarningTrace = false; pc = static_cast (libc_getenv (const_cast (reinterpret_cast("GCC_M2LINK_RTFLAG")))); while ((pc != NULL) && ((*pc) != ASCII_nul)) { if (equal (reinterpret_cast (pc), (const char *) "all", 3)) { ! ModuleTrace = true; ! DependencyTrace = true; ! PreTrace = true; ! PostTrace = true; ! ForceTrace = true; ! HexTrace = true; ! WarningTrace = true; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "module", 6)) { /* avoid dangling else. */ ! ModuleTrace = true; pc += 6; } else if (equal (reinterpret_cast (pc), (const char *) "warning", 7)) { /* avoid dangling else. */ ! WarningTrace = true; pc += 7; } else if (equal (reinterpret_cast (pc), (const char *) "hex", 3)) { /* avoid dangling else. */ ! HexTrace = true; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "dep", 3)) { /* avoid dangling else. */ ! DependencyTrace = true; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "pre", 3)) { /* avoid dangling else. */ ! PreTrace = true; pc += 3; } else if (equal (reinterpret_cast (pc), (const char *) "post", 4)) { /* avoid dangling else. */ ! PostTrace = true; pc += 4; } else if (equal (reinterpret_cast (pc), (const char *) "force", 5)) { /* avoid dangling else. */ ! ForceTrace = true; pc += 5; } else *************** static void Init (void) *** 1241,1246 **** --- 1240,1246 ---- { Modules.array[state-M2Dependent_unregistered] = NULL; } + DynamicInitialization = false; } *************** static void CheckInitialized (void) *** 1255,1261 **** { if (! Initialized) { ! Initialized = TRUE; Init (); } } --- 1255,1261 ---- { if (! Initialized) { ! Initialized = true; Init (); } } *************** static void CheckInitialized (void) *** 1266,1289 **** module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp) { M2Dependent_ModuleChain mptr; - M2Dependent_ArgCVEnvP nulp; CheckInitialized (); ! traceprintf3 (ModuleTrace, (const char *) "application module: %s [%s]\\n", 29, applicationmodule, libname); mptr = LookupModule (M2Dependent_unordered, applicationmodule, libname); if (mptr != NULL) { ! mptr->dependency.appl = TRUE; } traceprintf (PreTrace, (const char *) "Pre resolving dependents\\n", 26); DumpModuleData (PreTrace); ResolveDependencies (applicationmodule, libname); traceprintf (PreTrace, (const char *) "Post resolving dependents\\n", 27); DumpModuleData (PostTrace); ! ForceDependencies (); traceprintf (ForceTrace, (const char *) "After user forcing ordering\\n", 29); DumpModuleData (ForceTrace); CheckApplication (); --- 1266,1289 ---- module constructor in turn. */ ! extern "C" void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp) { M2Dependent_ModuleChain mptr; CheckInitialized (); ! DynamicInitialization = true; /* This procedure is only called if we desire dynamic initialization. */ ! traceprintf3 (ModuleTrace, (const char *) "application module: %s [%s]\\n", 29, applicationmodule, libname); /* This procedure is only called if we desire dynamic initialization. */ mptr = LookupModule (M2Dependent_unordered, applicationmodule, libname); if (mptr != NULL) { ! mptr->dependency.appl = true; } traceprintf (PreTrace, (const char *) "Pre resolving dependents\\n", 26); DumpModuleData (PreTrace); ResolveDependencies (applicationmodule, libname); traceprintf (PreTrace, (const char *) "Post resolving dependents\\n", 27); DumpModuleData (PostTrace); ! ForceDependencies (overrideliborder); traceprintf (ForceTrace, (const char *) "After user forcing ordering\\n", 29); DumpModuleData (ForceTrace); CheckApplication (); *************** extern "C" void M2Dependent_RegisterModu *** 1368,1386 **** M2Dependent_ModuleChain mptr; CheckInitialized (); ! if (! M2LINK_StaticInitialization) { ! mptr = LookupModule (M2Dependent_unordered, modulename, libname); ! if (mptr == NULL) ! { ! traceprintf3 (ModuleTrace, (const char *) "module: %s [%s] registering", 27, modulename, libname); ! moveTo (M2Dependent_unordered, CreateModule (modulename, libname, init, fini, dependencies)); ! traceprintf (ModuleTrace, (const char *) "\\n", 2); ! } ! else ! { ! warning3 ((const char *) "module: %s [%s] (ignoring duplicate registration)\\n", 51, modulename, libname); ! } } } --- 1368,1383 ---- M2Dependent_ModuleChain mptr; CheckInitialized (); ! mptr = LookupModule (M2Dependent_unordered, modulename, libname); ! if (mptr == NULL) { ! traceprintf3 (ModuleTrace, (const char *) "module: %s [%s] registering", 27, modulename, libname); ! moveTo (M2Dependent_unordered, CreateModule (modulename, libname, init, fini, dependencies)); ! traceprintf (ModuleTrace, (const char *) "\\n", 2); ! } ! else ! { ! warning3 ((const char *) "module: %s [%s] (ignoring duplicate registration)\\n", 51, modulename, libname); } } *************** extern "C" void M2Dependent_RegisterModu *** 1388,1403 **** /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are not using StaticInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname) { CheckInitialized (); ! if (! M2LINK_StaticInitialization) ! { ! PerformRequestDependant (modulename, libname, dependantmodule, dependantlibname); ! } } extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) --- 1385,1397 ---- /* RequestDependant - used to specify that modulename is dependant upon module dependantmodule. It only takes effect ! if we are using DynamicInitialization. */ extern "C" void M2Dependent_RequestDependant (void * modulename, void * libname, void * dependantmodule, void * dependantlibname) { CheckInitialized (); ! PerformRequestDependant (modulename, libname, dependantmodule, dependantlibname); } extern "C" void _M2_M2Dependent_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2Dependent.h gcc-13.3.0/gcc/m2/pge-boot/GM2Dependent.h *** gcc-13.2.0/gcc/m2/pge-boot/GM2Dependent.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2Dependent.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 29,37 **** --- 29,40 ---- #if !defined (_M2Dependent_H) # define _M2Dependent_H + #include "config.h" + #include "system.h" # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef struct M2Dependent_ArgCVEnvP_p M *** 51,57 **** typedef void (*M2Dependent_ArgCVEnvP_t) (int, void *, void *); struct M2Dependent_ArgCVEnvP_p { M2Dependent_ArgCVEnvP_t proc; }; ! EXTERN void M2Dependent_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); EXTERN void M2Dependent_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* --- 54,60 ---- typedef void (*M2Dependent_ArgCVEnvP_t) (int, void *, void *); struct M2Dependent_ArgCVEnvP_p { M2Dependent_ArgCVEnvP_t proc; }; ! EXTERN void M2Dependent_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); EXTERN void M2Dependent_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2EXCEPTION.cc gcc-13.3.0/gcc/m2/pge-boot/GM2EXCEPTION.cc *** gcc-13.2.0/gcc/m2/pge-boot/GM2EXCEPTION.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2EXCEPTION.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 42,48 **** typedef enum {M2EXCEPTION_indexException, M2EXCEPTION_rangeException, M2EXCEPTION_caseSelectException, M2EXCEPTION_invalidLocation, M2EXCEPTION_functionException, M2EXCEPTION_wholeValueException, M2EXCEPTION_wholeDivException, M2EXCEPTION_realValueException, M2EXCEPTION_realDivException, M2EXCEPTION_complexValueException, M2EXCEPTION_complexDivException, M2EXCEPTION_protException, M2EXCEPTION_sysException, M2EXCEPTION_coException, M2EXCEPTION_exException} M2EXCEPTION_M2Exceptions; extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void); ! extern "C" unsigned int M2EXCEPTION_IsM2Exception (void); extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void) { --- 43,49 ---- typedef enum {M2EXCEPTION_indexException, M2EXCEPTION_rangeException, M2EXCEPTION_caseSelectException, M2EXCEPTION_invalidLocation, M2EXCEPTION_functionException, M2EXCEPTION_wholeValueException, M2EXCEPTION_wholeDivException, M2EXCEPTION_realValueException, M2EXCEPTION_realDivException, M2EXCEPTION_complexValueException, M2EXCEPTION_complexDivException, M2EXCEPTION_protException, M2EXCEPTION_sysException, M2EXCEPTION_coException, M2EXCEPTION_exException} M2EXCEPTION_M2Exceptions; extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void); ! extern "C" bool M2EXCEPTION_IsM2Exception (void); extern "C" M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void) { *************** extern "C" M2EXCEPTION_M2Exceptions M2EX *** 66,72 **** __builtin_unreachable (); } ! extern "C" unsigned int M2EXCEPTION_IsM2Exception (void) { RTExceptions_EHBlock e; --- 67,73 ---- __builtin_unreachable (); } ! extern "C" bool M2EXCEPTION_IsM2Exception (void) { RTExceptions_EHBlock e; diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2EXCEPTION.h gcc-13.3.0/gcc/m2/pge-boot/GM2EXCEPTION.h *** gcc-13.2.0/gcc/m2/pge-boot/GM2EXCEPTION.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2EXCEPTION.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 50,56 **** typedef enum {M2EXCEPTION_indexException, M2EXCEPTION_rangeException, M2EXCEPTION_caseSelectException, M2EXCEPTION_invalidLocation, M2EXCEPTION_functionException, M2EXCEPTION_wholeValueException, M2EXCEPTION_wholeDivException, M2EXCEPTION_realValueException, M2EXCEPTION_realDivException, M2EXCEPTION_complexValueException, M2EXCEPTION_complexDivException, M2EXCEPTION_protException, M2EXCEPTION_sysException, M2EXCEPTION_coException, M2EXCEPTION_exException} M2EXCEPTION_M2Exceptions; EXTERN M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void); ! EXTERN unsigned int M2EXCEPTION_IsM2Exception (void); # ifdef __cplusplus } # endif --- 51,57 ---- typedef enum {M2EXCEPTION_indexException, M2EXCEPTION_rangeException, M2EXCEPTION_caseSelectException, M2EXCEPTION_invalidLocation, M2EXCEPTION_functionException, M2EXCEPTION_wholeValueException, M2EXCEPTION_wholeDivException, M2EXCEPTION_realValueException, M2EXCEPTION_realDivException, M2EXCEPTION_complexValueException, M2EXCEPTION_complexDivException, M2EXCEPTION_protException, M2EXCEPTION_sysException, M2EXCEPTION_coException, M2EXCEPTION_exException} M2EXCEPTION_M2Exceptions; EXTERN M2EXCEPTION_M2Exceptions M2EXCEPTION_M2Exception (void); ! EXTERN bool M2EXCEPTION_IsM2Exception (void); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2LINK.cc gcc-13.3.0/gcc/m2/pge-boot/GM2LINK.cc *** gcc-13.2.0/gcc/m2/pge-boot/GM2LINK.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2LINK.cc Thu Jan 1 00:00:00 1970 *************** *** 1,27 **** - /* GM2LINK.c a handwritten module for mc. - - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by Gaius Mulley . - - This file is part of GNU Modula-2. - - GNU Modula-2 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. - - GNU Modula-2 is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNU Modula-2; see the file COPYING3. If not see - . */ - - /* mc currently is built using a static scaffold. */ - - #include - - int M2LINK_StaticInitialization = 1; - char *M2LINK_ForcedModuleInitOrder = NULL; --- 0 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2LINK.h gcc-13.3.0/gcc/m2/pge-boot/GM2LINK.h *** gcc-13.2.0/gcc/m2/pge-boot/GM2LINK.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2LINK.h Thu Jan 1 00:00:00 1970 *************** *** 1,59 **** - /* do not edit automatically generated by mc from M2LINK. */ - /* M2LINK.def defines the linking mode used in Modula-2. - - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by Gaius Mulley . - - This file is part of GNU Modula-2. - - GNU Modula-2 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. - - GNU Modula-2 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 - . */ - - - #if !defined (_M2LINK_H) - # define _M2LINK_H - - #include "config.h" - #include "system.h" - # ifdef __cplusplus - extern "C" { - # endif - # if !defined (PROC_D) - # define PROC_D - typedef void (*PROC_t) (void); - typedef struct { PROC_t proc; } PROC; - # endif - - - # if defined (_M2LINK_C) - # define EXTERN - # else - # define EXTERN extern - # endif - - typedef char *M2LINK_PtrToChar; - - EXTERN M2LINK_PtrToChar M2LINK_ForcedModuleInitOrder; - EXTERN unsigned int M2LINK_StaticInitialization; - # ifdef __cplusplus - } - # endif - - # undef EXTERN - #endif --- 0 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2RTS.cc gcc-13.3.0/gcc/m2/pge-boot/GM2RTS.cc *** gcc-13.2.0/gcc/m2/pge-boot/GM2RTS.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2RTS.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** struct M2RTS__T1_r { *** 90,105 **** static M2RTS_ProcedureList InitialProc; static M2RTS_ProcedureList TerminateProc; static int ExitValue; ! static unsigned int isHalting; ! static unsigned int CallExit; ! static unsigned int Initialized; /* ConstructModules - resolve dependencies and then call each module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each --- 91,106 ---- static M2RTS_ProcedureList InitialProc; static M2RTS_ProcedureList TerminateProc; static int ExitValue; ! static bool isHalting; ! static bool CallExit; ! static bool Initialized; /* ConstructModules - resolve dependencies and then call each module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); /* DeconstructModules - resolve dependencies and then call each *************** extern "C" void M2RTS_RequestDependant ( *** 131,137 **** procedure is installed. */ ! extern "C" unsigned int M2RTS_InstallTerminationProcedure (PROC p); /* ExecuteInitialProcedures - executes the initial procedures installed by --- 132,138 ---- procedure is installed. */ ! extern "C" bool M2RTS_InstallTerminationProcedure (PROC p); /* ExecuteInitialProcedures - executes the initial procedures installed by *************** extern "C" void M2RTS_ExecuteInitialProc *** 146,152 **** main program module. */ ! extern "C" unsigned int M2RTS_InstallInitialProcedure (PROC p); /* ExecuteTerminationProcedures - calls each installed termination procedure --- 147,153 ---- main program module. */ ! extern "C" bool M2RTS_InstallInitialProcedure (PROC p); /* ExecuteTerminationProcedures - calls each installed termination procedure *************** extern "C" void M2RTS_HALT (int exitcode *** 183,189 **** to stderr and calls exit (1). */ ! extern "C" void M2RTS_Halt (const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high, const char *description_, unsigned int _description_high); /* HaltC - provides a more user friendly version of HALT, which takes --- 184,190 ---- to stderr and calls exit (1). */ ! extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line); /* HaltC - provides a more user friendly version of HALT, which takes *************** extern "C" void M2RTS_Halt (const char * *** 191,197 **** to stderr and calls exit (1). */ ! extern "C" void M2RTS_HaltC (void * filename, unsigned int line, void * function, void * description); /* ExitOnHalt - if HALT is executed then call exit with the exit code, e. --- 192,198 ---- to stderr and calls exit (1). */ ! extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line); /* ExitOnHalt - if HALT is executed then call exit with the exit code, e. *************** static void ExecuteReverse (M2RTS_Proced *** 250,256 **** defined by proclist. */ ! static unsigned int AppendProc (M2RTS_ProcedureList *proclist, PROC proc); /* ErrorString - writes a string to stderr. --- 251,257 ---- defined by proclist. */ ! static bool AppendProc (M2RTS_ProcedureList *proclist, PROC proc); /* ErrorString - writes a string to stderr. *************** static void ExecuteReverse (M2RTS_Proced *** 313,319 **** defined by proclist. */ ! static unsigned int AppendProc (M2RTS_ProcedureList *proclist, PROC proc) { M2RTS_ProcedureChain pdes; --- 314,320 ---- defined by proclist. */ ! static bool AppendProc (M2RTS_ProcedureList *proclist, PROC proc) { M2RTS_ProcedureChain pdes; *************** static unsigned int AppendProc (M2RTS_Pr *** 326,332 **** (*proclist).head = pdes; } (*proclist).tail = pdes; ! return TRUE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 327,333 ---- (*proclist).head = pdes; } (*proclist).tail = pdes; ! return true; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void Init (void) *** 410,417 **** InitProcList (&InitialProc); InitProcList (&TerminateProc); ExitValue = 0; ! isHalting = FALSE; ! CallExit = FALSE; /* default by calling abort */ } --- 411,418 ---- InitProcList (&InitialProc); InitProcList (&TerminateProc); ExitValue = 0; ! isHalting = false; ! CallExit = false; /* default by calling abort */ } *************** static void CheckInitialized (void) *** 426,432 **** { if (! Initialized) { ! Initialized = TRUE; Init (); } } --- 427,433 ---- { if (! Initialized) { ! Initialized = true; Init (); } } *************** static void CheckInitialized (void) *** 437,445 **** module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp) { ! M2Dependent_ConstructModules (applicationmodule, libname, argc, argv, envp); } --- 438,446 ---- module constructor in turn. */ ! extern "C" void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp) { ! M2Dependent_ConstructModules (applicationmodule, libname, overrideliborder, argc, argv, envp); } *************** extern "C" void M2RTS_RequestDependant ( *** 485,491 **** procedure is installed. */ ! extern "C" unsigned int M2RTS_InstallTerminationProcedure (PROC p) { return AppendProc (&TerminateProc, p); /* static analysis guarentees a RETURN statement will be used before here. */ --- 486,492 ---- procedure is installed. */ ! extern "C" bool M2RTS_InstallTerminationProcedure (PROC p) { return AppendProc (&TerminateProc, p); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void M2RTS_ExecuteInitialProc *** 510,516 **** main program module. */ ! extern "C" unsigned int M2RTS_InstallInitialProcedure (PROC p) { return AppendProc (&InitialProc, p); /* static analysis guarentees a RETURN statement will be used before here. */ --- 511,517 ---- main program module. */ ! extern "C" bool M2RTS_InstallInitialProcedure (PROC p) { return AppendProc (&InitialProc, p); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void M2RTS_HALT (int exitcode *** 557,563 **** { if (exitcode != -1) { ! CallExit = TRUE; ExitValue = exitcode; } if (isHalting) --- 558,564 ---- { if (exitcode != -1) { ! CallExit = true; ExitValue = exitcode; } if (isHalting) *************** extern "C" void M2RTS_HALT (int exitcode *** 567,573 **** } else { ! isHalting = TRUE; M2RTS_ExecuteTerminationProcedures (); } if (CallExit) --- 568,574 ---- } else { ! isHalting = true; M2RTS_ExecuteTerminationProcedures (); } if (CallExit) *************** extern "C" void M2RTS_HALT (int exitcode *** 587,602 **** to stderr and calls exit (1). */ ! extern "C" void M2RTS_Halt (const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high, const char *description_, unsigned int _description_high) { char filename[_filename_high+1]; char function[_function_high+1]; - char description[_description_high+1]; /* make a local copy of each unbounded array. */ memcpy (filename, filename_, _filename_high+1); memcpy (function, function_, _function_high+1); - memcpy (description, description_, _description_high+1); M2RTS_ErrorMessage ((const char *) description, _description_high, (const char *) filename, _filename_high, line, (const char *) function, _function_high); } --- 588,603 ---- to stderr and calls exit (1). */ ! extern "C" void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line) { + char description[_description_high+1]; char filename[_filename_high+1]; char function[_function_high+1]; /* make a local copy of each unbounded array. */ + memcpy (description, description_, _description_high+1); memcpy (filename, filename_, _filename_high+1); memcpy (function, function_, _function_high+1); M2RTS_ErrorMessage ((const char *) description, _description_high, (const char *) filename, _filename_high, line, (const char *) function, _function_high); } *************** extern "C" void M2RTS_Halt (const char * *** 608,614 **** to stderr and calls exit (1). */ ! extern "C" void M2RTS_HaltC (void * filename, unsigned int line, void * function, void * description) { ErrorMessageC (description, filename, line, function); } --- 609,615 ---- to stderr and calls exit (1). */ ! extern "C" void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line) { ErrorMessageC (description, filename, line, function); } *************** extern "C" void M2RTS_HaltC (void * file *** 621,627 **** extern "C" void M2RTS_ExitOnHalt (int e) { ExitValue = e; ! CallExit = TRUE; } --- 622,628 ---- extern "C" void M2RTS_ExitOnHalt (int e) { ExitValue = e; ! CallExit = true; } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GM2RTS.h gcc-13.3.0/gcc/m2/pge-boot/GM2RTS.h *** gcc-13.2.0/gcc/m2/pge-boot/GM2RTS.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GM2RTS.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 29,37 **** --- 29,40 ---- #if !defined (_M2RTS_H) # define _M2RTS_H + #include "config.h" + #include "system.h" # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef struct M2RTS_ArgCVEnvP_p M2RTS_A *** 51,57 **** typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; ! EXTERN void M2RTS_ConstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); EXTERN void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* --- 54,60 ---- typedef void (*M2RTS_ArgCVEnvP_t) (int, void *, void *); struct M2RTS_ArgCVEnvP_p { M2RTS_ArgCVEnvP_t proc; }; ! EXTERN void M2RTS_ConstructModules (void * applicationmodule, void * libname, void * overrideliborder, int argc, void * argv, void * envp); EXTERN void M2RTS_DeconstructModules (void * applicationmodule, void * libname, int argc, void * argv, void * envp); /* *************** EXTERN void M2RTS_RequestDependant (void *** 77,83 **** procedure is installed. */ ! EXTERN unsigned int M2RTS_InstallTerminationProcedure (PROC p); /* ExecuteInitialProcedures - executes the initial procedures installed --- 80,86 ---- procedure is installed. */ ! EXTERN bool M2RTS_InstallTerminationProcedure (PROC p); /* ExecuteInitialProcedures - executes the initial procedures installed *************** EXTERN void M2RTS_ExecuteInitialProcedur *** 92,98 **** program module. */ ! EXTERN unsigned int M2RTS_InstallInitialProcedure (PROC p); /* ExecuteTerminationProcedures - calls each installed termination procedure --- 95,101 ---- program module. */ ! EXTERN bool M2RTS_InstallInitialProcedure (PROC p); /* ExecuteTerminationProcedures - calls each installed termination procedure *************** EXTERN void M2RTS_HALT (int exitcode) __ *** 128,134 **** to stderr and calls exit (1). */ ! EXTERN void M2RTS_Halt (const char *filename_, unsigned int _filename_high, unsigned int line, const char *function_, unsigned int _function_high, const char *description_, unsigned int _description_high) __attribute__ ((noreturn)); /* HaltC - provides a more user friendly version of HALT, which takes --- 131,137 ---- to stderr and calls exit (1). */ ! EXTERN void M2RTS_Halt (const char *description_, unsigned int _description_high, const char *filename_, unsigned int _filename_high, const char *function_, unsigned int _function_high, unsigned int line) __attribute__ ((noreturn)); /* HaltC - provides a more user friendly version of HALT, which takes *************** EXTERN void M2RTS_Halt (const char *file *** 136,142 **** to stderr and calls exit (1). */ ! EXTERN void M2RTS_HaltC (void * filename, unsigned int line, void * function, void * description) __attribute__ ((noreturn)); /* ExitOnHalt - if HALT is executed then call exit with the exit code, e. --- 139,145 ---- to stderr and calls exit (1). */ ! EXTERN void M2RTS_HaltC (void * description, void * filename, void * function, unsigned int line) __attribute__ ((noreturn)); /* ExitOnHalt - if HALT is executed then call exit with the exit code, e. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GNameKey.cc gcc-13.3.0/gcc/m2/pge-boot/GNameKey.cc *** gcc-13.2.0/gcc/m2/pge-boot/GNameKey.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GNameKey.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" unsigned int NameKey_LengthKe *** 116,122 **** converting, a, into a String, for speed. */ ! extern "C" unsigned int NameKey_IsKey (const char *a_, unsigned int _a_high); /* KeyToCharStar - returns the C char * string equivalent for, key. --- 117,123 ---- converting, a, into a String, for speed. */ ! extern "C" bool NameKey_IsKey (const char *a_, unsigned int _a_high); /* KeyToCharStar - returns the C char * string equivalent for, key. *************** extern "C" void NameKey_WriteKey (NameKe *** 130,136 **** This function deliberately inlines CAP for speed. */ ! extern "C" unsigned int NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2); /* KeyToCharStar - returns the C char * string equivalent for, key. --- 131,137 ---- This function deliberately inlines CAP for speed. */ ! extern "C" bool NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2); /* KeyToCharStar - returns the C char * string equivalent for, key. *************** extern "C" unsigned int NameKey_LengthKe *** 439,445 **** converting, a, into a String, for speed. */ ! extern "C" unsigned int NameKey_IsKey (const char *a_, unsigned int _a_high) { NameKey_NameNode child; NameKey_PtrToChar p; --- 440,446 ---- converting, a, into a String, for speed. */ ! extern "C" bool NameKey_IsKey (const char *a_, unsigned int _a_high) { NameKey_NameNode child; NameKey_PtrToChar p; *************** extern "C" unsigned int NameKey_IsKey (c *** 479,485 **** /* avoid gcc warning by using compound statement even if not strictly necessary. */ if ((*p) == ASCII_nul) { ! return TRUE; } else { --- 480,486 ---- /* avoid gcc warning by using compound statement even if not strictly necessary. */ if ((*p) == ASCII_nul) { ! return true; } else { *************** extern "C" unsigned int NameKey_IsKey (c *** 492,498 **** } } while (! (child == NULL)); } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 493,499 ---- } } while (! (child == NULL)); } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** extern "C" void NameKey_WriteKey (NameKe *** 521,527 **** This function deliberately inlines CAP for speed. */ ! extern "C" unsigned int NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2) { NameKey_PtrToChar pi; NameKey_PtrToChar pj; --- 522,528 ---- This function deliberately inlines CAP for speed. */ ! extern "C" bool NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2) { NameKey_PtrToChar pi; NameKey_PtrToChar pj; *************** extern "C" unsigned int NameKey_IsSameEx *** 530,536 **** if (key1 == key2) { ! return TRUE; } else { --- 531,537 ---- if (key1 == key2) { ! return true; } else { *************** extern "C" unsigned int NameKey_IsSameEx *** 550,556 **** else { /* difference found */ ! return FALSE; } } return c1 == c2; --- 551,557 ---- else { /* difference found */ ! return false; } } return c1 == c2; diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GNameKey.h gcc-13.3.0/gcc/m2/pge-boot/GNameKey.h *** gcc-13.2.0/gcc/m2/pge-boot/GNameKey.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GNameKey.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 29,34 **** --- 29,35 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN unsigned int NameKey_LengthKey (N *** 83,89 **** IsKey - returns TRUE if string, a, is currently a key. */ ! EXTERN unsigned int NameKey_IsKey (const char *a_, unsigned int _a_high); /* WriteKey - Display the symbol represented by Key. --- 84,90 ---- IsKey - returns TRUE if string, a, is currently a key. */ ! EXTERN bool NameKey_IsKey (const char *a_, unsigned int _a_high); /* WriteKey - Display the symbol represented by Key. *************** EXTERN void NameKey_WriteKey (NameKey_Na *** 96,102 **** the same. It is case insensitive. */ ! EXTERN unsigned int NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2); /* KeyToCharStar - returns the C char * string equivalent for, key. --- 97,103 ---- the same. It is case insensitive. */ ! EXTERN bool NameKey_IsSameExcludingCase (NameKey_Name key1, NameKey_Name key2); /* KeyToCharStar - returns the C char * string equivalent for, key. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GNumberIO.cc gcc-13.3.0/gcc/m2/pge-boot/GNumberIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GNumberIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GNumberIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" void NumberIO_CardToStr (unsi *** 191,197 **** extern "C" void NumberIO_StrToCard (const char *a_, unsigned int _a_high, unsigned int *x) { unsigned int i; ! unsigned int ok; unsigned int higha; char a[_a_high+1]; --- 192,198 ---- extern "C" void NumberIO_StrToCard (const char *a_, unsigned int _a_high, unsigned int *x) { unsigned int i; ! bool ok; unsigned int higha; char a[_a_high+1]; *************** extern "C" void NumberIO_StrToCard (cons *** 201,207 **** StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = TRUE; while (ok) { if (i < higha) --- 202,208 ---- StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = true; while (ok) { if (i < higha) *************** extern "C" void NumberIO_StrToCard (cons *** 212,229 **** } else { ! ok = FALSE; } } else { ! ok = FALSE; } } (*x) = 0; if (i < higha) { ! ok = TRUE; do { (*x) = (10*(*x))+( ((unsigned int) (a[i]))- ((unsigned int) ('0'))); if (i < higha) --- 213,230 ---- } else { ! ok = false; } } else { ! ok = false; } } (*x) = 0; if (i < higha) { ! ok = true; do { (*x) = (10*(*x))+( ((unsigned int) (a[i]))- ((unsigned int) ('0'))); if (i < higha) *************** extern "C" void NumberIO_StrToCard (cons *** 232,243 **** i += 1; if ((a[i] < '0') || (a[i] > '9')) { ! ok = FALSE; } } else { ! ok = FALSE; } } while (! (! ok)); } --- 233,244 ---- i += 1; if ((a[i] < '0') || (a[i] > '9')) { ! ok = false; } } else { ! ok = false; } } while (! (! ok)); } *************** extern "C" void NumberIO_IntToStr (int x *** 315,326 **** unsigned int c; unsigned int Higha; IntToStr__T9 buf; ! unsigned int Negative; if (x < 0) { /* avoid dangling else. */ ! Negative = TRUE; c = ((unsigned int ) (abs (x+1)))+1; if (n > 0) { --- 316,327 ---- unsigned int c; unsigned int Higha; IntToStr__T9 buf; ! bool Negative; if (x < 0) { /* avoid dangling else. */ ! Negative = true; c = ((unsigned int ) (abs (x+1)))+1; if (n > 0) { *************** extern "C" void NumberIO_IntToStr (int x *** 330,336 **** else { c = x; ! Negative = FALSE; } i = 0; do { --- 331,337 ---- else { c = x; ! Negative = false; } i = 0; do { *************** extern "C" void NumberIO_IntToStr (int x *** 373,380 **** extern "C" void NumberIO_StrToInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! unsigned int ok; ! unsigned int Negative; unsigned int higha; char a[_a_high+1]; --- 374,381 ---- extern "C" void NumberIO_StrToInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! bool ok; ! bool Negative; unsigned int higha; char a[_a_high+1]; *************** extern "C" void NumberIO_StrToInt (const *** 384,391 **** StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! Negative = FALSE; ! ok = TRUE; while (ok) { if (i < higha) --- 385,392 ---- StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! Negative = false; ! ok = true; while (ok) { if (i < higha) *************** extern "C" void NumberIO_StrToInt (const *** 403,420 **** else { /* avoid dangling else. */ ! ok = FALSE; } } else { ! ok = FALSE; } } (*x) = 0; if (i < higha) { ! ok = TRUE; do { if (Negative) { --- 404,421 ---- else { /* avoid dangling else. */ ! ok = false; } } else { ! ok = false; } } (*x) = 0; if (i < higha) { ! ok = true; do { if (Negative) { *************** extern "C" void NumberIO_StrToInt (const *** 430,441 **** i += 1; if ((a[i] < '0') || (a[i] > '9')) { ! ok = FALSE; } } else { ! ok = FALSE; } } while (! (! ok)); } --- 431,442 ---- i += 1; if ((a[i] < '0') || (a[i] > '9')) { ! ok = false; } } else { ! ok = false; } } while (! (! ok)); } *************** extern "C" void NumberIO_StrToBin (const *** 598,604 **** extern "C" void NumberIO_StrToBinInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! unsigned int ok; unsigned int higha; char a[_a_high+1]; --- 599,605 ---- extern "C" void NumberIO_StrToBinInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! bool ok; unsigned int higha; char a[_a_high+1]; *************** extern "C" void NumberIO_StrToBinInt (co *** 608,614 **** StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = TRUE; while (ok) { if (i < higha) --- 609,615 ---- StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = true; while (ok) { if (i < higha) *************** extern "C" void NumberIO_StrToBinInt (co *** 619,636 **** } else { ! ok = FALSE; } } else { ! ok = FALSE; } } (*x) = 0; if (i < higha) { ! ok = TRUE; do { (*x) = (2*(*x))+((int ) ( ((unsigned int) (a[i]))- ((unsigned int) ('0')))); if (i < higha) --- 620,637 ---- } else { ! ok = false; } } else { ! ok = false; } } (*x) = 0; if (i < higha) { ! ok = true; do { (*x) = (2*(*x))+((int ) ( ((unsigned int) (a[i]))- ((unsigned int) ('0')))); if (i < higha) *************** extern "C" void NumberIO_StrToBinInt (co *** 639,650 **** i += 1; if ((a[i] < '0') || (a[i] > '1')) { ! ok = FALSE; } } else { ! ok = FALSE; } } while (! (! ok)); } --- 640,651 ---- i += 1; if ((a[i] < '0') || (a[i] > '1')) { ! ok = false; } } else { ! ok = false; } } while (! (! ok)); } *************** extern "C" void NumberIO_StrToBinInt (co *** 653,659 **** extern "C" void NumberIO_StrToHexInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! unsigned int ok; unsigned int higha; char a[_a_high+1]; --- 654,660 ---- extern "C" void NumberIO_StrToHexInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! bool ok; unsigned int higha; char a[_a_high+1]; *************** extern "C" void NumberIO_StrToHexInt (co *** 663,676 **** StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = TRUE; while (ok) { if (i < higha) { if (((a[i] >= '0') && (a[i] <= '9')) || ((a[i] >= 'A') && (a[i] <= 'F'))) { ! ok = FALSE; } else { --- 664,677 ---- StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = true; while (ok) { if (i < higha) { if (((a[i] >= '0') && (a[i] <= '9')) || ((a[i] >= 'A') && (a[i] <= 'F'))) { ! ok = false; } else { *************** extern "C" void NumberIO_StrToHexInt (co *** 679,691 **** } else { ! ok = FALSE; } } (*x) = 0; if (i < higha) { ! ok = TRUE; do { if ((a[i] >= '0') && (a[i] <= '9')) { --- 680,692 ---- } else { ! ok = false; } } (*x) = 0; if (i < higha) { ! ok = true; do { if ((a[i] >= '0') && (a[i] <= '9')) { *************** extern "C" void NumberIO_StrToHexInt (co *** 702,713 **** i += 1; if (((a[i] < '0') || (a[i] > '9')) && ((a[i] < 'A') || (a[i] > 'F'))) { ! ok = FALSE; } } else { ! ok = FALSE; } } while (! (! ok)); } --- 703,714 ---- i += 1; if (((a[i] < '0') || (a[i] > '9')) && ((a[i] < 'A') || (a[i] > 'F'))) { ! ok = false; } } else { ! ok = false; } } while (! (! ok)); } *************** extern "C" void NumberIO_StrToHexInt (co *** 716,722 **** extern "C" void NumberIO_StrToOctInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! unsigned int ok; unsigned int higha; char a[_a_high+1]; --- 717,723 ---- extern "C" void NumberIO_StrToOctInt (const char *a_, unsigned int _a_high, int *x) { unsigned int i; ! bool ok; unsigned int higha; char a[_a_high+1]; *************** extern "C" void NumberIO_StrToOctInt (co *** 726,732 **** StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = TRUE; while (ok) { if (i < higha) --- 727,733 ---- StrLib_StrRemoveWhitePrefix ((const char *) a, _a_high, (char *) a, _a_high); higha = StrLib_StrLen ((const char *) a, _a_high); i = 0; ! ok = true; while (ok) { if (i < higha) *************** extern "C" void NumberIO_StrToOctInt (co *** 737,754 **** } else { ! ok = FALSE; } } else { ! ok = FALSE; } } (*x) = 0; if (i < higha) { ! ok = TRUE; do { (*x) = (8*(*x))+((int ) ( ((unsigned int) (a[i]))- ((unsigned int) ('0')))); if (i < higha) --- 738,755 ---- } else { ! ok = false; } } else { ! ok = false; } } (*x) = 0; if (i < higha) { ! ok = true; do { (*x) = (8*(*x))+((int ) ( ((unsigned int) (a[i]))- ((unsigned int) ('0')))); if (i < higha) *************** extern "C" void NumberIO_StrToOctInt (co *** 757,768 **** i += 1; if ((a[i] < '0') || (a[i] > '7')) { ! ok = FALSE; } } else { ! ok = FALSE; } } while (! (! ok)); } --- 758,769 ---- i += 1; if ((a[i] < '0') || (a[i] > '7')) { ! ok = false; } } else { ! ok = false; } } while (! (! ok)); } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GNumberIO.h gcc-13.3.0/gcc/m2/pge-boot/GNumberIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GNumberIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GNumberIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GOutput.cc gcc-13.3.0/gcc/m2/pge-boot/GOutput.cc *** gcc-13.2.0/gcc/m2/pge-boot/GOutput.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GOutput.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** along with GNU Modula-2; see the file CO *** 52,58 **** # include "GASCII.h" # include "GDynamicStrings.h" ! static unsigned int stdout_; static FIO_File outputFile; static DynamicStrings_String buffer; --- 53,59 ---- # include "GASCII.h" # include "GDynamicStrings.h" ! static bool stdout_; static FIO_File outputFile; static DynamicStrings_String buffer; *************** static DynamicStrings_String buffer; *** 61,67 **** TRUE is returned if success, FALSE otherwise. */ ! extern "C" unsigned int Output_Open (const char *filename_, unsigned int _filename_high); /* Close - close the output file. --- 62,68 ---- TRUE is returned if success, FALSE otherwise. */ ! extern "C" bool Output_Open (const char *filename_, unsigned int _filename_high); /* Close - close the output file. *************** extern "C" DynamicStrings_String Output_ *** 129,135 **** TRUE is returned if success, FALSE otherwise. */ ! extern "C" unsigned int Output_Open (const char *filename_, unsigned int _filename_high) { char filename[_filename_high+1]; --- 130,136 ---- TRUE is returned if success, FALSE otherwise. */ ! extern "C" bool Output_Open (const char *filename_, unsigned int _filename_high) { char filename[_filename_high+1]; *************** extern "C" unsigned int Output_Open (con *** 139,151 **** if ((StrLib_StrEqual ((const char *) filename, _filename_high, (const char *) "", 8)) || (StrLib_StrEqual ((const char *) filename, _filename_high, (const char *) "-", 1))) { outputFile = FIO_StdOut; ! stdout_ = TRUE; ! return TRUE; } else { outputFile = FIO_OpenToWrite ((const char *) filename, _filename_high); ! stdout_ = FALSE; return FIO_IsNoError (outputFile); } /* static analysis guarentees a RETURN statement will be used before here. */ --- 140,152 ---- if ((StrLib_StrEqual ((const char *) filename, _filename_high, (const char *) "", 8)) || (StrLib_StrEqual ((const char *) filename, _filename_high, (const char *) "-", 1))) { outputFile = FIO_StdOut; ! stdout_ = true; ! return true; } else { outputFile = FIO_OpenToWrite ((const char *) filename, _filename_high); ! stdout_ = false; return FIO_IsNoError (outputFile); } /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" DynamicStrings_String Output_ *** 305,311 **** extern "C" void _M2_Output_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! stdout_ = TRUE; buffer = static_cast (NULL); outputFile = FIO_StdOut; } --- 306,312 ---- extern "C" void _M2_Output_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! stdout_ = true; buffer = static_cast (NULL); outputFile = FIO_StdOut; } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GOutput.h gcc-13.3.0/gcc/m2/pge-boot/GOutput.h *** gcc-13.2.0/gcc/m2/pge-boot/GOutput.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GOutput.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 29,34 **** --- 29,35 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 50,56 **** TRUE is returned if success, FALSE otherwise. */ ! EXTERN unsigned int Output_Open (const char *filename_, unsigned int _filename_high); /* Close - close the output file. --- 51,57 ---- TRUE is returned if success, FALSE otherwise. */ ! EXTERN bool Output_Open (const char *filename_, unsigned int _filename_high); /* Close - close the output file. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GPushBackInput.cc gcc-13.3.0/gcc/m2/pge-boot/GPushBackInput.cc *** gcc-13.2.0/gcc/m2/pge-boot/GPushBackInput.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GPushBackInput.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** static unsigned int ExitStatus; *** 69,75 **** static unsigned int Column; static unsigned int StackPtr; static unsigned int LineNo; ! static unsigned int Debugging; /* Open - opens a file for reading. --- 70,76 ---- static unsigned int Column; static unsigned int StackPtr; static unsigned int LineNo; ! static bool Debugging; /* Open - opens a file for reading. *************** extern "C" unsigned int PushBackInput_Ge *** 142,148 **** SetDebug - sets the debug flag on or off. */ ! extern "C" void PushBackInput_SetDebug (unsigned int d); /* GetColumnPosition - returns the column position of the current character. --- 143,149 ---- SetDebug - sets the debug flag on or off. */ ! extern "C" void PushBackInput_SetDebug (bool d); /* GetColumnPosition - returns the column position of the current character. *************** extern "C" char PushBackInput_PutCh (cha *** 275,281 **** } else { ! Debug_Halt ((const char *) "max push back stack exceeded, increase MaxPushBackStack", 55, 150, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54); } return ch; /* static analysis guarentees a RETURN statement will be used before here. */ --- 276,282 ---- } else { ! Debug_Halt ((const char *) "max push back stack exceeded, increase MaxPushBackStack", 55, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54, (const char *) "PutCh", 5, 151); } return ch; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void PushBackInput_PutString *** 301,307 **** l -= 1; if ((PushBackInput_PutCh (a[l])) != a[l]) { ! Debug_Halt ((const char *) "assert failed", 13, 132, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54); } } } --- 302,308 ---- l -= 1; if ((PushBackInput_PutCh (a[l])) != a[l]) { ! Debug_Halt ((const char *) "assert failed", 13, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54, (const char *) "PutString", 9, 132); } } } *************** extern "C" void PushBackInput_PutStr (Dy *** 322,328 **** i -= 1; if ((PushBackInput_PutCh (DynamicStrings_char (s, static_cast (i)))) != (DynamicStrings_char (s, static_cast (i)))) { ! Debug_Halt ((const char *) "assert failed", 13, 113, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54); } } } --- 323,329 ---- i -= 1; if ((PushBackInput_PutCh (DynamicStrings_char (s, static_cast (i)))) != (DynamicStrings_char (s, static_cast (i)))) { ! Debug_Halt ((const char *) "assert failed", 13, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/PushBackInput.mod", 54, (const char *) "PutStr", 6, 113); } } } *************** extern "C" unsigned int PushBackInput_Ge *** 442,448 **** SetDebug - sets the debug flag on or off. */ ! extern "C" void PushBackInput_SetDebug (unsigned int d) { Debugging = d; } --- 443,449 ---- SetDebug - sets the debug flag on or off. */ ! extern "C" void PushBackInput_SetDebug (bool d) { Debugging = d; } *************** extern "C" unsigned int PushBackInput_Ge *** 480,486 **** extern "C" void _M2_PushBackInput_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! PushBackInput_SetDebug (FALSE); Init (); } --- 481,487 ---- extern "C" void _M2_PushBackInput_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { ! PushBackInput_SetDebug (false); Init (); } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GPushBackInput.h gcc-13.3.0/gcc/m2/pge-boot/GPushBackInput.h *** gcc-13.2.0/gcc/m2/pge-boot/GPushBackInput.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GPushBackInput.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN unsigned int PushBackInput_GetExi *** 121,127 **** SetDebug - sets the debug flag on or off. */ ! EXTERN void PushBackInput_SetDebug (unsigned int d); /* GetColumnPosition - returns the column position of the current character. --- 122,128 ---- SetDebug - sets the debug flag on or off. */ ! EXTERN void PushBackInput_SetDebug (bool d); /* GetColumnPosition - returns the column position of the current character. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GRTExceptions.cc gcc-13.3.0/gcc/m2/pge-boot/GRTExceptions.cc *** gcc-13.2.0/gcc/m2/pge-boot/GRTExceptions.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GRTExceptions.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** struct RTExceptions__T3_r { *** 95,101 **** RTExceptions_Handler stack; }; ! static unsigned int inException; static RTExceptions_Handler freeHandler; static RTExceptions_EHBlock freeEHB; static RTExceptions_EHBlock currentEHB; --- 96,102 ---- RTExceptions_Handler stack; }; ! static bool inException; static RTExceptions_Handler freeHandler; static RTExceptions_EHBlock freeEHB; static RTExceptions_EHBlock currentEHB; *************** extern "C" void RTExceptions_BaseExcepti *** 188,194 **** in the exception state. */ ! extern "C" unsigned int RTExceptions_IsInExceptionState (void); /* SetExceptionState - returns the current exception state and --- 189,195 ---- in the exception state. */ ! extern "C" bool RTExceptions_IsInExceptionState (void); /* SetExceptionState - returns the current exception state and *************** extern "C" unsigned int RTExceptions_IsI *** 196,202 **** to. */ ! extern "C" unsigned int RTExceptions_SetExceptionState (unsigned int to); /* SwitchExceptionState - assigns, from, with the current exception --- 197,203 ---- to. */ ! extern "C" bool RTExceptions_SetExceptionState (bool to); /* SwitchExceptionState - assigns, from, with the current exception *************** extern "C" unsigned int RTExceptions_Set *** 204,210 **** to, to. */ ! extern "C" void RTExceptions_SwitchExceptionState (unsigned int *from, unsigned int to); /* GetBaseExceptionBlock - returns the initial language exception block --- 205,211 ---- to, to. */ ! extern "C" void RTExceptions_SwitchExceptionState (bool *from, bool to); /* GetBaseExceptionBlock - returns the initial language exception block *************** static void AddHandler (RTExceptions_EHB *** 724,730 **** static void indexf (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 613, 9, const_cast (reinterpret_cast("indexf")), const_cast (reinterpret_cast("array index out of bounds"))); } --- 725,731 ---- static void indexf (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_indexException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 614, 9, const_cast (reinterpret_cast("indexf")), const_cast (reinterpret_cast("array index out of bounds"))); } *************** static void indexf (void * a) *** 734,740 **** static void range (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 625, 9, const_cast (reinterpret_cast("range")), const_cast (reinterpret_cast("assignment out of range"))); } --- 735,741 ---- static void range (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_rangeException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 626, 9, const_cast (reinterpret_cast("range")), const_cast (reinterpret_cast("assignment out of range"))); } *************** static void range (void * a) *** 744,750 **** static void casef (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 637, 9, const_cast (reinterpret_cast("casef")), const_cast (reinterpret_cast("case selector out of range"))); } --- 745,751 ---- static void casef (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_caseSelectException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 638, 9, const_cast (reinterpret_cast("casef")), const_cast (reinterpret_cast("case selector out of range"))); } *************** static void casef (void * a) *** 754,760 **** static void invalidloc (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 649, 9, const_cast (reinterpret_cast("invalidloc")), const_cast (reinterpret_cast("invalid address referenced"))); } --- 755,761 ---- static void invalidloc (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_invalidLocation)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 650, 9, const_cast (reinterpret_cast("invalidloc")), const_cast (reinterpret_cast("invalid address referenced"))); } *************** static void invalidloc (void * a) *** 764,770 **** static void function (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 661, 9, const_cast (reinterpret_cast("function")), const_cast (reinterpret_cast("... function ... "))); /* --fixme-- what has happened ? */ } --- 765,771 ---- static void function (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_functionException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 662, 9, const_cast (reinterpret_cast("function")), const_cast (reinterpret_cast("... function ... "))); /* --fixme-- what has happened ? */ } *************** static void function (void * a) *** 774,780 **** static void wholevalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 673, 9, const_cast (reinterpret_cast("wholevalue")), const_cast (reinterpret_cast("illegal whole value exception"))); } --- 775,781 ---- static void wholevalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 674, 9, const_cast (reinterpret_cast("wholevalue")), const_cast (reinterpret_cast("illegal whole value exception"))); } *************** static void wholevalue (void * a) *** 784,790 **** static void wholediv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 685, 9, const_cast (reinterpret_cast("wholediv")), const_cast (reinterpret_cast("illegal whole value exception"))); } --- 785,791 ---- static void wholediv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_wholeDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 686, 9, const_cast (reinterpret_cast("wholediv")), const_cast (reinterpret_cast("illegal whole value exception"))); } *************** static void wholediv (void * a) *** 794,800 **** static void realvalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 697, 9, const_cast (reinterpret_cast("realvalue")), const_cast (reinterpret_cast("illegal real value exception"))); } --- 795,801 ---- static void realvalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 698, 9, const_cast (reinterpret_cast("realvalue")), const_cast (reinterpret_cast("illegal real value exception"))); } *************** static void realvalue (void * a) *** 804,810 **** static void realdiv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 709, 9, const_cast (reinterpret_cast("realdiv")), const_cast (reinterpret_cast("real number division by zero exception"))); } --- 805,811 ---- static void realdiv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_realDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 710, 9, const_cast (reinterpret_cast("realdiv")), const_cast (reinterpret_cast("real number division by zero exception"))); } *************** static void realdiv (void * a) *** 814,820 **** static void complexvalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 721, 9, const_cast (reinterpret_cast("complexvalue")), const_cast (reinterpret_cast("illegal complex value exception"))); } --- 815,821 ---- static void complexvalue (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexValueException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 722, 9, const_cast (reinterpret_cast("complexvalue")), const_cast (reinterpret_cast("illegal complex value exception"))); } *************** static void complexvalue (void * a) *** 824,830 **** static void complexdiv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 733, 9, const_cast (reinterpret_cast("complexdiv")), const_cast (reinterpret_cast("complex number division by zero exception"))); } --- 825,831 ---- static void complexdiv (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_complexDivException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 734, 9, const_cast (reinterpret_cast("complexdiv")), const_cast (reinterpret_cast("complex number division by zero exception"))); } *************** static void complexdiv (void * a) *** 834,840 **** static void protection (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 745, 9, const_cast (reinterpret_cast("protection")), const_cast (reinterpret_cast("protection exception"))); } --- 835,841 ---- static void protection (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_protException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 746, 9, const_cast (reinterpret_cast("protection")), const_cast (reinterpret_cast("protection exception"))); } *************** static void protection (void * a) *** 844,850 **** static void systemf (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 757, 9, const_cast (reinterpret_cast("systemf")), const_cast (reinterpret_cast("system exception"))); } --- 845,851 ---- static void systemf (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_sysException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 758, 9, const_cast (reinterpret_cast("systemf")), const_cast (reinterpret_cast("system exception"))); } *************** static void systemf (void * a) *** 854,860 **** static void coroutine (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 769, 9, const_cast (reinterpret_cast("coroutine")), const_cast (reinterpret_cast("coroutine exception"))); } --- 855,861 ---- static void coroutine (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_coException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 770, 9, const_cast (reinterpret_cast("coroutine")), const_cast (reinterpret_cast("coroutine exception"))); } *************** static void coroutine (void * a) *** 864,870 **** static void exception (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 781, 9, const_cast (reinterpret_cast("exception")), const_cast (reinterpret_cast("exception exception"))); } --- 865,871 ---- static void exception (void * a) { ! RTExceptions_Raise ( ((unsigned int) (M2EXCEPTION_exException)), const_cast (reinterpret_cast("../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod")), 782, 9, const_cast (reinterpret_cast("exception")), const_cast (reinterpret_cast("exception exception"))); } *************** static void exception (void * a) *** 874,880 **** static void Init (void) { ! inException = FALSE; freeHandler = NULL; freeEHB = NULL; currentEHB = RTExceptions_InitExceptionBlock (); --- 875,881 ---- static void Init (void) { ! inException = false; freeHandler = NULL; freeEHB = NULL; currentEHB = RTExceptions_InitExceptionBlock (); *************** extern "C" void RTExceptions_PushHandler *** 1077,1083 **** extern "C" void RTExceptions_PopHandler (RTExceptions_EHBlock e, unsigned int number) { RTExceptions_Handler h; - RTExceptions_Handler i; h = findHandler (e, number); if (h != NULL) --- 1078,1083 ---- *************** extern "C" void RTExceptions_BaseExcepti *** 1135,1141 **** in the exception state. */ ! extern "C" unsigned int RTExceptions_IsInExceptionState (void) { return inException; /* static analysis guarentees a RETURN statement will be used before here. */ --- 1135,1141 ---- in the exception state. */ ! extern "C" bool RTExceptions_IsInExceptionState (void) { return inException; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" unsigned int RTExceptions_IsI *** 1149,1157 **** to. */ ! extern "C" unsigned int RTExceptions_SetExceptionState (unsigned int to) { ! unsigned int old; old = inException; inException = to; --- 1149,1157 ---- to. */ ! extern "C" bool RTExceptions_SetExceptionState (bool to) { ! bool old; old = inException; inException = to; *************** extern "C" unsigned int RTExceptions_Set *** 1167,1173 **** to, to. */ ! extern "C" void RTExceptions_SwitchExceptionState (unsigned int *from, unsigned int to) { (*from) = inException; inException = to; --- 1167,1173 ---- to, to. */ ! extern "C" void RTExceptions_SwitchExceptionState (bool *from, bool to) { (*from) = inException; inException = to; *************** extern "C" RTExceptions_EHBlock RTExcept *** 1183,1189 **** { if (currentEHB == NULL) { ! M2RTS_Halt ((const char *) "../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod", 53, 599, (const char *) "GetBaseExceptionBlock", 21, (const char *) "currentEHB has not been initialized yet", 39); } else { --- 1183,1189 ---- { if (currentEHB == NULL) { ! M2RTS_Halt ((const char *) "currentEHB has not been initialized yet", 39, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/RTExceptions.mod", 53, (const char *) "GetBaseExceptionBlock", 21, 600); } else { diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GRTExceptions.h gcc-13.3.0/gcc/m2/pge-boot/GRTExceptions.h *** gcc-13.2.0/gcc/m2/pge-boot/GRTExceptions.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GRTExceptions.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** struct RTExceptions_ProcedureHandler_p { *** 65,71 **** and message in the EHBlock for later use. */ ! EXTERN void RTExceptions_Raise (unsigned int number, void * file, unsigned int line, unsigned int column, void * function, void * message); /* SetExceptionBlock - sets, source, as the active EHB. --- 66,72 ---- and message in the EHBlock for later use. */ ! EXTERN void RTExceptions_Raise (unsigned int number, void * file, unsigned int line, unsigned int column, void * function, void * message) __attribute__ ((noreturn)); /* SetExceptionBlock - sets, source, as the active EHB. *************** EXTERN void RTExceptions_BaseExceptionsT *** 146,152 **** in the exception state. */ ! EXTERN unsigned int RTExceptions_IsInExceptionState (void); /* SetExceptionState - returns the current exception state and --- 147,153 ---- in the exception state. */ ! EXTERN bool RTExceptions_IsInExceptionState (void); /* SetExceptionState - returns the current exception state and *************** EXTERN unsigned int RTExceptions_IsInExc *** 154,160 **** to. */ ! EXTERN unsigned int RTExceptions_SetExceptionState (unsigned int to); /* SwitchExceptionState - assigns, from, with the current exception --- 155,161 ---- to. */ ! EXTERN bool RTExceptions_SetExceptionState (bool to); /* SwitchExceptionState - assigns, from, with the current exception *************** EXTERN unsigned int RTExceptions_SetExce *** 162,168 **** to, to. */ ! EXTERN void RTExceptions_SwitchExceptionState (unsigned int *from, unsigned int to); /* GetBaseExceptionBlock - returns the initial language exception block --- 163,169 ---- to, to. */ ! EXTERN void RTExceptions_SwitchExceptionState (bool *from, bool to); /* GetBaseExceptionBlock - returns the initial language exception block diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSArgs.h gcc-13.3.0/gcc/m2/pge-boot/GSArgs.h *** gcc-13.2.0/gcc/m2/pge-boot/GSArgs.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSArgs.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 56,62 **** new string, otherwise s is set to NIL. */ ! EXTERN unsigned int SArgs_GetArg (DynamicStrings_String *s, unsigned int n); /* Narg - returns the number of arguments available from --- 57,63 ---- new string, otherwise s is set to NIL. */ ! EXTERN bool SArgs_GetArg (DynamicStrings_String *s, unsigned int n); /* Narg - returns the number of arguments available from diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSEnvironment.h gcc-13.3.0/gcc/m2/pge-boot/GSEnvironment.h *** gcc-13.2.0/gcc/m2/pge-boot/GSEnvironment.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSEnvironment.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 56,62 **** the processes environment. */ ! EXTERN unsigned int SEnvironment_GetEnvironment (DynamicStrings_String Env, DynamicStrings_String *dest); /* PutEnvironment - change or add an environment variable definition EnvDef. --- 57,63 ---- the processes environment. */ ! EXTERN bool SEnvironment_GetEnvironment (DynamicStrings_String Env, DynamicStrings_String *dest); /* PutEnvironment - change or add an environment variable definition EnvDef. *************** EXTERN unsigned int SEnvironment_GetEnvi *** 64,70 **** set or changed successfully. */ ! EXTERN unsigned int SEnvironment_PutEnvironment (DynamicStrings_String EnvDef); # ifdef __cplusplus } # endif --- 65,71 ---- set or changed successfully. */ ! EXTERN bool SEnvironment_PutEnvironment (DynamicStrings_String EnvDef); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSFIO.cc gcc-13.3.0/gcc/m2/pge-boot/GSFIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GSFIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSFIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 48,54 **** Exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" unsigned int SFIO_Exists (DynamicStrings_String fname); /* OpenToRead - attempts to open a file, fname, for reading and --- 49,55 ---- Exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" bool SFIO_Exists (DynamicStrings_String fname); /* OpenToRead - attempts to open a file, fname, for reading and *************** extern "C" FIO_File SFIO_OpenToWrite (Dy *** 80,86 **** and modify an existing file. */ ! extern "C" FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, unsigned int towrite, unsigned int newfile); /* WriteS - writes a string, s, to, file. It returns the String, s. --- 81,87 ---- and modify an existing file. */ ! extern "C" FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, bool towrite, bool newfile); /* WriteS - writes a string, s, to, file. It returns the String, s. *************** extern "C" DynamicStrings_String SFIO_Re *** 102,108 **** Exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" unsigned int SFIO_Exists (DynamicStrings_String fname) { return FIO_exists (DynamicStrings_string (fname), DynamicStrings_Length (fname)); /* static analysis guarentees a RETURN statement will be used before here. */ --- 103,109 ---- Exists - returns TRUE if a file named, fname exists for reading. */ ! extern "C" bool SFIO_Exists (DynamicStrings_String fname) { return FIO_exists (DynamicStrings_string (fname), DynamicStrings_Length (fname)); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" FIO_File SFIO_OpenToWrite (Dy *** 152,158 **** and modify an existing file. */ ! extern "C" FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, unsigned int towrite, unsigned int newfile) { return FIO_openForRandom (DynamicStrings_string (fname), DynamicStrings_Length (fname), towrite, newfile); /* static analysis guarentees a RETURN statement will be used before here. */ --- 153,159 ---- and modify an existing file. */ ! extern "C" FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, bool towrite, bool newfile) { return FIO_openForRandom (DynamicStrings_string (fname), DynamicStrings_Length (fname), towrite, newfile); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" DynamicStrings_String SFIO_Wr *** 188,194 **** extern "C" DynamicStrings_String SFIO_ReadS (FIO_File file) { DynamicStrings_String s; - unsigned int c; s = DynamicStrings_InitString ((const char *) "", 0); while (((! (FIO_EOLN (file))) && (! (FIO_EOF (file)))) && (FIO_IsNoError (file))) --- 189,194 ---- diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSFIO.h gcc-13.3.0/gcc/m2/pge-boot/GSFIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GSFIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSFIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 54,60 **** Exists - returns TRUE if a file named, fname exists for reading. */ ! EXTERN unsigned int SFIO_Exists (DynamicStrings_String fname); /* OpenToRead - attempts to open a file, fname, for reading and --- 55,61 ---- Exists - returns TRUE if a file named, fname exists for reading. */ ! EXTERN bool SFIO_Exists (DynamicStrings_String fname); /* OpenToRead - attempts to open a file, fname, for reading and *************** EXTERN FIO_File SFIO_OpenToWrite (Dynami *** 86,92 **** and modify an existing file. */ ! EXTERN FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, unsigned int towrite, unsigned int newfile); /* WriteS - writes a string, s, to, file. It returns the String, s. --- 87,93 ---- and modify an existing file. */ ! EXTERN FIO_File SFIO_OpenForRandom (DynamicStrings_String fname, bool towrite, bool newfile); /* WriteS - writes a string, s, to, file. It returns the String, s. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSYSTEM.h gcc-13.3.0/gcc/m2/pge-boot/GSYSTEM.h *** gcc-13.2.0/gcc/m2/pge-boot/GSYSTEM.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSYSTEM.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GScan.h gcc-13.3.0/gcc/m2/pge-boot/GScan.h *** gcc-13.2.0/gcc/m2/pge-boot/GScan.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GScan.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 51,57 **** /* OpenSource - opens a source file for reading. */ ! EXTERN unsigned int Scan_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - closes the current source file from reading. */ --- 52,58 ---- /* OpenSource - opens a source file for reading. */ ! EXTERN bool Scan_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - closes the current source file from reading. */ *************** EXTERN void Scan_TerminateOnError (void) *** 84,90 **** are allowed. */ ! EXTERN void Scan_DefineComments (const char *Start_, unsigned int _Start_high, const char *End_, unsigned int _End_high, unsigned int eoln); # ifdef __cplusplus } # endif --- 85,91 ---- are allowed. */ ! EXTERN void Scan_DefineComments (const char *Start_, unsigned int _Start_high, const char *End_, unsigned int _End_high, bool eoln); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStdIO.cc gcc-13.3.0/gcc/m2/pge-boot/GStdIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GStdIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStdIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStdIO.h gcc-13.3.0/gcc/m2/pge-boot/GStdIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GStdIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStdIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStorage.cc gcc-13.3.0/gcc/m2/pge-boot/GStorage.cc *** gcc-13.2.0/gcc/m2/pge-boot/GStorage.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStorage.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 39,45 **** extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size); extern "C" void Storage_DEALLOCATE (void * *a, unsigned int Size); extern "C" void Storage_REALLOCATE (void * *a, unsigned int Size); ! extern "C" unsigned int Storage_Available (unsigned int Size); extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size) { --- 40,46 ---- extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size); extern "C" void Storage_DEALLOCATE (void * *a, unsigned int Size); extern "C" void Storage_REALLOCATE (void * *a, unsigned int Size); ! extern "C" bool Storage_Available (unsigned int Size); extern "C" void Storage_ALLOCATE (void * *a, unsigned int Size) { *************** extern "C" void Storage_REALLOCATE (void *** 56,62 **** SysStorage_REALLOCATE (a, Size); } ! extern "C" unsigned int Storage_Available (unsigned int Size) { return SysStorage_Available (Size); /* static analysis guarentees a RETURN statement will be used before here. */ --- 57,63 ---- SysStorage_REALLOCATE (a, Size); } ! extern "C" bool Storage_Available (unsigned int Size) { return SysStorage_Available (Size); /* static analysis guarentees a RETURN statement will be used before here. */ diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStorage.h gcc-13.3.0/gcc/m2/pge-boot/GStorage.h *** gcc-13.2.0/gcc/m2/pge-boot/GStorage.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStorage.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void Storage_REALLOCATE (void * * *** 77,83 **** Available - returns TRUE if, Size, bytes can be allocated. */ ! EXTERN unsigned int Storage_Available (unsigned int Size); # ifdef __cplusplus } # endif --- 78,84 ---- Available - returns TRUE if, Size, bytes can be allocated. */ ! EXTERN bool Storage_Available (unsigned int Size); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrCase.cc gcc-13.3.0/gcc/m2/pge-boot/GStrCase.cc *** gcc-13.2.0/gcc/m2/pge-boot/GStrCase.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrCase.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrCase.h gcc-13.3.0/gcc/m2/pge-boot/GStrCase.h *** gcc-13.2.0/gcc/m2/pge-boot/GStrCase.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrCase.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrIO.cc gcc-13.3.0/gcc/m2/pge-boot/GStrIO.cc *** gcc-13.2.0/gcc/m2/pge-boot/GStrIO.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrIO.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 44,50 **** # include "GStdIO.h" # include "Glibc.h" ! static unsigned int IsATTY; /* WriteLn - writes a carriage return and a newline --- 45,51 ---- # include "GStdIO.h" # include "Glibc.h" ! static bool IsATTY; /* WriteLn - writes a carriage return and a newline *************** static void Echo (char ch); *** 85,91 **** AlphaNum- returns true if character, ch, is an alphanumeric character. */ ! static unsigned int AlphaNum (char ch); /* --- 86,92 ---- AlphaNum- returns true if character, ch, is an alphanumeric character. */ ! static bool AlphaNum (char ch); /* *************** static void Echo (char ch) *** 119,125 **** AlphaNum- returns true if character, ch, is an alphanumeric character. */ ! static unsigned int AlphaNum (char ch) { return (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'))) || ((ch >= '0') && (ch <= '9')); /* static analysis guarentees a RETURN statement will be used before here. */ --- 120,126 ---- AlphaNum- returns true if character, ch, is an alphanumeric character. */ ! static bool AlphaNum (char ch) { return (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'))) || ((ch >= '0') && (ch <= '9')); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void StrIO_WriteString (const *** 269,275 **** extern "C" void _M2_StrIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { /* IsATTY := isatty() */ ! IsATTY = FALSE; } extern "C" void _M2_StrIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) --- 270,276 ---- extern "C" void _M2_StrIO_init (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) { /* IsATTY := isatty() */ ! IsATTY = false; } extern "C" void _M2_StrIO_fini (__attribute__((unused)) int argc,__attribute__((unused)) char *argv[],__attribute__((unused)) char *envp[]) diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrIO.h gcc-13.3.0/gcc/m2/pge-boot/GStrIO.h *** gcc-13.2.0/gcc/m2/pge-boot/GStrIO.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrIO.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrLib.cc gcc-13.3.0/gcc/m2/pge-boot/GStrLib.cc *** gcc-13.2.0/gcc/m2/pge-boot/GStrLib.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrLib.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" void StrLib_StrConCat (const *** 58,65 **** string, b. */ ! extern "C" unsigned int StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); ! extern "C" unsigned int StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); extern "C" unsigned int StrLib_StrLen (const char *a_, unsigned int _a_high); /* --- 59,66 ---- string, b. */ ! extern "C" bool StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); ! extern "C" bool StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); extern "C" unsigned int StrLib_StrLen (const char *a_, unsigned int _a_high); /* *************** extern "C" void StrLib_StrCopy (const ch *** 74,80 **** IsSubString - returns true if b is a subcomponent of a. */ ! extern "C" unsigned int StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrRemoveWhitePrefix - copies string, into string, b, excluding any white --- 75,81 ---- IsSubString - returns true if b is a subcomponent of a. */ ! extern "C" bool StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrRemoveWhitePrefix - copies string, into string, b, excluding any white *************** extern "C" void StrLib_StrRemoveWhitePre *** 87,100 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch); /* IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch) { return (ch == ' ') || (ch == ASCII_tab); /* static analysis guarentees a RETURN statement will be used before here. */ --- 88,101 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch); /* IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch) { return (ch == ' ') || (ch == ASCII_tab); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void StrLib_StrConCat (const *** 142,148 **** string, b. */ ! extern "C" unsigned int StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int Higha; unsigned int Highb; --- 143,149 ---- string, b. */ ! extern "C" bool StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int Higha; unsigned int Highb; *************** extern "C" unsigned int StrLib_StrLess ( *** 161,172 **** { if (a[i] < b[i]) { ! return TRUE; } else if (a[i] > b[i]) { /* avoid dangling else. */ ! return FALSE; } /* must be equal, move on to next character */ i += 1; --- 162,173 ---- { if (a[i] < b[i]) { ! return true; } else if (a[i] > b[i]) { /* avoid dangling else. */ ! return false; } /* must be equal, move on to next character */ i += 1; *************** extern "C" unsigned int StrLib_StrLess ( *** 176,182 **** __builtin_unreachable (); } ! extern "C" unsigned int StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int i; unsigned int higha; --- 177,183 ---- __builtin_unreachable (); } ! extern "C" bool StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int i; unsigned int higha; *************** extern "C" unsigned int StrLib_StrEqual *** 195,201 **** { if (a[i] != b[i]) { ! return FALSE; } i += 1; } --- 196,202 ---- { if (a[i] != b[i]) { ! return false; } i += 1; } *************** extern "C" void StrLib_StrCopy (const ch *** 260,266 **** IsSubString - returns true if b is a subcomponent of a. */ ! extern "C" unsigned int StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int i; unsigned int j; --- 261,267 ---- IsSubString - returns true if b is a subcomponent of a. */ ! extern "C" bool StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high) { unsigned int i; unsigned int j; *************** extern "C" unsigned int StrLib_IsSubStri *** 287,293 **** } if (j == LengthB) { ! return TRUE; } else { --- 288,294 ---- } if (j == LengthB) { ! return true; } else { *************** extern "C" unsigned int StrLib_IsSubStri *** 295,301 **** } } } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 296,302 ---- } } } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStrLib.h gcc-13.3.0/gcc/m2/pge-boot/GStrLib.h *** gcc-13.2.0/gcc/m2/pge-boot/GStrLib.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStrLib.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void StrLib_StrConCat (const char *** 59,71 **** string, b. */ ! EXTERN unsigned int StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrEqual - performs a = b on two strings. */ ! EXTERN unsigned int StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrLen - returns the length of string, a. --- 60,72 ---- string, b. */ ! EXTERN bool StrLib_StrLess (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrEqual - performs a = b on two strings. */ ! EXTERN bool StrLib_StrEqual (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrLen - returns the length of string, a. *************** EXTERN void StrLib_StrCopy (const char * *** 85,91 **** IsSubString - returns true if b is a subcomponent of a. */ ! EXTERN unsigned int StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrRemoveWhitePrefix - copies string, into string, b, excluding any white --- 86,92 ---- IsSubString - returns true if b is a subcomponent of a. */ ! EXTERN bool StrLib_IsSubString (const char *a_, unsigned int _a_high, const char *b_, unsigned int _b_high); /* StrRemoveWhitePrefix - copies string, into string, b, excluding any white diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GStringConvert.h gcc-13.3.0/gcc/m2/pge-boot/GStringConvert.h *** gcc-13.2.0/gcc/m2/pge-boot/GStringConvert.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GStringConvert.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** extern "C" { *** 61,67 **** abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_IntegerToString (int i, unsigned int width, char padding, unsigned int sign, unsigned int base, unsigned int lower); /* CardinalToString - converts CARDINAL, c, into a String. The field --- 62,68 ---- abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_IntegerToString (int i, unsigned int width, char padding, bool sign, unsigned int base, bool lower); /* CardinalToString - converts CARDINAL, c, into a String. The field *************** EXTERN DynamicStrings_String StringConve *** 74,80 **** abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_CardinalToString (unsigned int c, unsigned int width, char padding, unsigned int base, unsigned int lower); /* StringToInteger - converts a string, s, of, base, into an INTEGER. --- 75,81 ---- abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_CardinalToString (unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); /* StringToInteger - converts a string, s, of, base, into an INTEGER. *************** EXTERN DynamicStrings_String StringConve *** 84,90 **** The parameter found is set TRUE if a number was found. */ ! EXTERN int StringConvert_StringToInteger (DynamicStrings_String s, unsigned int base, unsigned int *found); /* StringToCardinal - converts a string, s, of, base, into a CARDINAL. --- 85,91 ---- The parameter found is set TRUE if a number was found. */ ! EXTERN int StringConvert_StringToInteger (DynamicStrings_String s, unsigned int base, bool *found); /* StringToCardinal - converts a string, s, of, base, into a CARDINAL. *************** EXTERN int StringConvert_StringToInteger *** 94,100 **** The parameter found is set TRUE if a number was found. */ ! EXTERN unsigned int StringConvert_StringToCardinal (DynamicStrings_String s, unsigned int base, unsigned int *found); /* LongIntegerToString - converts LONGINT, i, into a String. The field with --- 95,101 ---- The parameter found is set TRUE if a number was found. */ ! EXTERN unsigned int StringConvert_StringToCardinal (DynamicStrings_String s, unsigned int base, bool *found); /* LongIntegerToString - converts LONGINT, i, into a String. The field with *************** EXTERN unsigned int StringConvert_String *** 108,114 **** abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_LongIntegerToString (long int i, unsigned int width, char padding, unsigned int sign, unsigned int base, unsigned int lower); /* StringToLongInteger - converts a string, s, of, base, into an LONGINT. --- 109,115 ---- abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_LongIntegerToString (long int i, unsigned int width, char padding, bool sign, unsigned int base, bool lower); /* StringToLongInteger - converts a string, s, of, base, into an LONGINT. *************** EXTERN DynamicStrings_String StringConve *** 118,124 **** The parameter found is set TRUE if a number was found. */ ! EXTERN long int StringConvert_StringToLongInteger (DynamicStrings_String s, unsigned int base, unsigned int *found); /* LongCardinalToString - converts LONGCARD, c, into a String. The field --- 119,125 ---- The parameter found is set TRUE if a number was found. */ ! EXTERN long int StringConvert_StringToLongInteger (DynamicStrings_String s, unsigned int base, bool *found); /* LongCardinalToString - converts LONGCARD, c, into a String. The field *************** EXTERN long int StringConvert_StringToLo *** 131,137 **** abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_LongCardinalToString (long unsigned int c, unsigned int width, char padding, unsigned int base, unsigned int lower); /* StringToLongCardinal - converts a string, s, of, base, into a LONGCARD. --- 132,138 ---- abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_LongCardinalToString (long unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); /* StringToLongCardinal - converts a string, s, of, base, into a LONGCARD. *************** EXTERN DynamicStrings_String StringConve *** 141,147 **** The parameter found is set TRUE if a number was found. */ ! EXTERN long unsigned int StringConvert_StringToLongCardinal (DynamicStrings_String s, unsigned int base, unsigned int *found); /* ShortCardinalToString - converts SHORTCARD, c, into a String. The field --- 142,148 ---- The parameter found is set TRUE if a number was found. */ ! EXTERN long unsigned int StringConvert_StringToLongCardinal (DynamicStrings_String s, unsigned int base, bool *found); /* ShortCardinalToString - converts SHORTCARD, c, into a String. The field *************** EXTERN long unsigned int StringConvert_S *** 154,160 **** abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_ShortCardinalToString (short unsigned int c, unsigned int width, char padding, unsigned int base, unsigned int lower); /* StringToShortCardinal - converts a string, s, of, base, into a SHORTCARD. --- 155,161 ---- abcdef are used, and if FALSE then ABCDEF are used. */ ! EXTERN DynamicStrings_String StringConvert_ShortCardinalToString (short unsigned int c, unsigned int width, char padding, unsigned int base, bool lower); /* StringToShortCardinal - converts a string, s, of, base, into a SHORTCARD. *************** EXTERN DynamicStrings_String StringConve *** 164,170 **** The parameter found is set TRUE if a number was found. */ ! EXTERN short unsigned int StringConvert_StringToShortCardinal (DynamicStrings_String s, unsigned int base, unsigned int *found); /* stoi - decimal string to INTEGER --- 165,171 ---- The parameter found is set TRUE if a number was found. */ ! EXTERN short unsigned int StringConvert_StringToShortCardinal (DynamicStrings_String s, unsigned int base, bool *found); /* stoi - decimal string to INTEGER *************** EXTERN int StringConvert_stoi (DynamicSt *** 176,182 **** itos - integer to decimal string. */ ! EXTERN DynamicStrings_String StringConvert_itos (int i, unsigned int width, char padding, unsigned int sign); /* ctos - cardinal to decimal string. --- 177,183 ---- itos - integer to decimal string. */ ! EXTERN DynamicStrings_String StringConvert_itos (int i, unsigned int width, char padding, bool sign); /* ctos - cardinal to decimal string. *************** EXTERN unsigned int StringConvert_bstoc *** 231,237 **** if a legal number is seen. */ ! EXTERN long double StringConvert_StringToLongreal (DynamicStrings_String s, unsigned int *found); /* LongrealToString - converts a LONGREAL number, Real, which has, --- 232,238 ---- if a legal number is seen. */ ! EXTERN long double StringConvert_StringToLongreal (DynamicStrings_String s, bool *found); /* LongrealToString - converts a LONGREAL number, Real, which has, diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSymbolKey.cc gcc-13.3.0/gcc/m2/pge-boot/GSymbolKey.cc *** gcc-13.2.0/gcc/m2/pge-boot/GSymbolKey.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSymbolKey.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef struct SymbolKey_Node_r SymbolKe *** 55,61 **** typedef SymbolKey_Node *SymbolKey_SymbolTree; ! typedef unsigned int (*SymbolKey_IsSymbol_t) (unsigned int); struct SymbolKey_IsSymbol_p { SymbolKey_IsSymbol_t proc; }; typedef void (*SymbolKey_PerformOperation_t) (unsigned int); --- 56,62 ---- typedef SymbolKey_Node *SymbolKey_SymbolTree; ! typedef bool (*SymbolKey_IsSymbol_t) (unsigned int); struct SymbolKey_IsSymbol_p { SymbolKey_IsSymbol_t proc; }; typedef void (*SymbolKey_PerformOperation_t) (unsigned int); *************** extern "C" void SymbolKey_DelSymKey (Sym *** 96,102 **** IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! extern "C" unsigned int SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t); /* DoesTreeContainAny - returns true if SymbolTree, t, contains any --- 97,103 ---- IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! extern "C" bool SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t); /* DoesTreeContainAny - returns true if SymbolTree, t, contains any *************** extern "C" unsigned int SymbolKey_IsEmpt *** 106,112 **** Left, hence we need two procedures. */ ! extern "C" unsigned int SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* ForeachNodeDo - for each node in SymbolTree, t, a procedure, P, --- 107,113 ---- Left, hence we need two procedures. */ ! extern "C" bool SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* ForeachNodeDo - for each node in SymbolTree, t, a procedure, P, *************** extern "C" void SymbolKey_ForeachNodeDo *** 121,127 **** ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! extern "C" unsigned int SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey); /* NoOfNodes - returns the number of nodes in the tree t. --- 122,128 ---- ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! extern "C" bool SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey); /* NoOfNodes - returns the number of nodes in the tree t. *************** static void FindNodeParentInTree (Symbol *** 149,155 **** therefore we must skip over it. */ ! static unsigned int SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* SearchAndDo - searches all the nodes in SymbolTree, t, and --- 150,156 ---- therefore we must skip over it. */ ! static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* SearchAndDo - searches all the nodes in SymbolTree, t, and *************** static void FindNodeParentInTree (Symbol *** 183,189 **** (*parent) = t; if (t == NULL) { ! Debug_Halt ((const char *) "parameter t should never be NIL", 31, 240, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54); } Assertion_Assert (t->Right == NULL); (*child) = t->Left; --- 184,190 ---- (*parent) = t; if (t == NULL) { ! Debug_Halt ((const char *) "parameter t should never be NIL", 31, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54, (const char *) "FindNodeParentInTree", 20, 241); } Assertion_Assert (t->Right == NULL); (*child) = t->Left; *************** static void FindNodeParentInTree (Symbol *** 212,222 **** therefore we must skip over it. */ ! static unsigned int SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) { if (t == NULL) { ! return FALSE; } else { --- 213,223 ---- therefore we must skip over it. */ ! static bool SearchForAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) { if (t == NULL) { ! return false; } else { *************** extern "C" void SymbolKey_PutSymKey (Sym *** 392,398 **** } else { ! Debug_Halt ((const char *) "symbol already stored", 21, 156, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54); } } --- 393,399 ---- } else { ! Debug_Halt ((const char *) "symbol already stored", 21, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54, (const char *) "PutSymKey", 9, 156); } } *************** extern "C" void SymbolKey_DelSymKey (Sym *** 459,465 **** } else { ! Debug_Halt ((const char *) "trying to delete a symbol that is not in the tree - the compiler never expects this to occur", 92, 223, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54); } } --- 460,466 ---- } else { ! Debug_Halt ((const char *) "trying to delete a symbol that is not in the tree - the compiler never expects this to occur", 92, (const char *) "../../gcc-read-write/gcc/m2/gm2-compiler/SymbolKey.mod", 54, (const char *) "DelSymKey", 9, 223); } } *************** extern "C" void SymbolKey_DelSymKey (Sym *** 468,474 **** IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! extern "C" unsigned int SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t) { return t->Left == NULL; /* static analysis guarentees a RETURN statement will be used before here. */ --- 469,475 ---- IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! extern "C" bool SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t) { return t->Left == NULL; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" unsigned int SymbolKey_IsEmpt *** 484,490 **** Left, hence we need two procedures. */ ! extern "C" unsigned int SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) { return SearchForAny (t->Left, P); /* static analysis guarentees a RETURN statement will be used before here. */ --- 485,491 ---- Left, hence we need two procedures. */ ! extern "C" bool SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P) { return SearchForAny (t->Left, P); /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void SymbolKey_ForeachNodeDo *** 509,515 **** ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! extern "C" unsigned int SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey) { SymbolKey_SymbolTree father; SymbolKey_SymbolTree child; --- 510,516 ---- ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! extern "C" bool SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey) { SymbolKey_SymbolTree father; SymbolKey_SymbolTree child; diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSymbolKey.h gcc-13.3.0/gcc/m2/pge-boot/GSymbolKey.h *** gcc-13.2.0/gcc/m2/pge-boot/GSymbolKey.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSymbolKey.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 29,34 **** --- 29,35 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef struct SymbolKey_IsSymbol_p Symb *** 54,60 **** typedef struct SymbolKey_PerformOperation_p SymbolKey_PerformOperation; ! typedef unsigned int (*SymbolKey_IsSymbol_t) (unsigned int); struct SymbolKey_IsSymbol_p { SymbolKey_IsSymbol_t proc; }; typedef void (*SymbolKey_PerformOperation_t) (unsigned int); --- 55,61 ---- typedef struct SymbolKey_PerformOperation_p SymbolKey_PerformOperation; ! typedef bool (*SymbolKey_IsSymbol_t) (unsigned int); struct SymbolKey_IsSymbol_p { SymbolKey_IsSymbol_t proc; }; typedef void (*SymbolKey_PerformOperation_t) (unsigned int); *************** EXTERN void SymbolKey_DelSymKey (SymbolK *** 97,103 **** IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! EXTERN unsigned int SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t); /* DoesTreeContainAny - returns true if SymbolTree, t, contains any --- 98,104 ---- IsEmptyTree - returns true if SymbolTree, t, is empty. */ ! EXTERN bool SymbolKey_IsEmptyTree (SymbolKey_SymbolTree t); /* DoesTreeContainAny - returns true if SymbolTree, t, contains any *************** EXTERN unsigned int SymbolKey_IsEmptyTre *** 105,111 **** P, is called with a symbol as its parameter. */ ! EXTERN unsigned int SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* ForeachNodeDo - for each node in SymbolTree, t, a procedure, P, --- 106,112 ---- P, is called with a symbol as its parameter. */ ! EXTERN bool SymbolKey_DoesTreeContainAny (SymbolKey_SymbolTree t, SymbolKey_IsSymbol P); /* ForeachNodeDo - for each node in SymbolTree, t, a procedure, P, *************** EXTERN void SymbolKey_ForeachNodeDo (Sym *** 119,125 **** ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! EXTERN unsigned int SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey); /* NoOfNodes - returns the number of nodes in the tree t. --- 120,126 ---- ContainsSymKey - return TRUE if tree, t, contains an entry for, NameKey. */ ! EXTERN bool SymbolKey_ContainsSymKey (SymbolKey_SymbolTree t, NameKey_Name NameKey); /* NoOfNodes - returns the number of nodes in the tree t. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSysExceptions.h gcc-13.3.0/gcc/m2/pge-boot/GSysExceptions.h *** gcc-13.2.0/gcc/m2/pge-boot/GSysExceptions.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSysExceptions.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSysStorage.cc gcc-13.3.0/gcc/m2/pge-boot/GSysStorage.cc *** gcc-13.2.0/gcc/m2/pge-boot/GSysStorage.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSysStorage.cc Tue May 21 07:47:38 2024 *************** a copy of the GCC Runtime Library Except *** 25,30 **** --- 25,31 ---- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** see the files COPYING3 and COPYING.RUNTI *** 52,63 **** # include "GDebug.h" # include "GSYSTEM.h" ! # define enableDeallocation TRUE ! # define enableZero FALSE ! # define enableTrace FALSE static unsigned int callno; ! static unsigned int zero; ! static unsigned int trace; extern "C" void SysStorage_ALLOCATE (void * *a, unsigned int size); extern "C" void SysStorage_DEALLOCATE (void * *a, unsigned int size); --- 53,64 ---- # include "GDebug.h" # include "GSYSTEM.h" ! # define enableDeallocation true ! # define enableZero true ! # define enableTrace false static unsigned int callno; ! static bool zero; ! static bool trace; extern "C" void SysStorage_ALLOCATE (void * *a, unsigned int size); extern "C" void SysStorage_DEALLOCATE (void * *a, unsigned int size); *************** extern "C" void SysStorage_REALLOCATE (v *** 79,85 **** is resized accordingly. */ ! extern "C" unsigned int SysStorage_Available (unsigned int size); /* Init - initializes the heap. This does nothing on a GNU/Linux system. --- 80,86 ---- is resized accordingly. */ ! extern "C" bool SysStorage_Available (unsigned int size); /* Init - initializes the heap. This does nothing on a GNU/Linux system. *************** extern "C" void SysStorage_ALLOCATE (voi *** 93,99 **** (*a) = libc_malloc (static_cast (size)); if ((*a) == NULL) { ! Debug_Halt ((const char *) "out of memory error", 19, 50, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51); } if (enableTrace && trace) { --- 94,100 ---- (*a) = libc_malloc (static_cast (size)); if ((*a) == NULL) { ! Debug_Halt ((const char *) "out of memory error", 19, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51, (const char *) "ALLOCATE", 8, 51); } if (enableTrace && trace) { *************** extern "C" void SysStorage_DEALLOCATE (v *** 118,124 **** } if ((libc_memset ((*a), 0, static_cast (size))) != (*a)) { ! Debug_Halt ((const char *) "memset should have returned the first parameter", 47, 76, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51); } } if (enableDeallocation) --- 119,125 ---- } if ((libc_memset ((*a), 0, static_cast (size))) != (*a)) { ! Debug_Halt ((const char *) "memset should have returned the first parameter", 47, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51, (const char *) "DEALLOCATE", 10, 78); } } if (enableDeallocation) *************** extern "C" void SysStorage_REALLOCATE (v *** 163,169 **** (*a) = libc_realloc ((*a), static_cast (size)); if ((*a) == NULL) { ! Debug_Halt ((const char *) "out of memory error", 19, 119, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51); } if (enableTrace && trace) { --- 164,170 ---- (*a) = libc_realloc ((*a), static_cast (size)); if ((*a) == NULL) { ! Debug_Halt ((const char *) "out of memory error", 19, (const char *) "../../gcc-read-write/gcc/m2/gm2-libs/SysStorage.mod", 51, (const char *) "REALLOCATE", 10, 122); } if (enableTrace && trace) { *************** extern "C" void SysStorage_REALLOCATE (v *** 182,188 **** is resized accordingly. */ ! extern "C" unsigned int SysStorage_Available (unsigned int size) { void * a; --- 183,189 ---- is resized accordingly. */ ! extern "C" bool SysStorage_Available (unsigned int size) { void * a; *************** extern "C" unsigned int SysStorage_Avail *** 198,204 **** { libc_printf ((const char *) " no\\n", 7, size); } ! return FALSE; } else { --- 199,205 ---- { libc_printf ((const char *) " no\\n", 7, size); } ! return false; } else { *************** extern "C" unsigned int SysStorage_Avail *** 207,213 **** libc_printf ((const char *) " yes\\n", 8, size); } libc_free (a); ! return TRUE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 208,214 ---- libc_printf ((const char *) " yes\\n", 8, size); } libc_free (a); ! return true; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" void _M2_SysStorage_init (__a *** 232,238 **** } else { ! trace = FALSE; } if (enableZero) { --- 233,239 ---- } else { ! trace = false; } if (enableZero) { *************** extern "C" void _M2_SysStorage_init (__a *** 240,246 **** } else { ! zero = FALSE; } } --- 241,247 ---- } else { ! zero = false; } } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GSysStorage.h gcc-13.3.0/gcc/m2/pge-boot/GSysStorage.h *** gcc-13.2.0/gcc/m2/pge-boot/GSysStorage.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GSysStorage.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void SysStorage_REALLOCATE (void *** 77,83 **** Available - returns TRUE if, size, bytes can be allocated. */ ! EXTERN unsigned int SysStorage_Available (unsigned int size); /* Init - initializes the heap. --- 78,84 ---- Available - returns TRUE if, size, bytes can be allocated. */ ! EXTERN bool SysStorage_Available (unsigned int size); /* Init - initializes the heap. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GTimeString.h gcc-13.3.0/gcc/m2/pge-boot/GTimeString.h *** gcc-13.2.0/gcc/m2/pge-boot/GTimeString.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GTimeString.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/GUnixArgs.h gcc-13.3.0/gcc/m2/pge-boot/GUnixArgs.h *** gcc-13.2.0/gcc/m2/pge-boot/GUnixArgs.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/GUnixArgs.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gbnflex.cc gcc-13.3.0/gcc/m2/pge-boot/Gbnflex.cc *** gcc-13.2.0/gcc/m2/pge-boot/Gbnflex.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gbnflex.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** static FIO_File f; *** 56,63 **** static SymbolKey_SymbolTree ReservedWords; static NameKey_Name CurrentToken; static bnflex_TokenType CurrentType; ! static unsigned int Debugging; ! static unsigned int InQuote; static char QuoteChar; /* --- 57,64 ---- static SymbolKey_SymbolTree ReservedWords; static NameKey_Name CurrentToken; static bnflex_TokenType CurrentType; ! static bool Debugging; ! static bool InQuote; static char QuoteChar; /* *************** static char QuoteChar; *** 65,71 **** The success of the operation is returned. */ ! extern "C" unsigned int bnflex_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - Closes the current open file. --- 66,72 ---- The success of the operation is returned. */ ! extern "C" bool bnflex_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - Closes the current open file. *************** extern "C" char bnflex_PutChar (char ch) *** 91,104 **** and true is returned, otherwise false is returned. */ ! extern "C" unsigned int bnflex_SymIs (bnflex_TokenType t); /* IsSym - returns the result of the comparison between the current token type and t. */ ! extern "C" unsigned int bnflex_IsSym (bnflex_TokenType t); /* GetCurrentTokenType - returns the type of current token. --- 92,105 ---- and true is returned, otherwise false is returned. */ ! extern "C" bool bnflex_SymIs (bnflex_TokenType t); /* IsSym - returns the result of the comparison between the current token type and t. */ ! extern "C" bool bnflex_IsSym (bnflex_TokenType t); /* GetCurrentTokenType - returns the type of current token. *************** extern "C" void bnflex_AdvanceToken (voi *** 140,146 **** IsReserved - returns TRUE if the name is a reserved word. */ ! extern "C" unsigned int bnflex_IsReserved (NameKey_Name name); /* PushBackToken - pushes a token back onto input. --- 141,147 ---- IsReserved - returns TRUE if the name is a reserved word. */ ! extern "C" bool bnflex_IsReserved (NameKey_Name name); /* PushBackToken - pushes a token back onto input. *************** extern "C" void bnflex_PushBackToken (Na *** 152,158 **** SetDebugging - sets the debugging flag. */ ! extern "C" void bnflex_SetDebugging (unsigned int flag); /* EatChar - consumes the next character in the input. --- 153,159 ---- SetDebugging - sets the debugging flag. */ ! extern "C" void bnflex_SetDebugging (bool flag); /* EatChar - consumes the next character in the input. *************** static void EatChar (void); *** 164,170 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch); /* SkipComments - consumes comments. --- 165,171 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch); /* SkipComments - consumes comments. *************** static void EatChar (void) *** 200,206 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch) { return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); /* static analysis guarentees a RETURN statement will be used before here. */ --- 201,207 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch) { return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); /* static analysis guarentees a RETURN statement will be used before here. */ *************** static void Init (void) *** 257,263 **** Init__T1 a; SymbolKey_InitTree (&ReservedWords); ! Debugging = FALSE; a.array[0] = ASCII_nul; SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) &a.array[0], 1), ((unsigned int) (bnflex_eoftok))); SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) "%", 1), ((unsigned int) (bnflex_codetok))); --- 258,264 ---- Init__T1 a; SymbolKey_InitTree (&ReservedWords); ! Debugging = false; a.array[0] = ASCII_nul; SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) &a.array[0], 1), ((unsigned int) (bnflex_eoftok))); SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) "%", 1), ((unsigned int) (bnflex_codetok))); *************** static void Init (void) *** 291,297 **** SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) "FNB", 3), ((unsigned int) (bnflex_FNBtok))); CurrentToken = NameKey_NulName; CurrentType = bnflex_identtok; ! InQuote = FALSE; } --- 292,298 ---- SymbolKey_PutSymKey (ReservedWords, NameKey_MakeKey ((const char *) "FNB", 3), ((unsigned int) (bnflex_FNBtok))); CurrentToken = NameKey_NulName; CurrentType = bnflex_identtok; ! InQuote = false; } *************** static void Init (void) *** 300,306 **** The success of the operation is returned. */ ! extern "C" unsigned int bnflex_OpenSource (const char *a_, unsigned int _a_high) { char a[_a_high+1]; --- 301,307 ---- The success of the operation is returned. */ ! extern "C" bool bnflex_OpenSource (const char *a_, unsigned int _a_high) { char a[_a_high+1]; *************** extern "C" char bnflex_PutChar (char ch) *** 354,369 **** and true is returned, otherwise false is returned. */ ! extern "C" unsigned int bnflex_SymIs (bnflex_TokenType t) { if (CurrentType == t) { bnflex_AdvanceToken (); ! return TRUE; } else { ! return FALSE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 355,370 ---- and true is returned, otherwise false is returned. */ ! extern "C" bool bnflex_SymIs (bnflex_TokenType t) { if (CurrentType == t) { bnflex_AdvanceToken (); ! return true; } else { ! return false; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** extern "C" unsigned int bnflex_SymIs (bn *** 375,381 **** type and t. */ ! extern "C" unsigned int bnflex_IsSym (bnflex_TokenType t) { return t == CurrentType; /* static analysis guarentees a RETURN statement will be used before here. */ --- 376,382 ---- type and t. */ ! extern "C" bool bnflex_IsSym (bnflex_TokenType t) { return t == CurrentType; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void bnflex_AdvanceToken (voi *** 470,476 **** if ((bnflex_PutChar (bnflex_GetChar ())) == QuoteChar) { a.array[i] = bnflex_GetChar (); ! InQuote = FALSE; i += 1; a.array[i] = ASCII_nul; CurrentToken = NameKey_MakeKey ((const char *) &a.array[0], MaxNameLength); --- 471,477 ---- if ((bnflex_PutChar (bnflex_GetChar ())) == QuoteChar) { a.array[i] = bnflex_GetChar (); ! InQuote = false; i += 1; a.array[i] = ASCII_nul; CurrentToken = NameKey_MakeKey ((const char *) &a.array[0], MaxNameLength); *************** extern "C" void bnflex_AdvanceToken (voi *** 486,492 **** { PushBackInput_WarnError ((const char *) "missing ' at the end of a literal", 33); } ! InQuote = FALSE; /* to avoid a contineous list of the same error message */ } } else --- 487,493 ---- { PushBackInput_WarnError ((const char *) "missing ' at the end of a literal", 33); } ! InQuote = false; /* to avoid a contineous list of the same error message */ } } else *************** extern "C" void bnflex_AdvanceToken (voi *** 512,518 **** { PushBackInput_WarnError ((const char *) "missing ' at the end of a literal", 33); } ! InQuote = FALSE; /* to avoid a contineous list of the same error message */ } } } --- 513,519 ---- { PushBackInput_WarnError ((const char *) "missing ' at the end of a literal", 33); } ! InQuote = false; /* to avoid a contineous list of the same error message */ } } } *************** extern "C" void bnflex_AdvanceToken (voi *** 524,530 **** a.array[i] = bnflex_GetChar (); QuoteChar = a.array[i]; i += 1; ! InQuote = TRUE; a.array[i] = ASCII_nul; CurrentToken = NameKey_MakeKey ((const char *) &a.array[0], MaxNameLength); CurrentType = (bnflex_TokenType) (SymbolKey_GetSymKey (ReservedWords, CurrentToken)); --- 525,531 ---- a.array[i] = bnflex_GetChar (); QuoteChar = a.array[i]; i += 1; ! InQuote = true; a.array[i] = ASCII_nul; CurrentToken = NameKey_MakeKey ((const char *) &a.array[0], MaxNameLength); CurrentType = (bnflex_TokenType) (SymbolKey_GetSymKey (ReservedWords, CurrentToken)); *************** extern "C" void bnflex_AdvanceToken (voi *** 559,565 **** IsReserved - returns TRUE if the name is a reserved word. */ ! extern "C" unsigned int bnflex_IsReserved (NameKey_Name name) { return (SymbolKey_GetSymKey (ReservedWords, name)) != 0; /* static analysis guarentees a RETURN statement will be used before here. */ --- 560,566 ---- IsReserved - returns TRUE if the name is a reserved word. */ ! extern "C" bool bnflex_IsReserved (NameKey_Name name) { return (SymbolKey_GetSymKey (ReservedWords, name)) != 0; /* static analysis guarentees a RETURN statement will be used before here. */ *************** extern "C" void bnflex_PushBackToken (Na *** 587,593 **** SetDebugging - sets the debugging flag. */ ! extern "C" void bnflex_SetDebugging (unsigned int flag) { Debugging = flag; } --- 588,594 ---- SetDebugging - sets the debugging flag. */ ! extern "C" void bnflex_SetDebugging (bool flag) { Debugging = flag; } diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gbnflex.h gcc-13.3.0/gcc/m2/pge-boot/Gbnflex.h *** gcc-13.2.0/gcc/m2/pge-boot/Gbnflex.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gbnflex.h Tue May 21 07:47:38 2024 *************** along with GNU Modula-2; see the file CO *** 29,34 **** --- 29,35 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef enum {bnflex_identtok, bnflex_li *** 51,57 **** The success of the operation is returned. */ ! EXTERN unsigned int bnflex_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - Closes the current open file. --- 52,58 ---- The success of the operation is returned. */ ! EXTERN bool bnflex_OpenSource (const char *a_, unsigned int _a_high); /* CloseSource - Closes the current open file. *************** EXTERN char bnflex_PutChar (char ch); *** 77,90 **** and true is returned, otherwise false is returned. */ ! EXTERN unsigned int bnflex_SymIs (bnflex_TokenType t); /* IsSym - returns the result of the comparison between the current token type and t. */ ! EXTERN unsigned int bnflex_IsSym (bnflex_TokenType t); /* GetCurrentTokenType - returns the type of current token. --- 78,91 ---- and true is returned, otherwise false is returned. */ ! EXTERN bool bnflex_SymIs (bnflex_TokenType t); /* IsSym - returns the result of the comparison between the current token type and t. */ ! EXTERN bool bnflex_IsSym (bnflex_TokenType t); /* GetCurrentTokenType - returns the type of current token. *************** EXTERN void bnflex_AdvanceToken (void); *** 126,132 **** IsReserved - returns TRUE if the name is a reserved word. */ ! EXTERN unsigned int bnflex_IsReserved (NameKey_Name name); /* PushBackToken - pushes a token back onto input. --- 127,133 ---- IsReserved - returns TRUE if the name is a reserved word. */ ! EXTERN bool bnflex_IsReserved (NameKey_Name name); /* PushBackToken - pushes a token back onto input. *************** EXTERN void bnflex_PushBackToken (NameKe *** 138,144 **** SetDebugging - sets the debugging flag. */ ! EXTERN void bnflex_SetDebugging (unsigned int flag); # ifdef __cplusplus } # endif --- 139,145 ---- SetDebugging - sets the debugging flag. */ ! EXTERN void bnflex_SetDebugging (bool flag); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gdtoa.h gcc-13.3.0/gcc/m2/pge-boot/Gdtoa.h *** gcc-13.2.0/gcc/m2/pge-boot/Gdtoa.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gdtoa.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef enum {dtoa_maxsignificant, dtoa_ *** 56,62 **** error to TRUE if the number is too large. */ ! EXTERN double dtoa_strtod (void * s, unsigned int *error); /* dtoa - converts a REAL, d, into a string. The address of the --- 57,63 ---- error to TRUE if the number is too large. */ ! EXTERN double dtoa_strtod (void * s, bool *error); /* dtoa - converts a REAL, d, into a string. The address of the *************** EXTERN double dtoa_strtod (void * s, uns *** 67,73 **** sign does the string have a sign? */ ! EXTERN void * dtoa_dtoa (double d, dtoa_Mode mode, int ndigits, int *decpt, unsigned int *sign); # ifdef __cplusplus } # endif --- 68,74 ---- sign does the string have a sign? */ ! EXTERN void * dtoa_dtoa (double d, dtoa_Mode mode, int ndigits, int *decpt, bool *sign); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gerrno.h gcc-13.3.0/gcc/m2/pge-boot/Gerrno.h *** gcc-13.2.0/gcc/m2/pge-boot/Gerrno.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gerrno.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gldtoa.h gcc-13.3.0/gcc/m2/pge-boot/Gldtoa.h *** gcc-13.2.0/gcc/m2/pge-boot/Gldtoa.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gldtoa.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** typedef enum {ldtoa_maxsignificant, ldto *** 56,62 **** error to TRUE if the number is too large or badly formed. */ ! EXTERN long double ldtoa_strtold (void * s, unsigned int *error); /* ldtoa - converts a LONGREAL, d, into a string. The address of the --- 57,63 ---- error to TRUE if the number is too large or badly formed. */ ! EXTERN long double ldtoa_strtold (void * s, bool *error); /* ldtoa - converts a LONGREAL, d, into a string. The address of the *************** EXTERN long double ldtoa_strtold (void * *** 67,73 **** sign does the string have a sign? */ ! EXTERN void * ldtoa_ldtoa (long double d, ldtoa_Mode mode, int ndigits, int *decpt, unsigned int *sign); # ifdef __cplusplus } # endif --- 68,74 ---- sign does the string have a sign? */ ! EXTERN void * ldtoa_ldtoa (long double d, ldtoa_Mode mode, int ndigits, int *decpt, bool *sign); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Glibc.h gcc-13.3.0/gcc/m2/pge-boot/Glibc.h *** gcc-13.2.0/gcc/m2/pge-boot/Glibc.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Glibc.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN void * libc_memset (void * s, int *** 305,311 **** EXTERN void * libc_memmove (void * dest, void * src, size_t size); EXTERN int libc_printf (const char *format_, unsigned int _format_high, ...); ! EXTERN int libc_snprintf (void *dest, size_t length, const char *format_, unsigned int _format_high, ...); /* setenv - sets environment variable, name, to value. --- 306,312 ---- EXTERN void * libc_memmove (void * dest, void * src, size_t size); EXTERN int libc_printf (const char *format_, unsigned int _format_high, ...); ! EXTERN int libc_snprintf (void * dest, size_t size, const char *format_, unsigned int _format_high, ...); /* setenv - sets environment variable, name, to value. diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Glibm.h gcc-13.3.0/gcc/m2/pge-boot/Glibm.h *** gcc-13.2.0/gcc/m2/pge-boot/Glibm.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Glibm.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gpge.cc gcc-13.3.0/gcc/m2/pge-boot/Gpge.cc *** gcc-13.2.0/gcc/m2/pge-boot/Gpge.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gpge.cc Tue May 21 07:47:38 2024 *************** You should have received a copy of the G *** 20,25 **** --- 20,26 ---- along with GNU Modula-2; see the file COPYING3. If not see . */ + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** along with GNU Modula-2; see the file CO *** 65,71 **** # define MaxCodeHunkLength 8192 # define MaxFileName 8192 # define MaxString 8192 ! # define DefaultRecovery TRUE # define MaxElementsInSet 32 # define BaseRightLimit 75 # define BaseRightMargin 50 --- 66,72 ---- # define MaxCodeHunkLength 8192 # define MaxFileName 8192 # define MaxString 8192 ! # define DefaultRecovery true # define MaxElementsInSet 32 # define BaseRightLimit 75 # define BaseRightMargin 50 *************** struct pge__T2_r { *** 146,152 **** pge_ProductionDesc next; pge_StatementDesc statement; pge_SetDesc first; ! unsigned int firstsolved; pge_FollowDesc followinfo; unsigned int line; NameKey_Name description; --- 147,153 ---- pge_ProductionDesc next; pge_StatementDesc statement; pge_SetDesc first; ! bool firstsolved; pge_FollowDesc followinfo; unsigned int line; NameKey_Name description; *************** struct pge__T5_r { *** 180,186 **** }; struct pge__T6_r { ! unsigned int calcfollow; pge_SetDesc follow; pge_TraverseResult reachend; pge_TraverseResult epsilon; --- 181,187 ---- }; struct pge__T6_r { ! bool calcfollow; pge_SetDesc follow; pge_TraverseResult reachend; pge_TraverseResult epsilon; *************** struct pge__T9_r { *** 210,225 **** }; static unsigned int LastLineNo; ! static unsigned int Finished; ! static unsigned int SuppressFileLineTag; ! static unsigned int KeywordFormatting; ! static unsigned int PrettyPrint; ! static unsigned int EmitCode; ! static unsigned int Texinfo; ! static unsigned int Sphinx; ! static unsigned int FreeDocLicense; ! static unsigned int Debugging; ! static unsigned int WasNoError; static unsigned int LinePrologue; static unsigned int LineEpilogue; static unsigned int LineDeclaration; --- 211,226 ---- }; static unsigned int LastLineNo; ! static bool Finished; ! static bool SuppressFileLineTag; ! static bool KeywordFormatting; ! static bool PrettyPrint; ! static bool EmitCode; ! static bool Texinfo; ! static bool Sphinx; ! static bool FreeDocLicense; ! static bool Debugging; ! static bool WasNoError; static unsigned int LinePrologue; static unsigned int LineEpilogue; static unsigned int LineDeclaration; *************** static NameKey_Name ErrorProcArray; *** 248,260 **** static NameKey_Name ErrorProcString; static pge__T11 ArgName; static pge__T11 FileName; ! static unsigned int OnLineStart; ! static unsigned int BeginningOfLine; static unsigned int Indent; ! static unsigned int EmittedVar; ! static unsigned int ErrorRecovery; static unsigned int LargestValue; ! static unsigned int InitialElement; static unsigned int ParametersUsed; /* --- 249,261 ---- static NameKey_Name ErrorProcString; static pge__T11 ArgName; static pge__T11 FileName; ! static bool OnLineStart; ! static bool BeginningOfLine; static unsigned int Indent; ! static bool EmittedVar; ! static bool ErrorRecovery; static unsigned int LargestValue; ! static bool InitialElement; static unsigned int ParametersUsed; /* *************** static pge_FollowDesc NewFollow (void); *** 305,311 **** providing condition is TRUE. */ ! static void AssignEpsilon (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value); /* GetEpsilon - returns the value of epsilon --- 306,312 ---- providing condition is TRUE. */ ! static void AssignEpsilon (bool condition, pge_FollowDesc f, pge_TraverseResult value); /* GetEpsilon - returns the value of epsilon *************** static pge_TraverseResult GetEpsilon (pg *** 317,323 **** AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value); /* GetReachEnd - returns the value of reachend --- 318,324 ---- AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (bool condition, pge_FollowDesc f, pge_TraverseResult value); /* GetReachEnd - returns the value of reachend *************** static void WriteIndent (unsigned int n) *** 419,439 **** CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* WriteStringIndent - writes a string but it will try and remove upto indent spaces if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* WriteCodeHunkListIndent - writes the CodeHunk list in the correct order but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* Add - adds a character to a code hunk and creates another code hunk if necessary. --- 420,440 ---- CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, bool *seentext); /* WriteStringIndent - writes a string but it will try and remove upto indent spaces if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext); /* WriteCodeHunkListIndent - writes the CodeHunk list in the correct order but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext); /* Add - adds a character to a code hunk and creates another code hunk if necessary. *************** static void CodeThenDo (pge_m2condition *** 1108,1120 **** CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, unsigned int consumed, pge_FactorDesc f, unsigned int inopt); /* CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, unsigned int consumed, pge_FactorDesc f, unsigned int inopt); /* EmitNonVarCode - writes out, code, providing it is not a variable declaration. --- 1109,1121 ---- CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, bool consumed, pge_FactorDesc f, bool inopt); /* CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, bool consumed, pge_FactorDesc f, bool inopt); /* EmitNonVarCode - writes out, code, providing it is not a variable declaration. *************** static void FlushCode (pge_FactorDesc *c *** 1138,1156 **** CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeStatement - --- 1139,1157 ---- CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeStatement - *************** static void RecoverFactor (pge_FactorDes *** 1226,1232 **** and FALSE in the first. */ ! static unsigned int OptExpSeen (pge_FactorDesc f); /* RecoverTerm - --- 1227,1233 ---- and FALSE in the first. */ ! static bool OptExpSeen (pge_FactorDesc f); /* RecoverTerm - *************** static void EmitUsed (unsigned int wordn *** 1262,1281 **** EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (unsigned int FormalParameters); /* IsBetween - returns TRUE if the value of the token, string, is in the range: low..high */ ! static unsigned int IsBetween (NameKey_Name string, unsigned int low, unsigned int high); /* IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static unsigned int IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high); /* EmitSet - emits the tokens in the set, to, which have values low..high --- 1263,1282 ---- EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (bool FormalParameters); /* IsBetween - returns TRUE if the value of the token, string, is in the range: low..high */ ! static bool IsBetween (NameKey_Name string, unsigned int low, unsigned int high); /* IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static bool IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high); /* EmitSet - emits the tokens in the set, to, which have values low..high *************** static void RecoverProduction (pge_Produ *** 1328,1340 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch); /* FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static unsigned int FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high); /* WriteUpto - --- 1329,1341 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch); /* FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static bool FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high); /* WriteUpto - *************** static void VarProduction (pge_Productio *** 1383,1396 **** In - returns TRUE if token, s, is already in the set, to. */ ! static unsigned int In (pge_SetDesc to, NameKey_Name s); /* IntersectionIsNil - given two set lists, s1, s2, return TRUE if the s1 * s2 = {} */ ! static unsigned int IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2); /* AddSet - adds a first symbol to a production. --- 1384,1397 ---- In - returns TRUE if token, s, is already in the set, to. */ ! static bool In (pge_SetDesc to, NameKey_Name s); /* IntersectionIsNil - given two set lists, s1, s2, return TRUE if the s1 * s2 = {} */ ! static bool IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2); /* AddSet - adds a first symbol to a production. *************** static void CalcReachEndProduction (pge_ *** 1553,1583 **** EmptyFactor - */ ! static unsigned int EmptyFactor (pge_FactorDesc f); /* EmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int EmptyTerm (pge_TermDesc t); /* EmptyExpression - */ ! static unsigned int EmptyExpression (pge_ExpressionDesc e); /* EmptyStatement - returns TRUE if statement, s, is empty. */ ! static unsigned int EmptyStatement (pge_StatementDesc s); /* EmptyProduction - returns if production, p, maybe empty. */ ! static unsigned int EmptyProduction (pge_ProductionDesc p); /* EmitFDLNotice - --- 1554,1584 ---- EmptyFactor - */ ! static bool EmptyFactor (pge_FactorDesc f); /* EmptyTerm - returns TRUE if the term maybe empty. */ ! static bool EmptyTerm (pge_TermDesc t); /* EmptyExpression - */ ! static bool EmptyExpression (pge_ExpressionDesc e); /* EmptyStatement - returns TRUE if statement, s, is empty. */ ! static bool EmptyStatement (pge_StatementDesc s); /* EmptyProduction - returns if production, p, maybe empty. */ ! static bool EmptyProduction (pge_ProductionDesc p); /* EmitFDLNotice - *************** static void DisposeSetDesc (pge_SetDesc *** 1643,1709 **** OptionalFactor - */ ! static unsigned int OptionalFactor (pge_FactorDesc f); /* OptionalTerm - returns TRUE if the term maybe empty. */ ! static unsigned int OptionalTerm (pge_TermDesc t); /* OptionalExpression - */ ! static unsigned int OptionalExpression (pge_ExpressionDesc e); /* OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int OptionalStatement (pge_StatementDesc s); /* OptionalProduction - */ ! static unsigned int OptionalProduction (pge_ProductionDesc p); /* CheckFirstFollow - */ ! static unsigned int CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after); /* ConstrainedEmptyFactor - */ ! static unsigned int ConstrainedEmptyFactor (pge_FactorDesc f); /* ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int ConstrainedEmptyTerm (pge_TermDesc t); /* ConstrainedEmptyExpression - */ ! static unsigned int ConstrainedEmptyExpression (pge_ExpressionDesc e); /* ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int ConstrainedEmptyStatement (pge_StatementDesc s); /* ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static unsigned int ConstrainedEmptyProduction (pge_ProductionDesc p); /* TestForLALR1 - --- 1644,1710 ---- OptionalFactor - */ ! static bool OptionalFactor (pge_FactorDesc f); /* OptionalTerm - returns TRUE if the term maybe empty. */ ! static bool OptionalTerm (pge_TermDesc t); /* OptionalExpression - */ ! static bool OptionalExpression (pge_ExpressionDesc e); /* OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool OptionalStatement (pge_StatementDesc s); /* OptionalProduction - */ ! static bool OptionalProduction (pge_ProductionDesc p); /* CheckFirstFollow - */ ! static bool CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after); /* ConstrainedEmptyFactor - */ ! static bool ConstrainedEmptyFactor (pge_FactorDesc f); /* ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static bool ConstrainedEmptyTerm (pge_TermDesc t); /* ConstrainedEmptyExpression - */ ! static bool ConstrainedEmptyExpression (pge_ExpressionDesc e); /* ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool ConstrainedEmptyStatement (pge_StatementDesc s); /* ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static bool ConstrainedEmptyProduction (pge_ProductionDesc p); /* TestForLALR1 - *************** static pge_FollowDesc NewFollow (void); *** 1795,1801 **** providing condition is TRUE. */ ! static void AssignEpsilon (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value); /* GetEpsilon - returns the value of epsilon --- 1796,1802 ---- providing condition is TRUE. */ ! static void AssignEpsilon (bool condition, pge_FollowDesc f, pge_TraverseResult value); /* GetEpsilon - returns the value of epsilon *************** static pge_TraverseResult GetEpsilon (pg *** 1807,1813 **** AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value); /* GetReachEnd - returns the value of reachend --- 1808,1814 ---- AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (bool condition, pge_FollowDesc f, pge_TraverseResult value); /* GetReachEnd - returns the value of reachend *************** static void WriteIndent (unsigned int n) *** 1909,1929 **** CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* WriteStringIndent - writes a string but it will try and remove upto indent spaces if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* WriteCodeHunkListIndent - writes the CodeHunk list in the correct order but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext); /* Add - adds a character to a code hunk and creates another code hunk if necessary. --- 1910,1930 ---- CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, bool *seentext); /* WriteStringIndent - writes a string but it will try and remove upto indent spaces if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext); /* WriteCodeHunkListIndent - writes the CodeHunk list in the correct order but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext); /* Add - adds a character to a code hunk and creates another code hunk if necessary. *************** static void CodeThenDo (pge_m2condition *** 2598,2610 **** CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, unsigned int consumed, pge_FactorDesc f, unsigned int inopt); /* CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, unsigned int consumed, pge_FactorDesc f, unsigned int inopt); /* EmitNonVarCode - writes out, code, providing it is not a variable declaration. --- 2599,2611 ---- CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, bool consumed, pge_FactorDesc f, bool inopt); /* CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, bool consumed, pge_FactorDesc f, bool inopt); /* EmitNonVarCode - writes out, code, providing it is not a variable declaration. *************** static void FlushCode (pge_FactorDesc *c *** 2628,2646 **** CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack); /* CodeStatement - --- 2629,2647 ---- CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack); /* CodeStatement - *************** static void RecoverFactor (pge_FactorDes *** 2716,2722 **** and FALSE in the first. */ ! static unsigned int OptExpSeen (pge_FactorDesc f); /* RecoverTerm - --- 2717,2723 ---- and FALSE in the first. */ ! static bool OptExpSeen (pge_FactorDesc f); /* RecoverTerm - *************** static void EmitUsed (unsigned int wordn *** 2752,2771 **** EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (unsigned int FormalParameters); /* IsBetween - returns TRUE if the value of the token, string, is in the range: low..high */ ! static unsigned int IsBetween (NameKey_Name string, unsigned int low, unsigned int high); /* IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static unsigned int IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high); /* EmitSet - emits the tokens in the set, to, which have values low..high --- 2753,2772 ---- EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (bool FormalParameters); /* IsBetween - returns TRUE if the value of the token, string, is in the range: low..high */ ! static bool IsBetween (NameKey_Name string, unsigned int low, unsigned int high); /* IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static bool IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high); /* EmitSet - emits the tokens in the set, to, which have values low..high *************** static void RecoverProduction (pge_Produ *** 2818,2830 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch); /* FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static unsigned int FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high); /* WriteUpto - --- 2819,2831 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch); /* FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static bool FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high); /* WriteUpto - *************** static void VarProduction (pge_Productio *** 2873,2886 **** In - returns TRUE if token, s, is already in the set, to. */ ! static unsigned int In (pge_SetDesc to, NameKey_Name s); /* IntersectionIsNil - given two set lists, s1, s2, return TRUE if the s1 * s2 = {} */ ! static unsigned int IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2); /* AddSet - adds a first symbol to a production. --- 2874,2887 ---- In - returns TRUE if token, s, is already in the set, to. */ ! static bool In (pge_SetDesc to, NameKey_Name s); /* IntersectionIsNil - given two set lists, s1, s2, return TRUE if the s1 * s2 = {} */ ! static bool IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2); /* AddSet - adds a first symbol to a production. *************** static void CalcReachEndProduction (pge_ *** 3043,3073 **** EmptyFactor - */ ! static unsigned int EmptyFactor (pge_FactorDesc f); /* EmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int EmptyTerm (pge_TermDesc t); /* EmptyExpression - */ ! static unsigned int EmptyExpression (pge_ExpressionDesc e); /* EmptyStatement - returns TRUE if statement, s, is empty. */ ! static unsigned int EmptyStatement (pge_StatementDesc s); /* EmptyProduction - returns if production, p, maybe empty. */ ! static unsigned int EmptyProduction (pge_ProductionDesc p); /* EmitFDLNotice - --- 3044,3074 ---- EmptyFactor - */ ! static bool EmptyFactor (pge_FactorDesc f); /* EmptyTerm - returns TRUE if the term maybe empty. */ ! static bool EmptyTerm (pge_TermDesc t); /* EmptyExpression - */ ! static bool EmptyExpression (pge_ExpressionDesc e); /* EmptyStatement - returns TRUE if statement, s, is empty. */ ! static bool EmptyStatement (pge_StatementDesc s); /* EmptyProduction - returns if production, p, maybe empty. */ ! static bool EmptyProduction (pge_ProductionDesc p); /* EmitFDLNotice - *************** static void DisposeSetDesc (pge_SetDesc *** 3133,3199 **** OptionalFactor - */ ! static unsigned int OptionalFactor (pge_FactorDesc f); /* OptionalTerm - returns TRUE if the term maybe empty. */ ! static unsigned int OptionalTerm (pge_TermDesc t); /* OptionalExpression - */ ! static unsigned int OptionalExpression (pge_ExpressionDesc e); /* OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int OptionalStatement (pge_StatementDesc s); /* OptionalProduction - */ ! static unsigned int OptionalProduction (pge_ProductionDesc p); /* CheckFirstFollow - */ ! static unsigned int CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after); /* ConstrainedEmptyFactor - */ ! static unsigned int ConstrainedEmptyFactor (pge_FactorDesc f); /* ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int ConstrainedEmptyTerm (pge_TermDesc t); /* ConstrainedEmptyExpression - */ ! static unsigned int ConstrainedEmptyExpression (pge_ExpressionDesc e); /* ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int ConstrainedEmptyStatement (pge_StatementDesc s); /* ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static unsigned int ConstrainedEmptyProduction (pge_ProductionDesc p); /* TestForLALR1 - --- 3134,3200 ---- OptionalFactor - */ ! static bool OptionalFactor (pge_FactorDesc f); /* OptionalTerm - returns TRUE if the term maybe empty. */ ! static bool OptionalTerm (pge_TermDesc t); /* OptionalExpression - */ ! static bool OptionalExpression (pge_ExpressionDesc e); /* OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool OptionalStatement (pge_StatementDesc s); /* OptionalProduction - */ ! static bool OptionalProduction (pge_ProductionDesc p); /* CheckFirstFollow - */ ! static bool CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after); /* ConstrainedEmptyFactor - */ ! static bool ConstrainedEmptyFactor (pge_FactorDesc f); /* ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static bool ConstrainedEmptyTerm (pge_TermDesc t); /* ConstrainedEmptyExpression - */ ! static bool ConstrainedEmptyExpression (pge_ExpressionDesc e); /* ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool ConstrainedEmptyStatement (pge_StatementDesc s); /* ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static bool ConstrainedEmptyProduction (pge_ProductionDesc p); /* TestForLALR1 - *************** static pge_FollowDesc NewFollow (void) *** 3773,3784 **** providing condition is TRUE. */ ! static void AssignEpsilon (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value) { if ((condition && (value != pge_unknown)) && (f->epsilon == pge_unknown)) { f->epsilon = value; ! Finished = FALSE; } } --- 3774,3785 ---- providing condition is TRUE. */ ! static void AssignEpsilon (bool condition, pge_FollowDesc f, pge_TraverseResult value) { if ((condition && (value != pge_unknown)) && (f->epsilon == pge_unknown)) { f->epsilon = value; ! Finished = false; } } *************** static pge_TraverseResult GetEpsilon (pg *** 3791,3797 **** { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, 596, (const char *) "m2/gm2-auto/pge.mod", 19); } else { --- 3792,3798 ---- { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "GetEpsilon", 10, 597); } else { *************** static pge_TraverseResult GetEpsilon (pg *** 3806,3819 **** AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (unsigned int condition, pge_FollowDesc f, pge_TraverseResult value) { if (condition) { if ((f->reachend == pge_unknown) && (value != pge_unknown)) { f->reachend = value; ! Finished = FALSE; } } } --- 3807,3820 ---- AssignReachEnd - assigns the reachend value providing that, condition, is TRUE. */ ! static void AssignReachEnd (bool condition, pge_FollowDesc f, pge_TraverseResult value) { if (condition) { if ((f->reachend == pge_unknown) && (value != pge_unknown)) { f->reachend = value; ! Finished = false; } } } *************** static pge_TraverseResult GetReachEnd (p *** 3827,3833 **** { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, 630, (const char *) "m2/gm2-auto/pge.mod", 19); } else { --- 3828,3834 ---- { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "GetReachEnd", 11, 632); } else { *************** static void AssignFollow (pge_FollowDesc *** 3846,3855 **** { if (f->calcfollow) { ! Debug_Halt ((const char *) "why are we reassigning this follow set?", 39, 646, (const char *) "m2/gm2-auto/pge.mod", 19); } f->follow = s; ! f->calcfollow = TRUE; } --- 3847,3856 ---- { if (f->calcfollow) { ! Debug_Halt ((const char *) "why are we reassigning this follow set?", 39, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "AssignFollow", 12, 649); } f->follow = s; ! f->calcfollow = true; } *************** static pge_SetDesc GetFollow (pge_Follow *** 3861,3867 **** { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, 662, (const char *) "m2/gm2-auto/pge.mod", 19); } else { --- 3862,3868 ---- { if (f == NULL) { ! Debug_Halt ((const char *) "why is the follow info NIL?", 27, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "GetFollow", 9, 666); } else { *************** static pge_SetDesc GetFollow (pge_Follow *** 3871,3877 **** } else { ! Debug_Halt ((const char *) "not calculated the follow set yet..", 35, 669, (const char *) "m2/gm2-auto/pge.mod", 19); } } ReturnException ("m2/gm2-auto/pge.mod", 1, 7); --- 3872,3878 ---- } else { ! Debug_Halt ((const char *) "not calculated the follow set yet..", 35, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "GetFollow", 9, 674); } } ReturnException ("m2/gm2-auto/pge.mod", 1, 7); *************** static pge_ProductionDesc NewProduction *** 3900,3906 **** p->next = NULL; p->statement = NULL; p->first = NULL; ! p->firstsolved = FALSE; p->followinfo = NewFollow (); p->line = PushBackInput_GetCurrentLine (); p->description = NameKey_NulName; --- 3901,3907 ---- p->next = NULL; p->statement = NULL; p->first = NULL; ! p->firstsolved = false; p->followinfo = NewFollow (); p->line = PushBackInput_GetCurrentLine (); p->description = NameKey_NulName; *************** static void WriteCodeHunkList (pge_CodeH *** 4109,4115 **** { if (l != NULL) { ! OnLineStart = FALSE; /* recursion */ WriteCodeHunkList (l->next); Output_WriteString ((const char *) &l->codetext.array[0], MaxCodeHunkLength); --- 4110,4116 ---- { if (l != NULL) { ! OnLineStart = false; /* recursion */ WriteCodeHunkList (l->next); Output_WriteString ((const char *) &l->codetext.array[0], MaxCodeHunkLength); *************** static void WriteIndent (unsigned int n) *** 4128,4134 **** Output_Write (' '); n -= 1; } ! OnLineStart = FALSE; } --- 4129,4135 ---- Output_Write (' '); n -= 1; } ! OnLineStart = false; } *************** static void WriteIndent (unsigned int n) *** 4136,4148 **** CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, unsigned int *seentext) { if (ch == ASCII_lf) { NewLine (left); (*curpos) = 0; ! (*seentext) = FALSE; } else { --- 4137,4149 ---- CheckWrite - */ ! static void CheckWrite (char ch, unsigned int *curpos, unsigned int left, bool *seentext) { if (ch == ASCII_lf) { NewLine (left); (*curpos) = 0; ! (*seentext) = false; } else { *************** static void CheckWrite (char ch, unsigne *** 4157,4163 **** if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext) { unsigned int l; unsigned int i; --- 4158,4164 ---- if they exist. */ ! static void WriteStringIndent (const char *a_, unsigned int _a_high, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext) { unsigned int l; unsigned int i; *************** static void WriteStringIndent (const cha *** 4187,4193 **** { WriteIndent ((*curpos)-indent); } ! (*seentext) = TRUE; CheckWrite (a[i], curpos, left, seentext); } } --- 4188,4194 ---- { WriteIndent ((*curpos)-indent); } ! (*seentext) = true; CheckWrite (a[i], curpos, left, seentext); } } *************** static void WriteStringIndent (const cha *** 4201,4207 **** but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, unsigned int *seentext) { if (l != NULL) { --- 4202,4208 ---- but it removes up to indent spaces if they exist. */ ! static void WriteCodeHunkListIndent (pge_CodeHunk l, unsigned int indent, unsigned int *curpos, unsigned int left, bool *seentext) { if (l != NULL) { *************** static void SyntaxError (pge_SetOfStop s *** 4307,4313 **** StrIO_WriteString ((const char *) " ***", 4); StrIO_WriteLn (); } ! WasNoError = FALSE; } --- 4308,4314 ---- StrIO_WriteString ((const char *) " ***", 4); StrIO_WriteLn (); } ! WasNoError = false; } *************** static void Modula2Code (pge_SetOfStop s *** 4366,4372 **** { pge_CodeHunk p; unsigned int i; ! unsigned int quote; unsigned int line; unsigned int position; --- 4367,4373 ---- { pge_CodeHunk p; unsigned int i; ! bool quote; unsigned int line; unsigned int position; *************** static void Special (pge_SetOfStop stops *** 4606,4618 **** Ident (stopset|(pge_SetOfStop) ((1 << (bnflex_firsttok-bnflex_identtok)))); p = NewProduction (); p->statement = NewStatement (); ! p->statement->followinfo->calcfollow = TRUE; p->statement->followinfo->epsilon = pge_false; p->statement->followinfo->reachend = pge_false; p->statement->ident = CurrentIdent; p->statement->expr = NULL; ! p->firstsolved = TRUE; ! p->followinfo->calcfollow = TRUE; p->followinfo->epsilon = pge_false; p->followinfo->reachend = pge_false; First (stopset|(pge_SetOfStop) ((1 << (bnflex_followtok-bnflex_identtok)))); --- 4607,4619 ---- Ident (stopset|(pge_SetOfStop) ((1 << (bnflex_firsttok-bnflex_identtok)))); p = NewProduction (); p->statement = NewStatement (); ! p->statement->followinfo->calcfollow = true; p->statement->followinfo->epsilon = pge_false; p->statement->followinfo->reachend = pge_false; p->statement->ident = CurrentIdent; p->statement->expr = NULL; ! p->firstsolved = true; ! p->followinfo->calcfollow = true; p->followinfo->epsilon = pge_false; p->followinfo->reachend = pge_false; First (stopset|(pge_SetOfStop) ((1 << (bnflex_followtok-bnflex_identtok)))); *************** static void BackPatchIdent (pge_IdentDes *** 5336,5342 **** if (i->definition == NULL) { WarnError1 ((const char *) "unable to find production %s", 28, i->name); ! WasNoError = FALSE; } } } --- 5337,5343 ---- if (i->definition == NULL) { WarnError1 ((const char *) "unable to find production %s", 28, i->name); ! WasNoError = false; } } } *************** static void ForeachRuleDo (pge_DoProcedu *** 5484,5490 **** static void WhileNotCompleteDo (pge_DoProcedure p) { do { ! Finished = TRUE; ForeachRuleDo (p); } while (! (Finished)); } --- 5485,5491 ---- static void WhileNotCompleteDo (pge_DoProcedure p) { do { ! Finished = true; ForeachRuleDo (p); } while (! (Finished)); } *************** static void WhileNotCompleteDo (pge_DoPr *** 5497,5503 **** static void NewLine (unsigned int Left) { Output_WriteLn (); ! BeginningOfLine = TRUE; Indent = 0; while (Indent < Left) { --- 5498,5504 ---- static void NewLine (unsigned int Left) { Output_WriteLn (); ! BeginningOfLine = true; Indent = 0; while (Indent < Left) { *************** static void WriteKeyTexinfo (NameKey_Nam *** 5633,5639 **** static void PrettyCommentFactor (pge_FactorDesc f, unsigned int Left) { unsigned int curpos; ! unsigned int seentext; while (f != NULL) { --- 5634,5640 ---- static void PrettyCommentFactor (pge_FactorDesc f, unsigned int Left) { unsigned int curpos; ! bool seentext; while (f != NULL) { *************** static void PrettyCommentFactor (pge_Fac *** 5686,5692 **** { NewLine (Left); Output_WriteString ((const char *) "% ", 2); ! seentext = FALSE; curpos = 0; WriteCodeHunkListIndent (f->code->code, f->code->indent, &curpos, Left+2, &seentext); Output_WriteString ((const char *) " %", 2); --- 5687,5693 ---- { NewLine (Left); Output_WriteString ((const char *) "% ", 2); ! seentext = false; curpos = 0; WriteCodeHunkListIndent (f->code->code, f->code->indent, &curpos, Left+2, &seentext); Output_WriteString ((const char *) " %", 2); *************** static void PrettyCommentProduction (pge *** 5852,5858 **** if (p != NULL) { ! BeginningOfLine = TRUE; Indent = 0; Output_WriteString ((const char *) "(*", 2); NewLine (3); --- 5853,5859 ---- if (p != NULL) { ! BeginningOfLine = true; Indent = 0; Output_WriteString ((const char *) "(*", 2); NewLine (3); *************** static void PrettyPrintProduction (pge_P *** 5905,5911 **** if (p != NULL) { ! BeginningOfLine = TRUE; Indent = 0; if (Texinfo) { --- 5906,5912 ---- if (p != NULL) { ! BeginningOfLine = true; Indent = 0; if (Texinfo) { *************** static void EmitFileLineTag (unsigned in *** 5973,5979 **** Output_WriteString ((const char *) &FileName.array[0], MaxFileName); Output_Write ('"'); Output_WriteLn (); ! OnLineStart = TRUE; } } --- 5974,5980 ---- Output_WriteString ((const char *) &FileName.array[0], MaxFileName); Output_Write ('"'); Output_WriteLn (); ! OnLineStart = true; } } *************** static void CodeCondition (pge_m2conditi *** 6026,6032 **** default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, 2680, (const char *) "m2/gm2-auto/pge.mod", 19); break; } } --- 6027,6033 ---- default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "CodeCondition", 13, 2686); break; } } *************** static void CodeThenDo (pge_m2condition *** 6058,6067 **** default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, 2705, (const char *) "m2/gm2-auto/pge.mod", 19); break; } ! OnLineStart = TRUE; } --- 6059,6068 ---- default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "CodeThenDo", 10, 2712); break; } ! OnLineStart = true; } *************** static void CodeThenDo (pge_m2condition *** 6069,6075 **** CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, unsigned int consumed, pge_FactorDesc f, unsigned int inopt) { char end[_end_high+1]; --- 6070,6076 ---- CodeElseEnd - builds an ELSE END statement using string, end. */ ! static void CodeElseEnd (const char *end_, unsigned int _end_high, bool consumed, pge_FactorDesc f, bool inopt) { char end[_end_high+1]; *************** static void CodeElseEnd (const char *end *** 6077,6083 **** memcpy (end, end_, _end_high+1); Output_WriteLn (); ! OnLineStart = TRUE; EmitFileLineTag (f->line); if (! inopt) { --- 6078,6084 ---- memcpy (end, end_, _end_high+1); Output_WriteLn (); ! OnLineStart = true; EmitFileLineTag (f->line); if (! inopt) { *************** static void CodeElseEnd (const char *end *** 6137,6143 **** } IndentString ((const char *) end, _end_high); Output_WriteLn (); ! OnLineStart = TRUE; } --- 6138,6144 ---- } IndentString ((const char *) end, _end_high); Output_WriteLn (); ! OnLineStart = true; } *************** static void CodeElseEnd (const char *end *** 6145,6155 **** CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, unsigned int consumed, pge_FactorDesc f, unsigned int inopt) { Indent -= 3; Output_WriteLn (); ! OnLineStart = TRUE; switch (m) { case pge_m2none: --- 6146,6156 ---- CodeEnd - codes a "END" depending upon, m. */ ! static void CodeEnd (pge_m2condition m, pge_TermDesc t, bool consumed, pge_FactorDesc f, bool inopt) { Indent -= 3; Output_WriteLn (); ! OnLineStart = true; switch (m) { case pge_m2none: *************** static void CodeEnd (pge_m2condition m, *** 6179,6188 **** default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, 2788, (const char *) "m2/gm2-auto/pge.mod", 19); break; } ! OnLineStart = FALSE; } --- 6180,6189 ---- default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "CodeEnd", 7, 2796); break; } ! OnLineStart = false; } *************** static void EmitNonVarCode (pge_CodeDesc *** 6194,6212 **** { unsigned int i; pge_CodeHunk t; ! unsigned int seentext; t = code->code; if ((! (FindStr (&t, &i, (const char *) "VAR", 3))) && EmitCode) { ! seentext = FALSE; curpos = 0; EmitFileLineTag (code->line); IndentString ((const char *) "", 0); WriteCodeHunkListIndent (code->code, code->indent, &curpos, left, &seentext); Output_WriteString ((const char *) " ;", 2); Output_WriteLn (); ! OnLineStart = TRUE; } } --- 6195,6213 ---- { unsigned int i; pge_CodeHunk t; ! bool seentext; t = code->code; if ((! (FindStr (&t, &i, (const char *) "VAR", 3))) && EmitCode) { ! seentext = false; curpos = 0; EmitFileLineTag (code->line); IndentString ((const char *) "", 0); WriteCodeHunkListIndent (code->code, code->indent, &curpos, left, &seentext); Output_WriteString ((const char *) " ;", 2); Output_WriteLn (); ! OnLineStart = true; } } *************** static void FlushCode (pge_FactorDesc *c *** 6249,6255 **** { NewLine (Indent); Output_WriteString ((const char *) "(* begin flushing code *)", 25); ! OnLineStart = FALSE; while ((*codeStack) != NULL) { NewLine (Indent); --- 6250,6256 ---- { NewLine (Indent); Output_WriteString ((const char *) "(* begin flushing code *)", 25); ! OnLineStart = false; while ((*codeStack) != NULL) { NewLine (Indent); *************** static void FlushCode (pge_FactorDesc *c *** 6260,6271 **** { Output_WriteString ((const char *) " (* again flushing code *)", 26); Output_WriteLn (); ! OnLineStart = TRUE; } } NewLine (Indent); Output_WriteString ((const char *) "(* end flushing code *)", 23); ! OnLineStart = FALSE; } } --- 6261,6272 ---- { Output_WriteString ((const char *) " (* again flushing code *)", 26); Output_WriteLn (); ! OnLineStart = true; } } NewLine (Indent); Output_WriteString ((const char *) "(* end flushing code *)", 23); ! OnLineStart = false; } } *************** static void FlushCode (pge_FactorDesc *c *** 6274,6280 **** CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack) { if (f == NULL) { --- 6275,6281 ---- CodeFactor - */ ! static void CodeFactor (pge_FactorDesc f, pge_TermDesc t, pge_m2condition l, pge_m2condition n, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack) { if (f == NULL) { *************** static void CodeFactor (pge_FactorDesc f *** 6283,6289 **** { Output_WriteLn (); IndentString ((const char *) "RETURN( TRUE )", 14); ! OnLineStart = FALSE; } } else --- 6284,6290 ---- { Output_WriteLn (); IndentString ((const char *) "RETURN( TRUE )", 14); ! OnLineStart = false; } } else *************** static void CodeFactor (pge_FactorDesc f *** 6298,6304 **** Output_WriteString ((const char *) "()", 2); CodeThenDo (n); Indent += 3; ! CodeFactor (f->next, NULL, n, pge_m2none, inopt, inwhile, TRUE, NULL); CodeEnd (n, t, consumed, f, inopt); break; --- 6299,6305 ---- Output_WriteString ((const char *) "()", 2); CodeThenDo (n); Indent += 3; ! CodeFactor (f->next, NULL, n, pge_m2none, inopt, inwhile, true, NULL); CodeEnd (n, t, consumed, f, inopt); break; *************** static void CodeFactor (pge_FactorDesc f *** 6311,6317 **** Output_Write (')'); CodeThenDo (n); Indent += 3; ! CodeFactor (f->next, NULL, n, pge_m2none, inopt, inwhile, TRUE, NULL); CodeEnd (n, t, consumed, f, inopt); break; --- 6312,6318 ---- Output_Write (')'); CodeThenDo (n); Indent += 3; ! CodeFactor (f->next, NULL, n, pge_m2none, inopt, inwhile, true, NULL); CodeEnd (n, t, consumed, f, inopt); break; *************** static void CodeFactor (pge_FactorDesc f *** 6324,6342 **** * the test above makes sure that we don't emit a RETURN( TRUE ) * after a subexpression. Remember sub expressions are not conditional */ ! CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, TRUE, NULL); } break; case pge_opt: FlushCode (&codeStack); ! CodeExpression (f->expr, pge_m2if, TRUE, inwhile, FALSE, NULL); CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, consumed, NULL); break; case pge_mult: FlushCode (&codeStack); ! CodeExpression (f->expr, pge_m2while, FALSE, TRUE, consumed, NULL); CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, consumed, NULL); break; --- 6325,6343 ---- * the test above makes sure that we don't emit a RETURN( TRUE ) * after a subexpression. Remember sub expressions are not conditional */ ! CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, true, NULL); } break; case pge_opt: FlushCode (&codeStack); ! CodeExpression (f->expr, pge_m2if, true, inwhile, false, NULL); CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, consumed, NULL); break; case pge_mult: FlushCode (&codeStack); ! CodeExpression (f->expr, pge_m2while, false, true, consumed, NULL); CodeFactor (f->next, t, n, pge_m2none, inopt, inwhile, consumed, NULL); break; *************** static void CodeFactor (pge_FactorDesc f *** 6361,6367 **** CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack) { pge_m2condition l; --- 6362,6368 ---- CodeTerm - */ ! static void CodeTerm (pge_TermDesc t, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack) { pge_m2condition l; *************** static void CodeTerm (pge_TermDesc t, pg *** 6374,6386 **** m = pge_m2if; IndentString ((const char *) "ELSE", 4); Output_WriteLn (); ! OnLineStart = TRUE; Indent += 3; CodeFactor (t->factor, t->next, pge_m2none, pge_m2none, inopt, inwhile, consumed, codeStack); Indent -= 3; IndentString ((const char *) "END ;", 5); Output_WriteLn (); ! OnLineStart = TRUE; } else { --- 6375,6387 ---- m = pge_m2if; IndentString ((const char *) "ELSE", 4); Output_WriteLn (); ! OnLineStart = true; Indent += 3; CodeFactor (t->factor, t->next, pge_m2none, pge_m2none, inopt, inwhile, consumed, codeStack); Indent -= 3; IndentString ((const char *) "END ;", 5); Output_WriteLn (); ! OnLineStart = true; } else { *************** static void CodeTerm (pge_TermDesc t, pg *** 6400,6406 **** CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, unsigned int inopt, unsigned int inwhile, unsigned int consumed, pge_FactorDesc codeStack) { if (e != NULL) { --- 6401,6407 ---- CodeExpression - */ ! static void CodeExpression (pge_ExpressionDesc e, pge_m2condition m, bool inopt, bool inwhile, bool consumed, pge_FactorDesc codeStack) { if (e != NULL) { *************** static void CodeStatement (pge_Statement *** 6419,6425 **** if (s != NULL) { EmitFileLineTag (s->line); ! CodeExpression (s->expr, m, FALSE, FALSE, FALSE, NULL); } } --- 6420,6426 ---- if (s != NULL) { EmitFileLineTag (s->line); ! CodeExpression (s->expr, m, false, false, false, NULL); } } *************** static void CodeProduction (pge_Producti *** 6432,6438 **** { if ((p != NULL) && (! p->firstsolved || ((p->statement != NULL) && (p->statement->expr != NULL)))) { ! BeginningOfLine = TRUE; Indent = 0; Output_WriteLn (); EmitFileLineTag (p->line); --- 6433,6439 ---- { if ((p != NULL) && (! p->firstsolved || ((p->statement != NULL) && (p->statement->expr != NULL)))) { ! BeginningOfLine = true; Indent = 0; Output_WriteLn (); EmitFileLineTag (p->line); *************** static void CodeProduction (pge_Producti *** 6441,6451 **** Output_WriteString ((const char *) " () : BOOLEAN ;", 15); VarProduction (p); Output_WriteLn (); ! OnLineStart = TRUE; EmitFileLineTag (p->line); IndentString ((const char *) "BEGIN", 5); StrIO_WriteLn (); ! OnLineStart = FALSE; EmitFileLineTag (p->line); Indent = 3; CodeStatement (p->statement, pge_m2none); --- 6442,6452 ---- Output_WriteString ((const char *) " () : BOOLEAN ;", 15); VarProduction (p); Output_WriteLn (); ! OnLineStart = true; EmitFileLineTag (p->line); IndentString ((const char *) "BEGIN", 5); StrIO_WriteLn (); ! OnLineStart = false; EmitFileLineTag (p->line); Indent = 3; CodeStatement (p->statement, pge_m2none); *************** static void RecoverCondition (pge_m2cond *** 6487,6493 **** default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, 3045, (const char *) "m2/gm2-auto/pge.mod", 19); break; } } --- 6488,6494 ---- default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "RecoverCondition", 16, 3054); break; } } *************** static unsigned int ConditionIndent (pge *** 6519,6525 **** default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, 3064, (const char *) "m2/gm2-auto/pge.mod", 19); break; } ReturnException ("m2/gm2-auto/pge.mod", 1, 7); --- 6520,6526 ---- default: ! Debug_Halt ((const char *) "unrecognised m2condition", 24, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "ConditionIndent", 15, 3074); break; } ReturnException ("m2/gm2-auto/pge.mod", 1, 7); *************** static unsigned int NumberOfElements (pg *** 6566,6578 **** case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = FALSE; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = FALSE; break; } to = to->next; --- 6567,6579 ---- case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = false; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = false; break; } to = to->next; *************** static void EmitIsInSubSet (pge_SetDesc *** 6681,6687 **** static void EmitIsInFirst (pge_SetDesc to, pge_m2condition m) { unsigned int i; ! unsigned int first; if ((NumberOfElements (to, static_cast (0), static_cast (0))) == 1) { --- 6682,6688 ---- static void EmitIsInFirst (pge_SetDesc to, pge_m2condition m) { unsigned int i; ! bool first; if ((NumberOfElements (to, static_cast (0), static_cast (0))) == 1) { *************** static void EmitIsInFirst (pge_SetDesc t *** 6703,6709 **** else { i = 0; ! first = TRUE; do { if (! (IsEmptySet (to, i*MaxElementsInSet, ((i+1)*MaxElementsInSet)-1))) { --- 6704,6710 ---- else { i = 0; ! first = true; do { if (! (IsEmptySet (to, i*MaxElementsInSet, ((i+1)*MaxElementsInSet)-1))) { *************** static void EmitIsInFirst (pge_SetDesc t *** 6714,6720 **** Indent -= ConditionIndent (m); } EmitIsInSubSet (to, i*MaxElementsInSet, ((i+1)*MaxElementsInSet)-1); ! first = FALSE; } i += 1; } while (! ((i*MaxElementsInSet) > LargestValue)); --- 6715,6721 ---- Indent -= ConditionIndent (m); } EmitIsInSubSet (to, i*MaxElementsInSet, ((i+1)*MaxElementsInSet)-1); ! first = false; } i += 1; } while (! ((i*MaxElementsInSet) > LargestValue)); *************** static void RecoverFactor (pge_FactorDes *** 6907,6917 **** and FALSE in the first. */ ! static unsigned int OptExpSeen (pge_FactorDesc f) { if (f == NULL) { ! return FALSE; } else { --- 6908,6918 ---- and FALSE in the first. */ ! static bool OptExpSeen (pge_FactorDesc f) { if (f == NULL) { ! return false; } else { *************** static unsigned int OptExpSeen (pge_Fact *** 6919,6929 **** { case pge_id: case pge_lit: ! return FALSE; break; case pge_sub: ! return FALSE; /* is this correct? */ break; case pge_opt: --- 6920,6930 ---- { case pge_id: case pge_lit: ! return false; break; case pge_sub: ! return false; /* is this correct? */ break; case pge_opt: *************** static unsigned int OptExpSeen (pge_Fact *** 6932,6938 **** break; case pge_m2: ! return TRUE; break; --- 6933,6939 ---- break; case pge_m2: ! return true; break; *************** static unsigned int OptExpSeen (pge_Fact *** 6941,6947 **** } } PushBackInput_WarnError ((const char *) "all cases were not handled", 26); ! WasNoError = FALSE; ReturnException ("m2/gm2-auto/pge.mod", 1, 7); __builtin_unreachable (); } --- 6942,6948 ---- } } PushBackInput_WarnError ((const char *) "all cases were not handled", 26); ! WasNoError = false; ReturnException ("m2/gm2-auto/pge.mod", 1, 7); __builtin_unreachable (); } *************** static unsigned int OptExpSeen (pge_Fact *** 6953,6966 **** static void RecoverTerm (pge_TermDesc t, pge_m2condition new_, pge_m2condition old) { ! unsigned int LastWasM2Only; ! unsigned int alternative; pge_SetDesc to; LastWasM2Only = (t->factor->type == pge_m2) && (t->factor->next == NULL); /* does the factor only contain inline code? */ to = NULL; CalcFirstTerm (t, NULL, &to); ! alternative = FALSE; if (t->next != NULL) { new_ = pge_m2if; --- 6954,6967 ---- static void RecoverTerm (pge_TermDesc t, pge_m2condition new_, pge_m2condition old) { ! bool LastWasM2Only; ! bool alternative; pge_SetDesc to; LastWasM2Only = (t->factor->type == pge_m2) && (t->factor->next == NULL); /* does the factor only contain inline code? */ to = NULL; CalcFirstTerm (t, NULL, &to); ! alternative = false; if (t->next != NULL) { new_ = pge_m2if; *************** static void RecoverTerm (pge_TermDesc t, *** 6976,6982 **** Output_WriteLn (); Indent += 3; RecoverFactor (t->factor, pge_m2none, NULL); ! alternative = FALSE; } else { --- 6977,6983 ---- Output_WriteLn (); Indent += 3; RecoverFactor (t->factor, pge_m2none, NULL); ! alternative = false; } else { *************** static void RecoverTerm (pge_TermDesc t, *** 6985,6991 **** if (t->next != NULL) { new_ = pge_m2elsif; ! alternative = TRUE; } t = t->next; } --- 6986,6992 ---- if (t->next != NULL) { new_ = pge_m2elsif; ! alternative = true; } t = t->next; } *************** static void EmitUsed (unsigned int wordn *** 7080,7086 **** EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (unsigned int FormalParameters) { unsigned int i; --- 7081,7087 ---- EmitStopParameters - generate the stop set. */ ! static void EmitStopParameters (bool FormalParameters) { unsigned int i; *************** static void EmitStopParameters (unsigned *** 7136,7142 **** in the range: low..high */ ! static unsigned int IsBetween (NameKey_Name string, unsigned int low, unsigned int high) { return ((SymbolKey_GetSymKey (Values, string)) >= low) && ((SymbolKey_GetSymKey (Values, string)) <= high); /* static analysis guarentees a RETURN statement will be used before here. */ --- 7137,7143 ---- in the range: low..high */ ! static bool IsBetween (NameKey_Name string, unsigned int low, unsigned int high) { return ((SymbolKey_GetSymKey (Values, string)) >= low) && ((SymbolKey_GetSymKey (Values, string)) <= high); /* static analysis guarentees a RETURN statement will be used before here. */ *************** static unsigned int IsBetween (NameKey_N *** 7148,7154 **** IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static unsigned int IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high) { while (to != NULL) { --- 7149,7155 ---- IsEmptySet - returns TRUE if no elements exist in set, to, with values, low..high. */ ! static bool IsEmptySet (pge_SetDesc to, unsigned int low, unsigned int high) { while (to != NULL) { *************** static unsigned int IsEmptySet (pge_SetD *** 7157,7187 **** case pge_tokel: if (IsBetween (to->string, low, high)) { ! return FALSE; } break; case pge_litel: if (IsBetween (SymbolKey_GetSymKey (Aliases, to->string), low, high)) { ! return FALSE; } break; case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = FALSE; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = FALSE; break; } to = to->next; } ! return TRUE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 7158,7188 ---- case pge_tokel: if (IsBetween (to->string, low, high)) { ! return false; } break; case pge_litel: if (IsBetween (SymbolKey_GetSymKey (Aliases, to->string), low, high)) { ! return false; } break; case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = false; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = false; break; } to = to->next; } ! return true; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int IsEmptySet (pge_SetD *** 7193,7201 **** static void EmitSet (pge_SetDesc to, unsigned int low, unsigned int high) { ! unsigned int first; ! first = TRUE; while (to != NULL) { switch (to->type) --- 7194,7202 ---- static void EmitSet (pge_SetDesc to, unsigned int low, unsigned int high) { ! bool first; ! first = true; while (to != NULL) { switch (to->type) *************** static void EmitSet (pge_SetDesc to, uns *** 7208,7214 **** Output_WriteString ((const char *) ", ", 2); } Output_WriteKey (to->string); ! first = FALSE; } break; --- 7209,7215 ---- Output_WriteString ((const char *) ", ", 2); } Output_WriteKey (to->string); ! first = false; } break; *************** static void EmitSet (pge_SetDesc to, uns *** 7220,7238 **** Output_WriteString ((const char *) ", ", 2); } Output_WriteKey (SymbolKey_GetSymKey (Aliases, to->string)); ! first = FALSE; } break; case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = FALSE; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = FALSE; break; } to = to->next; --- 7221,7239 ---- Output_WriteString ((const char *) ", ", 2); } Output_WriteKey (SymbolKey_GetSymKey (Aliases, to->string)); ! first = false; } break; case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = false; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = false; break; } to = to->next; *************** static void EmitSetName (pge_SetDesc to, *** 7275,7287 **** case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = FALSE; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = FALSE; break; } to = to->next; --- 7276,7288 ---- case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = false; break; default: PushBackInput_WarnError ((const char *) "unknown enuneration element", 27); ! WasNoError = false; break; } to = to->next; *************** static void RecoverProduction (pge_Produ *** 7427,7436 **** if ((p != NULL) && (! p->firstsolved || ((p->statement != NULL) && (p->statement->expr != NULL)))) { ! BeginningOfLine = TRUE; Indent = 0; Output_WriteLn (); ! OnLineStart = FALSE; EmitFileLineTag (p->line); IndentString ((const char *) "PROCEDURE ", 10); Output_WriteKey (GetDefinitionName (p)); --- 7428,7437 ---- if ((p != NULL) && (! p->firstsolved || ((p->statement != NULL) && (p->statement->expr != NULL)))) { ! BeginningOfLine = true; Indent = 0; Output_WriteLn (); ! OnLineStart = false; EmitFileLineTag (p->line); IndentString ((const char *) "PROCEDURE ", 10); Output_WriteKey (GetDefinitionName (p)); *************** static void RecoverProduction (pge_Produ *** 7440,7451 **** Output_WriteString ((const char *) ") ;", 3); VarProduction (p); Output_WriteLn (); ! OnLineStart = FALSE; EmitFileLineTag (p->line); Indent = 0; IndentString ((const char *) "BEGIN", 5); Output_WriteLn (); ! OnLineStart = FALSE; EmitFileLineTag (p->line); Indent = 3; RecoverStatement (p->statement, pge_m2none); --- 7441,7452 ---- Output_WriteString ((const char *) ") ;", 3); VarProduction (p); Output_WriteLn (); ! OnLineStart = false; EmitFileLineTag (p->line); Indent = 0; IndentString ((const char *) "BEGIN", 5); Output_WriteLn (); ! OnLineStart = false; EmitFileLineTag (p->line); Indent = 3; RecoverStatement (p->statement, pge_m2none); *************** static void RecoverProduction (pge_Produ *** 7457,7463 **** Output_WriteLn (); Output_WriteLn (); s = Output_EndBuffer (); ! EmitStopParameters (TRUE); Output_KillWriteS (s); } } --- 7458,7464 ---- Output_WriteLn (); Output_WriteLn (); s = Output_EndBuffer (); ! EmitStopParameters (true); Output_KillWriteS (s); } } *************** static void RecoverProduction (pge_Produ *** 7467,7473 **** IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static unsigned int IsWhite (char ch) { return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); /* static analysis guarentees a RETURN statement will be used before here. */ --- 7468,7474 ---- IsWhite - returns TRUE if, ch, is a space or a tab. */ ! static bool IsWhite (char ch) { return ((ch == ' ') || (ch == ASCII_tab)) || (ch == ASCII_lf); /* static analysis guarentees a RETURN statement will be used before here. */ *************** static unsigned int IsWhite (char ch) *** 7479,7485 **** FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static unsigned int FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high) { unsigned int j; unsigned int k; --- 7480,7486 ---- FindStr - returns TRUE if, str, was seen inside the code hunk */ ! static bool FindStr (pge_CodeHunk *code, unsigned int *i, const char *str_, unsigned int _str_high) { unsigned int j; unsigned int k; *************** static void CheckForVar (pge_CodeHunk co *** 7582,7588 **** IndentString ((const char *) "VAR", 3); Indent += 3; Output_WriteLn (); ! EmittedVar = TRUE; } WriteUpto (code, t, i); } --- 7583,7589 ---- IndentString ((const char *) "VAR", 3); Indent += 3; Output_WriteLn (); ! EmittedVar = true; } WriteUpto (code, t, i); } *************** static void VarStatement (pge_StatementD *** 7670,7676 **** static void VarProduction (pge_ProductionDesc p) { ! EmittedVar = FALSE; if (p != NULL) { VarStatement (p->statement); --- 7671,7677 ---- static void VarProduction (pge_ProductionDesc p) { ! EmittedVar = false; if (p != NULL) { VarStatement (p->statement); *************** static void VarProduction (pge_Productio *** 7682,7688 **** In - returns TRUE if token, s, is already in the set, to. */ ! static unsigned int In (pge_SetDesc to, NameKey_Name s) { while (to != NULL) { --- 7683,7689 ---- In - returns TRUE if token, s, is already in the set, to. */ ! static bool In (pge_SetDesc to, NameKey_Name s) { while (to != NULL) { *************** static unsigned int In (pge_SetDesc to, *** 7691,7697 **** case pge_idel: if (s == to->ident->name) { ! return TRUE; } break; --- 7692,7698 ---- case pge_idel: if (s == to->ident->name) { ! return true; } break; *************** static unsigned int In (pge_SetDesc to, *** 7699,7717 **** case pge_litel: if (s == to->string) { ! return TRUE; } break; default: PushBackInput_WarnError ((const char *) "internal error CASE type not known", 34); ! WasNoError = FALSE; break; } to = to->next; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 7700,7718 ---- case pge_litel: if (s == to->string) { ! return true; } break; default: PushBackInput_WarnError ((const char *) "internal error CASE type not known", 34); ! WasNoError = false; break; } to = to->next; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int In (pge_SetDesc to, *** 7722,7728 **** s1 * s2 = {} */ ! static unsigned int IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2) { while (s1 != NULL) { --- 7723,7729 ---- s1 * s2 = {} */ ! static bool IntersectionIsNil (pge_SetDesc s1, pge_SetDesc s2) { while (s1 != NULL) { *************** static unsigned int IntersectionIsNil (p *** 7731,7737 **** case pge_idel: if (In (s2, s1->ident->name)) { ! return FALSE; } break; --- 7732,7738 ---- case pge_idel: if (In (s2, s1->ident->name)) { ! return false; } break; *************** static unsigned int IntersectionIsNil (p *** 7739,7757 **** case pge_litel: if (In (s2, s1->string)) { ! return FALSE; } break; default: PushBackInput_WarnError ((const char *) "internal error CASE type not known", 34); ! WasNoError = FALSE; break; } s1 = s1->next; } ! return TRUE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 7740,7758 ---- case pge_litel: if (In (s2, s1->string)) { ! return false; } break; default: PushBackInput_WarnError ((const char *) "internal error CASE type not known", 34); ! WasNoError = false; break; } s1 = s1->next; } ! return true; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static void AddSet (pge_SetDesc *to, Nam *** 7772,7778 **** d->string = s; d->next = (*to); (*to) = d; ! Finished = FALSE; } } --- 7773,7779 ---- d->string = s; d->next = (*to); (*to) = d; ! Finished = false; } } *************** static void OrSet (pge_SetDesc *to, pge_ *** 7797,7808 **** case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = FALSE; break; default: ! Debug_Halt ((const char *) "unknown element in enumeration type", 35, 4122, (const char *) "m2/gm2-auto/pge.mod", 19); break; } from = from->next; --- 7798,7809 ---- case pge_idel: PushBackInput_WarnError ((const char *) "not expecting ident in first symbol list", 40); ! WasNoError = false; break; default: ! Debug_Halt ((const char *) "unknown element in enumeration type", 35, (const char *) "m2/gm2-auto/pge.mod", 19, (const char *) "OrSet", 5, 4133); break; } from = from->next; *************** static void CalcFirstFactor (pge_FactorD *** 7838,7844 **** if ((SymbolKey_GetSymKey (Aliases, f->string)) == SymbolKey_NulKey) { WarnError1 ((const char *) "unknown token for '%s'", 22, f->string); ! WasNoError = FALSE; } else { --- 7839,7845 ---- if ((SymbolKey_GetSymKey (Aliases, f->string)) == SymbolKey_NulKey) { WarnError1 ((const char *) "unknown token for '%s'", 22, f->string); ! WasNoError = false; } else { *************** static void WorkOutFollowFactor (pge_Fac *** 7997,8003 **** { PushBackInput_WarnError ((const char *) "internal error: epsilon unknown", 31); PrettyCommentFactor (f, 3); ! WasNoError = FALSE; } foundepsilon = GetEpsilon (f->followinfo); canreachend = GetReachEnd (f->followinfo); /* only goes from FALSE -> TRUE */ --- 7998,8004 ---- { PushBackInput_WarnError ((const char *) "internal error: epsilon unknown", 31); PrettyCommentFactor (f, 3); ! WasNoError = false; } foundepsilon = GetEpsilon (f->followinfo); canreachend = GetReachEnd (f->followinfo); /* only goes from FALSE -> TRUE */ *************** static void CalcEpsilonFactor (pge_Facto *** 8183,8189 **** break; case pge_lit: ! AssignEpsilon (TRUE, f->followinfo, pge_false); break; case pge_sub: --- 8184,8190 ---- break; case pge_lit: ! AssignEpsilon (true, f->followinfo, pge_false); break; case pge_sub: *************** static void CalcEpsilonFactor (pge_Facto *** 8192,8204 **** break; case pge_m2: ! AssignEpsilon (TRUE, f->followinfo, pge_true); break; case pge_opt: case pge_mult: CalcEpsilonExpression (f->expr); ! AssignEpsilon (TRUE, f->followinfo, pge_true); break; --- 8193,8205 ---- break; case pge_m2: ! AssignEpsilon (true, f->followinfo, pge_true); break; case pge_opt: case pge_mult: CalcEpsilonExpression (f->expr); ! AssignEpsilon (true, f->followinfo, pge_true); break; *************** static void CalcEpsilonTerm (pge_TermDes *** 8225,8235 **** switch (GetReachEnd (t->factor->followinfo)) { case pge_true: ! AssignEpsilon (TRUE, t->followinfo, pge_true); break; case pge_false: ! AssignEpsilon (TRUE, t->followinfo, pge_false); break; case pge_unknown: --- 8226,8236 ---- switch (GetReachEnd (t->factor->followinfo)) { case pge_true: ! AssignEpsilon (true, t->followinfo, pge_true); break; case pge_false: ! AssignEpsilon (true, t->followinfo, pge_false); break; case pge_unknown: *************** static void CalcReachEndProduction (pge_ *** 8550,8556 **** EmptyFactor - */ ! static unsigned int EmptyFactor (pge_FactorDesc f) { while (f != NULL) { --- 8551,8557 ---- EmptyFactor - */ ! static bool EmptyFactor (pge_FactorDesc f) { while (f != NULL) { *************** static unsigned int EmptyFactor (pge_Fac *** 8559,8582 **** case pge_id: if (! (EmptyProduction (f->ident->definition))) { ! return FALSE; } break; case pge_lit: ! return FALSE; break; case pge_sub: if (! (EmptyExpression (f->expr))) { ! return FALSE; } break; case pge_opt: case pge_mult: ! return TRUE; break; case pge_m2: --- 8560,8583 ---- case pge_id: if (! (EmptyProduction (f->ident->definition))) { ! return false; } break; case pge_lit: ! return false; break; case pge_sub: if (! (EmptyExpression (f->expr))) { ! return false; } break; case pge_opt: case pge_mult: ! return true; break; case pge_m2: *************** static unsigned int EmptyFactor (pge_Fac *** 8588,8594 **** } f = f->next; } ! return TRUE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 8589,8595 ---- } f = f->next; } ! return true; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int EmptyFactor (pge_Fac *** 8598,8617 **** EmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int EmptyTerm (pge_TermDesc t) { while (t != NULL) { if (EmptyFactor (t->factor)) { ! return TRUE; } else { t = t->next; } } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 8599,8618 ---- EmptyTerm - returns TRUE if the term maybe empty. */ ! static bool EmptyTerm (pge_TermDesc t) { while (t != NULL) { if (EmptyFactor (t->factor)) { ! return true; } else { t = t->next; } } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int EmptyTerm (pge_TermD *** 8621,8631 **** EmptyExpression - */ ! static unsigned int EmptyExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return TRUE; } else { --- 8622,8632 ---- EmptyExpression - */ ! static bool EmptyExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return true; } else { *************** static unsigned int EmptyExpression (pge *** 8640,8650 **** EmptyStatement - returns TRUE if statement, s, is empty. */ ! static unsigned int EmptyStatement (pge_StatementDesc s) { if (s == NULL) { ! return TRUE; } else { --- 8641,8651 ---- EmptyStatement - returns TRUE if statement, s, is empty. */ ! static bool EmptyStatement (pge_StatementDesc s) { if (s == NULL) { ! return true; } else { *************** static unsigned int EmptyStatement (pge_ *** 8659,8676 **** EmptyProduction - returns if production, p, maybe empty. */ ! static unsigned int EmptyProduction (pge_ProductionDesc p) { if (p == NULL) { PushBackInput_WarnError ((const char *) "unknown production", 18); ! return TRUE; } else if (p->firstsolved && (p->first != NULL)) { /* avoid dangling else. */ /* predefined but first set to something - thus not empty */ ! return FALSE; } else { --- 8660,8677 ---- EmptyProduction - returns if production, p, maybe empty. */ ! static bool EmptyProduction (pge_ProductionDesc p) { if (p == NULL) { PushBackInput_WarnError ((const char *) "unknown production", 18); ! return true; } else if (p->firstsolved && (p->first != NULL)) { /* avoid dangling else. */ /* predefined but first set to something - thus not empty */ ! return false; } else { *************** static void DescribeElement (unsigned in *** 8726,8732 **** if (InitialElement) { ! InitialElement = FALSE; } else { --- 8727,8733 ---- if (InitialElement) { ! InitialElement = false; } else { *************** static void EmitDescribeStop (void) *** 8954,8960 **** Output_WriteLn (); Output_WriteLn (); s = Output_EndBuffer (); ! EmitStopParameters (TRUE); Output_KillWriteS (s); } --- 8955,8961 ---- Output_WriteLn (); Output_WriteLn (); s = Output_EndBuffer (); ! EmitStopParameters (true); Output_KillWriteS (s); } *************** static void EmitDescribeError (void) *** 8996,9002 **** WriteGetTokenType (); Output_WriteString ((const char *) " OF", 3); NewLine (3); ! InitialElement = TRUE; SymbolKey_ForeachNodeDo (Aliases, (SymbolKey_PerformOperation) {(SymbolKey_PerformOperation_t) DescribeElement}); Output_WriteLn (); Indent = 3; --- 8997,9003 ---- WriteGetTokenType (); Output_WriteString ((const char *) " OF", 3); NewLine (3); ! InitialElement = true; SymbolKey_ForeachNodeDo (Aliases, (SymbolKey_PerformOperation) {(SymbolKey_PerformOperation_t) DescribeElement}); Output_WriteLn (); Indent = 3; *************** static void DisposeSetDesc (pge_SetDesc *** 9136,9142 **** OptionalFactor - */ ! static unsigned int OptionalFactor (pge_FactorDesc f) { while (f != NULL) { --- 9137,9143 ---- OptionalFactor - */ ! static bool OptionalFactor (pge_FactorDesc f) { while (f != NULL) { *************** static unsigned int OptionalFactor (pge_ *** 9153,9159 **** case pge_mult: if (OptionalExpression (f->expr)) { ! return TRUE; } break; --- 9154,9160 ---- case pge_mult: if (OptionalExpression (f->expr)) { ! return true; } break; *************** static unsigned int OptionalFactor (pge_ *** 9166,9172 **** } f = f->next; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 9167,9173 ---- } f = f->next; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int OptionalFactor (pge_ *** 9176,9182 **** OptionalTerm - returns TRUE if the term maybe empty. */ ! static unsigned int OptionalTerm (pge_TermDesc t) { pge_TermDesc u; pge_TermDesc v; --- 9177,9183 ---- OptionalTerm - returns TRUE if the term maybe empty. */ ! static bool OptionalTerm (pge_TermDesc t) { pge_TermDesc u; pge_TermDesc v; *************** static unsigned int OptionalTerm (pge_Te *** 9188,9194 **** { if (OptionalFactor (u->factor)) { ! return TRUE; } v = t; tou = NULL; --- 9189,9195 ---- { if (OptionalFactor (u->factor)) { ! return true; } v = t; tou = NULL; *************** static unsigned int OptionalTerm (pge_Te *** 9213,9219 **** StrIO_WriteLn (); DisposeSetDesc (&tou); DisposeSetDesc (&tov); ! return TRUE; } } v = v->next; --- 9214,9220 ---- StrIO_WriteLn (); DisposeSetDesc (&tou); DisposeSetDesc (&tov); ! return true; } } v = v->next; *************** static unsigned int OptionalTerm (pge_Te *** 9221,9227 **** DisposeSetDesc (&tou); u = u->next; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 9222,9228 ---- DisposeSetDesc (&tou); u = u->next; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int OptionalTerm (pge_Te *** 9231,9241 **** OptionalExpression - */ ! static unsigned int OptionalExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return FALSE; } else { --- 9232,9242 ---- OptionalExpression - */ ! static bool OptionalExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return false; } else { *************** static unsigned int OptionalExpression ( *** 9250,9260 **** OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int OptionalStatement (pge_StatementDesc s) { if (s == NULL) { ! return FALSE; } else { --- 9251,9261 ---- OptionalStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool OptionalStatement (pge_StatementDesc s) { if (s == NULL) { ! return false; } else { *************** static unsigned int OptionalStatement (p *** 9269,9279 **** OptionalProduction - */ ! static unsigned int OptionalProduction (pge_ProductionDesc p) { if (p == NULL) { ! return FALSE; } else { --- 9270,9280 ---- OptionalProduction - */ ! static bool OptionalProduction (pge_ProductionDesc p) { if (p == NULL) { ! return false; } else { *************** static unsigned int OptionalProduction ( *** 9288,9294 **** CheckFirstFollow - */ ! static unsigned int CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after) { pge_SetDesc first; pge_SetDesc follow; --- 9289,9295 ---- CheckFirstFollow - */ ! static bool CheckFirstFollow (pge_FactorDesc f, pge_FactorDesc after) { pge_SetDesc first; pge_SetDesc follow; *************** static unsigned int CheckFirstFollow (pg *** 9301,9307 **** { DisposeSetDesc (&first); DisposeSetDesc (&follow); ! return FALSE; } else { --- 9302,9308 ---- { DisposeSetDesc (&first); DisposeSetDesc (&follow); ! return false; } else { *************** static unsigned int CheckFirstFollow (pg *** 9315,9321 **** NewLine (3); DisposeSetDesc (&first); DisposeSetDesc (&follow); ! return TRUE; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); --- 9316,9322 ---- NewLine (3); DisposeSetDesc (&first); DisposeSetDesc (&follow); ! return true; } /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); *************** static unsigned int CheckFirstFollow (pg *** 9326,9332 **** ConstrainedEmptyFactor - */ ! static unsigned int ConstrainedEmptyFactor (pge_FactorDesc f) { while (f != NULL) { --- 9327,9333 ---- ConstrainedEmptyFactor - */ ! static bool ConstrainedEmptyFactor (pge_FactorDesc f) { while (f != NULL) { *************** static unsigned int ConstrainedEmptyFact *** 9343,9349 **** case pge_mult: if (ConstrainedEmptyExpression (f->expr)) { ! return TRUE; } break; --- 9344,9350 ---- case pge_mult: if (ConstrainedEmptyExpression (f->expr)) { ! return true; } break; *************** static unsigned int ConstrainedEmptyFact *** 9356,9366 **** } if (((f->type != pge_m2) && (EmptyFactor (f))) && (CheckFirstFollow (f, f->next))) { ! return TRUE; } f = f->next; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 9357,9367 ---- } if (((f->type != pge_m2) && (EmptyFactor (f))) && (CheckFirstFollow (f, f->next))) { ! return true; } f = f->next; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int ConstrainedEmptyFact *** 9370,9376 **** ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static unsigned int ConstrainedEmptyTerm (pge_TermDesc t) { pge_SetDesc first; pge_SetDesc follow; --- 9371,9377 ---- ConstrainedEmptyTerm - returns TRUE if the term maybe empty. */ ! static bool ConstrainedEmptyTerm (pge_TermDesc t) { pge_SetDesc first; pge_SetDesc follow; *************** static unsigned int ConstrainedEmptyTerm *** 9379,9394 **** { if (ConstrainedEmptyFactor (t->factor)) { ! return TRUE; } else if (((t->factor->type != pge_m2) && (EmptyFactor (t->factor))) && (CheckFirstFollow (t->factor, t->factor->next))) { /* avoid dangling else. */ ! return TRUE; } t = t->next; } ! return FALSE; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } --- 9380,9395 ---- { if (ConstrainedEmptyFactor (t->factor)) { ! return true; } else if (((t->factor->type != pge_m2) && (EmptyFactor (t->factor))) && (CheckFirstFollow (t->factor, t->factor->next))) { /* avoid dangling else. */ ! return true; } t = t->next; } ! return false; /* static analysis guarentees a RETURN statement will be used before here. */ __builtin_unreachable (); } *************** static unsigned int ConstrainedEmptyTerm *** 9398,9408 **** ConstrainedEmptyExpression - */ ! static unsigned int ConstrainedEmptyExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return FALSE; } else { --- 9399,9409 ---- ConstrainedEmptyExpression - */ ! static bool ConstrainedEmptyExpression (pge_ExpressionDesc e) { if (e == NULL) { ! return false; } else { *************** static unsigned int ConstrainedEmptyExpr *** 9417,9427 **** ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static unsigned int ConstrainedEmptyStatement (pge_StatementDesc s) { if (s == NULL) { ! return FALSE; } else { --- 9418,9428 ---- ConstrainedEmptyStatement - returns FALSE if statement, s, does not have a optional ambiguity. */ ! static bool ConstrainedEmptyStatement (pge_StatementDesc s) { if (s == NULL) { ! return false; } else { *************** static unsigned int ConstrainedEmptyStat *** 9436,9446 **** ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static unsigned int ConstrainedEmptyProduction (pge_ProductionDesc p) { if (p == NULL) { ! return FALSE; } else { --- 9437,9447 ---- ConstrainedEmptyProduction - returns TRUE if a problem exists with, p. */ ! static bool ConstrainedEmptyProduction (pge_ProductionDesc p) { if (p == NULL) { ! return false; } else { *************** static void TestForLALR1 (pge_Production *** 9460,9466 **** if (OptionalProduction (p)) { WarnError1 ((const char *) "production %s has two optional sentances using | which both have the same start symbols", 87, p->statement->ident->name); ! WasNoError = FALSE; PrettyCommentProduction (p); } } --- 9461,9467 ---- if (OptionalProduction (p)) { WarnError1 ((const char *) "production %s has two optional sentances using | which both have the same start symbols", 87, p->statement->ident->name); ! WasNoError = false; PrettyCommentProduction (p); } } *************** static void CheckComplete (pge_Productio *** 9487,9493 **** { PrettyCommentProduction (p); WarnError1 ((const char *) "cannot determine epsilon, probably a left recursive rule in %s and associated rules (hint rewrite using ebnf and eliminate left recursion)", 138, p->statement->ident->name); ! WasNoError = FALSE; } } --- 9488,9494 ---- { PrettyCommentProduction (p); WarnError1 ((const char *) "cannot determine epsilon, probably a left recursive rule in %s and associated rules (hint rewrite using ebnf and eliminate left recursion)", 138, p->statement->ident->name); ! WasNoError = false; } } *************** static void ParseArgs (void) *** 9573,9582 **** unsigned int n; unsigned int i; ! ErrorRecovery = TRUE; /* DefaultRecovery ; */ ! Debugging = FALSE; /* DefaultRecovery ; */ ! PrettyPrint = FALSE; ! KeywordFormatting = FALSE; i = 1; n = Args_Narg (); while (i < n) --- 9574,9583 ---- unsigned int n; unsigned int i; ! ErrorRecovery = true; /* DefaultRecovery ; */ ! Debugging = false; /* DefaultRecovery ; */ ! PrettyPrint = false; ! KeywordFormatting = false; i = 1; n = Args_Narg (); while (i < n) *************** static void ParseArgs (void) *** 9586,9613 **** /* avoid gcc warning by using compound statement even if not strictly necessary. */ if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-e", 2)) { ! ErrorRecovery = FALSE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-d", 2)) { /* avoid dangling else. */ ! Debugging = TRUE; ! bnflex_SetDebugging (TRUE); } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-c", 2)) { /* avoid dangling else. */ ! EmitCode = FALSE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-k", 2)) { /* avoid dangling else. */ ! KeywordFormatting = TRUE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-l", 2)) { /* avoid dangling else. */ ! SuppressFileLineTag = TRUE; } else if ((StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-h", 2)) || (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "--help", 6))) { --- 9587,9614 ---- /* avoid gcc warning by using compound statement even if not strictly necessary. */ if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-e", 2)) { ! ErrorRecovery = false; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-d", 2)) { /* avoid dangling else. */ ! Debugging = true; ! bnflex_SetDebugging (true); } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-c", 2)) { /* avoid dangling else. */ ! EmitCode = false; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-k", 2)) { /* avoid dangling else. */ ! KeywordFormatting = true; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-l", 2)) { /* avoid dangling else. */ ! SuppressFileLineTag = true; } else if ((StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-h", 2)) || (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "--help", 6))) { *************** static void ParseArgs (void) *** 9617,9638 **** else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-p", 2)) { /* avoid dangling else. */ ! PrettyPrint = TRUE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-t", 2)) { /* avoid dangling else. */ ! Texinfo = TRUE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-x", 2)) { /* avoid dangling else. */ ! Sphinx = TRUE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-f", 2)) { /* avoid dangling else. */ ! FreeDocLicense = TRUE; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-o", 2)) { --- 9618,9639 ---- else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-p", 2)) { /* avoid dangling else. */ ! PrettyPrint = true; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-t", 2)) { /* avoid dangling else. */ ! Texinfo = true; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-x", 2)) { /* avoid dangling else. */ ! Sphinx = true; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-f", 2)) { /* avoid dangling else. */ ! FreeDocLicense = true; } else if (StrLib_StrEqual ((const char *) &ArgName.array[0], MaxFileName, (const char *) "-o", 2)) { *************** static void ParseArgs (void) *** 9681,9691 **** static void Init (void) { ! WasNoError = TRUE; ! Texinfo = FALSE; ! Sphinx = FALSE; ! FreeDocLicense = FALSE; ! EmitCode = TRUE; LargestValue = 0; HeadProduction = NULL; CurrentProduction = NULL; --- 9682,9692 ---- static void Init (void) { ! WasNoError = true; ! Texinfo = false; ! Sphinx = false; ! FreeDocLicense = false; ! EmitCode = true; LargestValue = 0; HeadProduction = NULL; CurrentProduction = NULL; *************** static void Init (void) *** 9701,9707 **** ErrorProcString = NameKey_MakeKey ((const char *) "ErrorS", 6); TokenTypeProc = NameKey_MakeKey ((const char *) "GetCurrentTokenType()", 21); SymIsProc = NameKey_MakeKey ((const char *) "SymIs", 5); ! OnLineStart = TRUE; ParseArgs (); Main (static_cast ((unsigned int) ((1 << (bnflex_eoftok))))); /* this line will be manipulated by sed in buildpg */ if (WasNoError) /* this line will be manipulated by sed in buildpg */ --- 9702,9708 ---- ErrorProcString = NameKey_MakeKey ((const char *) "ErrorS", 6); TokenTypeProc = NameKey_MakeKey ((const char *) "GetCurrentTokenType()", 21); SymIsProc = NameKey_MakeKey ((const char *) "SymIs", 5); ! OnLineStart = true; ParseArgs (); Main (static_cast ((unsigned int) ((1 << (bnflex_eoftok))))); /* this line will be manipulated by sed in buildpg */ if (WasNoError) /* this line will be manipulated by sed in buildpg */ *************** static void Init (void) *** 9726,9734 **** Output_WriteString ((const char *) &FileName.array[0], MaxFileName); Output_WriteString ((const char *) " *)", 3); Output_WriteLn (); ! OnLineStart = FALSE; EmitFileLineTag (LinePrologue); ! BeginningOfLine = TRUE; WriteCodeHunkList (CodePrologue); EmitSupport (); EmitFileLineTag (LineDeclaration); --- 9727,9735 ---- Output_WriteString ((const char *) &FileName.array[0], MaxFileName); Output_WriteString ((const char *) " *)", 3); Output_WriteLn (); ! OnLineStart = false; EmitFileLineTag (LinePrologue); ! BeginningOfLine = true; WriteCodeHunkList (CodePrologue); EmitSupport (); EmitFileLineTag (LineDeclaration); diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gtermios.h gcc-13.3.0/gcc/m2/pge-boot/Gtermios.h *** gcc-13.2.0/gcc/m2/pge-boot/Gtermios.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gtermios.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); *************** EXTERN int termios_tcflowoffo (int fd); *** 177,204 **** if, t, supports, f. */ ! EXTERN unsigned int termios_GetFlag (termios_TERMIOS t, termios_Flag f, unsigned int *b); /* SetFlag - sets a flag value in, t, to, b, and returns TRUE if this flag value is supported. */ ! EXTERN unsigned int termios_SetFlag (termios_TERMIOS t, termios_Flag f, unsigned int b); /* GetChar - sets a CHAR, ch, value from, t, and returns TRUE if this value is supported. */ ! EXTERN unsigned int termios_GetChar (termios_TERMIOS t, termios_ControlChar c, char *ch); /* SetChar - sets a CHAR value in, t, and returns TRUE if, c, is supported. */ ! EXTERN unsigned int termios_SetChar (termios_TERMIOS t, termios_ControlChar c, char ch); # ifdef __cplusplus } # endif --- 178,205 ---- if, t, supports, f. */ ! EXTERN bool termios_GetFlag (termios_TERMIOS t, termios_Flag f, bool *b); /* SetFlag - sets a flag value in, t, to, b, and returns TRUE if this flag value is supported. */ ! EXTERN bool termios_SetFlag (termios_TERMIOS t, termios_Flag f, bool b); /* GetChar - sets a CHAR, ch, value from, t, and returns TRUE if this value is supported. */ ! EXTERN bool termios_GetChar (termios_TERMIOS t, termios_ControlChar c, char *ch); /* SetChar - sets a CHAR value in, t, and returns TRUE if, c, is supported. */ ! EXTERN bool termios_SetChar (termios_TERMIOS t, termios_ControlChar c, char ch); # ifdef __cplusplus } # endif diff -Nrcpad gcc-13.2.0/gcc/m2/pge-boot/Gwrapc.h gcc-13.3.0/gcc/m2/pge-boot/Gwrapc.h *** gcc-13.2.0/gcc/m2/pge-boot/Gwrapc.h Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/pge-boot/Gwrapc.h Tue May 21 07:47:38 2024 *************** see the files COPYING3 and COPYING.RUNTI *** 34,39 **** --- 34,40 ---- # ifdef __cplusplus extern "C" { # endif + #include # if !defined (PROC_D) # define PROC_D typedef void (*PROC_t) (void); diff -Nrcpad gcc-13.2.0/gcc/m2/target-independent/m2/gm2-libs.texi gcc-13.3.0/gcc/m2/target-independent/m2/gm2-libs.texi *** gcc-13.2.0/gcc/m2/target-independent/m2/gm2-libs.texi Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/m2/target-independent/m2/gm2-libs.texi Tue May 21 07:47:38 2024 *************** building the GNU Modula-2 compiler. *** 55,61 **** * gm2-libs/LegacyReal::LegacyReal.def * gm2-libs/M2Dependent::M2Dependent.def * gm2-libs/M2EXCEPTION::M2EXCEPTION.def - * gm2-libs/M2LINK::M2LINK.def * gm2-libs/M2RTS::M2RTS.def * gm2-libs/MathLib0::MathLib0.def * gm2-libs/MemUtils::MemUtils.def --- 55,60 ---- *************** TYPE *** 1944,1950 **** @findex ConstructModules ! PROCEDURE ConstructModules (applicationmodule, libname: ADDRESS; argc: INTEGER; argv, envp: ADDRESS) ; @findex DeconstructModules --- 1943,1950 ---- @findex ConstructModules ! PROCEDURE ConstructModules (applicationmodule, libname, ! overrideliborder: ADDRESS; argc: INTEGER; argv, envp: ADDRESS) ; @findex DeconstructModules *************** END M2Dependent. *** 1979,1985 **** @end example @page ! @node gm2-libs/M2EXCEPTION, gm2-libs/M2LINK, gm2-libs/M2Dependent, Base libraries @subsection gm2-libs/M2EXCEPTION @example --- 1979,1985 ---- @end example @page ! @node gm2-libs/M2EXCEPTION, gm2-libs/M2RTS, gm2-libs/M2Dependent, Base libraries @subsection gm2-libs/M2EXCEPTION @example *************** END M2EXCEPTION. *** 2017,2049 **** @end example @page ! @node gm2-libs/M2LINK, gm2-libs/M2RTS, gm2-libs/M2EXCEPTION, Base libraries ! @subsection gm2-libs/M2LINK ! ! @example ! DEFINITION MODULE FOR "C" M2LINK ; ! ! ! TYPE ! @findex PtrToChar (type) ! PtrToChar = POINTER TO CHAR ; ! ! (* These variables are set by the compiler in the program module ! according to linking command line options. *) ! ! VAR ! @findex ForcedModuleInitOrder (var) ! ForcedModuleInitOrder: PtrToChar ; ! @findex StaticInitialization (var) ! StaticInitialization : BOOLEAN ; ! ! ! @findex END M2LINK. (var) ! END M2LINK. ! @end example ! @page ! ! @node gm2-libs/M2RTS, gm2-libs/MathLib0, gm2-libs/M2LINK, Base libraries @subsection gm2-libs/M2RTS @example --- 2017,2023 ---- @end example @page ! @node gm2-libs/M2RTS, gm2-libs/MathLib0, gm2-libs/M2EXCEPTION, Base libraries @subsection gm2-libs/M2RTS @example *************** TYPE *** 2058,2064 **** @findex ConstructModules ! PROCEDURE ConstructModules (applicationmodule, libname: ADDRESS; argc: INTEGER; argv, envp: ADDRESS) ; @findex DeconstructModules --- 2032,2039 ---- @findex ConstructModules ! PROCEDURE ConstructModules (applicationmodule, libname, ! overrideliborder: ADDRESS; argc: INTEGER; argv, envp: ADDRESS) ; @findex DeconstructModules *************** coexist with their PIM counterparts. *** 8956,8961 **** --- 8931,8937 ---- * gm2-libs-iso/TERMINATION::TERMINATION.def * gm2-libs-iso/TermFile::TermFile.def * gm2-libs-iso/TextIO::TextIO.def + * gm2-libs-iso/TextUtil::TextUtil.def * gm2-libs-iso/WholeConv::WholeConv.def * gm2-libs-iso/WholeIO::WholeIO.def * gm2-libs-iso/WholeStr::WholeStr.def *************** TYPE *** 10830,10835 **** --- 10806,10812 ---- @findex ConstructModules PROCEDURE ConstructModules (applicationmodule, libname: ADDRESS; + overrideliborder: ADDRESS; argc: INTEGER; argv, envp: ADDRESS) ; @findex DeconstructModules *************** END TermFile. *** 14344,14350 **** @end example @page ! @node gm2-libs-iso/TextIO, gm2-libs-iso/WholeConv, gm2-libs-iso/TermFile, M2 ISO Libraries @subsection gm2-libs-iso/TextIO @example --- 14321,14327 ---- @end example @page ! @node gm2-libs-iso/TextIO, gm2-libs-iso/TextUtil, gm2-libs-iso/TermFile, M2 ISO Libraries @subsection gm2-libs-iso/TextIO @example *************** END TextIO. *** 14422,14428 **** @end example @page ! @node gm2-libs-iso/WholeConv, gm2-libs-iso/WholeIO, gm2-libs-iso/TextIO, M2 ISO Libraries @subsection gm2-libs-iso/WholeConv @example --- 14399,14440 ---- @end example @page ! @node gm2-libs-iso/TextUtil, gm2-libs-iso/WholeConv, gm2-libs-iso/TextIO, M2 ISO Libraries ! @subsection gm2-libs-iso/TextUtil ! ! @example ! DEFINITION MODULE TextUtil ; ! ! (* ! Description: provides text manmipulation routines. ! *) ! ! IMPORT IOChan ; ! ! ! (* ! SkipSpaces - skips any spaces. ! *) ! ! @findex SkipSpaces ! PROCEDURE SkipSpaces (cid: IOChan.ChanId) ; ! ! ! (* The following procedures do not read past line marks. *) ! ! @findex CharAvailable ! PROCEDURE CharAvailable (cid: IOChan.ChanId) : BOOLEAN ; ! ! ! @findex EofOrEoln ! PROCEDURE EofOrEoln (cid: IOChan.ChanId) : BOOLEAN ; ! ! ! END TextUtil. ! @end example ! @page ! ! @node gm2-libs-iso/WholeConv, gm2-libs-iso/WholeIO, gm2-libs-iso/TextUtil, M2 ISO Libraries @subsection gm2-libs-iso/WholeConv @example diff -Nrcpad gcc-13.2.0/gcc/m2/tools-src/checkmeta.py gcc-13.3.0/gcc/m2/tools-src/checkmeta.py *** gcc-13.2.0/gcc/m2/tools-src/checkmeta.py Thu Jan 1 00:00:00 1970 --- gcc-13.3.0/gcc/m2/tools-src/checkmeta.py Tue May 21 07:47:38 2024 *************** *** 0 **** --- 1,123 ---- + #!/usr/bin/env python3 + + # utility to check meta errors for simple format spec mistakes. + + # Copyright (C) 2016-2023 Free Software Foundation, Inc. + # + # This file is part of GNU Modula-2. + # + # GNU Modula-2 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. + # + # GNU Modula-2 is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with GNU Modula-2; see the file COPYING. If not, write to the + # Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA + # 02110-1301, USA. + + import argparse + import os + import pathlib + import sys + + + exit_code = 0 + + + def visit_dir(directory, ext, func): + # visit_dir - call func for each file below, dir, matching extension, ext. + list_of_files = os.listdir(directory) + list_of_files.sort() + for filename in list_of_files: + path = pathlib.Path(filename) + full = os.path.join(directory, filename) + if path.suffix == ext: + func(full) + + + def check_format_spec(filename, line, no): + global exit_code + + percent = line.find('%') + if percent >= 0: + specifier = False + for ch in line[percent:]: + if ch in ['{', '%']: + pass + elif ch in ['1', '2', '3', '4']: + if specifier: + sys.stderr.write('%s:%d: format specifier error, the symbol position digit must be before the specifier: %s\n' % (filename, no, line)) + exit_code = 1 + else: + specifier = True + + + def search_format(filename, line, no): + cbra = line.find('{') + while cbra >= 0: + colon = line.find(':', cbra) + end = line.find('}', cbra) + if end >= 0: + if (colon >= 0) and (colon < end): + end = colon + check_format_spec(filename, line[cbra:end], no) + cbra = line.find('{', end) + else: + return + + + def check_string_quote (filename, line, no, quote): + end = line.find(quote, 1) + if end > 0: + search_format(filename, line[1:end], no) + + + def check_string (filename, line, no): + quote = line.find("'") + if quote >= 0: + check_string_quote(filename, line[quote:], no, "'") + quote = line.find('"') + if quote >= 0: + check_string_quote(filename, line[quote:], no, '"') + + + def check_meta_spec (filename): + lines = open(filename).readlines() + extra = 0 + for no, line in enumerate(lines): + if extra > 0: + extra -= 1 + check_string(filename, line, no+1) + elif "Meta" in line: + meta = line.find("Meta") + if meta >= 0: + bra = line.find("(", meta) + if bra >= 0: + check_string(filename, line[bra:], no+1) + extra = 1 + + + def handle_arguments(): + # handle_arguments create and return the args object. + parser = argparse.ArgumentParser() + parser.add_argument('-s', '--srcdir', + help='set source directory.', + default='.', action='store') + args = parser.parse_args() + return args + + + def main(): + args = handle_arguments() + visit_dir(args.srcdir, '.mod', check_meta_spec) + visit_dir(args.srcdir, '.bnf', check_meta_spec) + sys.exit(exit_code) + + + main() diff -Nrcpad gcc-13.2.0/gcc/match.pd gcc-13.3.0/gcc/match.pd *** gcc-13.2.0/gcc/match.pd Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/match.pd Tue May 21 07:47:38 2024 *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 355,362 **** /* (x >= 0 ? x : 0) + (x <= 0 ? -x : 0) -> abs x. */ (simplify ! (plus:c (max @0 integer_zerop) (max (negate @0) integer_zerop)) ! (abs @0)) /* X * 1, X / 1 -> X. */ (for op (mult trunc_div ceil_div floor_div round_div exact_div) --- 355,363 ---- /* (x >= 0 ? x : 0) + (x <= 0 ? -x : 0) -> abs x. */ (simplify ! (plus:c (max @0 integer_zerop) (max (negate @0) integer_zerop)) ! (if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)) ! (abs @0))) /* X * 1, X / 1 -> X. */ (for op (mult trunc_div ceil_div floor_div round_div exact_div) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 996,1001 **** --- 997,1016 ---- && tree_nop_conversion_p (type, TREE_TYPE (@1))) (lshift @0 @2))) + /* Shifts by precision or greater result in zero. */ + (for shift (lshift rshift) + (simplify + (shift @0 uniform_integer_cst_p@1) + (if ((GIMPLE || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT)) + /* Leave arithmetic right shifts of possibly negative values alone. */ + && (TYPE_UNSIGNED (type) + || shift == LSHIFT_EXPR + || tree_expr_nonnegative_p (@0)) + /* Use a signed compare to leave negative shift counts alone. */ + && wi::ges_p (wi::to_wide (uniform_integer_cst_p (@1)), + element_precision (type))) + { build_zero_cst (type); }))) + /* Shifts by constants distribute over several binary operations, hence (X << C) + (Y << C) can be simplified to (X + Y) << C. */ (for op (plus minus) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1946,1951 **** --- 1961,1967 ---- (bit_and:c (convert? (cmp@0 @01 @02)) @3) (bit_and:c (convert? (icmp@4 @01 @02)) @5)) (if (INTEGRAL_TYPE_P (type) + && invert_tree_comparison (cmp, HONOR_NANS (@01)) == icmp /* The scalar version has to be canonicalized after vectorization because it makes unconditional loads conditional ones, which means we lose vectorization because the loads may trap. */ *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1960,1965 **** --- 1976,1982 ---- (cond (cmp@0 @01 @02) @3 zerop) (cond (icmp@4 @01 @02) @5 zerop)) (if (INTEGRAL_TYPE_P (type) + && invert_tree_comparison (cmp, HONOR_NANS (@01)) == icmp /* The scalar version has to be canonicalized after vectorization because it makes unconditional loads conditional ones, which means we lose vectorization because the loads may trap. */ *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1972,1984 **** (bit_ior (bit_and:c (vec_cond:s (cmp@0 @6 @7) @4 @5) @2) (bit_and:c (vec_cond:s (icmp@1 @6 @7) @4 @5) @3)) ! (if (integer_zerop (@5)) (switch (if (integer_onep (@4)) (bit_and (vec_cond @0 @2 @3) @4)) (if (integer_minus_onep (@4)) (vec_cond @0 @2 @3))) ! (if (integer_zerop (@4)) (switch (if (integer_onep (@5)) (bit_and (vec_cond @0 @3 @2) @5)) --- 1989,2003 ---- (bit_ior (bit_and:c (vec_cond:s (cmp@0 @6 @7) @4 @5) @2) (bit_and:c (vec_cond:s (icmp@1 @6 @7) @4 @5) @3)) ! (if (integer_zerop (@5) ! && invert_tree_comparison (cmp, HONOR_NANS (@6)) == icmp) (switch (if (integer_onep (@4)) (bit_and (vec_cond @0 @2 @3) @4)) (if (integer_minus_onep (@4)) (vec_cond @0 @2 @3))) ! (if (integer_zerop (@4) ! && invert_tree_comparison (cmp, HONOR_NANS (@6)) == icmp) (switch (if (integer_onep (@5)) (bit_and (vec_cond @0 @3 @2) @5)) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 1991,1997 **** (bit_ior (vec_cond:s (cmp@0 @4 @5) @2 integer_zerop) (vec_cond:s (icmp@1 @4 @5) @3 integer_zerop)) ! (vec_cond @0 @2 @3))) /* Transform X & -Y into X * Y when Y is { 0 or 1 }. */ (simplify --- 2010,2017 ---- (bit_ior (vec_cond:s (cmp@0 @4 @5) @2 integer_zerop) (vec_cond:s (icmp@1 @4 @5) @3 integer_zerop)) ! (if (invert_tree_comparison (cmp, HONOR_NANS (@4)) == icmp) ! (vec_cond @0 @2 @3)))) /* Transform X & -Y into X * Y when Y is { 0 or 1 }. */ (simplify *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 3602,3609 **** /* (x <= 0 ? -x : 0) -> max(-x, 0). */ (simplify ! (cond (le @0 integer_zerop@1) (negate@2 @0) integer_zerop@1) ! (max @2 @1)) /* ((x & 0x1) == 0) ? y : z y -> (-(typeof(y))(x & 0x1) & z) y */ (for op (bit_xor bit_ior) --- 3622,3630 ---- /* (x <= 0 ? -x : 0) -> max(-x, 0). */ (simplify ! (cond (le @0 integer_zerop@1) (negate@2 @0) integer_zerop@1) ! (if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)) ! (max @2 @1))) /* ((x & 0x1) == 0) ? y : z y -> (-(typeof(y))(x & 0x1) & z) y */ (for op (bit_xor bit_ior) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 4167,4172 **** --- 4188,4194 ---- (simplify (float (fix_trunc @0)) (if (!flag_trapping_math + && !HONOR_SIGNED_ZEROS (type) && types_match (type, TREE_TYPE (@0)) && direct_internal_fn_supported_p (IFN_TRUNC, type, OPTIMIZE_FOR_BOTH)) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 4455,4469 **** /* (c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e) */ (simplify (op (vec_cond:s @0 @1 @2) (vec_cond:s @0 @3 @4)) ! (vec_cond @0 (op! @1 @3) (op! @2 @4))) /* (c ? a : b) op d --> c ? (a op d) : (b op d) */ (simplify (op (vec_cond:s @0 @1 @2) @3) ! (vec_cond @0 (op! @1 @3) (op! @2 @3))) (simplify (op @3 (vec_cond:s @0 @1 @2)) ! (vec_cond @0 (op! @3 @1) (op! @3 @2)))) #if GIMPLE (match (nop_atomic_bit_test_and_p @0 @1 @4) --- 4477,4512 ---- /* (c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e) */ (simplify (op (vec_cond:s @0 @1 @2) (vec_cond:s @0 @3 @4)) ! (if (TREE_CODE_CLASS (op) != tcc_comparison ! || types_match (type, TREE_TYPE (@1)) ! || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ! || (optimize_vectors_before_lowering_p () ! /* The following is optimistic on the side of non-support, we are ! missing the legacy vcond{,u,eq} cases. Do this only when ! lowering will be able to fixup.. */ ! && !expand_vec_cond_expr_p (TREE_TYPE (@1), ! TREE_TYPE (@0), ERROR_MARK))) ! (vec_cond @0 (op! @1 @3) (op! @2 @4)))) /* (c ? a : b) op d --> c ? (a op d) : (b op d) */ (simplify (op (vec_cond:s @0 @1 @2) @3) ! (if (TREE_CODE_CLASS (op) != tcc_comparison ! || types_match (type, TREE_TYPE (@1)) ! || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ! || (optimize_vectors_before_lowering_p () ! && !expand_vec_cond_expr_p (TREE_TYPE (@1), ! TREE_TYPE (@0), ERROR_MARK))) ! (vec_cond @0 (op! @1 @3) (op! @2 @3)))) (simplify (op @3 (vec_cond:s @0 @1 @2)) ! (if (TREE_CODE_CLASS (op) != tcc_comparison ! || types_match (type, TREE_TYPE (@1)) ! || expand_vec_cond_expr_p (type, TREE_TYPE (@0), ERROR_MARK) ! || (optimize_vectors_before_lowering_p () ! && !expand_vec_cond_expr_p (TREE_TYPE (@1), ! TREE_TYPE (@0), ERROR_MARK))) ! (vec_cond @0 (op! @3 @1) (op! @3 @2))))) #if GIMPLE (match (nop_atomic_bit_test_and_p @0 @1 @4) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 4546,4551 **** --- 4589,4598 ---- /* (v ? w : 0) ? a : b is just (v & w) ? a : b Currently disabled after pass lvec because ARM understands VEC_COND_EXPR but not a plain v==w fed to BIT_IOR_EXPR. */ + #if GIMPLE + /* These can only be done in gimple as fold likes to convert: + (CMP) & N into (CMP) ? N : 0 + and we try to match the same pattern again and again. */ (simplify (vec_cond (vec_cond:s @0 @3 integer_zerop) @1 @2) (if (optimize_vectors_before_lowering_p () && types_match (@0, @3)) *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 4580,4585 **** --- 4627,4633 ---- (vec_cond @0 @3 (vec_cond:s @1 @2 @3)) (if (optimize_vectors_before_lowering_p () && types_match (@0, @1)) (vec_cond (bit_and (bit_not @0) @1) @2 @3))) + #endif /* Canonicalize mask ? { 0, ... } : { -1, ...} to ~mask if the mask types are compatible. */ *************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) *** 5780,5798 **** >= TYPE_PRECISION (TREE_TYPE (@10))) && (TYPE_UNSIGNED (TREE_TYPE (@00)) == TYPE_UNSIGNED (TREE_TYPE (@10)))) ! || (TREE_CODE (@10) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (@00)) ! && int_fits_type_p (@10, TREE_TYPE (@00))))) (cmp @00 (convert @10)) ! (if (TREE_CODE (@10) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (@00)) ! && !int_fits_type_p (@10, TREE_TYPE (@00))) (with { tree min = lower_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00)); tree max = upper_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00)); ! bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, @10)); ! bool below = integer_nonzerop (const_binop (LT_EXPR, type, @10, min)); } (if (above || below) (if (cmp == EQ_EXPR || cmp == NE_EXPR) --- 5828,5846 ---- >= TYPE_PRECISION (TREE_TYPE (@10))) && (TYPE_UNSIGNED (TREE_TYPE (@00)) == TYPE_UNSIGNED (TREE_TYPE (@10)))) ! || (TREE_CODE (@1) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (@00)) ! && int_fits_type_p (@1, TREE_TYPE (@00))))) (cmp @00 (convert @10)) ! (if (TREE_CODE (@1) == INTEGER_CST && INTEGRAL_TYPE_P (TREE_TYPE (@00)) ! && !int_fits_type_p (@1, TREE_TYPE (@00))) (with { tree min = lower_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00)); tree max = upper_bound_in_type (TREE_TYPE (@10), TREE_TYPE (@00)); ! bool above = integer_nonzerop (const_binop (LT_EXPR, type, max, @1)); ! bool below = integer_nonzerop (const_binop (LT_EXPR, type, @1, min)); } (if (above || below) (if (cmp == EQ_EXPR || cmp == NE_EXPR) *************** and, *** 8292,8298 **** (simplify (vec_perm vec_same_elem_p@0 @0 @1) ! @0) /* Push VEC_PERM earlier if that may help FMA perception (PR101895). */ (simplify --- 8340,8353 ---- (simplify (vec_perm vec_same_elem_p@0 @0 @1) ! (if (types_match (type, TREE_TYPE (@0))) ! @0 ! (with ! { ! tree elem = uniform_vector_p (@0); ! } ! (if (elem) ! { build_vector_from_val (type, elem); })))) /* Push VEC_PERM earlier if that may help FMA perception (PR101895). */ (simplify diff -Nrcpad gcc-13.2.0/gcc/objc/ChangeLog gcc-13.3.0/gcc/objc/ChangeLog *** gcc-13.2.0/gcc/objc/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/objc/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,53 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-05-04 Iain Sandoe + + Backported from master: + 2024-05-02 Iain Sandoe + + * objc-next-runtime-abi-02.cc (WEAK_PROTOCOLS_AFTER): New. + (next_runtime_abi_02_protocol_decl): Use WEAK_PROTOCOLS_AFTER + to determine this ABI change. + (build_v2_protocol_list_address_table): Likewise. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-28 Iain Sandoe + + * objc-next-runtime-abi-02.cc (build_v2_address_table): Prevent + over-alignment of Objective-C metadata by setting DECL_USER_ALIGN + on relevant variables. + (build_v2_protocol_list_address_table): Likewise. + (generate_v2_protocol_list): Likewise. + (generate_v2_meth_descriptor_table): Likewise. + (generate_v2_meth_type_list): Likewise. + (generate_v2_property_table): Likewise. + (generate_v2_dispatch_table): Likewise. + (generate_v2_ivars_list): Likewise. + (generate_v2_class_structs): Likewise. + (build_ehtype): Likewise. + * objc-runtime-shared-support.cc (generate_strings): Likewise. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-18 Iain Sandoe + + * objc-act.cc (objc_init): Initialize interface and class + name hash maps before the preprocessor uses them. + + 2024-03-31 Iain Sandoe + + Backported from master: + 2024-01-12 Iain Sandoe + + * objc-next-runtime-abi-02.cc + (build_v2_objc_method_fixup_call): Early exit for cases + where the sender or receiver are known to be in error. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/objc/objc-act.cc gcc-13.3.0/gcc/objc/objc-act.cc *** gcc-13.2.0/gcc/objc/objc-act.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/objc/objc-act.cc Tue May 21 07:47:38 2024 *************** bool *** 345,350 **** --- 345,355 ---- objc_init (void) { bool ok; + + /* Set up stuff used by the preprocessor as well as FE parser. */ + interface_hash_init (); + hash_init (); + #ifdef OBJCPLUS if (cxx_init () == false) #else *************** objc_init (void) *** 374,381 **** /* Set up stuff used by FE parser and all runtimes. */ errbuf = XNEWVEC (char, 1024 * 10); - interface_hash_init (); - hash_init (); objc_encoding_init (); /* ... and then check flags and set-up for the selected runtime ... */ if (flag_next_runtime && flag_objc_abi >= 2) --- 379,384 ---- diff -Nrcpad gcc-13.2.0/gcc/objc/objc-next-runtime-abi-02.cc gcc-13.3.0/gcc/objc/objc-next-runtime-abi-02.cc *** gcc-13.2.0/gcc/objc/objc-next-runtime-abi-02.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/objc/objc-next-runtime-abi-02.cc Tue May 21 07:47:38 2024 *************** along with GCC; see the file COPYING3. *** 72,77 **** --- 72,78 ---- #define TAG_MSGSENDSUPER_STRET "objc_msgSendSuper2_stret" #define USE_FIXUP_BEFORE 100600 + #define WEAK_PROTOCOLS_AFTER 100700 #define TAG_FIXUP "_fixup" *************** next_runtime_abi_02_protocol_decl (tree *** 1025,1031 **** /* static struct _objc_protocol _OBJC_Protocol_; */ snprintf (buf, BUFSIZE, "_OBJC_Protocol_%s", IDENTIFIER_POINTER (PROTOCOL_NAME (p))); ! if (flag_next_runtime >= USE_FIXUP_BEFORE) { decl = create_hidden_decl (objc_v2_protocol_template, buf); DECL_WEAK (decl) = true; --- 1026,1032 ---- /* static struct _objc_protocol _OBJC_Protocol_; */ snprintf (buf, BUFSIZE, "_OBJC_Protocol_%s", IDENTIFIER_POINTER (PROTOCOL_NAME (p))); ! if (flag_next_runtime >= WEAK_PROTOCOLS_AFTER) { decl = create_hidden_decl (objc_v2_protocol_template, buf); DECL_WEAK (decl) = true; *************** build_v2_objc_method_fixup_call (int sup *** 1657,1662 **** --- 1658,1665 ---- rcv_p = (super_flag ? objc_super_type : objc_object_type); lookup_object = build_c_cast (input_location, rcv_p, lookup_object); + if (sender == error_mark_node || lookup_object == error_mark_node) + return error_mark_node; /* Use SAVE_EXPR to avoid evaluating the receiver twice. */ lookup_object = save_expr (lookup_object); *************** build_v2_address_table (vec *** 2244,2249 **** --- 2247,2253 ---- DECL_PRESERVE_P (decl) = 1; expr = objc_build_constructor (type, initlist); OBJCMETA (decl, objc_meta, attr); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, expr); } *************** build_v2_protocol_list_address_table (vo *** 2309,2315 **** gcc_assert (ref->id && TREE_CODE (ref->id) == PROTOCOL_INTERFACE_TYPE); snprintf (buf, BUFSIZE, "_OBJC_LabelProtocol_%s", IDENTIFIER_POINTER (PROTOCOL_NAME (ref->id))); ! if (flag_next_runtime >= USE_FIXUP_BEFORE) { decl = create_hidden_decl (objc_protocol_type, buf, /*is def=*/true); DECL_WEAK (decl) = true; --- 2313,2319 ---- gcc_assert (ref->id && TREE_CODE (ref->id) == PROTOCOL_INTERFACE_TYPE); snprintf (buf, BUFSIZE, "_OBJC_LabelProtocol_%s", IDENTIFIER_POINTER (PROTOCOL_NAME (ref->id))); ! if (flag_next_runtime >= WEAK_PROTOCOLS_AFTER) { decl = create_hidden_decl (objc_protocol_type, buf, /*is def=*/true); DECL_WEAK (decl) = true; *************** build_v2_protocol_list_address_table (vo *** 2318,2325 **** decl = create_global_decl (objc_protocol_type, buf, /*is def=*/true); expr = convert (objc_protocol_type, build_fold_addr_expr (ref->refdecl)); OBJCMETA (decl, objc_meta, meta_label_protocollist); - finish_var_decl (decl, expr); DECL_PRESERVE_P (decl) = 1; } /* TODO: delete the vec. */ --- 2322,2330 ---- decl = create_global_decl (objc_protocol_type, buf, /*is def=*/true); expr = convert (objc_protocol_type, build_fold_addr_expr (ref->refdecl)); OBJCMETA (decl, objc_meta, meta_label_protocollist); DECL_PRESERVE_P (decl) = 1; + DECL_USER_ALIGN (decl) = 1; + finish_var_decl (decl, expr); } /* TODO: delete the vec. */ *************** generate_v2_protocol_list (tree i_or_p, *** 2397,2402 **** --- 2402,2408 ---- /* ObjC2 puts all these in the base section. */ OBJCMETA (refs_decl, objc_meta, meta_base); DECL_PRESERVE_P (refs_decl) = 1; + DECL_USER_ALIGN (refs_decl) = 1; finish_var_decl (refs_decl, objc_build_constructor (TREE_TYPE (refs_decl),initlist)); return refs_decl; *************** generate_v2_meth_descriptor_table (tree *** 2505,2510 **** --- 2511,2517 ---- CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, initlist); /* Get into the right section. */ OBJCMETA (decl, objc_meta, attr); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, objc_build_constructor (method_list_template, v)); return decl; } *************** generate_v2_meth_type_list (vec& a *** 2523,2535 **** IDENTIFIER_POINTER (PROTOCOL_NAME (protocol))); tree decl = start_var_decl (list_type, nam); free (nam); - OBJCMETA (decl, objc_meta, meta_base); vec *v = NULL; for (unsigned i = 0; i < size; ++i) CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, add_objc_string (METHOD_ENCODING (all_meths[i]), meth_var_types)); finish_var_decl (decl, objc_build_constructor (list_type, v)); return decl; } --- 2530,2543 ---- IDENTIFIER_POINTER (PROTOCOL_NAME (protocol))); tree decl = start_var_decl (list_type, nam); free (nam); vec *v = NULL; for (unsigned i = 0; i < size; ++i) CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, add_objc_string (METHOD_ENCODING (all_meths[i]), meth_var_types)); + OBJCMETA (decl, objc_meta, meta_base); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, objc_build_constructor (list_type, v)); return decl; } *************** generate_v2_property_table (tree context *** 2652,2657 **** --- 2660,2666 ---- CONSTRUCTOR_APPEND_ELT (inits, NULL_TREE, initlist); OBJCMETA (decl, objc_meta, meta_base); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), inits)); return decl; } *************** generate_v2_dispatch_table (tree chain, *** 2863,2868 **** --- 2872,2878 ---- CONSTRUCTOR_APPEND_ELT (v, NULL_TREE, initlist); OBJCMETA (decl, objc_meta, attr); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), v)); return decl; *************** generate_v2_ivars_list (tree chain, cons *** 3160,3165 **** --- 3170,3176 ---- build_int_cst (integer_type_node, size)); CONSTRUCTOR_APPEND_ELT (inits, NULL_TREE, initlist); OBJCMETA (decl, objc_meta, attr); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), inits)); generating_instance_variables = 0; return decl; *************** generate_v2_class_structs (struct imp_en *** 3427,3433 **** decl = start_var_decl (objc_v2_class_ro_template, newabi_append_ro (IDENTIFIER_POINTER (DECL_NAME (metaclass_decl)))); - /* TODO: ivarLayout needs t be built. */ initlist = build_v2_class_ro_t_initializer (TREE_TYPE (decl), name_expr, --- 3438,3443 ---- *************** generate_v2_class_structs (struct imp_en *** 3437,3442 **** --- 3447,3453 ---- class_ivars, NULL_TREE); /* The ROs sit in the default const section. */ OBJCMETA (decl, objc_meta, meta_base); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, initlist); /* static struct class_t _OBJC_METACLASS_Foo = { ... }; */ *************** generate_v2_class_structs (struct imp_en *** 3448,3453 **** --- 3459,3465 ---- build_fold_addr_expr (UOBJC_V2_CACHE_decl), build_fold_addr_expr (UOBJC_V2_VTABLE_decl)); /* The class section attributes are set when they are created. */ + DECL_USER_ALIGN (metaclass_decl) = 1; finish_var_decl (metaclass_decl, initlist); impent->meta_decl = metaclass_decl; *************** generate_v2_class_structs (struct imp_en *** 3527,3532 **** --- 3539,3545 ---- inst_ivars, props); /* The ROs sit in the default const section. */ OBJCMETA (decl, objc_meta, meta_base); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, initlist); /* static struct class_t _OBJC_CLASS_Foo = { ... }; */ *************** generate_v2_class_structs (struct imp_en *** 3538,3543 **** --- 3551,3557 ---- build_fold_addr_expr (UOBJC_V2_VTABLE_decl)); /* The class section attributes are set when they are created. */ + DECL_USER_ALIGN (class_decl) = 1; finish_var_decl (class_decl, initlist); impent->class_decl = class_decl; *************** build_ehtype (tree name, const char *eh_ *** 3712,3717 **** --- 3726,3732 ---- DECL_WEAK (ehtype_decl) = 1; inits = objc2_build_ehtype_initializer (name_expr, class_name_expr); OBJCMETA (ehtype_decl, objc_meta, meta_ehtype); + DECL_USER_ALIGN (ehtype_decl) = 1; finish_var_decl (ehtype_decl, inits); return ehtype_decl; } diff -Nrcpad gcc-13.2.0/gcc/objc/objc-runtime-shared-support.cc gcc-13.3.0/gcc/objc/objc-runtime-shared-support.cc *** gcc-13.2.0/gcc/objc/objc-runtime-shared-support.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/objc/objc-runtime-shared-support.cc Tue May 21 07:47:38 2024 *************** generate_strings (void) *** 684,689 **** --- 684,690 ---- decl = TREE_PURPOSE (chain); string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1, IDENTIFIER_POINTER (string)); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, string_expr); } *************** generate_strings (void) *** 693,698 **** --- 694,700 ---- decl = TREE_PURPOSE (chain); string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1, IDENTIFIER_POINTER (string)); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, string_expr); } *************** generate_strings (void) *** 702,707 **** --- 704,710 ---- decl = TREE_PURPOSE (chain); string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1, IDENTIFIER_POINTER (string)); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, string_expr); } *************** generate_strings (void) *** 711,716 **** --- 714,720 ---- decl = TREE_PURPOSE (chain); string_expr = my_build_string (IDENTIFIER_LENGTH (string) + 1, IDENTIFIER_POINTER (string)); + DECL_USER_ALIGN (decl) = 1; finish_var_decl (decl, string_expr); } } diff -Nrcpad gcc-13.2.0/gcc/objcp/ChangeLog gcc-13.3.0/gcc/objcp/ChangeLog *** gcc-13.2.0/gcc/objcp/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/objcp/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,7 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/omp-expand.cc gcc-13.3.0/gcc/omp-expand.cc *** gcc-13.2.0/gcc/omp-expand.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/omp-expand.cc Tue May 21 07:47:38 2024 *************** expand_omp_for_init_vars (struct omp_for *** 2561,2567 **** tree factor = fd->factor; gcond *cond_stmt = expand_omp_build_cond (gsi, NE_EXPR, factor, ! build_zero_cst (TREE_TYPE (factor))); edge e = split_block (gsi_bb (*gsi), cond_stmt); basic_block bb0 = e->src; e->flags = EDGE_TRUE_VALUE; --- 2561,2568 ---- tree factor = fd->factor; gcond *cond_stmt = expand_omp_build_cond (gsi, NE_EXPR, factor, ! build_zero_cst (TREE_TYPE (factor)), ! true); edge e = split_block (gsi_bb (*gsi), cond_stmt); basic_block bb0 = e->src; e->flags = EDGE_TRUE_VALUE; diff -Nrcpad gcc-13.2.0/gcc/optabs-libfuncs.cc gcc-13.3.0/gcc/optabs-libfuncs.cc *** gcc-13.2.0/gcc/optabs-libfuncs.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/optabs-libfuncs.cc Tue May 21 07:47:38 2024 *************** gen_trunc_conv_libfunc (convert_optab ta *** 589,595 **** if (GET_MODE_CLASS (float_tmode) != GET_MODE_CLASS (float_fmode)) gen_interclass_conv_libfunc (tab, opname, float_tmode, float_fmode); ! if (GET_MODE_PRECISION (float_fmode) <= GET_MODE_PRECISION (float_tmode)) return; if (GET_MODE_CLASS (float_tmode) == GET_MODE_CLASS (float_fmode)) --- 589,597 ---- if (GET_MODE_CLASS (float_tmode) != GET_MODE_CLASS (float_fmode)) gen_interclass_conv_libfunc (tab, opname, float_tmode, float_fmode); ! if (GET_MODE_PRECISION (float_fmode) <= GET_MODE_PRECISION (float_tmode) ! && (REAL_MODE_FORMAT (float_tmode) != &arm_bfloat_half_format ! || REAL_MODE_FORMAT (float_fmode) != &ieee_half_format)) return; if (GET_MODE_CLASS (float_tmode) == GET_MODE_CLASS (float_fmode)) diff -Nrcpad gcc-13.2.0/gcc/opts.cc gcc-13.3.0/gcc/opts.cc *** gcc-13.2.0/gcc/opts.cc Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/opts.cc Tue May 21 07:47:38 2024 *************** static void set_Wstrict_aliasing (struct *** 49,55 **** const char *const debug_type_names[] = { ! "none", "stabs", "dwarf-2", "xcoff", "vms", "ctf", "btf" }; /* Bitmasks of fundamental debug info formats indexed by enum --- 49,55 ---- const char *const debug_type_names[] = { ! "none", "dwarf-2", "vms", "ctf", "btf" }; /* Bitmasks of fundamental debug info formats indexed by enum *************** static uint32_t debug_type_masks[] = *** 64,70 **** /* Names of the set of debug formats requested by user. Updated and accessed via debug_set_names. */ ! static char df_set_names[sizeof "none stabs dwarf-2 xcoff vms ctf btf"]; /* Get enum debug_info_type of the specified debug format, for error messages. Can be used only for individual debug format types. */ --- 64,70 ---- /* Names of the set of debug formats requested by user. Updated and accessed via debug_set_names. */ ! static char df_set_names[sizeof "none dwarf-2 vms ctf btf"]; /* Get enum debug_info_type of the specified debug format, for error messages. Can be used only for individual debug format types. */ diff -Nrcpad gcc-13.2.0/gcc/params.opt gcc-13.3.0/gcc/params.opt *** gcc-13.2.0/gcc/params.opt Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/params.opt Tue May 21 07:47:38 2024 *************** Emit instrumentation calls to __tsan_fun *** 1114,1119 **** --- 1114,1128 ---- Common Joined UInteger Var(param_uninit_control_dep_attempts) Init(1000) IntegerRange(1, 65536) Param Optimization Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. + -param=uninit-max-chain-len= + Common Joined UInteger Var(param_uninit_max_chain_len) Init(8) IntegerRange(1, 128) Param Optimization + Maximum number of predicates anded for each predicate ored in the normalized + predicate chain. + + -param=uninit-max-num-chains= + Common Joined UInteger Var(param_uninit_max_num_chains) Init(8) IntegerRange(1, 128) Param Optimization + Maximum number of predicates ored in the normalized predicate chain. + -param=uninlined-function-insns= Common Joined UInteger Var(param_uninlined_function_insns) Init(2) Optimization IntegerRange(0, 1000000) Param Instruction accounted for function prologue, epilogue and other overhead. diff -Nrcpad gcc-13.2.0/gcc/po/ChangeLog gcc-13.3.0/gcc/po/ChangeLog *** gcc-13.2.0/gcc/po/ChangeLog Thu Jul 27 08:13:35 2023 --- gcc-13.3.0/gcc/po/ChangeLog Tue May 21 07:47:38 2024 *************** *** 1,3 **** --- 1,29 ---- + 2024-05-21 Release Manager + + * GCC 13.3.0 released. + + 2024-02-19 Joseph Myers + + * zh_CN.po: Update. + + 2024-02-07 Joseph Myers + + * zh_CN.po: Update. + + 2024-02-05 Joseph Myers + + * zh_CN.po: Update. + + 2023-07-31 Joseph Myers + + * sv.po: Update. + + 2023-07-28 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. + 2023-07-27 Release Manager * GCC 13.2.0 released. diff -Nrcpad gcc-13.2.0/gcc/po/be.po gcc-13.3.0/gcc/po/be.po *** gcc-13.2.0/gcc/po/be.po Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/po/be.po Tue May 21 07:47:38 2024 *************** msgid "" *** 6,12 **** msgstr "" "Project-Id-Version: gcc 3.1\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" ! "POT-Creation-Date: 2023-04-25 21:43+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: 2023-07-26 18:38+0000\n" "PO-Revision-Date: 2002-05-17 15:54+0200\n" "Last-Translator: Ales Nyakhaychyk \n" "Language-Team: Belarusian \n" *************** msgstr "" *** 348,359 **** msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "" ! #: config/darwin.h:213 config/darwin.h:596 #, fuzzy msgid "gsplit-dwarf is not supported on this platform" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/darwin.h:277 #, fuzzy #| msgid "-pipe is not supported" msgid "rdynamic is not supported" --- 348,359 ---- msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "" ! #: config/darwin.h:213 config/darwin.h:604 #, fuzzy msgid "gsplit-dwarf is not supported on this platform" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/darwin.h:276 #, fuzzy #| msgid "-pipe is not supported" msgid "rdynamic is not supported" *************** msgstr "" *** 3629,3943 **** #: d/lang.opt:143 #, no-c-format msgid "Warn from speculative compiles such as __traits(compiles)." msgstr "" ! #: d/lang.opt:155 #, no-c-format msgid "Generate JSON file." msgstr "" ! #: d/lang.opt:159 #, no-c-format msgid "-Xf \tWrite JSON output to the given ." msgstr "" ! #: d/lang.opt:163 #, no-c-format msgid "Debug library to use instead of phobos." msgstr "" ! #: d/lang.opt:167 #, no-c-format msgid "Default library to use instead of phobos." msgstr "" ! #: d/lang.opt:171 #, no-c-format msgid "Do link the standard D startup files in the compilation." msgstr "" ! #: d/lang.opt:178 #, fuzzy, no-c-format msgid "Generate code for all template instantiations." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:182 #, fuzzy, no-c-format msgid "Generate code for assert contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:190 #, no-c-format msgid "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code only, or off." msgstr "" ! #: d/lang.opt:232 #, no-c-format msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." msgstr "" ! #: d/lang.opt:248 #, no-c-format msgid "Compile in debug code." msgstr "" ! #: d/lang.opt:252 #, no-c-format msgid "-fdebug=\tCompile in debug code identified by ." msgstr "" ! #: d/lang.opt:256 #, fuzzy, no-c-format #| msgid "Generate ELF output" msgid "Generate documentation." msgstr "Стварыць ELF-вывад" ! #: d/lang.opt:260 #, no-c-format msgid "-fdoc-dir=\tWrite documentation file to directory ." msgstr "" ! #: d/lang.opt:264 #, no-c-format msgid "-fdoc-file=\tWrite documentation to ." msgstr "" ! #: d/lang.opt:268 #, no-c-format msgid "-fdoc-inc=\tInclude a Ddoc macro ." msgstr "" ! #: d/lang.opt:272 #, no-c-format msgid "Assume that standard D runtime libraries and \"D main\" exist." msgstr "" ! #: d/lang.opt:276 #, no-c-format msgid "Add comments for ignored declarations in the generated C++ header." msgstr "" ! #: d/lang.opt:280 #, no-c-format msgid "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." msgstr "" ! #: d/lang.opt:284 #, no-c-format msgid "Display the frontend AST after parsing and semantic passes." msgstr "" ! #: d/lang.opt:288 #, no-c-format msgid "-fextern-std=\tSet C++ name mangling compatibility with ." msgstr "" ! #: d/lang.opt:313 #, fuzzy, no-c-format #| msgid "unsupported version" msgid "Ignore unsupported pragmas." msgstr "непадтрымліваемая версія" ! #: d/lang.opt:317 #, fuzzy, no-c-format msgid "Generate code for class invariant contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:321 #, no-c-format msgid "Generate a default D main() function when compiling." msgstr "" ! #: d/lang.opt:325 #, no-c-format msgid "-fmodule-file==\tuse as source file for ." msgstr "" ! #: d/lang.opt:329 #, no-c-format msgid "Generate ModuleInfo struct for output module." msgstr "" ! #: d/lang.opt:333 #, no-c-format msgid "Process all modules specified on the command line, but only generate code for the module specified by the argument." msgstr "" ! #: d/lang.opt:337 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for postcondition contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:341 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for precondition contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:345 #, no-c-format msgid "Turn on all upcoming D language features." msgstr "" ! #: d/lang.opt:349 #, no-c-format msgid "Implement D bit-fields." msgstr "" ! #: d/lang.opt:353 #, no-c-format msgid "Implement DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:357 #, no-c-format msgid "Implement DIP1008: Allow exceptions in @nogc code." msgstr "" ! #: d/lang.opt:361 #, no-c-format msgid "Implement DIP1021: Mutable function arguments." msgstr "" ! #: d/lang.opt:365 #, no-c-format msgid "Destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:369 #, no-c-format msgid "Use field-wise comparisons for struct equality." msgstr "" ! #: d/lang.opt:373 #, no-c-format msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes." msgstr "" ! #: d/lang.opt:377 #, no-c-format msgid "Disallow unsound immutable conversions that were formerly incorrectly permitted." msgstr "" ! #: d/lang.opt:381 #, no-c-format msgid "Implement 'in' parameters to mean scope const." msgstr "" ! #: d/lang.opt:385 #, no-c-format msgid "Implement 'in' contracts of overridden methods to be a superset of parent contract." msgstr "" ! #: d/lang.opt:389 #, no-c-format msgid "Disable access to shared memory objects." msgstr "" ! #: d/lang.opt:393 #, no-c-format msgid "Enable rvalue arguments to ref parameters." msgstr "" ! #: d/lang.opt:397 #, no-c-format msgid "Disable access to variables marked `@system' from @safe code." msgstr "" ! #: d/lang.opt:401 #, no-c-format msgid "Compile release version." msgstr "" ! #: d/lang.opt:405 #, no-c-format msgid "Turn off all revertable D language features." msgstr "" ! #: d/lang.opt:409 #, no-c-format msgid "Revert DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:413 #, no-c-format msgid "Don't destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:417 #, no-c-format msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." msgstr "" ! #: d/lang.opt:425 #, no-c-format msgid "-fsave-mixins=\tExpand and save mixins to file specified by ." msgstr "" ! #: d/lang.opt:429 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for switches without a default case." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:433 #, no-c-format msgid "List information on all D language transitions." msgstr "" ! #: d/lang.opt:437 #, no-c-format msgid "List all non-mutable fields which occupy an object instance." msgstr "" ! #: d/lang.opt:441 #, no-c-format msgid "List all usages of 'in' on parameter." msgstr "" ! #: d/lang.opt:445 #, no-c-format msgid "List all hidden GC allocations." msgstr "" ! #: d/lang.opt:449 #, no-c-format msgid "List statistics on template instantiations." msgstr "" ! #: d/lang.opt:453 #, no-c-format msgid "List all variables going into thread local storage." msgstr "" ! #: d/lang.opt:457 #, no-c-format msgid "Compile in unittest code." msgstr "" ! #: d/lang.opt:461 #, no-c-format msgid "-fversion=\tCompile in version code identified by ." msgstr "" ! #: d/lang.opt:465 #, no-c-format msgid "Emit template instantiations as weak symbols." msgstr "" ! #: d/lang.opt:485 #, no-c-format msgid "Do not link the standard D library in the compilation." msgstr "" ! #: d/lang.opt:493 #, no-c-format msgid "Link the standard D library statically in the compilation." msgstr "" ! #: d/lang.opt:497 #, no-c-format msgid "Link the standard D library dynamically in the compilation." msgstr "" --- 3629,3948 ---- #: d/lang.opt:143 #, no-c-format + msgid "Warn when a special enum is declared with the wrong base type." + msgstr "" + + #: d/lang.opt:151 + #, no-c-format msgid "Warn from speculative compiles such as __traits(compiles)." msgstr "" ! #: d/lang.opt:163 #, no-c-format msgid "Generate JSON file." msgstr "" ! #: d/lang.opt:167 #, no-c-format msgid "-Xf \tWrite JSON output to the given ." msgstr "" ! #: d/lang.opt:171 #, no-c-format msgid "Debug library to use instead of phobos." msgstr "" ! #: d/lang.opt:175 #, no-c-format msgid "Default library to use instead of phobos." msgstr "" ! #: d/lang.opt:179 #, no-c-format msgid "Do link the standard D startup files in the compilation." msgstr "" ! #: d/lang.opt:186 #, fuzzy, no-c-format msgid "Generate code for all template instantiations." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:190 #, fuzzy, no-c-format msgid "Generate code for assert contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:198 #, no-c-format msgid "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code only, or off." msgstr "" ! #: d/lang.opt:240 #, no-c-format msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." msgstr "" ! #: d/lang.opt:256 #, no-c-format msgid "Compile in debug code." msgstr "" ! #: d/lang.opt:260 #, no-c-format msgid "-fdebug=\tCompile in debug code identified by ." msgstr "" ! #: d/lang.opt:264 #, fuzzy, no-c-format #| msgid "Generate ELF output" msgid "Generate documentation." msgstr "Стварыць ELF-вывад" ! #: d/lang.opt:268 #, no-c-format msgid "-fdoc-dir=\tWrite documentation file to directory ." msgstr "" ! #: d/lang.opt:272 #, no-c-format msgid "-fdoc-file=\tWrite documentation to ." msgstr "" ! #: d/lang.opt:276 #, no-c-format msgid "-fdoc-inc=\tInclude a Ddoc macro ." msgstr "" ! #: d/lang.opt:280 #, no-c-format msgid "Assume that standard D runtime libraries and \"D main\" exist." msgstr "" ! #: d/lang.opt:284 #, no-c-format msgid "Add comments for ignored declarations in the generated C++ header." msgstr "" ! #: d/lang.opt:288 #, no-c-format msgid "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." msgstr "" ! #: d/lang.opt:292 #, no-c-format msgid "Display the frontend AST after parsing and semantic passes." msgstr "" ! #: d/lang.opt:300 #, no-c-format msgid "-fextern-std=\tSet C++ name mangling compatibility with ." msgstr "" ! #: d/lang.opt:325 #, fuzzy, no-c-format #| msgid "unsupported version" msgid "Ignore unsupported pragmas." msgstr "непадтрымліваемая версія" ! #: d/lang.opt:329 #, fuzzy, no-c-format msgid "Generate code for class invariant contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:333 #, no-c-format msgid "Generate a default D main() function when compiling." msgstr "" ! #: d/lang.opt:337 #, no-c-format msgid "-fmodule-file==\tuse as source file for ." msgstr "" ! #: d/lang.opt:341 #, no-c-format msgid "Generate ModuleInfo struct for output module." msgstr "" ! #: d/lang.opt:345 #, no-c-format msgid "Process all modules specified on the command line, but only generate code for the module specified by the argument." msgstr "" ! #: d/lang.opt:349 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for postcondition contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:353 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for precondition contracts." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:357 #, no-c-format msgid "Turn on all upcoming D language features." msgstr "" ! #: d/lang.opt:361 #, no-c-format msgid "Implement D bit-fields." msgstr "" ! #: d/lang.opt:365 #, no-c-format msgid "Implement DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:369 #, no-c-format msgid "Implement DIP1008: Allow exceptions in @nogc code." msgstr "" ! #: d/lang.opt:373 #, no-c-format msgid "Implement DIP1021: Mutable function arguments." msgstr "" ! #: d/lang.opt:377 #, no-c-format msgid "Destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:381 #, no-c-format msgid "Use field-wise comparisons for struct equality." msgstr "" ! #: d/lang.opt:385 #, no-c-format msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes." msgstr "" ! #: d/lang.opt:389 #, no-c-format msgid "Disallow unsound immutable conversions that were formerly incorrectly permitted." msgstr "" ! #: d/lang.opt:393 #, no-c-format msgid "Implement 'in' parameters to mean scope const." msgstr "" ! #: d/lang.opt:397 #, no-c-format msgid "Implement 'in' contracts of overridden methods to be a superset of parent contract." msgstr "" ! #: d/lang.opt:401 #, no-c-format msgid "Disable access to shared memory objects." msgstr "" ! #: d/lang.opt:405 #, no-c-format msgid "Enable rvalue arguments to ref parameters." msgstr "" ! #: d/lang.opt:409 #, no-c-format msgid "Disable access to variables marked `@system' from @safe code." msgstr "" ! #: d/lang.opt:413 #, no-c-format msgid "Compile release version." msgstr "" ! #: d/lang.opt:417 #, no-c-format msgid "Turn off all revertable D language features." msgstr "" ! #: d/lang.opt:421 #, no-c-format msgid "Revert DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:425 #, no-c-format msgid "Don't destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:429 #, no-c-format msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." msgstr "" ! #: d/lang.opt:437 #, no-c-format msgid "-fsave-mixins=\tExpand and save mixins to file specified by ." msgstr "" ! #: d/lang.opt:441 #, fuzzy, no-c-format #| msgid "Generate code for Intel as" msgid "Generate code for switches without a default case." msgstr "Генерыраваць код для Intel as" ! #: d/lang.opt:445 #, no-c-format msgid "List information on all D language transitions." msgstr "" ! #: d/lang.opt:449 #, no-c-format msgid "List all non-mutable fields which occupy an object instance." msgstr "" ! #: d/lang.opt:453 #, no-c-format msgid "List all usages of 'in' on parameter." msgstr "" ! #: d/lang.opt:457 #, no-c-format msgid "List all hidden GC allocations." msgstr "" ! #: d/lang.opt:461 #, no-c-format msgid "List statistics on template instantiations." msgstr "" ! #: d/lang.opt:465 #, no-c-format msgid "List all variables going into thread local storage." msgstr "" ! #: d/lang.opt:469 #, no-c-format msgid "Compile in unittest code." msgstr "" ! #: d/lang.opt:473 #, no-c-format msgid "-fversion=\tCompile in version code identified by ." msgstr "" ! #: d/lang.opt:477 #, no-c-format msgid "Emit template instantiations as weak symbols." msgstr "" ! #: d/lang.opt:497 #, no-c-format msgid "Do not link the standard D library in the compilation." msgstr "" ! #: d/lang.opt:505 #, no-c-format msgid "Link the standard D library statically in the compilation." msgstr "" ! #: d/lang.opt:509 #, no-c-format msgid "Link the standard D library dynamically in the compilation." msgstr "" *************** msgstr "" *** 4880,5291 **** msgid "Generate code for darwin loadable kernel extensions." msgstr "Генерыраваць код для Intel as" ! #: config/darwin.opt:38 #, no-c-format ! msgid "-iframework \tAdd to the end of the system framework include path." msgstr "" #: config/darwin.opt:42 #, no-c-format ! msgid "Generate compile-time CFString objects." msgstr "" ! #: config/darwin.opt:46 #, no-c-format msgid "Warn if constant CFString objects contain non-portable characters." msgstr "" ! #: config/darwin.opt:51 #, no-c-format msgid "Generate AT&T-style stubs for Mach-O." msgstr "" ! #: config/darwin.opt:55 #, no-c-format msgid "Generate code suitable for executables (NOT shared libs)." msgstr "" ! #: config/darwin.opt:59 #, no-c-format msgid "Generate code suitable for fast turn around debugging." msgstr "" ! #: config/darwin.opt:63 #, fuzzy, no-c-format msgid "Generate code for the kernel or loadable kernel extensions." msgstr "Генерыраваць код для дадзенага ЦП" ! #: config/darwin.opt:71 #, no-c-format msgid "The earliest macOS version on which this program will run." msgstr "" ! #: config/darwin.opt:76 #, no-c-format msgid "Set sizeof(bool) to 1." msgstr "" ! #: config/darwin.opt:80 #, no-c-format msgid "Force generation of external symbol indirection stubs." msgstr "" ! #: config/darwin.opt:88 #, no-c-format msgid "-mtarget-linker \tSpecify that ld64 is the toolchain linker for the current invocation." msgstr "" ! #: config/darwin.opt:94 #, no-c-format msgid "Load all members of archive libraries, rather than only those that satisfy undefined symbols." msgstr "" ! #: config/darwin.opt:98 #, no-c-format msgid "-allowable_client \tThe output dylib is private to the client ." msgstr "" ! #: config/darwin.opt:102 #, no-c-format msgid "-arch \tGenerate output for architecture ." msgstr "" ! #: config/darwin.opt:106 #, no-c-format msgid "Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings." msgstr "" ! #: config/darwin.opt:110 #, no-c-format msgid "The earliest macOS version on which this program will run (formatted for the assembler)." msgstr "" ! #: config/darwin.opt:114 #, no-c-format msgid "Generate an output executable that binds symbols on load, rather than lazily." msgstr "" ! #: config/darwin.opt:118 #, no-c-format msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." msgstr "" ! #: config/darwin.opt:122 #, no-c-format msgid "-bundle_loader \tTreat (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution." msgstr "" ! #: config/darwin.opt:126 #, no-c-format msgid "-client_name \tEnable the executable being built to link against a private dylib (using allowable_client)." msgstr "" ! #: config/darwin.opt:130 #, no-c-format msgid "-compatibility_version \tSet the version for the client interface. Client programs must record a value less than or equal to , or the binding will fail at runtime." msgstr "" ! #: config/darwin.opt:134 #, no-c-format msgid "-current_version \tSet the current version for the library to ." msgstr "" ! #: config/darwin.opt:138 #, no-c-format msgid "Remove code and data that is unreachable from any exported symbol (including the entry point)." msgstr "" ! #: config/darwin.opt:142 #, no-c-format msgid "-dylib_file install_name:file_name\tThis allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"" msgstr "" ! #: config/darwin.opt:146 #, no-c-format msgid "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld." msgstr "" ! #: config/darwin.opt:150 #, no-c-format msgid "-dylinker_install_name \tOnly used for building dyld." msgstr "" ! #: config/darwin.opt:154 #, no-c-format msgid "The default (and opposite of -static), implied by user mode executables, shared libraries and bundles." msgstr "" ! #: config/darwin.opt:158 #, no-c-format msgid "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\"." msgstr "" ! #: config/darwin.opt:162 #, no-c-format msgid "-exported_symbols_list \tExport global symbols in in linked output file; any symbols not mentioned will be treated as \"hidden\"." msgstr "" ! #: config/darwin.opt:166 #, no-c-format msgid "Supply a list of objects to be linked from a file, rather than the command line." msgstr "" ! #: config/darwin.opt:170 config/darwin.opt:190 #, no-c-format msgid "Used for generating code for some older kernel revisions." msgstr "" ! #: config/darwin.opt:174 #, no-c-format msgid "Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol." msgstr "" ! #: config/darwin.opt:178 #, no-c-format msgid "For the assembler (and linker) permit any architecture sub-variant to be used without error." msgstr "" ! #: config/darwin.opt:182 #, no-c-format msgid "Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs." msgstr "" ! #: config/darwin.opt:186 #, no-c-format msgid "-framework \tThe linker should search for the framework in the framework search path." msgstr "" ! #: config/darwin.opt:194 #, no-c-format msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:198 #, no-c-format msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:202 #, no-c-format msgid "Automatically adds space for longer path names in load commands (up to MAXPATHLEN)." msgstr "" ! #: config/darwin.opt:206 #, no-c-format msgid "-image_base
\tSpecify
as the base address for a dylib or bundle." msgstr "" ! #: config/darwin.opt:210 #, no-c-format msgid "-init \tThe symbol will be used as the first initialiser for a dylib." msgstr "" ! #: config/darwin.opt:214 #, no-c-format msgid "-install_name \tSet the install name for a dylib." msgstr "" ! #: config/darwin.opt:218 #, no-c-format msgid "Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported." msgstr "" ! #: config/darwin.opt:222 #, no-c-format msgid "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." msgstr "" ! #: config/darwin.opt:226 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism for warning about symbols defined in multiple dylibs." msgstr "" ! #: config/darwin.opt:230 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined_unused \tProvided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs." msgstr "" ! #: config/darwin.opt:234 #, no-c-format msgid "(Obsolete) Current linkers never dead-strip these items, so the option is not needed." msgstr "" ! #: config/darwin.opt:238 #, no-c-format msgid "Do not add a default symbol exports to modules or dynamic libraries." msgstr "" ! #: config/darwin.opt:242 #, no-c-format msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." msgstr "" ! #: config/darwin.opt:246 #, no-c-format msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." msgstr "" ! #: config/darwin.opt:250 config/darwin.opt:265 config/darwin.opt:269 #, fuzzy, no-c-format msgid "(Obsolete) LD_PREBIND is no longer supported." msgstr "-pipe не падтрымліваецца." ! #: config/darwin.opt:254 #, no-c-format msgid "(Obsolete) This is the default." msgstr "" ! #: config/darwin.opt:261 #, no-c-format msgid "-pagezero_size \tAllows setting the page 0 size to 4kb when required." msgstr "" ! #: config/darwin.opt:273 #, no-c-format msgid "Produces a Mach-O file suitable for embedded/ROM use." msgstr "" ! #: config/darwin.opt:277 #, no-c-format msgid "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable." msgstr "" ! #: config/darwin.opt:284 #, no-c-format msgid "Synonym for \"-export-dynamic\" for linker versions that support it." msgstr "" ! #: config/darwin.opt:288 #, no-c-format msgid "-read_only_relocs \tAllow relocations in read-only pages (not recommended)." msgstr "" ! #: config/darwin.opt:292 #, no-c-format msgid "-sectalign \tSet section in segment to have alignment which must be an integral power of two expressed in hexadecimal form." msgstr "" ! #: config/darwin.opt:296 #, no-c-format msgid "-sectcreate \tCreate section in segment from the contents of ." msgstr "" ! #: config/darwin.opt:300 #, no-c-format msgid "(Obsolete) -sectobjectsymbols \tSetting a local symbol at the start of a section is no longer supported." msgstr "" ! #: config/darwin.opt:304 #, no-c-format msgid "(Obsolete) -sectorder \tReplaced by a more general option \"-order_file\"." msgstr "" ! #: config/darwin.opt:308 #, no-c-format msgid "-seg_addr_table \tSpecify the base addresses for dynamic libraries; contains a line for each library." msgstr "" ! #: config/darwin.opt:313 #, no-c-format msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." msgstr "" ! #: config/darwin.opt:317 #, no-c-format msgid "Synonym for \"image_base\"." msgstr "" ! #: config/darwin.opt:321 #, no-c-format msgid "-segaddr
\tSet the base address of segment to
which must be aligned to a page boundary (currently 4kb)." msgstr "" ! #: config/darwin.opt:326 #, no-c-format msgid "(Obsolete, ld_classic only) -sectcreate \tAllowed creation of a section from a file." msgstr "" ! #: config/darwin.opt:330 #, no-c-format msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." msgstr "" ! #: config/darwin.opt:334 #, no-c-format msgid "-segprot \tThe virtual memory protections for segment have maximum and initial values and respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\"." msgstr "" ! #: config/darwin.opt:338 #, no-c-format msgid "-segs_read_only_addr
\tSpecify that
is the base address of the read-only segments of a dylib." msgstr "" ! #: config/darwin.opt:342 #, no-c-format msgid "-segs_read_write_addr
\tSpecify that
is the base address address of the read-write segments of a dylib." msgstr "" ! #: config/darwin.opt:346 #, no-c-format msgid "(Obsolete)\tThis is the default." msgstr "" ! #: config/darwin.opt:350 #, no-c-format msgid "-sub_library \tLibrary named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:354 #, no-c-format msgid "-sub_umbrella \tFramework named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:358 #, no-c-format msgid "This is the default." msgstr "" ! #: config/darwin.opt:362 #, no-c-format msgid "Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged)." msgstr "" ! #: config/darwin.opt:366 #, no-c-format msgid "-umbrella \tThe specified framework will be re-exported." msgstr "" ! #: config/darwin.opt:370 #, no-c-format msgid "-undefined \tSpecify the handling for undefined symbols (default is error)." msgstr "" ! #: config/darwin.opt:374 #, no-c-format msgid "-unexported_symbols_list \tDo not export the global symbols listed in ." msgstr "" ! #: config/darwin.opt:378 #, no-c-format msgid "-weak_reference_mismatches \tSpecifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak." msgstr "" ! #: config/darwin.opt:382 #, no-c-format msgid "Logs which object files the linker loads." msgstr "" ! #: config/darwin.opt:386 #, no-c-format msgid "Logs which symbol(s) caused an object to be loaded." msgstr "" ! #: config/darwin.opt:394 #, no-c-format msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." msgstr "" ! #: config/darwin.opt:398 #, no-c-format msgid "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable (only handled by ld_classic)." msgstr "" --- 4885,5296 ---- msgid "Generate code for darwin loadable kernel extensions." msgstr "Генерыраваць код для Intel as" ! #: config/darwin.opt:38 config/darwin.opt:46 #, no-c-format ! msgid "Generate compile-time CFString objects." msgstr "" #: config/darwin.opt:42 #, no-c-format ! msgid "-iframework \tAdd to the end of the system framework include path." msgstr "" ! #: config/darwin.opt:50 #, no-c-format msgid "Warn if constant CFString objects contain non-portable characters." msgstr "" ! #: config/darwin.opt:55 #, no-c-format msgid "Generate AT&T-style stubs for Mach-O." msgstr "" ! #: config/darwin.opt:59 #, no-c-format msgid "Generate code suitable for executables (NOT shared libs)." msgstr "" ! #: config/darwin.opt:63 #, no-c-format msgid "Generate code suitable for fast turn around debugging." msgstr "" ! #: config/darwin.opt:67 #, fuzzy, no-c-format msgid "Generate code for the kernel or loadable kernel extensions." msgstr "Генерыраваць код для дадзенага ЦП" ! #: config/darwin.opt:75 #, no-c-format msgid "The earliest macOS version on which this program will run." msgstr "" ! #: config/darwin.opt:80 #, no-c-format msgid "Set sizeof(bool) to 1." msgstr "" ! #: config/darwin.opt:84 #, no-c-format msgid "Force generation of external symbol indirection stubs." msgstr "" ! #: config/darwin.opt:92 #, no-c-format msgid "-mtarget-linker \tSpecify that ld64 is the toolchain linker for the current invocation." msgstr "" ! #: config/darwin.opt:98 #, no-c-format msgid "Load all members of archive libraries, rather than only those that satisfy undefined symbols." msgstr "" ! #: config/darwin.opt:102 #, no-c-format msgid "-allowable_client \tThe output dylib is private to the client ." msgstr "" ! #: config/darwin.opt:106 #, no-c-format msgid "-arch \tGenerate output for architecture ." msgstr "" ! #: config/darwin.opt:110 #, no-c-format msgid "Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings." msgstr "" ! #: config/darwin.opt:114 #, no-c-format msgid "The earliest macOS version on which this program will run (formatted for the assembler)." msgstr "" ! #: config/darwin.opt:118 #, no-c-format msgid "Generate an output executable that binds symbols on load, rather than lazily." msgstr "" ! #: config/darwin.opt:122 #, no-c-format msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." msgstr "" ! #: config/darwin.opt:126 #, no-c-format msgid "-bundle_loader \tTreat (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution." msgstr "" ! #: config/darwin.opt:130 #, no-c-format msgid "-client_name \tEnable the executable being built to link against a private dylib (using allowable_client)." msgstr "" ! #: config/darwin.opt:134 #, no-c-format msgid "-compatibility_version \tSet the version for the client interface. Client programs must record a value less than or equal to , or the binding will fail at runtime." msgstr "" ! #: config/darwin.opt:138 #, no-c-format msgid "-current_version \tSet the current version for the library to ." msgstr "" ! #: config/darwin.opt:142 #, no-c-format msgid "Remove code and data that is unreachable from any exported symbol (including the entry point)." msgstr "" ! #: config/darwin.opt:146 #, no-c-format msgid "-dylib_file install_name:file_name\tThis allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"" msgstr "" ! #: config/darwin.opt:150 #, no-c-format msgid "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld." msgstr "" ! #: config/darwin.opt:154 #, no-c-format msgid "-dylinker_install_name \tOnly used for building dyld." msgstr "" ! #: config/darwin.opt:158 #, no-c-format msgid "The default (and opposite of -static), implied by user mode executables, shared libraries and bundles." msgstr "" ! #: config/darwin.opt:162 #, no-c-format msgid "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\"." msgstr "" ! #: config/darwin.opt:166 #, no-c-format msgid "-exported_symbols_list \tExport global symbols in in linked output file; any symbols not mentioned will be treated as \"hidden\"." msgstr "" ! #: config/darwin.opt:170 #, no-c-format msgid "Supply a list of objects to be linked from a file, rather than the command line." msgstr "" ! #: config/darwin.opt:174 config/darwin.opt:194 #, no-c-format msgid "Used for generating code for some older kernel revisions." msgstr "" ! #: config/darwin.opt:178 #, no-c-format msgid "Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol." msgstr "" ! #: config/darwin.opt:182 #, no-c-format msgid "For the assembler (and linker) permit any architecture sub-variant to be used without error." msgstr "" ! #: config/darwin.opt:186 #, no-c-format msgid "Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs." msgstr "" ! #: config/darwin.opt:190 #, no-c-format msgid "-framework \tThe linker should search for the framework in the framework search path." msgstr "" ! #: config/darwin.opt:198 #, no-c-format msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:202 #, no-c-format msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:206 #, no-c-format msgid "Automatically adds space for longer path names in load commands (up to MAXPATHLEN)." msgstr "" ! #: config/darwin.opt:210 #, no-c-format msgid "-image_base
\tSpecify
as the base address for a dylib or bundle." msgstr "" ! #: config/darwin.opt:214 #, no-c-format msgid "-init \tThe symbol will be used as the first initialiser for a dylib." msgstr "" ! #: config/darwin.opt:218 #, no-c-format msgid "-install_name \tSet the install name for a dylib." msgstr "" ! #: config/darwin.opt:222 #, no-c-format msgid "Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported." msgstr "" ! #: config/darwin.opt:226 #, no-c-format msgid "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." msgstr "" ! #: config/darwin.opt:230 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism for warning about symbols defined in multiple dylibs." msgstr "" ! #: config/darwin.opt:234 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined_unused \tProvided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs." msgstr "" ! #: config/darwin.opt:238 #, no-c-format msgid "(Obsolete) Current linkers never dead-strip these items, so the option is not needed." msgstr "" ! #: config/darwin.opt:242 #, no-c-format msgid "Do not add a default symbol exports to modules or dynamic libraries." msgstr "" ! #: config/darwin.opt:246 #, no-c-format msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." msgstr "" ! #: config/darwin.opt:250 #, no-c-format msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." msgstr "" ! #: config/darwin.opt:254 config/darwin.opt:269 config/darwin.opt:273 #, fuzzy, no-c-format msgid "(Obsolete) LD_PREBIND is no longer supported." msgstr "-pipe не падтрымліваецца." ! #: config/darwin.opt:258 #, no-c-format msgid "(Obsolete) This is the default." msgstr "" ! #: config/darwin.opt:265 #, no-c-format msgid "-pagezero_size \tAllows setting the page 0 size to 4kb when required." msgstr "" ! #: config/darwin.opt:277 #, no-c-format msgid "Produces a Mach-O file suitable for embedded/ROM use." msgstr "" ! #: config/darwin.opt:281 #, no-c-format msgid "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable." msgstr "" ! #: config/darwin.opt:288 #, no-c-format msgid "Synonym for \"-export-dynamic\" for linker versions that support it." msgstr "" ! #: config/darwin.opt:292 #, no-c-format msgid "-read_only_relocs \tAllow relocations in read-only pages (not recommended)." msgstr "" ! #: config/darwin.opt:296 #, no-c-format msgid "-sectalign \tSet section in segment to have alignment which must be an integral power of two expressed in hexadecimal form." msgstr "" ! #: config/darwin.opt:300 #, no-c-format msgid "-sectcreate \tCreate section in segment from the contents of ." msgstr "" ! #: config/darwin.opt:304 #, no-c-format msgid "(Obsolete) -sectobjectsymbols \tSetting a local symbol at the start of a section is no longer supported." msgstr "" ! #: config/darwin.opt:308 #, no-c-format msgid "(Obsolete) -sectorder \tReplaced by a more general option \"-order_file\"." msgstr "" ! #: config/darwin.opt:312 #, no-c-format msgid "-seg_addr_table \tSpecify the base addresses for dynamic libraries; contains a line for each library." msgstr "" ! #: config/darwin.opt:317 #, no-c-format msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." msgstr "" ! #: config/darwin.opt:321 #, no-c-format msgid "Synonym for \"image_base\"." msgstr "" ! #: config/darwin.opt:325 #, no-c-format msgid "-segaddr
\tSet the base address of segment to
which must be aligned to a page boundary (currently 4kb)." msgstr "" ! #: config/darwin.opt:330 #, no-c-format msgid "(Obsolete, ld_classic only) -sectcreate \tAllowed creation of a section from a file." msgstr "" ! #: config/darwin.opt:334 #, no-c-format msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." msgstr "" ! #: config/darwin.opt:338 #, no-c-format msgid "-segprot \tThe virtual memory protections for segment have maximum and initial values and respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\"." msgstr "" ! #: config/darwin.opt:342 #, no-c-format msgid "-segs_read_only_addr
\tSpecify that
is the base address of the read-only segments of a dylib." msgstr "" ! #: config/darwin.opt:346 #, no-c-format msgid "-segs_read_write_addr
\tSpecify that
is the base address address of the read-write segments of a dylib." msgstr "" ! #: config/darwin.opt:350 #, no-c-format msgid "(Obsolete)\tThis is the default." msgstr "" ! #: config/darwin.opt:354 #, no-c-format msgid "-sub_library \tLibrary named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:358 #, no-c-format msgid "-sub_umbrella \tFramework named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:362 #, no-c-format msgid "This is the default." msgstr "" ! #: config/darwin.opt:366 #, no-c-format msgid "Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged)." msgstr "" ! #: config/darwin.opt:370 #, no-c-format msgid "-umbrella \tThe specified framework will be re-exported." msgstr "" ! #: config/darwin.opt:374 #, no-c-format msgid "-undefined \tSpecify the handling for undefined symbols (default is error)." msgstr "" ! #: config/darwin.opt:378 #, no-c-format msgid "-unexported_symbols_list \tDo not export the global symbols listed in ." msgstr "" ! #: config/darwin.opt:382 #, no-c-format msgid "-weak_reference_mismatches \tSpecifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak." msgstr "" ! #: config/darwin.opt:386 #, no-c-format msgid "Logs which object files the linker loads." msgstr "" ! #: config/darwin.opt:390 #, no-c-format msgid "Logs which symbol(s) caused an object to be loaded." msgstr "" ! #: config/darwin.opt:398 #, no-c-format msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." msgstr "" ! #: config/darwin.opt:402 #, no-c-format msgid "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable (only handled by ld_classic)." msgstr "" *************** msgstr "" *** 5781,5786 **** --- 5786,5796 ---- msgid "Set the version of RISC-V ISA spec." msgstr "" + #: config/riscv/riscv.opt:260 + #, no-c-format + msgid "Always inline subword atomic operations." + msgstr "" + #: config/m32c/m32c.opt:23 #, no-c-format msgid "-msim\tUse simulator runtime." *************** msgid "" *** 17268,17274 **** "ldd output with constructors/destructors.\n" msgstr "" ! #: cprop.cc:1753 msgid "const/copy propagation disabled" msgstr "" --- 17278,17284 ---- "ldd output with constructors/destructors.\n" msgstr "" ! #: cprop.cc:1755 msgid "const/copy propagation disabled" msgstr "" *************** msgstr "" *** 18716,18722 **** msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" msgstr "" ! #: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6349 #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 #, gcc-internal-format msgid "" --- 18726,18732 ---- msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" msgstr "" ! #: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6356 #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 #, gcc-internal-format msgid "" *************** msgstr "" *** 19033,19056 **** msgid "" msgstr "" ! #: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 #, fuzzy, c-format msgid "unsupported operand for code '%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 ! #: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 ! #: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 ! #: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 ! #: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 ! #: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 #, fuzzy, c-format msgid "invalid operand for '%%%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 ! #: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 #: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 #: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 #: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 --- 19043,19066 ---- msgid "" msgstr "" ! #: config/aarch64/aarch64.cc:11887 config/loongarch/loongarch.cc:4992 #, fuzzy, c-format msgid "unsupported operand for code '%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:11896 config/aarch64/aarch64.cc:11909 ! #: config/aarch64/aarch64.cc:11921 config/aarch64/aarch64.cc:11932 ! #: config/aarch64/aarch64.cc:11948 config/aarch64/aarch64.cc:11962 ! #: config/aarch64/aarch64.cc:11982 config/aarch64/aarch64.cc:12059 ! #: config/aarch64/aarch64.cc:12070 config/aarch64/aarch64.cc:12084 ! #: config/aarch64/aarch64.cc:12306 config/aarch64/aarch64.cc:12326 #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 #, fuzzy, c-format msgid "invalid operand for '%%%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:12000 config/aarch64/aarch64.cc:12011 ! #: config/aarch64/aarch64.cc:12166 config/aarch64/aarch64.cc:12177 #: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 #: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 #: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 *************** msgstr "Нерэчаісны выбар *** 19059,19194 **** msgid "invalid vector constant" msgstr "`%E' - нерэчаісная нязьменная тыпу string" ! #: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 #, c-format msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.cc:12057 #, fuzzy, c-format #| msgid "invalid register name for `%s'" msgid "incompatible register operand for '%%%c'" msgstr "нерэчаісная назва рэгістра `%s'" ! #: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 #, fuzzy, c-format msgid "missing operand" msgstr "прапушчан ініцыялізатар" ! #: config/aarch64/aarch64.cc:12208 #, fuzzy, c-format msgid "invalid constant" msgstr "Нерэчаісны выбар %s" ! #: config/aarch64/aarch64.cc:12211 #, fuzzy, c-format #| msgid "invalid %%d operand" msgid "invalid operand" msgstr "нерэчаісны %%d аперанд" ! #: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 #, fuzzy, c-format msgid "invalid operand prefix '%%%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:12364 #, fuzzy, c-format #| msgid "invalid address" msgid "invalid address mode" msgstr "нерэчаісны адрас" ! #: config/aarch64/aarch64.cc:27161 msgid "cannot combine GNU and SVE vectors in a binary operation" msgstr "" ! #: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 ! #: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "" ! #: config/alpha/alpha.cc:5134 config/bfin/bfin.cc:1428 #, fuzzy, c-format msgid "invalid %%J value" msgstr "дрэннае %%Q значэнне" ! #: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5578 #: config/or1k/or1k.cc:1249 #, c-format msgid "invalid %%r value" msgstr "нерэчаіснае значэньне %%r" ! #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 ! #: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 #, c-format msgid "invalid %%R value" msgstr "нерэчаіснае значэньне %%R" ! #: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 #: config/xtensa/xtensa.cc:2981 #, c-format msgid "invalid %%N value" msgstr "нерэчаіснае значэньне %%N" ! #: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 #, c-format msgid "invalid %%P value" msgstr "нерэчаіснае значэньне %%P" ! #: config/alpha/alpha.cc:5196 #, c-format msgid "invalid %%h value" msgstr "нерэчаіснае значэньне %%h" ! #: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:3001 #, c-format msgid "invalid %%L value" msgstr "нерэчаіснае значэньне %%L" ! #: config/alpha/alpha.cc:5223 #, c-format msgid "invalid %%m value" msgstr "нерэчаіснае значэньне %%m" ! #: config/alpha/alpha.cc:5229 #, c-format msgid "invalid %%M value" msgstr "нерэчаіснае значэньне %%M" ! #: config/alpha/alpha.cc:5266 #, c-format msgid "invalid %%U value" msgstr "нерэчаіснае значэньне %%U" ! #: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 #, c-format msgid "invalid %%s value" msgstr "нерэчаіснае значэньне %%v" ! #: config/alpha/alpha.cc:5285 #, c-format msgid "invalid %%C value" msgstr "нерэчаіснае значэньне %%C" ! #: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 #, c-format msgid "invalid %%E value" msgstr "нерэчаіснае значэньне %%E" ! #: config/alpha/alpha.cc:5347 config/alpha/alpha.cc:5397 #, c-format msgid "unknown relocation unspec" msgstr "" ! #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 ! #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 ! #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 ! #: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 #, c-format msgid "invalid %%xn code" msgstr "нерэчаіснае значэньне %%xn" ! #: config/alpha/alpha.cc:5462 #, fuzzy, c-format #| msgid "invalid address" msgid "invalid operand address" --- 19069,19204 ---- msgid "invalid vector constant" msgstr "`%E' - нерэчаісная нязьменная тыпу string" ! #: config/aarch64/aarch64.cc:12023 config/aarch64/aarch64.cc:12035 #, c-format msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.cc:12052 #, fuzzy, c-format #| msgid "invalid register name for `%s'" msgid "incompatible register operand for '%%%c'" msgstr "нерэчаісная назва рэгістра `%s'" ! #: config/aarch64/aarch64.cc:12118 config/arm/arm.cc:24721 #, fuzzy, c-format msgid "missing operand" msgstr "прапушчан ініцыялізатар" ! #: config/aarch64/aarch64.cc:12203 #, fuzzy, c-format msgid "invalid constant" msgstr "Нерэчаісны выбар %s" ! #: config/aarch64/aarch64.cc:12206 #, fuzzy, c-format #| msgid "invalid %%d operand" msgid "invalid operand" msgstr "нерэчаісны %%d аперанд" ! #: config/aarch64/aarch64.cc:12334 config/aarch64/aarch64.cc:12339 #, fuzzy, c-format msgid "invalid operand prefix '%%%c'" msgstr "Нерэчаісны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:12359 #, fuzzy, c-format #| msgid "invalid address" msgid "invalid address mode" msgstr "нерэчаісны адрас" ! #: config/aarch64/aarch64.cc:27156 msgid "cannot combine GNU and SVE vectors in a binary operation" msgstr "" ! #: config/alpha/alpha.cc:5081 config/i386/i386.cc:13585 ! #: config/rs6000/rs6000.cc:14365 config/sparc/sparc.cc:9370 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "" ! #: config/alpha/alpha.cc:5139 config/bfin/bfin.cc:1428 #, fuzzy, c-format msgid "invalid %%J value" msgstr "дрэннае %%Q значэнне" ! #: config/alpha/alpha.cc:5169 config/ia64/ia64.cc:5578 #: config/or1k/or1k.cc:1249 #, c-format msgid "invalid %%r value" msgstr "нерэчаіснае значэньне %%r" ! #: config/alpha/alpha.cc:5179 config/ia64/ia64.cc:5532 ! #: config/rs6000/rs6000.cc:14060 config/xtensa/xtensa.cc:3008 #, c-format msgid "invalid %%R value" msgstr "нерэчаіснае значэньне %%R" ! #: config/alpha/alpha.cc:5185 config/rs6000/rs6000.cc:13980 #: config/xtensa/xtensa.cc:2981 #, c-format msgid "invalid %%N value" msgstr "нерэчаіснае значэньне %%N" ! #: config/alpha/alpha.cc:5193 config/rs6000/rs6000.cc:14008 #, c-format msgid "invalid %%P value" msgstr "нерэчаіснае значэньне %%P" ! #: config/alpha/alpha.cc:5201 #, c-format msgid "invalid %%h value" msgstr "нерэчаіснае значэньне %%h" ! #: config/alpha/alpha.cc:5209 config/xtensa/xtensa.cc:3001 #, c-format msgid "invalid %%L value" msgstr "нерэчаіснае значэньне %%L" ! #: config/alpha/alpha.cc:5228 #, c-format msgid "invalid %%m value" msgstr "нерэчаіснае значэньне %%m" ! #: config/alpha/alpha.cc:5234 #, c-format msgid "invalid %%M value" msgstr "нерэчаіснае значэньне %%M" ! #: config/alpha/alpha.cc:5271 #, c-format msgid "invalid %%U value" msgstr "нерэчаіснае значэньне %%U" ! #: config/alpha/alpha.cc:5279 config/rs6000/rs6000.cc:14068 #, c-format msgid "invalid %%s value" msgstr "нерэчаіснае значэньне %%v" ! #: config/alpha/alpha.cc:5290 #, c-format msgid "invalid %%C value" msgstr "нерэчаіснае значэньне %%C" ! #: config/alpha/alpha.cc:5327 config/rs6000/rs6000.cc:13844 #, c-format msgid "invalid %%E value" msgstr "нерэчаіснае значэньне %%E" ! #: config/alpha/alpha.cc:5352 config/alpha/alpha.cc:5402 #, c-format msgid "unknown relocation unspec" msgstr "" ! #: config/alpha/alpha.cc:5361 config/gcn/gcn.cc:6949 config/gcn/gcn.cc:6958 ! #: config/gcn/gcn.cc:7018 config/gcn/gcn.cc:7026 config/gcn/gcn.cc:7042 ! #: config/gcn/gcn.cc:7060 config/gcn/gcn.cc:7111 config/gcn/gcn.cc:7230 ! #: config/gcn/gcn.cc:7341 config/rs6000/rs6000.cc:14370 #, c-format msgid "invalid %%xn code" msgstr "нерэчаіснае значэньне %%xn" ! #: config/alpha/alpha.cc:5467 #, fuzzy, c-format #| msgid "invalid address" msgid "invalid operand address" *************** msgstr "" *** 19329,19426 **** msgid "operation not permitted on type %" msgstr "" ! #: config/avr/avr.cc:2642 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" ! #: config/avr/avr.cc:2825 msgid "operands to %T/%t must be reg + const_int:" msgstr "" ! #: config/avr/avr.cc:2875 config/avr/avr.cc:2942 msgid "bad address, not an I/O address:" msgstr "" ! #: config/avr/avr.cc:2884 msgid "bad address, not a constant:" msgstr "" ! #: config/avr/avr.cc:2902 config/avr/avr.cc:2909 msgid "bad address, not (reg+disp):" msgstr "" ! #: config/avr/avr.cc:2916 msgid "bad address, not post_inc or pre_dec:" msgstr "" ! #: config/avr/avr.cc:2928 msgid "internal compiler error. Bad address:" msgstr "" ! #: config/avr/avr.cc:2961 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "" ! #: config/avr/avr.cc:2969 msgid "internal compiler error. Unknown mode:" msgstr "" ! #: config/avr/avr.cc:3866 config/avr/avr.cc:4810 config/avr/avr.cc:5257 #, fuzzy msgid "invalid insn:" msgstr "Нерэчаісны выбар %s" ! #: config/avr/avr.cc:3920 config/avr/avr.cc:4032 config/avr/avr.cc:4090 ! #: config/avr/avr.cc:4142 config/avr/avr.cc:4161 config/avr/avr.cc:4353 ! #: config/avr/avr.cc:4661 config/avr/avr.cc:4946 config/avr/avr.cc:5150 ! #: config/avr/avr.cc:5314 config/avr/avr.cc:5407 config/avr/avr.cc:5606 msgid "incorrect insn:" msgstr "" ! #: config/avr/avr.cc:4177 config/avr/avr.cc:4452 config/avr/avr.cc:4732 ! #: config/avr/avr.cc:5018 config/avr/avr.cc:5196 config/avr/avr.cc:5463 ! #: config/avr/avr.cc:5664 msgid "unknown move insn:" msgstr "" ! #: config/avr/avr.cc:6131 msgid "bad shift insn:" msgstr "" ! #: config/avr/avr.cc:6239 config/avr/avr.cc:6722 config/avr/avr.cc:7139 msgid "internal compiler error. Incorrect shift:" msgstr "" ! #: config/avr/avr.cc:8547 #, fuzzy #| msgid "unsupported version" msgid "unsupported fixed-point conversion" msgstr "непадтрымліваемая версія" ! #: config/avr/avr.cc:9916 msgid "variable" msgstr "" ! #: config/avr/avr.cc:9921 #, fuzzy msgid "function parameter" msgstr "невыкарыстаемы параметр \"%s\"" ! #: config/avr/avr.cc:9926 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "структура" ! #: config/avr/avr.cc:9932 #, fuzzy #| msgid "return type of `%s' is not `int'" msgid "return type of function" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: config/avr/avr.cc:9937 msgid "pointer" msgstr "" --- 19339,19436 ---- msgid "operation not permitted on type %" msgstr "" ! #: config/avr/avr.cc:2994 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" ! #: config/avr/avr.cc:3177 msgid "operands to %T/%t must be reg + const_int:" msgstr "" ! #: config/avr/avr.cc:3227 config/avr/avr.cc:3294 msgid "bad address, not an I/O address:" msgstr "" ! #: config/avr/avr.cc:3236 msgid "bad address, not a constant:" msgstr "" ! #: config/avr/avr.cc:3254 config/avr/avr.cc:3261 msgid "bad address, not (reg+disp):" msgstr "" ! #: config/avr/avr.cc:3268 msgid "bad address, not post_inc or pre_dec:" msgstr "" ! #: config/avr/avr.cc:3280 msgid "internal compiler error. Bad address:" msgstr "" ! #: config/avr/avr.cc:3313 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "" ! #: config/avr/avr.cc:3321 msgid "internal compiler error. Unknown mode:" msgstr "" ! #: config/avr/avr.cc:4196 config/avr/avr.cc:5140 config/avr/avr.cc:5587 #, fuzzy msgid "invalid insn:" msgstr "Нерэчаісны выбар %s" ! #: config/avr/avr.cc:4250 config/avr/avr.cc:4362 config/avr/avr.cc:4420 ! #: config/avr/avr.cc:4472 config/avr/avr.cc:4491 config/avr/avr.cc:4683 ! #: config/avr/avr.cc:4991 config/avr/avr.cc:5276 config/avr/avr.cc:5480 ! #: config/avr/avr.cc:5644 config/avr/avr.cc:5737 config/avr/avr.cc:5936 msgid "incorrect insn:" msgstr "" ! #: config/avr/avr.cc:4507 config/avr/avr.cc:4782 config/avr/avr.cc:5062 ! #: config/avr/avr.cc:5348 config/avr/avr.cc:5526 config/avr/avr.cc:5793 ! #: config/avr/avr.cc:5994 msgid "unknown move insn:" msgstr "" ! #: config/avr/avr.cc:6602 msgid "bad shift insn:" msgstr "" ! #: config/avr/avr.cc:6710 config/avr/avr.cc:7193 config/avr/avr.cc:7610 msgid "internal compiler error. Incorrect shift:" msgstr "" ! #: config/avr/avr.cc:9134 #, fuzzy #| msgid "unsupported version" msgid "unsupported fixed-point conversion" msgstr "непадтрымліваемая версія" ! #: config/avr/avr.cc:10506 msgid "variable" msgstr "" ! #: config/avr/avr.cc:10511 #, fuzzy msgid "function parameter" msgstr "невыкарыстаемы параметр \"%s\"" ! #: config/avr/avr.cc:10516 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "структура" ! #: config/avr/avr.cc:10522 #, fuzzy #| msgid "return type of `%s' is not `int'" msgid "return type of function" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: config/avr/avr.cc:10527 msgid "pointer" msgstr "" *************** msgstr "" *** 19673,19697 **** msgid "bad output_condmove_single operand" msgstr "" ! #: config/gcn/gcn.cc:6626 config/gcn/gcn.cc:6646 config/gcn/gcn.cc:6650 ! #: config/gcn/gcn.cc:6982 config/gcn/gcn.cc:6993 config/gcn/gcn.cc:6996 #, c-format msgid "bad ADDR_SPACE_GLOBAL address" msgstr "" ! #: config/gcn/gcn.cc:6762 config/gcn/gcn.cc:6785 config/gcn/gcn.cc:6817 ! #: config/gcn/gcn.cc:6833 config/gcn/gcn.cc:6848 config/gcn/gcn.cc:6867 ! #: config/gcn/gcn.cc:6931 config/gcn/gcn.cc:7127 config/gcn/gcn.cc:7242 #, fuzzy, c-format msgid "invalid operand %%xn code" msgstr "нерэчаісны %%-код" ! #: config/gcn/gcn.cc:7230 #, c-format msgid "operand %%xn code invalid for QImode" msgstr "" ! #: config/gcn/gcn.cc:7312 #, fuzzy, c-format #| msgid "invalid string constant `%E'" msgid "invalid fp constant" --- 19683,19707 ---- msgid "bad output_condmove_single operand" msgstr "" ! #: config/gcn/gcn.cc:6635 config/gcn/gcn.cc:6655 config/gcn/gcn.cc:6659 ! #: config/gcn/gcn.cc:6991 config/gcn/gcn.cc:7002 config/gcn/gcn.cc:7005 #, c-format msgid "bad ADDR_SPACE_GLOBAL address" msgstr "" ! #: config/gcn/gcn.cc:6771 config/gcn/gcn.cc:6794 config/gcn/gcn.cc:6826 ! #: config/gcn/gcn.cc:6842 config/gcn/gcn.cc:6857 config/gcn/gcn.cc:6876 ! #: config/gcn/gcn.cc:6940 config/gcn/gcn.cc:7136 config/gcn/gcn.cc:7251 #, fuzzy, c-format msgid "invalid operand %%xn code" msgstr "нерэчаісны %%-код" ! #: config/gcn/gcn.cc:7239 #, c-format msgid "operand %%xn code invalid for QImode" msgstr "" ! #: config/gcn/gcn.cc:7321 #, fuzzy, c-format #| msgid "invalid string constant `%E'" msgid "invalid fp constant" *************** msgstr "нерэчаісны %%-код" *** 19834,19840 **** msgid "invalid %%P operand" msgstr "нерэчаісны %%-код" ! #: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 #, c-format msgid "invalid %%p value" msgstr "" --- 19844,19850 ---- msgid "invalid %%P operand" msgstr "нерэчаісны %%-код" ! #: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13998 #, c-format msgid "invalid %%p value" msgstr "" *************** msgid "post-increment address is not a r *** 19915,19921 **** msgstr "" #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 ! #: config/rs6000/rs6000.cc:20711 msgid "bad address" msgstr "дрэнны адрас" --- 19925,19931 ---- msgstr "" #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 ! #: config/rs6000/rs6000.cc:20712 msgid "bad address" msgstr "дрэнны адрас" *************** msgstr "" *** 20137,20290 **** msgid "%<-mquad-memory%> is not available in little endian mode" msgstr "" ! #: config/rs6000/rs6000.cc:11087 msgid "bad move" msgstr "" ! #: config/rs6000/rs6000.cc:13627 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.cc:13807 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%A value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 #, fuzzy, c-format msgid "invalid %%D value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13831 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%e value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13852 #, c-format msgid "invalid %%f value" msgstr "" ! #: config/rs6000/rs6000.cc:13861 #, c-format msgid "invalid %%F value" msgstr "" ! #: config/rs6000/rs6000.cc:13870 #, c-format msgid "invalid %%G value" msgstr "" ! #: config/rs6000/rs6000.cc:13905 #, c-format msgid "invalid %%j code" msgstr "" ! #: config/rs6000/rs6000.cc:13915 #, c-format msgid "invalid %%J code" msgstr "" ! #: config/rs6000/rs6000.cc:13925 #, c-format msgid "invalid %%k value" msgstr "" ! #: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 #, c-format msgid "invalid %%K value" msgstr "" ! #: config/rs6000/rs6000.cc:13987 #, c-format msgid "invalid %%O value" msgstr "нерэчаіснае значэньне %%O" ! #: config/rs6000/rs6000.cc:14034 #, c-format msgid "invalid %%q value" msgstr "" ! #: config/rs6000/rs6000.cc:14076 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%t value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:14093 #, c-format msgid "invalid %%T value" msgstr "" ! #: config/rs6000/rs6000.cc:14105 #, c-format msgid "invalid %%u value" msgstr "" ! #: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 #, c-format msgid "invalid %%v value" msgstr "" ! #: config/rs6000/rs6000.cc:14169 #, c-format msgid "invalid %%V value" msgstr "нерэчаіснае значэньне %%V" ! #: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%x value" msgstr "нерэчаіснае значэньне %%x/X" ! #: config/rs6000/rs6000.cc:14242 #, c-format msgid "invalid %%z value" msgstr "" ! #: config/rs6000/rs6000.cc:14311 #, fuzzy, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/rs6000/rs6000.cc:15241 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" msgstr "" ! #: config/rs6000/rs6000.cc:24108 #, fuzzy #| msgid "too few arguments to function" msgid "AltiVec argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/rs6000/rs6000.cc:27730 #, fuzzy msgid "Could not generate addis value for fusion" msgstr "Стварыць код для DLL" ! #: config/rs6000/rs6000.cc:27799 msgid "Unable to generate load/store offset for fusion" msgstr "" ! #: config/rs6000/rs6000.cc:27875 msgid "Bad GPR fusion" msgstr "" ! #: config/rs6000/rs6000.cc:28477 msgid "invalid conversion from type %<__vector_quad%>" msgstr "" ! #: config/rs6000/rs6000.cc:28479 msgid "invalid conversion to type %<__vector_quad%>" msgstr "" ! #: config/rs6000/rs6000.cc:28481 msgid "invalid conversion from type %<__vector_pair%>" msgstr "" ! #: config/rs6000/rs6000.cc:28483 msgid "invalid conversion to type %<__vector_pair%>" msgstr "" --- 20147,20300 ---- msgid "%<-mquad-memory%> is not available in little endian mode" msgstr "" ! #: config/rs6000/rs6000.cc:11088 msgid "bad move" msgstr "" ! #: config/rs6000/rs6000.cc:13628 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.cc:13808 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%A value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13817 config/xtensa/xtensa.cc:2957 #, fuzzy, c-format msgid "invalid %%D value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13832 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%e value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:13853 #, c-format msgid "invalid %%f value" msgstr "" ! #: config/rs6000/rs6000.cc:13862 #, c-format msgid "invalid %%F value" msgstr "" ! #: config/rs6000/rs6000.cc:13871 #, c-format msgid "invalid %%G value" msgstr "" ! #: config/rs6000/rs6000.cc:13906 #, c-format msgid "invalid %%j code" msgstr "" ! #: config/rs6000/rs6000.cc:13916 #, c-format msgid "invalid %%J code" msgstr "" ! #: config/rs6000/rs6000.cc:13926 #, c-format msgid "invalid %%k value" msgstr "" ! #: config/rs6000/rs6000.cc:13941 config/xtensa/xtensa.cc:2994 #, c-format msgid "invalid %%K value" msgstr "" ! #: config/rs6000/rs6000.cc:13988 #, c-format msgid "invalid %%O value" msgstr "нерэчаіснае значэньне %%O" ! #: config/rs6000/rs6000.cc:14035 #, c-format msgid "invalid %%q value" msgstr "" ! #: config/rs6000/rs6000.cc:14077 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%t value" msgstr "дрэннае %%Q значэнне" ! #: config/rs6000/rs6000.cc:14094 #, c-format msgid "invalid %%T value" msgstr "" ! #: config/rs6000/rs6000.cc:14106 #, c-format msgid "invalid %%u value" msgstr "" ! #: config/rs6000/rs6000.cc:14120 config/xtensa/xtensa.cc:2969 #, c-format msgid "invalid %%v value" msgstr "" ! #: config/rs6000/rs6000.cc:14170 #, c-format msgid "invalid %%V value" msgstr "нерэчаіснае значэньне %%V" ! #: config/rs6000/rs6000.cc:14186 config/xtensa/xtensa.cc:3015 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%x value" msgstr "нерэчаіснае значэньне %%x/X" ! #: config/rs6000/rs6000.cc:14243 #, c-format msgid "invalid %%z value" msgstr "" ! #: config/rs6000/rs6000.cc:14312 #, fuzzy, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/rs6000/rs6000.cc:15242 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" msgstr "" ! #: config/rs6000/rs6000.cc:24109 #, fuzzy #| msgid "too few arguments to function" msgid "AltiVec argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/rs6000/rs6000.cc:27731 #, fuzzy msgid "Could not generate addis value for fusion" msgstr "Стварыць код для DLL" ! #: config/rs6000/rs6000.cc:27800 msgid "Unable to generate load/store offset for fusion" msgstr "" ! #: config/rs6000/rs6000.cc:27876 msgid "Bad GPR fusion" msgstr "" ! #: config/rs6000/rs6000.cc:28478 msgid "invalid conversion from type %<__vector_quad%>" msgstr "" ! #: config/rs6000/rs6000.cc:28480 msgid "invalid conversion to type %<__vector_quad%>" msgstr "" ! #: config/rs6000/rs6000.cc:28482 msgid "invalid conversion from type %<__vector_pair%>" msgstr "" ! #: config/rs6000/rs6000.cc:28484 msgid "invalid conversion to type %<__vector_pair%>" msgstr "" *************** msgstr "" *** 20564,20595 **** #. ; #. <~~~~~~~~~ declaration ~~~~~~~~~~> #. Use c_parser_require to get an error with a fix-it hint. ! #: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6160 ! #: c/c-parser.cc:6783 c/c-parser.cc:7212 c/c-parser.cc:7391 c/c-parser.cc:7424 ! #: c/c-parser.cc:7690 c/c-parser.cc:11761 c/c-parser.cc:11796 ! #: c/c-parser.cc:11827 c/c-parser.cc:11874 c/c-parser.cc:12055 ! #: c/c-parser.cc:12888 c/c-parser.cc:12963 c/c-parser.cc:13006 ! #: c/c-parser.cc:19399 c/c-parser.cc:19479 c/c-parser.cc:19808 ! #: c/c-parser.cc:19834 c/c-parser.cc:19857 c/c-parser.cc:20304 ! #: c/c-parser.cc:20348 c/gimple-parser.cc:406 c/gimple-parser.cc:447 #: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261 #: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404 #: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 ! #: c/c-parser.cc:12048 c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 ! #: cp/parser.cc:15350 cp/parser.cc:33085 cp/parser.cc:33721 #, gcc-internal-format msgid "expected %<;%>" msgstr "" #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 ! #: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9123 c/c-parser.cc:9191 ! #: c/c-parser.cc:9701 c/c-parser.cc:9726 c/c-parser.cc:9760 c/c-parser.cc:9872 ! #: c/c-parser.cc:10691 c/c-parser.cc:12162 c/c-parser.cc:14546 ! #: c/c-parser.cc:15260 c/c-parser.cc:15319 c/c-parser.cc:15374 ! #: c/c-parser.cc:17168 c/c-parser.cc:17288 c/c-parser.cc:18622 ! #: c/c-parser.cc:19899 c/c-parser.cc:20312 c/c-parser.cc:23397 ! #: c/c-parser.cc:23479 c/gimple-parser.cc:195 c/gimple-parser.cc:198 #: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580 #: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048 #: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208 --- 20574,20605 ---- #. ; #. <~~~~~~~~~ declaration ~~~~~~~~~~> #. Use c_parser_require to get an error with a fix-it hint. ! #: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6163 ! #: c/c-parser.cc:6786 c/c-parser.cc:7215 c/c-parser.cc:7394 c/c-parser.cc:7427 ! #: c/c-parser.cc:7693 c/c-parser.cc:11764 c/c-parser.cc:11799 ! #: c/c-parser.cc:11830 c/c-parser.cc:11877 c/c-parser.cc:12058 ! #: c/c-parser.cc:12891 c/c-parser.cc:12966 c/c-parser.cc:13009 ! #: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19811 ! #: c/c-parser.cc:19837 c/c-parser.cc:19860 c/c-parser.cc:20307 ! #: c/c-parser.cc:20351 c/gimple-parser.cc:406 c/gimple-parser.cc:447 #: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261 #: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404 #: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 ! #: c/c-parser.cc:12051 c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 ! #: cp/parser.cc:15350 cp/parser.cc:33084 cp/parser.cc:33720 #, gcc-internal-format msgid "expected %<;%>" msgstr "" #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 ! #: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9126 c/c-parser.cc:9194 ! #: c/c-parser.cc:9704 c/c-parser.cc:9729 c/c-parser.cc:9763 c/c-parser.cc:9875 ! #: c/c-parser.cc:10694 c/c-parser.cc:12165 c/c-parser.cc:14549 ! #: c/c-parser.cc:15263 c/c-parser.cc:15322 c/c-parser.cc:15377 ! #: c/c-parser.cc:17171 c/c-parser.cc:17291 c/c-parser.cc:18625 ! #: c/c-parser.cc:19902 c/c-parser.cc:20315 c/c-parser.cc:23400 ! #: c/c-parser.cc:23482 c/gimple-parser.cc:195 c/gimple-parser.cc:198 #: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580 #: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048 #: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208 *************** msgstr "" *** 20597,20611 **** #: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546 #: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991 #: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334 ! #: c/c-parser.cc:7642 cp/parser.cc:33769 #, gcc-internal-format msgid "expected %<)%>" msgstr "" #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 ! #: c/c-parser.cc:5475 c/c-parser.cc:5915 c/c-parser.cc:5959 c/c-parser.cc:7741 ! #: c/c-parser.cc:9863 c/c-parser.cc:10832 c/c-parser.cc:11186 ! #: c/c-parser.cc:13949 c/gimple-parser.cc:1755 cp/parser.cc:33733 #, gcc-internal-format msgid "expected %<]%>" msgstr "" --- 20607,20621 ---- #: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546 #: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991 #: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334 ! #: c/c-parser.cc:7645 cp/parser.cc:33768 #, gcc-internal-format msgid "expected %<)%>" msgstr "" #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 ! #: c/c-parser.cc:5475 c/c-parser.cc:5918 c/c-parser.cc:5962 c/c-parser.cc:7744 ! #: c/c-parser.cc:9866 c/c-parser.cc:10835 c/c-parser.cc:11189 ! #: c/c-parser.cc:13952 c/gimple-parser.cc:1755 cp/parser.cc:33732 #, gcc-internal-format msgid "expected %<]%>" msgstr "" *************** msgid "expected %<;%>, %<,%> or %<)%>" *** 20615,20726 **** msgstr "" #. Look for the two `(' tokens. ! #: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14529 ! #: c/c-parser.cc:15349 c/c-parser.cc:22673 c/c-parser.cc:23205 ! #: c/c-parser.cc:23422 c/gimple-parser.cc:180 c/gimple-parser.cc:488 #: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816 #: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195 #: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512 #: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960 #: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160 ! #: c/gimple-parser.cc:2331 c/c-parser.cc:14351 cp/parser.cc:33724 #, gcc-internal-format msgid "expected %<(%>" msgstr "" ! #: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13853 ! #: cp/parser.cc:33736 cp/parser.cc:37504 go/gofrontend/embed.cc:439 #, gcc-internal-format msgid "expected %<[%>" msgstr "" ! #: c/c-parser.cc:6096 c/c-parser.cc:12391 c/c-parser.cc:19374 ! #: c/c-parser.cc:19460 c/c-parser.cc:20118 c/c-parser.cc:20990 ! #: c/c-parser.cc:24653 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 ! #: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11943 ! #: cp/parser.cc:21039 cp/parser.cc:33730 go/gofrontend/embed.cc:370 #, gcc-internal-format msgid "expected %<{%>" msgstr "" ! #: c/c-parser.cc:6391 c/c-parser.cc:6400 c/c-parser.cc:8188 c/c-parser.cc:9328 ! #: c/c-parser.cc:12155 c/c-parser.cc:12552 c/c-parser.cc:12616 ! #: c/c-parser.cc:13931 c/c-parser.cc:14951 c/c-parser.cc:15177 ! #: c/c-parser.cc:15695 c/c-parser.cc:15796 c/c-parser.cc:16330 ! #: c/c-parser.cc:16766 c/c-parser.cc:16842 c/c-parser.cc:16959 ! #: c/c-parser.cc:17031 c/c-parser.cc:22535 c/c-parser.cc:23262 ! #: c/c-parser.cc:23321 c/gimple-parser.cc:582 c/gimple-parser.cc:887 ! #: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7649 ! #: c/c-parser.cc:14454 c/c-parser.cc:15801 cp/parser.cc:33763 ! #: cp/parser.cc:35465 cp/parser.cc:38352 cp/parser.cc:39227 #: go/gofrontend/embed.cc:403 #, gcc-internal-format msgid "expected %<:%>" msgstr "" ! #: c/c-parser.cc:7199 cp/parser.cc:33650 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:9086 c/c-parser.cc:9279 c/c-parser.cc:9750 c/c-parser.cc:9793 ! #: c/c-parser.cc:9934 c/c-parser.cc:10681 c/c-parser.cc:15354 ! #: c/c-parser.cc:16911 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 #: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534 ! #: c/gimple-parser.cc:1540 cp/parser.cc:33083 cp/parser.cc:33739 #, gcc-internal-format msgid "expected %<,%>" msgstr "" ! #: c/c-parser.cc:9647 msgid "expected %<.%>" msgstr "" ! #: c/c-parser.cc:11614 c/c-parser.cc:11646 c/c-parser.cc:11886 ! #: cp/parser.cc:36039 cp/parser.cc:36060 #, gcc-internal-format msgid "expected %<@end%>" msgstr "" ! #: c/c-parser.cc:12304 c/gimple-parser.cc:1370 cp/parser.cc:33748 #, gcc-internal-format msgid "expected %<>%>" msgstr "" ! #: c/c-parser.cc:15890 c/c-parser.cc:17306 cp/parser.cc:33772 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "" #. All following cases are statements with LHS. ! #: c/c-parser.cc:16758 c/c-parser.cc:19267 c/c-parser.cc:19314 ! #: c/c-parser.cc:19471 c/c-parser.cc:19818 c/c-parser.cc:20291 ! #: c/c-parser.cc:22742 c/c-parser.cc:23463 c/gimple-parser.cc:740 ! #: c/c-parser.cc:5982 c/c-parser.cc:19391 c/c-parser.cc:19614 ! #: cp/parser.cc:33751 cp/parser.cc:42079 cp/parser.cc:42252 #, gcc-internal-format msgid "expected %<=%>" msgstr "" ! #: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19835 ! #: c/c-parser.cc:20169 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 ! #: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33727 ! #: cp/parser.cc:36249 #, gcc-internal-format msgid "expected %<}%>" msgstr "" ! #: c/c-parser.cc:19495 cp/parser.cc:42177 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:21035 c/c-parser.cc:21024 cp/parser.cc:44437 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" ! #: c/c-parser.cc:24023 cp/parser.cc:48282 msgid "" msgstr "" --- 20625,20736 ---- msgstr "" #. Look for the two `(' tokens. ! #: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14532 ! #: c/c-parser.cc:15352 c/c-parser.cc:22676 c/c-parser.cc:23208 ! #: c/c-parser.cc:23425 c/gimple-parser.cc:180 c/gimple-parser.cc:488 #: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816 #: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195 #: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512 #: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960 #: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160 ! #: c/gimple-parser.cc:2331 c/c-parser.cc:14354 cp/parser.cc:33723 #, gcc-internal-format msgid "expected %<(%>" msgstr "" ! #: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13856 ! #: cp/parser.cc:33735 cp/parser.cc:37503 go/gofrontend/embed.cc:439 #, gcc-internal-format msgid "expected %<[%>" msgstr "" ! #: c/c-parser.cc:6099 c/c-parser.cc:12394 c/c-parser.cc:19377 ! #: c/c-parser.cc:19463 c/c-parser.cc:20121 c/c-parser.cc:20993 ! #: c/c-parser.cc:24656 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 ! #: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11946 ! #: cp/parser.cc:21039 cp/parser.cc:33729 go/gofrontend/embed.cc:370 #, gcc-internal-format msgid "expected %<{%>" msgstr "" ! #: c/c-parser.cc:6394 c/c-parser.cc:6403 c/c-parser.cc:8191 c/c-parser.cc:9331 ! #: c/c-parser.cc:12158 c/c-parser.cc:12555 c/c-parser.cc:12619 ! #: c/c-parser.cc:13934 c/c-parser.cc:14954 c/c-parser.cc:15180 ! #: c/c-parser.cc:15698 c/c-parser.cc:15799 c/c-parser.cc:16333 ! #: c/c-parser.cc:16769 c/c-parser.cc:16845 c/c-parser.cc:16962 ! #: c/c-parser.cc:17034 c/c-parser.cc:22538 c/c-parser.cc:23265 ! #: c/c-parser.cc:23324 c/gimple-parser.cc:582 c/gimple-parser.cc:887 ! #: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7652 ! #: c/c-parser.cc:14457 c/c-parser.cc:15804 cp/parser.cc:33762 ! #: cp/parser.cc:35464 cp/parser.cc:38351 cp/parser.cc:39226 #: go/gofrontend/embed.cc:403 #, gcc-internal-format msgid "expected %<:%>" msgstr "" ! #: c/c-parser.cc:7202 cp/parser.cc:33649 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:9089 c/c-parser.cc:9282 c/c-parser.cc:9753 c/c-parser.cc:9796 ! #: c/c-parser.cc:9937 c/c-parser.cc:10684 c/c-parser.cc:15357 ! #: c/c-parser.cc:16914 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 #: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534 ! #: c/gimple-parser.cc:1540 cp/parser.cc:33082 cp/parser.cc:33738 #, gcc-internal-format msgid "expected %<,%>" msgstr "" ! #: c/c-parser.cc:9650 msgid "expected %<.%>" msgstr "" ! #: c/c-parser.cc:11617 c/c-parser.cc:11649 c/c-parser.cc:11889 ! #: cp/parser.cc:36038 cp/parser.cc:36059 #, gcc-internal-format msgid "expected %<@end%>" msgstr "" ! #: c/c-parser.cc:12307 c/gimple-parser.cc:1370 cp/parser.cc:33747 #, gcc-internal-format msgid "expected %<>%>" msgstr "" ! #: c/c-parser.cc:15893 c/c-parser.cc:17309 cp/parser.cc:33771 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "" #. All following cases are statements with LHS. ! #: c/c-parser.cc:16761 c/c-parser.cc:19270 c/c-parser.cc:19317 ! #: c/c-parser.cc:19474 c/c-parser.cc:19821 c/c-parser.cc:20294 ! #: c/c-parser.cc:22745 c/c-parser.cc:23466 c/gimple-parser.cc:740 ! #: c/c-parser.cc:5985 c/c-parser.cc:19394 c/c-parser.cc:19617 ! #: cp/parser.cc:33750 cp/parser.cc:42078 cp/parser.cc:42251 #, gcc-internal-format msgid "expected %<=%>" msgstr "" ! #: c/c-parser.cc:19405 c/c-parser.cc:19485 c/c-parser.cc:19838 ! #: c/c-parser.cc:20172 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 ! #: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33726 ! #: cp/parser.cc:36248 #, gcc-internal-format msgid "expected %<}%>" msgstr "" ! #: c/c-parser.cc:19498 cp/parser.cc:42176 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:21038 c/c-parser.cc:21027 cp/parser.cc:44436 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" ! #: c/c-parser.cc:24026 cp/parser.cc:48281 msgid "" msgstr "" *************** msgstr "" *** 20728,20734 **** msgid "(anonymous)" msgstr "" ! #: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33745 #, gcc-internal-format msgid "expected %<<%>" msgstr "" --- 20738,20744 ---- msgid "(anonymous)" msgstr "" ! #: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33744 #, gcc-internal-format msgid "expected %<<%>" msgstr "" *************** msgstr "" *** 20739,20763 **** msgid "expected label" msgstr "" ! #: cp/call.cc:4059 msgid "candidate:" msgstr "" ! #: cp/call.cc:8193 msgid " after user-defined conversion:" msgstr "" ! #: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:12792 cp/call.cc:13184 msgid "candidate 1:" msgstr "" ! #: cp/call.cc:12794 cp/call.cc:13185 msgid "candidate 2:" msgstr "" --- 20749,20773 ---- msgid "expected label" msgstr "" ! #: cp/call.cc:4067 msgid "candidate:" msgstr "" ! #: cp/call.cc:8208 msgid " after user-defined conversion:" msgstr "" ! #: cp/call.cc:8372 cp/pt.cc:2022 cp/pt.cc:26168 msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:12818 cp/call.cc:13230 msgid "candidate 1:" msgstr "" ! #: cp/call.cc:12820 cp/call.cc:13231 msgid "candidate 2:" msgstr "" *************** msgstr "" *** 21148,21154 **** msgid "no post-decrement operator for type" msgstr "" ! #: fortran/arith.cc:1487 #, fuzzy msgid "elemental binary operation" msgstr "прапушчан ініцыялізатар" --- 21158,21164 ---- msgid "no post-decrement operator for type" msgstr "" ! #: fortran/arith.cc:1492 #, fuzzy msgid "elemental binary operation" msgstr "прапушчан ініцыялізатар" *************** msgstr "" *** 21411,21421 **** msgid "implied END DO" msgstr "" ! #: fortran/parse.cc:2240 fortran/resolve.cc:12393 msgid "assignment" msgstr "" ! #: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 msgid "pointer assignment" msgstr "" --- 21421,21431 ---- msgid "implied END DO" msgstr "" ! #: fortran/parse.cc:2240 fortran/resolve.cc:12425 msgid "assignment" msgstr "" ! #: fortran/parse.cc:2243 fortran/resolve.cc:12491 fortran/resolve.cc:12494 msgid "pointer assignment" msgstr "" *************** msgstr "" *** 21531,21641 **** msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4209 #, c-format msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4214 #, c-format msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4229 #, c-format msgid "Operands of string concatenation operator at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4272 #, c-format msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4295 #, c-format msgid "Operand of .not. operator at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4309 msgid "COMPLEX quantities cannot be compared at %L" msgstr "" ! #: fortran/resolve.cc:4407 #, c-format msgid "Logicals at %%L must be compared with %s instead of %s" msgstr "" ! #: fortran/resolve.cc:4413 #, c-format msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4427 #, c-format msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" msgstr "" ! #: fortran/resolve.cc:4430 #, c-format msgid "Unknown operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4435 #, c-format msgid "Operand of user operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4440 #, c-format msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4526 ! #, c-format ! msgid "Inconsistent ranks for operator at %%L and %%L" ! msgstr "" ! ! #: fortran/resolve.cc:7400 msgid "Loop variable" msgstr "" ! #: fortran/resolve.cc:7404 msgid "iterator variable" msgstr "" ! #: fortran/resolve.cc:7408 msgid "Start expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7412 msgid "End expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7416 msgid "Step expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7703 fortran/resolve.cc:7706 msgid "DEALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8084 fortran/resolve.cc:8087 msgid "ALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 msgid "STAT variable" msgstr "" ! #: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 msgid "ERRMSG variable" msgstr "" ! #: fortran/resolve.cc:10113 msgid "item in READ" msgstr "" ! #: fortran/resolve.cc:10335 msgid "ACQUIRED_LOCK variable" msgstr "" --- 21541,21651 ---- msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4210 fortran/resolve.cc:4393 fortran/resolve.cc:4548 ! #, c-format ! msgid "Inconsistent ranks for operator at %%L and %%L" ! msgstr "" ! ! #: fortran/resolve.cc:4220 #, c-format msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4225 #, c-format msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4240 #, c-format msgid "Operands of string concatenation operator at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4283 #, c-format msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4306 #, c-format msgid "Operand of .not. operator at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4320 msgid "COMPLEX quantities cannot be compared at %L" msgstr "" ! #: fortran/resolve.cc:4429 #, c-format msgid "Logicals at %%L must be compared with %s instead of %s" msgstr "" ! #: fortran/resolve.cc:4435 #, c-format msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4449 #, c-format msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" msgstr "" ! #: fortran/resolve.cc:4452 #, c-format msgid "Unknown operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4457 #, c-format msgid "Operand of user operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4462 #, c-format msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:7437 msgid "Loop variable" msgstr "" ! #: fortran/resolve.cc:7441 msgid "iterator variable" msgstr "" ! #: fortran/resolve.cc:7445 msgid "Start expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7449 msgid "End expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7453 msgid "Step expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7740 fortran/resolve.cc:7743 msgid "DEALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8121 fortran/resolve.cc:8124 msgid "ALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8361 fortran/resolve.cc:10343 fortran/resolve.cc:10464 msgid "STAT variable" msgstr "" ! #: fortran/resolve.cc:8412 fortran/resolve.cc:10355 fortran/resolve.cc:10476 msgid "ERRMSG variable" msgstr "" ! #: fortran/resolve.cc:10145 msgid "item in READ" msgstr "" ! #: fortran/resolve.cc:10367 msgid "ACQUIRED_LOCK variable" msgstr "" *************** msgstr "" *** 21663,21674 **** msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.cc:10376 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.cc:11936 msgid "Assignment of scalar to unallocated array" msgstr "" --- 21673,21684 ---- msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.cc:10381 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.cc:11941 msgid "Assignment of scalar to unallocated array" msgstr "" *************** msgstr "" *** 21858,21865 **** msgid "expected boolean type" msgstr "" ! #: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16670 c/c-parser.cc:16677 ! #: cp/parser.cc:39987 cp/parser.cc:39994 #, gcc-internal-format msgid "expected integer" msgstr "" --- 21868,21875 ---- msgid "expected boolean type" msgstr "" ! #: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16673 c/c-parser.cc:16680 ! #: cp/parser.cc:39986 cp/parser.cc:39993 #, gcc-internal-format msgid "expected integer" msgstr "" *************** msgstr "" *** 21916,21923 **** #: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206 #: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397 #: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508 ! #: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12687 ! #: go/gofrontend/expressions.cc:12704 go/gofrontend/expressions.cc:12720 #, fuzzy #| msgid "no arguments" msgid "not enough arguments" --- 21926,21933 ---- #: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206 #: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397 #: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508 ! #: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12688 ! #: go/gofrontend/expressions.cc:12705 go/gofrontend/expressions.cc:12721 #, fuzzy #| msgid "no arguments" msgid "not enough arguments" *************** msgstr "няма аргументаў" *** 21927,21935 **** #: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334 #: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437 #: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535 ! #: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12692 ! #: go/gofrontend/expressions.cc:12706 go/gofrontend/expressions.cc:12727 ! #: cp/pt.cc:9218 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many arguments" --- 21937,21945 ---- #: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334 #: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437 #: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535 ! #: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12693 ! #: go/gofrontend/expressions.cc:12707 go/gofrontend/expressions.cc:12728 ! #: cp/pt.cc:9220 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many arguments" *************** msgstr "" *** 22030,22037 **** msgid "type conversion result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12633 ! #: go/gofrontend/expressions.cc:13069 #, fuzzy #| msgid "In function" msgid "expected function" --- 22040,22047 ---- msgid "type conversion result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12634 ! #: go/gofrontend/expressions.cc:13070 #, fuzzy #| msgid "In function" msgid "expected function" *************** msgstr "" *** 22046,22121 **** msgid "invalid use of %<...%> with non-slice" msgstr "нявернае выкарыстанне \"restict\"" ! #: go/gofrontend/expressions.cc:12641 msgid "function result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:12659 msgid "incompatible type for receiver" msgstr "" ! #: go/gofrontend/expressions.cc:12677 msgid "invalid use of %<...%> calling non-variadic function" msgstr "" ! #: go/gofrontend/expressions.cc:13078 go/gofrontend/expressions.cc:13092 msgid "number of results does not match number of values" msgstr "" ! #: go/gofrontend/expressions.cc:13384 go/gofrontend/expressions.cc:14055 msgid "index must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13393 go/gofrontend/expressions.cc:14064 msgid "slice end must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13402 msgid "slice capacity must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13453 go/gofrontend/expressions.cc:14098 msgid "inverted slice range" msgstr "" ! #: go/gofrontend/expressions.cc:13496 msgid "slice of unaddressable value" msgstr "" ! #: go/gofrontend/expressions.cc:14354 msgid "incompatible type for map index" msgstr "" ! #: go/gofrontend/expressions.cc:14792 msgid "expected interface or pointer to interface" msgstr "" ! #: go/gofrontend/expressions.cc:15578 #, fuzzy #| msgid "too many arguments to function" msgid "too many expressions for struct" msgstr "вельмі шмат аргументаў у функцыі" ! #: go/gofrontend/expressions.cc:15591 #, fuzzy #| msgid "too few arguments to function" msgid "too few expressions for struct" msgstr "не хапае аргументаў у функцыі" ! #: go/gofrontend/expressions.cc:17556 go/gofrontend/statements.cc:1921 msgid "type assertion only valid for interface types" msgstr "" ! #: go/gofrontend/expressions.cc:17568 msgid "impossible type assertion: type does not implement interface" msgstr "" ! #: go/gofrontend/expressions.cc:17767 go/gofrontend/expressions.cc:17787 #: go/gofrontend/statements.cc:1768 msgid "expected channel" msgstr "" ! #: go/gofrontend/expressions.cc:17792 go/gofrontend/statements.cc:1773 msgid "invalid receive on send-only channel" msgstr "" --- 22056,22131 ---- msgid "invalid use of %<...%> with non-slice" msgstr "нявернае выкарыстанне \"restict\"" ! #: go/gofrontend/expressions.cc:12642 msgid "function result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:12660 msgid "incompatible type for receiver" msgstr "" ! #: go/gofrontend/expressions.cc:12678 msgid "invalid use of %<...%> calling non-variadic function" msgstr "" ! #: go/gofrontend/expressions.cc:13079 go/gofrontend/expressions.cc:13093 msgid "number of results does not match number of values" msgstr "" ! #: go/gofrontend/expressions.cc:13385 go/gofrontend/expressions.cc:14056 msgid "index must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13394 go/gofrontend/expressions.cc:14065 msgid "slice end must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13403 msgid "slice capacity must be integer" msgstr "" ! #: go/gofrontend/expressions.cc:13454 go/gofrontend/expressions.cc:14099 msgid "inverted slice range" msgstr "" ! #: go/gofrontend/expressions.cc:13497 msgid "slice of unaddressable value" msgstr "" ! #: go/gofrontend/expressions.cc:14355 msgid "incompatible type for map index" msgstr "" ! #: go/gofrontend/expressions.cc:14793 msgid "expected interface or pointer to interface" msgstr "" ! #: go/gofrontend/expressions.cc:15579 #, fuzzy #| msgid "too many arguments to function" msgid "too many expressions for struct" msgstr "вельмі шмат аргументаў у функцыі" ! #: go/gofrontend/expressions.cc:15592 #, fuzzy #| msgid "too few arguments to function" msgid "too few expressions for struct" msgstr "не хапае аргументаў у функцыі" ! #: go/gofrontend/expressions.cc:17557 go/gofrontend/statements.cc:1921 msgid "type assertion only valid for interface types" msgstr "" ! #: go/gofrontend/expressions.cc:17569 msgid "impossible type assertion: type does not implement interface" msgstr "" ! #: go/gofrontend/expressions.cc:17768 go/gofrontend/expressions.cc:17788 #: go/gofrontend/statements.cc:1768 msgid "expected channel" msgstr "" ! #: go/gofrontend/expressions.cc:17793 go/gofrontend/statements.cc:1773 msgid "invalid receive on send-only channel" msgstr "" *************** msgstr "" *** 22328,22334 **** #. coalesced sections. Weak aliases (or any other kind of aliases) are #. not supported. Weak symbols that aren't visible outside the .s file #. are not supported. ! #: config/darwin.h:648 #, fuzzy, gcc-internal-format msgid "alias definitions not supported in Mach-O; ignored" msgstr "-pipe не падтрымліваецца" --- 22338,22344 ---- #. coalesced sections. Weak aliases (or any other kind of aliases) are #. not supported. Weak symbols that aren't visible outside the .s file #. are not supported. ! #: config/darwin.h:656 #, fuzzy, gcc-internal-format msgid "alias definitions not supported in Mach-O; ignored" msgstr "-pipe не падтрымліваецца" *************** msgstr "нераспазнаная на *** 22737,22753 **** msgid "unrecognized scalar storage order value %qs" msgstr "нераспазнаная назва сэкцыі \"%s\"" ! #: d/lang.opt:193 #, gcc-internal-format msgid "unknown array bounds setting %qs" msgstr "" ! #: d/lang.opt:235 #, fuzzy, gcc-internal-format msgid "unknown checkaction setting %qs" msgstr "невядомая назва рэгістра: %s\n" ! #: d/lang.opt:291 #, fuzzy, gcc-internal-format #| msgid "unknown C standard `%s'" msgid "unknown C++ standard %qs" --- 22747,22763 ---- msgid "unrecognized scalar storage order value %qs" msgstr "нераспазнаная назва сэкцыі \"%s\"" ! #: d/lang.opt:201 #, gcc-internal-format msgid "unknown array bounds setting %qs" msgstr "" ! #: d/lang.opt:243 #, fuzzy, gcc-internal-format msgid "unknown checkaction setting %qs" msgstr "невядомая назва рэгістра: %s\n" ! #: d/lang.opt:303 #, fuzzy, gcc-internal-format #| msgid "unknown C standard `%s'" msgid "unknown C++ standard %qs" *************** msgstr "" *** 22975,22981 **** #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 ! #: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 #: cp/friend.cc:318 cp/tree.cc:5261 #, fuzzy, gcc-internal-format msgid "previous declaration here" --- 22985,22991 ---- #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 ! #: c-family/c-attribs.cc:4883 cp/decl.cc:15979 cp/decl.cc:16029 #: cp/friend.cc:318 cp/tree.cc:5261 #, fuzzy, gcc-internal-format msgid "previous declaration here" *************** msgstr "\"%s\" атрыбут ігнар *** 22994,23000 **** msgid "%<%E::%E%> scoped attribute directive ignored" msgstr "" ! #: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3274 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments specified for %qE attribute" --- 23004,23010 ---- msgid "%<%E::%E%> scoped attribute directive ignored" msgstr "" ! #: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3286 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments specified for %qE attribute" *************** msgstr "памылковая кольк *** 23005,23011 **** msgid "expected %i or more, found %i" msgstr "" ! #: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3276 #, gcc-internal-format, gfc-internal-format msgid "expected %i, found %i" msgstr "" --- 23015,23021 ---- msgid "expected %i or more, found %i" msgstr "" ! #: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3288 #, gcc-internal-format, gfc-internal-format msgid "expected %i, found %i" msgstr "" *************** msgstr "" *** 23071,23083 **** #: c-family/c-attribs.cc:5632 c-family/c-attribs.cc:5800 #: c-family/c-attribs.cc:5812 c-family/c-common.cc:6056 #: c-family/c-common.cc:6059 config/darwin.cc:2143 config/arm/arm.cc:7444 ! #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 ! #: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 ! #: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 ! #: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 --- 23081,23093 ---- #: c-family/c-attribs.cc:5632 c-family/c-attribs.cc:5800 #: c-family/c-attribs.cc:5812 c-family/c-common.cc:6056 #: c-family/c-common.cc:6059 config/darwin.cc:2143 config/arm/arm.cc:7444 ! #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:10158 #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 ! #: config/i386/i386-options.cc:3434 config/i386/i386-options.cc:3592 ! #: config/i386/i386-options.cc:3824 config/i386/i386-options.cc:3854 #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 ! #: config/rs6000/rs6000.cc:20476 ada/gcc-interface/utils.cc:6588 #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 *************** msgstr "" *** 23085,23091 **** #: ada/gcc-interface/utils.cc:6829 ada/gcc-interface/utils.cc:6850 #: ada/gcc-interface/utils.cc:6871 ada/gcc-interface/utils.cc:6919 #: ada/gcc-interface/utils.cc:6935 ada/gcc-interface/utils.cc:6990 ! #: c/c-decl.cc:4781 c/c-decl.cc:4784 c/c-decl.cc:4799 c/c-parser.cc:5433 #: cp/tree.cc:5032 d/d-attribs.cc:480 d/d-attribs.cc:699 d/d-attribs.cc:720 #: d/d-attribs.cc:736 d/d-attribs.cc:753 d/d-attribs.cc:785 d/d-attribs.cc:914 #: d/d-attribs.cc:973 d/d-attribs.cc:989 d/d-attribs.cc:1005 --- 23095,23101 ---- #: ada/gcc-interface/utils.cc:6829 ada/gcc-interface/utils.cc:6850 #: ada/gcc-interface/utils.cc:6871 ada/gcc-interface/utils.cc:6919 #: ada/gcc-interface/utils.cc:6935 ada/gcc-interface/utils.cc:6990 ! #: c/c-decl.cc:4788 c/c-decl.cc:4791 c/c-decl.cc:4806 c/c-parser.cc:5433 #: cp/tree.cc:5032 d/d-attribs.cc:480 d/d-attribs.cc:699 d/d-attribs.cc:720 #: d/d-attribs.cc:736 d/d-attribs.cc:753 d/d-attribs.cc:785 d/d-attribs.cc:914 #: d/d-attribs.cc:973 d/d-attribs.cc:989 d/d-attribs.cc:1005 *************** msgstr "" *** 24459,24471 **** #. include_self= #. TODO: Add OPT_Wundefined-inline. ! #: cgraphunit.cc:1094 c/c-decl.cc:12837 #, fuzzy, gcc-internal-format #| msgid "label `%s' used but not defined" msgid "%q+F used but never defined" msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" ! #: cgraphunit.cc:1096 c/c-decl.cc:12847 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "" --- 24469,24481 ---- #. include_self= #. TODO: Add OPT_Wundefined-inline. ! #: cgraphunit.cc:1094 c/c-decl.cc:12844 #, fuzzy, gcc-internal-format #| msgid "label `%s' used but not defined" msgid "%q+F used but never defined" msgstr "адмеціна `%s' выкарыстоўвываецца, але ня вызначана" ! #: cgraphunit.cc:1096 c/c-decl.cc:12854 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "" *************** msgid "ld returned %d exit status" *** 24603,24609 **** msgstr "" #: collect2.cc:913 gcc.cc:8200 config/gcn/mkoffload.cc:827 ! #: config/nvptx/mkoffload.cc:545 #, gcc-internal-format msgid "atexit failed" msgstr "" --- 24613,24619 ---- msgstr "" #: collect2.cc:913 gcc.cc:8200 config/gcn/mkoffload.cc:827 ! #: config/nvptx/mkoffload.cc:559 #, gcc-internal-format msgid "atexit failed" msgstr "" *************** msgstr "" *** 25124,25140 **** msgid "% of mutually exclusive equal-tests is always 0" msgstr "" ! #: fold-const.cc:9943 #, gcc-internal-format msgid "assuming signed overflow does not occur when reducing constant in comparison" msgstr "" ! #: fold-const.cc:10350 #, gcc-internal-format msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.cc:13561 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" --- 25134,25150 ---- msgid "% of mutually exclusive equal-tests is always 0" msgstr "" ! #: fold-const.cc:9950 #, gcc-internal-format msgid "assuming signed overflow does not occur when reducing constant in comparison" msgstr "" ! #: fold-const.cc:10357 #, gcc-internal-format msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.cc:13568 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" *************** msgstr "параметр \"%s\" ініц *** 25540,25546 **** msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.cc:9711 common/config/riscv/riscv-common.cc:1668 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" --- 25550,25556 ---- msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.cc:9711 common/config/riscv/riscv-common.cc:1729 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" *************** msgstr "" *** 25886,25892 **** msgid "function may return address of local variable" msgstr "" ! #: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11397 #, gcc-internal-format msgid "function returns address of local variable" msgstr "" --- 25896,25902 ---- msgid "function may return address of local variable" msgstr "" ! #: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11402 #, gcc-internal-format msgid "function returns address of local variable" msgstr "" *************** msgstr "" *** 25894,25904 **** #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2041 #: gimple-ssa-warn-access.cc:3713 tree.cc:12354 tree.cc:12391 tree.cc:12432 #: tree.cc:12465 c/c-typeck.cc:3092 c/c-typeck.cc:3187 c/c-typeck.cc:5769 ! #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 ! #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 ! #: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ! #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 #: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623 --- 25904,25914 ---- #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2041 #: gimple-ssa-warn-access.cc:3713 tree.cc:12354 tree.cc:12391 tree.cc:12432 #: tree.cc:12465 c/c-typeck.cc:3092 c/c-typeck.cc:3187 c/c-typeck.cc:5769 ! #: c/c-typeck.cc:11308 c/c-typeck.cc:11325 c/gimple-parser.cc:2484 ! #: c/gimple-parser.cc:2492 cp/call.cc:8079 cp/call.cc:10228 cp/class.cc:9076 #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 ! #: cp/decl.cc:8886 cp/decl.cc:16176 cp/decl.cc:16543 cp/decl2.cc:5720 ! #: cp/decl2.cc:5775 cp/parser.cc:21904 cp/pt.cc:9028 cp/semantics.cc:2192 #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 #: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623 *************** msgstr "" *** 27023,27033 **** #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 #: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 ! #: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 ! #: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 #: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 #: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 ! #: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 #: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 #, fuzzy, gcc-internal-format msgid "%qD declared here" --- 27033,27043 ---- #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 #: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 ! #: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3996 ! #: c/c-decl.cc:4277 c/c-typeck.cc:9355 c/c-typeck.cc:12110 cp/class.cc:1492 #: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 #: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 ! #: cp/friend.cc:416 cp/init.cc:2908 cp/parser.cc:3566 cp/parser.cc:3712 #: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 #, fuzzy, gcc-internal-format msgid "%qD declared here" *************** msgstr "" *** 27409,27748 **** msgid "memory input %d is not directly addressable" msgstr "" ! #: gimplify.cc:7495 #, gcc-internal-format msgid "threadprivate variable %qE used in a region with % clause" msgstr "" ! #: gimplify.cc:7497 #, gcc-internal-format msgid "enclosing region" msgstr "" ! #: gimplify.cc:7501 #, gcc-internal-format msgid "threadprivate variable %qE used in target region" msgstr "" ! #: gimplify.cc:7503 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.cc:7516 #, gcc-internal-format msgid "threadprivate variable %qE used in untied task" msgstr "" ! #: gimplify.cc:7518 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.cc:7615 #, gcc-internal-format msgid "%qE not specified in enclosing %qs" msgstr "" ! #: gimplify.cc:7617 #, gcc-internal-format msgid "enclosing %qs" msgstr "" ! #: gimplify.cc:7760 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7762 #, gcc-internal-format msgid "enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7823 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.cc:7831 #, gcc-internal-format msgid "%qE requires a % directive for use in a % function" msgstr "" ! #: gimplify.cc:7900 #, gcc-internal-format msgid "%qE not specified in enclosing %" msgstr "" ! #: gimplify.cc:7902 #, gcc-internal-format msgid "enclosing %" msgstr "" ! #: gimplify.cc:7932 gimplify.cc:11190 #, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "" ! #: gimplify.cc:7953 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.cc:8084 #, gcc-internal-format msgid "iteration variable %qE is predetermined linear" msgstr "" ! #: gimplify.cc:8087 #, gcc-internal-format msgid "iteration variable %qE should be private" msgstr "" ! #: gimplify.cc:8101 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.cc:8104 #, gcc-internal-format msgid "iteration variable %qE should not be reduction" msgstr "" ! #: gimplify.cc:8107 #, gcc-internal-format msgid "iteration variable %qE should not be linear" msgstr "" ! #: gimplify.cc:9109 gimplify.cc:9120 gimplify.cc:9132 gimplify.cc:9147 ! #: gimplify.cc:9343 gimplify.cc:9346 gimplify.cc:9356 gimplify.cc:9374 #, gcc-internal-format msgid "unexpected mapping node" msgstr "" ! #: gimplify.cc:9408 #, gcc-internal-format msgid "unexpected pointer mapping node" msgstr "" ! #: gimplify.cc:9618 #, gcc-internal-format msgid "base pointer cycle detected" msgstr "" ! #: gimplify.cc:9990 #, gcc-internal-format msgid "data movement for component %qE is not compatible with movement for struct %qE" msgstr "" ! #: gimplify.cc:10035 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.cc:10641 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.cc:10851 gimplify.cc:10857 #, gcc-internal-format msgid "conditional % clause on %qs construct" msgstr "" ! #: gimplify.cc:10874 #, gcc-internal-format msgid "non-scalar variable %qD in conditional % clause" msgstr "" ! #: gimplify.cc:10896 #, gcc-internal-format msgid "% reduction modifier on a construct with a % clause" msgstr "" ! #: gimplify.cc:10904 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs, % or %" msgstr "" ! #: gimplify.cc:10915 gimplify.cc:10921 gimplify.cc:10927 gimplify.cc:10933 ! #: gimplify.cc:10939 gimplify.cc:14919 #, gcc-internal-format msgid "% % clause on %qs construct" msgstr "" ! #: gimplify.cc:11033 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.cc:11728 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.cc:11785 #, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "" ! #: gimplify.cc:11817 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.cc:11855 #, gcc-internal-format msgid "% clause with % is only allowed on % construct" msgstr "" ! #: gimplify.cc:11871 #, gcc-internal-format msgid "with %, only the %, %, %, %, and % clauses may appear on the construct" msgstr "" ! #: gimplify.cc:12083 #, gcc-internal-format msgid "%qD specified in %qs clause but not in % % clause on the containing construct" msgstr "" ! #: gimplify.cc:12289 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.cc:12343 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.cc:12605 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.cc:12678 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.cc:12792 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to %" msgstr "" ! #: gimplify.cc:12941 #, gcc-internal-format msgid "%qD specified in % % clause but not in % directive clause" msgstr "" ! #: gimplify.cc:12960 #, fuzzy, gcc-internal-format msgid "invalid private reduction on %qE" msgstr "Нерэчаіснае абвяшчэнне" ! #: gimplify.cc:13126 #, gcc-internal-format msgid "% % clause used together with % clause for a variable other than loop iterator" msgstr "" ! #: gimplify.cc:13465 #, gcc-internal-format msgid "% kind in % clause on a % construct" msgstr "" ! #: gimplify.cc:13475 #, gcc-internal-format msgid "% construct with % clause but no % clauses" msgstr "" ! #: gimplify.cc:13759 gimplify.cc:13763 gimplify.cc:13772 gimplify.cc:13784 ! #: gimplify.cc:13789 #, gcc-internal-format msgid "%qs clause may not appear on non-rectangular %qs" msgstr "" ! #: gimplify.cc:13951 #, gcc-internal-format msgid "% clause may not be specified together with % clause if stand-alone % construct is nested in it" msgstr "" ! #: gimplify.cc:14016 #, gcc-internal-format msgid "threadprivate iteration variable %qD" msgstr "" ! #: gimplify.cc:14047 gimplify.cc:14155 #, gcc-internal-format msgid "conditional % on loop iterator %qD ignored" msgstr "" ! #: gimplify.cc:14857 #, gcc-internal-format msgid "% clause not specified on a % construct not nested inside another OpenMP construct" msgstr "" ! #: gimplify.cc:14881 #, gcc-internal-format msgid "% on a % construct nested inside % construct" msgstr "" ! #: gimplify.cc:14901 #, gcc-internal-format msgid "% on a % region not strictly nested inside of a % region" msgstr "" ! #: gimplify.cc:14926 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs or %" msgstr "" ! #: gimplify.cc:14954 #, gcc-internal-format msgid "% clause on a % construct refers to a variable %qD which is not the loop iterator" msgstr "" ! #: gimplify.cc:16035 #, gcc-internal-format msgid "% construct with %qs clause must be closely nested inside a loop with % clause" msgstr "" ! #: gimplify.cc:16056 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.cc:16069 #, gcc-internal-format msgid "number of variables in %qs clause with % modifier does not match number of iteration variables" msgstr "" ! #: gimplify.cc:16083 #, gcc-internal-format msgid "more than one %qs clause with % modifier on an % construct" msgstr "" ! #: gimplify.cc:16096 #, gcc-internal-format msgid "%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct" msgstr "" ! #: gimplify.cc:17405 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.cc:18004 #, gcc-internal-format msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "" ! #: gimplify.cc:18009 #, gcc-internal-format msgid "(so you should pass %qT not %qT to %)" msgstr "" ! #: gimplify.cc:18016 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" --- 27419,27758 ---- msgid "memory input %d is not directly addressable" msgstr "" ! #: gimplify.cc:7502 #, gcc-internal-format msgid "threadprivate variable %qE used in a region with % clause" msgstr "" ! #: gimplify.cc:7504 #, gcc-internal-format msgid "enclosing region" msgstr "" ! #: gimplify.cc:7508 #, gcc-internal-format msgid "threadprivate variable %qE used in target region" msgstr "" ! #: gimplify.cc:7510 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.cc:7523 #, gcc-internal-format msgid "threadprivate variable %qE used in untied task" msgstr "" ! #: gimplify.cc:7525 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.cc:7622 #, gcc-internal-format msgid "%qE not specified in enclosing %qs" msgstr "" ! #: gimplify.cc:7624 #, gcc-internal-format msgid "enclosing %qs" msgstr "" ! #: gimplify.cc:7767 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7769 #, gcc-internal-format msgid "enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7830 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.cc:7838 #, gcc-internal-format msgid "%qE requires a % directive for use in a % function" msgstr "" ! #: gimplify.cc:7907 #, gcc-internal-format msgid "%qE not specified in enclosing %" msgstr "" ! #: gimplify.cc:7909 #, gcc-internal-format msgid "enclosing %" msgstr "" ! #: gimplify.cc:7939 gimplify.cc:11197 #, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "" ! #: gimplify.cc:7960 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.cc:8091 #, gcc-internal-format msgid "iteration variable %qE is predetermined linear" msgstr "" ! #: gimplify.cc:8094 #, gcc-internal-format msgid "iteration variable %qE should be private" msgstr "" ! #: gimplify.cc:8108 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.cc:8111 #, gcc-internal-format msgid "iteration variable %qE should not be reduction" msgstr "" ! #: gimplify.cc:8114 #, gcc-internal-format msgid "iteration variable %qE should not be linear" msgstr "" ! #: gimplify.cc:9116 gimplify.cc:9127 gimplify.cc:9139 gimplify.cc:9154 ! #: gimplify.cc:9350 gimplify.cc:9353 gimplify.cc:9363 gimplify.cc:9381 #, gcc-internal-format msgid "unexpected mapping node" msgstr "" ! #: gimplify.cc:9415 #, gcc-internal-format msgid "unexpected pointer mapping node" msgstr "" ! #: gimplify.cc:9625 #, gcc-internal-format msgid "base pointer cycle detected" msgstr "" ! #: gimplify.cc:9997 #, gcc-internal-format msgid "data movement for component %qE is not compatible with movement for struct %qE" msgstr "" ! #: gimplify.cc:10042 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.cc:10648 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.cc:10858 gimplify.cc:10864 #, gcc-internal-format msgid "conditional % clause on %qs construct" msgstr "" ! #: gimplify.cc:10881 #, gcc-internal-format msgid "non-scalar variable %qD in conditional % clause" msgstr "" ! #: gimplify.cc:10903 #, gcc-internal-format msgid "% reduction modifier on a construct with a % clause" msgstr "" ! #: gimplify.cc:10911 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs, % or %" msgstr "" ! #: gimplify.cc:10922 gimplify.cc:10928 gimplify.cc:10934 gimplify.cc:10940 ! #: gimplify.cc:10946 gimplify.cc:14926 #, gcc-internal-format msgid "% % clause on %qs construct" msgstr "" ! #: gimplify.cc:11040 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.cc:11735 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.cc:11792 #, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "" ! #: gimplify.cc:11824 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.cc:11862 #, gcc-internal-format msgid "% clause with % is only allowed on % construct" msgstr "" ! #: gimplify.cc:11878 #, gcc-internal-format msgid "with %, only the %, %, %, %, and % clauses may appear on the construct" msgstr "" ! #: gimplify.cc:12090 #, gcc-internal-format msgid "%qD specified in %qs clause but not in % % clause on the containing construct" msgstr "" ! #: gimplify.cc:12296 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.cc:12350 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.cc:12612 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.cc:12685 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.cc:12799 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to %" msgstr "" ! #: gimplify.cc:12948 #, gcc-internal-format msgid "%qD specified in % % clause but not in % directive clause" msgstr "" ! #: gimplify.cc:12967 #, fuzzy, gcc-internal-format msgid "invalid private reduction on %qE" msgstr "Нерэчаіснае абвяшчэнне" ! #: gimplify.cc:13133 #, gcc-internal-format msgid "% % clause used together with % clause for a variable other than loop iterator" msgstr "" ! #: gimplify.cc:13472 #, gcc-internal-format msgid "% kind in % clause on a % construct" msgstr "" ! #: gimplify.cc:13482 #, gcc-internal-format msgid "% construct with % clause but no % clauses" msgstr "" ! #: gimplify.cc:13766 gimplify.cc:13770 gimplify.cc:13779 gimplify.cc:13791 ! #: gimplify.cc:13796 #, gcc-internal-format msgid "%qs clause may not appear on non-rectangular %qs" msgstr "" ! #: gimplify.cc:13958 #, gcc-internal-format msgid "% clause may not be specified together with % clause if stand-alone % construct is nested in it" msgstr "" ! #: gimplify.cc:14023 #, gcc-internal-format msgid "threadprivate iteration variable %qD" msgstr "" ! #: gimplify.cc:14054 gimplify.cc:14162 #, gcc-internal-format msgid "conditional % on loop iterator %qD ignored" msgstr "" ! #: gimplify.cc:14864 #, gcc-internal-format msgid "% clause not specified on a % construct not nested inside another OpenMP construct" msgstr "" ! #: gimplify.cc:14888 #, gcc-internal-format msgid "% on a % construct nested inside % construct" msgstr "" ! #: gimplify.cc:14908 #, gcc-internal-format msgid "% on a % region not strictly nested inside of a % region" msgstr "" ! #: gimplify.cc:14933 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs or %" msgstr "" ! #: gimplify.cc:14961 #, gcc-internal-format msgid "% clause on a % construct refers to a variable %qD which is not the loop iterator" msgstr "" ! #: gimplify.cc:16042 #, gcc-internal-format msgid "% construct with %qs clause must be closely nested inside a loop with % clause" msgstr "" ! #: gimplify.cc:16063 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.cc:16076 #, gcc-internal-format msgid "number of variables in %qs clause with % modifier does not match number of iteration variables" msgstr "" ! #: gimplify.cc:16090 #, gcc-internal-format msgid "more than one %qs clause with % modifier on an % construct" msgstr "" ! #: gimplify.cc:16103 #, gcc-internal-format msgid "%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct" msgstr "" ! #: gimplify.cc:17412 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.cc:18011 #, gcc-internal-format msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "" ! #: gimplify.cc:18016 #, gcc-internal-format msgid "(so you should pass %qT not %qT to %)" msgstr "" ! #: gimplify.cc:18023 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" *************** msgstr "" *** 29154,29165 **** msgid "unrecognized argument in option %qs" msgstr "нераспазнаны выбар \"-%s\"" ! #: opts-common.cc:1539 config/i386/i386-options.cc:1637 #, fuzzy, gcc-internal-format msgid "valid arguments to %qs are: %s; did you mean %qs?" msgstr "нявернае выкарыстанне \"restict\"" ! #: opts-common.cc:1542 config/i386/i386-options.cc:1640 #, fuzzy, gcc-internal-format msgid "valid arguments to %qs are: %s" msgstr "нявернае выкарыстанне \"restict\"" --- 29164,29175 ---- msgid "unrecognized argument in option %qs" msgstr "нераспазнаны выбар \"-%s\"" ! #: opts-common.cc:1539 config/i386/i386-options.cc:1641 #, fuzzy, gcc-internal-format msgid "valid arguments to %qs are: %s; did you mean %qs?" msgstr "нявернае выкарыстанне \"restict\"" ! #: opts-common.cc:1542 config/i386/i386-options.cc:1644 #, fuzzy, gcc-internal-format msgid "valid arguments to %qs are: %s" msgstr "нявернае выкарыстанне \"restict\"" *************** msgstr "" *** 31645,31681 **** msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-alias.cc:4042 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid fn spec attribute \"%s\"" msgstr "нявернае выкарыстанне \"restict\"" ! #: tree-ssa-alias.cc:4081 #, gcc-internal-format, gfc-internal-format msgid "invalid fn spec attribute \"%s\" arg %i" msgstr "" ! #: tree-ssa-ccp.cc:4684 c-family/c-common.cc:5830 #, gcc-internal-format msgid "%qs pointer is null" msgstr "" ! #: tree-ssa-ccp.cc:4687 c-family/c-common.cc:5833 #, fuzzy, gcc-internal-format msgid "in a call to non-static member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: tree-ssa-ccp.cc:4693 c-family/c-common.cc:5839 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.cc:4699 #, fuzzy, gcc-internal-format msgid "in a call to built-in function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: tree-ssa-ccp.cc:4703 c-family/c-common.cc:5843 #, fuzzy, gcc-internal-format msgid "in a call to function %qD declared %qs" msgstr "Нерэчаісны выбар \"%s\"" --- 31655,31691 ---- msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-alias.cc:4060 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid fn spec attribute \"%s\"" msgstr "нявернае выкарыстанне \"restict\"" ! #: tree-ssa-alias.cc:4099 #, gcc-internal-format, gfc-internal-format msgid "invalid fn spec attribute \"%s\" arg %i" msgstr "" ! #: tree-ssa-ccp.cc:4686 c-family/c-common.cc:5830 #, gcc-internal-format msgid "%qs pointer is null" msgstr "" ! #: tree-ssa-ccp.cc:4689 c-family/c-common.cc:5833 #, fuzzy, gcc-internal-format msgid "in a call to non-static member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: tree-ssa-ccp.cc:4695 c-family/c-common.cc:5839 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.cc:4701 #, fuzzy, gcc-internal-format msgid "in a call to built-in function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: tree-ssa-ccp.cc:4705 c-family/c-common.cc:5843 #, fuzzy, gcc-internal-format msgid "in a call to function %qD declared %qs" msgstr "Нерэчаісны выбар \"%s\"" *************** msgstr "" *** 32658,32664 **** msgid "requested alignment for %q+D is greater than implemented alignment of %wu" msgstr "" ! #: varasm.cc:2304 c/c-decl.cc:5718 c/c-parser.cc:1789 #: m2/gm2-gcc/m2type.cc:1259 #, gcc-internal-format msgid "storage size of %q+D isn%'t known" --- 32668,32674 ---- msgid "requested alignment for %q+D is greater than implemented alignment of %wu" msgstr "" ! #: varasm.cc:2304 c/c-decl.cc:5725 c/c-parser.cc:1789 #: m2/gm2-gcc/m2type.cc:1259 #, gcc-internal-format msgid "storage size of %q+D isn%'t known" *************** msgstr "\"%s\" атрыбут ігнар *** 32932,32938 **** msgid "%qE attribute ignored because %qD is not a local variable" msgstr "" ! #: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 #, gcc-internal-format msgid "%qE attribute have effect only on public objects" msgstr "" --- 32942,32948 ---- msgid "%qE attribute ignored because %qD is not a local variable" msgstr "" ! #: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3848 #, gcc-internal-format msgid "%qE attribute have effect only on public objects" msgstr "" *************** msgstr "" *** 33922,33929 **** msgid "suggest parentheses around assignment used as truth value" msgstr "" ! #: c-family/c-common.cc:3786 c/c-decl.cc:4845 c/c-decl.cc:7428 ! #: c/c-parser.cc:3523 c/c-typeck.cc:16336 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of %" --- 33932,33939 ---- msgid "suggest parentheses around assignment used as truth value" msgstr "" ! #: c-family/c-common.cc:3786 c/c-decl.cc:4852 c/c-decl.cc:7435 ! #: c/c-parser.cc:3523 c/c-typeck.cc:16341 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of %" *************** msgstr "" *** 35045,35061 **** msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.cc:1343 c/c-parser.cc:7908 #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "" ! #: c-family/c-lex.cc:1379 c/c-parser.cc:7929 #, gcc-internal-format msgid "traditional C rejects string constant concatenation" msgstr "" ! #: c-family/c-omp.cc:130 cp/pt.cc:19567 #, gcc-internal-format msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" msgstr "" --- 35055,35071 ---- msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.cc:1343 c/c-parser.cc:7911 #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "" ! #: c-family/c-lex.cc:1379 c/c-parser.cc:7932 #, gcc-internal-format msgid "traditional C rejects string constant concatenation" msgstr "" ! #: c-family/c-omp.cc:130 cp/pt.cc:19584 #, gcc-internal-format msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" msgstr "" *************** msgstr "" *** 35211,35217 **** msgid "% % clause on construct other than %, %, %, %, %" msgstr "" ! #: c-family/c-omp.cc:2756 c/c-typeck.cc:16149 cp/semantics.cc:9229 #, gcc-internal-format msgid "%qD specified in % clause but not in an explicit privatization clause" msgstr "" --- 35221,35227 ---- msgid "% % clause on construct other than %, %, %, %, %" msgstr "" ! #: c-family/c-omp.cc:2756 c/c-typeck.cc:16154 cp/semantics.cc:9229 #, gcc-internal-format msgid "%qD specified in % clause but not in an explicit privatization clause" msgstr "" *************** msgid "wrong type argument to %s" *** 35772,35778 **** msgstr "не хапае аргументаў у функцыі" #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3369 ! #: cp/constexpr.cc:6946 m2/gm2-gcc/m2expr.cc:935 #: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327 #, gcc-internal-format msgid "overflow in constant expression" --- 35782,35788 ---- msgstr "не хапае аргументаў у функцыі" #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3369 ! #: cp/constexpr.cc:6945 m2/gm2-gcc/m2expr.cc:935 #: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327 #, gcc-internal-format msgid "overflow in constant expression" *************** msgid_plural "passing argument %i to %qs *** 36532,36538 **** msgstr[0] "" msgstr[1] "" ! #: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6284 #, gcc-internal-format msgid "this condition has identical branches" msgstr "" --- 36542,36548 ---- msgstr[0] "" msgstr[1] "" ! #: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6299 #, gcc-internal-format msgid "this condition has identical branches" msgstr "" *************** msgstr "" *** 36552,36558 **** msgid "converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment %d) may result in an unaligned pointer value" msgstr "" ! #: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:677 #, gcc-internal-format msgid "defined here" msgstr "" --- 36562,36568 ---- msgid "converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment %d) may result in an unaligned pointer value" msgstr "" ! #: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:667 #, gcc-internal-format msgid "defined here" msgstr "" *************** msgstr "вельмі шмат увахо *** 36752,36758 **** msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" msgstr "" ! #: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 #, gcc-internal-format msgid "unknown value %qs for %<-mcpu%>" msgstr "" --- 36762,36768 ---- msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" msgstr "" ! #: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18135 #, gcc-internal-format msgid "unknown value %qs for %<-mcpu%>" msgstr "" *************** msgid "unrecognized option passed to %%: *** 36784,36798 **** msgstr "" #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 ! #: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 ! #: config/aarch64/aarch64.cc:18110 #, gcc-internal-format msgid "valid arguments are: %s; did you mean %qs?" msgstr "" #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 ! #: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 ! #: config/aarch64/aarch64.cc:18113 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "valid arguments are: %s" msgstr "нявернае выкарыстанне \"restict\"" --- 36794,36808 ---- msgstr "" #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 ! #: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18067 ! #: config/aarch64/aarch64.cc:18105 #, gcc-internal-format msgid "valid arguments are: %s; did you mean %qs?" msgstr "" #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 ! #: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18070 ! #: config/aarch64/aarch64.cc:18108 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "valid arguments are: %s" msgstr "нявернае выкарыстанне \"restict\"" *************** msgstr "" *** 37340,37383 **** msgid "PIC is only supported for RTPs" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2142 ! #: config/aarch64/aarch64-builtins.cc:2376 config/arm/arm-builtins.cc:3112 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.cc:2214 config/arm/arm-builtins.cc:3467 #, gcc-internal-format msgid "lane index must be a constant immediate" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2218 #, gcc-internal-format msgid "total size and element size must be a nonzero constant immediate" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2466 #, fuzzy, gcc-internal-format msgid "argument must be a 16-bit constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.cc:2572 #, gcc-internal-format msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2607 #, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate in range [0,15]" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:3385 ! #: config/aarch64/aarch64-builtins.cc:3405 #, gcc-internal-format, gfc-internal-format msgid "expected 64-bit address but argument 1 is %d-bit" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:3389 #, gcc-internal-format, gfc-internal-format msgid "expected 64-bit address but argument 2 is %d-bit" msgstr "" --- 37350,37393 ---- msgid "PIC is only supported for RTPs" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2156 ! #: config/aarch64/aarch64-builtins.cc:2390 config/arm/arm-builtins.cc:3112 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.cc:2228 config/arm/arm-builtins.cc:3467 #, gcc-internal-format msgid "lane index must be a constant immediate" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2232 #, gcc-internal-format msgid "total size and element size must be a nonzero constant immediate" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2480 #, fuzzy, gcc-internal-format msgid "argument must be a 16-bit constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.cc:2586 #, gcc-internal-format msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:2621 #, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate in range [0,15]" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:3399 ! #: config/aarch64/aarch64-builtins.cc:3419 #, gcc-internal-format, gfc-internal-format msgid "expected 64-bit address but argument 1 is %d-bit" msgstr "" ! #: config/aarch64/aarch64-builtins.cc:3403 #, gcc-internal-format, gfc-internal-format msgid "expected 64-bit address but argument 2 is %d-bit" msgstr "" *************** msgstr "" *** 37783,38108 **** msgid "arguments of type %qT require the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:7659 #, fuzzy, gcc-internal-format msgid "SVE type %qT cannot be passed to an unprototyped function" msgstr "\"%s\" звычайна функцыя" ! #: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 ! #: config/aarch64/aarch64.cc:19811 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 13.1" msgstr "" ! #: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 ! #: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 #: config/arm/arm.cc:7296 config/arm/arm.cc:29338 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 9.1" msgstr "" ! #: config/aarch64/aarch64.cc:7944 #, gcc-internal-format msgid "%qE requires the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:7947 #, gcc-internal-format msgid "calls to functions of type %qT require the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:8125 #, gcc-internal-format msgid "stack probes for SVE frames" msgstr "" ! #: config/aarch64/aarch64.cc:17557 #, gcc-internal-format msgid "unknown flag passed in %<-moverride=%s%> (%s)" msgstr "" ! #: config/aarch64/aarch64.cc:17601 #, gcc-internal-format msgid "%qs string ill-formed" msgstr "" ! #: config/aarch64/aarch64.cc:17657 #, gcc-internal-format msgid "invalid format for %" msgstr "" ! #: config/aarch64/aarch64.cc:17669 #, fuzzy, gcc-internal-format #| msgid "invalid %%Q value" msgid "invalid % value: %d" msgstr "дрэннае %%Q значэнне" ! #: config/aarch64/aarch64.cc:17689 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "tuning string missing in option (%s)" msgstr "Нераспазнаны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:17707 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown tuning option (%s)" msgstr "невядомая назва рэгістра: %s\n" ! #: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 #: config/riscv/riscv.cc:6326 #, gcc-internal-format msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 #, gcc-internal-format msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" msgstr "" ! #: config/aarch64/aarch64.cc:17912 #, gcc-internal-format msgid "specify a system register with a small string length" msgstr "" ! #: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 #: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 #, fuzzy, gcc-internal-format msgid "%qs is not a valid offset in %qs" msgstr "Нерэчаісны выбар %s" ! #: config/aarch64/aarch64.cc:17929 #, gcc-internal-format msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" msgstr "" ! #: config/aarch64/aarch64.cc:18019 #, gcc-internal-format msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" msgstr "" ! #: config/aarch64/aarch64.cc:18035 #, gcc-internal-format msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" msgstr "" ! #: config/aarch64/aarch64.cc:18137 #, gcc-internal-format msgid "missing cpu name in %<-mcpu=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18144 #, gcc-internal-format msgid "invalid feature modifier %qs in %<-mcpu=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18203 #, gcc-internal-format msgid "invalid argument given to %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18214 #, gcc-internal-format msgid "%qs must be by itself for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18219 #, gcc-internal-format msgid "invalid argument %<%s%> for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18247 #, gcc-internal-format msgid "missing arch name in %<-march=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18250 #, gcc-internal-format msgid "unknown value %qs for %<-march%>" msgstr "" ! #: config/aarch64/aarch64.cc:18256 #, gcc-internal-format msgid "did you mean %<-mcpu=%s%>?" msgstr "" ! #: config/aarch64/aarch64.cc:18259 #, gcc-internal-format msgid "invalid feature modifier %qs in %<-march=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18287 #, gcc-internal-format msgid "missing cpu name in %<-mtune=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18290 #, gcc-internal-format msgid "unknown value %qs for %<-mtune%>" msgstr "" ! #: config/aarch64/aarch64.cc:18375 #, gcc-internal-format msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" msgstr "" ! #: config/aarch64/aarch64.cc:18429 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "assembler does not support %<-mabi=ilp32%>" msgstr "%s не падтрымлівае %s" ! #: config/aarch64/aarch64.cc:18436 #, gcc-internal-format msgid "return address signing is only supported for %<-mabi=lp64%>" msgstr "" ! #: config/aarch64/aarch64.cc:18509 #, gcc-internal-format msgid "code model %qs with %<-f%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18512 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in ilp32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/aarch64/aarch64.cc:18664 #, gcc-internal-format msgid "missing name in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18667 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18671 #, gcc-internal-format msgid "invalid feature modifier %s of value %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18705 #, gcc-internal-format msgid "missing name in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18708 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 #, gcc-internal-format msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18735 #, gcc-internal-format msgid "missing argument to % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18739 #, gcc-internal-format msgid "invalid protection type %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18773 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18814 #, gcc-internal-format msgid "missing value in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 #, gcc-internal-format msgid "malformed % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18916 #, gcc-internal-format msgid "pragma or attribute % does not accept an argument" msgstr "" ! #: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 #, gcc-internal-format msgid "pragma or attribute % does not allow a negated form" msgstr "" ! #: config/aarch64/aarch64.cc:18978 #, gcc-internal-format msgid "pragma or attribute % is not valid" msgstr "" ! #: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 ! #: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 #, gcc-internal-format msgid "attribute % argument not a string" msgstr "" ! #: config/aarch64/aarch64.cc:19070 #, gcc-internal-format msgid "arch extension %<%s%> should be prefixed by %<+%>" msgstr "" ! #: config/aarch64/aarch64.cc:19073 #, gcc-internal-format msgid "pragma or attribute % is not valid" msgstr "" ! #: config/aarch64/aarch64.cc:19082 #, gcc-internal-format msgid "malformed % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 #, gcc-internal-format msgid "lane %wd out of range %wd - %wd" msgstr "" ! #: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 ! #: config/i386/i386.cc:23841 #, fuzzy, gcc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %wd" msgstr "непадтрымліваемая версія" ! #: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 #, gcc-internal-format msgid "GCC does not currently support mixed size types for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27006 #, gcc-internal-format msgid "GCC does not currently support return type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27010 #, gcc-internal-format msgid "unsupported return type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27035 #, gcc-internal-format msgid "GCC does not currently support argument type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27061 #, gcc-internal-format msgid "GCC does not currently support simdlen %wd for type %qT" msgstr "" --- 37793,38118 ---- msgid "arguments of type %qT require the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:7658 #, fuzzy, gcc-internal-format msgid "SVE type %qT cannot be passed to an unprototyped function" msgstr "\"%s\" звычайна функцыя" ! #: config/aarch64/aarch64.cc:7791 config/aarch64/aarch64.cc:7862 ! #: config/aarch64/aarch64.cc:19806 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 13.1" msgstr "" ! #: config/aarch64/aarch64.cc:7801 config/aarch64/aarch64.cc:7871 ! #: config/aarch64/aarch64.cc:19812 config/arm/arm.cc:7266 #: config/arm/arm.cc:7296 config/arm/arm.cc:29338 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 9.1" msgstr "" ! #: config/aarch64/aarch64.cc:7939 #, gcc-internal-format msgid "%qE requires the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:7942 #, gcc-internal-format msgid "calls to functions of type %qT require the SVE ISA extension" msgstr "" ! #: config/aarch64/aarch64.cc:8120 #, gcc-internal-format msgid "stack probes for SVE frames" msgstr "" ! #: config/aarch64/aarch64.cc:17552 #, gcc-internal-format msgid "unknown flag passed in %<-moverride=%s%> (%s)" msgstr "" ! #: config/aarch64/aarch64.cc:17596 #, gcc-internal-format msgid "%qs string ill-formed" msgstr "" ! #: config/aarch64/aarch64.cc:17652 #, gcc-internal-format msgid "invalid format for %" msgstr "" ! #: config/aarch64/aarch64.cc:17664 #, fuzzy, gcc-internal-format #| msgid "invalid %%Q value" msgid "invalid % value: %d" msgstr "дрэннае %%Q значэнне" ! #: config/aarch64/aarch64.cc:17684 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "tuning string missing in option (%s)" msgstr "Нераспазнаны выбар \"%s\"" ! #: config/aarch64/aarch64.cc:17702 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown tuning option (%s)" msgstr "невядомая назва рэгістра: %s\n" ! #: config/aarch64/aarch64.cc:17890 config/arm/arm.cc:3193 #: config/riscv/riscv.cc:6326 #, gcc-internal-format msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:17899 config/riscv/riscv.cc:6335 #, gcc-internal-format msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" msgstr "" ! #: config/aarch64/aarch64.cc:17907 #, gcc-internal-format msgid "specify a system register with a small string length" msgstr "" ! #: config/aarch64/aarch64.cc:17917 config/arm/arm.cc:3205 #: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 #, fuzzy, gcc-internal-format msgid "%qs is not a valid offset in %qs" msgstr "Нерэчаісны выбар %s" ! #: config/aarch64/aarch64.cc:17924 #, gcc-internal-format msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" msgstr "" ! #: config/aarch64/aarch64.cc:18014 #, gcc-internal-format msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" msgstr "" ! #: config/aarch64/aarch64.cc:18030 #, gcc-internal-format msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" msgstr "" ! #: config/aarch64/aarch64.cc:18132 #, gcc-internal-format msgid "missing cpu name in %<-mcpu=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18139 #, gcc-internal-format msgid "invalid feature modifier %qs in %<-mcpu=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18198 #, gcc-internal-format msgid "invalid argument given to %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18209 #, gcc-internal-format msgid "%qs must be by itself for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18214 #, gcc-internal-format msgid "invalid argument %<%s%> for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18242 #, gcc-internal-format msgid "missing arch name in %<-march=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18245 #, gcc-internal-format msgid "unknown value %qs for %<-march%>" msgstr "" ! #: config/aarch64/aarch64.cc:18251 #, gcc-internal-format msgid "did you mean %<-mcpu=%s%>?" msgstr "" ! #: config/aarch64/aarch64.cc:18254 #, gcc-internal-format msgid "invalid feature modifier %qs in %<-march=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18282 #, gcc-internal-format msgid "missing cpu name in %<-mtune=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18285 #, gcc-internal-format msgid "unknown value %qs for %<-mtune%>" msgstr "" ! #: config/aarch64/aarch64.cc:18370 #, gcc-internal-format msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" msgstr "" ! #: config/aarch64/aarch64.cc:18424 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "assembler does not support %<-mabi=ilp32%>" msgstr "%s не падтрымлівае %s" ! #: config/aarch64/aarch64.cc:18431 #, gcc-internal-format msgid "return address signing is only supported for %<-mabi=lp64%>" msgstr "" ! #: config/aarch64/aarch64.cc:18504 #, gcc-internal-format msgid "code model %qs with %<-f%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18507 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in ilp32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/aarch64/aarch64.cc:18659 #, gcc-internal-format msgid "missing name in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18662 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18666 #, gcc-internal-format msgid "invalid feature modifier %s of value %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18700 #, gcc-internal-format msgid "missing name in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18703 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18707 config/aarch64/aarch64.cc:18813 #, gcc-internal-format msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18730 #, gcc-internal-format msgid "missing argument to % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18734 #, gcc-internal-format msgid "invalid protection type %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18768 #, gcc-internal-format msgid "invalid name %qs in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18809 #, gcc-internal-format msgid "missing value in % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18867 config/aarch64/aarch64.cc:19040 #, gcc-internal-format msgid "malformed % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:18911 #, gcc-internal-format msgid "pragma or attribute % does not accept an argument" msgstr "" ! #: config/aarch64/aarch64.cc:18919 config/i386/i386-options.cc:1256 #, gcc-internal-format msgid "pragma or attribute % does not allow a negated form" msgstr "" ! #: config/aarch64/aarch64.cc:18973 #, gcc-internal-format msgid "pragma or attribute % is not valid" msgstr "" ! #: config/aarch64/aarch64.cc:19030 config/arm/arm.cc:33539 ! #: config/rs6000/rs6000.cc:24418 config/s390/s390.cc:16053 #, gcc-internal-format msgid "attribute % argument not a string" msgstr "" ! #: config/aarch64/aarch64.cc:19065 #, gcc-internal-format msgid "arch extension %<%s%> should be prefixed by %<+%>" msgstr "" ! #: config/aarch64/aarch64.cc:19068 #, gcc-internal-format msgid "pragma or attribute % is not valid" msgstr "" ! #: config/aarch64/aarch64.cc:19077 #, gcc-internal-format msgid "malformed % pragma or attribute" msgstr "" ! #: config/aarch64/aarch64.cc:20557 config/arm/arm.cc:6614 #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6619 #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6624 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:21721 config/aarch64/aarch64.cc:21724 #, gcc-internal-format msgid "lane %wd out of range %wd - %wd" msgstr "" ! #: config/aarch64/aarch64.cc:26985 config/i386/i386.cc:23727 ! #: config/i386/i386.cc:23858 #, fuzzy, gcc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %wd" msgstr "непадтрымліваемая версія" ! #: config/aarch64/aarch64.cc:26997 config/aarch64/aarch64.cc:27026 #, gcc-internal-format msgid "GCC does not currently support mixed size types for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27001 #, gcc-internal-format msgid "GCC does not currently support return type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27005 #, gcc-internal-format msgid "unsupported return type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27030 #, gcc-internal-format msgid "GCC does not currently support argument type %qT for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27056 #, gcc-internal-format msgid "GCC does not currently support simdlen %wd for type %qT" msgstr "" *************** msgstr "" *** 38162,38168 **** msgid "bad value %qs for %<-mmemory-latency%>" msgstr "" ! #: config/alpha/alpha.cc:6652 config/alpha/alpha.cc:6655 #: config/arc/arc.cc:7099 config/arc/arc.cc:7373 config/s390/s390.cc:949 #, gcc-internal-format msgid "bad builtin fcode" --- 38172,38178 ---- msgid "bad value %qs for %<-mmemory-latency%>" msgstr "" ! #: config/alpha/alpha.cc:6657 config/alpha/alpha.cc:6660 #: config/arc/arc.cc:7099 config/arc/arc.cc:7373 config/s390/s390.cc:949 #, gcc-internal-format msgid "bad builtin fcode" *************** msgid "argument of %qE attribute is not *** 38285,38301 **** msgstr "аргумент `__builtin_args_info' павінен быць канстантай" #: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425 ! #: config/arm/arm.cc:7606 config/avr/avr.cc:9588 config/avr/avr.cc:9604 #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 ! #: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 ! #: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 ! #: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 #: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 ! #: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 --- 38295,38311 ---- msgstr "аргумент `__builtin_args_info' павінен быць канстантай" #: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425 ! #: config/arm/arm.cc:7606 config/avr/avr.cc:10178 config/avr/avr.cc:10194 #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 ! #: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3389 ! #: config/i386/i386-options.cc:3566 config/i386/i386-options.cc:3622 ! #: config/i386/i386-options.cc:3673 config/i386/i386-options.cc:3710 #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 #: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 ! #: config/rs6000/rs6000.cc:20372 config/rx/rx.cc:2727 config/rx/rx.cc:2753 #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 *************** msgid "argument of %qE attribute is miss *** 38412,38418 **** msgstr "аргумент для \"-%s\" прапушчан" #: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309 ! #: config/avr/avr.cc:9660 #, gcc-internal-format msgid "%qE attribute allows only an integer constant argument" msgstr "" --- 38422,38428 ---- msgstr "аргумент для \"-%s\" прапушчан" #: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309 ! #: config/avr/avr.cc:10250 #, gcc-internal-format msgid "%qE attribute allows only an integer constant argument" msgstr "" *************** msgstr "\"%s\" звычайна функ *** 38432,38454 **** msgid "argument of %qE attribute ignored" msgstr "памер \"%s\" больш чам %d байт" ! #: config/arc/arc.cc:11299 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817 #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 #, gcc-internal-format msgid "alternatives not allowed in % flag output" msgstr "" ! #: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 #, gcc-internal-format msgid "unknown % flag output %qs" msgstr "" ! #: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 #, gcc-internal-format msgid "invalid type for % flag output" msgstr "" --- 38442,38464 ---- msgid "argument of %qE attribute ignored" msgstr "памер \"%s\" больш чам %d байт" ! #: config/arc/arc.cc:11299 config/avr/avr.cc:10237 config/bfin/bfin.cc:4817 #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/arm/aarch-common.cc:551 config/i386/i386.cc:22561 #, gcc-internal-format msgid "alternatives not allowed in % flag output" msgstr "" ! #: config/arm/aarch-common.cc:612 config/i386/i386.cc:22625 #, gcc-internal-format msgid "unknown % flag output %qs" msgstr "" ! #: config/arm/aarch-common.cc:622 config/i386/i386.cc:22654 #, gcc-internal-format msgid "invalid type for % flag output" msgstr "" *************** msgstr "" *** 38968,39166 **** #. happen as options are provided by device-specs. It could be a #. typo in a device-specs or calling the compiler proper directly #. with -mmcu=. ! #: config/avr/avr.cc:711 #, gcc-internal-format msgid "unknown core architecture %qs specified with %qs" msgstr "" ! #: config/avr/avr.cc:760 config/pru/pru.cc:601 config/visium/visium.cc:422 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpic%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:762 config/pru/pru.cc:603 config/visium/visium.cc:424 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIC%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:764 config/pru/pru.cc:605 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpie%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:766 config/pru/pru.cc:607 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIE%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 #, gcc-internal-format msgid "function attributes %qs and %qs are mutually exclusive" msgstr "" ! #: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "%qs function cannot have arguments" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "%qs function cannot return a value" msgstr "функцыя не вяртае тып string" ! #: config/avr/avr.cc:1093 #, gcc-internal-format msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" msgstr "" ! #: config/avr/avr.cc:1106 #, gcc-internal-format msgid "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" msgstr "" ! #: config/avr/avr.cc:1323 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.cc:2748 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.cc:2887 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.cc:2948 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.cc:3304 #, gcc-internal-format, gfc-internal-format msgid "fixed register %s used to pass parameter to function" msgstr "" ! #: config/avr/avr.cc:3569 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.cc:9623 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables in static storage" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.cc:9630 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "\"%s\" звычайна функцыя" ! #: config/avr/avr.cc:9670 #, gcc-internal-format msgid "%qE attribute address out of range" msgstr "" ! #: config/avr/avr.cc:9684 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.cc:9694 #, fuzzy, gcc-internal-format msgid "%qE attribute on non-volatile variable" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.cc:9766 #, gcc-internal-format msgid "address spaces are not supported for reduced Tiny devices" msgstr "" ! #: config/avr/avr.cc:9773 #, gcc-internal-format msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "" ! #: config/avr/avr.cc:9944 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.cc:9947 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.cc:10009 #, 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.cc:10048 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10080 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10197 #, 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.cc:10273 #, gcc-internal-format msgid "variable %q+D with dynamic initialization put into program memory area" msgstr "" ! #: config/avr/avr.cc:10284 #, gcc-internal-format msgid "uninitialized variable %q+D put into program memory area" msgstr "" ! #: config/avr/avr.cc:10370 #, gcc-internal-format msgid "%q+D has incompatible attributes %qs and %qs" msgstr "" ! #: config/avr/avr.cc:10433 #, gcc-internal-format msgid "architecture %qs supported for assembler only" msgstr "" ! #: config/avr/avr.cc:13082 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.cc:14172 config/avr/avr.cc:14185 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time integer constant" msgstr "" ! #: config/avr/avr.cc:14199 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time long integer constant as first argument" msgstr "" ! #: config/avr/avr.cc:14227 #, 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.cc:14236 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" --- 38978,39176 ---- #. happen as options are provided by device-specs. It could be a #. typo in a device-specs or calling the compiler proper directly #. with -mmcu=. ! #: config/avr/avr.cc:1050 #, gcc-internal-format msgid "unknown core architecture %qs specified with %qs" msgstr "" ! #: config/avr/avr.cc:1099 config/pru/pru.cc:601 config/visium/visium.cc:422 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpic%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:1101 config/pru/pru.cc:603 config/visium/visium.cc:424 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIC%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:1103 config/pru/pru.cc:605 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpie%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:1105 config/pru/pru.cc:607 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIE%> is not supported" msgstr "-pipe не падтрымліваецца" ! #: config/avr/avr.cc:1402 config/avr/avr.cc:1407 config/riscv/riscv.cc:6634 #, gcc-internal-format msgid "function attributes %qs and %qs are mutually exclusive" msgstr "" ! #: config/avr/avr.cc:1428 config/riscv/riscv.cc:6646 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "%qs function cannot have arguments" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: config/avr/avr.cc:1431 config/riscv/riscv.cc:6643 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "%qs function cannot return a value" msgstr "функцыя не вяртае тып string" ! #: config/avr/avr.cc:1445 #, gcc-internal-format msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" msgstr "" ! #: config/avr/avr.cc:1458 #, gcc-internal-format msgid "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" msgstr "" ! #: config/avr/avr.cc:1675 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.cc:3100 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.cc:3239 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.cc:3300 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.cc:3634 #, gcc-internal-format, gfc-internal-format msgid "fixed register %s used to pass parameter to function" msgstr "" ! #: config/avr/avr.cc:3899 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.cc:10213 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables in static storage" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.cc:10220 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "\"%s\" звычайна функцыя" ! #: config/avr/avr.cc:10260 #, gcc-internal-format msgid "%qE attribute address out of range" msgstr "" ! #: config/avr/avr.cc:10274 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.cc:10284 #, fuzzy, gcc-internal-format msgid "%qE attribute on non-volatile variable" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.cc:10356 #, gcc-internal-format msgid "address spaces are not supported for reduced Tiny devices" msgstr "" ! #: config/avr/avr.cc:10363 #, gcc-internal-format msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "" ! #: config/avr/avr.cc:10534 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.cc:10537 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.cc:10599 #, 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.cc:10638 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10670 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10787 #, 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.cc:10863 #, gcc-internal-format msgid "variable %q+D with dynamic initialization put into program memory area" msgstr "" ! #: config/avr/avr.cc:10874 #, gcc-internal-format msgid "uninitialized variable %q+D put into program memory area" msgstr "" ! #: config/avr/avr.cc:10960 #, gcc-internal-format msgid "%q+D has incompatible attributes %qs and %qs" msgstr "" ! #: config/avr/avr.cc:11023 #, gcc-internal-format msgid "architecture %qs supported for assembler only" msgstr "" ! #: config/avr/avr.cc:13513 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.cc:14603 config/avr/avr.cc:14616 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time integer constant" msgstr "" ! #: config/avr/avr.cc:14630 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time long integer constant as first argument" msgstr "" ! #: config/avr/avr.cc:14658 #, 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.cc:14667 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" *************** msgstr "" *** 39619,39645 **** msgid "unsupported simdlen %wd (amdgcn)" msgstr "" ! #: config/gcn/gcn.cc:5987 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:5988 #, gcc-internal-format msgid "using %, ignoring runtime setting" msgstr "" ! #: config/gcn/gcn.cc:6000 config/nvptx/nvptx.cc:6568 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:6027 config/gcn/gcn.cc:6056 #, gcc-internal-format, gfc-internal-format msgid "offload dimension out of range (%d)" msgstr "" ! #: config/gcn/gcn.cc:6505 #, gcc-internal-format msgid "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)" msgstr "" --- 39629,39655 ---- msgid "unsupported simdlen %wd (amdgcn)" msgstr "" ! #: config/gcn/gcn.cc:5996 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:5997 #, gcc-internal-format msgid "using %, ignoring runtime setting" msgstr "" ! #: config/gcn/gcn.cc:6009 config/nvptx/nvptx.cc:6568 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:6036 config/gcn/gcn.cc:6065 #, gcc-internal-format, gfc-internal-format msgid "offload dimension out of range (%d)" msgstr "" ! #: config/gcn/gcn.cc:6514 #, gcc-internal-format msgid "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)" msgstr "" *************** msgstr "" *** 39650,39661 **** msgid "deleting file %s: %m" msgstr "%s: немагчыма знішчыць файл \"%s\": %s\n" ! #: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:492 #, gcc-internal-format msgid "environment variable COLLECT_GCC_OPTIONS must be set" msgstr "" ! #: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:549 #, gcc-internal-format msgid "COLLECT_GCC must be set." msgstr "" --- 39660,39671 ---- msgid "deleting file %s: %m" msgstr "%s: немагчыма знішчыць файл \"%s\": %s\n" ! #: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:506 #, gcc-internal-format msgid "environment variable COLLECT_GCC_OPTIONS must be set" msgstr "" ! #: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:563 #, gcc-internal-format msgid "COLLECT_GCC must be set." msgstr "" *************** msgstr "" *** 39665,39671 **** msgid "offload compiler %s not found" msgstr "Бібліятэка lib%s не знойдзена" ! #: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:620 #, fuzzy, gcc-internal-format msgid "unrecognizable argument of option " msgstr "нераспазнаны выбар \"-%s\"" --- 39675,39681 ---- msgid "offload compiler %s not found" msgstr "Бібліятэка lib%s не знойдзена" ! #: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:634 #, fuzzy, gcc-internal-format msgid "unrecognizable argument of option " msgstr "нераспазнаны выбар \"-%s\"" *************** msgid "either -fopenacc or -fopenmp must *** 39676,39694 **** msgstr "" #: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1143 ! #: config/nvptx/mkoffload.cc:684 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "can't open %s" msgid "cannot open '%s'" msgstr "немагчыма адчыніць %s" ! #: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:730 #, fuzzy, gcc-internal-format #| msgid "can't open output file `%s'" msgid "cannot open omp_requires file %qs" msgstr "немагчыма адчыніць файл уводу `%s'" ! #: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:734 #, fuzzy, gcc-internal-format #| msgid "cannot create temporary file" msgid "cannot read omp_requires file %qs" --- 39686,39704 ---- msgstr "" #: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1143 ! #: config/nvptx/mkoffload.cc:698 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "can't open %s" msgid "cannot open '%s'" msgstr "немагчыма адчыніць %s" ! #: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:744 #, fuzzy, gcc-internal-format #| msgid "can't open output file `%s'" msgid "cannot open omp_requires file %qs" msgstr "немагчыма адчыніць файл уводу `%s'" ! #: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:748 #, fuzzy, gcc-internal-format #| msgid "cannot create temporary file" msgid "cannot read omp_requires file %qs" *************** msgstr "" *** 39927,39950 **** msgid "the argument to % intrinsic must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386-features.cc:3265 #, gcc-internal-format msgid "function versions cannot be marked as %, bodies have to be generated" msgstr "" ! #: config/i386/i386-features.cc:3270 config/i386/i386-features.cc:3539 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual function multiversioning not supported" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 #, fuzzy, gcc-internal-format msgid "multiversioning needs % which is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 ! #: config/i386/i386-options.cc:2134 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "%s does not support %s" msgid "code model %s does not support PIC mode" --- 39937,39960 ---- msgid "the argument to % intrinsic must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386-features.cc:3222 #, gcc-internal-format msgid "function versions cannot be marked as %, bodies have to be generated" msgstr "" ! #: config/i386/i386-features.cc:3227 config/i386/i386-features.cc:3496 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual function multiversioning not supported" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: config/i386/i386-features.cc:3360 config/rs6000/rs6000.cc:25116 #, fuzzy, gcc-internal-format msgid "multiversioning needs % which is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2129 ! #: config/i386/i386-options.cc:2138 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "%s does not support %s" msgid "code model %s does not support PIC mode" *************** msgstr "" *** 39970,40469 **** msgid "attribute value %qs is unknown in %qs attribute" msgstr "" ! #: config/i386/i386-options.cc:1608 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "wrong argument %qs to option %qs" msgstr "вельмі шмат аргумэнтаў у функцыі `%s'" ! #: config/i386/i386-options.cc:1614 #, gcc-internal-format msgid "size ranges of option %qs should be increasing" msgstr "" ! #: config/i386/i386-options.cc:1624 #, gcc-internal-format msgid "wrong strategy name %qs specified for option %qs" msgstr "" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:1650 #, gcc-internal-format msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:1663 #, gcc-internal-format msgid "unknown alignment %qs specified for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1673 #, gcc-internal-format msgid "the max value for the last size range should be -1 for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1680 #, gcc-internal-format msgid "too many size ranges specified in option %qs" msgstr "" ! #: config/i386/i386-options.cc:1733 #, gcc-internal-format msgid "unknown parameter to option %<-mtune-ctrl%>: %s" msgstr "" ! #: config/i386/i386-options.cc:1947 #, gcc-internal-format msgid "Intel MCU psABI isn%'t supported in %s mode" msgstr "" ! #: config/i386/i386-options.cc:2001 #, gcc-internal-format msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" msgstr "" ! #: config/i386/i386-options.cc:2003 #, gcc-internal-format msgid "% is deprecated; use % or % instead as appropriate" msgstr "" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:2031 #, gcc-internal-format msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:2036 #, fuzzy, gcc-internal-format msgid "%<-muintr%> not supported for 32-bit code" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386-options.cc:2039 #, gcc-internal-format msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:2054 #, gcc-internal-format msgid "address mode %qs not supported in the %s bit mode" msgstr "" ! #: config/i386/i386-options.cc:2065 #, gcc-internal-format msgid "%<-mabi=ms%> not supported with X32 ABI" msgstr "" ! #: config/i386/i386-options.cc:2071 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" msgstr "" ! #: config/i386/i386-options.cc:2074 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" msgstr "" ! #: config/i386/i386-options.cc:2078 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" msgstr "" ! #: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 ! #: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 ! #: config/i386/i386-options.cc:2138 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in the %s bit mode" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in x32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386-options.cc:2162 #, fuzzy, gcc-internal-format msgid "%<-masm=intel%> not supported in this configuration" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:2167 #, gcc-internal-format, gfc-internal-format msgid "%i-bit mode not compiled in" msgstr "" ! #: config/i386/i386-options.cc:2179 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2181 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2188 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2190 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 #, fuzzy, gcc-internal-format msgid "CPU you selected does not support x86-64 instruction set" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: config/i386/i386-options.cc:2269 #, gcc-internal-format msgid "bad value %qs for %<-march=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2270 #, gcc-internal-format msgid "bad value %qs for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2292 #, gcc-internal-format msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2294 #, gcc-internal-format msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2299 #, gcc-internal-format msgid "valid arguments to %<-march=%> switch are: %s" msgstr "" ! #: config/i386/i386-options.cc:2300 #, fuzzy, gcc-internal-format msgid "valid arguments to % attribute are: %s" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/i386/i386-options.cc:2349 #, gcc-internal-format msgid "bad value %qs for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2350 #, gcc-internal-format msgid "bad value %qs for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2371 #, gcc-internal-format msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2373 #, gcc-internal-format msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2378 #, gcc-internal-format msgid "valid arguments to %<-mtune=%> switch are: %s" msgstr "" ! #: config/i386/i386-options.cc:2379 #, fuzzy, gcc-internal-format msgid "valid arguments to % attribute are: %s" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/i386/i386-options.cc:2403 #, gcc-internal-format msgid "%<-mregparm%> is ignored in 64-bit mode" msgstr "" ! #: config/i386/i386-options.cc:2405 #, gcc-internal-format msgid "%<-mregparm%> is ignored for Intel MCU psABI" msgstr "" ! #: config/i386/i386-options.cc:2408 #, gcc-internal-format msgid "%<-mregparm=%d%> is not between 0 and %d" msgstr "" ! #: config/i386/i386-options.cc:2431 #, gcc-internal-format msgid "%<-m96bit-long-double%> is not compatible with this target" msgstr "" ! #: config/i386/i386-options.cc:2436 #, gcc-internal-format msgid "%<-mrtd%> is ignored in 64bit mode" msgstr "" ! #: config/i386/i386-options.cc:2437 #, gcc-internal-format msgid "% is ignored in 64bit mode" msgstr "" ! #: config/i386/i386-options.cc:2526 #, fuzzy, gcc-internal-format msgid "%<-mpreferred-stack-boundary%> is not supported for this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:2529 #, gcc-internal-format msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" msgstr "" ! #: config/i386/i386-options.cc:2552 #, gcc-internal-format msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" msgstr "" ! #: config/i386/i386-options.cc:2565 #, gcc-internal-format msgid "%<-mnop-mcount%> is not compatible with this target" msgstr "" ! #: config/i386/i386-options.cc:2568 #, gcc-internal-format msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" msgstr "" ! #: config/i386/i386-options.cc:2574 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2575 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2585 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "" ! #: config/i386/i386-options.cc:2592 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "" ! #: config/i386/i386-options.cc:2642 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386-options.cc:2644 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386-options.cc:2658 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386-options.cc:2660 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386-options.cc:2720 #, gcc-internal-format msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" msgstr "" ! #: config/i386/i386-options.cc:2723 #, gcc-internal-format msgid "%<-mno-fentry%> isn%'t compatible with SEH" msgstr "" ! #: config/i386/i386-options.cc:2727 #, gcc-internal-format msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" msgstr "" ! #: config/i386/i386-options.cc:2841 #, gcc-internal-format msgid "unknown option for %<-mrecip=%s%>" msgstr "" ! #: config/i386/i386-options.cc:2900 #, gcc-internal-format msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" msgstr "" ! #: config/i386/i386-options.cc:2905 #, gcc-internal-format msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" msgstr "" ! #: config/i386/i386-options.cc:2933 #, gcc-internal-format msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" msgstr "" ! #: config/i386/i386-options.cc:2981 #, fuzzy, gcc-internal-format msgid "%<-fcf-protection%> is not compatible with this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:3117 #, gcc-internal-format msgid "interrupt and naked attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3132 #, gcc-internal-format msgid "only DWARF debug format is supported for interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3181 #, gcc-internal-format msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3191 #, gcc-internal-format msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3226 #, gcc-internal-format msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3236 #, gcc-internal-format msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3343 #, gcc-internal-format msgid "%s instructions aren%'t allowed in an exception service routine" msgstr "" ! #: config/i386/i386-options.cc:3345 #, gcc-internal-format msgid "%s instructions aren%'t allowed in an interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3349 #, gcc-internal-format msgid "%s instructions aren%'t allowed in a function with the % attribute" msgstr "" ! #: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3401 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "" ! #: config/i386/i386-options.cc:3414 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "памер \"%s\" больш чам %d байт" ! #: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3443 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3465 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3492 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "" ! #: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386-options.cc:3623 #, fuzzy, gcc-internal-format msgid "%qE attribute only available for 32-bit" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386-options.cc:3644 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is neither zero, nor one" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 #, gcc-internal-format msgid "%qs and %qs attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 #, fuzzy, gcc-internal-format msgid "%qE attribute requires a string constant argument" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 #: config/s390/s390.cc:1290 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3779 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386-options.cc:3786 #, gcc-internal-format msgid "interrupt service routine should have %qs as the second argument" msgstr "" ! #: config/i386/i386-options.cc:3797 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386-options.cc:3800 #, gcc-internal-format msgid "interrupt service routine must return %" msgstr "" --- 39980,40479 ---- msgid "attribute value %qs is unknown in %qs attribute" msgstr "" ! #: config/i386/i386-options.cc:1612 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "wrong argument %qs to option %qs" msgstr "вельмі шмат аргумэнтаў у функцыі `%s'" ! #: config/i386/i386-options.cc:1618 #, gcc-internal-format msgid "size ranges of option %qs should be increasing" msgstr "" ! #: config/i386/i386-options.cc:1628 #, gcc-internal-format msgid "wrong strategy name %qs specified for option %qs" msgstr "" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:1654 #, gcc-internal-format msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:1667 #, gcc-internal-format msgid "unknown alignment %qs specified for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1677 #, gcc-internal-format msgid "the max value for the last size range should be -1 for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1684 #, gcc-internal-format msgid "too many size ranges specified in option %qs" msgstr "" ! #: config/i386/i386-options.cc:1737 #, gcc-internal-format msgid "unknown parameter to option %<-mtune-ctrl%>: %s" msgstr "" ! #: config/i386/i386-options.cc:1951 #, gcc-internal-format msgid "Intel MCU psABI isn%'t supported in %s mode" msgstr "" ! #: config/i386/i386-options.cc:2005 #, gcc-internal-format msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" msgstr "" ! #: config/i386/i386-options.cc:2007 #, gcc-internal-format msgid "% is deprecated; use % or % instead as appropriate" msgstr "" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:2035 #, gcc-internal-format msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:2040 #, fuzzy, gcc-internal-format msgid "%<-muintr%> not supported for 32-bit code" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386-options.cc:2043 #, gcc-internal-format msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" msgstr "" ! #: config/i386/i386-options.cc:2058 #, gcc-internal-format msgid "address mode %qs not supported in the %s bit mode" msgstr "" ! #: config/i386/i386-options.cc:2069 #, gcc-internal-format msgid "%<-mabi=ms%> not supported with X32 ABI" msgstr "" ! #: config/i386/i386-options.cc:2075 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" msgstr "" ! #: config/i386/i386-options.cc:2078 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" msgstr "" ! #: config/i386/i386-options.cc:2082 #, gcc-internal-format msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" msgstr "" ! #: config/i386/i386-options.cc:2099 config/i386/i386-options.cc:2108 ! #: config/i386/i386-options.cc:2120 config/i386/i386-options.cc:2131 ! #: config/i386/i386-options.cc:2142 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in the %s bit mode" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: config/i386/i386-options.cc:2111 config/i386/i386-options.cc:2123 #, fuzzy, gcc-internal-format msgid "code model %qs not supported in x32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386-options.cc:2166 #, fuzzy, gcc-internal-format msgid "%<-masm=intel%> not supported in this configuration" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:2171 #, gcc-internal-format, gfc-internal-format msgid "%i-bit mode not compiled in" msgstr "" ! #: config/i386/i386-options.cc:2183 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2185 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2192 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2194 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2202 config/i386/i386-options.cc:2334 #, fuzzy, gcc-internal-format msgid "CPU you selected does not support x86-64 instruction set" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: config/i386/i386-options.cc:2273 #, gcc-internal-format msgid "bad value %qs for %<-march=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2274 #, gcc-internal-format msgid "bad value %qs for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2296 #, gcc-internal-format msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2298 #, gcc-internal-format msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2303 #, gcc-internal-format msgid "valid arguments to %<-march=%> switch are: %s" msgstr "" ! #: config/i386/i386-options.cc:2304 #, fuzzy, gcc-internal-format msgid "valid arguments to % attribute are: %s" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/i386/i386-options.cc:2353 #, gcc-internal-format msgid "bad value %qs for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2354 #, gcc-internal-format msgid "bad value %qs for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2375 #, gcc-internal-format msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2377 #, gcc-internal-format msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "" ! #: config/i386/i386-options.cc:2382 #, gcc-internal-format msgid "valid arguments to %<-mtune=%> switch are: %s" msgstr "" ! #: config/i386/i386-options.cc:2383 #, fuzzy, gcc-internal-format msgid "valid arguments to % attribute are: %s" msgstr "нявернае выкарыстанне \"restict\"" ! #: config/i386/i386-options.cc:2407 #, gcc-internal-format msgid "%<-mregparm%> is ignored in 64-bit mode" msgstr "" ! #: config/i386/i386-options.cc:2409 #, gcc-internal-format msgid "%<-mregparm%> is ignored for Intel MCU psABI" msgstr "" ! #: config/i386/i386-options.cc:2412 #, gcc-internal-format msgid "%<-mregparm=%d%> is not between 0 and %d" msgstr "" ! #: config/i386/i386-options.cc:2435 #, gcc-internal-format msgid "%<-m96bit-long-double%> is not compatible with this target" msgstr "" ! #: config/i386/i386-options.cc:2440 #, gcc-internal-format msgid "%<-mrtd%> is ignored in 64bit mode" msgstr "" ! #: config/i386/i386-options.cc:2441 #, gcc-internal-format msgid "% is ignored in 64bit mode" msgstr "" ! #: config/i386/i386-options.cc:2530 #, fuzzy, gcc-internal-format msgid "%<-mpreferred-stack-boundary%> is not supported for this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:2533 #, gcc-internal-format msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" msgstr "" ! #: config/i386/i386-options.cc:2556 #, gcc-internal-format msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" msgstr "" ! #: config/i386/i386-options.cc:2569 #, gcc-internal-format msgid "%<-mnop-mcount%> is not compatible with this target" msgstr "" ! #: config/i386/i386-options.cc:2572 #, gcc-internal-format msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" msgstr "" ! #: config/i386/i386-options.cc:2578 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2579 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2589 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "" ! #: config/i386/i386-options.cc:2596 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "" ! #: config/i386/i386-options.cc:2646 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386-options.cc:2648 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386-options.cc:2662 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386-options.cc:2664 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386-options.cc:2724 #, gcc-internal-format msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" msgstr "" ! #: config/i386/i386-options.cc:2727 #, gcc-internal-format msgid "%<-mno-fentry%> isn%'t compatible with SEH" msgstr "" ! #: config/i386/i386-options.cc:2731 #, gcc-internal-format msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" msgstr "" ! #: config/i386/i386-options.cc:2847 #, gcc-internal-format msgid "unknown option for %<-mrecip=%s%>" msgstr "" ! #: config/i386/i386-options.cc:2906 #, gcc-internal-format msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" msgstr "" ! #: config/i386/i386-options.cc:2911 #, gcc-internal-format msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" msgstr "" ! #: config/i386/i386-options.cc:2939 #, gcc-internal-format msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" msgstr "" ! #: config/i386/i386-options.cc:2987 #, fuzzy, gcc-internal-format msgid "%<-fcf-protection%> is not compatible with this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: config/i386/i386-options.cc:3123 #, gcc-internal-format msgid "interrupt and naked attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3138 #, gcc-internal-format msgid "only DWARF debug format is supported for interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3187 #, gcc-internal-format msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3197 #, gcc-internal-format msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3232 #, gcc-internal-format msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3242 #, gcc-internal-format msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3349 #, gcc-internal-format msgid "%s instructions aren%'t allowed in an exception service routine" msgstr "" ! #: config/i386/i386-options.cc:3351 #, gcc-internal-format msgid "%s instructions aren%'t allowed in an interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3355 #, gcc-internal-format msgid "%s instructions aren%'t allowed in a function with the % attribute" msgstr "" ! #: config/i386/i386-options.cc:3402 config/i386/i386-options.cc:3453 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3407 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3414 config/i386/i386-options.cc:3642 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "" ! #: config/i386/i386-options.cc:3420 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "памер \"%s\" больш чам %d байт" ! #: config/i386/i386-options.cc:3445 config/i386/i386-options.cc:3488 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3449 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3457 config/i386/i386-options.cc:3506 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3484 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3471 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3475 config/i386/i386-options.cc:3502 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3492 config/i386/i386-options.cc:3510 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3498 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "" ! #: config/i386/i386-options.cc:3602 config/rs6000/rs6000.cc:20485 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386-options.cc:3629 #, fuzzy, gcc-internal-format msgid "%qE attribute only available for 32-bit" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386-options.cc:3650 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is neither zero, nor one" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3684 config/i386/i386-options.cc:3694 #, gcc-internal-format msgid "%qs and %qs attributes are not compatible" msgstr "" ! #: config/i386/i386-options.cc:3721 config/i386/i386-options.cc:3743 #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 #, fuzzy, gcc-internal-format msgid "%qE attribute requires a string constant argument" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3731 config/i386/i386-options.cc:3753 #: config/s390/s390.cc:1290 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: config/i386/i386-options.cc:3785 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386-options.cc:3792 #, gcc-internal-format msgid "interrupt service routine should have %qs as the second argument" msgstr "" ! #: config/i386/i386-options.cc:3803 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386-options.cc:3806 #, gcc-internal-format msgid "interrupt service routine must return %" msgstr "" *************** msgstr "" *** 40650,40690 **** msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" msgstr "" ! #: config/i386/i386.cc:21736 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" msgstr "" ! #: config/i386/i386.cc:21832 #, gcc-internal-format msgid "profiling %<-mcmodel=large%> with PIC is not supported" msgstr "" ! #: config/i386/i386.cc:23669 #, gcc-internal-format msgid "unknown architecture specific memory model" msgstr "" ! #: config/i386/i386.cc:23676 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23683 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23732 #, gcc-internal-format msgid "unsupported return type %qT for simd" msgstr "" ! #: config/i386/i386.cc:23763 #, gcc-internal-format msgid "unsupported argument type %qT for simd" msgstr "" ! #: config/i386/i386.cc:24309 #, gcc-internal-format msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" msgstr "" --- 40660,40705 ---- msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" msgstr "" ! #: config/i386/i386.cc:21724 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" msgstr "" ! #: config/i386/i386.cc:21820 #, gcc-internal-format msgid "profiling %<-mcmodel=large%> with PIC is not supported" msgstr "" ! #: config/i386/i386.cc:22460 ! #, gcc-internal-format ! msgid "%<__bfloat16%> is redefined from typedef % to real %<__bf16%> since GCC V13, be careful of implicit conversion between %<__bf16%> and %; a explicit bitcast may be needed here" ! msgstr "" ! ! #: config/i386/i386.cc:23686 #, gcc-internal-format msgid "unknown architecture specific memory model" msgstr "" ! #: config/i386/i386.cc:23693 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23700 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23749 #, gcc-internal-format msgid "unsupported return type %qT for simd" msgstr "" ! #: config/i386/i386.cc:23780 #, gcc-internal-format msgid "unsupported argument type %qT for simd" msgstr "" ! #: config/i386/i386.cc:24326 #, gcc-internal-format msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" msgstr "" *************** msgstr "" *** 41951,41972 **** msgid "% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type" msgstr "" ! #: config/nvptx/mkoffload.cc:399 #, fuzzy, gcc-internal-format msgid "Cannot find function declaration for %qs" msgstr "Не магу знайсці дэкларацыю пратакола для \"%s\"" ! #: config/nvptx/mkoffload.cc:597 #, gcc-internal-format msgid "offload compiler %s not found (consider using %<-B%>)" msgstr "" ! #: config/nvptx/mkoffload.cc:640 #, gcc-internal-format msgid "either %<-fopenacc%> or %<-fopenmp%> must be set" msgstr "" ! #: config/nvptx/mkoffload.cc:740 #, fuzzy, gcc-internal-format msgid "cannot open intermediate ptx file" msgstr "немагчыма зачыніць уваходзячы файл %s" --- 41966,41987 ---- msgid "% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type" msgstr "" ! #: config/nvptx/mkoffload.cc:413 #, fuzzy, gcc-internal-format msgid "Cannot find function declaration for %qs" msgstr "Не магу знайсці дэкларацыю пратакола для \"%s\"" ! #: config/nvptx/mkoffload.cc:611 #, gcc-internal-format msgid "offload compiler %s not found (consider using %<-B%>)" msgstr "" ! #: config/nvptx/mkoffload.cc:654 #, gcc-internal-format msgid "either %<-fopenacc%> or %<-fopenmp%> must be set" msgstr "" ! #: config/nvptx/mkoffload.cc:754 #, fuzzy, gcc-internal-format msgid "cannot open intermediate ptx file" msgstr "немагчыма зачыніць уваходзячы файл %s" *************** msgstr "" *** 42293,42299 **** msgid "%qs function cannot have different interrupt type" msgstr "" ! #: config/riscv/riscv.cc:7095 #, gcc-internal-format msgid "cannot allocate vl register for %qs on this target" msgstr "" --- 42308,42314 ---- msgid "%qs function cannot have different interrupt type" msgstr "" ! #: config/riscv/riscv.cc:7094 #, gcc-internal-format msgid "cannot allocate vl register for %qs on this target" msgstr "" *************** msgstr "невядомая назва р *** 42769,42862 **** msgid "%qs is deprecated and not recommended in any circumstances" msgstr "" ! #: config/rs6000/rs6000.cc:10917 #, gcc-internal-format msgid "%qs is an opaque type, and you cannot set it to other values" msgstr "" ! #: config/rs6000/rs6000.cc:17750 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "" ! #: config/rs6000/rs6000.cc:20146 #, gcc-internal-format msgid "you cannot take the address of a nested function if you use the %qs option" msgstr "" ! #: config/rs6000/rs6000.cc:20228 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20230 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20232 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20234 #, gcc-internal-format msgid "use of decimal floating-point types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20240 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20243 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.cc:20248 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20251 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:24389 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "invalid cpu %qs for %s%qs%s" msgstr "нерэчаіснае выкарыстаньне `%D'" ! #: config/rs6000/rs6000.cc:24392 #, fuzzy, gcc-internal-format #| msgid "%s=%s is too large" msgid "%s%qs%s is not allowed" msgstr "%s=%s вельмі вялікі" ! #: config/rs6000/rs6000.cc:24394 #, gcc-internal-format msgid "%s%qs%s is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:24923 #, gcc-internal-format msgid "%<-mno-%s%> turns off %<-m%s%>" msgstr "" ! #: config/rs6000/rs6000.cc:25082 #, gcc-internal-format msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" msgstr "" ! #: config/rs6000/rs6000.cc:25371 #, gcc-internal-format msgid "Virtual function multiversioning not supported" msgstr "" ! #: config/rs6000/rs6000.cc:28508 #, gcc-internal-format msgid "the result for the xxspltidp instruction is undefined for subnormal input values" msgstr "" --- 42784,42877 ---- msgid "%qs is deprecated and not recommended in any circumstances" msgstr "" ! #: config/rs6000/rs6000.cc:10918 #, gcc-internal-format msgid "%qs is an opaque type, and you cannot set it to other values" msgstr "" ! #: config/rs6000/rs6000.cc:17751 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "" ! #: config/rs6000/rs6000.cc:20147 #, gcc-internal-format msgid "you cannot take the address of a nested function if you use the %qs option" msgstr "" ! #: config/rs6000/rs6000.cc:20229 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20231 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20233 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20235 #, gcc-internal-format msgid "use of decimal floating-point types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20241 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20244 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.cc:20249 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20252 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:24390 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "invalid cpu %qs for %s%qs%s" msgstr "нерэчаіснае выкарыстаньне `%D'" ! #: config/rs6000/rs6000.cc:24393 #, fuzzy, gcc-internal-format #| msgid "%s=%s is too large" msgid "%s%qs%s is not allowed" msgstr "%s=%s вельмі вялікі" ! #: config/rs6000/rs6000.cc:24395 #, gcc-internal-format msgid "%s%qs%s is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:24924 #, gcc-internal-format msgid "%<-mno-%s%> turns off %<-m%s%>" msgstr "" ! #: config/rs6000/rs6000.cc:25083 #, gcc-internal-format msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" msgstr "" ! #: config/rs6000/rs6000.cc:25372 #, gcc-internal-format msgid "Virtual function multiversioning not supported" msgstr "" ! #: config/rs6000/rs6000.cc:28509 #, gcc-internal-format msgid "the result for the xxspltidp instruction is undefined for subnormal input values" msgstr "" *************** msgstr "\"%s\" атрыбут ігнар *** 43608,43614 **** msgid "attribute %qs applies to array types only" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13354 cp/typeck.cc:2497 #: cp/typeck.cc:9393 cp/typeck.cc:10189 d/d-convert.cc:262 #, gcc-internal-format msgid "void value not ignored as it ought to be" --- 43623,43629 ---- msgid "attribute %qs applies to array types only" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13359 cp/typeck.cc:2497 #: cp/typeck.cc:9393 cp/typeck.cc:10189 d/d-convert.cc:262 #, gcc-internal-format msgid "void value not ignored as it ought to be" *************** msgstr "" *** 43688,43694 **** msgid "underspecified declaration of %qE, which is already declared in this scope" msgstr "" ! #: c/c-decl.cc:1676 c/c-decl.cc:7703 c/c-decl.cc:8650 c/c-decl.cc:9574 #, gcc-internal-format msgid "originally defined here" msgstr "" --- 43703,43709 ---- msgid "underspecified declaration of %qE, which is already declared in this scope" msgstr "" ! #: c/c-decl.cc:1676 c/c-decl.cc:7710 c/c-decl.cc:8657 c/c-decl.cc:9581 #, gcc-internal-format msgid "originally defined here" msgstr "" *************** msgstr "" *** 43751,43757 **** msgid "built-in function %q+D declared as non-function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:2056 c/c-decl.cc:3162 #, fuzzy, gcc-internal-format msgid "declaration of %q+D shadows a built-in function" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" --- 43766,43772 ---- msgid "built-in function %q+D declared as non-function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:2056 c/c-decl.cc:3169 #, fuzzy, gcc-internal-format msgid "declaration of %q+D shadows a built-in function" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" *************** msgstr "" *** 43812,44074 **** msgid "conflicting type qualifiers for %q+D" msgstr "" ! #: c/c-decl.cc:2225 #, gcc-internal-format msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT" msgstr "" ! #: c/c-decl.cc:2242 #, gcc-internal-format msgid "redefinition of typedef %q+D with different type" msgstr "" ! #: c/c-decl.cc:2255 #, gcc-internal-format msgid "redefinition of typedef %q+D with variably modified type" msgstr "" ! #: c/c-decl.cc:2260 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2288 #, fuzzy, gcc-internal-format msgid "declaration of %qD shadows a built-in function" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:2304 #, gcc-internal-format msgid "declaration of built-in function %qD without a prototype; expected %qT" msgstr "" ! #: c/c-decl.cc:2331 c/c-decl.cc:2442 #, fuzzy, gcc-internal-format msgid "redefinition of %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2370 c/c-decl.cc:2482 #, gcc-internal-format msgid "static declaration of %q+D follows non-static declaration" msgstr "" ! #: c/c-decl.cc:2381 c/c-decl.cc:2389 c/c-decl.cc:2471 c/c-decl.cc:2479 #, gcc-internal-format msgid "non-static declaration of %q+D follows static declaration" msgstr "" ! #: c/c-decl.cc:2406 #, gcc-internal-format msgid "% attribute present on %q+D" msgstr "" ! #: c/c-decl.cc:2409 #, fuzzy, gcc-internal-format #| msgid " from here" msgid "but not here" msgstr " адсюль" ! #: c/c-decl.cc:2428 #, gcc-internal-format msgid "thread-local declaration of %q+D follows non-thread-local declaration" msgstr "" ! #: c/c-decl.cc:2431 #, gcc-internal-format msgid "non-thread-local declaration of %q+D follows thread-local declaration" msgstr "" ! #: c/c-decl.cc:2463 #, fuzzy, gcc-internal-format msgid "extern declaration of %q+D follows declaration with no linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:2501 #, gcc-internal-format msgid "declaration of %q+D with no linkage follows extern declaration" msgstr "" ! #: c/c-decl.cc:2508 #, fuzzy, gcc-internal-format msgid "redeclaration of %q+D with no linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:2534 #, gcc-internal-format msgid "redeclaration of %q+D with different visibility (old visibility preserved)" msgstr "" ! #: c/c-decl.cc:2555 #, fuzzy, gcc-internal-format msgid "redefinition of parameter %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2582 #, fuzzy, gcc-internal-format msgid "redundant redeclaration of %q+D" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3120 #, fuzzy, gcc-internal-format msgid "declaration of %q+D shadows previous non-variable" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: c/c-decl.cc:3142 #, gcc-internal-format msgid "declaration of %qD shadows a parameter" msgstr "" ! #: c/c-decl.cc:3155 cp/name-lookup.cc:3321 #, gcc-internal-format msgid "declaration of %qD shadows a global declaration" msgstr "" ! #: c/c-decl.cc:3181 #, fuzzy, gcc-internal-format msgid "declaration of %qD shadows a previous local" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: c/c-decl.cc:3187 cp/name-lookup.cc:3085 #, fuzzy, gcc-internal-format msgid "shadowed declaration is here" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3317 #, fuzzy, gcc-internal-format msgid "nested extern declaration of %qD" msgstr "пустое абвяшчэнне" ! #: c/c-decl.cc:3480 c/c-decl.cc:3494 #, fuzzy, gcc-internal-format msgid "implicit declaration of function %qE; did you mean %qs?" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3486 c/c-decl.cc:3499 #, fuzzy, gcc-internal-format msgid "implicit declaration of function %qE" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3518 #, fuzzy, gcc-internal-format msgid "include %qs or provide a declaration of %qE" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3789 #, fuzzy, gcc-internal-format msgid "incompatible implicit declaration of built-in function %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3799 #, fuzzy, gcc-internal-format msgid "include %qs or provide a declaration of %qD" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3810 #, fuzzy, gcc-internal-format msgid "incompatible implicit declaration of function %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3871 #, gcc-internal-format msgid "%qE undeclared here (not in a function); did you mean %qs?" msgstr "" ! #: c/c-decl.cc:3876 #, fuzzy, gcc-internal-format msgid "%qE undeclared here (not in a function)" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3889 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function); did you mean %qs?" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3894 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function)" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3898 #, fuzzy, gcc-internal-format #| msgid "(Each undeclared identifier is reported only once" msgid "each undeclared identifier is reported only once for each function it appears in" msgstr "(Аб кожным неабвешчаным ідэнтыфікатары паведамляецца" ! #: c/c-decl.cc:3946 cp/decl.cc:3481 #, gcc-internal-format msgid "label %qE referenced outside of any function" msgstr "" ! #: c/c-decl.cc:3983 #, gcc-internal-format msgid "jump into scope of identifier with variably modified type" msgstr "" ! #: c/c-decl.cc:3986 #, fuzzy, gcc-internal-format msgid "jump skips variable initialization" msgstr "нерэчаісны ініцыялізатар" ! #: c/c-decl.cc:3988 c/c-decl.cc:4044 c/c-decl.cc:4135 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "label %qD defined here" msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца" ! #: c/c-decl.cc:4043 c/c-decl.cc:4134 #, gcc-internal-format msgid "jump into statement expression" msgstr "" ! #: c/c-decl.cc:4066 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate label declaration %qE" msgstr "паўторнае абвяшчэньне адмеціны `%s'" ! #: c/c-decl.cc:4166 cp/decl.cc:3899 #, fuzzy, gcc-internal-format msgid "duplicate label %qD" msgstr "паўтарэнне \"%s\"" ! #: c/c-decl.cc:4197 #, gcc-internal-format msgid "traditional C lacks a separate namespace for labels, identifier %qE conflicts" msgstr "" ! #: c/c-decl.cc:4266 #, gcc-internal-format msgid "switch jumps over variable initialization" msgstr "" ! #: c/c-decl.cc:4269 c/c-decl.cc:4282 #, gcc-internal-format msgid "switch starts here" msgstr "" ! #: c/c-decl.cc:4281 #, gcc-internal-format msgid "switch jumps into statement expression" msgstr "" ! #: c/c-decl.cc:4364 #, gcc-internal-format msgid "%qE defined as wrong kind of tag" msgstr "" ! #: c/c-decl.cc:4550 cp/tree.cc:5055 #, gcc-internal-format msgid "%qE attribute applied to %qD with void return type" msgstr "" ! #: c/c-decl.cc:4559 #, gcc-internal-format msgid "%qE attribute can only be applied to functions or to structure, union or enumeration types" msgstr "" ! #: c/c-decl.cc:4579 #, fuzzy, gcc-internal-format msgid "standard %qE attribute can only be applied to functions" msgstr "\"%s\" звычайна функцыя" --- 43827,44089 ---- msgid "conflicting type qualifiers for %q+D" msgstr "" ! #: c/c-decl.cc:2232 #, gcc-internal-format msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT" msgstr "" ! #: c/c-decl.cc:2249 #, gcc-internal-format msgid "redefinition of typedef %q+D with different type" msgstr "" ! #: c/c-decl.cc:2262 #, gcc-internal-format msgid "redefinition of typedef %q+D with variably modified type" msgstr "" ! #: c/c-decl.cc:2267 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2295 #, fuzzy, gcc-internal-format msgid "declaration of %qD shadows a built-in function" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:2311 #, gcc-internal-format msgid "declaration of built-in function %qD without a prototype; expected %qT" msgstr "" ! #: c/c-decl.cc:2338 c/c-decl.cc:2449 #, fuzzy, gcc-internal-format msgid "redefinition of %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2377 c/c-decl.cc:2489 #, gcc-internal-format msgid "static declaration of %q+D follows non-static declaration" msgstr "" ! #: c/c-decl.cc:2388 c/c-decl.cc:2396 c/c-decl.cc:2478 c/c-decl.cc:2486 #, gcc-internal-format msgid "non-static declaration of %q+D follows static declaration" msgstr "" ! #: c/c-decl.cc:2413 #, gcc-internal-format msgid "% attribute present on %q+D" msgstr "" ! #: c/c-decl.cc:2416 #, fuzzy, gcc-internal-format #| msgid " from here" msgid "but not here" msgstr " адсюль" ! #: c/c-decl.cc:2435 #, gcc-internal-format msgid "thread-local declaration of %q+D follows non-thread-local declaration" msgstr "" ! #: c/c-decl.cc:2438 #, gcc-internal-format msgid "non-thread-local declaration of %q+D follows thread-local declaration" msgstr "" ! #: c/c-decl.cc:2470 #, fuzzy, gcc-internal-format msgid "extern declaration of %q+D follows declaration with no linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:2508 #, gcc-internal-format msgid "declaration of %q+D with no linkage follows extern declaration" msgstr "" ! #: c/c-decl.cc:2515 #, fuzzy, gcc-internal-format msgid "redeclaration of %q+D with no linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:2541 #, gcc-internal-format msgid "redeclaration of %q+D with different visibility (old visibility preserved)" msgstr "" ! #: c/c-decl.cc:2562 #, fuzzy, gcc-internal-format msgid "redefinition of parameter %q+D" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:2589 #, fuzzy, gcc-internal-format msgid "redundant redeclaration of %q+D" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3127 #, fuzzy, gcc-internal-format msgid "declaration of %q+D shadows previous non-variable" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: c/c-decl.cc:3149 #, gcc-internal-format msgid "declaration of %qD shadows a parameter" msgstr "" ! #: c/c-decl.cc:3162 cp/name-lookup.cc:3321 #, gcc-internal-format msgid "declaration of %qD shadows a global declaration" msgstr "" ! #: c/c-decl.cc:3188 #, fuzzy, gcc-internal-format msgid "declaration of %qD shadows a previous local" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: c/c-decl.cc:3194 cp/name-lookup.cc:3085 #, fuzzy, gcc-internal-format msgid "shadowed declaration is here" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3324 #, fuzzy, gcc-internal-format msgid "nested extern declaration of %qD" msgstr "пустое абвяшчэнне" ! #: c/c-decl.cc:3487 c/c-decl.cc:3501 #, fuzzy, gcc-internal-format msgid "implicit declaration of function %qE; did you mean %qs?" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3493 c/c-decl.cc:3506 #, fuzzy, gcc-internal-format msgid "implicit declaration of function %qE" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3525 #, fuzzy, gcc-internal-format msgid "include %qs or provide a declaration of %qE" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3796 #, fuzzy, gcc-internal-format msgid "incompatible implicit declaration of built-in function %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3806 #, fuzzy, gcc-internal-format msgid "include %qs or provide a declaration of %qD" msgstr "Нерэчаіснае абвяшчэнне" ! #: c/c-decl.cc:3817 #, fuzzy, gcc-internal-format msgid "incompatible implicit declaration of function %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:3878 #, gcc-internal-format msgid "%qE undeclared here (not in a function); did you mean %qs?" msgstr "" ! #: c/c-decl.cc:3883 #, fuzzy, gcc-internal-format msgid "%qE undeclared here (not in a function)" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3896 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function); did you mean %qs?" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3901 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function)" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:3905 #, fuzzy, gcc-internal-format #| msgid "(Each undeclared identifier is reported only once" msgid "each undeclared identifier is reported only once for each function it appears in" msgstr "(Аб кожным неабвешчаным ідэнтыфікатары паведамляецца" ! #: c/c-decl.cc:3953 cp/decl.cc:3481 #, gcc-internal-format msgid "label %qE referenced outside of any function" msgstr "" ! #: c/c-decl.cc:3990 #, gcc-internal-format msgid "jump into scope of identifier with variably modified type" msgstr "" ! #: c/c-decl.cc:3993 #, fuzzy, gcc-internal-format msgid "jump skips variable initialization" msgstr "нерэчаісны ініцыялізатар" ! #: c/c-decl.cc:3995 c/c-decl.cc:4051 c/c-decl.cc:4142 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "label %qD defined here" msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца" ! #: c/c-decl.cc:4050 c/c-decl.cc:4141 #, gcc-internal-format msgid "jump into statement expression" msgstr "" ! #: c/c-decl.cc:4073 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate label declaration %qE" msgstr "паўторнае абвяшчэньне адмеціны `%s'" ! #: c/c-decl.cc:4173 cp/decl.cc:3899 #, fuzzy, gcc-internal-format msgid "duplicate label %qD" msgstr "паўтарэнне \"%s\"" ! #: c/c-decl.cc:4204 #, gcc-internal-format msgid "traditional C lacks a separate namespace for labels, identifier %qE conflicts" msgstr "" ! #: c/c-decl.cc:4273 #, gcc-internal-format msgid "switch jumps over variable initialization" msgstr "" ! #: c/c-decl.cc:4276 c/c-decl.cc:4289 #, gcc-internal-format msgid "switch starts here" msgstr "" ! #: c/c-decl.cc:4288 #, gcc-internal-format msgid "switch jumps into statement expression" msgstr "" ! #: c/c-decl.cc:4371 #, gcc-internal-format msgid "%qE defined as wrong kind of tag" msgstr "" ! #: c/c-decl.cc:4557 cp/tree.cc:5055 #, gcc-internal-format msgid "%qE attribute applied to %qD with void return type" msgstr "" ! #: c/c-decl.cc:4566 #, gcc-internal-format msgid "%qE attribute can only be applied to functions or to structure, union or enumeration types" msgstr "" ! #: c/c-decl.cc:4586 #, fuzzy, gcc-internal-format msgid "standard %qE attribute can only be applied to functions" msgstr "\"%s\" звычайна функцыя" *************** msgstr "\"%s\" звычайна функ *** 44077,44202 **** #. expressions, but is still appropriate as an error to #. avoid types declared in such a context escaping to #. the type of an auto variable. ! #: c/c-decl.cc:4855 c/c-decl.cc:8597 #, gcc-internal-format msgid "%qT declared in underspecified object initializer" msgstr "" ! #: c/c-decl.cc:4866 #, gcc-internal-format msgid "unnamed struct/union that defines no instances" msgstr "" ! #: c/c-decl.cc:4877 #, gcc-internal-format msgid "empty declaration with storage class specifier does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4893 #, gcc-internal-format msgid "empty declaration with type qualifier does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4905 #, gcc-internal-format msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4919 #, gcc-internal-format msgid "empty declaration of % type does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4942 c/c-decl.cc:4950 #, fuzzy, gcc-internal-format msgid "useless type name in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:4958 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "% in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4964 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "%<_Noreturn%> in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4970 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "% in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4976 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "" ! #: c/c-decl.cc:4982 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "" ! #: c/c-decl.cc:4990 #, gcc-internal-format msgid "storage class specifier in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:4996 #, gcc-internal-format msgid "%qs in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5006 #, gcc-internal-format msgid "type qualifier in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5012 #, gcc-internal-format msgid "% in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5021 #, fuzzy, gcc-internal-format msgid "useless storage class specifier in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5027 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "useless %qs in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:5040 #, fuzzy, gcc-internal-format msgid "useless type qualifier in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5047 #, gcc-internal-format msgid "useless %<_Alignas%> in empty declaration" msgstr "" ! #: c/c-decl.cc:5065 #, fuzzy, gcc-internal-format msgid "invalid use of attributes in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5079 c/c-parser.cc:2264 #, gcc-internal-format msgid "empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:5151 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support % or type qualifiers in parameter array declarators" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-decl.cc:5155 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C89 не падтрымлівае \"long long\"" --- 44092,44217 ---- #. expressions, but is still appropriate as an error to #. avoid types declared in such a context escaping to #. the type of an auto variable. ! #: c/c-decl.cc:4862 c/c-decl.cc:8604 #, gcc-internal-format msgid "%qT declared in underspecified object initializer" msgstr "" ! #: c/c-decl.cc:4873 #, gcc-internal-format msgid "unnamed struct/union that defines no instances" msgstr "" ! #: c/c-decl.cc:4884 #, gcc-internal-format msgid "empty declaration with storage class specifier does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4900 #, gcc-internal-format msgid "empty declaration with type qualifier does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4912 #, gcc-internal-format msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4926 #, gcc-internal-format msgid "empty declaration of % type does not redeclare tag" msgstr "" ! #: c/c-decl.cc:4949 c/c-decl.cc:4957 #, fuzzy, gcc-internal-format msgid "useless type name in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:4965 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "% in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4971 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "%<_Noreturn%> in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4977 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "% in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:4983 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "" ! #: c/c-decl.cc:4989 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "" ! #: c/c-decl.cc:4997 #, gcc-internal-format msgid "storage class specifier in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5003 #, gcc-internal-format msgid "%qs in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5013 #, gcc-internal-format msgid "type qualifier in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5019 #, gcc-internal-format msgid "% in empty declaration with % underlying type" msgstr "" ! #: c/c-decl.cc:5028 #, fuzzy, gcc-internal-format msgid "useless storage class specifier in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5034 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "useless %qs in empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:5047 #, fuzzy, gcc-internal-format msgid "useless type qualifier in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5054 #, gcc-internal-format msgid "useless %<_Alignas%> in empty declaration" msgstr "" ! #: c/c-decl.cc:5072 #, fuzzy, gcc-internal-format msgid "invalid use of attributes in empty declaration" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:5086 c/c-parser.cc:2264 #, gcc-internal-format msgid "empty declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:5158 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support % or type qualifiers in parameter array declarators" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-decl.cc:5162 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C89 не падтрымлівае \"long long\"" *************** msgstr "ISO C89 не падтрымлі *** 44204,44515 **** #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 ! #: c/c-decl.cc:5161 c/c-decl.cc:8195 c/c-decl.cc:10395 #, gcc-internal-format msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.cc:5379 #, fuzzy, gcc-internal-format #| msgid "`%s' is usually a function" msgid "%q+D is usually a function" msgstr "`%s' - звычайна функцыя" ! #: c/c-decl.cc:5388 #, fuzzy, gcc-internal-format msgid "typedef %qD is initialized (use %<__typeof__%> instead)" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5393 #, gcc-internal-format msgid "function %qD is initialized like a variable" msgstr "" #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. ! #: c/c-decl.cc:5399 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' is initialized" msgid "parameter %qD is initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5419 #, fuzzy, gcc-internal-format msgid "variable %qD has initializer but incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:5499 #, gcc-internal-format msgid "inline function %q+D given attribute %qs" msgstr "" ! #: c/c-decl.cc:5555 #, gcc-internal-format msgid "uninitialized const member in %qT is invalid in C++" msgstr "" ! #: c/c-decl.cc:5557 #, fuzzy, gcc-internal-format msgid "%qD should be initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5638 #, gcc-internal-format msgid "initializer fails to determine size of %q+D" msgstr "" ! #: c/c-decl.cc:5643 #, fuzzy, gcc-internal-format #| msgid "array size missing in `%D'" msgid "array size missing in %q+D" msgstr "прапушчан памер масіва ў `%D'" ! #: c/c-decl.cc:5647 #, fuzzy, gcc-internal-format #| msgid "zero-size array `%D'" msgid "zero or negative size array %q+D" msgstr "нулявы памер масіва `%D'" ! #: c/c-decl.cc:5736 m2/gm2-gcc/m2type.cc:1269 #, fuzzy, gcc-internal-format msgid "storage size of %q+D isn%'t constant" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:5786 #, gcc-internal-format msgid "ignoring % specifier for non-static local variable %q+D" msgstr "" ! #: c/c-decl.cc:5824 #, gcc-internal-format msgid "cannot put object with volatile field into register" msgstr "" ! #: c/c-decl.cc:5910 #, fuzzy, gcc-internal-format msgid "uninitialized % is invalid in C++" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:5925 cp/decl.cc:8825 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" ! #: c/c-decl.cc:6188 #, gcc-internal-format msgid "ISO C forbids forward parameter declarations" msgstr "" ! #: c/c-decl.cc:6228 #, gcc-internal-format msgid "file-scope compound literal specifies %" msgstr "" ! #: c/c-decl.cc:6234 #, gcc-internal-format msgid "compound literal implicitly auto and declared %qs" msgstr "" ! #: c/c-decl.cc:6334 #, gcc-internal-format msgid "defining a type in a compound literal is invalid in C++" msgstr "" ! #: c/c-decl.cc:6355 c/c-decl.cc:6370 #, fuzzy, gcc-internal-format msgid "bit-field %qs width not an integer constant" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:6365 #, fuzzy, gcc-internal-format msgid "bit-field %qs width not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:6376 #, gcc-internal-format msgid "negative width in bit-field %qs" msgstr "" ! #: c/c-decl.cc:6381 #, gcc-internal-format msgid "zero width for bit-field %qs" msgstr "" ! #: c/c-decl.cc:6391 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qs has invalid type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:6397 #, gcc-internal-format msgid "cannot declare bit-field %qs with % type" msgstr "" ! #: c/c-decl.cc:6408 #, gcc-internal-format msgid "type of bit-field %qs is a GCC extension" msgstr "" ! #: c/c-decl.cc:6414 #, gcc-internal-format msgid "width of %qs exceeds its type" msgstr "" ! #: c/c-decl.cc:6427 #, gcc-internal-format msgid "%qs is narrower than values of its type" msgstr "" ! #: c/c-decl.cc:6442 #, gcc-internal-format msgid "ISO C90 forbids array %qE whose size cannot be evaluated" msgstr "" ! #: c/c-decl.cc:6445 #, gcc-internal-format msgid "ISO C90 forbids array whose size cannot be evaluated" msgstr "" ! #: c/c-decl.cc:6452 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids variable length array %qE" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:6454 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids variable length array" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:6663 #, gcc-internal-format msgid "% underlying type may not be specified here" msgstr "" ! #: c/c-decl.cc:6691 c/c-decl.cc:7100 c/c-decl.cc:7110 #, gcc-internal-format msgid "variably modified %qE at file scope" msgstr "" ! #: c/c-decl.cc:6693 #, gcc-internal-format msgid "variably modified field at file scope" msgstr "" ! #: c/c-decl.cc:6713 #, gcc-internal-format msgid "type defaults to % in declaration of %qE" msgstr "" ! #: c/c-decl.cc:6717 #, gcc-internal-format msgid "type defaults to % in type name" msgstr "" ! #: c/c-decl.cc:6749 #, fuzzy, gcc-internal-format #| msgid "duplicate `const'" msgid "duplicate %" msgstr "паўтарэнне \"const\"" ! #: c/c-decl.cc:6751 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %" msgstr "паўтарэнне \"restrict\"" ! #: c/c-decl.cc:6753 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate %" msgstr "паўтарэнне \"volatile\"" ! #: c/c-decl.cc:6755 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %<_Atomic%>" msgstr "паўтарэнне \"restrict\"" ! #: c/c-decl.cc:6758 #, gcc-internal-format, gfc-internal-format msgid "conflicting named address spaces (%s vs %s)" msgstr "" ! #: c/c-decl.cc:6781 c/c-parser.cc:3359 #, gcc-internal-format msgid "%<_Atomic%>-qualified array type" msgstr "" ! #: c/c-decl.cc:6796 #, gcc-internal-format msgid "function definition declared %" msgstr "" ! #: c/c-decl.cc:6798 #, fuzzy, gcc-internal-format msgid "function definition declared %" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: c/c-decl.cc:6800 #, gcc-internal-format msgid "function definition declared %" msgstr "" ! #: c/c-decl.cc:6802 #, fuzzy, gcc-internal-format msgid "function definition declared %qs" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:6829 #, gcc-internal-format msgid "storage class specified for structure field %qE" msgstr "" ! #: c/c-decl.cc:6832 #, gcc-internal-format msgid "storage class specified for structure field" msgstr "" ! #: c/c-decl.cc:6836 #, gcc-internal-format msgid "storage class specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:6839 #, gcc-internal-format msgid "storage class specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:6842 cp/decl.cc:12850 #, gcc-internal-format msgid "storage class specified for typename" msgstr "" ! #: c/c-decl.cc:6860 #, gcc-internal-format msgid "%qE initialized and declared %" msgstr "" ! #: c/c-decl.cc:6864 #, gcc-internal-format msgid "%qE has both % and initializer" msgstr "" ! #: c/c-decl.cc:6869 #, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "" ! #: c/c-decl.cc:6873 #, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "" ! #: c/c-decl.cc:6878 #, gcc-internal-format msgid "nested function %qE declared %" msgstr "" ! #: c/c-decl.cc:6881 #, gcc-internal-format msgid "function-scope %qE implicitly auto and declared %qs" msgstr "" --- 44219,44530 ---- #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 ! #: c/c-decl.cc:5168 c/c-decl.cc:8202 c/c-decl.cc:10402 #, gcc-internal-format msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.cc:5386 #, fuzzy, gcc-internal-format #| msgid "`%s' is usually a function" msgid "%q+D is usually a function" msgstr "`%s' - звычайна функцыя" ! #: c/c-decl.cc:5395 #, fuzzy, gcc-internal-format msgid "typedef %qD is initialized (use %<__typeof__%> instead)" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5400 #, gcc-internal-format msgid "function %qD is initialized like a variable" msgstr "" #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. ! #: c/c-decl.cc:5406 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' is initialized" msgid "parameter %qD is initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5426 #, fuzzy, gcc-internal-format msgid "variable %qD has initializer but incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:5506 #, gcc-internal-format msgid "inline function %q+D given attribute %qs" msgstr "" ! #: c/c-decl.cc:5562 #, gcc-internal-format msgid "uninitialized const member in %qT is invalid in C++" msgstr "" ! #: c/c-decl.cc:5564 #, fuzzy, gcc-internal-format msgid "%qD should be initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: c/c-decl.cc:5645 #, gcc-internal-format msgid "initializer fails to determine size of %q+D" msgstr "" ! #: c/c-decl.cc:5650 #, fuzzy, gcc-internal-format #| msgid "array size missing in `%D'" msgid "array size missing in %q+D" msgstr "прапушчан памер масіва ў `%D'" ! #: c/c-decl.cc:5654 #, fuzzy, gcc-internal-format #| msgid "zero-size array `%D'" msgid "zero or negative size array %q+D" msgstr "нулявы памер масіва `%D'" ! #: c/c-decl.cc:5743 m2/gm2-gcc/m2type.cc:1269 #, fuzzy, gcc-internal-format msgid "storage size of %q+D isn%'t constant" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:5793 #, gcc-internal-format msgid "ignoring % specifier for non-static local variable %q+D" msgstr "" ! #: c/c-decl.cc:5831 #, gcc-internal-format msgid "cannot put object with volatile field into register" msgstr "" ! #: c/c-decl.cc:5917 #, fuzzy, gcc-internal-format msgid "uninitialized % is invalid in C++" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:5932 cp/decl.cc:8825 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" ! #: c/c-decl.cc:6195 #, gcc-internal-format msgid "ISO C forbids forward parameter declarations" msgstr "" ! #: c/c-decl.cc:6235 #, gcc-internal-format msgid "file-scope compound literal specifies %" msgstr "" ! #: c/c-decl.cc:6241 #, gcc-internal-format msgid "compound literal implicitly auto and declared %qs" msgstr "" ! #: c/c-decl.cc:6341 #, gcc-internal-format msgid "defining a type in a compound literal is invalid in C++" msgstr "" ! #: c/c-decl.cc:6362 c/c-decl.cc:6377 #, fuzzy, gcc-internal-format msgid "bit-field %qs width not an integer constant" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:6372 #, fuzzy, gcc-internal-format msgid "bit-field %qs width not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:6383 #, gcc-internal-format msgid "negative width in bit-field %qs" msgstr "" ! #: c/c-decl.cc:6388 #, gcc-internal-format msgid "zero width for bit-field %qs" msgstr "" ! #: c/c-decl.cc:6398 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qs has invalid type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:6404 #, gcc-internal-format msgid "cannot declare bit-field %qs with % type" msgstr "" ! #: c/c-decl.cc:6415 #, gcc-internal-format msgid "type of bit-field %qs is a GCC extension" msgstr "" ! #: c/c-decl.cc:6421 #, gcc-internal-format msgid "width of %qs exceeds its type" msgstr "" ! #: c/c-decl.cc:6434 #, gcc-internal-format msgid "%qs is narrower than values of its type" msgstr "" ! #: c/c-decl.cc:6449 #, gcc-internal-format msgid "ISO C90 forbids array %qE whose size cannot be evaluated" msgstr "" ! #: c/c-decl.cc:6452 #, gcc-internal-format msgid "ISO C90 forbids array whose size cannot be evaluated" msgstr "" ! #: c/c-decl.cc:6459 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids variable length array %qE" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:6461 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids variable length array" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:6670 #, gcc-internal-format msgid "% underlying type may not be specified here" msgstr "" ! #: c/c-decl.cc:6698 c/c-decl.cc:7107 c/c-decl.cc:7117 #, gcc-internal-format msgid "variably modified %qE at file scope" msgstr "" ! #: c/c-decl.cc:6700 #, gcc-internal-format msgid "variably modified field at file scope" msgstr "" ! #: c/c-decl.cc:6720 #, gcc-internal-format msgid "type defaults to % in declaration of %qE" msgstr "" ! #: c/c-decl.cc:6724 #, gcc-internal-format msgid "type defaults to % in type name" msgstr "" ! #: c/c-decl.cc:6756 #, fuzzy, gcc-internal-format #| msgid "duplicate `const'" msgid "duplicate %" msgstr "паўтарэнне \"const\"" ! #: c/c-decl.cc:6758 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %" msgstr "паўтарэнне \"restrict\"" ! #: c/c-decl.cc:6760 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate %" msgstr "паўтарэнне \"volatile\"" ! #: c/c-decl.cc:6762 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %<_Atomic%>" msgstr "паўтарэнне \"restrict\"" ! #: c/c-decl.cc:6765 #, gcc-internal-format, gfc-internal-format msgid "conflicting named address spaces (%s vs %s)" msgstr "" ! #: c/c-decl.cc:6788 c/c-parser.cc:3359 #, gcc-internal-format msgid "%<_Atomic%>-qualified array type" msgstr "" ! #: c/c-decl.cc:6803 #, gcc-internal-format msgid "function definition declared %" msgstr "" ! #: c/c-decl.cc:6805 #, fuzzy, gcc-internal-format msgid "function definition declared %" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: c/c-decl.cc:6807 #, gcc-internal-format msgid "function definition declared %" msgstr "" ! #: c/c-decl.cc:6809 #, fuzzy, gcc-internal-format msgid "function definition declared %qs" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-decl.cc:6836 #, gcc-internal-format msgid "storage class specified for structure field %qE" msgstr "" ! #: c/c-decl.cc:6839 #, gcc-internal-format msgid "storage class specified for structure field" msgstr "" ! #: c/c-decl.cc:6843 #, gcc-internal-format msgid "storage class specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:6846 #, gcc-internal-format msgid "storage class specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:6849 cp/decl.cc:12850 #, gcc-internal-format msgid "storage class specified for typename" msgstr "" ! #: c/c-decl.cc:6867 #, gcc-internal-format msgid "%qE initialized and declared %" msgstr "" ! #: c/c-decl.cc:6871 #, gcc-internal-format msgid "%qE has both % and initializer" msgstr "" ! #: c/c-decl.cc:6876 #, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "" ! #: c/c-decl.cc:6880 #, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "" ! #: c/c-decl.cc:6885 #, gcc-internal-format msgid "nested function %qE declared %" msgstr "" ! #: c/c-decl.cc:6888 #, gcc-internal-format msgid "function-scope %qE implicitly auto and declared %qs" msgstr "" *************** msgstr "" *** 44517,45465 **** #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. ! #: c/c-decl.cc:6928 c/c-decl.cc:7324 #, gcc-internal-format msgid "static or type qualifiers in non-parameter array declarator" msgstr "" ! #: c/c-decl.cc:6991 #, gcc-internal-format msgid "declaration of %qE as array of voids" msgstr "" ! #: c/c-decl.cc:6993 #, gcc-internal-format msgid "declaration of type name as array of voids" msgstr "" ! #: c/c-decl.cc:7000 #, gcc-internal-format msgid "declaration of %qE as array of functions" msgstr "" ! #: c/c-decl.cc:7003 #, gcc-internal-format msgid "declaration of type name as array of functions" msgstr "" ! #: c/c-decl.cc:7011 c/c-decl.cc:9256 #, fuzzy, gcc-internal-format msgid "invalid use of structure with flexible array member" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-decl.cc:7043 #, fuzzy, gcc-internal-format msgid "size of array %qE has non-integer type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7047 #, fuzzy, gcc-internal-format msgid "size of unnamed array has non-integer type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7055 #, fuzzy, gcc-internal-format msgid "size of array %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7058 #, fuzzy, gcc-internal-format msgid "size of unnamed array has incomplete type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7070 #, fuzzy, gcc-internal-format msgid "ISO C forbids zero-size array %qE" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:7073 #, fuzzy, gcc-internal-format msgid "ISO C forbids zero-size array" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:7082 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of array %qE is negative" msgstr "адмоўны памер масіва " ! #: c/c-decl.cc:7084 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of unnamed array is negative" msgstr "адмоўны памер масіва " ! #: c/c-decl.cc:7170 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of array %qE is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: c/c-decl.cc:7173 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of unnamed array is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: c/c-decl.cc:7212 c/c-decl.cc:7873 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support flexible array members" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" #. C99 6.7.5.2p4 ! #: c/c-decl.cc:7234 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%<[*]%> not in a declaration" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: c/c-decl.cc:7248 #, fuzzy, gcc-internal-format msgid "array type has incomplete element type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7254 #, gcc-internal-format msgid "declaration of %qE as multidimensional array must have bounds for all dimensions except the first" msgstr "" ! #: c/c-decl.cc:7258 #, gcc-internal-format msgid "declaration of multidimensional array must have bounds for all dimensions except the first" msgstr "" ! #: c/c-decl.cc:7360 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE declared as function returning a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:7363 #, gcc-internal-format msgid "type name declared as function returning a function" msgstr "" ! #: c/c-decl.cc:7370 #, gcc-internal-format msgid "%qE declared as function returning an array" msgstr "" ! #: c/c-decl.cc:7373 #, gcc-internal-format msgid "type name declared as function returning an array" msgstr "" ! #: c/c-decl.cc:7414 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function definition has qualified void return type" msgstr "функцыя не вяртае тып string" ! #: c/c-decl.cc:7418 cp/decl.cc:13171 #, gcc-internal-format msgid "type qualifiers ignored on function return type" msgstr "" ! #: c/c-decl.cc:7457 c/c-decl.cc:7669 c/c-decl.cc:7723 c/c-decl.cc:7807 ! #: c/c-decl.cc:7929 c/c-parser.cc:3361 #, gcc-internal-format msgid "%<_Atomic%>-qualified function type" msgstr "" ! #: c/c-decl.cc:7463 c/c-decl.cc:7675 c/c-decl.cc:7812 c/c-decl.cc:7934 #, gcc-internal-format msgid "ISO C forbids qualified function types" msgstr "" ! #: c/c-decl.cc:7560 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7564 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7570 #, gcc-internal-format msgid "%qs specified for auto variable %qE" msgstr "" ! #: c/c-decl.cc:7586 #, gcc-internal-format msgid "%qs specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:7589 #, gcc-internal-format msgid "%qs specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:7595 #, gcc-internal-format msgid "%qs specified for structure field %qE" msgstr "" ! #: c/c-decl.cc:7598 #, gcc-internal-format msgid "%qs specified for structure field" msgstr "" ! #: c/c-decl.cc:7613 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE has atomic type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:7615 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field has atomic type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:7624 #, gcc-internal-format msgid "alignment specified for typedef %qE" msgstr "" ! #: c/c-decl.cc:7626 #, gcc-internal-format msgid "alignment specified for % object %qE" msgstr "" ! #: c/c-decl.cc:7631 #, gcc-internal-format msgid "alignment specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:7633 #, gcc-internal-format msgid "alignment specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:7638 #, gcc-internal-format msgid "alignment specified for bit-field %qE" msgstr "" ! #: c/c-decl.cc:7640 #, gcc-internal-format msgid "alignment specified for unnamed bit-field" msgstr "" ! #: c/c-decl.cc:7643 #, fuzzy, gcc-internal-format msgid "alignment specified for function %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:7650 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" msgstr "" ! #: c/c-decl.cc:7653 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" msgstr "" ! #: c/c-decl.cc:7684 #, gcc-internal-format msgid "typedef %q+D declared %" msgstr "" ! #: c/c-decl.cc:7686 #, gcc-internal-format msgid "typedef %q+D declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7729 #, gcc-internal-format msgid "ISO C forbids const or volatile function types" msgstr "" #. C99 6.7.2.1p8 ! #: c/c-decl.cc:7740 #, gcc-internal-format msgid "a member of a structure or union cannot have a variably modified type" msgstr "" ! #: c/c-decl.cc:7757 cp/decl.cc:11730 #, fuzzy, gcc-internal-format msgid "variable or field %qE declared void" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7797 #, gcc-internal-format msgid "attributes in parameter array declarator ignored" msgstr "" ! #: c/c-decl.cc:7839 #, fuzzy, gcc-internal-format msgid "parameter %q+D declared %" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7841 #, fuzzy, gcc-internal-format msgid "parameter %q+D declared %<_Noreturn%>" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7854 #, fuzzy, gcc-internal-format msgid "field %qE declared as a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:7861 #, fuzzy, gcc-internal-format msgid "field %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7863 #, fuzzy, gcc-internal-format msgid "unnamed field has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7900 c/c-decl.cc:7911 c/c-decl.cc:7914 #, fuzzy, gcc-internal-format msgid "invalid storage class for function %qE" msgstr "Нерэчаісны выбар \"%s\"" ! #: c/c-decl.cc:7971 #, fuzzy, gcc-internal-format msgid "cannot inline function %" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:7973 #, gcc-internal-format msgid "% declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7984 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 does not support %<_Noreturn%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:7987 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support %<_Noreturn%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8006 #, gcc-internal-format msgid "% object has variably modified type" msgstr "" ! #: c/c-decl.cc:8010 c/c-parser.cc:10930 #, gcc-internal-format msgid "invalid qualifiers for % object" msgstr "" ! #: c/c-decl.cc:8016 c/c-parser.cc:10933 #, gcc-internal-format msgid "invalid qualifiers for field of % object" msgstr "" ! #: c/c-decl.cc:8042 #, gcc-internal-format msgid "variable previously declared % redeclared %" msgstr "" ! #: c/c-decl.cc:8054 #, gcc-internal-format msgid "variable %q+D declared %" msgstr "" ! #: c/c-decl.cc:8056 #, gcc-internal-format msgid "variable %q+D declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:8091 #, gcc-internal-format msgid "non-nested function with variably modified type" msgstr "" ! #: c/c-decl.cc:8093 #, gcc-internal-format msgid "object with variably modified type must have no linkage" msgstr "" ! #: c/c-decl.cc:8201 c/c-decl.cc:10200 #, gcc-internal-format msgid "function declaration isn%'t a prototype" msgstr "" ! #: c/c-decl.cc:8211 #, gcc-internal-format msgid "parameter names (without types) in function declaration" msgstr "" ! #: c/c-decl.cc:8256 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:8260 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "parameter %u has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:8271 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:8275 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "parameter %u has void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:8350 #, gcc-internal-format msgid "% as only parameter may not be qualified" msgstr "" ! #: c/c-decl.cc:8354 c/c-decl.cc:8390 #, fuzzy, gcc-internal-format msgid "% must be the only parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-decl.cc:8384 #, gcc-internal-format msgid "parameter %q+D has just a forward declaration" msgstr "" ! #: c/c-decl.cc:8430 #, gcc-internal-format msgid "%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8436 #, gcc-internal-format, gfc-internal-format msgid "anonymous %s declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8551 #, gcc-internal-format msgid "enum type defined here" msgstr "" ! #: c/c-decl.cc:8557 #, fuzzy, gcc-internal-format #| msgid "previous definition here" msgid "struct defined here" msgstr "папярэдняе вызначэньне" ! #: c/c-decl.cc:8563 #, fuzzy, gcc-internal-format #| msgid "previous definition here" msgid "union defined here" msgstr "папярэдняе вызначэньне" ! #: c/c-decl.cc:8646 #, fuzzy, gcc-internal-format msgid "redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8648 #, fuzzy, gcc-internal-format msgid "redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8657 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8659 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8689 c/c-decl.cc:9599 #, gcc-internal-format msgid "defining type in %qs expression is invalid in C++" msgstr "" ! #: c/c-decl.cc:8695 c/c-decl.cc:9605 #, gcc-internal-format msgid "%qT defined in underspecified object initializer" msgstr "" ! #: c/c-decl.cc:8759 cp/decl.cc:5479 #, gcc-internal-format msgid "declaration does not declare anything" msgstr "" ! #: c/c-decl.cc:8764 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 doesn%'t support unnamed structs/unions" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8767 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 doesn%'t support unnamed structs/unions" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8860 c/c-decl.cc:8878 c/c-decl.cc:8939 #, fuzzy, gcc-internal-format msgid "duplicate member %q+D" msgstr "паўтарэнне \"%s\"" ! #: c/c-decl.cc:8965 #, gcc-internal-format msgid "empty struct has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:8968 #, gcc-internal-format msgid "empty union has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:9148 #, gcc-internal-format msgid "union has no named members" msgstr "" ! #: c/c-decl.cc:9150 #, gcc-internal-format msgid "union has no members" msgstr "" ! #: c/c-decl.cc:9155 #, gcc-internal-format msgid "struct has no named members" msgstr "" ! #: c/c-decl.cc:9157 #, gcc-internal-format msgid "struct has no members" msgstr "" ! #: c/c-decl.cc:9235 cp/decl.cc:14154 #, gcc-internal-format msgid "flexible array member in union" msgstr "" ! #: c/c-decl.cc:9241 #, gcc-internal-format msgid "flexible array member not at end of struct" msgstr "" ! #: c/c-decl.cc:9247 #, gcc-internal-format msgid "flexible array member in a struct with no named members" msgstr "" ! #: c/c-decl.cc:9281 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "type %qT is too large" msgstr "%s - вельмі вялікі" ! #: c/c-decl.cc:9335 #, gcc-internal-format msgid "type punning toggles scalar storage order" msgstr "" ! #: c/c-decl.cc:9402 #, gcc-internal-format msgid "union cannot be made transparent" msgstr "" ! #: c/c-decl.cc:9564 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:9572 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D'" msgid "redeclaration of %" msgstr "абвяшчэньне `%#D'" ! #: c/c-decl.cc:9583 #, gcc-internal-format msgid "% declared with but defined without fixed underlying type" msgstr "" ! #: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 #, gcc-internal-format msgid "specified mode too small for enumerated values" msgstr "" ! #: c/c-decl.cc:9687 #, gcc-internal-format msgid "enumeration values exceed range of largest integer" msgstr "" ! #: c/c-decl.cc:9696 #, gcc-internal-format msgid "enumeration values exceed range of %qs" msgstr "" ! #: c/c-decl.cc:9823 c/c-decl.cc:9839 #, fuzzy, gcc-internal-format msgid "enumerator value for %qE is not an integer constant" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:9834 #, fuzzy, gcc-internal-format msgid "enumerator value for %qE is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:9858 #, gcc-internal-format msgid "overflow in enumeration values" msgstr "" ! #: c/c-decl.cc:9865 #, gcc-internal-format msgid "enumerator value outside the range of underlying type" msgstr "" ! #: c/c-decl.cc:9893 #, gcc-internal-format msgid "enumerator value outside the range of %qs" msgstr "" ! #: c/c-decl.cc:9899 #, gcc-internal-format msgid "ISO C restricts enumerator values to range of % before C2X" msgstr "" ! #: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 #, gcc-internal-format msgid "inline function %qD given attribute %qs" msgstr "" ! #: c/c-decl.cc:10111 #, gcc-internal-format msgid "return type is an incomplete type" msgstr "" ! #: c/c-decl.cc:10123 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type defaults to %" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: c/c-decl.cc:10151 #, gcc-internal-format msgid "%q+D defined as variadic function without prototype" msgstr "" ! #: c/c-decl.cc:10209 #, fuzzy, gcc-internal-format #| msgid "no previous prototype for `%s'" msgid "no previous prototype for %qD" msgstr "няма папярэдняга прататыпа для \"%s\"" ! #: c/c-decl.cc:10218 #, fuzzy, gcc-internal-format msgid "%qD was used with no prototype before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:10226 cp/decl.cc:17453 #, fuzzy, gcc-internal-format #| msgid "no previous declaration for `%s'" msgid "no previous declaration for %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:10236 #, fuzzy, gcc-internal-format msgid "%qD was used with no declaration before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:10255 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type of %qD is not %" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: c/c-decl.cc:10257 #, gcc-internal-format msgid "%<_Atomic%>-qualified return type of %qD" msgstr "" ! #: c/c-decl.cc:10264 #, fuzzy, gcc-internal-format #| msgid "`%s' is usually a function" msgid "%qD is normally a non-static function" msgstr "`%s' - звычайна функцыя" ! #: c/c-decl.cc:10315 #, gcc-internal-format msgid "old-style parameter declarations in prototyped function definition" msgstr "" ! #: c/c-decl.cc:10330 #, gcc-internal-format msgid "traditional C rejects ISO C style function definitions" msgstr "" ! #: c/c-decl.cc:10347 #, gcc-internal-format msgid "ISO C does not support omitting parameter names in function definitions before C2X" msgstr "" ! #: c/c-decl.cc:10387 c/c-decl.cc:10391 #, gcc-internal-format msgid "old-style function definition" msgstr "" ! #: c/c-decl.cc:10404 #, gcc-internal-format msgid "parameter name missing from parameter list" msgstr "" ! #: c/c-decl.cc:10420 #, gcc-internal-format msgid "%qD declared as a non-parameter" msgstr "" ! #: c/c-decl.cc:10428 #, fuzzy, gcc-internal-format msgid "multiple parameters named %qD" msgstr "невыкарыстаемы параметр \"%s\"" ! #: c/c-decl.cc:10437 #, fuzzy, gcc-internal-format msgid "parameter %qD declared with void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:10466 c/c-decl.cc:10471 #, gcc-internal-format msgid "type of %qD defaults to %" msgstr "" ! #: c/c-decl.cc:10491 #, fuzzy, gcc-internal-format msgid "parameter %qD has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:10498 #, gcc-internal-format msgid "declaration for parameter %qD but no such parameter" msgstr "" ! #: c/c-decl.cc:10551 #, gcc-internal-format msgid "number of arguments doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10562 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "number of arguments doesn%'t match prototype" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: c/c-decl.cc:10565 c/c-decl.cc:10612 c/c-decl.cc:10626 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "prototype declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:10604 #, gcc-internal-format msgid "promoted argument %qD doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10609 #, gcc-internal-format msgid "promoted argument %qD doesn%'t match prototype" msgstr "" ! #: c/c-decl.cc:10619 #, gcc-internal-format msgid "argument %qD doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10624 #, gcc-internal-format msgid "argument %qD doesn%'t match prototype" msgstr "" ! #: c/c-decl.cc:10882 cp/decl.cc:18234 #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "" ! #: c/c-decl.cc:10901 cp/decl.cc:18318 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "parameter %qD set but not used" msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца" ! #: c/c-decl.cc:10998 #, gcc-internal-format msgid "% loop initial declarations are only allowed in C99 or C11 mode" msgstr "" ! #: c/c-decl.cc:11003 #, gcc-internal-format msgid "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to compile your code" msgstr "" ! #: c/c-decl.cc:11010 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support % loop initial declarations" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-decl.cc:11042 #, gcc-internal-format msgid "declaration of static variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11046 #, gcc-internal-format msgid "declaration of % variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11053 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11058 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11062 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11066 #, gcc-internal-format msgid "declaration of non-variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11352 #, gcc-internal-format msgid "incompatible address space qualifiers %qs and %qs" msgstr "" ! #: c/c-decl.cc:11411 c/c-decl.cc:11418 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate %qE declaration specifier" msgstr "паўторнае абвяшчэньне адмеціны `%s'" ! #: c/c-decl.cc:11446 c/c-decl.cc:12447 #, gcc-internal-format msgid "multiple storage classes in declaration specifiers" msgstr "" ! #: c/c-decl.cc:11448 #, gcc-internal-format msgid "%qs used with %" msgstr "" #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:11453 #, gcc-internal-format msgid "% used with %" msgstr "" ! #: c/c-decl.cc:11466 c/c-decl.cc:11850 c/c-decl.cc:12245 #, gcc-internal-format msgid "two or more data types in declaration specifiers" msgstr "" ! #: c/c-decl.cc:11478 cp/parser.cc:33541 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" msgstr "`long long long' - вельмі доўга для GCC" ! #: c/c-decl.cc:11491 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support `long long'" msgid "ISO C90 does not support %" msgstr "ISO C89 не падтрымлівае `long long'" ! #: c/c-decl.cc:11720 c/c-parser.cc:10584 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support complex types" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:11766 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support saturating types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:11837 c/c-decl.cc:12382 c/c-decl.cc:12441 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qE" msgstr "паўтарэньне `%s'" ! #: c/c-decl.cc:11897 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %<__int%d%> types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:11919 #, fuzzy, gcc-internal-format msgid "%<__int%d%> is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: c/c-decl.cc:11962 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support boolean types" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:12081 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C does not support the %<_Float%d%s%> type" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:12131 cp/parser.cc:19728 #, fuzzy, gcc-internal-format msgid "%<_Float%d%s%> is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: c/c-decl.cc:12202 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support decimal floating-point before C2X" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12226 c/c-decl.cc:12543 c/c-parser.cc:9594 #, fuzzy, gcc-internal-format msgid "fixed-point types not supported for this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: c/c-decl.cc:12228 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support fixed-point types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12261 #, gcc-internal-format msgid "C++ lookup of %qD would return a field, not a type" msgstr "" ! #: c/c-decl.cc:12274 #, gcc-internal-format msgid "%qE fails to be a typedef or built in type" msgstr "" ! #: c/c-decl.cc:12326 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not at beginning of declaration" --- 44532,45480 ---- #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. ! #: c/c-decl.cc:6935 c/c-decl.cc:7331 #, gcc-internal-format msgid "static or type qualifiers in non-parameter array declarator" msgstr "" ! #: c/c-decl.cc:6998 #, gcc-internal-format msgid "declaration of %qE as array of voids" msgstr "" ! #: c/c-decl.cc:7000 #, gcc-internal-format msgid "declaration of type name as array of voids" msgstr "" ! #: c/c-decl.cc:7007 #, gcc-internal-format msgid "declaration of %qE as array of functions" msgstr "" ! #: c/c-decl.cc:7010 #, gcc-internal-format msgid "declaration of type name as array of functions" msgstr "" ! #: c/c-decl.cc:7018 c/c-decl.cc:9263 #, fuzzy, gcc-internal-format msgid "invalid use of structure with flexible array member" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-decl.cc:7050 #, fuzzy, gcc-internal-format msgid "size of array %qE has non-integer type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7054 #, fuzzy, gcc-internal-format msgid "size of unnamed array has non-integer type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7062 #, fuzzy, gcc-internal-format msgid "size of array %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7065 #, fuzzy, gcc-internal-format msgid "size of unnamed array has incomplete type" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:7077 #, fuzzy, gcc-internal-format msgid "ISO C forbids zero-size array %qE" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:7080 #, fuzzy, gcc-internal-format msgid "ISO C forbids zero-size array" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-decl.cc:7089 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of array %qE is negative" msgstr "адмоўны памер масіва " ! #: c/c-decl.cc:7091 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of unnamed array is negative" msgstr "адмоўны памер масіва " ! #: c/c-decl.cc:7177 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of array %qE is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: c/c-decl.cc:7180 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of unnamed array is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: c/c-decl.cc:7219 c/c-decl.cc:7880 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support flexible array members" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" #. C99 6.7.5.2p4 ! #: c/c-decl.cc:7241 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%<[*]%> not in a declaration" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: c/c-decl.cc:7255 #, fuzzy, gcc-internal-format msgid "array type has incomplete element type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7261 #, gcc-internal-format msgid "declaration of %qE as multidimensional array must have bounds for all dimensions except the first" msgstr "" ! #: c/c-decl.cc:7265 #, gcc-internal-format msgid "declaration of multidimensional array must have bounds for all dimensions except the first" msgstr "" ! #: c/c-decl.cc:7367 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE declared as function returning a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:7370 #, gcc-internal-format msgid "type name declared as function returning a function" msgstr "" ! #: c/c-decl.cc:7377 #, gcc-internal-format msgid "%qE declared as function returning an array" msgstr "" ! #: c/c-decl.cc:7380 #, gcc-internal-format msgid "type name declared as function returning an array" msgstr "" ! #: c/c-decl.cc:7421 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function definition has qualified void return type" msgstr "функцыя не вяртае тып string" ! #: c/c-decl.cc:7425 cp/decl.cc:13171 #, gcc-internal-format msgid "type qualifiers ignored on function return type" msgstr "" ! #: c/c-decl.cc:7464 c/c-decl.cc:7676 c/c-decl.cc:7730 c/c-decl.cc:7814 ! #: c/c-decl.cc:7936 c/c-parser.cc:3361 #, gcc-internal-format msgid "%<_Atomic%>-qualified function type" msgstr "" ! #: c/c-decl.cc:7470 c/c-decl.cc:7682 c/c-decl.cc:7819 c/c-decl.cc:7941 #, gcc-internal-format msgid "ISO C forbids qualified function types" msgstr "" ! #: c/c-decl.cc:7567 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7571 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7577 #, gcc-internal-format msgid "%qs specified for auto variable %qE" msgstr "" ! #: c/c-decl.cc:7593 #, gcc-internal-format msgid "%qs specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:7596 #, gcc-internal-format msgid "%qs specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:7602 #, gcc-internal-format msgid "%qs specified for structure field %qE" msgstr "" ! #: c/c-decl.cc:7605 #, gcc-internal-format msgid "%qs specified for structure field" msgstr "" ! #: c/c-decl.cc:7620 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE has atomic type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:7622 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field has atomic type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-decl.cc:7631 #, gcc-internal-format msgid "alignment specified for typedef %qE" msgstr "" ! #: c/c-decl.cc:7633 #, gcc-internal-format msgid "alignment specified for % object %qE" msgstr "" ! #: c/c-decl.cc:7638 #, gcc-internal-format msgid "alignment specified for parameter %qE" msgstr "" ! #: c/c-decl.cc:7640 #, gcc-internal-format msgid "alignment specified for unnamed parameter" msgstr "" ! #: c/c-decl.cc:7645 #, gcc-internal-format msgid "alignment specified for bit-field %qE" msgstr "" ! #: c/c-decl.cc:7647 #, gcc-internal-format msgid "alignment specified for unnamed bit-field" msgstr "" ! #: c/c-decl.cc:7650 #, fuzzy, gcc-internal-format msgid "alignment specified for function %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:7657 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" msgstr "" ! #: c/c-decl.cc:7660 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" msgstr "" ! #: c/c-decl.cc:7691 #, gcc-internal-format msgid "typedef %q+D declared %" msgstr "" ! #: c/c-decl.cc:7693 #, gcc-internal-format msgid "typedef %q+D declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7736 #, gcc-internal-format msgid "ISO C forbids const or volatile function types" msgstr "" #. C99 6.7.2.1p8 ! #: c/c-decl.cc:7747 #, gcc-internal-format msgid "a member of a structure or union cannot have a variably modified type" msgstr "" ! #: c/c-decl.cc:7764 cp/decl.cc:11730 #, fuzzy, gcc-internal-format msgid "variable or field %qE declared void" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7804 #, gcc-internal-format msgid "attributes in parameter array declarator ignored" msgstr "" ! #: c/c-decl.cc:7846 #, fuzzy, gcc-internal-format msgid "parameter %q+D declared %" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7848 #, fuzzy, gcc-internal-format msgid "parameter %q+D declared %<_Noreturn%>" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:7861 #, fuzzy, gcc-internal-format msgid "field %qE declared as a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:7868 #, fuzzy, gcc-internal-format msgid "field %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7870 #, fuzzy, gcc-internal-format msgid "unnamed field has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:7907 c/c-decl.cc:7918 c/c-decl.cc:7921 #, fuzzy, gcc-internal-format msgid "invalid storage class for function %qE" msgstr "Нерэчаісны выбар \"%s\"" ! #: c/c-decl.cc:7978 #, fuzzy, gcc-internal-format msgid "cannot inline function %" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-decl.cc:7980 #, gcc-internal-format msgid "% declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7991 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 does not support %<_Noreturn%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:7994 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support %<_Noreturn%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8013 #, gcc-internal-format msgid "% object has variably modified type" msgstr "" ! #: c/c-decl.cc:8017 c/c-parser.cc:10933 #, gcc-internal-format msgid "invalid qualifiers for % object" msgstr "" ! #: c/c-decl.cc:8023 c/c-parser.cc:10936 #, gcc-internal-format msgid "invalid qualifiers for field of % object" msgstr "" ! #: c/c-decl.cc:8049 #, gcc-internal-format msgid "variable previously declared % redeclared %" msgstr "" ! #: c/c-decl.cc:8061 #, gcc-internal-format msgid "variable %q+D declared %" msgstr "" ! #: c/c-decl.cc:8063 #, gcc-internal-format msgid "variable %q+D declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:8098 #, gcc-internal-format msgid "non-nested function with variably modified type" msgstr "" ! #: c/c-decl.cc:8100 #, gcc-internal-format msgid "object with variably modified type must have no linkage" msgstr "" ! #: c/c-decl.cc:8208 c/c-decl.cc:10207 #, gcc-internal-format msgid "function declaration isn%'t a prototype" msgstr "" ! #: c/c-decl.cc:8218 #, gcc-internal-format msgid "parameter names (without types) in function declaration" msgstr "" ! #: c/c-decl.cc:8263 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:8267 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "parameter %u has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:8278 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:8282 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "parameter %u has void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:8357 #, gcc-internal-format msgid "% as only parameter may not be qualified" msgstr "" ! #: c/c-decl.cc:8361 c/c-decl.cc:8397 #, fuzzy, gcc-internal-format msgid "% must be the only parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-decl.cc:8391 #, gcc-internal-format msgid "parameter %q+D has just a forward declaration" msgstr "" ! #: c/c-decl.cc:8437 #, gcc-internal-format msgid "%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8443 #, gcc-internal-format, gfc-internal-format msgid "anonymous %s declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8558 #, gcc-internal-format msgid "enum type defined here" msgstr "" ! #: c/c-decl.cc:8564 #, fuzzy, gcc-internal-format #| msgid "previous definition here" msgid "struct defined here" msgstr "папярэдняе вызначэньне" ! #: c/c-decl.cc:8570 #, fuzzy, gcc-internal-format #| msgid "previous definition here" msgid "union defined here" msgstr "папярэдняе вызначэньне" ! #: c/c-decl.cc:8653 #, fuzzy, gcc-internal-format msgid "redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8655 #, fuzzy, gcc-internal-format msgid "redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8664 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8666 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:8696 c/c-decl.cc:9606 #, gcc-internal-format msgid "defining type in %qs expression is invalid in C++" msgstr "" ! #: c/c-decl.cc:8702 c/c-decl.cc:9612 #, gcc-internal-format msgid "%qT defined in underspecified object initializer" msgstr "" ! #: c/c-decl.cc:8766 cp/decl.cc:5479 #, gcc-internal-format msgid "declaration does not declare anything" msgstr "" ! #: c/c-decl.cc:8771 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 doesn%'t support unnamed structs/unions" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8774 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 doesn%'t support unnamed structs/unions" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:8867 c/c-decl.cc:8885 c/c-decl.cc:8946 #, fuzzy, gcc-internal-format msgid "duplicate member %q+D" msgstr "паўтарэнне \"%s\"" ! #: c/c-decl.cc:8972 #, gcc-internal-format msgid "empty struct has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:8975 #, gcc-internal-format msgid "empty union has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:9155 #, gcc-internal-format msgid "union has no named members" msgstr "" ! #: c/c-decl.cc:9157 #, gcc-internal-format msgid "union has no members" msgstr "" ! #: c/c-decl.cc:9162 #, gcc-internal-format msgid "struct has no named members" msgstr "" ! #: c/c-decl.cc:9164 #, gcc-internal-format msgid "struct has no members" msgstr "" ! #: c/c-decl.cc:9242 cp/decl.cc:14154 #, gcc-internal-format msgid "flexible array member in union" msgstr "" ! #: c/c-decl.cc:9248 #, gcc-internal-format msgid "flexible array member not at end of struct" msgstr "" ! #: c/c-decl.cc:9254 #, gcc-internal-format msgid "flexible array member in a struct with no named members" msgstr "" ! #: c/c-decl.cc:9288 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "type %qT is too large" msgstr "%s - вельмі вялікі" ! #: c/c-decl.cc:9342 #, gcc-internal-format msgid "type punning toggles scalar storage order" msgstr "" ! #: c/c-decl.cc:9409 #, gcc-internal-format msgid "union cannot be made transparent" msgstr "" ! #: c/c-decl.cc:9571 #, fuzzy, gcc-internal-format msgid "nested redefinition of %" msgstr "перанакіраванне stdout: %s" ! #: c/c-decl.cc:9579 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D'" msgid "redeclaration of %" msgstr "абвяшчэньне `%#D'" ! #: c/c-decl.cc:9590 #, gcc-internal-format msgid "% declared with but defined without fixed underlying type" msgstr "" ! #: c/c-decl.cc:9675 cp/decl.cc:16740 m2/gm2-gcc/m2type.cc:2070 #, gcc-internal-format msgid "specified mode too small for enumerated values" msgstr "" ! #: c/c-decl.cc:9694 #, gcc-internal-format msgid "enumeration values exceed range of largest integer" msgstr "" ! #: c/c-decl.cc:9703 #, gcc-internal-format msgid "enumeration values exceed range of %qs" msgstr "" ! #: c/c-decl.cc:9830 c/c-decl.cc:9846 #, fuzzy, gcc-internal-format msgid "enumerator value for %qE is not an integer constant" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:9841 #, fuzzy, gcc-internal-format msgid "enumerator value for %qE is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-decl.cc:9865 #, gcc-internal-format msgid "overflow in enumeration values" msgstr "" ! #: c/c-decl.cc:9872 #, gcc-internal-format msgid "enumerator value outside the range of underlying type" msgstr "" ! #: c/c-decl.cc:9900 #, gcc-internal-format msgid "enumerator value outside the range of %qs" msgstr "" ! #: c/c-decl.cc:9906 #, gcc-internal-format msgid "ISO C restricts enumerator values to range of % before C2X" msgstr "" ! #: c/c-decl.cc:10100 cp/decl.cc:5799 cp/decl.cc:17319 #, gcc-internal-format msgid "inline function %qD given attribute %qs" msgstr "" ! #: c/c-decl.cc:10118 #, gcc-internal-format msgid "return type is an incomplete type" msgstr "" ! #: c/c-decl.cc:10130 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type defaults to %" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: c/c-decl.cc:10158 #, gcc-internal-format msgid "%q+D defined as variadic function without prototype" msgstr "" ! #: c/c-decl.cc:10216 #, fuzzy, gcc-internal-format #| msgid "no previous prototype for `%s'" msgid "no previous prototype for %qD" msgstr "няма папярэдняга прататыпа для \"%s\"" ! #: c/c-decl.cc:10225 #, fuzzy, gcc-internal-format msgid "%qD was used with no prototype before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:10233 cp/decl.cc:17462 #, fuzzy, gcc-internal-format #| msgid "no previous declaration for `%s'" msgid "no previous declaration for %qD" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: c/c-decl.cc:10243 #, fuzzy, gcc-internal-format msgid "%qD was used with no declaration before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: c/c-decl.cc:10262 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type of %qD is not %" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: c/c-decl.cc:10264 #, gcc-internal-format msgid "%<_Atomic%>-qualified return type of %qD" msgstr "" ! #: c/c-decl.cc:10271 #, fuzzy, gcc-internal-format #| msgid "`%s' is usually a function" msgid "%qD is normally a non-static function" msgstr "`%s' - звычайна функцыя" ! #: c/c-decl.cc:10322 #, gcc-internal-format msgid "old-style parameter declarations in prototyped function definition" msgstr "" ! #: c/c-decl.cc:10337 #, gcc-internal-format msgid "traditional C rejects ISO C style function definitions" msgstr "" ! #: c/c-decl.cc:10354 #, gcc-internal-format msgid "ISO C does not support omitting parameter names in function definitions before C2X" msgstr "" ! #: c/c-decl.cc:10394 c/c-decl.cc:10398 #, gcc-internal-format msgid "old-style function definition" msgstr "" ! #: c/c-decl.cc:10411 #, gcc-internal-format msgid "parameter name missing from parameter list" msgstr "" ! #: c/c-decl.cc:10427 #, gcc-internal-format msgid "%qD declared as a non-parameter" msgstr "" ! #: c/c-decl.cc:10435 #, fuzzy, gcc-internal-format msgid "multiple parameters named %qD" msgstr "невыкарыстаемы параметр \"%s\"" ! #: c/c-decl.cc:10444 #, fuzzy, gcc-internal-format msgid "parameter %qD declared with void type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: c/c-decl.cc:10473 c/c-decl.cc:10478 #, gcc-internal-format msgid "type of %qD defaults to %" msgstr "" ! #: c/c-decl.cc:10498 #, fuzzy, gcc-internal-format msgid "parameter %qD has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-decl.cc:10505 #, gcc-internal-format msgid "declaration for parameter %qD but no such parameter" msgstr "" ! #: c/c-decl.cc:10558 #, gcc-internal-format msgid "number of arguments doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10569 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "number of arguments doesn%'t match prototype" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: c/c-decl.cc:10572 c/c-decl.cc:10619 c/c-decl.cc:10633 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "prototype declaration" msgstr "пустое абвяшчэньне" ! #: c/c-decl.cc:10611 #, gcc-internal-format msgid "promoted argument %qD doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10616 #, gcc-internal-format msgid "promoted argument %qD doesn%'t match prototype" msgstr "" ! #: c/c-decl.cc:10626 #, gcc-internal-format msgid "argument %qD doesn%'t match built-in prototype" msgstr "" ! #: c/c-decl.cc:10631 #, gcc-internal-format msgid "argument %qD doesn%'t match prototype" msgstr "" ! #: c/c-decl.cc:10889 cp/decl.cc:18243 #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "" ! #: c/c-decl.cc:10908 cp/decl.cc:18327 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "parameter %qD set but not used" msgstr "адмеціна `%D' вызначана, але не выкарыстоўваецца" ! #: c/c-decl.cc:11005 #, gcc-internal-format msgid "% loop initial declarations are only allowed in C99 or C11 mode" msgstr "" ! #: c/c-decl.cc:11010 #, gcc-internal-format msgid "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to compile your code" msgstr "" ! #: c/c-decl.cc:11017 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support % loop initial declarations" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-decl.cc:11049 #, gcc-internal-format msgid "declaration of static variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11053 #, gcc-internal-format msgid "declaration of % variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11060 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11065 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11069 #, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11073 #, gcc-internal-format msgid "declaration of non-variable %qD in % loop initial declaration" msgstr "" ! #: c/c-decl.cc:11359 #, gcc-internal-format msgid "incompatible address space qualifiers %qs and %qs" msgstr "" ! #: c/c-decl.cc:11418 c/c-decl.cc:11425 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate %qE declaration specifier" msgstr "паўторнае абвяшчэньне адмеціны `%s'" ! #: c/c-decl.cc:11453 c/c-decl.cc:12454 #, gcc-internal-format msgid "multiple storage classes in declaration specifiers" msgstr "" ! #: c/c-decl.cc:11455 #, gcc-internal-format msgid "%qs used with %" msgstr "" #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:11460 #, gcc-internal-format msgid "% used with %" msgstr "" ! #: c/c-decl.cc:11473 c/c-decl.cc:11857 c/c-decl.cc:12252 #, gcc-internal-format msgid "two or more data types in declaration specifiers" msgstr "" ! #: c/c-decl.cc:11485 cp/parser.cc:33540 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" msgstr "`long long long' - вельмі доўга для GCC" ! #: c/c-decl.cc:11498 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support `long long'" msgid "ISO C90 does not support %" msgstr "ISO C89 не падтрымлівае `long long'" ! #: c/c-decl.cc:11727 c/c-parser.cc:10587 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support complex types" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:11773 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support saturating types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:11844 c/c-decl.cc:12389 c/c-decl.cc:12448 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qE" msgstr "паўтарэньне `%s'" ! #: c/c-decl.cc:11904 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %<__int%d%> types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:11926 #, fuzzy, gcc-internal-format msgid "%<__int%d%> is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: c/c-decl.cc:11969 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support boolean types" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:12088 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C does not support the %<_Float%d%s%> type" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-decl.cc:12138 cp/parser.cc:19728 #, fuzzy, gcc-internal-format msgid "%<_Float%d%s%> is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гэтай мэтай" ! #: c/c-decl.cc:12209 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support decimal floating-point before C2X" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12233 c/c-decl.cc:12550 c/c-parser.cc:9597 #, fuzzy, gcc-internal-format msgid "fixed-point types not supported for this target" msgstr "атрыбуты секцыі не падтрымліваюцца для гэтай мэты" ! #: c/c-decl.cc:12235 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support fixed-point types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12268 #, gcc-internal-format msgid "C++ lookup of %qD would return a field, not a type" msgstr "" ! #: c/c-decl.cc:12281 #, gcc-internal-format msgid "%qE fails to be a typedef or built in type" msgstr "" ! #: c/c-decl.cc:12333 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not at beginning of declaration" *************** msgstr "\"%s\" - гэта не пача *** 45467,45612 **** #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:12347 c/c-decl.cc:12424 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12349 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12351 c/c-decl.cc:12420 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12353 c/c-decl.cc:12390 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12367 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8938 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C99 does not support %qE" msgstr "%s не падтрымлівае %s" ! #: c/c-decl.cc:12370 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8941 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C90 does not support %qE" msgstr "%s не падтрымлівае %s" ! #: c/c-decl.cc:12396 #, gcc-internal-format msgid "%<__thread%> before %" msgstr "" ! #: c/c-decl.cc:12405 #, gcc-internal-format msgid "%<__thread%> before %" msgstr "" ! #: c/c-decl.cc:12411 #, gcc-internal-format msgid "% used with %" msgstr "" ! #: c/c-decl.cc:12418 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12426 #, gcc-internal-format msgid "%qE used with %qs" msgstr "" ! #: c/c-decl.cc:12439 #, gcc-internal-format msgid "duplicate %<_Thread_local%> or %<__thread%>" msgstr "" ! #: c/c-decl.cc:12455 #, gcc-internal-format msgid "%qs used with %qE" msgstr "" ! #: c/c-decl.cc:12463 #, gcc-internal-format msgid "% used with %qE" msgstr "" ! #: c/c-decl.cc:12540 #, gcc-internal-format msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" msgstr "" ! #: c/c-decl.cc:12555 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support plain `complex' meaning `double complex'" msgid "ISO C does not support plain % meaning %" msgstr "ISO C не падтрымлівае просты \"complex\" у значэнні \"double complex\"" ! #: c/c-decl.cc:12566 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support % type deduction before C2X" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12595 #, gcc-internal-format msgid "%<__auto_type%> followed by %<[[]]%> attributes" msgstr "" ! #: c/c-decl.cc:12621 c/c-decl.cc:12637 c/c-decl.cc:12663 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:13091 cp/semantics.cc:6071 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.cc:13095 cp/semantics.cc:6075 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-fold.cc:388 c/c-typeck.cc:12632 cp/typeck.cc:5636 #, gcc-internal-format msgid "left shift of negative value" msgstr "" ! #: c/c-fold.cc:398 c/c-typeck.cc:12641 cp/typeck.cc:5644 #, gcc-internal-format msgid "left shift count is negative" msgstr "" ! #: c/c-fold.cc:399 c/c-typeck.cc:12569 cp/typeck.cc:5583 #, gcc-internal-format msgid "right shift count is negative" msgstr "" ! #: c/c-fold.cc:407 c/c-typeck.cc:12660 cp/typeck.cc:5652 #, gcc-internal-format msgid "left shift count >= width of type" msgstr "" ! #: c/c-fold.cc:408 c/c-typeck.cc:12593 cp/typeck.cc:5594 #, gcc-internal-format msgid "right shift count >= width of type" msgstr "" ! #: c/c-fold.cc:415 c/c-typeck.cc:12652 #, gcc-internal-format msgid "left shift count >= width of vector element" msgstr "" ! #: c/c-fold.cc:416 c/c-typeck.cc:12580 #, gcc-internal-format msgid "right shift count >= width of vector element" msgstr "" --- 45482,45627 ---- #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:12354 c/c-decl.cc:12431 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12356 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12358 c/c-decl.cc:12427 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12360 c/c-decl.cc:12397 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12374 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8941 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C99 does not support %qE" msgstr "%s не падтрымлівае %s" ! #: c/c-decl.cc:12377 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8944 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C90 does not support %qE" msgstr "%s не падтрымлівае %s" ! #: c/c-decl.cc:12403 #, gcc-internal-format msgid "%<__thread%> before %" msgstr "" ! #: c/c-decl.cc:12412 #, gcc-internal-format msgid "%<__thread%> before %" msgstr "" ! #: c/c-decl.cc:12418 #, gcc-internal-format msgid "% used with %" msgstr "" ! #: c/c-decl.cc:12425 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12433 #, gcc-internal-format msgid "%qE used with %qs" msgstr "" ! #: c/c-decl.cc:12446 #, gcc-internal-format msgid "duplicate %<_Thread_local%> or %<__thread%>" msgstr "" ! #: c/c-decl.cc:12462 #, gcc-internal-format msgid "%qs used with %qE" msgstr "" ! #: c/c-decl.cc:12470 #, gcc-internal-format msgid "% used with %qE" msgstr "" ! #: c/c-decl.cc:12547 #, gcc-internal-format msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" msgstr "" ! #: c/c-decl.cc:12562 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support plain `complex' meaning `double complex'" msgid "ISO C does not support plain % meaning %" msgstr "ISO C не падтрымлівае просты \"complex\" у значэнні \"double complex\"" ! #: c/c-decl.cc:12573 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support % type deduction before C2X" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:12602 #, gcc-internal-format msgid "%<__auto_type%> followed by %<[[]]%> attributes" msgstr "" ! #: c/c-decl.cc:12628 c/c-decl.cc:12644 c/c-decl.cc:12670 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-decl.cc:13098 cp/semantics.cc:6071 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.cc:13102 cp/semantics.cc:6075 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-fold.cc:388 c/c-typeck.cc:12637 cp/typeck.cc:5636 #, gcc-internal-format msgid "left shift of negative value" msgstr "" ! #: c/c-fold.cc:398 c/c-typeck.cc:12646 cp/typeck.cc:5644 #, gcc-internal-format msgid "left shift count is negative" msgstr "" ! #: c/c-fold.cc:399 c/c-typeck.cc:12574 cp/typeck.cc:5583 #, gcc-internal-format msgid "right shift count is negative" msgstr "" ! #: c/c-fold.cc:407 c/c-typeck.cc:12665 cp/typeck.cc:5652 #, gcc-internal-format msgid "left shift count >= width of type" msgstr "" ! #: c/c-fold.cc:408 c/c-typeck.cc:12598 cp/typeck.cc:5594 #, gcc-internal-format msgid "right shift count >= width of type" msgstr "" ! #: c/c-fold.cc:415 c/c-typeck.cc:12657 #, gcc-internal-format msgid "left shift count >= width of vector element" msgstr "" ! #: c/c-fold.cc:416 c/c-typeck.cc:12585 #, gcc-internal-format msgid "right shift count >= width of vector element" msgstr "" *************** msgstr "" *** 45626,45632 **** msgid "to match this %qs" msgstr "" ! #: c/c-parser.cc:1367 cp/parser.cc:33775 #, gcc-internal-format msgid "expected end of line" msgstr "" --- 45641,45647 ---- msgid "to match this %qs" msgstr "" ! #: c/c-parser.cc:1367 cp/parser.cc:33774 #, gcc-internal-format msgid "expected end of line" msgstr "" *************** msgstr "" *** 45637,45649 **** msgid "ISO C forbids an empty translation unit" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23168 ! #: cp/parser.cc:47461 cp/semantics.cc:3400 cp/semantics.cc:3409 #, gcc-internal-format msgid "%qs without corresponding %qs" msgstr "" ! #: c/c-parser.cc:1901 c/c-parser.cc:11990 #, gcc-internal-format msgid "ISO C does not allow extra %<;%> outside of a function" msgstr "" --- 45652,45664 ---- msgid "ISO C forbids an empty translation unit" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23171 ! #: cp/parser.cc:47460 cp/semantics.cc:3400 cp/semantics.cc:3409 #, gcc-internal-format msgid "%qs without corresponding %qs" msgstr "" ! #: c/c-parser.cc:1901 c/c-parser.cc:11993 #, gcc-internal-format msgid "ISO C does not allow extra %<;%> outside of a function" msgstr "" *************** msgstr "" *** 45679,45687 **** msgid "unknown type name %qE" msgstr "невядомая назва рэгістра: %s" ! #: c/c-parser.cc:2192 c/c-parser.cc:13312 c/c-parser.cc:20918 ! #: c/c-parser.cc:21513 c/c-parser.cc:22067 cp/parser.cc:44924 ! #: cp/parser.cc:49523 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration specifiers" --- 45694,45702 ---- msgid "unknown type name %qE" msgstr "невядомая назва рэгістра: %s" ! #: c/c-parser.cc:2192 c/c-parser.cc:13315 c/c-parser.cc:20921 ! #: c/c-parser.cc:21516 c/c-parser.cc:22070 cp/parser.cc:44923 ! #: cp/parser.cc:49522 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration specifiers" *************** msgstr "" *** 45713,45719 **** msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.cc:2297 cp/parser.cc:36028 cp/parser.cc:36100 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored for methods" msgstr "\"%s\" атрыбут ігнарыруецца" --- 45728,45734 ---- msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.cc:2297 cp/parser.cc:36027 cp/parser.cc:36099 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored for methods" msgstr "\"%s\" атрыбут ігнарыруецца" *************** msgstr "атрыбуты секцыі н *** 45729,45740 **** msgid "unexpected attribute" msgstr "" ! #: c/c-parser.cc:2363 c/c-parser.cc:6747 cp/parser.cc:12616 cp/parser.cc:12838 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" ! #: c/c-parser.cc:2366 c/c-parser.cc:6730 cp/cp-gimplify.cc:3264 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" --- 45744,45755 ---- msgid "unexpected attribute" msgstr "" ! #: c/c-parser.cc:2363 c/c-parser.cc:6750 cp/parser.cc:12616 cp/parser.cc:12838 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" ! #: c/c-parser.cc:2366 c/c-parser.cc:6733 cp/cp-gimplify.cc:3266 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" *************** msgstr "" *** 45795,45801 **** msgid "ISO C forbids nested functions" msgstr "" ! #: c/c-parser.cc:2950 c/c-parser.cc:7869 c/c-parser.cc:13373 #, gcc-internal-format msgid "expected string literal" msgstr "" --- 45810,45816 ---- msgid "ISO C forbids nested functions" msgstr "" ! #: c/c-parser.cc:2950 c/c-parser.cc:7872 c/c-parser.cc:13376 #, gcc-internal-format msgid "expected string literal" msgstr "" *************** msgid "empty enum is invalid" *** 45892,45911 **** msgstr "параметр \"%s\" ініцыялізаваны" #: c/c-parser.cc:3588 c/c-parser.cc:4640 c/c-parser.cc:5361 c/c-parser.cc:5373 ! #: c/c-parser.cc:5835 c/c-parser.cc:6147 c/c-parser.cc:7736 c/c-parser.cc:7819 ! #: c/c-parser.cc:8795 c/c-parser.cc:9112 c/c-parser.cc:9121 c/c-parser.cc:9654 ! #: c/c-parser.cc:9841 c/c-parser.cc:9869 c/c-parser.cc:10751 ! #: c/c-parser.cc:11269 c/c-parser.cc:11307 c/c-parser.cc:11572 ! #: c/c-parser.cc:11623 c/c-parser.cc:11783 c/c-parser.cc:11813 ! #: c/c-parser.cc:11821 c/c-parser.cc:11850 c/c-parser.cc:11863 ! #: c/c-parser.cc:12169 c/c-parser.cc:12293 c/c-parser.cc:12878 ! #: c/c-parser.cc:12931 c/c-parser.cc:12947 c/c-parser.cc:12993 ! #: c/c-parser.cc:13838 c/c-parser.cc:13884 c/c-parser.cc:16614 ! #: c/c-parser.cc:16751 c/c-parser.cc:17466 c/c-parser.cc:19902 ! #: c/c-parser.cc:22595 c/c-parser.cc:22786 c/gimple-parser.cc:1806 ! #: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33778 ! #: cp/parser.cc:37005 cp/parser.cc:39931 cp/parser.cc:40123 cp/parser.cc:46507 ! #: cp/parser.cc:48806 #, gcc-internal-format msgid "expected identifier" msgstr "" --- 45907,45926 ---- msgstr "параметр \"%s\" ініцыялізаваны" #: c/c-parser.cc:3588 c/c-parser.cc:4640 c/c-parser.cc:5361 c/c-parser.cc:5373 ! #: c/c-parser.cc:5838 c/c-parser.cc:6150 c/c-parser.cc:7739 c/c-parser.cc:7822 ! #: c/c-parser.cc:8798 c/c-parser.cc:9115 c/c-parser.cc:9124 c/c-parser.cc:9657 ! #: c/c-parser.cc:9844 c/c-parser.cc:9872 c/c-parser.cc:10754 ! #: c/c-parser.cc:11272 c/c-parser.cc:11310 c/c-parser.cc:11575 ! #: c/c-parser.cc:11626 c/c-parser.cc:11786 c/c-parser.cc:11816 ! #: c/c-parser.cc:11824 c/c-parser.cc:11853 c/c-parser.cc:11866 ! #: c/c-parser.cc:12172 c/c-parser.cc:12296 c/c-parser.cc:12881 ! #: c/c-parser.cc:12934 c/c-parser.cc:12950 c/c-parser.cc:12996 ! #: c/c-parser.cc:13841 c/c-parser.cc:13887 c/c-parser.cc:16617 ! #: c/c-parser.cc:16754 c/c-parser.cc:17469 c/c-parser.cc:19905 ! #: c/c-parser.cc:22598 c/c-parser.cc:22789 c/gimple-parser.cc:1806 ! #: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33777 ! #: cp/parser.cc:37004 cp/parser.cc:39930 cp/parser.cc:40122 cp/parser.cc:46506 ! #: cp/parser.cc:48805 #, gcc-internal-format msgid "expected identifier" msgstr "" *************** msgstr "" *** 45985,45991 **** msgid "parentheses must be omitted if attribute argument list is empty" msgstr "" ! #: c/c-parser.cc:5398 cp/parser.cc:29399 #, gcc-internal-format msgid "%qE attribute does not take any arguments" msgstr "" --- 46000,46006 ---- msgid "parentheses must be omitted if attribute argument list is empty" msgstr "" ! #: c/c-parser.cc:5398 cp/parser.cc:29398 #, gcc-internal-format msgid "%qE attribute does not take any arguments" msgstr "" *************** msgstr "" *** 45995,46064 **** msgid "ISO C does not support %<[[]]%> attributes before C2X" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-parser.cc:5682 c/c-parser.cc:5742 c/c-typeck.cc:8638 #, gcc-internal-format msgid "variable-sized object may not be initialized except with an empty initializer" msgstr "" ! #: c/c-parser.cc:5736 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids an empty source file" msgid "ISO C forbids empty initializer braces before C2X" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-parser.cc:5799 #, gcc-internal-format msgid "obsolete use of designated initializer with %<:%>" msgstr "" ! #: c/c-parser.cc:5955 #, gcc-internal-format msgid "ISO C forbids specifying range of elements to initialize" msgstr "" ! #: c/c-parser.cc:5967 #, gcc-internal-format msgid "ISO C90 forbids specifying subobject to initialize" msgstr "" ! #: c/c-parser.cc:5975 #, gcc-internal-format msgid "obsolete use of designated initializer without %<=%>" msgstr "" ! #: c/c-parser.cc:6162 #, gcc-internal-format msgid "ISO C forbids label declarations" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-parser.cc:6168 c/c-parser.cc:6257 c/c-parser.cc:6271 #: c/gimple-parser.cc:419 #, fuzzy, gcc-internal-format msgid "expected declaration or statement" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-parser.cc:6203 #, gcc-internal-format msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.cc:6215 c/c-parser.cc:6248 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids label declarations" msgid "ISO C90 forbids mixed declarations and code" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-parser.cc:6279 #, gcc-internal-format msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.cc:6284 cp/parser.cc:12963 #, gcc-internal-format msgid "% without a previous %" msgstr "" ! #: c/c-parser.cc:6302 #, gcc-internal-format msgid "label at end of compound statement" msgstr "" --- 46010,46079 ---- msgid "ISO C does not support %<[[]]%> attributes before C2X" msgstr "ISO C89 не падтрымлівае \"long long\"" ! #: c/c-parser.cc:5684 c/c-parser.cc:5745 c/c-typeck.cc:8638 #, gcc-internal-format msgid "variable-sized object may not be initialized except with an empty initializer" msgstr "" ! #: c/c-parser.cc:5739 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids an empty source file" msgid "ISO C forbids empty initializer braces before C2X" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-parser.cc:5802 #, gcc-internal-format msgid "obsolete use of designated initializer with %<:%>" msgstr "" ! #: c/c-parser.cc:5958 #, gcc-internal-format msgid "ISO C forbids specifying range of elements to initialize" msgstr "" ! #: c/c-parser.cc:5970 #, gcc-internal-format msgid "ISO C90 forbids specifying subobject to initialize" msgstr "" ! #: c/c-parser.cc:5978 #, gcc-internal-format msgid "obsolete use of designated initializer without %<=%>" msgstr "" ! #: c/c-parser.cc:6165 #, gcc-internal-format msgid "ISO C forbids label declarations" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-parser.cc:6171 c/c-parser.cc:6260 c/c-parser.cc:6274 #: c/gimple-parser.cc:419 #, fuzzy, gcc-internal-format msgid "expected declaration or statement" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: c/c-parser.cc:6206 #, gcc-internal-format msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.cc:6218 c/c-parser.cc:6251 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids label declarations" msgid "ISO C90 forbids mixed declarations and code" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-parser.cc:6282 #, gcc-internal-format msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.cc:6287 cp/parser.cc:12963 #, gcc-internal-format msgid "% without a previous %" msgstr "" ! #: c/c-parser.cc:6305 #, gcc-internal-format msgid "label at end of compound statement" msgstr "" *************** msgstr "" *** 46067,47188 **** #. 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.cc:6323 c/c-parser.cc:6336 c/c-parser.cc:6772 #: c/gimple-parser.cc:2344 cp/parser.cc:12522 #, gcc-internal-format msgid "expected statement" msgstr "" ! #: c/c-parser.cc:6395 #, gcc-internal-format msgid "expected %<:%> or %<...%>" msgstr "" ! #: c/c-parser.cc:6423 #, gcc-internal-format msgid "GNU-style attribute between label and declaration appertains to the label" msgstr "" ! #: c/c-parser.cc:6654 #, gcc-internal-format msgid "expected identifier or %<*%>" msgstr "" ! #: c/c-parser.cc:6755 #, gcc-internal-format msgid "only attribute % or % can be applied to a null statement" msgstr "" ! #: c/c-parser.cc:6880 cp/parser.cc:14532 #, 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.cc:6922 cp/parser.cc:14535 #, 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.cc:7053 cp/parser.cc:13332 #, gcc-internal-format msgid "suggest explicit braces to avoid ambiguous %" msgstr "" ! #: c/c-parser.cc:7193 #, gcc-internal-format msgid "suggest braces around empty body in % statement" msgstr "" ! #: c/c-parser.cc:7325 c/c-parser.cc:7357 #, gcc-internal-format msgid "multiple iterating variables in fast enumeration" msgstr "" ! #: c/c-parser.cc:7380 #, fuzzy, gcc-internal-format msgid "invalid iterating variable in fast enumeration" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-parser.cc:7404 cp/parser.cc:13619 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7410 cp/parser.cc:13625 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7446 #, gcc-internal-format msgid "missing collection in fast enumeration" msgstr "" ! #: c/c-parser.cc:7568 c/c-parser.cc:7579 c/c-parser.cc:7590 #, fuzzy, gcc-internal-format msgid "duplicate % qualifier %qE" msgstr "паўтарэнне \"volatile\"" ! #: c/c-parser.cc:7569 c/c-parser.cc:7580 c/c-parser.cc:7591 cp/parser.cc:22172 #: cp/parser.cc:22189 cp/parser.cc:22203 #, gcc-internal-format msgid "first seen here" msgstr "" ! #: c/c-parser.cc:7600 #, gcc-internal-format msgid "%qE is not a valid % qualifier" msgstr "" ! #: c/c-parser.cc:7650 #, gcc-internal-format msgid "expected %<:%> or %<)%>" msgstr "" ! #: c/c-parser.cc:7949 cp/parser.cc:4575 #, gcc-internal-format msgid "a wide string is invalid in this context" msgstr "" ! #: c/c-parser.cc:8155 #, fuzzy, gcc-internal-format msgid "ISO C forbids omitting the middle term of a % expression" msgstr "ISO C не дазваляе пусты ізыходны файл" #. Location of the binary operator. #. Quiet warning. ! #: c/c-parser.cc:8377 cp/typeck.cc:5417 #, gcc-internal-format msgid "division % does not compute the number of array elements" msgstr "" ! #: c/c-parser.cc:8383 cp/typeck.cc:5422 #, gcc-internal-format msgid "first % operand was declared here" msgstr "" ! #: c/c-parser.cc:8654 #, gcc-internal-format msgid "storage class specifier in cast" msgstr "" ! #: c/c-parser.cc:8657 #, gcc-internal-format msgid "alignment specified for type name in cast" msgstr "" ! #: c/c-parser.cc:8758 #, gcc-internal-format msgid "traditional C rejects the unary plus operator" msgstr "" ! #: c/c-parser.cc:8890 #, gcc-internal-format msgid "storage class specifier in %" msgstr "" ! #: c/c-parser.cc:8893 #, gcc-internal-format msgid "alignment specified for type name in %" msgstr "" ! #: c/c-parser.cc:8909 #, gcc-internal-format msgid "% applied to a bit-field" msgstr "" ! #: c/c-parser.cc:8982 #, gcc-internal-format msgid "storage class specifier in %qE" msgstr "" ! #: c/c-parser.cc:8985 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-parser.cc:9009 #, gcc-internal-format msgid "ISO C does not allow %<%E (expression)%>" msgstr "" ! #: c/c-parser.cc:9162 #, fuzzy, gcc-internal-format msgid "cannot take address of %qs" msgstr "не магу атрымаць адрас бітавага поля \"%s\"" ! #: c/c-parser.cc:9245 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 does not support %<_Generic%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:9248 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support %<_Generic%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:9317 #, gcc-internal-format msgid "%<_Generic%> association has function type" msgstr "" ! #: c/c-parser.cc:9320 #, fuzzy, gcc-internal-format msgid "%<_Generic%> association has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:9324 #, gcc-internal-format msgid "%<_Generic%> association has variable length type" msgstr "" ! #: c/c-parser.cc:9348 #, gcc-internal-format msgid "duplicate % case in %<_Generic%>" msgstr "" ! #: c/c-parser.cc:9349 #, gcc-internal-format msgid "original % is here" msgstr "" ! #: c/c-parser.cc:9357 #, gcc-internal-format msgid "%<_Generic%> specifies two compatible types" msgstr "" ! #: c/c-parser.cc:9358 #, gcc-internal-format msgid "compatible type is here" msgstr "" ! #: c/c-parser.cc:9381 #, gcc-internal-format msgid "%<_Generic%> selector matches multiple associations" msgstr "" ! #: c/c-parser.cc:9383 #, gcc-internal-format msgid "other match is here" msgstr "" ! #: c/c-parser.cc:9408 #, gcc-internal-format msgid "%<_Generic%> selector of type %qT is not compatible with any association" msgstr "" ! #: c/c-parser.cc:9429 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is not a function pointer" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9437 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is unprototyped" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9443 #, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has variable arguments" msgstr "" ! #: c/c-parser.cc:9459 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has no arguments" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9482 c/c-parser.cc:9486 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %qs predefined identifier" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-parser.cc:9490 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C90 does not support %<__func__%> predefined identifier" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-parser.cc:9668 c/c-parser.cc:10818 c/c-parser.cc:10840 ! #: c/c-parser.cc:19319 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 ! #: cp/parser.cc:42017 #, gcc-internal-format msgid "expected expression" msgstr "" ! #: c/c-parser.cc:9689 #, gcc-internal-format msgid "braced-group within expression allowed only inside a function" msgstr "" ! #: c/c-parser.cc:9703 #, gcc-internal-format msgid "ISO C forbids braced-groups within expressions" msgstr "" ! #: c/c-parser.cc:9896 #, fuzzy, gcc-internal-format msgid "wrong number of arguments to %<__builtin_choose_expr%>" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:9912 #, fuzzy, gcc-internal-format msgid "first argument to %<__builtin_choose_expr%> not a constant" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:9982 c/c-parser.cc:9999 c/c-parser.cc:10006 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %<__builtin_tgmath%>" msgstr "не хапае аргументаў у функцыі" ! #: c/c-parser.cc:10027 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:10071 c/c-parser.cc:10081 #, gcc-internal-format msgid "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10103 c/c-parser.cc:10113 #, gcc-internal-format msgid "invalid type-generic type for argument %u of argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10146 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> all have the same type" msgstr "" ! #: c/c-parser.cc:10165 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" msgstr "" ! #: c/c-parser.cc:10213 #, gcc-internal-format msgid "duplicate type-generic parameter type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10236 #, gcc-internal-format msgid "bad return type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10253 #, gcc-internal-format msgid "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10292 #, gcc-internal-format, gfc-internal-format msgid "invalid type of argument %u of type-generic function" msgstr "" ! #: c/c-parser.cc:10303 #, gcc-internal-format, gfc-internal-format msgid "decimal floating-point argument %u to complex-only type-generic function" msgstr "" ! #: c/c-parser.cc:10311 #, gcc-internal-format, gfc-internal-format msgid "decimal floating-point argument %u to binary-only type-generic function" msgstr "" ! #: c/c-parser.cc:10319 c/c-parser.cc:10349 #, gcc-internal-format msgid "both complex and decimal floating-point arguments to type-generic function" msgstr "" ! #: c/c-parser.cc:10327 c/c-parser.cc:10369 #, gcc-internal-format msgid "both binary and decimal floating-point arguments to type-generic function" msgstr "" ! #: c/c-parser.cc:10341 #, gcc-internal-format, gfc-internal-format msgid "complex argument %u to decimal-only type-generic function" msgstr "" ! #: c/c-parser.cc:10361 #, gcc-internal-format, gfc-internal-format msgid "binary argument %u to decimal-only type-generic function" msgstr "" ! #: c/c-parser.cc:10464 #, gcc-internal-format msgid "no matching function for type-generic call" msgstr "" ! #: c/c-parser.cc:10505 #, gcc-internal-format msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" msgstr "" ! #: c/c-parser.cc:10518 #, fuzzy, gcc-internal-format msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:10522 #, fuzzy, gcc-internal-format msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:10548 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_complex%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: c/c-parser.cc:10570 #, gcc-internal-format msgid "%<__builtin_complex%> operand not of real binary floating-point type" msgstr "" ! #: c/c-parser.cc:10579 #, gcc-internal-format msgid "%<__builtin_complex%> operands of different types" msgstr "" ! #: c/c-parser.cc:10624 c/c-parser.cc:10653 cp/parser.cc:7603 #, 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.cc:10795 cp/parser.cc:5983 #, gcc-internal-format msgid "% may only be used in OpenMP % clause" msgstr "" ! #: c/c-parser.cc:10805 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C does not support %qs before C2X" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:10893 #, gcc-internal-format msgid "%qT declared in % compound literal" msgstr "" ! #: c/c-parser.cc:10898 #, gcc-internal-format msgid "%qT defined in % compound literal" msgstr "" ! #: c/c-parser.cc:10913 #, gcc-internal-format msgid "compound literal has variable size" msgstr "" ! #: c/c-parser.cc:10918 #, gcc-internal-format msgid "compound literal has function type" msgstr "" ! #: c/c-parser.cc:10949 #, gcc-internal-format msgid "compound literal qualified by address-space qualifier" msgstr "" ! #: c/c-parser.cc:10954 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C90 forbids compound literals" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-parser.cc:10956 #, gcc-internal-format msgid "ISO C forbids storage class specifiers in compound literals before C2X" msgstr "" ! #: c/c-parser.cc:10970 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal" msgstr "" ! #: c/c-parser.cc:11045 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11050 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11058 #, gcc-internal-format msgid "taking the absolute value of unsigned type %qT has no effect" msgstr "" ! #: c/c-parser.cc:11069 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11073 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of decimal floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11078 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11091 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11095 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11112 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11117 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11122 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11148 #, gcc-internal-format msgid "absolute value function %qD given an argument of type %qT but has parameter of type %qT which may cause truncation of value" msgstr "" ! #: c/c-parser.cc:11594 #, gcc-internal-format msgid "expected identifier or %<)%>" msgstr "" ! #: c/c-parser.cc:11690 #, gcc-internal-format msgid "extra semicolon" msgstr "" ! #: c/c-parser.cc:11938 #, gcc-internal-format msgid "extra semicolon in method definition specified" msgstr "" ! #: c/c-parser.cc:12070 #, gcc-internal-format msgid "method attributes must be specified at the end only" msgstr "" ! #: c/c-parser.cc:12090 #, gcc-internal-format msgid "expected %<;%> or %<{%> after method attribute definition" msgstr "" ! #: c/c-parser.cc:12212 #, gcc-internal-format msgid "objective-c method declaration is expected" msgstr "" ! #: c/c-parser.cc:12664 #, gcc-internal-format msgid "no type or storage class may be specified here," msgstr "" ! #: c/c-parser.cc:12732 cp/parser.cc:36862 #, gcc-internal-format msgid "empty property attribute list" msgstr "" ! #: c/c-parser.cc:12746 cp/parser.cc:36875 #, fuzzy, gcc-internal-format msgid "missing property attribute" msgstr "прапушчан ініцыялізатар" ! #: c/c-parser.cc:12785 #, gcc-internal-format msgid "unknown property attribute %<%s%s%>" msgstr "" ! #: c/c-parser.cc:12788 cp/parser.cc:36912 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.cc:12797 cp/parser.cc:36921 #, gcc-internal-format msgid "expected %<=%> after Objective-C %qE" msgstr "" ! #: c/c-parser.cc:12808 cp/parser.cc:36935 #, gcc-internal-format msgid "expected %qE selector name" msgstr "" ! #: c/c-parser.cc:12824 cp/parser.cc:36954 #, gcc-internal-format msgid "setter method names must terminate with %<:%>" msgstr "" ! #: c/c-parser.cc:13038 cp/parser.cc:49133 #, gcc-internal-format msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" msgstr "" ! #: c/c-parser.cc:13083 c/c-parser.cc:21510 c/c-parser.cc:21811 ! #: c/c-parser.cc:21874 c/c-parser.cc:21972 cp/parser.cc:44921 ! #: cp/parser.cc:45261 cp/parser.cc:45364 cp/parser.cc:45450 cp/parser.cc:49180 ! #: cp/parser.cc:49196 cp/parser.cc:49212 cp/parser.cc:49229 cp/parser.cc:49246 ! #: cp/parser.cc:49263 cp/parser.cc:49290 cp/parser.cc:49304 cp/parser.cc:49329 ! #: cp/parser.cc:49343 #, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:13106 cp/parser.cc:49318 #, gcc-internal-format msgid "%<#pragma acc routine%> must be at file scope" msgstr "" ! #: c/c-parser.cc:13196 cp/parser.cc:49442 #, gcc-internal-format msgid "%<#pragma omp scan%> may only be used in a loop construct with % % clause" msgstr "" ! #: c/c-parser.cc:13203 cp/parser.cc:49448 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.cc:13215 c/c-parser.cc:13227 #, gcc-internal-format msgid "%<#pragma %s%> may only be used at file scope" msgstr "" ! #: c/c-parser.cc:13257 c/c-parser.cc:13281 cp/parser.cc:49477 ! #: cp/parser.cc:49510 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.cc:13294 cp/parser.cc:49170 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" ! #: c/c-parser.cc:13647 c/c-parser.cc:17311 c/c-parser.cc:18856 ! #: c/c-parser.cc:18875 c/c-parser.cc:19079 c/c-parser.cc:19137 ! #: c/c-parser.cc:19144 c/c-parser.cc:19151 c/c-parser.cc:23694 ! #: c/c-parser.cc:23702 c/c-parser.cc:23972 c/c-parser.cc:23982 ! #: c/c-parser.cc:24076 c/c-parser.cc:24083 c/c-parser.cc:24090 ! #: cp/parser.cc:37383 cp/parser.cc:40700 cp/parser.cc:41565 cp/parser.cc:41602 ! #: cp/parser.cc:41791 cp/parser.cc:41854 cp/parser.cc:41861 cp/parser.cc:41868 ! #: cp/parser.cc:46728 cp/parser.cc:46735 cp/parser.cc:46742 cp/parser.cc:48067 ! #: cp/parser.cc:48075 cp/parser.cc:48227 cp/parser.cc:48237 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:13674 #, gcc-internal-format msgid "expression must be integral" msgstr "" ! #: c/c-parser.cc:13989 c/c-parser.cc:14001 #, gcc-internal-format msgid "expected %<)%> or %<,%>" msgstr "" ! #: c/c-parser.cc:14152 c/c-parser.cc:24381 #, fuzzy, gcc-internal-format msgid "%qD is not a variable" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:14156 cp/semantics.cc:8315 #, fuzzy, gcc-internal-format msgid "%qD is not a pointer variable" msgstr "\"%s\" звычайна функцыя" ! #: c/c-parser.cc:14198 cp/parser.cc:38123 #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.cc:14293 cp/parser.cc:38201 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:14295 cp/parser.cc:38203 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:14416 cp/parser.cc:38315 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:14436 c/c-parser.cc:21867 c/c-parser.cc:21965 ! #: cp/parser.cc:38333 cp/parser.cc:45253 cp/parser.cc:45356 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:14489 cp/parser.cc:38388 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.cc:14496 cp/parser.cc:38395 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:14498 cp/parser.cc:38397 #, gcc-internal-format msgid "too many % clauses without modifier" msgstr "" ! #: c/c-parser.cc:14504 cp/parser.cc:38403 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" ! #: c/c-parser.cc:14609 c/c-parser.cc:14669 c/c-parser.cc:14730 ! #: c/c-parser.cc:14777 c/c-parser.cc:14856 c/c-parser.cc:15235 ! #: c/c-parser.cc:15317 c/c-parser.cc:15884 c/c-parser.cc:16029 ! #: c/c-parser.cc:16094 c/c-parser.cc:17248 #, gcc-internal-format msgid "expected integer expression" msgstr "" ! #: c/c-parser.cc:14620 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14680 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14741 cp/semantics.cc:8542 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14789 cp/semantics.cc:8572 #, gcc-internal-format msgid "% value must be non-negative" msgstr "" ! #: c/c-parser.cc:14823 cp/parser.cc:38629 #, gcc-internal-format msgid "expected constant integer expression with valid sync-hint value" msgstr "" ! #: c/c-parser.cc:14895 cp/parser.cc:38699 #, gcc-internal-format msgid "expected %, %, %, %, %, % or %" msgstr "" ! #: c/c-parser.cc:14956 cp/parser.cc:38764 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:15022 cp/parser.cc:38833 #, gcc-internal-format msgid "too many % clauses with %qs category" msgstr "" ! #: c/c-parser.cc:15025 cp/parser.cc:38836 #, gcc-internal-format msgid "too many % clauses with unspecified category" msgstr "" ! #: c/c-parser.cc:15109 cp/semantics.cc:7364 cp/semantics.cc:7417 #, gcc-internal-format msgid "%qs expression must be integral" msgstr "" ! #: c/c-parser.cc:15121 c/c-parser.cc:15244 cp/semantics.cc:7396 #: cp/semantics.cc:7431 #, gcc-internal-format msgid "%qs value must be positive" msgstr "" ! #: c/c-parser.cc:15183 cp/parser.cc:37895 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many % arguments" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.cc:15217 cp/parser.cc:37928 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "unexpected argument" msgstr "няма аргументаў" ! #: c/c-parser.cc:15384 cp/semantics.cc:8758 #, gcc-internal-format msgid "% argument needs positive integral constant" msgstr "" ! #: c/c-parser.cc:15459 cp/parser.cc:38886 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:15468 c/c-parser.cc:15474 cp/parser.cc:38895 ! #: cp/parser.cc:38905 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:15510 cp/parser.cc:38945 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:15563 cp/parser.cc:39013 #, gcc-internal-format msgid "ordered argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.cc:15688 c/c-parser.cc:23251 cp/parser.cc:47714 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.cc:15808 cp/parser.cc:39271 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.cc:15862 cp/parser.cc:39287 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15866 cp/parser.cc:39290 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15878 cp/semantics.cc:7478 #, gcc-internal-format msgid "chunk size value must be positive" msgstr "" ! #: c/c-parser.cc:15901 cp/parser.cc:39310 #, fuzzy, gcc-internal-format #| msgid "invalid %%-code" msgid "invalid schedule kind" msgstr "нерэчаісны %%-код" ! #: c/c-parser.cc:16039 c/c-parser.cc:16049 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16056 cp/semantics.cc:7445 #, gcc-internal-format msgid "% lower bound %qE bigger than upper bound %qE" msgstr "" ! #: c/c-parser.cc:16104 cp/semantics.cc:7574 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16149 cp/semantics.cc:7702 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16259 c/c-parser.cc:18845 cp/parser.cc:41557 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:16266 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qs modifier" msgstr "паўтарэньне `%s'" ! #: c/c-parser.cc:16314 cp/semantics.cc:7837 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:16325 cp/semantics.cc:7792 cp/semantics.cc:7808 #, gcc-internal-format msgid "% clause % modifier argument needs to be positive constant power of two integer expression" msgstr "" ! #: c/c-parser.cc:16444 cp/parser.cc:39757 #, gcc-internal-format msgid "multiple linear modifiers" msgstr "" ! #: c/c-parser.cc:16456 cp/parser.cc:39770 #, gcc-internal-format msgid "multiple % modifiers" msgstr "" ! #: c/c-parser.cc:16464 c/c-parser.cc:16492 #, gcc-internal-format msgid "% clause step expression must be integral" msgstr "" ! #: c/c-parser.cc:16544 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16583 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16943 cp/parser.cc:40317 #, gcc-internal-format msgid "% modifier incompatible with %qs" msgstr "" ! #: c/c-parser.cc:16991 cp/parser.cc:40372 cp/parser.cc:40761 ! #: cp/parser.cc:40811 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "нерэчаісны %%d аперанд" ! #: c/c-parser.cc:17052 cp/parser.cc:40402 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid doacross kind" msgstr "нерэчаісная маска" ! #: c/c-parser.cc:17120 cp/parser.cc:40509 #, gcc-internal-format msgid "too many % modifiers" msgstr "" ! #: c/c-parser.cc:17130 cp/parser.cc:40522 #, gcc-internal-format msgid "too many % modifiers" msgstr "" ! #: c/c-parser.cc:17138 cp/parser.cc:40533 #, gcc-internal-format msgid "%<#pragma omp target%> with modifier other than % or % on % clause" msgstr "" ! #: c/c-parser.cc:17166 cp/parser.cc:40564 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "нерэчаісная маска" ! #: c/c-parser.cc:17218 cp/parser.cc:40623 #, gcc-internal-format msgid "% device modifier not preceded by % directive with % clause" msgstr "" ! #: c/c-parser.cc:17230 cp/parser.cc:40634 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:17253 cp/semantics.cc:7599 #, gcc-internal-format msgid "the % clause expression must evaluate to %<1%>" msgstr "" ! #: c/c-parser.cc:17286 cp/parser.cc:40705 #, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "" ! #: c/c-parser.cc:17365 #, fuzzy, gcc-internal-format msgid "invalid proc_bind kind" msgstr "Нерэчаісны выбар %s" ! #: c/c-parser.cc:17409 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:17486 cp/semantics.cc:8018 #, gcc-internal-format msgid "% clause event handle has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:17688 cp/parser.cc:41050 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.cc:17699 c/c-parser.cc:18057 cp/parser.cc:41061 ! #: cp/parser.cc:41463 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "%qs is not valid for %qs" msgstr "complex нерэчаісны для \"%s\"" ! #: c/c-parser.cc:17743 cp/parser.cc:41108 #, gcc-internal-format msgid "clauses in % trait should be separated by %<,%>" msgstr "" ! #: c/c-parser.cc:17892 cp/parser.cc:41296 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.cc:18046 cp/parser.cc:41452 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.cc:18179 cp/parser.cc:45781 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18189 cp/parser.cc:45791 #, gcc-internal-format msgid "array section in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18209 cp/parser.cc:45811 #, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "" ! #: c/c-parser.cc:18220 cp/parser.cc:45822 #, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "" ! #: c/c-parser.cc:18227 cp/parser.cc:45829 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18235 cp/parser.cc:45837 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18246 cp/parser.cc:45859 #, gcc-internal-format msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18256 cp/parser.cc:45869 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18349 cp/parser.cc:45967 #, gcc-internal-format msgid "expected % after %<#pragma acc %s%>" msgstr "" ! #: c/c-parser.cc:18365 cp/parser.cc:45984 #, gcc-internal-format msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "" ! #: c/c-parser.cc:18615 cp/parser.cc:3241 #, gcc-internal-format msgid "%qE has not been declared" msgstr "" ! #: c/c-parser.cc:18619 #, gcc-internal-format msgid "expected function name" msgstr "" ! #: c/c-parser.cc:18637 cp/parser.cc:48494 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD does not refer to a function" msgstr "`%D' - гэта ня функцыя," ! #: c/c-parser.cc:18660 c/c-parser.cc:18708 cp/parser.cc:1586 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "" ! #: c/c-parser.cc:18700 cp/parser.cc:48545 cp/parser.cc:48592 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.cc:18731 cp/parser.cc:48620 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before use" msgstr "" ! #: c/c-parser.cc:18732 cp/parser.cc:48622 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before definition" msgstr "" ! #: c/c-parser.cc:18776 cp/parser.cc:46185 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.cc:18867 cp/parser.cc:41577 cp/parser.cc:41592 #, gcc-internal-format msgid "% clause argument needs to be positive constant power of two integer expression" msgstr "" ! #: c/c-parser.cc:18890 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" --- 46082,47203 ---- #. 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.cc:6326 c/c-parser.cc:6339 c/c-parser.cc:6775 #: c/gimple-parser.cc:2344 cp/parser.cc:12522 #, gcc-internal-format msgid "expected statement" msgstr "" ! #: c/c-parser.cc:6398 #, gcc-internal-format msgid "expected %<:%> or %<...%>" msgstr "" ! #: c/c-parser.cc:6426 #, gcc-internal-format msgid "GNU-style attribute between label and declaration appertains to the label" msgstr "" ! #: c/c-parser.cc:6657 #, gcc-internal-format msgid "expected identifier or %<*%>" msgstr "" ! #: c/c-parser.cc:6758 #, gcc-internal-format msgid "only attribute % or % can be applied to a null statement" msgstr "" ! #: c/c-parser.cc:6883 cp/parser.cc:14532 #, 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.cc:6925 cp/parser.cc:14535 #, 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.cc:7056 cp/parser.cc:13332 #, gcc-internal-format msgid "suggest explicit braces to avoid ambiguous %" msgstr "" ! #: c/c-parser.cc:7196 #, gcc-internal-format msgid "suggest braces around empty body in % statement" msgstr "" ! #: c/c-parser.cc:7328 c/c-parser.cc:7360 #, gcc-internal-format msgid "multiple iterating variables in fast enumeration" msgstr "" ! #: c/c-parser.cc:7383 #, fuzzy, gcc-internal-format msgid "invalid iterating variable in fast enumeration" msgstr "нявернае выкарыстанне \"restict\"" ! #: c/c-parser.cc:7407 cp/parser.cc:13619 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7413 cp/parser.cc:13625 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7449 #, gcc-internal-format msgid "missing collection in fast enumeration" msgstr "" ! #: c/c-parser.cc:7571 c/c-parser.cc:7582 c/c-parser.cc:7593 #, fuzzy, gcc-internal-format msgid "duplicate % qualifier %qE" msgstr "паўтарэнне \"volatile\"" ! #: c/c-parser.cc:7572 c/c-parser.cc:7583 c/c-parser.cc:7594 cp/parser.cc:22172 #: cp/parser.cc:22189 cp/parser.cc:22203 #, gcc-internal-format msgid "first seen here" msgstr "" ! #: c/c-parser.cc:7603 #, gcc-internal-format msgid "%qE is not a valid % qualifier" msgstr "" ! #: c/c-parser.cc:7653 #, gcc-internal-format msgid "expected %<:%> or %<)%>" msgstr "" ! #: c/c-parser.cc:7952 cp/parser.cc:4575 #, gcc-internal-format msgid "a wide string is invalid in this context" msgstr "" ! #: c/c-parser.cc:8158 #, fuzzy, gcc-internal-format msgid "ISO C forbids omitting the middle term of a % expression" msgstr "ISO C не дазваляе пусты ізыходны файл" #. Location of the binary operator. #. Quiet warning. ! #: c/c-parser.cc:8380 cp/typeck.cc:5417 #, gcc-internal-format msgid "division % does not compute the number of array elements" msgstr "" ! #: c/c-parser.cc:8386 cp/typeck.cc:5422 #, gcc-internal-format msgid "first % operand was declared here" msgstr "" ! #: c/c-parser.cc:8657 #, gcc-internal-format msgid "storage class specifier in cast" msgstr "" ! #: c/c-parser.cc:8660 #, gcc-internal-format msgid "alignment specified for type name in cast" msgstr "" ! #: c/c-parser.cc:8761 #, gcc-internal-format msgid "traditional C rejects the unary plus operator" msgstr "" ! #: c/c-parser.cc:8893 #, gcc-internal-format msgid "storage class specifier in %" msgstr "" ! #: c/c-parser.cc:8896 #, gcc-internal-format msgid "alignment specified for type name in %" msgstr "" ! #: c/c-parser.cc:8912 #, gcc-internal-format msgid "% applied to a bit-field" msgstr "" ! #: c/c-parser.cc:8985 #, gcc-internal-format msgid "storage class specifier in %qE" msgstr "" ! #: c/c-parser.cc:8988 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: c/c-parser.cc:9012 #, gcc-internal-format msgid "ISO C does not allow %<%E (expression)%>" msgstr "" ! #: c/c-parser.cc:9165 #, fuzzy, gcc-internal-format msgid "cannot take address of %qs" msgstr "не магу атрымаць адрас бітавага поля \"%s\"" ! #: c/c-parser.cc:9248 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C99 does not support %<_Generic%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:9251 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C90 does not support %<_Generic%>" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:9320 #, gcc-internal-format msgid "%<_Generic%> association has function type" msgstr "" ! #: c/c-parser.cc:9323 #, fuzzy, gcc-internal-format msgid "%<_Generic%> association has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:9327 #, gcc-internal-format msgid "%<_Generic%> association has variable length type" msgstr "" ! #: c/c-parser.cc:9351 #, gcc-internal-format msgid "duplicate % case in %<_Generic%>" msgstr "" ! #: c/c-parser.cc:9352 #, gcc-internal-format msgid "original % is here" msgstr "" ! #: c/c-parser.cc:9360 #, gcc-internal-format msgid "%<_Generic%> specifies two compatible types" msgstr "" ! #: c/c-parser.cc:9361 #, gcc-internal-format msgid "compatible type is here" msgstr "" ! #: c/c-parser.cc:9384 #, gcc-internal-format msgid "%<_Generic%> selector matches multiple associations" msgstr "" ! #: c/c-parser.cc:9386 #, gcc-internal-format msgid "other match is here" msgstr "" ! #: c/c-parser.cc:9411 #, gcc-internal-format msgid "%<_Generic%> selector of type %qT is not compatible with any association" msgstr "" ! #: c/c-parser.cc:9432 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is not a function pointer" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9440 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is unprototyped" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9446 #, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has variable arguments" msgstr "" ! #: c/c-parser.cc:9462 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has no arguments" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:9485 c/c-parser.cc:9489 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %qs predefined identifier" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-parser.cc:9493 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C90 does not support %<__func__%> predefined identifier" msgstr "ISO C не падтрымлівае комлексныя цэлалікавыя тыпы" ! #: c/c-parser.cc:9671 c/c-parser.cc:10821 c/c-parser.cc:10843 ! #: c/c-parser.cc:19322 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 ! #: cp/parser.cc:42016 #, gcc-internal-format msgid "expected expression" msgstr "" ! #: c/c-parser.cc:9692 #, gcc-internal-format msgid "braced-group within expression allowed only inside a function" msgstr "" ! #: c/c-parser.cc:9706 #, gcc-internal-format msgid "ISO C forbids braced-groups within expressions" msgstr "" ! #: c/c-parser.cc:9899 #, fuzzy, gcc-internal-format msgid "wrong number of arguments to %<__builtin_choose_expr%>" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:9915 #, fuzzy, gcc-internal-format msgid "first argument to %<__builtin_choose_expr%> not a constant" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:9985 c/c-parser.cc:10002 c/c-parser.cc:10009 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %<__builtin_tgmath%>" msgstr "не хапае аргументаў у функцыі" ! #: c/c-parser.cc:10030 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: c/c-parser.cc:10074 c/c-parser.cc:10084 #, gcc-internal-format msgid "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10106 c/c-parser.cc:10116 #, gcc-internal-format msgid "invalid type-generic type for argument %u of argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10149 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> all have the same type" msgstr "" ! #: c/c-parser.cc:10168 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" msgstr "" ! #: c/c-parser.cc:10216 #, gcc-internal-format msgid "duplicate type-generic parameter type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10239 #, gcc-internal-format msgid "bad return type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10256 #, gcc-internal-format msgid "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10295 #, gcc-internal-format, gfc-internal-format msgid "invalid type of argument %u of type-generic function" msgstr "" ! #: c/c-parser.cc:10306 #, gcc-internal-format, gfc-internal-format msgid "decimal floating-point argument %u to complex-only type-generic function" msgstr "" ! #: c/c-parser.cc:10314 #, gcc-internal-format, gfc-internal-format msgid "decimal floating-point argument %u to binary-only type-generic function" msgstr "" ! #: c/c-parser.cc:10322 c/c-parser.cc:10352 #, gcc-internal-format msgid "both complex and decimal floating-point arguments to type-generic function" msgstr "" ! #: c/c-parser.cc:10330 c/c-parser.cc:10372 #, gcc-internal-format msgid "both binary and decimal floating-point arguments to type-generic function" msgstr "" ! #: c/c-parser.cc:10344 #, gcc-internal-format, gfc-internal-format msgid "complex argument %u to decimal-only type-generic function" msgstr "" ! #: c/c-parser.cc:10364 #, gcc-internal-format, gfc-internal-format msgid "binary argument %u to decimal-only type-generic function" msgstr "" ! #: c/c-parser.cc:10467 #, gcc-internal-format msgid "no matching function for type-generic call" msgstr "" ! #: c/c-parser.cc:10508 #, gcc-internal-format msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" msgstr "" ! #: c/c-parser.cc:10521 #, fuzzy, gcc-internal-format msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:10525 #, fuzzy, gcc-internal-format msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" msgstr "аргумент `__builtin_args_info' павінен быць канстантай" ! #: c/c-parser.cc:10551 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_complex%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: c/c-parser.cc:10573 #, gcc-internal-format msgid "%<__builtin_complex%> operand not of real binary floating-point type" msgstr "" ! #: c/c-parser.cc:10582 #, gcc-internal-format msgid "%<__builtin_complex%> operands of different types" msgstr "" ! #: c/c-parser.cc:10627 c/c-parser.cc:10656 cp/parser.cc:7603 #, 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.cc:10798 cp/parser.cc:5983 #, gcc-internal-format msgid "% may only be used in OpenMP % clause" msgstr "" ! #: c/c-parser.cc:10808 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C does not support %qs before C2X" msgstr "ISO C89 не падтрымлівае комлексныя тыпы" ! #: c/c-parser.cc:10896 #, gcc-internal-format msgid "%qT declared in % compound literal" msgstr "" ! #: c/c-parser.cc:10901 #, gcc-internal-format msgid "%qT defined in % compound literal" msgstr "" ! #: c/c-parser.cc:10916 #, gcc-internal-format msgid "compound literal has variable size" msgstr "" ! #: c/c-parser.cc:10921 #, gcc-internal-format msgid "compound literal has function type" msgstr "" ! #: c/c-parser.cc:10952 #, gcc-internal-format msgid "compound literal qualified by address-space qualifier" msgstr "" ! #: c/c-parser.cc:10957 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C90 forbids compound literals" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-parser.cc:10959 #, gcc-internal-format msgid "ISO C forbids storage class specifiers in compound literals before C2X" msgstr "" ! #: c/c-parser.cc:10973 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal" msgstr "" ! #: c/c-parser.cc:11048 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11053 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11061 #, gcc-internal-format msgid "taking the absolute value of unsigned type %qT has no effect" msgstr "" ! #: c/c-parser.cc:11072 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11076 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of decimal floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11081 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11094 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11098 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11115 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11120 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11125 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11151 #, gcc-internal-format msgid "absolute value function %qD given an argument of type %qT but has parameter of type %qT which may cause truncation of value" msgstr "" ! #: c/c-parser.cc:11597 #, gcc-internal-format msgid "expected identifier or %<)%>" msgstr "" ! #: c/c-parser.cc:11693 #, gcc-internal-format msgid "extra semicolon" msgstr "" ! #: c/c-parser.cc:11941 #, gcc-internal-format msgid "extra semicolon in method definition specified" msgstr "" ! #: c/c-parser.cc:12073 #, gcc-internal-format msgid "method attributes must be specified at the end only" msgstr "" ! #: c/c-parser.cc:12093 #, gcc-internal-format msgid "expected %<;%> or %<{%> after method attribute definition" msgstr "" ! #: c/c-parser.cc:12215 #, gcc-internal-format msgid "objective-c method declaration is expected" msgstr "" ! #: c/c-parser.cc:12667 #, gcc-internal-format msgid "no type or storage class may be specified here," msgstr "" ! #: c/c-parser.cc:12735 cp/parser.cc:36861 #, gcc-internal-format msgid "empty property attribute list" msgstr "" ! #: c/c-parser.cc:12749 cp/parser.cc:36874 #, fuzzy, gcc-internal-format msgid "missing property attribute" msgstr "прапушчан ініцыялізатар" ! #: c/c-parser.cc:12788 #, gcc-internal-format msgid "unknown property attribute %<%s%s%>" msgstr "" ! #: c/c-parser.cc:12791 cp/parser.cc:36911 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.cc:12800 cp/parser.cc:36920 #, gcc-internal-format msgid "expected %<=%> after Objective-C %qE" msgstr "" ! #: c/c-parser.cc:12811 cp/parser.cc:36934 #, gcc-internal-format msgid "expected %qE selector name" msgstr "" ! #: c/c-parser.cc:12827 cp/parser.cc:36953 #, gcc-internal-format msgid "setter method names must terminate with %<:%>" msgstr "" ! #: c/c-parser.cc:13041 cp/parser.cc:49132 #, gcc-internal-format msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" msgstr "" ! #: c/c-parser.cc:13086 c/c-parser.cc:21513 c/c-parser.cc:21814 ! #: c/c-parser.cc:21877 c/c-parser.cc:21975 cp/parser.cc:44920 ! #: cp/parser.cc:45260 cp/parser.cc:45363 cp/parser.cc:45449 cp/parser.cc:49179 ! #: cp/parser.cc:49195 cp/parser.cc:49211 cp/parser.cc:49228 cp/parser.cc:49245 ! #: cp/parser.cc:49262 cp/parser.cc:49289 cp/parser.cc:49303 cp/parser.cc:49328 ! #: cp/parser.cc:49342 #, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:13109 cp/parser.cc:49317 #, gcc-internal-format msgid "%<#pragma acc routine%> must be at file scope" msgstr "" ! #: c/c-parser.cc:13199 cp/parser.cc:49441 #, gcc-internal-format msgid "%<#pragma omp scan%> may only be used in a loop construct with % % clause" msgstr "" ! #: c/c-parser.cc:13206 cp/parser.cc:49447 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.cc:13218 c/c-parser.cc:13230 #, gcc-internal-format msgid "%<#pragma %s%> may only be used at file scope" msgstr "" ! #: c/c-parser.cc:13260 c/c-parser.cc:13284 cp/parser.cc:49476 ! #: cp/parser.cc:49509 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.cc:13297 cp/parser.cc:49169 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" ! #: c/c-parser.cc:13650 c/c-parser.cc:17314 c/c-parser.cc:18859 ! #: c/c-parser.cc:18878 c/c-parser.cc:19082 c/c-parser.cc:19140 ! #: c/c-parser.cc:19147 c/c-parser.cc:19154 c/c-parser.cc:23697 ! #: c/c-parser.cc:23705 c/c-parser.cc:23975 c/c-parser.cc:23985 ! #: c/c-parser.cc:24079 c/c-parser.cc:24086 c/c-parser.cc:24093 ! #: cp/parser.cc:37382 cp/parser.cc:40699 cp/parser.cc:41564 cp/parser.cc:41601 ! #: cp/parser.cc:41790 cp/parser.cc:41853 cp/parser.cc:41860 cp/parser.cc:41867 ! #: cp/parser.cc:46727 cp/parser.cc:46734 cp/parser.cc:46741 cp/parser.cc:48066 ! #: cp/parser.cc:48074 cp/parser.cc:48226 cp/parser.cc:48236 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:13677 #, gcc-internal-format msgid "expression must be integral" msgstr "" ! #: c/c-parser.cc:13992 c/c-parser.cc:14004 #, gcc-internal-format msgid "expected %<)%> or %<,%>" msgstr "" ! #: c/c-parser.cc:14155 c/c-parser.cc:24384 #, fuzzy, gcc-internal-format msgid "%qD is not a variable" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:14159 cp/semantics.cc:8315 #, fuzzy, gcc-internal-format msgid "%qD is not a pointer variable" msgstr "\"%s\" звычайна функцыя" ! #: c/c-parser.cc:14201 cp/parser.cc:38122 #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.cc:14296 cp/parser.cc:38200 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:14298 cp/parser.cc:38202 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:14419 cp/parser.cc:38314 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:14439 c/c-parser.cc:21870 c/c-parser.cc:21968 ! #: cp/parser.cc:38332 cp/parser.cc:45252 cp/parser.cc:45355 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:14492 cp/parser.cc:38387 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.cc:14499 cp/parser.cc:38394 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:14501 cp/parser.cc:38396 #, gcc-internal-format msgid "too many % clauses without modifier" msgstr "" ! #: c/c-parser.cc:14507 cp/parser.cc:38402 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" ! #: c/c-parser.cc:14612 c/c-parser.cc:14672 c/c-parser.cc:14733 ! #: c/c-parser.cc:14780 c/c-parser.cc:14859 c/c-parser.cc:15238 ! #: c/c-parser.cc:15320 c/c-parser.cc:15887 c/c-parser.cc:16032 ! #: c/c-parser.cc:16097 c/c-parser.cc:17251 #, gcc-internal-format msgid "expected integer expression" msgstr "" ! #: c/c-parser.cc:14623 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14683 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14744 cp/semantics.cc:8542 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14792 cp/semantics.cc:8572 #, gcc-internal-format msgid "% value must be non-negative" msgstr "" ! #: c/c-parser.cc:14826 cp/parser.cc:38628 #, gcc-internal-format msgid "expected constant integer expression with valid sync-hint value" msgstr "" ! #: c/c-parser.cc:14898 cp/parser.cc:38698 #, gcc-internal-format msgid "expected %, %, %, %, %, % or %" msgstr "" ! #: c/c-parser.cc:14959 cp/parser.cc:38763 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:15025 cp/parser.cc:38832 #, gcc-internal-format msgid "too many % clauses with %qs category" msgstr "" ! #: c/c-parser.cc:15028 cp/parser.cc:38835 #, gcc-internal-format msgid "too many % clauses with unspecified category" msgstr "" ! #: c/c-parser.cc:15112 cp/semantics.cc:7364 cp/semantics.cc:7417 #, gcc-internal-format msgid "%qs expression must be integral" msgstr "" ! #: c/c-parser.cc:15124 c/c-parser.cc:15247 cp/semantics.cc:7396 #: cp/semantics.cc:7431 #, gcc-internal-format msgid "%qs value must be positive" msgstr "" ! #: c/c-parser.cc:15186 cp/parser.cc:37894 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many % arguments" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.cc:15220 cp/parser.cc:37927 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "unexpected argument" msgstr "няма аргументаў" ! #: c/c-parser.cc:15387 cp/semantics.cc:8758 #, gcc-internal-format msgid "% argument needs positive integral constant" msgstr "" ! #: c/c-parser.cc:15462 cp/parser.cc:38885 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:15471 c/c-parser.cc:15477 cp/parser.cc:38894 ! #: cp/parser.cc:38904 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:15513 cp/parser.cc:38944 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:15566 cp/parser.cc:39012 #, gcc-internal-format msgid "ordered argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.cc:15691 c/c-parser.cc:23254 cp/parser.cc:47713 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.cc:15811 cp/parser.cc:39270 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.cc:15865 cp/parser.cc:39286 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15869 cp/parser.cc:39289 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15881 cp/semantics.cc:7478 #, gcc-internal-format msgid "chunk size value must be positive" msgstr "" ! #: c/c-parser.cc:15904 cp/parser.cc:39309 #, fuzzy, gcc-internal-format #| msgid "invalid %%-code" msgid "invalid schedule kind" msgstr "нерэчаісны %%-код" ! #: c/c-parser.cc:16042 c/c-parser.cc:16052 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16059 cp/semantics.cc:7445 #, gcc-internal-format msgid "% lower bound %qE bigger than upper bound %qE" msgstr "" ! #: c/c-parser.cc:16107 cp/semantics.cc:7574 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16152 cp/semantics.cc:7702 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16262 c/c-parser.cc:18848 cp/parser.cc:41556 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:16269 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qs modifier" msgstr "паўтарэньне `%s'" ! #: c/c-parser.cc:16317 cp/semantics.cc:7837 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:16328 cp/semantics.cc:7792 cp/semantics.cc:7808 #, gcc-internal-format msgid "% clause % modifier argument needs to be positive constant power of two integer expression" msgstr "" ! #: c/c-parser.cc:16447 cp/parser.cc:39756 #, gcc-internal-format msgid "multiple linear modifiers" msgstr "" ! #: c/c-parser.cc:16459 cp/parser.cc:39769 #, gcc-internal-format msgid "multiple % modifiers" msgstr "" ! #: c/c-parser.cc:16467 c/c-parser.cc:16495 #, gcc-internal-format msgid "% clause step expression must be integral" msgstr "" ! #: c/c-parser.cc:16547 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16586 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16946 cp/parser.cc:40316 #, gcc-internal-format msgid "% modifier incompatible with %qs" msgstr "" ! #: c/c-parser.cc:16994 cp/parser.cc:40371 cp/parser.cc:40760 ! #: cp/parser.cc:40810 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "нерэчаісны %%d аперанд" ! #: c/c-parser.cc:17055 cp/parser.cc:40401 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid doacross kind" msgstr "нерэчаісная маска" ! #: c/c-parser.cc:17123 cp/parser.cc:40508 #, gcc-internal-format msgid "too many % modifiers" msgstr "" ! #: c/c-parser.cc:17133 cp/parser.cc:40521 #, gcc-internal-format msgid "too many % modifiers" msgstr "" ! #: c/c-parser.cc:17141 cp/parser.cc:40532 #, gcc-internal-format msgid "%<#pragma omp target%> with modifier other than % or % on % clause" msgstr "" ! #: c/c-parser.cc:17169 cp/parser.cc:40563 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "нерэчаісная маска" ! #: c/c-parser.cc:17221 cp/parser.cc:40622 #, gcc-internal-format msgid "% device modifier not preceded by % directive with % clause" msgstr "" ! #: c/c-parser.cc:17233 cp/parser.cc:40633 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:17256 cp/semantics.cc:7599 #, gcc-internal-format msgid "the % clause expression must evaluate to %<1%>" msgstr "" ! #: c/c-parser.cc:17289 cp/parser.cc:40704 #, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "" ! #: c/c-parser.cc:17368 #, fuzzy, gcc-internal-format msgid "invalid proc_bind kind" msgstr "Нерэчаісны выбар %s" ! #: c/c-parser.cc:17412 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:17489 cp/semantics.cc:8018 #, gcc-internal-format msgid "% clause event handle has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:17691 cp/parser.cc:41049 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.cc:17702 c/c-parser.cc:18060 cp/parser.cc:41060 ! #: cp/parser.cc:41462 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "%qs is not valid for %qs" msgstr "complex нерэчаісны для \"%s\"" ! #: c/c-parser.cc:17746 cp/parser.cc:41107 #, gcc-internal-format msgid "clauses in % trait should be separated by %<,%>" msgstr "" ! #: c/c-parser.cc:17895 cp/parser.cc:41295 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.cc:18049 cp/parser.cc:41451 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.cc:18182 cp/parser.cc:45780 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18192 cp/parser.cc:45790 #, gcc-internal-format msgid "array section in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18212 cp/parser.cc:45810 #, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "" ! #: c/c-parser.cc:18223 cp/parser.cc:45821 #, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "" ! #: c/c-parser.cc:18230 cp/parser.cc:45828 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18238 cp/parser.cc:45836 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18249 cp/parser.cc:45858 #, gcc-internal-format msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18259 cp/parser.cc:45868 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18352 cp/parser.cc:45966 #, gcc-internal-format msgid "expected % after %<#pragma acc %s%>" msgstr "" ! #: c/c-parser.cc:18368 cp/parser.cc:45983 #, gcc-internal-format msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "" ! #: c/c-parser.cc:18618 cp/parser.cc:3241 #, gcc-internal-format msgid "%qE has not been declared" msgstr "" ! #: c/c-parser.cc:18622 #, gcc-internal-format msgid "expected function name" msgstr "" ! #: c/c-parser.cc:18640 cp/parser.cc:48493 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD does not refer to a function" msgstr "`%D' - гэта ня функцыя," ! #: c/c-parser.cc:18663 c/c-parser.cc:18711 cp/parser.cc:1586 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "" ! #: c/c-parser.cc:18703 cp/parser.cc:48544 cp/parser.cc:48591 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.cc:18734 cp/parser.cc:48619 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before use" msgstr "" ! #: c/c-parser.cc:18735 cp/parser.cc:48621 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before definition" msgstr "" ! #: c/c-parser.cc:18779 cp/parser.cc:46184 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.cc:18870 cp/parser.cc:41576 cp/parser.cc:41591 #, gcc-internal-format msgid "% clause argument needs to be positive constant power of two integer expression" msgstr "" ! #: c/c-parser.cc:18893 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" *************** msgstr "" *** 47191,47738 **** #. check above and add one in semantics.cc (to properly handle templates). #. Base this on the allocator/align modifiers check for the 'allocate' clause #. in semantics.cc's finish_omp_clauses. ! #: c/c-parser.cc:18907 cp/parser.cc:41625 #, gcc-internal-format msgid "%<#pragma omp allocate%> not yet supported" msgstr "" ! #: c/c-parser.cc:19045 cp/parser.cc:41757 #, gcc-internal-format msgid "expected %, %, %, or % clause" msgstr "" ! #: c/c-parser.cc:19084 cp/parser.cc:41796 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:19108 cp/parser.cc:41825 #, gcc-internal-format msgid "expected %, %, %, %, %, %, %, %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:19123 cp/parser.cc:41840 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many atomic clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:19130 cp/parser.cc:41847 #, gcc-internal-format msgid "too many memory order clauses" msgstr "" ! #: c/c-parser.cc:19168 c/c-parser.cc:19175 cp/parser.cc:41885 ! #: cp/parser.cc:41892 #, gcc-internal-format msgid "%qs clause is incompatible with % or % clauses" msgstr "" ! #: c/c-parser.cc:19181 c/c-parser.cc:19186 cp/parser.cc:41898 ! #: cp/parser.cc:41903 #, gcc-internal-format msgid "%qs clause requires %qs clause" msgstr "" ! #: c/c-parser.cc:19230 cp/parser.cc:41947 #, gcc-internal-format msgid "%<#pragma omp atomic read%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19240 cp/parser.cc:41957 #, gcc-internal-format msgid "%<#pragma omp atomic write%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19363 cp/parser.cc:42057 #, gcc-internal-format msgid "expected %<==%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19370 cp/parser.cc:42064 #, gcc-internal-format msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19443 cp/parser.cc:42129 cp/parser.cc:42412 ! #: cp/parser.cc:42506 cp/parser.cc:42524 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic compare%>" msgstr "" ! #: c/c-parser.cc:19454 cp/parser.cc:42140 #, gcc-internal-format msgid "unexpected %" msgstr "" ! #: c/c-parser.cc:19514 cp/parser.cc:42579 #, gcc-internal-format msgid "invalid form of %" msgstr "" ! #: c/c-parser.cc:19785 cp/parser.cc:42433 cp/parser.cc:42459 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.cc:19789 cp/parser.cc:42499 cp/parser.cc:42533 #, gcc-internal-format msgid "invalid operator for %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.cc:19840 cp/parser.cc:42568 #, gcc-internal-format msgid "% clause requires atomic equality comparison" msgstr "" ! #: c/c-parser.cc:19846 cp/semantics.cc:10910 cp/semantics.cc:10920 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" ! #: c/c-parser.cc:19946 cp/semantics.cc:10997 #, gcc-internal-format msgid "% expression is not lvalue expression" msgstr "" ! #: c/c-parser.cc:20007 cp/parser.cc:42734 #, gcc-internal-format msgid "expected %, %, %, % or %" msgstr "" ! #: c/c-parser.cc:20019 cp/parser.cc:42750 #, gcc-internal-format msgid "expected %, % or % clause" msgstr "" ! #: c/c-parser.cc:20060 cp/parser.cc:42788 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:20068 cp/parser.cc:42796 #, gcc-internal-format msgid "% list specified together with memory order clause" msgstr "" ! #: c/c-parser.cc:20073 #, gcc-internal-format msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.cc:20155 cp/parser.cc:43558 #, gcc-internal-format msgid "expected % or % clause" msgstr "" ! #: c/c-parser.cc:20160 cp/parser.cc:43564 #, gcc-internal-format msgid "expected %<#pragma omp scan%>" msgstr "" ! #: c/c-parser.cc:20216 cp/parser.cc:43615 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.cc:20232 cp/parser.cc:43641 #, fuzzy, gcc-internal-format msgid "for statement expected" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.cc:20310 cp/semantics.cc:10488 cp/semantics.cc:10579 #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "" ! #: c/c-parser.cc:20396 #, gcc-internal-format msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.cc:20444 cp/parser.cc:43955 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.cc:20942 cp/parser.cc:44359 #, gcc-internal-format msgid "%<#pragma omp ordered%> with %qs clause may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:21156 cp/parser.cc:44565 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.cc:21501 cp/parser.cc:44912 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:21760 cp/parser.cc:45191 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21776 cp/parser.cc:45207 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one %, % or % clause" msgstr "" ! #: c/c-parser.cc:21824 cp/parser.cc:45463 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.cc:21914 cp/parser.cc:45302 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21926 cp/parser.cc:45314 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22013 cp/parser.cc:45406 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22026 cp/parser.cc:45419 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22262 cp/semantics.cc:10019 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22319 #, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>" msgstr "" ! #: c/c-parser.cc:22370 c/c-parser.cc:22398 #, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition" msgstr "" ! #: c/c-parser.cc:22437 cp/parser.cc:46335 #, gcc-internal-format msgid "expected trait selector name" msgstr "" ! #: c/c-parser.cc:22490 cp/parser.cc:46387 #, gcc-internal-format msgid "selector %qs not allowed for context selector set %qs" msgstr "" ! #: c/c-parser.cc:22515 cp/parser.cc:46411 #, gcc-internal-format msgid "selector %qs does not accept any properties" msgstr "" ! #: c/c-parser.cc:22542 cp/parser.cc:46450 cp/pt.cc:11856 #, gcc-internal-format msgid "score argument must be constant integer expression" msgstr "" ! #: c/c-parser.cc:22545 cp/parser.cc:46453 cp/pt.cc:11873 #, gcc-internal-format msgid "score argument must be non-negative" msgstr "" ! #: c/c-parser.cc:22569 cp/parser.cc:46481 cp/pt.cc:11859 #, gcc-internal-format msgid "property must be constant integer expression or string literal" msgstr "" ! #: c/c-parser.cc:22614 cp/parser.cc:46527 #, gcc-internal-format msgid "expected identifier or string literal" msgstr "" ! #: c/c-parser.cc:22636 cp/parser.cc:46549 cp/pt.cc:11863 #, gcc-internal-format msgid "property must be constant integer expression" msgstr "" ! #: c/c-parser.cc:22647 cp/parser.cc:46560 #, gcc-internal-format msgid "properties for % selector may not be specified in %" msgstr "" ! #: c/c-parser.cc:22734 cp/parser.cc:46646 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:22813 cp/parser.cc:46963 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:22833 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qD is not a function" msgstr "`%D' - гэта ня функцыя," ! #: c/c-parser.cc:22839 cp/decl.cc:8112 #, fuzzy, gcc-internal-format msgid "variant %qD and base %qD have incompatible types" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:22851 cp/decl.cc:8121 #, gcc-internal-format msgid "variant %qD is a built-in" msgstr "" ! #: c/c-parser.cc:22896 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition" msgstr "" ! #: c/c-parser.cc:22904 cp/parser.cc:47008 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.cc:23018 cp/parser.cc:47212 #, gcc-internal-format msgid "%qD specified both in declare target % and %qs clauses" msgstr "" ! #: c/c-parser.cc:23022 cp/parser.cc:47216 #, gcc-internal-format msgid "%qD specified both in declare target % and % or % clauses" msgstr "" ! #: c/c-parser.cc:23071 cp/parser.cc:47327 #, gcc-internal-format msgid "directive with only % clause" msgstr "" ! #: c/c-parser.cc:23111 c/c-parser.cc:23151 cp/parser.cc:47375 ! #: cp/parser.cc:47422 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:23123 cp/parser.cc:47388 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:23157 cp/parser.cc:47429 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>" msgstr "" ! #: c/c-parser.cc:23175 cp/parser.cc:47484 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:23201 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> not at file or block scope" msgstr "" ! #: c/c-parser.cc:23278 #, gcc-internal-format msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23282 #, gcc-internal-format msgid "function or array type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23285 #, gcc-internal-format msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23288 #, gcc-internal-format msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23296 #, gcc-internal-format msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" msgstr "" ! #: c/c-parser.cc:23305 #, gcc-internal-format msgid "previous %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23426 #, gcc-internal-format msgid "expected % or function-name" msgstr "" ! #: c/c-parser.cc:23437 #, gcc-internal-format msgid "expected function-name %<(%>" msgstr "" ! #: c/c-parser.cc:23456 #, gcc-internal-format msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.cc:23587 cp/parser.cc:47956 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:23650 cp/parser.cc:48017 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:23679 cp/parser.cc:48052 #, gcc-internal-format msgid "expected %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:23697 cp/parser.cc:48070 #, gcc-internal-format msgid "%qs clause used lexically after first target construct or offloading API" msgstr "" ! #: c/c-parser.cc:23709 cp/parser.cc:48082 #, gcc-internal-format msgid "more than one % clause in a single compilation unit" msgstr "" ! #: c/c-parser.cc:23718 cp/parser.cc:48091 #, gcc-internal-format msgid "% clause used lexically after first % construct without memory order clause" msgstr "" ! #: c/c-parser.cc:23732 cp/parser.cc:48105 #, gcc-internal-format msgid "% requires at least one clause" msgstr "" ! #: c/c-parser.cc:23751 #, gcc-internal-format msgid "zero sized type %qT in % clause" msgstr "" ! #: c/c-parser.cc:23757 #, gcc-internal-format msgid "variable sized type %qT in % clause" msgstr "" ! #: c/c-parser.cc:23914 cp/parser.cc:48162 #, gcc-internal-format msgid "expected %, % or % clause" msgstr "" ! #: c/c-parser.cc:23947 cp/parser.cc:48197 #, gcc-internal-format msgid "expected %qs or %qs" msgstr "" ! #: c/c-parser.cc:24004 cp/parser.cc:48259 #, gcc-internal-format msgid "%<#pragma omp error%> with % clause may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:24027 cp/parser.cc:48286 #, gcc-internal-format msgid "% encountered: %s" msgstr "" ! #: c/c-parser.cc:24030 cp/parser.cc:48289 #, gcc-internal-format msgid "% encountered" msgstr "" ! #: c/c-parser.cc:24057 cp/parser.cc:46709 #, gcc-internal-format msgid "expected at least one assumption clause" msgstr "" ! #: c/c-parser.cc:24143 cp/parser.cc:46795 #, gcc-internal-format msgid "expected directive name" msgstr "" ! #: c/c-parser.cc:24156 cp/parser.cc:46808 #, gcc-internal-format msgid "unknown OpenMP directive name in %qs clause argument" msgstr "" ! #: c/c-parser.cc:24163 cp/parser.cc:46815 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned in both % and % clauses" msgstr "" ! #: c/c-parser.cc:24174 cp/parser.cc:46826 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" msgstr "" ! #: c/c-parser.cc:24197 cp/parser.cc:46853 #, fuzzy, gcc-internal-format msgid "unknown assumption clause %qs" msgstr "невядомая назва рэгістра: %s\n" ! #: c/c-parser.cc:24210 cp/parser.cc:46863 #, gcc-internal-format msgid "expected assumption clause" msgstr "" ! #: c/c-parser.cc:24383 cp/semantics.cc:9393 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.cc:24385 cp/semantics.cc:9395 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.cc:24389 cp/semantics.cc:9397 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:24569 cp/parser.cc:49028 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.cc:24575 cp/parser.cc:49034 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.cc:24584 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a % function" msgstr "" ! #: c/c-parser.cc:24592 cp/parser.cc:49052 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.cc:24676 #, gcc-internal-format msgid "no closing brace" msgstr "" --- 47206,47753 ---- #. check above and add one in semantics.cc (to properly handle templates). #. Base this on the allocator/align modifiers check for the 'allocate' clause #. in semantics.cc's finish_omp_clauses. ! #: c/c-parser.cc:18910 cp/parser.cc:41624 #, gcc-internal-format msgid "%<#pragma omp allocate%> not yet supported" msgstr "" ! #: c/c-parser.cc:19048 cp/parser.cc:41756 #, gcc-internal-format msgid "expected %, %, %, or % clause" msgstr "" ! #: c/c-parser.cc:19087 cp/parser.cc:41795 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:19111 cp/parser.cc:41824 #, gcc-internal-format msgid "expected %, %, %, %, %, %, %, %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:19126 cp/parser.cc:41839 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many atomic clauses" msgstr "вельмі шмат уваходзячых файлаў" ! #: c/c-parser.cc:19133 cp/parser.cc:41846 #, gcc-internal-format msgid "too many memory order clauses" msgstr "" ! #: c/c-parser.cc:19171 c/c-parser.cc:19178 cp/parser.cc:41884 ! #: cp/parser.cc:41891 #, gcc-internal-format msgid "%qs clause is incompatible with % or % clauses" msgstr "" ! #: c/c-parser.cc:19184 c/c-parser.cc:19189 cp/parser.cc:41897 ! #: cp/parser.cc:41902 #, gcc-internal-format msgid "%qs clause requires %qs clause" msgstr "" ! #: c/c-parser.cc:19233 cp/parser.cc:41946 #, gcc-internal-format msgid "%<#pragma omp atomic read%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19243 cp/parser.cc:41956 #, gcc-internal-format msgid "%<#pragma omp atomic write%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19366 cp/parser.cc:42056 #, gcc-internal-format msgid "expected %<==%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19373 cp/parser.cc:42063 #, gcc-internal-format msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19446 cp/parser.cc:42128 cp/parser.cc:42411 ! #: cp/parser.cc:42505 cp/parser.cc:42523 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic compare%>" msgstr "" ! #: c/c-parser.cc:19457 cp/parser.cc:42139 #, gcc-internal-format msgid "unexpected %" msgstr "" ! #: c/c-parser.cc:19517 cp/parser.cc:42578 #, gcc-internal-format msgid "invalid form of %" msgstr "" ! #: c/c-parser.cc:19788 cp/parser.cc:42432 cp/parser.cc:42458 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.cc:19792 cp/parser.cc:42498 cp/parser.cc:42532 #, gcc-internal-format msgid "invalid operator for %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.cc:19843 cp/parser.cc:42567 #, gcc-internal-format msgid "% clause requires atomic equality comparison" msgstr "" ! #: c/c-parser.cc:19849 cp/semantics.cc:10910 cp/semantics.cc:10920 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" ! #: c/c-parser.cc:19949 cp/semantics.cc:10997 #, gcc-internal-format msgid "% expression is not lvalue expression" msgstr "" ! #: c/c-parser.cc:20010 cp/parser.cc:42733 #, gcc-internal-format msgid "expected %, %, %, % or %" msgstr "" ! #: c/c-parser.cc:20022 cp/parser.cc:42749 #, gcc-internal-format msgid "expected %, % or % clause" msgstr "" ! #: c/c-parser.cc:20063 cp/parser.cc:42787 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:20071 cp/parser.cc:42795 #, gcc-internal-format msgid "% list specified together with memory order clause" msgstr "" ! #: c/c-parser.cc:20076 #, gcc-internal-format msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.cc:20158 cp/parser.cc:43557 #, gcc-internal-format msgid "expected % or % clause" msgstr "" ! #: c/c-parser.cc:20163 cp/parser.cc:43563 #, gcc-internal-format msgid "expected %<#pragma omp scan%>" msgstr "" ! #: c/c-parser.cc:20219 cp/parser.cc:43614 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.cc:20235 cp/parser.cc:43640 #, fuzzy, gcc-internal-format msgid "for statement expected" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.cc:20313 cp/semantics.cc:10488 cp/semantics.cc:10579 #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "" ! #: c/c-parser.cc:20399 #, gcc-internal-format msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.cc:20447 cp/parser.cc:43954 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.cc:20530 cp/parser.cc:43750 cp/parser.cc:43792 cp/pt.cc:18569 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.cc:20945 cp/parser.cc:44358 #, gcc-internal-format msgid "%<#pragma omp ordered%> with %qs clause may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:21159 cp/parser.cc:44564 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.cc:21504 cp/parser.cc:44911 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:21763 cp/parser.cc:45190 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21779 cp/parser.cc:45206 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one %, % or % clause" msgstr "" ! #: c/c-parser.cc:21827 cp/parser.cc:45462 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.cc:21917 cp/parser.cc:45301 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21929 cp/parser.cc:45313 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22016 cp/parser.cc:45405 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22029 cp/parser.cc:45418 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22265 cp/semantics.cc:10019 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22322 #, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>" msgstr "" ! #: c/c-parser.cc:22373 c/c-parser.cc:22401 #, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition" msgstr "" ! #: c/c-parser.cc:22440 cp/parser.cc:46334 #, gcc-internal-format msgid "expected trait selector name" msgstr "" ! #: c/c-parser.cc:22493 cp/parser.cc:46386 #, gcc-internal-format msgid "selector %qs not allowed for context selector set %qs" msgstr "" ! #: c/c-parser.cc:22518 cp/parser.cc:46410 #, gcc-internal-format msgid "selector %qs does not accept any properties" msgstr "" ! #: c/c-parser.cc:22545 cp/parser.cc:46449 cp/pt.cc:11869 #, gcc-internal-format msgid "score argument must be constant integer expression" msgstr "" ! #: c/c-parser.cc:22548 cp/parser.cc:46452 cp/pt.cc:11886 #, gcc-internal-format msgid "score argument must be non-negative" msgstr "" ! #: c/c-parser.cc:22572 cp/parser.cc:46480 cp/pt.cc:11872 #, gcc-internal-format msgid "property must be constant integer expression or string literal" msgstr "" ! #: c/c-parser.cc:22617 cp/parser.cc:46526 #, gcc-internal-format msgid "expected identifier or string literal" msgstr "" ! #: c/c-parser.cc:22639 cp/parser.cc:46548 cp/pt.cc:11876 #, gcc-internal-format msgid "property must be constant integer expression" msgstr "" ! #: c/c-parser.cc:22650 cp/parser.cc:46559 #, gcc-internal-format msgid "properties for % selector may not be specified in %" msgstr "" ! #: c/c-parser.cc:22737 cp/parser.cc:46645 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:22816 cp/parser.cc:46962 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:22836 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qD is not a function" msgstr "`%D' - гэта ня функцыя," ! #: c/c-parser.cc:22842 cp/decl.cc:8112 #, fuzzy, gcc-internal-format msgid "variant %qD and base %qD have incompatible types" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:22854 cp/decl.cc:8121 #, gcc-internal-format msgid "variant %qD is a built-in" msgstr "" ! #: c/c-parser.cc:22899 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition" msgstr "" ! #: c/c-parser.cc:22907 cp/parser.cc:47007 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.cc:23021 cp/parser.cc:47211 #, gcc-internal-format msgid "%qD specified both in declare target % and %qs clauses" msgstr "" ! #: c/c-parser.cc:23025 cp/parser.cc:47215 #, gcc-internal-format msgid "%qD specified both in declare target % and % or % clauses" msgstr "" ! #: c/c-parser.cc:23074 cp/parser.cc:47326 #, gcc-internal-format msgid "directive with only % clause" msgstr "" ! #: c/c-parser.cc:23114 c/c-parser.cc:23154 cp/parser.cc:47374 ! #: cp/parser.cc:47421 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.cc:23126 cp/parser.cc:47387 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:23160 cp/parser.cc:47428 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>" msgstr "" ! #: c/c-parser.cc:23178 cp/parser.cc:47483 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.cc:23204 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> not at file or block scope" msgstr "" ! #: c/c-parser.cc:23281 #, gcc-internal-format msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23285 #, gcc-internal-format msgid "function or array type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23288 #, gcc-internal-format msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23291 #, gcc-internal-format msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23299 #, gcc-internal-format msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" msgstr "" ! #: c/c-parser.cc:23308 #, gcc-internal-format msgid "previous %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23429 #, gcc-internal-format msgid "expected % or function-name" msgstr "" ! #: c/c-parser.cc:23440 #, gcc-internal-format msgid "expected function-name %<(%>" msgstr "" ! #: c/c-parser.cc:23459 #, gcc-internal-format msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.cc:23590 cp/parser.cc:47955 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.cc:23653 cp/parser.cc:48016 #, gcc-internal-format msgid "expected %, % or %" msgstr "" ! #: c/c-parser.cc:23682 cp/parser.cc:48051 #, gcc-internal-format msgid "expected %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:23700 cp/parser.cc:48069 #, gcc-internal-format msgid "%qs clause used lexically after first target construct or offloading API" msgstr "" ! #: c/c-parser.cc:23712 cp/parser.cc:48081 #, gcc-internal-format msgid "more than one % clause in a single compilation unit" msgstr "" ! #: c/c-parser.cc:23721 cp/parser.cc:48090 #, gcc-internal-format msgid "% clause used lexically after first % construct without memory order clause" msgstr "" ! #: c/c-parser.cc:23735 cp/parser.cc:48104 #, gcc-internal-format msgid "% requires at least one clause" msgstr "" ! #: c/c-parser.cc:23754 #, gcc-internal-format msgid "zero sized type %qT in % clause" msgstr "" ! #: c/c-parser.cc:23760 #, gcc-internal-format msgid "variable sized type %qT in % clause" msgstr "" ! #: c/c-parser.cc:23917 cp/parser.cc:48161 #, gcc-internal-format msgid "expected %, % or % clause" msgstr "" ! #: c/c-parser.cc:23950 cp/parser.cc:48196 #, gcc-internal-format msgid "expected %qs or %qs" msgstr "" ! #: c/c-parser.cc:24007 cp/parser.cc:48258 #, gcc-internal-format msgid "%<#pragma omp error%> with % clause may only be used in compound statements" msgstr "" ! #: c/c-parser.cc:24030 cp/parser.cc:48285 #, gcc-internal-format msgid "% encountered: %s" msgstr "" ! #: c/c-parser.cc:24033 cp/parser.cc:48288 #, gcc-internal-format msgid "% encountered" msgstr "" ! #: c/c-parser.cc:24060 cp/parser.cc:46708 #, gcc-internal-format msgid "expected at least one assumption clause" msgstr "" ! #: c/c-parser.cc:24146 cp/parser.cc:46794 #, gcc-internal-format msgid "expected directive name" msgstr "" ! #: c/c-parser.cc:24159 cp/parser.cc:46807 #, gcc-internal-format msgid "unknown OpenMP directive name in %qs clause argument" msgstr "" ! #: c/c-parser.cc:24166 cp/parser.cc:46814 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned in both % and % clauses" msgstr "" ! #: c/c-parser.cc:24177 cp/parser.cc:46825 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" msgstr "" ! #: c/c-parser.cc:24200 cp/parser.cc:46852 #, fuzzy, gcc-internal-format msgid "unknown assumption clause %qs" msgstr "невядомая назва рэгістра: %s\n" ! #: c/c-parser.cc:24213 cp/parser.cc:46862 #, gcc-internal-format msgid "expected assumption clause" msgstr "" ! #: c/c-parser.cc:24386 cp/semantics.cc:9393 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.cc:24388 cp/semantics.cc:9395 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.cc:24392 cp/semantics.cc:9397 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.cc:24572 cp/parser.cc:49027 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.cc:24578 cp/parser.cc:49033 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.cc:24587 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a % function" msgstr "" ! #: c/c-parser.cc:24595 cp/parser.cc:49051 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.cc:24679 #, gcc-internal-format msgid "no closing brace" msgstr "" *************** msgstr "" *** 47743,47749 **** msgid "%qD has an incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:251 c/c-typeck.cc:11142 c/c-typeck.cc:11184 cp/call.cc:4856 #, gcc-internal-format msgid "invalid use of void expression" msgstr "" --- 47758,47764 ---- msgid "%qD has an incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:251 c/c-typeck.cc:11147 c/c-typeck.cc:11189 cp/call.cc:4871 #, gcc-internal-format msgid "invalid use of void expression" msgstr "" *************** msgstr "" *** 47824,47835 **** msgid "converting an array compound literal to a pointer is ill-formed in C++" msgstr "" ! #: c/c-typeck.cc:2590 c/c-typeck.cc:9663 #, gcc-internal-format msgid "%qT has no member named %qE; did you mean %qE?" msgstr "" ! #: c/c-typeck.cc:2594 c/c-typeck.cc:9667 #, gcc-internal-format msgid "%qT has no member named %qE" msgstr "" --- 47839,47850 ---- msgid "converting an array compound literal to a pointer is ill-formed in C++" msgstr "" ! #: c/c-typeck.cc:2590 c/c-typeck.cc:9668 #, gcc-internal-format msgid "%qT has no member named %qE; did you mean %qE?" msgstr "" ! #: c/c-typeck.cc:2594 c/c-typeck.cc:9672 #, gcc-internal-format msgid "%qT has no member named %qE" msgstr "" *************** msgstr "" *** 48262,48268 **** msgid "left-hand operand of comma expression has no effect" msgstr "" ! #: c/c-typeck.cc:5865 c/c-typeck.cc:11717 #, gcc-internal-format msgid "right-hand operand of comma expression has no effect" msgstr "" --- 48277,48283 ---- msgid "left-hand operand of comma expression has no effect" msgstr "" ! #: c/c-typeck.cc:5865 c/c-typeck.cc:11722 #, gcc-internal-format msgid "right-hand operand of comma expression has no effect" msgstr "" *************** msgstr "" *** 48709,48720 **** msgid "% initializer for a binary floating-point type is of decimal type" msgstr "" ! #: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 #, gcc-internal-format msgid "initialization of a flexible array member" msgstr "" ! #: c/c-typeck.cc:8384 cp/typeck2.cc:1214 #, gcc-internal-format msgid "cannot initialize array of %qT from a string literal with type array of %qT" msgstr "" --- 48724,48735 ---- msgid "% initializer for a binary floating-point type is of decimal type" msgstr "" ! #: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1215 #, gcc-internal-format msgid "initialization of a flexible array member" msgstr "" ! #: c/c-typeck.cc:8384 cp/typeck2.cc:1232 #, gcc-internal-format msgid "cannot initialize array of %qT from a string literal with type array of %qT" msgstr "" *************** msgid "invalid use of non-lvalue array" *** 48730,48736 **** msgstr "" #: c/c-typeck.cc:8530 c/c-typeck.cc:8554 c/c-typeck.cc:8557 c/c-typeck.cc:8565 ! #: c/c-typeck.cc:8612 c/c-typeck.cc:10153 c/c-typeck.cc:10232 #, gcc-internal-format msgid "initializer element is not constant" msgstr "" --- 48745,48751 ---- msgstr "" #: c/c-typeck.cc:8530 c/c-typeck.cc:8554 c/c-typeck.cc:8557 c/c-typeck.cc:8565 ! #: c/c-typeck.cc:8612 c/c-typeck.cc:10158 c/c-typeck.cc:10237 #, gcc-internal-format msgid "initializer element is not constant" msgstr "" *************** msgstr "" *** 48740,48756 **** msgid "array initialized from non-constant array expression" msgstr "" ! #: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10242 #, fuzzy, gcc-internal-format msgid "initializer element is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:8619 c/c-typeck.cc:10237 #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "" ! #: c/c-typeck.cc:8643 #, gcc-internal-format msgid "invalid initializer" msgstr "нерэчаісны ініцыялізатар" --- 48755,48771 ---- msgid "array initialized from non-constant array expression" msgstr "" ! #: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10247 #, fuzzy, gcc-internal-format msgid "initializer element is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:8619 c/c-typeck.cc:10242 #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "" ! #: c/c-typeck.cc:8643 c/c-typeck.cc:9379 #, gcc-internal-format msgid "invalid initializer" msgstr "нерэчаісны ініцыялізатар" *************** msgstr "" *** 48770,48777 **** msgid "braces around scalar initializer" msgstr "" ! #: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 ! #: cp/typeck2.cc:1582 #, gcc-internal-format msgid "initialization of flexible array member in a nested context" msgstr "" --- 48785,48792 ---- msgid "braces around scalar initializer" msgstr "" ! #: c/c-typeck.cc:9291 c/c-typeck.cc:10775 cp/typeck2.cc:1242 ! #: cp/typeck2.cc:1600 #, gcc-internal-format msgid "initialization of flexible array member in a nested context" msgstr "" *************** msgstr "" *** 48786,49384 **** msgid "missing initializer for field %qD of %qT" msgstr "прапушчан ініцыялізатар" ! #: c/c-typeck.cc:9386 #, gcc-internal-format msgid "extra elements in scalar initializer" msgstr "" ! #: c/c-typeck.cc:9505 c/c-typeck.cc:9587 #, gcc-internal-format msgid "array index in non-array initializer" msgstr "" ! #: c/c-typeck.cc:9510 c/c-typeck.cc:9649 #, gcc-internal-format msgid "field name not in record or union initializer" msgstr "" ! #: c/c-typeck.cc:9560 #, fuzzy, gcc-internal-format msgid "array index in initializer not of integer type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:9569 c/c-typeck.cc:9578 #, fuzzy, gcc-internal-format msgid "array index in initializer is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:9583 c/c-typeck.cc:9585 #, gcc-internal-format msgid "nonconstant array index in initializer" msgstr "" ! #: c/c-typeck.cc:9589 c/c-typeck.cc:9592 #, gcc-internal-format msgid "array index in initializer exceeds array bounds" msgstr "" ! #: c/c-typeck.cc:9611 #, gcc-internal-format msgid "empty index range in initializer" msgstr "" ! #: c/c-typeck.cc:9620 #, gcc-internal-format msgid "array index range in initializer exceeds array bounds" msgstr "" ! #: c/c-typeck.cc:9722 c/c-typeck.cc:9752 c/c-typeck.cc:10330 #, gcc-internal-format msgid "initialized field with side-effects overwritten" msgstr "" ! #: c/c-typeck.cc:9726 c/c-typeck.cc:9756 c/c-typeck.cc:10333 #, gcc-internal-format msgid "initialized field overwritten" msgstr "" ! #: c/c-typeck.cc:10264 #, gcc-internal-format msgid "enum conversion in initialization is invalid in C++" msgstr "" ! #: c/c-typeck.cc:10645 #, gcc-internal-format msgid "excess elements in % array initializer" msgstr "" ! #: c/c-typeck.cc:10652 c/c-typeck.cc:10729 #, gcc-internal-format msgid "excess elements in struct initializer" msgstr "" ! #: c/c-typeck.cc:10673 #, gcc-internal-format msgid "positional initialization of field in % declared with % attribute" msgstr "" ! #: c/c-typeck.cc:10744 cp/typeck2.cc:1201 #, gcc-internal-format msgid "non-static initialization of a flexible array member" msgstr "" ! #: c/c-typeck.cc:10839 #, gcc-internal-format msgid "excess elements in union initializer" msgstr "" ! #: c/c-typeck.cc:10861 #, gcc-internal-format msgid "traditional C rejects initialization of unions" msgstr "" ! #: c/c-typeck.cc:10923 #, gcc-internal-format msgid "excess elements in array initializer" msgstr "" ! #: c/c-typeck.cc:10957 #, gcc-internal-format msgid "excess elements in vector initializer" msgstr "" ! #: c/c-typeck.cc:10989 #, gcc-internal-format msgid "excess elements in scalar initializer" msgstr "" ! #: c/c-typeck.cc:11232 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C forbids %" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-typeck.cc:11238 #, gcc-internal-format msgid "computed goto must be pointer type" msgstr "" ! #: c/c-typeck.cc:11267 c/gimple-parser.cc:2472 cp/typeck.cc:10932 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function declared % has a % statement" msgstr "функцыя не вяртае тып string" ! #: c/c-typeck.cc:11295 c/c-typeck.cc:11299 #, gcc-internal-format msgid "% with no value, in function returning non-void" msgstr "" ! #: c/c-typeck.cc:11313 c/gimple-parser.cc:2482 #, gcc-internal-format msgid "% with a value, in function returning void" msgstr "" ! #: c/c-typeck.cc:11316 #, gcc-internal-format msgid "ISO C forbids % with expression, in function returning void" msgstr "" ! #: c/c-typeck.cc:11393 #, fuzzy, gcc-internal-format msgid "function returns address of label" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-typeck.cc:11484 cp/semantics.cc:1524 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "" ! #: c/c-typeck.cc:11509 #, gcc-internal-format msgid "% switch expression not converted to % in ISO C" msgstr "" ! #: c/c-typeck.cc:11547 c/c-typeck.cc:11555 #, fuzzy, gcc-internal-format msgid "case label is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:11561 cp/parser.cc:12750 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "" ! #: c/c-typeck.cc:11563 #, gcc-internal-format msgid "% label not within a switch statement" msgstr "" ! #: c/c-typeck.cc:11639 cp/parser.cc:14366 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "" ! #: c/c-typeck.cc:11642 c/c-typeck.cc:11662 cp/decl.cc:3871 cp/parser.cc:14376 #: cp/parser.cc:14397 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" ! #: c/c-typeck.cc:11645 cp/parser.cc:14379 #, gcc-internal-format msgid "break statement used with OpenMP for loop" msgstr "" ! #: c/c-typeck.cc:11659 cp/parser.cc:14389 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "" ! #: c/c-typeck.cc:11699 cp/cp-gimplify.cc:249 #, gcc-internal-format msgid "statement with no effect" msgstr "" ! #: c/c-typeck.cc:11743 #, gcc-internal-format msgid "expression statement has incomplete type" msgstr "" ! #: c/c-typeck.cc:12034 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12039 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12057 c/c-typeck.cc:12095 #, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "" ! #: c/c-typeck.cc:12062 c/c-typeck.cc:12100 #, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "" ! #: c/c-typeck.cc:12682 c/c-typeck.cc:12843 cp/typeck.cc:5987 #, gcc-internal-format msgid "comparing vectors with different element types" msgstr "" ! #: c/c-typeck.cc:12690 c/c-typeck.cc:12851 cp/typeck.cc:6000 #, gcc-internal-format msgid "comparing vectors with different number of elements" msgstr "" ! #: c/c-typeck.cc:12705 c/c-typeck.cc:12866 cp/typeck.cc:6018 #, gcc-internal-format msgid "comparison between types %qT and %qT" msgstr "" ! #: c/c-typeck.cc:12715 c/c-typeck.cc:12876 cp/typeck.cc:6035 #, gcc-internal-format msgid "could not find an integer type of the same size as %qT" msgstr "" ! #: c/c-typeck.cc:12729 cp/typeck.cc:5671 #, gcc-internal-format msgid "comparing floating-point with %<==%> or % is unsafe" msgstr "" ! #: c/c-typeck.cc:12767 c/c-typeck.cc:12917 #, gcc-internal-format msgid "comparison of pointers to disjoint address spaces" msgstr "" ! #: c/c-typeck.cc:12774 c/c-typeck.cc:12780 #, fuzzy, gcc-internal-format msgid "ISO C forbids comparison of % with function pointer" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-typeck.cc:12787 c/c-typeck.cc:12927 #, gcc-internal-format msgid "comparison of distinct pointer types lacks a cast" msgstr "" ! #: c/c-typeck.cc:12799 c/c-typeck.cc:12804 c/c-typeck.cc:12953 ! #: c/c-typeck.cc:12958 #, gcc-internal-format msgid "comparison between pointer and integer" msgstr "" ! #: c/c-typeck.cc:12905 #, gcc-internal-format msgid "comparison of complete and incomplete pointers" msgstr "" ! #: c/c-typeck.cc:12907 #, gcc-internal-format msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "" ! #: c/c-typeck.cc:12912 #, gcc-internal-format msgid "ordered comparison of pointer with null pointer" msgstr "" ! #: c/c-typeck.cc:12935 c/c-typeck.cc:12938 c/c-typeck.cc:12945 ! #: c/c-typeck.cc:12948 #, gcc-internal-format msgid "ordered comparison of pointer with integer zero" msgstr "" ! #: c/c-typeck.cc:13024 #, gcc-internal-format msgid "implicit conversion from %qT to %qT to match other operand of binary expression" msgstr "" ! #: c/c-typeck.cc:13342 #, gcc-internal-format msgid "used array that cannot be converted to pointer where scalar is required" msgstr "" ! #: c/c-typeck.cc:13346 #, gcc-internal-format msgid "used struct type value where scalar is required" msgstr "" ! #: c/c-typeck.cc:13350 #, gcc-internal-format msgid "used union type value where scalar is required" msgstr "" ! #: c/c-typeck.cc:13366 #, gcc-internal-format msgid "used vector type where scalar is required" msgstr "" ! #: c/c-typeck.cc:13556 cp/semantics.cc:11070 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13567 c/c-typeck.cc:13577 cp/semantics.cc:11081 #: cp/semantics.cc:11091 #, gcc-internal-format msgid "expected % % clause modifier" msgstr "" ! #: c/c-typeck.cc:13612 cp/semantics.cc:11126 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13657 c/c-typeck.cc:15382 c/c-typeck.cc:15518 ! #: c/c-typeck.cc:15601 #, gcc-internal-format msgid "%<_Atomic%> %qE in %qs clause" msgstr "" ! #: c/c-typeck.cc:13681 c/c-typeck.cc:15297 c/c-typeck.cc:15504 #: cp/semantics.cc:5165 cp/semantics.cc:7933 cp/semantics.cc:8193 #, gcc-internal-format msgid "bit-field %qE in %qs clause" msgstr "" ! #: c/c-typeck.cc:13690 c/c-typeck.cc:15528 cp/semantics.cc:5175 #: cp/semantics.cc:8214 #, gcc-internal-format msgid "%qE is a member of a union" msgstr "" ! #: c/c-typeck.cc:13707 c/c-typeck.cc:15537 cp/semantics.cc:8223 #, fuzzy, gcc-internal-format msgid "cannot dereference %qE in %qs clause" msgstr "Не магу знайсці файл для класа %s." ! #: c/c-typeck.cc:13718 cp/semantics.cc:5200 cp/semantics.cc:8268 #, gcc-internal-format msgid "%qD is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13722 c/c-typeck.cc:15565 cp/semantics.cc:5204 #: cp/semantics.cc:8272 #, gcc-internal-format msgid "%qE is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13730 #, gcc-internal-format msgid "%<_Atomic%> %qD in %qs clause" msgstr "" ! #: c/c-typeck.cc:13740 c/c-typeck.cc:15572 c/c-typeck.cc:15702 #: cp/semantics.cc:5213 cp/semantics.cc:8279 cp/semantics.cc:8475 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13777 cp/semantics.cc:5247 #, gcc-internal-format msgid "low bound %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.cc:13784 cp/semantics.cc:5254 #, gcc-internal-format msgid "length %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.cc:13807 cp/semantics.cc:5287 #, gcc-internal-format msgid "expected single pointer in %qs clause" msgstr "" ! #: c/c-typeck.cc:13825 c/c-typeck.cc:13892 c/c-typeck.cc:14184 #: cp/semantics.cc:5305 cp/semantics.cc:5372 #, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13844 cp/semantics.cc:5324 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13852 cp/semantics.cc:5332 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13861 c/c-typeck.cc:13985 cp/semantics.cc:5341 #: cp/semantics.cc:5465 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13878 cp/semantics.cc:5358 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13921 cp/semantics.cc:5401 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13936 cp/semantics.cc:5416 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13973 cp/semantics.cc:5453 #, gcc-internal-format msgid "for array function parameter length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13977 cp/semantics.cc:5457 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:14004 c/c-typeck.cc:14123 cp/semantics.cc:5484 #: cp/semantics.cc:5618 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.cc:14014 cp/semantics.cc:5494 #, gcc-internal-format msgid "%qE does not have pointer or array type" msgstr "" ! #: c/c-typeck.cc:14401 cp/semantics.cc:6592 #, gcc-internal-format msgid "iterator %qD has neither integral nor pointer type" msgstr "" ! #: c/c-typeck.cc:14408 #, gcc-internal-format msgid "iterator %qD has %<_Atomic%> qualified type" msgstr "" ! #: c/c-typeck.cc:14414 cp/semantics.cc:6599 #, gcc-internal-format msgid "iterator %qD has const qualified type" msgstr "" ! #: c/c-typeck.cc:14427 cp/semantics.cc:6615 #, fuzzy, gcc-internal-format msgid "iterator step with non-integral type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-typeck.cc:14447 cp/semantics.cc:6651 #, gcc-internal-format msgid "iterator %qD has zero step" msgstr "" ! #: c/c-typeck.cc:14474 #, gcc-internal-format msgid "type of iterator %qD refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14481 cp/semantics.cc:6685 #, gcc-internal-format msgid "begin expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14487 cp/semantics.cc:6691 #, gcc-internal-format msgid "end expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14493 cp/semantics.cc:6697 #, gcc-internal-format msgid "step expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14530 cp/semantics.cc:6745 #, gcc-internal-format msgid "expected pointer in %qs clause" msgstr "" ! #: c/c-typeck.cc:14625 cp/semantics.cc:6833 #, gcc-internal-format msgid "% and non-% % clauses on the same construct" msgstr "" ! #: c/c-typeck.cc:14647 cp/semantics.cc:6853 #, gcc-internal-format msgid "% % clause with array section" msgstr "" ! #: c/c-typeck.cc:14673 c/c-typeck.cc:14683 #, gcc-internal-format msgid "%qD in % clause is a zero size array" msgstr "" ! #: c/c-typeck.cc:14703 #, gcc-internal-format msgid "%<_Atomic%> %qE in % clause" msgstr "" ! #: c/c-typeck.cc:14715 #, gcc-internal-format msgid "zero sized type %qT in %qs clause" msgstr "" ! #: c/c-typeck.cc:14723 #, gcc-internal-format msgid "variable sized type %qT in %qs clause" msgstr "" ! #: c/c-typeck.cc:14767 #, gcc-internal-format msgid "%qE has invalid type for %" msgstr "" ! #: c/c-typeck.cc:14776 cp/semantics.cc:6484 #, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "" ! #: c/c-typeck.cc:14864 #, gcc-internal-format msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.cc:14882 c/c-typeck.cc:15796 cp/semantics.cc:9010 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:14894 cp/semantics.cc:9078 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.cc:14909 cp/semantics.cc:6896 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs when not using OpenMP 5.2 modifiers" msgstr "" ! #: c/c-typeck.cc:14918 #, gcc-internal-format msgid "linear clause applied to non-integral non-pointer variable with type %qT" msgstr "" ! #: c/c-typeck.cc:14926 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:14945 cp/semantics.cc:6980 #, gcc-internal-format msgid "% clause step %qE is neither constant nor a parameter" msgstr "" ! #: c/c-typeck.cc:14975 c/c-typeck.cc:15696 c/c-typeck.cc:15941 #: cp/semantics.cc:7067 cp/semantics.cc:8469 cp/semantics.cc:8819 #, gcc-internal-format msgid "%qE is not a variable in clause %qs" msgstr "" ! #: c/c-typeck.cc:14993 cp/semantics.cc:7085 #, gcc-internal-format msgid "%qD appears more than once in data-sharing clauses" msgstr "" ! #: c/c-typeck.cc:15004 cp/semantics.cc:7096 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" ! #: c/c-typeck.cc:15018 c/c-typeck.cc:15088 c/c-typeck.cc:15122 #, gcc-internal-format msgid "%qE appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15028 c/c-typeck.cc:15095 c/c-typeck.cc:15426 ! #: c/c-typeck.cc:15619 c/c-typeck.cc:15627 c/c-typeck.cc:15644 ! #: c/c-typeck.cc:15654 c/c-typeck.cc:15662 cp/semantics.cc:7110 #: cp/semantics.cc:7120 cp/semantics.cc:7213 cp/semantics.cc:7220 #: cp/semantics.cc:7267 cp/semantics.cc:8102 cp/semantics.cc:8333 #: cp/semantics.cc:8341 cp/semantics.cc:8358 cp/semantics.cc:8368 --- 48801,49399 ---- msgid "missing initializer for field %qD of %qT" msgstr "прапушчан ініцыялізатар" ! #: c/c-typeck.cc:9391 #, gcc-internal-format msgid "extra elements in scalar initializer" msgstr "" ! #: c/c-typeck.cc:9510 c/c-typeck.cc:9592 #, gcc-internal-format msgid "array index in non-array initializer" msgstr "" ! #: c/c-typeck.cc:9515 c/c-typeck.cc:9654 #, gcc-internal-format msgid "field name not in record or union initializer" msgstr "" ! #: c/c-typeck.cc:9565 #, fuzzy, gcc-internal-format msgid "array index in initializer not of integer type" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:9574 c/c-typeck.cc:9583 #, fuzzy, gcc-internal-format msgid "array index in initializer is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:9588 c/c-typeck.cc:9590 #, gcc-internal-format msgid "nonconstant array index in initializer" msgstr "" ! #: c/c-typeck.cc:9594 c/c-typeck.cc:9597 #, gcc-internal-format msgid "array index in initializer exceeds array bounds" msgstr "" ! #: c/c-typeck.cc:9616 #, gcc-internal-format msgid "empty index range in initializer" msgstr "" ! #: c/c-typeck.cc:9625 #, gcc-internal-format msgid "array index range in initializer exceeds array bounds" msgstr "" ! #: c/c-typeck.cc:9727 c/c-typeck.cc:9757 c/c-typeck.cc:10335 #, gcc-internal-format msgid "initialized field with side-effects overwritten" msgstr "" ! #: c/c-typeck.cc:9731 c/c-typeck.cc:9761 c/c-typeck.cc:10338 #, gcc-internal-format msgid "initialized field overwritten" msgstr "" ! #: c/c-typeck.cc:10269 #, gcc-internal-format msgid "enum conversion in initialization is invalid in C++" msgstr "" ! #: c/c-typeck.cc:10650 #, gcc-internal-format msgid "excess elements in % array initializer" msgstr "" ! #: c/c-typeck.cc:10657 c/c-typeck.cc:10734 #, gcc-internal-format msgid "excess elements in struct initializer" msgstr "" ! #: c/c-typeck.cc:10678 #, gcc-internal-format msgid "positional initialization of field in % declared with % attribute" msgstr "" ! #: c/c-typeck.cc:10749 cp/typeck2.cc:1219 #, gcc-internal-format msgid "non-static initialization of a flexible array member" msgstr "" ! #: c/c-typeck.cc:10844 #, gcc-internal-format msgid "excess elements in union initializer" msgstr "" ! #: c/c-typeck.cc:10866 #, gcc-internal-format msgid "traditional C rejects initialization of unions" msgstr "" ! #: c/c-typeck.cc:10928 #, gcc-internal-format msgid "excess elements in array initializer" msgstr "" ! #: c/c-typeck.cc:10962 #, gcc-internal-format msgid "excess elements in vector initializer" msgstr "" ! #: c/c-typeck.cc:10994 #, gcc-internal-format msgid "excess elements in scalar initializer" msgstr "" ! #: c/c-typeck.cc:11237 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C forbids %" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-typeck.cc:11243 #, gcc-internal-format msgid "computed goto must be pointer type" msgstr "" ! #: c/c-typeck.cc:11272 c/gimple-parser.cc:2472 cp/typeck.cc:10932 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function declared % has a % statement" msgstr "функцыя не вяртае тып string" ! #: c/c-typeck.cc:11300 c/c-typeck.cc:11304 #, gcc-internal-format msgid "% with no value, in function returning non-void" msgstr "" ! #: c/c-typeck.cc:11318 c/gimple-parser.cc:2482 #, gcc-internal-format msgid "% with a value, in function returning void" msgstr "" ! #: c/c-typeck.cc:11321 #, gcc-internal-format msgid "ISO C forbids % with expression, in function returning void" msgstr "" ! #: c/c-typeck.cc:11398 #, fuzzy, gcc-internal-format msgid "function returns address of label" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: c/c-typeck.cc:11489 cp/semantics.cc:1524 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "" ! #: c/c-typeck.cc:11514 #, gcc-internal-format msgid "% switch expression not converted to % in ISO C" msgstr "" ! #: c/c-typeck.cc:11552 c/c-typeck.cc:11560 #, fuzzy, gcc-internal-format msgid "case label is not an integer constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: c/c-typeck.cc:11566 cp/parser.cc:12750 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "" ! #: c/c-typeck.cc:11568 #, gcc-internal-format msgid "% label not within a switch statement" msgstr "" ! #: c/c-typeck.cc:11644 cp/parser.cc:14366 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "" ! #: c/c-typeck.cc:11647 c/c-typeck.cc:11667 cp/decl.cc:3871 cp/parser.cc:14376 #: cp/parser.cc:14397 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" ! #: c/c-typeck.cc:11650 cp/parser.cc:14379 #, gcc-internal-format msgid "break statement used with OpenMP for loop" msgstr "" ! #: c/c-typeck.cc:11664 cp/parser.cc:14389 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "" ! #: c/c-typeck.cc:11704 cp/cp-gimplify.cc:256 #, gcc-internal-format msgid "statement with no effect" msgstr "" ! #: c/c-typeck.cc:11748 #, gcc-internal-format msgid "expression statement has incomplete type" msgstr "" ! #: c/c-typeck.cc:12039 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12044 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12062 c/c-typeck.cc:12100 #, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "" ! #: c/c-typeck.cc:12067 c/c-typeck.cc:12105 #, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "" ! #: c/c-typeck.cc:12687 c/c-typeck.cc:12848 cp/typeck.cc:5987 #, gcc-internal-format msgid "comparing vectors with different element types" msgstr "" ! #: c/c-typeck.cc:12695 c/c-typeck.cc:12856 cp/typeck.cc:6000 #, gcc-internal-format msgid "comparing vectors with different number of elements" msgstr "" ! #: c/c-typeck.cc:12710 c/c-typeck.cc:12871 cp/typeck.cc:6018 #, gcc-internal-format msgid "comparison between types %qT and %qT" msgstr "" ! #: c/c-typeck.cc:12720 c/c-typeck.cc:12881 cp/typeck.cc:6035 #, gcc-internal-format msgid "could not find an integer type of the same size as %qT" msgstr "" ! #: c/c-typeck.cc:12734 cp/typeck.cc:5671 #, gcc-internal-format msgid "comparing floating-point with %<==%> or % is unsafe" msgstr "" ! #: c/c-typeck.cc:12772 c/c-typeck.cc:12922 #, gcc-internal-format msgid "comparison of pointers to disjoint address spaces" msgstr "" ! #: c/c-typeck.cc:12779 c/c-typeck.cc:12785 #, fuzzy, gcc-internal-format msgid "ISO C forbids comparison of % with function pointer" msgstr "ISO C не дазваляе дэкларацыі метак (label)" ! #: c/c-typeck.cc:12792 c/c-typeck.cc:12932 #, gcc-internal-format msgid "comparison of distinct pointer types lacks a cast" msgstr "" ! #: c/c-typeck.cc:12804 c/c-typeck.cc:12809 c/c-typeck.cc:12958 ! #: c/c-typeck.cc:12963 #, gcc-internal-format msgid "comparison between pointer and integer" msgstr "" ! #: c/c-typeck.cc:12910 #, gcc-internal-format msgid "comparison of complete and incomplete pointers" msgstr "" ! #: c/c-typeck.cc:12912 #, gcc-internal-format msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "" ! #: c/c-typeck.cc:12917 #, gcc-internal-format msgid "ordered comparison of pointer with null pointer" msgstr "" ! #: c/c-typeck.cc:12940 c/c-typeck.cc:12943 c/c-typeck.cc:12950 ! #: c/c-typeck.cc:12953 #, gcc-internal-format msgid "ordered comparison of pointer with integer zero" msgstr "" ! #: c/c-typeck.cc:13029 #, gcc-internal-format msgid "implicit conversion from %qT to %qT to match other operand of binary expression" msgstr "" ! #: c/c-typeck.cc:13347 #, gcc-internal-format msgid "used array that cannot be converted to pointer where scalar is required" msgstr "" ! #: c/c-typeck.cc:13351 #, gcc-internal-format msgid "used struct type value where scalar is required" msgstr "" ! #: c/c-typeck.cc:13355 #, gcc-internal-format msgid "used union type value where scalar is required" msgstr "" ! #: c/c-typeck.cc:13371 #, gcc-internal-format msgid "used vector type where scalar is required" msgstr "" ! #: c/c-typeck.cc:13561 cp/semantics.cc:11070 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13572 c/c-typeck.cc:13582 cp/semantics.cc:11081 #: cp/semantics.cc:11091 #, gcc-internal-format msgid "expected % % clause modifier" msgstr "" ! #: c/c-typeck.cc:13617 cp/semantics.cc:11126 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13662 c/c-typeck.cc:15387 c/c-typeck.cc:15523 ! #: c/c-typeck.cc:15606 #, gcc-internal-format msgid "%<_Atomic%> %qE in %qs clause" msgstr "" ! #: c/c-typeck.cc:13686 c/c-typeck.cc:15302 c/c-typeck.cc:15509 #: cp/semantics.cc:5165 cp/semantics.cc:7933 cp/semantics.cc:8193 #, gcc-internal-format msgid "bit-field %qE in %qs clause" msgstr "" ! #: c/c-typeck.cc:13695 c/c-typeck.cc:15533 cp/semantics.cc:5175 #: cp/semantics.cc:8214 #, gcc-internal-format msgid "%qE is a member of a union" msgstr "" ! #: c/c-typeck.cc:13712 c/c-typeck.cc:15542 cp/semantics.cc:8223 #, fuzzy, gcc-internal-format msgid "cannot dereference %qE in %qs clause" msgstr "Не магу знайсці файл для класа %s." ! #: c/c-typeck.cc:13723 cp/semantics.cc:5200 cp/semantics.cc:8268 #, gcc-internal-format msgid "%qD is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13727 c/c-typeck.cc:15570 cp/semantics.cc:5204 #: cp/semantics.cc:8272 #, gcc-internal-format msgid "%qE is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13735 #, gcc-internal-format msgid "%<_Atomic%> %qD in %qs clause" msgstr "" ! #: c/c-typeck.cc:13745 c/c-typeck.cc:15577 c/c-typeck.cc:15707 #: cp/semantics.cc:5213 cp/semantics.cc:8279 cp/semantics.cc:8475 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13782 cp/semantics.cc:5247 #, gcc-internal-format msgid "low bound %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.cc:13789 cp/semantics.cc:5254 #, gcc-internal-format msgid "length %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.cc:13812 cp/semantics.cc:5287 #, gcc-internal-format msgid "expected single pointer in %qs clause" msgstr "" ! #: c/c-typeck.cc:13830 c/c-typeck.cc:13897 c/c-typeck.cc:14189 #: cp/semantics.cc:5305 cp/semantics.cc:5372 #, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13849 cp/semantics.cc:5324 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13857 cp/semantics.cc:5332 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13866 c/c-typeck.cc:13990 cp/semantics.cc:5341 #: cp/semantics.cc:5465 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13883 cp/semantics.cc:5358 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13926 cp/semantics.cc:5401 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13941 cp/semantics.cc:5416 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13978 cp/semantics.cc:5453 #, gcc-internal-format msgid "for array function parameter length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13982 cp/semantics.cc:5457 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:14009 c/c-typeck.cc:14128 cp/semantics.cc:5484 #: cp/semantics.cc:5618 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.cc:14019 cp/semantics.cc:5494 #, gcc-internal-format msgid "%qE does not have pointer or array type" msgstr "" ! #: c/c-typeck.cc:14406 cp/semantics.cc:6592 #, gcc-internal-format msgid "iterator %qD has neither integral nor pointer type" msgstr "" ! #: c/c-typeck.cc:14413 #, gcc-internal-format msgid "iterator %qD has %<_Atomic%> qualified type" msgstr "" ! #: c/c-typeck.cc:14419 cp/semantics.cc:6599 #, gcc-internal-format msgid "iterator %qD has const qualified type" msgstr "" ! #: c/c-typeck.cc:14432 cp/semantics.cc:6615 #, fuzzy, gcc-internal-format msgid "iterator step with non-integral type" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: c/c-typeck.cc:14452 cp/semantics.cc:6651 #, gcc-internal-format msgid "iterator %qD has zero step" msgstr "" ! #: c/c-typeck.cc:14479 #, gcc-internal-format msgid "type of iterator %qD refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14486 cp/semantics.cc:6685 #, gcc-internal-format msgid "begin expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14492 cp/semantics.cc:6691 #, gcc-internal-format msgid "end expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14498 cp/semantics.cc:6697 #, gcc-internal-format msgid "step expression refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14535 cp/semantics.cc:6745 #, gcc-internal-format msgid "expected pointer in %qs clause" msgstr "" ! #: c/c-typeck.cc:14630 cp/semantics.cc:6833 #, gcc-internal-format msgid "% and non-% % clauses on the same construct" msgstr "" ! #: c/c-typeck.cc:14652 cp/semantics.cc:6853 #, gcc-internal-format msgid "% % clause with array section" msgstr "" ! #: c/c-typeck.cc:14678 c/c-typeck.cc:14688 #, gcc-internal-format msgid "%qD in % clause is a zero size array" msgstr "" ! #: c/c-typeck.cc:14708 #, gcc-internal-format msgid "%<_Atomic%> %qE in % clause" msgstr "" ! #: c/c-typeck.cc:14720 #, gcc-internal-format msgid "zero sized type %qT in %qs clause" msgstr "" ! #: c/c-typeck.cc:14728 #, gcc-internal-format msgid "variable sized type %qT in %qs clause" msgstr "" ! #: c/c-typeck.cc:14772 #, gcc-internal-format msgid "%qE has invalid type for %" msgstr "" ! #: c/c-typeck.cc:14781 cp/semantics.cc:6484 #, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "" ! #: c/c-typeck.cc:14869 #, gcc-internal-format msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.cc:14887 c/c-typeck.cc:15801 cp/semantics.cc:9010 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:14899 cp/semantics.cc:9078 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.cc:14914 cp/semantics.cc:6896 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs when not using OpenMP 5.2 modifiers" msgstr "" ! #: c/c-typeck.cc:14923 #, gcc-internal-format msgid "linear clause applied to non-integral non-pointer variable with type %qT" msgstr "" ! #: c/c-typeck.cc:14931 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:14950 cp/semantics.cc:6980 #, gcc-internal-format msgid "% clause step %qE is neither constant nor a parameter" msgstr "" ! #: c/c-typeck.cc:14980 c/c-typeck.cc:15701 c/c-typeck.cc:15946 #: cp/semantics.cc:7067 cp/semantics.cc:8469 cp/semantics.cc:8819 #, gcc-internal-format msgid "%qE is not a variable in clause %qs" msgstr "" ! #: c/c-typeck.cc:14998 cp/semantics.cc:7085 #, gcc-internal-format msgid "%qD appears more than once in data-sharing clauses" msgstr "" ! #: c/c-typeck.cc:15009 cp/semantics.cc:7096 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" ! #: c/c-typeck.cc:15023 c/c-typeck.cc:15093 c/c-typeck.cc:15127 #, gcc-internal-format msgid "%qE appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15033 c/c-typeck.cc:15100 c/c-typeck.cc:15431 ! #: c/c-typeck.cc:15624 c/c-typeck.cc:15632 c/c-typeck.cc:15649 ! #: c/c-typeck.cc:15659 c/c-typeck.cc:15667 cp/semantics.cc:7110 #: cp/semantics.cc:7120 cp/semantics.cc:7213 cp/semantics.cc:7220 #: cp/semantics.cc:7267 cp/semantics.cc:8102 cp/semantics.cc:8333 #: cp/semantics.cc:8341 cp/semantics.cc:8358 cp/semantics.cc:8368 *************** msgstr "" *** 49387,49609 **** msgid "%qD appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15031 c/c-typeck.cc:15101 c/c-typeck.cc:15630 ! #: c/c-typeck.cc:15665 cp/semantics.cc:7123 cp/semantics.cc:7226 #: cp/semantics.cc:8344 cp/semantics.cc:8379 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.cc:15076 cp/semantics.cc:7200 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.cc:15115 cp/semantics.cc:7259 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.cc:15134 cp/semantics.cc:7654 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15141 #, gcc-internal-format msgid "%qE in % clause is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.cc:15148 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:15155 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15168 cp/semantics.cc:7725 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15174 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15187 cp/semantics.cc:7764 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15193 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15263 cp/semantics.cc:7890 #, gcc-internal-format msgid "% clause with % dependence type on array section" msgstr "" ! #: c/c-typeck.cc:15278 cp/semantics.cc:7905 #, gcc-internal-format msgid "% used with % kind other than % or %" msgstr "" ! #: c/c-typeck.cc:15286 cp/semantics.cc:7923 #, gcc-internal-format msgid "%qE is not lvalue expression nor array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:15307 cp/semantics.cc:7945 #, gcc-internal-format msgid "%qE does not have % type in % clause with % dependence type" msgstr "" ! #: c/c-typeck.cc:15317 cp/semantics.cc:7957 #, gcc-internal-format msgid "%qE should not have % type in % clause with dependence type other than %" msgstr "" ! #: c/c-typeck.cc:15374 cp/semantics.cc:8052 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15422 c/c-typeck.cc:15641 cp/semantics.cc:8098 #: cp/semantics.cc:8355 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "" ! #: c/c-typeck.cc:15430 c/c-typeck.cc:15647 cp/semantics.cc:8106 #: cp/semantics.cc:8361 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "" ! #: c/c-typeck.cc:15511 cp/semantics.cc:8200 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15592 c/c-typeck.cc:15709 cp/semantics.cc:8302 #: cp/semantics.cc:8482 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15692 cp/semantics.cc:8464 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "" ! #: c/c-typeck.cc:15718 cp/semantics.cc:8494 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.cc:15732 cp/semantics.cc:8510 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15735 cp/semantics.cc:8513 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15754 #, gcc-internal-format msgid "%qs variable is not a pointer" msgstr "" ! #: c/c-typeck.cc:15761 #, gcc-internal-format msgid "%qs variable is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.cc:15809 c/c-typeck.cc:15902 cp/semantics.cc:8972 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:15829 cp/semantics.cc:7997 #, gcc-internal-format msgid "too many %qs clauses on a task construct" msgstr "" ! #: c/c-typeck.cc:15924 cp/semantics.cc:8787 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.cc:15991 cp/semantics.cc:9149 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.cc:16001 #, gcc-internal-format msgid "% qualified %qE may appear only in % or % clauses" msgstr "" ! #: c/c-typeck.cc:16032 cp/semantics.cc:8924 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.cc:16044 cp/semantics.cc:8937 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.cc:16055 c/c-typeck.cc:16063 cp/semantics.cc:8946 #: cp/semantics.cc:8964 #, gcc-internal-format msgid "%qs clause specified together with % % clause" msgstr "" ! #: c/c-typeck.cc:16111 cp/semantics.cc:8904 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" ! #: c/c-typeck.cc:16162 cp/semantics.cc:8954 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16172 cp/semantics.cc:8983 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16190 cp/semantics.cc:9174 #, gcc-internal-format msgid "the event handle of a % clause should not be in a data-sharing clause" msgstr "" ! #: c/c-typeck.cc:16364 #, gcc-internal-format msgid "cannot use % with reverse storage order" msgstr "" ! #: c/c-typeck.cc:16369 #, fuzzy, gcc-internal-format msgid "second argument to % is of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:16375 #, gcc-internal-format msgid "second argument to % is a function type %qT" msgstr "" ! #: c/c-typeck.cc:16381 #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "" --- 49402,49624 ---- msgid "%qD appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15036 c/c-typeck.cc:15106 c/c-typeck.cc:15635 ! #: c/c-typeck.cc:15670 cp/semantics.cc:7123 cp/semantics.cc:7226 #: cp/semantics.cc:8344 cp/semantics.cc:8379 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.cc:15081 cp/semantics.cc:7200 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.cc:15120 cp/semantics.cc:7259 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.cc:15139 cp/semantics.cc:7654 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15146 #, gcc-internal-format msgid "%qE in % clause is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.cc:15153 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:15160 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15173 cp/semantics.cc:7725 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15179 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15192 cp/semantics.cc:7764 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.cc:15198 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15268 cp/semantics.cc:7890 #, gcc-internal-format msgid "% clause with % dependence type on array section" msgstr "" ! #: c/c-typeck.cc:15283 cp/semantics.cc:7905 #, gcc-internal-format msgid "% used with % kind other than % or %" msgstr "" ! #: c/c-typeck.cc:15291 cp/semantics.cc:7923 #, gcc-internal-format msgid "%qE is not lvalue expression nor array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:15312 cp/semantics.cc:7945 #, gcc-internal-format msgid "%qE does not have % type in % clause with % dependence type" msgstr "" ! #: c/c-typeck.cc:15322 cp/semantics.cc:7957 #, gcc-internal-format msgid "%qE should not have % type in % clause with dependence type other than %" msgstr "" ! #: c/c-typeck.cc:15379 cp/semantics.cc:8052 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15427 c/c-typeck.cc:15646 cp/semantics.cc:8098 #: cp/semantics.cc:8355 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "" ! #: c/c-typeck.cc:15435 c/c-typeck.cc:15652 cp/semantics.cc:8106 #: cp/semantics.cc:8361 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "" ! #: c/c-typeck.cc:15516 cp/semantics.cc:8200 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15597 c/c-typeck.cc:15714 cp/semantics.cc:8302 #: cp/semantics.cc:8482 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15697 cp/semantics.cc:8464 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "" ! #: c/c-typeck.cc:15723 cp/semantics.cc:8494 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.cc:15737 cp/semantics.cc:8510 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15740 cp/semantics.cc:8513 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15759 #, gcc-internal-format msgid "%qs variable is not a pointer" msgstr "" ! #: c/c-typeck.cc:15766 #, gcc-internal-format msgid "%qs variable is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.cc:15814 c/c-typeck.cc:15907 cp/semantics.cc:8972 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:15834 cp/semantics.cc:7997 #, gcc-internal-format msgid "too many %qs clauses on a task construct" msgstr "" ! #: c/c-typeck.cc:15929 cp/semantics.cc:8787 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.cc:15996 cp/semantics.cc:9149 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.cc:16006 #, gcc-internal-format msgid "% qualified %qE may appear only in % or % clauses" msgstr "" ! #: c/c-typeck.cc:16037 cp/semantics.cc:8924 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.cc:16049 cp/semantics.cc:8937 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.cc:16060 c/c-typeck.cc:16068 cp/semantics.cc:8946 #: cp/semantics.cc:8964 #, gcc-internal-format msgid "%qs clause specified together with % % clause" msgstr "" ! #: c/c-typeck.cc:16116 cp/semantics.cc:8904 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" ! #: c/c-typeck.cc:16167 cp/semantics.cc:8954 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16177 cp/semantics.cc:8983 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16195 cp/semantics.cc:9174 #, gcc-internal-format msgid "the event handle of a % clause should not be in a data-sharing clause" msgstr "" ! #: c/c-typeck.cc:16369 #, gcc-internal-format msgid "cannot use % with reverse storage order" msgstr "" ! #: c/c-typeck.cc:16374 #, fuzzy, gcc-internal-format msgid "second argument to % is of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-typeck.cc:16380 #, gcc-internal-format msgid "second argument to % is a function type %qT" msgstr "" ! #: c/c-typeck.cc:16386 #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "" *************** msgid "expected case label" *** 49817,50689 **** msgstr "" #. A bad conversion for 'this' must be discarding cv-quals. ! #: cp/call.cc:3837 #, gcc-internal-format msgid " passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.cc:3841 msgid " no known conversion for implicit % parameter from %qH to %qI" msgstr "" ! #: cp/call.cc:3848 #, gcc-internal-format, gfc-internal-format msgid " conversion of argument %d would be ill-formed:" msgstr "" #. Conversion of conversion function return value failed. ! #: cp/call.cc:3855 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid " no known conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:3861 msgid " no known conversion for argument %d from %qH to %qI" msgstr "" ! #: cp/call.cc:3875 cp/pt.cc:7020 #, gcc-internal-format, gfc-internal-format msgid " candidate expects at least %d argument, %d provided" msgid_plural " candidate expects at least %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3880 cp/pt.cc:7025 #, gcc-internal-format, gfc-internal-format msgid " candidate expects %d argument, %d provided" msgid_plural " candidate expects %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3908 #, gcc-internal-format msgid "%s%<%D(%T, %T, %T)%> (built-in)" msgstr "" ! #: cp/call.cc:3913 #, gcc-internal-format msgid "%s%<%D(%T, %T)%> (built-in)" msgstr "" ! #: cp/call.cc:3917 #, gcc-internal-format msgid "%s%<%D(%T)%> (built-in)" msgstr "" ! #: cp/call.cc:3921 #, gcc-internal-format msgid "%s%qT (conversion)" msgstr "" ! #: cp/call.cc:3923 #, gcc-internal-format msgid "%s%#qD (near match)" msgstr "" ! #: cp/call.cc:3925 #, gcc-internal-format msgid "%s%#qD (deleted)" msgstr "" ! #: cp/call.cc:3927 #, gcc-internal-format msgid "%s%#qD (reversed)" msgstr "" ! #: cp/call.cc:3929 #, gcc-internal-format msgid "%s%#qD (rewritten)" msgstr "" ! #: cp/call.cc:3931 #, gcc-internal-format msgid "%s%#qD" msgstr "" ! #: cp/call.cc:3935 #, gcc-internal-format msgid " inherited here" msgstr "" ! #: cp/call.cc:3956 #, gcc-internal-format msgid " return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion" msgstr "" ! #: cp/call.cc:3962 #, gcc-internal-format msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" msgstr "" ! #: cp/call.cc:3973 #, gcc-internal-format msgid " substitution of deduced template arguments resulted in errors seen above" msgstr "" #. Re-run template unification with diagnostics. ! #: cp/call.cc:3978 #, fuzzy, gcc-internal-format msgid " template argument deduction/substitution failed:" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/call.cc:3992 #, gcc-internal-format msgid " a constructor taking a single argument of its own class type is invalid" msgstr "" ! #: cp/call.cc:3999 #, gcc-internal-format msgid " an inherited constructor is not a candidate for initialization from an expression of the same or derived type" msgstr "" ! #: cp/call.cc:4146 cp/call.cc:4667 #, gcc-internal-format msgid "designated initializers cannot be used with a non-aggregate type %qT" msgstr "" ! #: cp/call.cc:4564 msgid "conversion from %qH to %qI is ambiguous" msgstr "" ! #: cp/call.cc:4673 cp/cvt.cc:864 msgid "could not convert %qE from %qH to %qI" msgstr "" ! #: cp/call.cc:4740 msgid "initializing %qH with %qI in converted constant expression does not bind directly" msgstr "" ! #: cp/call.cc:4761 msgid "conversion from %qH to %qI in a converted constant expression" msgstr "" ! #: cp/call.cc:4949 #, gcc-internal-format msgid "no matching function for call to %<%D(%A)%>" msgstr "" ! #: cp/call.cc:4952 #, gcc-internal-format msgid "call of overloaded %<%D(%A)%> is ambiguous" msgstr "" #. It's no good looking for an overloaded operator() on a #. pointer-to-member-function. ! #: cp/call.cc:5239 #, gcc-internal-format msgid "pointer-to-member function %qE cannot be called without an object; consider using %<.*%> or %<->*%>" msgstr "" ! #: cp/call.cc:5309 #, gcc-internal-format msgid "no match for call to %<(%T) (%A)%>" msgstr "" ! #: cp/call.cc:5323 #, fuzzy, gcc-internal-format msgid "call of %<(%T) (%A)%> is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/call.cc:5369 #, gcc-internal-format msgid "ambiguous overload for " msgstr "" ! #: cp/call.cc:5370 #, gcc-internal-format msgid "no match for " msgstr "" ! #: cp/call.cc:5373 #, gcc-internal-format msgid " (operand types are %qT, %qT, and %qT)" msgstr "" ! #: cp/call.cc:5375 #, gcc-internal-format msgid " (operand types are %qT and %qT)" msgstr "" ! #: cp/call.cc:5377 #, gcc-internal-format msgid " (operand type is %qT)" msgstr "" ! #: cp/call.cc:5394 #, fuzzy, gcc-internal-format msgid "ternary %" msgstr "Унутраная памылка: %s" ! #: cp/call.cc:5398 #, gcc-internal-format msgid "ternary % in %<%E ? %E : %E%>" msgstr "" ! #: cp/call.cc:5407 cp/call.cc:5451 cp/call.cc:5461 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5410 #, gcc-internal-format msgid "% in %<%E%s%>" msgstr "" ! #: cp/call.cc:5417 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5420 #, gcc-internal-format msgid "% in %<%E[%E]%>" msgstr "" ! #: cp/call.cc:5428 #, fuzzy, gcc-internal-format #| msgid "%s\n" msgid "%qs" msgstr "%s\n" ! #: cp/call.cc:5431 #, gcc-internal-format msgid "%qs in %<%s %E%>" msgstr "" ! #: cp/call.cc:5437 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5440 #, gcc-internal-format msgid "% in %<%s%E%>" msgstr "" ! #: cp/call.cc:5455 #, gcc-internal-format msgid "% in %<%E %s %E%>" msgstr "" ! #: cp/call.cc:5464 #, gcc-internal-format msgid "% in %<%s%E%>" msgstr "" ! #: cp/call.cc:5577 #, fuzzy, gcc-internal-format msgid "ISO C++ forbids omitting the middle term of a % expression" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: cp/call.cc:5652 #, gcc-internal-format msgid "inferred scalar type %qT is not an integer or floating-point type of the same size as %qT" msgstr "" ! #: cp/call.cc:5669 cp/call.cc:5676 msgid "conversion of scalar %qH to vector %qI involves truncation" msgstr "" ! #: cp/call.cc:5732 #, gcc-internal-format msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" msgstr "" ! #: cp/call.cc:5784 cp/call.cc:6136 cp/call.cc:6156 #, gcc-internal-format msgid "operands to % of types %qT and %qT have unordered conversion rank" msgstr "" ! #: cp/call.cc:5856 #, gcc-internal-format msgid "second operand to the conditional operator is of type %, but the third operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5861 #, gcc-internal-format msgid "third operand to the conditional operator is of type %, but the second operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5910 cp/call.cc:6025 cp/call.cc:6259 #, gcc-internal-format msgid "operands to % have different types %qT and %qT" msgstr "" ! #: cp/call.cc:5914 #, gcc-internal-format msgid " and each type can be converted to the other" msgstr "" ! #: cp/call.cc:6164 msgid "implicit conversion from %qH to %qI to match other result of conditional" msgstr "" ! #: cp/call.cc:6180 #, gcc-internal-format msgid "enumerated mismatch in conditional expression: %qT vs %qT" msgstr "" ! #: cp/call.cc:6193 #, gcc-internal-format msgid "conditional expression between enumeration type %qT and floating-point type %qT is deprecated" msgstr "" ! #: cp/call.cc:6198 #, gcc-internal-format msgid "conditional expression between floating-point type %qT and enumeration type %qT is deprecated" msgstr "" ! #: cp/call.cc:6214 #, gcc-internal-format msgid "enumerated and non-enumerated type in conditional expression" msgstr "" ! #: cp/call.cc:7065 #, gcc-internal-format msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" msgstr "" ! #: cp/call.cc:7067 #, gcc-internal-format msgid "no %<%D(int)%> declared for postfix %qs" msgstr "" ! #: cp/call.cc:7147 #, gcc-internal-format msgid "in C++20 this comparison calls the current function recursively with reversed arguments" msgstr "" ! #: cp/call.cc:7200 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type of %qD is not %qs" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: cp/call.cc:7202 #, gcc-internal-format msgid "used as rewritten candidate for comparison of %qT and %qT" msgstr "" ! #: cp/call.cc:7279 #, gcc-internal-format msgid "comparison between %q#T and %q#T" msgstr "" ! #: cp/call.cc:7472 #, gcc-internal-format msgid "no match for call to %<%T::operator[] (%A)%>" msgstr "" ! #: cp/call.cc:7486 #, gcc-internal-format msgid "call of %<%T::operator[] (%A)%> is ambiguous" msgstr "" ! #: cp/call.cc:7767 #, gcc-internal-format msgid "exception cleanup for this placement new selects non-placement %" msgstr "" ! #: cp/call.cc:7770 #, gcc-internal-format msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)" msgstr "" ! #: cp/call.cc:7807 #, gcc-internal-format msgid "%qD is a usual (non-placement) deallocation function" msgstr "" ! #: cp/call.cc:8001 #, gcc-internal-format msgid "no corresponding deallocation function for %qD" msgstr "" ! #: cp/call.cc:8004 #, gcc-internal-format msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet" msgstr "" ! #: cp/call.cc:8013 #, fuzzy, gcc-internal-format #| msgid "impossible operator '%s'" msgid "no suitable % for %qT" msgstr "немагчымы апэратар '%s'" ! #: cp/call.cc:8049 #, gcc-internal-format msgid "%q#D is private within this context" msgstr "" ! #: cp/call.cc:8050 cp/decl.cc:8895 #, fuzzy, gcc-internal-format msgid "declared private here" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/call.cc:8055 #, fuzzy, gcc-internal-format msgid "%q#D is protected within this context" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/call.cc:8056 cp/decl.cc:8896 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "declared protected here" msgstr "выклікана адсюль" ! #: cp/call.cc:8063 #, gcc-internal-format msgid "%q#D is inaccessible within this context" msgstr "" ! #: cp/call.cc:8144 #, gcc-internal-format msgid "passing NULL to non-pointer argument %P of %qD" msgstr "" ! #: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 #: cp/typeck.cc:4591 #, fuzzy, gcc-internal-format #| msgid " from here" msgid " declared here" msgstr " адсюль" ! #: cp/call.cc:8151 #, gcc-internal-format msgid "converting to non-pointer type %qT from NULL" msgstr "" ! #: cp/call.cc:8163 #, gcc-internal-format msgid "converting % to pointer type for argument %P of %qD" msgstr "" ! #: cp/call.cc:8170 #, gcc-internal-format msgid "converting % to pointer type %qT" msgstr "" ! #: cp/call.cc:8237 #, gcc-internal-format msgid " initializing argument %P of %qD" msgstr "" ! #: cp/call.cc:8258 #, gcc-internal-format msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/call.cc:8308 #, fuzzy, gcc-internal-format msgid "too many braces around initializer for %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:8319 msgid "converting to %qH from %qI requires direct-initialization" msgstr "" ! #: cp/call.cc:8331 msgid "converting to %qH from %qI with greater conversion rank" msgstr "" ! #: cp/call.cc:8338 msgid "converting to %qH from %qI with unordered conversion ranks" msgstr "" ! #: cp/call.cc:8353 msgid "invalid user-defined conversion from %qH to %qI" msgstr "" ! #: cp/call.cc:8393 cp/cvt.cc:227 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid "invalid conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:8435 cp/call.cc:8442 #, gcc-internal-format msgid "converting to %qT from initializer list would use explicit constructor %qD" msgstr "" ! #: cp/call.cc:8438 #, gcc-internal-format msgid "in C++11 and above a default constructor can be explicit" msgstr "" ! #: cp/call.cc:8708 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" msgstr "" ! #: cp/call.cc:8717 msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI" msgstr "" ! #: cp/call.cc:8722 msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" msgstr "" #. extype is volatile ! #: cp/call.cc:8725 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" msgstr "" ! #: cp/call.cc:8738 msgid "cannot bind reference of type %qH to %qI due to different array bounds" msgstr "" ! #: cp/call.cc:8741 msgid "binding reference of type %qH to %qI discards qualifiers" msgstr "" ! #: cp/call.cc:8780 #, fuzzy, gcc-internal-format msgid "cannot bind bit-field %qE to %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:8783 cp/call.cc:8801 #, gcc-internal-format msgid "cannot bind packed field %qE to %qT" msgstr "" ! #: cp/call.cc:8786 #, fuzzy, gcc-internal-format msgid "cannot bind rvalue %qE to %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:8987 msgid "implicit conversion from %qH to %qI when passing argument to function" msgstr "" ! #: cp/call.cc:9016 cp/cvt.cc:1992 #, gcc-internal-format msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after" msgstr "" ! #: cp/call.cc:9060 #, gcc-internal-format msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" msgstr "" ! #: cp/call.cc:9096 #, gcc-internal-format msgid "cannot receive reference type %qT through %<...%>" msgstr "" ! #: cp/call.cc:9106 #, gcc-internal-format msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" msgstr "" ! #: cp/call.cc:9174 #, fuzzy, gcc-internal-format msgid "recursive evaluation of default argument for %q#D" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/call.cc:9183 #, gcc-internal-format msgid "call to %qD uses the default argument for parameter %P, which is not yet defined" msgstr "" ! #: cp/call.cc:9283 #, gcc-internal-format msgid "argument of function call might be a candidate for a format attribute" msgstr "" ! #: cp/call.cc:9353 #, gcc-internal-format msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.cc:9978 #, gcc-internal-format msgid "passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.cc:9981 cp/call.cc:12764 #, gcc-internal-format msgid " in call to %qD" msgstr "" ! #: cp/call.cc:10006 #, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "" ! #: cp/call.cc:10211 #, gcc-internal-format msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "" ! #: cp/call.cc:10346 #, gcc-internal-format msgid "assignment from temporary % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/call.cc:10743 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" msgstr "" ! #: cp/call.cc:10746 #, gcc-internal-format msgid "%qD writing to an object of non-trivial type %#qT%s" msgstr "" ! #: cp/call.cc:10751 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with %qs member %qD" msgstr "" ! #: cp/call.cc:10756 #, gcc-internal-format msgid "%qD writing to an object of type %#qT containing a pointer to data member%s" msgstr "" ! #: cp/call.cc:10771 #, gcc-internal-format msgid "; use assignment or value-initialization instead" msgstr "" ! #: cp/call.cc:10773 #, gcc-internal-format msgid "; use assignment instead" msgstr "" ! #: cp/call.cc:10775 #, gcc-internal-format msgid "; use value-initialization instead" msgstr "" ! #: cp/call.cc:10778 #, gcc-internal-format msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10781 #, gcc-internal-format msgid "%qD clearing an object of non-trivial type %#qT%s" msgstr "" ! #: cp/call.cc:10783 #, gcc-internal-format msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" msgstr "" ! #: cp/call.cc:10804 #, gcc-internal-format msgid "; use copy-assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10806 #, gcc-internal-format msgid "; use copy-assignment instead" msgstr "" ! #: cp/call.cc:10808 #, gcc-internal-format msgid "; use copy-initialization instead" msgstr "" ! #: cp/call.cc:10811 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10814 #, gcc-internal-format msgid "%qD writing to an object of non-trivially copyable type %#qT%s" msgstr "" ! #: cp/call.cc:10817 #, gcc-internal-format msgid "%qD writing to an object with a deleted copy constructor" msgstr "" ! #: cp/call.cc:10828 #, gcc-internal-format msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" msgstr "" ! #: cp/call.cc:10840 #, gcc-internal-format msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10859 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged" msgstr "" ! #: cp/call.cc:10862 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" msgstr "" ! #: cp/call.cc:10872 #, gcc-internal-format msgid "%qD moving an object of non-trivially copyable type %#qT; use % and % instead" msgstr "" ! #: cp/call.cc:10875 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted copy constructor; use % and % instead" msgstr "" ! #: cp/call.cc:10878 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted destructor" msgstr "" ! #: cp/call.cc:10887 #, gcc-internal-format msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E" msgstr "" ! #: cp/call.cc:10909 #, gcc-internal-format msgid "%#qT declared here" msgstr "" ! #: cp/call.cc:10963 #, gcc-internal-format msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)" msgstr "" ! #: cp/call.cc:11030 #, gcc-internal-format msgid "constructor delegates to itself" msgstr "" ! #: cp/call.cc:11305 cp/typeck.cc:10277 msgid "cannot convert %qH to %qI" msgstr "" ! #: cp/call.cc:11327 #, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "" ! #: cp/call.cc:11359 #, gcc-internal-format msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" msgstr "" ! #: cp/call.cc:11408 #, gcc-internal-format msgid "call to non-function %qD" msgstr "" ! #: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 #, gcc-internal-format msgid "cannot call constructor %<%T::%D%> directly" msgstr "" ! #: cp/call.cc:11448 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.cc:11636 #, gcc-internal-format msgid "no matching function for call to %<%s(%A)%>" msgstr "" ! #: cp/call.cc:11639 #, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "" ! #: cp/call.cc:11662 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.cc:11667 #, gcc-internal-format msgid "pure virtual %q#D called from constructor" msgstr "" ! #: cp/call.cc:11668 #, gcc-internal-format msgid "pure virtual %q#D called from destructor" msgstr "" ! #: cp/call.cc:11691 #, gcc-internal-format msgid "cannot call member function %qD without object" msgstr "" ! #: cp/call.cc:12762 #, gcc-internal-format msgid "passing %qT chooses %qT over %qT" msgstr "" ! #: cp/call.cc:12788 #, gcc-internal-format msgid "C++20 says that these are ambiguous, even though the second is reversed:" msgstr "" ! #: cp/call.cc:12811 #, gcc-internal-format msgid "try making the operator a % member function" msgstr "" ! #: cp/call.cc:12874 #, gcc-internal-format msgid "choosing %qD over %qD" msgstr "" ! #: cp/call.cc:12875 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid " for conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:12878 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr "" ! #: cp/call.cc:13128 #, gcc-internal-format msgid "default argument mismatch in overload resolution" msgstr "" ! #: cp/call.cc:13132 #, gcc-internal-format msgid " candidate 1: %q#F" msgstr "" ! #: cp/call.cc:13134 #, gcc-internal-format msgid " candidate 2: %q#F" msgstr "" ! #: cp/call.cc:13180 #, 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.cc:13581 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.cc:13736 msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI" msgstr "" ! #: cp/call.cc:13740 msgid "invalid initialization of reference of type %qH from expression of type %qI" msgstr "" ! #: cp/call.cc:14016 #, gcc-internal-format msgid "possibly dangling reference to a temporary" msgstr "" ! #: cp/call.cc:14017 #, gcc-internal-format msgid "the temporary was destroyed at the end of the full expression %qE" msgstr "" --- 49832,50704 ---- msgstr "" #. A bad conversion for 'this' must be discarding cv-quals. ! #: cp/call.cc:3845 #, gcc-internal-format msgid " passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.cc:3849 msgid " no known conversion for implicit % parameter from %qH to %qI" msgstr "" ! #: cp/call.cc:3856 #, gcc-internal-format, gfc-internal-format msgid " conversion of argument %d would be ill-formed:" msgstr "" #. Conversion of conversion function return value failed. ! #: cp/call.cc:3863 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid " no known conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:3869 msgid " no known conversion for argument %d from %qH to %qI" msgstr "" ! #: cp/call.cc:3883 cp/pt.cc:7021 #, gcc-internal-format, gfc-internal-format msgid " candidate expects at least %d argument, %d provided" msgid_plural " candidate expects at least %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3888 cp/pt.cc:7026 #, gcc-internal-format, gfc-internal-format msgid " candidate expects %d argument, %d provided" msgid_plural " candidate expects %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3916 #, gcc-internal-format msgid "%s%<%D(%T, %T, %T)%> (built-in)" msgstr "" ! #: cp/call.cc:3921 #, gcc-internal-format msgid "%s%<%D(%T, %T)%> (built-in)" msgstr "" ! #: cp/call.cc:3925 #, gcc-internal-format msgid "%s%<%D(%T)%> (built-in)" msgstr "" ! #: cp/call.cc:3929 #, gcc-internal-format msgid "%s%qT (conversion)" msgstr "" ! #: cp/call.cc:3931 #, gcc-internal-format msgid "%s%#qD (near match)" msgstr "" ! #: cp/call.cc:3933 #, gcc-internal-format msgid "%s%#qD (deleted)" msgstr "" ! #: cp/call.cc:3935 #, gcc-internal-format msgid "%s%#qD (reversed)" msgstr "" ! #: cp/call.cc:3937 #, gcc-internal-format msgid "%s%#qD (rewritten)" msgstr "" ! #: cp/call.cc:3939 #, gcc-internal-format msgid "%s%#qD" msgstr "" ! #: cp/call.cc:3943 #, gcc-internal-format msgid " inherited here" msgstr "" ! #: cp/call.cc:3964 #, gcc-internal-format msgid " return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion" msgstr "" ! #: cp/call.cc:3970 #, gcc-internal-format msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" msgstr "" ! #: cp/call.cc:3981 #, gcc-internal-format msgid " substitution of deduced template arguments resulted in errors seen above" msgstr "" #. Re-run template unification with diagnostics. ! #: cp/call.cc:3986 #, fuzzy, gcc-internal-format msgid " template argument deduction/substitution failed:" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/call.cc:4000 #, gcc-internal-format msgid " a constructor taking a single argument of its own class type is invalid" msgstr "" ! #: cp/call.cc:4007 #, gcc-internal-format msgid " an inherited constructor is not a candidate for initialization from an expression of the same or derived type" msgstr "" ! #: cp/call.cc:4143 cp/call.cc:4682 #, gcc-internal-format msgid "designated initializers cannot be used with a non-aggregate type %qT" msgstr "" ! #: cp/call.cc:4579 msgid "conversion from %qH to %qI is ambiguous" msgstr "" ! #: cp/call.cc:4688 cp/cvt.cc:864 msgid "could not convert %qE from %qH to %qI" msgstr "" ! #: cp/call.cc:4755 msgid "initializing %qH with %qI in converted constant expression does not bind directly" msgstr "" ! #: cp/call.cc:4776 msgid "conversion from %qH to %qI in a converted constant expression" msgstr "" ! #: cp/call.cc:4964 #, gcc-internal-format msgid "no matching function for call to %<%D(%A)%>" msgstr "" ! #: cp/call.cc:4967 #, gcc-internal-format msgid "call of overloaded %<%D(%A)%> is ambiguous" msgstr "" #. It's no good looking for an overloaded operator() on a #. pointer-to-member-function. ! #: cp/call.cc:5254 #, gcc-internal-format msgid "pointer-to-member function %qE cannot be called without an object; consider using %<.*%> or %<->*%>" msgstr "" ! #: cp/call.cc:5324 #, gcc-internal-format msgid "no match for call to %<(%T) (%A)%>" msgstr "" ! #: cp/call.cc:5338 #, fuzzy, gcc-internal-format msgid "call of %<(%T) (%A)%> is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/call.cc:5384 #, gcc-internal-format msgid "ambiguous overload for " msgstr "" ! #: cp/call.cc:5385 #, gcc-internal-format msgid "no match for " msgstr "" ! #: cp/call.cc:5388 #, gcc-internal-format msgid " (operand types are %qT, %qT, and %qT)" msgstr "" ! #: cp/call.cc:5390 #, gcc-internal-format msgid " (operand types are %qT and %qT)" msgstr "" ! #: cp/call.cc:5392 #, gcc-internal-format msgid " (operand type is %qT)" msgstr "" ! #: cp/call.cc:5409 #, fuzzy, gcc-internal-format msgid "ternary %" msgstr "Унутраная памылка: %s" ! #: cp/call.cc:5413 #, gcc-internal-format msgid "ternary % in %<%E ? %E : %E%>" msgstr "" ! #: cp/call.cc:5422 cp/call.cc:5466 cp/call.cc:5476 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5425 #, gcc-internal-format msgid "% in %<%E%s%>" msgstr "" ! #: cp/call.cc:5432 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5435 #, gcc-internal-format msgid "% in %<%E[%E]%>" msgstr "" ! #: cp/call.cc:5443 #, fuzzy, gcc-internal-format #| msgid "%s\n" msgid "%qs" msgstr "%s\n" ! #: cp/call.cc:5446 #, gcc-internal-format msgid "%qs in %<%s %E%>" msgstr "" ! #: cp/call.cc:5452 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5455 #, gcc-internal-format msgid "% in %<%s%E%>" msgstr "" ! #: cp/call.cc:5470 #, gcc-internal-format msgid "% in %<%E %s %E%>" msgstr "" ! #: cp/call.cc:5479 #, gcc-internal-format msgid "% in %<%s%E%>" msgstr "" ! #: cp/call.cc:5592 #, fuzzy, gcc-internal-format msgid "ISO C++ forbids omitting the middle term of a % expression" msgstr "ISO C не дазваляе пусты ізыходны файл" ! #: cp/call.cc:5667 #, gcc-internal-format msgid "inferred scalar type %qT is not an integer or floating-point type of the same size as %qT" msgstr "" ! #: cp/call.cc:5684 cp/call.cc:5691 msgid "conversion of scalar %qH to vector %qI involves truncation" msgstr "" ! #: cp/call.cc:5747 #, gcc-internal-format msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" msgstr "" ! #: cp/call.cc:5799 cp/call.cc:6151 cp/call.cc:6171 #, gcc-internal-format msgid "operands to % of types %qT and %qT have unordered conversion rank" msgstr "" ! #: cp/call.cc:5871 #, gcc-internal-format msgid "second operand to the conditional operator is of type %, but the third operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5876 #, gcc-internal-format msgid "third operand to the conditional operator is of type %, but the second operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5925 cp/call.cc:6040 cp/call.cc:6274 #, gcc-internal-format msgid "operands to % have different types %qT and %qT" msgstr "" ! #: cp/call.cc:5929 #, gcc-internal-format msgid " and each type can be converted to the other" msgstr "" ! #: cp/call.cc:6179 msgid "implicit conversion from %qH to %qI to match other result of conditional" msgstr "" ! #: cp/call.cc:6195 #, gcc-internal-format msgid "enumerated mismatch in conditional expression: %qT vs %qT" msgstr "" ! #: cp/call.cc:6208 #, gcc-internal-format msgid "conditional expression between enumeration type %qT and floating-point type %qT is deprecated" msgstr "" ! #: cp/call.cc:6213 #, gcc-internal-format msgid "conditional expression between floating-point type %qT and enumeration type %qT is deprecated" msgstr "" ! #: cp/call.cc:6229 #, gcc-internal-format msgid "enumerated and non-enumerated type in conditional expression" msgstr "" ! #: cp/call.cc:7080 #, gcc-internal-format msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" msgstr "" ! #: cp/call.cc:7082 #, gcc-internal-format msgid "no %<%D(int)%> declared for postfix %qs" msgstr "" ! #: cp/call.cc:7162 #, gcc-internal-format msgid "in C++20 this comparison calls the current function recursively with reversed arguments" msgstr "" ! #: cp/call.cc:7215 #, fuzzy, gcc-internal-format #| msgid "return type of `%s' is not `int'" msgid "return type of %qD is not %qs" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: cp/call.cc:7217 #, gcc-internal-format msgid "used as rewritten candidate for comparison of %qT and %qT" msgstr "" ! #: cp/call.cc:7294 #, gcc-internal-format msgid "comparison between %q#T and %q#T" msgstr "" ! #: cp/call.cc:7487 #, gcc-internal-format msgid "no match for call to %<%T::operator[] (%A)%>" msgstr "" ! #: cp/call.cc:7501 #, gcc-internal-format msgid "call of %<%T::operator[] (%A)%> is ambiguous" msgstr "" ! #: cp/call.cc:7782 #, gcc-internal-format msgid "exception cleanup for this placement new selects non-placement %" msgstr "" ! #: cp/call.cc:7785 #, gcc-internal-format msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)" msgstr "" ! #: cp/call.cc:7822 #, gcc-internal-format msgid "%qD is a usual (non-placement) deallocation function" msgstr "" ! #: cp/call.cc:8016 #, gcc-internal-format msgid "no corresponding deallocation function for %qD" msgstr "" ! #: cp/call.cc:8019 #, gcc-internal-format msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet" msgstr "" ! #: cp/call.cc:8028 #, fuzzy, gcc-internal-format #| msgid "impossible operator '%s'" msgid "no suitable % for %qT" msgstr "немагчымы апэратар '%s'" ! #: cp/call.cc:8064 #, gcc-internal-format msgid "%q#D is private within this context" msgstr "" ! #: cp/call.cc:8065 cp/decl.cc:8895 #, fuzzy, gcc-internal-format msgid "declared private here" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/call.cc:8070 #, fuzzy, gcc-internal-format msgid "%q#D is protected within this context" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/call.cc:8071 cp/decl.cc:8896 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "declared protected here" msgstr "выклікана адсюль" ! #: cp/call.cc:8078 #, gcc-internal-format msgid "%q#D is inaccessible within this context" msgstr "" ! #: cp/call.cc:8159 #, gcc-internal-format msgid "passing NULL to non-pointer argument %P of %qD" msgstr "" ! #: cp/call.cc:8162 cp/call.cc:8181 cp/decl.cc:10567 cp/decl.cc:10575 #: cp/typeck.cc:4591 #, fuzzy, gcc-internal-format #| msgid " from here" msgid " declared here" msgstr " адсюль" ! #: cp/call.cc:8166 #, gcc-internal-format msgid "converting to non-pointer type %qT from NULL" msgstr "" ! #: cp/call.cc:8178 #, gcc-internal-format msgid "converting % to pointer type for argument %P of %qD" msgstr "" ! #: cp/call.cc:8185 #, gcc-internal-format msgid "converting % to pointer type %qT" msgstr "" ! #: cp/call.cc:8252 #, gcc-internal-format msgid " initializing argument %P of %qD" msgstr "" ! #: cp/call.cc:8273 #, gcc-internal-format msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/call.cc:8323 #, fuzzy, gcc-internal-format msgid "too many braces around initializer for %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:8334 msgid "converting to %qH from %qI requires direct-initialization" msgstr "" ! #: cp/call.cc:8346 msgid "converting to %qH from %qI with greater conversion rank" msgstr "" ! #: cp/call.cc:8353 msgid "converting to %qH from %qI with unordered conversion ranks" msgstr "" ! #: cp/call.cc:8368 msgid "invalid user-defined conversion from %qH to %qI" msgstr "" ! #: cp/call.cc:8408 cp/cvt.cc:227 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid "invalid conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:8450 cp/call.cc:8457 #, gcc-internal-format msgid "converting to %qT from initializer list would use explicit constructor %qD" msgstr "" ! #: cp/call.cc:8453 #, gcc-internal-format msgid "in C++11 and above a default constructor can be explicit" msgstr "" ! #: cp/call.cc:8723 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" msgstr "" ! #: cp/call.cc:8732 msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI" msgstr "" ! #: cp/call.cc:8737 msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" msgstr "" #. extype is volatile ! #: cp/call.cc:8740 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" msgstr "" ! #: cp/call.cc:8753 msgid "cannot bind reference of type %qH to %qI due to different array bounds" msgstr "" ! #: cp/call.cc:8756 msgid "binding reference of type %qH to %qI discards qualifiers" msgstr "" ! #: cp/call.cc:8795 #, fuzzy, gcc-internal-format msgid "cannot bind bit-field %qE to %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:8798 cp/call.cc:8816 #, gcc-internal-format msgid "cannot bind packed field %qE to %qT" msgstr "" ! #: cp/call.cc:8801 #, fuzzy, gcc-internal-format msgid "cannot bind rvalue %qE to %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/call.cc:9002 msgid "implicit conversion from %qH to %qI when passing argument to function" msgstr "" ! #: cp/call.cc:9031 cp/cvt.cc:1992 #, gcc-internal-format msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after" msgstr "" ! #: cp/call.cc:9075 #, gcc-internal-format msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" msgstr "" ! #: cp/call.cc:9111 #, gcc-internal-format msgid "cannot receive reference type %qT through %<...%>" msgstr "" ! #: cp/call.cc:9121 #, gcc-internal-format msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" msgstr "" ! #: cp/call.cc:9189 #, fuzzy, gcc-internal-format msgid "recursive evaluation of default argument for %q#D" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/call.cc:9198 #, gcc-internal-format msgid "call to %qD uses the default argument for parameter %P, which is not yet defined" msgstr "" ! #: cp/call.cc:9298 #, gcc-internal-format msgid "argument of function call might be a candidate for a format attribute" msgstr "" ! #: cp/call.cc:9368 #, gcc-internal-format msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.cc:9993 #, gcc-internal-format msgid "passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.cc:9996 cp/call.cc:12790 #, gcc-internal-format msgid " in call to %qD" msgstr "" ! #: cp/call.cc:10021 #, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "" ! #: cp/call.cc:10226 #, gcc-internal-format msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "" ! #: cp/call.cc:10361 #, gcc-internal-format msgid "assignment from temporary % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/call.cc:10758 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" msgstr "" ! #: cp/call.cc:10761 #, gcc-internal-format msgid "%qD writing to an object of non-trivial type %#qT%s" msgstr "" ! #: cp/call.cc:10766 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with %qs member %qD" msgstr "" ! #: cp/call.cc:10771 #, gcc-internal-format msgid "%qD writing to an object of type %#qT containing a pointer to data member%s" msgstr "" ! #: cp/call.cc:10786 #, gcc-internal-format msgid "; use assignment or value-initialization instead" msgstr "" ! #: cp/call.cc:10788 #, gcc-internal-format msgid "; use assignment instead" msgstr "" ! #: cp/call.cc:10790 #, gcc-internal-format msgid "; use value-initialization instead" msgstr "" ! #: cp/call.cc:10793 #, gcc-internal-format msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10796 #, gcc-internal-format msgid "%qD clearing an object of non-trivial type %#qT%s" msgstr "" ! #: cp/call.cc:10798 #, gcc-internal-format msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" msgstr "" ! #: cp/call.cc:10819 #, gcc-internal-format msgid "; use copy-assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10821 #, gcc-internal-format msgid "; use copy-assignment instead" msgstr "" ! #: cp/call.cc:10823 #, gcc-internal-format msgid "; use copy-initialization instead" msgstr "" ! #: cp/call.cc:10826 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10829 #, gcc-internal-format msgid "%qD writing to an object of non-trivially copyable type %#qT%s" msgstr "" ! #: cp/call.cc:10832 #, gcc-internal-format msgid "%qD writing to an object with a deleted copy constructor" msgstr "" ! #: cp/call.cc:10843 #, gcc-internal-format msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" msgstr "" ! #: cp/call.cc:10855 #, gcc-internal-format msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10874 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged" msgstr "" ! #: cp/call.cc:10877 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" msgstr "" ! #: cp/call.cc:10887 #, gcc-internal-format msgid "%qD moving an object of non-trivially copyable type %#qT; use % and % instead" msgstr "" ! #: cp/call.cc:10890 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted copy constructor; use % and % instead" msgstr "" ! #: cp/call.cc:10893 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted destructor" msgstr "" ! #: cp/call.cc:10902 #, gcc-internal-format msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E" msgstr "" ! #: cp/call.cc:10924 #, gcc-internal-format msgid "%#qT declared here" msgstr "" ! #: cp/call.cc:10978 #, gcc-internal-format msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)" msgstr "" ! #: cp/call.cc:11045 #, gcc-internal-format msgid "constructor delegates to itself" msgstr "" ! #: cp/call.cc:11320 cp/typeck.cc:10277 msgid "cannot convert %qH to %qI" msgstr "" ! #: cp/call.cc:11342 #, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "" ! #: cp/call.cc:11374 #, gcc-internal-format msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" msgstr "" ! #: cp/call.cc:11423 #, gcc-internal-format msgid "call to non-function %qD" msgstr "" ! #: cp/call.cc:11461 cp/pt.cc:16913 cp/typeck.cc:3492 #, gcc-internal-format msgid "cannot call constructor %<%T::%D%> directly" msgstr "" ! #: cp/call.cc:11463 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.cc:11651 #, gcc-internal-format msgid "no matching function for call to %<%s(%A)%>" msgstr "" ! #: cp/call.cc:11654 #, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "" ! #: cp/call.cc:11677 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.cc:11682 #, gcc-internal-format msgid "pure virtual %q#D called from constructor" msgstr "" ! #: cp/call.cc:11683 #, gcc-internal-format msgid "pure virtual %q#D called from destructor" msgstr "" ! #: cp/call.cc:11706 #, gcc-internal-format msgid "cannot call member function %qD without object" msgstr "" ! #: cp/call.cc:12788 #, gcc-internal-format msgid "passing %qT chooses %qT over %qT" msgstr "" ! #: cp/call.cc:12814 #, gcc-internal-format msgid "C++20 says that these are ambiguous, even though the second is reversed:" msgstr "" ! #: cp/call.cc:12837 #, gcc-internal-format msgid "try making the operator a % member function" msgstr "" ! #: cp/call.cc:12900 #, gcc-internal-format msgid "choosing %qD over %qD" msgstr "" ! #: cp/call.cc:12901 #, fuzzy #| msgid "converting from `%T' to `%T'" msgid " for conversion from %qH to %qI" msgstr "пераўтварэньне з `%T' у `%T'" ! #: cp/call.cc:12904 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr "" ! #: cp/call.cc:13174 #, gcc-internal-format msgid "default argument mismatch in overload resolution" msgstr "" ! #: cp/call.cc:13178 #, gcc-internal-format msgid " candidate 1: %q#F" msgstr "" ! #: cp/call.cc:13180 #, gcc-internal-format msgid " candidate 2: %q#F" msgstr "" ! #: cp/call.cc:13226 #, 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.cc:13627 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.cc:13782 msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI" msgstr "" ! #: cp/call.cc:13786 msgid "invalid initialization of reference of type %qH from expression of type %qI" msgstr "" ! #: cp/call.cc:14062 #, gcc-internal-format msgid "possibly dangling reference to a temporary" msgstr "" ! #: cp/call.cc:14063 #, gcc-internal-format msgid "the temporary was destroyed at the end of the full expression %qE" msgstr "" *************** msgstr "" *** 51148,51154 **** msgid "next member %q#D declared here" msgstr "" ! #: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "redefinition of %q#T" --- 51163,51169 ---- msgid "next member %q#D declared here" msgstr "" ! #: cp/class.cc:7506 cp/decl.cc:17162 cp/parser.cc:26971 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "redefinition of %q#T" *************** msgstr "" *** 51312,51395 **** msgid "%qD is not usable as a % function because:" msgstr "" ! #: cp/constexpr.cc:1536 cp/constexpr.cc:3141 #: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586 #, gcc-internal-format msgid "% call flows off the end of the function" msgstr "" ! #: cp/constexpr.cc:1538 cp/constexpr.cc:1637 cp/constexpr.cc:1646 #: cp/constexpr.cc:3362 rust/backend/rust-constexpr.cc:3329 #: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320 #, fuzzy, gcc-internal-format msgid "%q+E is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:1988 #, gcc-internal-format msgid "the comparison reduces to %qE" msgstr "" ! #: cp/constexpr.cc:1991 #, gcc-internal-format msgid "%qE evaluates to false" msgstr "" ! #: cp/constexpr.cc:2070 #, gcc-internal-format msgid "failed % attribute assumption" msgstr "" ! #: cp/constexpr.cc:2105 cp/constexpr.cc:9128 #: rust/backend/rust-constexpr.cc:5754 #, fuzzy, gcc-internal-format #| msgid "can't initialize friend function `%s'" msgid "call to internal function %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2613 #, fuzzy, gcc-internal-format msgid "modifying a const object %qE is not allowed in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:2161 rust/backend/rust-constexpr.cc:2616 #, gcc-internal-format msgid "originally declared % here" msgstr "" ! #: cp/constexpr.cc:2386 cp/constexpr.cc:2441 cp/constexpr.cc:2473 ! #: cp/constexpr.cc:2494 #, gcc-internal-format msgid "reference % failed" msgstr "" ! #: cp/constexpr.cc:2387 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have a base class of type %qT" msgstr "" ! #: cp/constexpr.cc:2411 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' is initialized" msgid "virtual table pointer is used uninitialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/constexpr.cc:2442 cp/constexpr.cc:2474 #, gcc-internal-format msgid "static type %qT of its operand is a non-public base class of dynamic type %qT" msgstr "" ! #: cp/constexpr.cc:2496 #, gcc-internal-format msgid "%qT is an ambiguous base class of dynamic type %qT of its operand" msgstr "" ! #: cp/constexpr.cc:2499 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" msgstr "" ! #: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 #: rust/backend/rust-constexpr.cc:5785 #, gcc-internal-format msgid "call to non-% function %qD" --- 51327,51410 ---- msgid "%qD is not usable as a % function because:" msgstr "" ! #: cp/constexpr.cc:1534 cp/constexpr.cc:3141 #: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586 #, gcc-internal-format msgid "% call flows off the end of the function" msgstr "" ! #: cp/constexpr.cc:1536 cp/constexpr.cc:1635 cp/constexpr.cc:1644 #: cp/constexpr.cc:3362 rust/backend/rust-constexpr.cc:3329 #: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320 #, fuzzy, gcc-internal-format msgid "%q+E is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:1986 #, gcc-internal-format msgid "the comparison reduces to %qE" msgstr "" ! #: cp/constexpr.cc:1989 #, gcc-internal-format msgid "%qE evaluates to false" msgstr "" ! #: cp/constexpr.cc:2068 #, gcc-internal-format msgid "failed % attribute assumption" msgstr "" ! #: cp/constexpr.cc:2103 cp/constexpr.cc:9127 #: rust/backend/rust-constexpr.cc:5754 #, fuzzy, gcc-internal-format #| msgid "can't initialize friend function `%s'" msgid "call to internal function %qE" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/constexpr.cc:2157 rust/backend/rust-constexpr.cc:2613 #, fuzzy, gcc-internal-format msgid "modifying a const object %qE is not allowed in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2616 #, gcc-internal-format msgid "originally declared % here" msgstr "" ! #: cp/constexpr.cc:2384 cp/constexpr.cc:2439 cp/constexpr.cc:2471 ! #: cp/constexpr.cc:2492 #, gcc-internal-format msgid "reference % failed" msgstr "" ! #: cp/constexpr.cc:2385 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have a base class of type %qT" msgstr "" ! #: cp/constexpr.cc:2409 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' is initialized" msgid "virtual table pointer is used uninitialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/constexpr.cc:2440 cp/constexpr.cc:2472 #, gcc-internal-format msgid "static type %qT of its operand is a non-public base class of dynamic type %qT" msgstr "" ! #: cp/constexpr.cc:2494 #, gcc-internal-format msgid "%qT is an ambiguous base class of dynamic type %qT of its operand" msgstr "" ! #: cp/constexpr.cc:2497 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" msgstr "" ! #: cp/constexpr.cc:2574 cp/constexpr.cc:2848 cp/constexpr.cc:9159 #: rust/backend/rust-constexpr.cc:5785 #, gcc-internal-format msgid "call to non-% function %qD" *************** msgstr "" *** 51397,51448 **** #. virtual_offset is only set for virtual bases, which make the #. class non-literal, so we don't need to handle it here. ! #: cp/constexpr.cc:2582 #, gcc-internal-format msgid "calling constexpr member function %qD through virtual base subobject" msgstr "" ! #: cp/constexpr.cc:2698 rust/backend/rust-constexpr.cc:3384 #, gcc-internal-format msgid "expression %qE does not designate a % function" msgstr "" ! #: cp/constexpr.cc:2771 #, gcc-internal-format msgid "array deallocation of object allocated with non-array allocation" msgstr "" ! #: cp/constexpr.cc:2775 cp/constexpr.cc:2797 #, gcc-internal-format msgid "allocation performed here" msgstr "" ! #: cp/constexpr.cc:2793 #, gcc-internal-format msgid "non-array deallocation of object allocated with array allocation" msgstr "" ! #: cp/constexpr.cc:2810 #, gcc-internal-format msgid "deallocation of already deallocated storage" msgstr "" ! #: cp/constexpr.cc:2817 #, gcc-internal-format msgid "deallocation of storage that was not previously allocated" msgstr "" ! #: cp/constexpr.cc:2931 rust/backend/rust-constexpr.cc:3439 #, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "" ! #: cp/constexpr.cc:2938 #, gcc-internal-format msgid "%qD called in a constant expression" msgstr "" ! #: cp/constexpr.cc:2942 rust/backend/rust-constexpr.cc:3453 #, fuzzy, gcc-internal-format msgid "%qD used before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" --- 51412,51463 ---- #. virtual_offset is only set for virtual bases, which make the #. class non-literal, so we don't need to handle it here. ! #: cp/constexpr.cc:2580 #, gcc-internal-format msgid "calling constexpr member function %qD through virtual base subobject" msgstr "" ! #: cp/constexpr.cc:2696 rust/backend/rust-constexpr.cc:3384 #, gcc-internal-format msgid "expression %qE does not designate a % function" msgstr "" ! #: cp/constexpr.cc:2769 #, gcc-internal-format msgid "array deallocation of object allocated with non-array allocation" msgstr "" ! #: cp/constexpr.cc:2773 cp/constexpr.cc:2795 #, gcc-internal-format msgid "allocation performed here" msgstr "" ! #: cp/constexpr.cc:2791 #, gcc-internal-format msgid "non-array deallocation of object allocated with array allocation" msgstr "" ! #: cp/constexpr.cc:2808 #, gcc-internal-format msgid "deallocation of already deallocated storage" msgstr "" ! #: cp/constexpr.cc:2815 #, gcc-internal-format msgid "deallocation of storage that was not previously allocated" msgstr "" ! #: cp/constexpr.cc:2929 rust/backend/rust-constexpr.cc:3439 #, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "" ! #: cp/constexpr.cc:2936 #, gcc-internal-format msgid "%qD called in a constant expression" msgstr "" ! #: cp/constexpr.cc:2940 rust/backend/rust-constexpr.cc:3453 #, fuzzy, gcc-internal-format msgid "%qD used before its definition" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" *************** msgid "dereferencing a null pointer in % *** 51513,51519 **** msgstr "" #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 ! #: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 #: rust/backend/rust-constexpr.cc:5708 --- 51528,51534 ---- msgstr "" #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 ! #: cp/constexpr.cc:6997 cp/constexpr.cc:7095 cp/constexpr.cc:9077 #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 #: rust/backend/rust-constexpr.cc:5708 *************** msgstr "" *** 51612,51947 **** msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" msgstr "" ! #: cp/constexpr.cc:5633 cp/constexpr.cc:7724 #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 #, gcc-internal-format msgid "dereferencing a null pointer" msgstr "" ! #: cp/constexpr.cc:5653 rust/backend/rust-constexpr.cc:892 #, gcc-internal-format msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "" ! #: cp/constexpr.cc:5699 #, fuzzy, gcc-internal-format msgid "the content of uninitialized storage is not usable in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5701 cp/constexpr.cc:5708 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "allocated here" msgstr "выклікана адсюль" ! #: cp/constexpr.cc:5706 #, fuzzy, gcc-internal-format msgid "use of allocated storage after deallocation in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5711 rust/backend/rust-constexpr.cc:4037 #, fuzzy, gcc-internal-format msgid "the value of %qD is not usable in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5719 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "%qD used in its own initializer" msgstr "нерэчаісны ініцыялізатар" ! #: cp/constexpr.cc:5724 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "`%D' - гэта ня функцыя," ! #: cp/constexpr.cc:5727 #, gcc-internal-format msgid "%q#D is volatile" msgstr "" ! #: cp/constexpr.cc:5732 cp/constexpr.cc:5739 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5745 #, fuzzy, gcc-internal-format msgid "%qD was not declared %" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/constexpr.cc:5748 #, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "" ! #: cp/constexpr.cc:6017 rust/backend/rust-constexpr.cc:2751 #, fuzzy, gcc-internal-format msgid "modification of %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6116 #, gcc-internal-format msgid "change of the active member of a union from %qD to %qD" msgstr "" ! #: cp/constexpr.cc:6129 rust/backend/rust-constexpr.cc:2820 #, gcc-internal-format msgid "change of the active member of a union from %qD to %qD during initialization" msgstr "" ! #: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 #: rust/backend/rust-constexpr.cc:4664 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6679 rust/backend/rust-constexpr.cc:4929 #, gcc-internal-format msgid "% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)" msgstr "" ! #: cp/constexpr.cc:6780 rust/backend/rust-constexpr.cc:996 #, fuzzy, gcc-internal-format msgid "inline assembly is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6782 rust/backend/rust-constexpr.cc:997 #, gcc-internal-format msgid "only unevaluated inline assembly is allowed in a % function in C++20" msgstr "" ! #: cp/constexpr.cc:6800 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "use of %qD" msgstr "нерэчаіснае выкарыстаньне `%D'" ! #: cp/constexpr.cc:6804 #, gcc-internal-format msgid "its value can vary between compiler versions or with different %<-mtune%> or %<-mcpu%> flags" msgstr "" ! #: cp/constexpr.cc:6806 #, gcc-internal-format msgid "if this use is part of a public ABI, change it to instead use a constant variable you define" msgstr "" ! #: cp/constexpr.cc:6808 #, gcc-internal-format, gfc-internal-format msgid "the default value for the current CPU tuning is %d bytes" msgstr "" ! #: cp/constexpr.cc:6810 #, gcc-internal-format msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>" msgstr "" ! #: cp/constexpr.cc:6960 #, fuzzy, gcc-internal-format msgid "value %qE of type %qT is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6973 #, gcc-internal-format msgid "% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)" msgstr "" ! #: cp/constexpr.cc:7126 #, gcc-internal-format msgid "control passes through definition of %qD with thread storage duration" msgstr "" ! #: cp/constexpr.cc:7129 #, gcc-internal-format msgid "control passes through definition of %qD with static storage duration" msgstr "" ! #: cp/constexpr.cc:7194 cp/constexpr.cc:9792 #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 #, fuzzy, gcc-internal-format msgid "temporary of non-literal type %qT in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7632 cp/constexpr.cc:9293 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 #, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "" ! #: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 #, gcc-internal-format msgid "cast from %qT is not allowed" msgstr "" ! #: cp/constexpr.cc:7701 #, gcc-internal-format msgid "%qE is not a constant expression when the class %qT is still incomplete" msgstr "" ! #: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 #, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "" ! #: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7911 cp/constexpr.cc:10056 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7969 #, gcc-internal-format msgid "contract predicate is false in constant expression" msgstr "" ! #: cp/constexpr.cc:7985 #, gcc-internal-format msgid "unexpected template-id %qE" msgstr "" ! #: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 #, gcc-internal-format msgid "function concept must be called" msgstr "" ! #: cp/constexpr.cc:8016 #, fuzzy, gcc-internal-format msgid "address of a call to %qs is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:8080 #, gcc-internal-format msgid "unexpected expression %qE of kind %s" msgstr "" ! #: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "" ! #: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to a result of %" msgstr "" ! #: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 #, gcc-internal-format msgid "%qE is not a constant expression because allocated storage has not been deallocated" msgstr "" ! #: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 #, gcc-internal-format msgid "immediate evaluation returns address of immediate function %qD" msgstr "" ! #: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 #, gcc-internal-format msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" msgstr "" ! #: cp/constexpr.cc:9258 #, fuzzy, gcc-internal-format msgid "lambda capture of %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9261 #, gcc-internal-format msgid "because it is used as a glvalue" msgstr "" ! #: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 #, gcc-internal-format msgid "% from integer to pointer" msgstr "" ! #: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.cc:9390 #, fuzzy, gcc-internal-format msgid "use of % in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9539 #, gcc-internal-format msgid "lambda-expression is not a constant expression before C++17" msgstr "" ! #: cp/constexpr.cc:9551 #, gcc-internal-format msgid "new-expression is not a constant expression before C++20" msgstr "" ! #: cp/constexpr.cc:9617 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual functions cannot be % before C++20" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/constexpr.cc:9633 #, gcc-internal-format msgid "% is not a constant expression because %qE is of polymorphic type" msgstr "" ! #: cp/constexpr.cc:9696 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9757 #, gcc-internal-format msgid "%qD defined % in % context" msgstr "" ! #: cp/constexpr.cc:9765 #, gcc-internal-format msgid "%qD defined % in % context" msgstr "" ! #: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 #, fuzzy, gcc-internal-format msgid "division by zero is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:10012 #, gcc-internal-format msgid "neither branch of % is a constant expression" msgstr "" ! #: cp/constexpr.cc:10025 #, fuzzy, gcc-internal-format msgid "non-constant array initialization" msgstr "нерэчаісны ініцыялізатар" ! #: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 #, gcc-internal-format msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "" ! #: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 #, gcc-internal-format, gfc-internal-format msgid "unexpected AST of kind %s" msgstr "" --- 51627,51962 ---- msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" msgstr "" ! #: cp/constexpr.cc:5632 cp/constexpr.cc:7723 #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 #, gcc-internal-format msgid "dereferencing a null pointer" msgstr "" ! #: cp/constexpr.cc:5652 rust/backend/rust-constexpr.cc:892 #, gcc-internal-format msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "" ! #: cp/constexpr.cc:5698 #, fuzzy, gcc-internal-format msgid "the content of uninitialized storage is not usable in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5700 cp/constexpr.cc:5707 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "allocated here" msgstr "выклікана адсюль" ! #: cp/constexpr.cc:5705 #, fuzzy, gcc-internal-format msgid "use of allocated storage after deallocation in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5710 rust/backend/rust-constexpr.cc:4037 #, fuzzy, gcc-internal-format msgid "the value of %qD is not usable in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5718 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "%qD used in its own initializer" msgstr "нерэчаісны ініцыялізатар" ! #: cp/constexpr.cc:5723 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "`%D' - гэта ня функцыя," ! #: cp/constexpr.cc:5726 #, gcc-internal-format msgid "%q#D is volatile" msgstr "" ! #: cp/constexpr.cc:5731 cp/constexpr.cc:5738 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:5744 #, fuzzy, gcc-internal-format msgid "%qD was not declared %" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/constexpr.cc:5747 #, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "" ! #: cp/constexpr.cc:6016 rust/backend/rust-constexpr.cc:2751 #, fuzzy, gcc-internal-format msgid "modification of %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6115 #, gcc-internal-format msgid "change of the active member of a union from %qD to %qD" msgstr "" ! #: cp/constexpr.cc:6128 rust/backend/rust-constexpr.cc:2820 #, gcc-internal-format msgid "change of the active member of a union from %qD to %qD during initialization" msgstr "" ! #: cp/constexpr.cc:6574 cp/constexpr.cc:8064 cp/constexpr.cc:8076 #: rust/backend/rust-constexpr.cc:4664 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6678 rust/backend/rust-constexpr.cc:4929 #, gcc-internal-format msgid "% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)" msgstr "" ! #: cp/constexpr.cc:6779 rust/backend/rust-constexpr.cc:996 #, fuzzy, gcc-internal-format msgid "inline assembly is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6781 rust/backend/rust-constexpr.cc:997 #, gcc-internal-format msgid "only unevaluated inline assembly is allowed in a % function in C++20" msgstr "" ! #: cp/constexpr.cc:6799 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "use of %qD" msgstr "нерэчаіснае выкарыстаньне `%D'" ! #: cp/constexpr.cc:6803 #, gcc-internal-format msgid "its value can vary between compiler versions or with different %<-mtune%> or %<-mcpu%> flags" msgstr "" ! #: cp/constexpr.cc:6805 #, gcc-internal-format msgid "if this use is part of a public ABI, change it to instead use a constant variable you define" msgstr "" ! #: cp/constexpr.cc:6807 #, gcc-internal-format, gfc-internal-format msgid "the default value for the current CPU tuning is %d bytes" msgstr "" ! #: cp/constexpr.cc:6809 #, gcc-internal-format msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>" msgstr "" ! #: cp/constexpr.cc:6959 #, fuzzy, gcc-internal-format msgid "value %qE of type %qT is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:6972 #, gcc-internal-format msgid "% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)" msgstr "" ! #: cp/constexpr.cc:7125 #, gcc-internal-format msgid "control passes through definition of %qD with thread storage duration" msgstr "" ! #: cp/constexpr.cc:7128 #, gcc-internal-format msgid "control passes through definition of %qD with static storage duration" msgstr "" ! #: cp/constexpr.cc:7193 cp/constexpr.cc:9791 #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 #, fuzzy, gcc-internal-format msgid "temporary of non-literal type %qT in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7631 cp/constexpr.cc:9292 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7659 rust/backend/rust-constexpr.cc:2459 #, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "" ! #: cp/constexpr.cc:7687 rust/backend/rust-constexpr.cc:2478 #, gcc-internal-format msgid "cast from %qT is not allowed" msgstr "" ! #: cp/constexpr.cc:7700 #, gcc-internal-format msgid "%qE is not a constant expression when the class %qT is still incomplete" msgstr "" ! #: cp/constexpr.cc:7734 rust/backend/rust-constexpr.cc:2504 #, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "" ! #: cp/constexpr.cc:7865 cp/constexpr.cc:9602 cp/constexpr.cc:10014 #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7910 cp/constexpr.cc:10055 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:7968 #, gcc-internal-format msgid "contract predicate is false in constant expression" msgstr "" ! #: cp/constexpr.cc:7984 #, gcc-internal-format msgid "unexpected template-id %qE" msgstr "" ! #: cp/constexpr.cc:7990 cp/constraint.cc:178 cp/constraint.cc:753 #, gcc-internal-format msgid "function concept must be called" msgstr "" ! #: cp/constexpr.cc:8015 #, fuzzy, gcc-internal-format msgid "address of a call to %qs is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:8079 #, gcc-internal-format msgid "unexpected expression %qE of kind %s" msgstr "" ! #: cp/constexpr.cc:8338 rust/backend/rust-constexpr.cc:5154 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.cc:8346 rust/backend/rust-constexpr.cc:5163 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "" ! #: cp/constexpr.cc:8361 rust/backend/rust-constexpr.cc:5179 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to a result of %" msgstr "" ! #: cp/constexpr.cc:8372 rust/backend/rust-constexpr.cc:5191 #, gcc-internal-format msgid "%qE is not a constant expression because allocated storage has not been deallocated" msgstr "" ! #: cp/constexpr.cc:8390 rust/backend/rust-constexpr.cc:5209 #, gcc-internal-format msgid "immediate evaluation returns address of immediate function %qD" msgstr "" ! #: cp/constexpr.cc:9015 rust/backend/rust-constexpr.cc:5663 #, gcc-internal-format msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" msgstr "" ! #: cp/constexpr.cc:9257 #, fuzzy, gcc-internal-format msgid "lambda capture of %qE is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9260 #, gcc-internal-format msgid "because it is used as a glvalue" msgstr "" ! #: cp/constexpr.cc:9316 rust/backend/rust-constexpr.cc:5889 #, gcc-internal-format msgid "% from integer to pointer" msgstr "" ! #: cp/constexpr.cc:9350 rust/backend/rust-constexpr.cc:5917 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.cc:9389 #, fuzzy, gcc-internal-format msgid "use of % in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9538 #, gcc-internal-format msgid "lambda-expression is not a constant expression before C++17" msgstr "" ! #: cp/constexpr.cc:9550 #, gcc-internal-format msgid "new-expression is not a constant expression before C++20" msgstr "" ! #: cp/constexpr.cc:9616 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual functions cannot be % before C++20" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/constexpr.cc:9632 #, gcc-internal-format msgid "% is not a constant expression because %qE is of polymorphic type" msgstr "" ! #: cp/constexpr.cc:9695 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9756 #, gcc-internal-format msgid "%qD defined % in % context" msgstr "" ! #: cp/constexpr.cc:9764 #, gcc-internal-format msgid "%qD defined % in % context" msgstr "" ! #: cp/constexpr.cc:9841 rust/backend/rust-constexpr.cc:6248 #, fuzzy, gcc-internal-format msgid "division by zero is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:9942 rust/backend/rust-constexpr.cc:6346 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/constexpr.cc:10011 #, gcc-internal-format msgid "neither branch of % is a constant expression" msgstr "" ! #: cp/constexpr.cc:10024 #, fuzzy, gcc-internal-format msgid "non-constant array initialization" msgstr "нерэчаісны ініцыялізатар" ! #: cp/constexpr.cc:10072 rust/backend/rust-constexpr.cc:6424 #, gcc-internal-format msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "" ! #: cp/constexpr.cc:10103 rust/backend/rust-constexpr.cc:6435 #, gcc-internal-format, gfc-internal-format msgid "unexpected AST of kind %s" msgstr "" *************** msgstr "" *** 52660,52666 **** msgid "cannot initialize a return object of type %qT with an rvalue of type %" msgstr "" ! #: cp/cp-gimplify.cc:169 #, gcc-internal-format msgid "both branches of % statement marked as %qs" msgstr "" --- 52675,52681 ---- msgid "cannot initialize a return object of type %qT with an rvalue of type %" msgstr "" ! #: cp/cp-gimplify.cc:176 #, gcc-internal-format msgid "both branches of % statement marked as %qs" msgstr "" *************** msgstr "" *** 52685,52717 **** msgid "in C++11 this % will call % because destructors default to %" msgstr "" ! #: cp/cp-gimplify.cc:3231 #, gcc-internal-format msgid "ignoring attribute %qE after earlier %qE" msgstr "" ! #: cp/cp-gimplify.cc:3305 cp/cp-gimplify.cc:3317 cp/decl.cc:4275 #: cp/method.cc:978 #, fuzzy, gcc-internal-format msgid "%qD is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3323 #, fuzzy, gcc-internal-format msgid "%qD is not a class type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3340 #, gcc-internal-format msgid "%qD does not have % type" msgstr "" ! #: cp/cp-gimplify.cc:3350 #, fuzzy, gcc-internal-format msgid "%qD does not have integral type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3362 #, gcc-internal-format msgid "% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>" msgstr "" --- 52700,52742 ---- msgid "in C++11 this % will call % because destructors default to %" msgstr "" ! #: cp/cp-gimplify.cc:3233 #, gcc-internal-format msgid "ignoring attribute %qE after earlier %qE" msgstr "" ! #: cp/cp-gimplify.cc:3275 ! #, gcc-internal-format ! msgid "pack expansion of %qE attribute" ! msgstr "" ! ! #: cp/cp-gimplify.cc:3278 ! #, gcc-internal-format ! msgid "use fold expression in the attribute argument instead" ! msgstr "" ! ! #: cp/cp-gimplify.cc:3317 cp/cp-gimplify.cc:3329 cp/decl.cc:4275 #: cp/method.cc:978 #, fuzzy, gcc-internal-format msgid "%qD is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3335 #, fuzzy, gcc-internal-format msgid "%qD is not a class type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3352 #, gcc-internal-format msgid "%qD does not have % type" msgstr "" ! #: cp/cp-gimplify.cc:3362 #, fuzzy, gcc-internal-format msgid "%qD does not have integral type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/cp-gimplify.cc:3374 #, gcc-internal-format msgid "% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>" msgstr "" *************** msgstr "папярэдняе абвяш *** 53141,53147 **** msgid "redeclaration %qD differs in %qs from previous declaration" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:1391 cp/decl.cc:16156 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous declaration %qD" --- 53166,53172 ---- msgid "redeclaration %qD differs in %qs from previous declaration" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:1391 cp/decl.cc:16165 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous declaration %qD" *************** msgstr "" *** 53748,53754 **** msgid "ignoring attributes applied to dependent type %qT without an associated declaration" msgstr "" ! #: cp/decl.cc:5735 cp/decl2.cc:1021 #, fuzzy, gcc-internal-format msgid "typedef %qD is initialized (use %qs instead)" msgstr "параметр \"%s\" ініцыялізаваны" --- 53773,53779 ---- msgid "ignoring attributes applied to dependent type %qT without an associated declaration" msgstr "" ! #: cp/decl.cc:5735 cp/decl2.cc:1026 #, fuzzy, gcc-internal-format msgid "typedef %qD is initialized (use %qs instead)" msgstr "параметр \"%s\" ініцыялізаваны" *************** msgstr "нерэчаісны ініцы *** 53956,53963 **** msgid "C99 designator %qE outside aggregate initializer" msgstr "" ! #: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 ! #: cp/typeck2.cc:1973 cp/typeck2.cc:2020 #, fuzzy, gcc-internal-format msgid "too many initializers for %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" --- 53981,53988 ---- msgid "C99 designator %qE outside aggregate initializer" msgstr "" ! #: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1613 cp/typeck2.cc:1943 ! #: cp/typeck2.cc:1991 cp/typeck2.cc:2038 #, fuzzy, gcc-internal-format msgid "too many initializers for %qT" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" *************** msgstr "" *** 54073,54089 **** msgid "assignment (not initialization) in declaration" msgstr "" ! #: cp/decl.cc:8250 cp/decl.cc:14799 #, gcc-internal-format msgid "ISO C++17 does not allow % storage class specifier" msgstr "" ! #: cp/decl.cc:8254 cp/decl.cc:14803 #, gcc-internal-format msgid "% storage class specifier used" msgstr "" ! #: cp/decl.cc:8299 cp/decl.cc:14766 #, fuzzy, gcc-internal-format msgid "declaration of %q#D has no initializer" msgstr "няма папярэдняга аб'яўлення для \"%s\"" --- 54098,54114 ---- msgid "assignment (not initialization) in declaration" msgstr "" ! #: cp/decl.cc:8250 cp/decl.cc:14808 #, gcc-internal-format msgid "ISO C++17 does not allow % storage class specifier" msgstr "" ! #: cp/decl.cc:8254 cp/decl.cc:14812 #, gcc-internal-format msgid "% storage class specifier used" msgstr "" ! #: cp/decl.cc:8299 cp/decl.cc:14775 #, fuzzy, gcc-internal-format msgid "declaration of %q#D has no initializer" msgstr "няма папярэдняга аб'яўлення для \"%s\"" *************** msgstr "" *** 54883,54899 **** msgid "%qs specified with %qT" msgstr "" ! #: cp/decl.cc:12481 #, gcc-internal-format ! msgid "%qs specified with %qD" msgstr "" ! #: cp/decl.cc:12493 #, gcc-internal-format msgid "%qs specified with %" msgstr "" ! #: cp/decl.cc:12495 #, gcc-internal-format msgid "%qs specified with %" msgstr "" --- 54908,54924 ---- msgid "%qs specified with %qT" msgstr "" ! #: cp/decl.cc:12482 #, gcc-internal-format ! msgid "%qs specified with typedef-name %qD" msgstr "" ! #: cp/decl.cc:12491 #, gcc-internal-format msgid "%qs specified with %" msgstr "" ! #: cp/decl.cc:12493 #, gcc-internal-format msgid "%qs specified with %" msgstr "" *************** msgstr "" *** 55490,55496 **** msgid "a concept cannot be a member function" msgstr "\"%s\" звычайна функцыя" ! #: cp/decl.cc:14292 cp/decl.cc:14634 #, fuzzy, gcc-internal-format #| msgid "[cannot find %s]" msgid "%qD cannot be %qs" --- 55515,55521 ---- msgid "a concept cannot be a member function" msgstr "\"%s\" звычайна функцыя" ! #: cp/decl.cc:14292 cp/decl.cc:14643 #, fuzzy, gcc-internal-format #| msgid "[cannot find %s]" msgid "%qD cannot be %qs" *************** msgstr "" *** 55531,55856 **** msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" msgstr "" ! #: cp/decl.cc:14453 cp/decl.cc:14464 #, gcc-internal-format msgid "static data member %qE declared %qs" msgstr "" ! #: cp/decl.cc:14458 #, gcc-internal-format msgid "% static data member %qD must have an initializer" msgstr "" ! #: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 #, gcc-internal-format msgid "non-static data member %qE declared %qs" msgstr "" ! #: cp/decl.cc:14575 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14578 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14584 #, gcc-internal-format msgid "storage class %<__thread%> invalid for function %qs" msgstr "" ! #: cp/decl.cc:14588 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14593 #, gcc-internal-format msgid "virt-specifiers in %qs not allowed outside a class definition" msgstr "" ! #: cp/decl.cc:14605 #, gcc-internal-format msgid "% specifier invalid for function %qs declared out of global scope" msgstr "" ! #: cp/decl.cc:14609 #, gcc-internal-format msgid "% specifier invalid for function %qs declared out of global scope" msgstr "" ! #: cp/decl.cc:14617 #, gcc-internal-format msgid "virtual non-class function %qs" msgstr "" ! #: cp/decl.cc:14624 #, gcc-internal-format msgid "%qs defined in a non-class scope" msgstr "" ! #: cp/decl.cc:14625 #, fuzzy, gcc-internal-format msgid "%qs declared in a non-class scope" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:14668 #, gcc-internal-format msgid "cannot declare member function %qD to have static linkage" msgstr "" ! #: cp/decl.cc:14677 #, gcc-internal-format msgid "cannot declare static function inside another function" msgstr "" ! #: cp/decl.cc:14718 #, gcc-internal-format msgid "% may not be used when defining (as opposed to declaring) a static data member" msgstr "" ! #: cp/decl.cc:14725 #, gcc-internal-format msgid "static member %qD declared %" msgstr "" ! #: cp/decl.cc:14731 #, gcc-internal-format msgid "cannot explicitly declare member %q#D to have extern linkage" msgstr "" ! #: cp/decl.cc:14739 #, gcc-internal-format msgid "declaration of % variable %qD is not a definition" msgstr "" ! #: cp/decl.cc:14746 #, gcc-internal-format msgid "a variable cannot be declared %" msgstr "" ! #: cp/decl.cc:14778 #, gcc-internal-format msgid "%qs initialized and declared %" msgstr "" ! #: cp/decl.cc:14783 #, gcc-internal-format msgid "%qs has both % and initializer" msgstr "" ! #: cp/decl.cc:14980 #, fuzzy, gcc-internal-format msgid "default argument %qE uses %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:14983 #, fuzzy, gcc-internal-format msgid "default argument %qE uses local variable %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:15110 #, fuzzy, gcc-internal-format msgid "invalid use of cv-qualified type %qT in parameter declaration" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15114 #, fuzzy, gcc-internal-format msgid "invalid use of type % in parameter declaration" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15143 #, gcc-internal-format msgid "%-qualified parameter is deprecated" msgstr "" ! #: cp/decl.cc:15151 #, fuzzy, gcc-internal-format msgid "parameter %qD invalidly declared method type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: cp/decl.cc:15176 #, gcc-internal-format msgid "parameter %qD includes pointer to array of unknown bound %qT" msgstr "" ! #: cp/decl.cc:15178 #, gcc-internal-format msgid "parameter %qD includes reference to array of unknown bound %qT" msgstr "" ! #: cp/decl.cc:15437 #, gcc-internal-format msgid "invalid constructor; you probably meant %<%T (const %T&)%>" msgstr "" ! #: cp/decl.cc:15516 #, fuzzy, gcc-internal-format msgid "%qD may not be declared within a namespace" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:15523 #, fuzzy, gcc-internal-format msgid "%qD may not be declared as static" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:15551 #, gcc-internal-format msgid "%qD must be a non-static member function" msgstr "" ! #: cp/decl.cc:15559 #, fuzzy, gcc-internal-format msgid "%qD must be a member function" msgstr "вельмі шмат аргументаў у функцыі" ! #: cp/decl.cc:15567 #, gcc-internal-format msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" msgstr "" ! #: cp/decl.cc:15577 #, gcc-internal-format msgid "%qD must be either a non-static member function or a non-member function" msgstr "" ! #: cp/decl.cc:15587 #, gcc-internal-format msgid "%qD must have an argument of class or enumerated type" msgstr "" #. 13.4.0.3 ! #: cp/decl.cc:15618 #, gcc-internal-format msgid "ISO C++ prohibits overloading %" msgstr "" ! #: cp/decl.cc:15628 #, gcc-internal-format msgid "%qD must not have variable number of arguments" msgstr "" ! #: cp/decl.cc:15654 #, gcc-internal-format msgid "%qD must have either zero or one argument" msgstr "" ! #: cp/decl.cc:15655 #, gcc-internal-format msgid "%qD must have either one or two arguments" msgstr "" ! #: cp/decl.cc:15667 #, gcc-internal-format msgid "postfix %qD must have % as its argument" msgstr "" ! #: cp/decl.cc:15668 #, gcc-internal-format msgid "postfix %qD must have % as its second argument" msgstr "" ! #: cp/decl.cc:15679 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "%qD must have no arguments" msgstr "няма аргументаў" ! #: cp/decl.cc:15680 cp/decl.cc:15690 #, gcc-internal-format msgid "%qD must have exactly one argument" msgstr "" ! #: cp/decl.cc:15691 #, gcc-internal-format msgid "%qD must have exactly two arguments" msgstr "" ! #: cp/decl.cc:15706 #, fuzzy, gcc-internal-format msgid "%qD cannot have default arguments" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:15730 #, gcc-internal-format msgid "converting %qT to % will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15737 #, gcc-internal-format msgid "converting %qT to a reference to the same type will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15739 #, gcc-internal-format msgid "converting %qT to the same type will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15748 #, gcc-internal-format msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15750 #, gcc-internal-format msgid "converting %qT to a base class %qT will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15766 #, gcc-internal-format msgid "user-defined %qD always evaluates both arguments" msgstr "" ! #: cp/decl.cc:15785 #, gcc-internal-format msgid "prefix %qD should return %qT" msgstr "" ! #: cp/decl.cc:15792 #, gcc-internal-format msgid "postfix %qD should return %qT" msgstr "" ! #: cp/decl.cc:15804 #, gcc-internal-format msgid "%qD should return by value" msgstr "" ! #: cp/decl.cc:15859 #, fuzzy, gcc-internal-format msgid "using template type parameter %qT after %qs" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15882 #, gcc-internal-format msgid "using alias template specialization %qT after %qs" msgstr "" ! #: cp/decl.cc:15885 #, gcc-internal-format msgid "using typedef-name %qD after %qs" msgstr "" ! #: cp/decl.cc:15887 #, fuzzy, gcc-internal-format #| msgid "this is a previous declaration" msgid "%qD has a previous declaration here" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:15895 #, gcc-internal-format msgid "%qT referred to as %qs" msgstr "" ! #: cp/decl.cc:15896 cp/decl.cc:15903 #, fuzzy, gcc-internal-format #| msgid "this is a previous declaration" msgid "%qT has a previous declaration here" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:15902 #, gcc-internal-format msgid "%qT referred to as enum" msgstr "" --- 55556,55881 ---- msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" msgstr "" ! #: cp/decl.cc:14462 cp/decl.cc:14473 #, gcc-internal-format msgid "static data member %qE declared %qs" msgstr "" ! #: cp/decl.cc:14467 #, gcc-internal-format msgid "% static data member %qD must have an initializer" msgstr "" ! #: cp/decl.cc:14510 cp/decl.cc:14518 cp/decl.cc:14525 cp/decl.cc:14532 #, gcc-internal-format msgid "non-static data member %qE declared %qs" msgstr "" ! #: cp/decl.cc:14584 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14587 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14593 #, gcc-internal-format msgid "storage class %<__thread%> invalid for function %qs" msgstr "" ! #: cp/decl.cc:14597 #, gcc-internal-format msgid "storage class % invalid for function %qs" msgstr "" ! #: cp/decl.cc:14602 #, gcc-internal-format msgid "virt-specifiers in %qs not allowed outside a class definition" msgstr "" ! #: cp/decl.cc:14614 #, gcc-internal-format msgid "% specifier invalid for function %qs declared out of global scope" msgstr "" ! #: cp/decl.cc:14618 #, gcc-internal-format msgid "% specifier invalid for function %qs declared out of global scope" msgstr "" ! #: cp/decl.cc:14626 #, gcc-internal-format msgid "virtual non-class function %qs" msgstr "" ! #: cp/decl.cc:14633 #, gcc-internal-format msgid "%qs defined in a non-class scope" msgstr "" ! #: cp/decl.cc:14634 #, fuzzy, gcc-internal-format msgid "%qs declared in a non-class scope" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:14677 #, gcc-internal-format msgid "cannot declare member function %qD to have static linkage" msgstr "" ! #: cp/decl.cc:14686 #, gcc-internal-format msgid "cannot declare static function inside another function" msgstr "" ! #: cp/decl.cc:14727 #, gcc-internal-format msgid "% may not be used when defining (as opposed to declaring) a static data member" msgstr "" ! #: cp/decl.cc:14734 #, gcc-internal-format msgid "static member %qD declared %" msgstr "" ! #: cp/decl.cc:14740 #, gcc-internal-format msgid "cannot explicitly declare member %q#D to have extern linkage" msgstr "" ! #: cp/decl.cc:14748 #, gcc-internal-format msgid "declaration of % variable %qD is not a definition" msgstr "" ! #: cp/decl.cc:14755 #, gcc-internal-format msgid "a variable cannot be declared %" msgstr "" ! #: cp/decl.cc:14787 #, gcc-internal-format msgid "%qs initialized and declared %" msgstr "" ! #: cp/decl.cc:14792 #, gcc-internal-format msgid "%qs has both % and initializer" msgstr "" ! #: cp/decl.cc:14989 #, fuzzy, gcc-internal-format msgid "default argument %qE uses %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:14992 #, fuzzy, gcc-internal-format msgid "default argument %qE uses local variable %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:15119 #, fuzzy, gcc-internal-format msgid "invalid use of cv-qualified type %qT in parameter declaration" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15123 #, fuzzy, gcc-internal-format msgid "invalid use of type % in parameter declaration" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15152 #, gcc-internal-format msgid "%-qualified parameter is deprecated" msgstr "" ! #: cp/decl.cc:15160 #, fuzzy, gcc-internal-format msgid "parameter %qD invalidly declared method type" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: cp/decl.cc:15185 #, gcc-internal-format msgid "parameter %qD includes pointer to array of unknown bound %qT" msgstr "" ! #: cp/decl.cc:15187 #, gcc-internal-format msgid "parameter %qD includes reference to array of unknown bound %qT" msgstr "" ! #: cp/decl.cc:15446 #, gcc-internal-format msgid "invalid constructor; you probably meant %<%T (const %T&)%>" msgstr "" ! #: cp/decl.cc:15525 #, fuzzy, gcc-internal-format msgid "%qD may not be declared within a namespace" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:15532 #, fuzzy, gcc-internal-format msgid "%qD may not be declared as static" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl.cc:15560 #, gcc-internal-format msgid "%qD must be a non-static member function" msgstr "" ! #: cp/decl.cc:15568 #, fuzzy, gcc-internal-format msgid "%qD must be a member function" msgstr "вельмі шмат аргументаў у функцыі" ! #: cp/decl.cc:15576 #, gcc-internal-format msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" msgstr "" ! #: cp/decl.cc:15586 #, gcc-internal-format msgid "%qD must be either a non-static member function or a non-member function" msgstr "" ! #: cp/decl.cc:15596 #, gcc-internal-format msgid "%qD must have an argument of class or enumerated type" msgstr "" #. 13.4.0.3 ! #: cp/decl.cc:15627 #, gcc-internal-format msgid "ISO C++ prohibits overloading %" msgstr "" ! #: cp/decl.cc:15637 #, gcc-internal-format msgid "%qD must not have variable number of arguments" msgstr "" ! #: cp/decl.cc:15663 #, gcc-internal-format msgid "%qD must have either zero or one argument" msgstr "" ! #: cp/decl.cc:15664 #, gcc-internal-format msgid "%qD must have either one or two arguments" msgstr "" ! #: cp/decl.cc:15676 #, gcc-internal-format msgid "postfix %qD must have % as its argument" msgstr "" ! #: cp/decl.cc:15677 #, gcc-internal-format msgid "postfix %qD must have % as its second argument" msgstr "" ! #: cp/decl.cc:15688 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "%qD must have no arguments" msgstr "няма аргументаў" ! #: cp/decl.cc:15689 cp/decl.cc:15699 #, gcc-internal-format msgid "%qD must have exactly one argument" msgstr "" ! #: cp/decl.cc:15700 #, gcc-internal-format msgid "%qD must have exactly two arguments" msgstr "" ! #: cp/decl.cc:15715 #, fuzzy, gcc-internal-format msgid "%qD cannot have default arguments" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/decl.cc:15739 #, gcc-internal-format msgid "converting %qT to % will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15746 #, gcc-internal-format msgid "converting %qT to a reference to the same type will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15748 #, gcc-internal-format msgid "converting %qT to the same type will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15757 #, gcc-internal-format msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15759 #, gcc-internal-format msgid "converting %qT to a base class %qT will never use a type conversion operator" msgstr "" ! #: cp/decl.cc:15775 #, gcc-internal-format msgid "user-defined %qD always evaluates both arguments" msgstr "" ! #: cp/decl.cc:15794 #, gcc-internal-format msgid "prefix %qD should return %qT" msgstr "" ! #: cp/decl.cc:15801 #, gcc-internal-format msgid "postfix %qD should return %qT" msgstr "" ! #: cp/decl.cc:15813 #, gcc-internal-format msgid "%qD should return by value" msgstr "" ! #: cp/decl.cc:15868 #, fuzzy, gcc-internal-format msgid "using template type parameter %qT after %qs" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/decl.cc:15891 #, gcc-internal-format msgid "using alias template specialization %qT after %qs" msgstr "" ! #: cp/decl.cc:15894 #, gcc-internal-format msgid "using typedef-name %qD after %qs" msgstr "" ! #: cp/decl.cc:15896 #, fuzzy, gcc-internal-format #| msgid "this is a previous declaration" msgid "%qD has a previous declaration here" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:15904 #, gcc-internal-format msgid "%qT referred to as %qs" msgstr "" ! #: cp/decl.cc:15905 cp/decl.cc:15912 #, fuzzy, gcc-internal-format #| msgid "this is a previous declaration" msgid "%qT has a previous declaration here" msgstr "гэта папярэдняе абвяшчэньне" ! #: cp/decl.cc:15911 #, gcc-internal-format msgid "%qT referred to as enum" msgstr "" *************** msgstr "" *** 55862,55972 **** #. void f(class C); // No template header here #. #. then the required template argument is missing. ! #: cp/decl.cc:15917 #, fuzzy, gcc-internal-format msgid "template argument required for %<%s %T%>" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ! #: cp/parser.cc:7054 cp/parser.cc:31408 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/decl.cc:15969 #, gcc-internal-format msgid "class template %qD redeclared as non-template" msgstr "" ! #: cp/decl.cc:15991 cp/name-lookup.cc:5409 #, gcc-internal-format msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ! #: cp/pt.cc:9836 #, fuzzy, gcc-internal-format msgid "%qT is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.cc:16024 #, gcc-internal-format msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.cc:16129 #, fuzzy, gcc-internal-format msgid "use of enum %q#D without previous declaration" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: cp/decl.cc:16155 #, fuzzy, gcc-internal-format #| msgid "declaration of template `%#D'" msgid "redeclaration of %qT as a non-template" msgstr "абвяшчэньне шаблёну `%#D'" ! #: cp/decl.cc:16166 cp/semantics.cc:3548 #, gcc-internal-format msgid "cannot declare %qD in a different module" msgstr "" ! #: cp/decl.cc:16282 #, gcc-internal-format msgid "derived union %qT invalid" msgstr "" ! #: cp/decl.cc:16289 #, gcc-internal-format msgid "%qT defined with multiple direct bases" msgstr "" ! #: cp/decl.cc:16300 #, gcc-internal-format msgid "%qT defined with direct virtual base" msgstr "" ! #: cp/decl.cc:16325 #, gcc-internal-format msgid "base type %qT fails to be a struct or class type" msgstr "" ! #: cp/decl.cc:16355 #, gcc-internal-format msgid "recursive type %qT undefined" msgstr "" ! #: cp/decl.cc:16357 #, fuzzy, gcc-internal-format msgid "duplicate base type %qT invalid" msgstr "паўтарэнне \"restrict\"" ! #: cp/decl.cc:16502 #, gcc-internal-format msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 #: cp/parser.cc:21163 #, gcc-internal-format msgid "previous definition here" msgstr "папярэдняе вызначэньне" ! #: cp/decl.cc:16510 #, gcc-internal-format msgid "underlying type mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16520 #, gcc-internal-format msgid "different underlying type in enum %q#T" msgstr "" ! #: cp/decl.cc:16531 #, gcc-internal-format msgid "cannot define %qD in different module" msgstr "" ! #: cp/decl.cc:16606 #, gcc-internal-format msgid "underlying type %qT of %qT must be an integral type" msgstr "" --- 55887,55997 ---- #. void f(class C); // No template header here #. #. then the required template argument is missing. ! #: cp/decl.cc:15926 #, fuzzy, gcc-internal-format msgid "template argument required for %<%s %T%>" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/decl.cc:15969 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ! #: cp/parser.cc:7054 cp/parser.cc:31407 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/decl.cc:15978 #, gcc-internal-format msgid "class template %qD redeclared as non-template" msgstr "" ! #: cp/decl.cc:16000 cp/name-lookup.cc:5409 #, gcc-internal-format msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.cc:16028 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ! #: cp/pt.cc:9838 #, fuzzy, gcc-internal-format msgid "%qT is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.cc:16033 #, gcc-internal-format msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.cc:16138 #, fuzzy, gcc-internal-format msgid "use of enum %q#D without previous declaration" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: cp/decl.cc:16164 #, fuzzy, gcc-internal-format #| msgid "declaration of template `%#D'" msgid "redeclaration of %qT as a non-template" msgstr "абвяшчэньне шаблёну `%#D'" ! #: cp/decl.cc:16175 cp/semantics.cc:3548 #, gcc-internal-format msgid "cannot declare %qD in a different module" msgstr "" ! #: cp/decl.cc:16291 #, gcc-internal-format msgid "derived union %qT invalid" msgstr "" ! #: cp/decl.cc:16298 #, gcc-internal-format msgid "%qT defined with multiple direct bases" msgstr "" ! #: cp/decl.cc:16309 #, gcc-internal-format msgid "%qT defined with direct virtual base" msgstr "" ! #: cp/decl.cc:16334 #, gcc-internal-format msgid "base type %qT fails to be a struct or class type" msgstr "" ! #: cp/decl.cc:16364 #, gcc-internal-format msgid "recursive type %qT undefined" msgstr "" ! #: cp/decl.cc:16366 #, fuzzy, gcc-internal-format msgid "duplicate base type %qT invalid" msgstr "паўтарэнне \"restrict\"" ! #: cp/decl.cc:16511 #, gcc-internal-format msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16514 cp/decl.cc:16522 cp/decl.cc:16532 cp/decl.cc:17131 #: cp/parser.cc:21163 #, gcc-internal-format msgid "previous definition here" msgstr "папярэдняе вызначэньне" ! #: cp/decl.cc:16519 #, gcc-internal-format msgid "underlying type mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16529 #, gcc-internal-format msgid "different underlying type in enum %q#T" msgstr "" ! #: cp/decl.cc:16540 #, gcc-internal-format msgid "cannot define %qD in different module" msgstr "" ! #: cp/decl.cc:16615 #, gcc-internal-format msgid "underlying type %qT of %qT must be an integral type" msgstr "" *************** msgstr "" *** 55975,56057 **** #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. ! #: cp/decl.cc:16755 #, gcc-internal-format msgid "no integral type can represent all of the enumerator values for %qT" msgstr "" ! #: cp/decl.cc:16930 #, gcc-internal-format msgid "enumerator value for %qD must have integral or unscoped enumeration type" msgstr "" ! #: cp/decl.cc:16940 #, fuzzy, gcc-internal-format msgid "enumerator value for %qD is not an integer constant" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/decl.cc:16989 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:16990 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:17001 #, gcc-internal-format msgid "overflow in enumeration values at %qD" msgstr "" ! #: cp/decl.cc:17021 #, gcc-internal-format msgid "enumerator value %qE is outside the range of underlying type %qT" msgstr "" ! #: cp/decl.cc:17120 cp/parser.cc:21161 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "multiple definition of %q#T" msgstr "папярэдняе вызначэньне `%#T'" ! #: cp/decl.cc:17194 #, fuzzy, gcc-internal-format msgid "return type %q#T is incomplete" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: cp/decl.cc:17354 cp/typeck.cc:11114 #, gcc-internal-format msgid "% should return a reference to %<*this%>" msgstr "" ! #: cp/decl.cc:18167 #, gcc-internal-format msgid "no return statements in function returning %qT" msgstr "" ! #: cp/decl.cc:18169 cp/typeck.cc:10994 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" ! #: cp/decl.cc:18231 #, gcc-internal-format msgid "no return statement in % function returning non-void" msgstr "" ! #: cp/decl.cc:18424 #, fuzzy, gcc-internal-format msgid "%qD is already defined in class %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl.cc:18812 #, gcc-internal-format msgid "using %qs" msgstr "" ! #: cp/decl.cc:18824 #, gcc-internal-format msgid "use of %qD before deduction of %" msgstr "" --- 56000,56082 ---- #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. ! #: cp/decl.cc:16764 #, gcc-internal-format msgid "no integral type can represent all of the enumerator values for %qT" msgstr "" ! #: cp/decl.cc:16939 #, gcc-internal-format msgid "enumerator value for %qD must have integral or unscoped enumeration type" msgstr "" ! #: cp/decl.cc:16949 #, fuzzy, gcc-internal-format msgid "enumerator value for %qD is not an integer constant" msgstr "памер масіва \"%s\" адмоўны" ! #: cp/decl.cc:16998 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:16999 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:17010 #, gcc-internal-format msgid "overflow in enumeration values at %qD" msgstr "" ! #: cp/decl.cc:17030 #, gcc-internal-format msgid "enumerator value %qE is outside the range of underlying type %qT" msgstr "" ! #: cp/decl.cc:17129 cp/parser.cc:21161 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "multiple definition of %q#T" msgstr "папярэдняе вызначэньне `%#T'" ! #: cp/decl.cc:17203 #, fuzzy, gcc-internal-format msgid "return type %q#T is incomplete" msgstr "вяртаемы тып \"%s\" не \"int\"" ! #: cp/decl.cc:17363 cp/typeck.cc:11114 #, gcc-internal-format msgid "% should return a reference to %<*this%>" msgstr "" ! #: cp/decl.cc:18176 #, gcc-internal-format msgid "no return statements in function returning %qT" msgstr "" ! #: cp/decl.cc:18178 cp/typeck.cc:10994 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" ! #: cp/decl.cc:18240 #, gcc-internal-format msgid "no return statement in % function returning non-void" msgstr "" ! #: cp/decl.cc:18433 #, fuzzy, gcc-internal-format msgid "%qD is already defined in class %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl.cc:18821 #, gcc-internal-format msgid "using %qs" msgstr "" ! #: cp/decl.cc:18833 #, gcc-internal-format msgid "use of %qD before deduction of %" msgstr "" *************** msgstr "" *** 56121,56268 **** msgid "destructor %qD declared as member template" msgstr "" ! #: cp/decl2.cc:872 #, fuzzy, gcc-internal-format msgid "no declaration matches %q#D" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/decl2.cc:877 #, gcc-internal-format msgid "no conversion operators declared" msgstr "" ! #: cp/decl2.cc:880 #, fuzzy, gcc-internal-format #| msgid "In function `%s':" msgid "no functions named %qD" msgstr "у функцыі \"%s\":" ! #: cp/decl2.cc:882 #, gcc-internal-format msgid "%#qT defined here" msgstr "" ! #: cp/decl2.cc:942 #, gcc-internal-format msgid "local class %q#T shall not have static data member %q#D" msgstr "" ! #: cp/decl2.cc:951 #, gcc-internal-format msgid "static data member %qD in unnamed class" msgstr "" ! #: cp/decl2.cc:953 #, gcc-internal-format msgid "unnamed class defined here" msgstr "" ! #: cp/decl2.cc:1034 #, fuzzy, gcc-internal-format msgid "explicit template argument list not allowed" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/decl2.cc:1076 #, fuzzy, gcc-internal-format msgid "%qD is already defined in %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl2.cc:1105 cp/decl2.cc:1113 #, fuzzy, gcc-internal-format msgid "invalid initializer for member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1122 #, fuzzy, gcc-internal-format msgid "initializer specified for friend function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1125 #, fuzzy, gcc-internal-format msgid "initializer specified for static member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1173 #, gcc-internal-format msgid "% specifiers are not permitted on non-static data members" msgstr "" ! #: cp/decl2.cc:1230 #, fuzzy, gcc-internal-format msgid "bit-field %qD with non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: cp/decl2.cc:1238 #, fuzzy, gcc-internal-format msgid "cannot declare %qD to be a bit-field type" msgstr "не магу атрымаць адрас бітавага поля \"%s\"" ! #: cp/decl2.cc:1249 #, fuzzy, gcc-internal-format msgid "cannot declare bit-field %qD with function type" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1255 #, gcc-internal-format msgid "cannot declare bit-field %qD with % type" msgstr "" ! #: cp/decl2.cc:1262 #, fuzzy, gcc-internal-format msgid "%qD is already defined in the class %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl2.cc:1270 #, fuzzy, gcc-internal-format msgid "static member %qD cannot be a bit-field" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/decl2.cc:1284 #, fuzzy, gcc-internal-format msgid "width of bit-field %qD has non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: cp/decl2.cc:1682 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.cc:1744 cp/name-lookup.cc:8336 #, gcc-internal-format msgid "% not allowed to be specified in this context" msgstr "" ! #: cp/decl2.cc:1813 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "" ! #: cp/decl2.cc:1829 #, gcc-internal-format msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "" ! #: cp/decl2.cc:1836 #, gcc-internal-format msgid "private member %q#D in anonymous union" msgstr "" ! #: cp/decl2.cc:1839 #, gcc-internal-format msgid "protected member %q#D in anonymous union" msgstr "" ! #: cp/decl2.cc:1904 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "" ! #: cp/decl2.cc:1913 #, gcc-internal-format msgid "anonymous union with no members" msgstr "" ! #: cp/decl2.cc:1950 #, gcc-internal-format msgid "% must return type %qT" msgstr "" --- 56146,56293 ---- msgid "destructor %qD declared as member template" msgstr "" ! #: cp/decl2.cc:877 #, fuzzy, gcc-internal-format msgid "no declaration matches %q#D" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/decl2.cc:882 #, gcc-internal-format msgid "no conversion operators declared" msgstr "" ! #: cp/decl2.cc:885 #, fuzzy, gcc-internal-format #| msgid "In function `%s':" msgid "no functions named %qD" msgstr "у функцыі \"%s\":" ! #: cp/decl2.cc:887 #, gcc-internal-format msgid "%#qT defined here" msgstr "" ! #: cp/decl2.cc:947 #, gcc-internal-format msgid "local class %q#T shall not have static data member %q#D" msgstr "" ! #: cp/decl2.cc:956 #, gcc-internal-format msgid "static data member %qD in unnamed class" msgstr "" ! #: cp/decl2.cc:958 #, gcc-internal-format msgid "unnamed class defined here" msgstr "" ! #: cp/decl2.cc:1039 #, fuzzy, gcc-internal-format msgid "explicit template argument list not allowed" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/decl2.cc:1081 #, fuzzy, gcc-internal-format msgid "%qD is already defined in %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl2.cc:1110 cp/decl2.cc:1118 #, fuzzy, gcc-internal-format msgid "invalid initializer for member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1127 #, fuzzy, gcc-internal-format msgid "initializer specified for friend function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1130 #, fuzzy, gcc-internal-format msgid "initializer specified for static member function %qD" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1178 #, gcc-internal-format msgid "% specifiers are not permitted on non-static data members" msgstr "" ! #: cp/decl2.cc:1235 #, fuzzy, gcc-internal-format msgid "bit-field %qD with non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: cp/decl2.cc:1243 #, fuzzy, gcc-internal-format msgid "cannot declare %qD to be a bit-field type" msgstr "не магу атрымаць адрас бітавага поля \"%s\"" ! #: cp/decl2.cc:1254 #, fuzzy, gcc-internal-format msgid "cannot declare bit-field %qD with function type" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/decl2.cc:1260 #, gcc-internal-format msgid "cannot declare bit-field %qD with % type" msgstr "" ! #: cp/decl2.cc:1267 #, fuzzy, gcc-internal-format msgid "%qD is already defined in the class %qT" msgstr "не знойдзен клас \"%s\"" ! #: cp/decl2.cc:1275 #, fuzzy, gcc-internal-format msgid "static member %qD cannot be a bit-field" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/decl2.cc:1289 #, fuzzy, gcc-internal-format msgid "width of bit-field %qD has non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерэчаісны тып" ! #: cp/decl2.cc:1687 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.cc:1749 cp/name-lookup.cc:8373 #, gcc-internal-format msgid "% not allowed to be specified in this context" msgstr "" ! #: cp/decl2.cc:1818 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "" ! #: cp/decl2.cc:1834 #, gcc-internal-format msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "" ! #: cp/decl2.cc:1841 #, gcc-internal-format msgid "private member %q#D in anonymous union" msgstr "" ! #: cp/decl2.cc:1844 #, gcc-internal-format msgid "protected member %q#D in anonymous union" msgstr "" ! #: cp/decl2.cc:1909 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "" ! #: cp/decl2.cc:1918 #, gcc-internal-format msgid "anonymous union with no members" msgstr "" ! #: cp/decl2.cc:1955 #, gcc-internal-format msgid "% must return type %qT" msgstr "" *************** msgstr "" *** 56271,56364 **** #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.cc:1962 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.cc:1978 #, gcc-internal-format msgid "% takes type % (%qT) as first parameter" msgstr "" ! #: cp/decl2.cc:2008 #, gcc-internal-format msgid "% must return type %qT" msgstr "" ! #: cp/decl2.cc:2023 #, gcc-internal-format msgid "destroying % must be a member function" msgstr "" ! #: cp/decl2.cc:2026 #, gcc-internal-format msgid "% cannot be a destroying delete" msgstr "" ! #: cp/decl2.cc:2028 #, gcc-internal-format msgid "destroying % must be a usual deallocation function" msgstr "" ! #: cp/decl2.cc:2038 #, gcc-internal-format msgid "% takes type %qT as first parameter" msgstr "" ! #: cp/decl2.cc:3029 #, gcc-internal-format msgid "%qT has a field %q#D whose type has no linkage" msgstr "" ! #: cp/decl2.cc:3033 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3039 #, gcc-internal-format msgid "%qT has a field %q#D whose type has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3043 #, gcc-internal-format msgid "%qT has a field %q#D whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3051 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.cc:3070 #, gcc-internal-format msgid "%qT has a base %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3074 #, gcc-internal-format msgid "%qT has a base %qT which depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3080 #, gcc-internal-format msgid "%qT has a base %qT which has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3084 #, gcc-internal-format msgid "%qT has a base %qT which uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3091 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.cc:4566 #, gcc-internal-format msgid "%q#D, declared using unnamed type, is used but never defined" msgstr "" --- 56296,56389 ---- #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.cc:1967 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.cc:1983 #, gcc-internal-format msgid "% takes type % (%qT) as first parameter" msgstr "" ! #: cp/decl2.cc:2013 #, gcc-internal-format msgid "% must return type %qT" msgstr "" ! #: cp/decl2.cc:2028 #, gcc-internal-format msgid "destroying % must be a member function" msgstr "" ! #: cp/decl2.cc:2031 #, gcc-internal-format msgid "% cannot be a destroying delete" msgstr "" ! #: cp/decl2.cc:2033 #, gcc-internal-format msgid "destroying % must be a usual deallocation function" msgstr "" ! #: cp/decl2.cc:2043 #, gcc-internal-format msgid "% takes type %qT as first parameter" msgstr "" ! #: cp/decl2.cc:3034 #, gcc-internal-format msgid "%qT has a field %q#D whose type has no linkage" msgstr "" ! #: cp/decl2.cc:3038 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3044 #, gcc-internal-format msgid "%qT has a field %q#D whose type has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3048 #, gcc-internal-format msgid "%qT has a field %q#D whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3056 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.cc:3075 #, gcc-internal-format msgid "%qT has a base %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3079 #, gcc-internal-format msgid "%qT has a base %qT which depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3085 #, gcc-internal-format msgid "%qT has a base %qT which has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3089 #, gcc-internal-format msgid "%qT has a base %qT which uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3096 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.cc:4571 #, gcc-internal-format msgid "%q#D, declared using unnamed type, is used but never defined" msgstr "" *************** msgstr "" *** 56367,56468 **** #. 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.cc:4575 #, gcc-internal-format msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4579 #, gcc-internal-format msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4583 #, gcc-internal-format msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "" ! #: cp/decl2.cc:4591 #, gcc-internal-format msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "" ! #: cp/decl2.cc:4595 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4598 #, fuzzy, gcc-internal-format msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/decl2.cc:4795 #, fuzzy, gcc-internal-format #| msgid "section of `%s' conflicts with previous declaration" msgid "mangling of %q#D as %qE conflicts with a previous mangle" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: cp/decl2.cc:4798 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous mangling %q#D" msgstr "папярэдняе абвяшчэньне `%D'" ! #: cp/decl2.cc:4800 #, gcc-internal-format msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/decl2.cc:4872 cp/decl2.cc:4875 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.cc:5209 #, fuzzy, gcc-internal-format #| msgid "label `%D' used but not defined" msgid "inline function %qD used but never defined" msgstr "адмеціна `%D' выкарыстоўвываецца, але ня вызначана" ! #: cp/decl2.cc:5436 #, fuzzy, gcc-internal-format msgid "default argument missing for parameter %P of %q#D" msgstr "аргумент для \"%s\" прапушчан" ! #: cp/decl2.cc:5441 #, gcc-internal-format msgid "...following parameter %P which has a default argument" msgstr "" ! #: cp/decl2.cc:5565 #, fuzzy, gcc-internal-format msgid "implicitly-declared %qD is deprecated" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl2.cc:5569 #, gcc-internal-format msgid "because %qT has user-provided %qD" msgstr "" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.cc:5710 #, gcc-internal-format msgid "converting lambda that uses %<...%> to function pointer" msgstr "" ! #: cp/decl2.cc:5713 #, gcc-internal-format msgid "use of deleted function %qD" msgstr "" ! #: cp/decl2.cc:5767 #, gcc-internal-format msgid "use of function %qD with unsatisfied constraints" msgstr "" ! #: cp/decl2.cc:5797 #, gcc-internal-format msgid "use of built-in parameter pack %qD outside of a template" msgstr "" --- 56392,56493 ---- #. 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.cc:4580 #, gcc-internal-format msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4584 #, gcc-internal-format msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4588 #, gcc-internal-format msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "" ! #: cp/decl2.cc:4596 #, gcc-internal-format msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "" ! #: cp/decl2.cc:4600 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4603 #, fuzzy, gcc-internal-format msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/decl2.cc:4800 #, fuzzy, gcc-internal-format #| msgid "section of `%s' conflicts with previous declaration" msgid "mangling of %q#D as %qE conflicts with a previous mangle" msgstr "секцыя \"%s\" канфліктуе з папярэдняй дэкларацыяй" ! #: cp/decl2.cc:4803 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous mangling %q#D" msgstr "папярэдняе абвяшчэньне `%D'" ! #: cp/decl2.cc:4805 #, gcc-internal-format msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/decl2.cc:4877 cp/decl2.cc:4880 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.cc:5214 #, fuzzy, gcc-internal-format #| msgid "label `%D' used but not defined" msgid "inline function %qD used but never defined" msgstr "адмеціна `%D' выкарыстоўвываецца, але ня вызначана" ! #: cp/decl2.cc:5441 #, fuzzy, gcc-internal-format msgid "default argument missing for parameter %P of %q#D" msgstr "аргумент для \"%s\" прапушчан" ! #: cp/decl2.cc:5446 #, gcc-internal-format msgid "...following parameter %P which has a default argument" msgstr "" ! #: cp/decl2.cc:5570 #, fuzzy, gcc-internal-format msgid "implicitly-declared %qD is deprecated" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/decl2.cc:5574 #, gcc-internal-format msgid "because %qT has user-provided %qD" msgstr "" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.cc:5715 #, gcc-internal-format msgid "converting lambda that uses %<...%> to function pointer" msgstr "" ! #: cp/decl2.cc:5718 #, gcc-internal-format msgid "use of deleted function %qD" msgstr "" ! #: cp/decl2.cc:5772 #, gcc-internal-format msgid "use of function %qD with unsatisfied constraints" msgstr "" ! #: cp/decl2.cc:5802 #, gcc-internal-format msgid "use of built-in parameter pack %qD outside of a template" msgstr "" *************** msgstr "не знойдзен клас \ *** 56724,57138 **** msgid "friend declaration %qD may not have virt-specifiers" msgstr "" ! #: cp/friend.cc:599 #, gcc-internal-format msgid "member %qD declared as friend before type %qT defined" msgstr "" ! #: cp/friend.cc:647 #, gcc-internal-format msgid "friend declaration %q#D declares a non-template function" msgstr "" ! #: cp/friend.cc:651 #, gcc-internal-format msgid "(if this is not what you intended, make sure the function template has already been declared and add %<<>%> after the function name here)" msgstr "" ! #: cp/init.cc:391 #, fuzzy, gcc-internal-format msgid "value-initialization of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/init.cc:474 #, gcc-internal-format msgid "cannot value-initialize array of unknown bound %qT" msgstr "" ! #: cp/init.cc:513 #, fuzzy, gcc-internal-format msgid "value-initialization of function type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/init.cc:519 #, gcc-internal-format msgid "value-initialization of reference type %qT" msgstr "" ! #: cp/init.cc:586 #, gcc-internal-format msgid "recursive instantiation of default member initializer for %qD" msgstr "" ! #: cp/init.cc:675 #, gcc-internal-format msgid "default member initializer for %qD required before the end of its enclosing class" msgstr "" ! #: cp/init.cc:745 #, fuzzy, gcc-internal-format msgid "initializer for flexible array member %q#D" msgstr "прапушчан ініцыялізатар" ! #: cp/init.cc:810 #, gcc-internal-format msgid "initializing %qD from %qE does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:914 cp/init.cc:995 #, fuzzy, gcc-internal-format msgid "%qD is initialized with itself" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:920 #, gcc-internal-format msgid "reference %qD is not yet bound to a value when used here" msgstr "" ! #: cp/init.cc:924 #, fuzzy, gcc-internal-format msgid "member %qD is used uninitialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:972 #, fuzzy, gcc-internal-format msgid "%qD should be initialized in the member initialization list" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1116 #, fuzzy, gcc-internal-format msgid "invalid initializer for array member %q#D" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1131 cp/init.cc:1157 cp/init.cc:2752 cp/method.cc:2450 #, fuzzy, gcc-internal-format msgid "uninitialized const member in %q#T" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/init.cc:1133 cp/init.cc:1151 cp/init.cc:1159 cp/init.cc:2737 ! #: cp/init.cc:2765 cp/method.cc:2453 cp/method.cc:2464 #, fuzzy, gcc-internal-format msgid "%q#D should be initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:1149 cp/init.cc:2724 cp/method.cc:2461 #, fuzzy, gcc-internal-format msgid "uninitialized reference member in %q#T" msgstr "прапушчан ініцыялізатар" ! #: cp/init.cc:1334 #, gcc-internal-format msgid "%qD will be initialized after" msgstr "" ! #: cp/init.cc:1337 #, fuzzy, gcc-internal-format msgid "base %qT will be initialized after" msgstr "Клас \"%s\" ужо існуе" ! #: cp/init.cc:1341 #, gcc-internal-format msgid " %q#D" msgstr "" ! #: cp/init.cc:1343 #, gcc-internal-format msgid " base %qT" msgstr "" ! #: cp/init.cc:1345 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid " when initialized here" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1362 #, fuzzy, gcc-internal-format msgid "multiple initializations given for %qD" msgstr "ініцыялізацыя" ! #: cp/init.cc:1366 #, gcc-internal-format msgid "multiple initializations given for base %qT" msgstr "" ! #: cp/init.cc:1453 #, gcc-internal-format msgid "initializations for multiple members of %qT" msgstr "" ! #: cp/init.cc:1562 #, gcc-internal-format msgid "base class %q#T should be explicitly initialized in the copy constructor" msgstr "" ! #: cp/init.cc:1798 cp/init.cc:1817 #, gcc-internal-format msgid "class %qT does not have any field named %qD" msgstr "" ! #: cp/init.cc:1804 #, gcc-internal-format msgid "%q#D is a static data member; it can only be initialized at its definition" msgstr "" ! #: cp/init.cc:1811 #, gcc-internal-format msgid "%q#D is not a non-static data member of %qT" msgstr "" ! #: cp/init.cc:1850 #, gcc-internal-format msgid "unnamed initializer for %qT, which has no base classes" msgstr "" ! #: cp/init.cc:1858 #, gcc-internal-format msgid "unnamed initializer for %qT, which uses multiple inheritance" msgstr "" ! #: cp/init.cc:1905 #, gcc-internal-format msgid "%qD is both a direct base and an indirect virtual base" msgstr "" ! #: cp/init.cc:1913 #, gcc-internal-format msgid "type %qT is not a direct or virtual base of %qT" msgstr "" ! #: cp/init.cc:1916 #, gcc-internal-format msgid "type %qT is not a direct base of %qT" msgstr "" ! #: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 #, gcc-internal-format msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.cc:2349 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 #, fuzzy, gcc-internal-format msgid "%qT is not a class type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/init.cc:2407 #, gcc-internal-format msgid "incomplete type %qT does not have member %qD" msgstr "" ! #: cp/init.cc:2421 #, fuzzy, gcc-internal-format msgid "invalid pointer to bit-field %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2507 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 #, fuzzy, gcc-internal-format msgid "invalid use of non-static member function %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2514 cp/semantics.cc:2191 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2721 #, gcc-internal-format msgid "uninitialized reference member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2729 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2733 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T" msgstr "" ! #: cp/init.cc:2749 #, gcc-internal-format msgid "uninitialized const member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2757 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2761 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T" msgstr "" ! #: cp/init.cc:2876 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2879 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2889 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2892 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2901 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2904 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2921 #, gcc-internal-format msgid "at offset %wi from %qD declared here" msgstr "" ! #: cp/init.cc:2925 #, gcc-internal-format msgid "at offset [%wi, %wi] from %qD declared here" msgstr "" ! #: cp/init.cc:3123 #, gcc-internal-format msgid "integer overflow in array size" msgstr "" ! #: cp/init.cc:3133 #, gcc-internal-format msgid "array size in new-expression must be constant" msgstr "" ! #: cp/init.cc:3151 #, gcc-internal-format msgid "variably modified type not allowed in new-expression" msgstr "" ! #: cp/init.cc:3167 #, gcc-internal-format msgid "non-constant array new length must be specified directly, not by %" msgstr "" ! #: cp/init.cc:3169 #, gcc-internal-format msgid "non-constant array new length must be specified without parentheses around the type-id" msgstr "" ! #: cp/init.cc:3179 #, gcc-internal-format msgid "invalid type % for %" msgstr "" ! #: cp/init.cc:3185 #, gcc-internal-format msgid "% of % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:3227 #, fuzzy, gcc-internal-format msgid "uninitialized const in % of %q#T" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/init.cc:3383 #, fuzzy, gcc-internal-format #| msgid "field '%s' not found in class" msgid "no suitable %qD found in class %qT" msgstr "поле \"%s\" не знойдзена ў класе" ! #: cp/init.cc:3390 cp/search.cc:1200 #, fuzzy, gcc-internal-format msgid "request for member %qD is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/init.cc:3471 #, gcc-internal-format msgid "% of type %qT with extended alignment %d" msgstr "" ! #: cp/init.cc:3474 #, gcc-internal-format msgid "uses %qD, which does not have an alignment parameter" msgstr "" ! #: cp/init.cc:3477 #, gcc-internal-format msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" msgstr "" ! #: cp/init.cc:3673 #, gcc-internal-format msgid "parenthesized initializer in array new" msgstr "" ! #: cp/init.cc:3949 #, gcc-internal-format msgid "size in array new must have integral type" msgstr "" ! #: cp/init.cc:3978 #, gcc-internal-format msgid "new cannot be applied to a reference type" msgstr "" ! #: cp/init.cc:3987 #, gcc-internal-format msgid "new cannot be applied to a function type" msgstr "" ! #: cp/init.cc:4107 #, gcc-internal-format msgid "possible problem detected in invocation of operator %" msgstr "" ! #: cp/init.cc:4111 #, gcc-internal-format msgid "neither the destructor nor the class-specific operator % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:4820 #, gcc-internal-format msgid "initializer ends prematurely" msgstr "" ! #: cp/init.cc:5116 #, gcc-internal-format msgid "unknown array size in delete" msgstr "" ! #: cp/init.cc:5150 #, gcc-internal-format msgid "possible problem detected in invocation of %" msgstr "" ! #: cp/init.cc:5155 #, gcc-internal-format msgid "neither the destructor nor the class-specific % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:5170 #, gcc-internal-format msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior" msgstr "" ! #: cp/init.cc:5175 #, gcc-internal-format msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" msgstr "" ! #: cp/init.cc:5482 #, gcc-internal-format msgid "type to vector delete is neither pointer or array type" msgstr "" --- 56749,57163 ---- msgid "friend declaration %qD may not have virt-specifiers" msgstr "" ! #: cp/friend.cc:607 #, gcc-internal-format msgid "member %qD declared as friend before type %qT defined" msgstr "" ! #: cp/friend.cc:657 #, gcc-internal-format msgid "friend declaration %q#D declares a non-template function" msgstr "" ! #: cp/friend.cc:661 #, gcc-internal-format msgid "(if this is not what you intended, make sure the function template has already been declared and add %<<>%> after the function name here)" msgstr "" ! #: cp/init.cc:398 #, fuzzy, gcc-internal-format msgid "value-initialization of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/init.cc:481 #, gcc-internal-format msgid "cannot value-initialize array of unknown bound %qT" msgstr "" ! #: cp/init.cc:520 #, fuzzy, gcc-internal-format msgid "value-initialization of function type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/init.cc:526 #, gcc-internal-format msgid "value-initialization of reference type %qT" msgstr "" ! #: cp/init.cc:597 #, gcc-internal-format msgid "recursive instantiation of default member initializer for %qD" msgstr "" ! #: cp/init.cc:665 #, gcc-internal-format msgid "default member initializer for %qD required before the end of its enclosing class" msgstr "" ! #: cp/init.cc:735 #, fuzzy, gcc-internal-format msgid "initializer for flexible array member %q#D" msgstr "прапушчан ініцыялізатар" ! #: cp/init.cc:800 #, gcc-internal-format msgid "initializing %qD from %qE does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:904 cp/init.cc:985 #, fuzzy, gcc-internal-format msgid "%qD is initialized with itself" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:910 #, gcc-internal-format msgid "reference %qD is not yet bound to a value when used here" msgstr "" ! #: cp/init.cc:914 #, fuzzy, gcc-internal-format msgid "member %qD is used uninitialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:962 #, fuzzy, gcc-internal-format msgid "%qD should be initialized in the member initialization list" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1106 #, fuzzy, gcc-internal-format msgid "invalid initializer for array member %q#D" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1121 cp/init.cc:1147 cp/init.cc:2742 cp/method.cc:2450 #, fuzzy, gcc-internal-format msgid "uninitialized const member in %q#T" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/init.cc:1123 cp/init.cc:1141 cp/init.cc:1149 cp/init.cc:2727 ! #: cp/init.cc:2755 cp/method.cc:2453 cp/method.cc:2464 #, fuzzy, gcc-internal-format msgid "%q#D should be initialized" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/init.cc:1139 cp/init.cc:2714 cp/method.cc:2461 #, fuzzy, gcc-internal-format msgid "uninitialized reference member in %q#T" msgstr "прапушчан ініцыялізатар" ! #: cp/init.cc:1324 #, gcc-internal-format msgid "%qD will be initialized after" msgstr "" ! #: cp/init.cc:1327 #, fuzzy, gcc-internal-format msgid "base %qT will be initialized after" msgstr "Клас \"%s\" ужо існуе" ! #: cp/init.cc:1331 #, gcc-internal-format msgid " %q#D" msgstr "" ! #: cp/init.cc:1333 #, gcc-internal-format msgid " base %qT" msgstr "" ! #: cp/init.cc:1335 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid " when initialized here" msgstr "нерэчаісны ініцыялізатар" ! #: cp/init.cc:1352 #, fuzzy, gcc-internal-format msgid "multiple initializations given for %qD" msgstr "ініцыялізацыя" ! #: cp/init.cc:1356 #, gcc-internal-format msgid "multiple initializations given for base %qT" msgstr "" ! #: cp/init.cc:1443 #, gcc-internal-format msgid "initializations for multiple members of %qT" msgstr "" ! #: cp/init.cc:1552 #, gcc-internal-format msgid "base class %q#T should be explicitly initialized in the copy constructor" msgstr "" ! #: cp/init.cc:1788 cp/init.cc:1807 #, gcc-internal-format msgid "class %qT does not have any field named %qD" msgstr "" ! #: cp/init.cc:1794 #, gcc-internal-format msgid "%q#D is a static data member; it can only be initialized at its definition" msgstr "" ! #: cp/init.cc:1801 #, gcc-internal-format msgid "%q#D is not a non-static data member of %qT" msgstr "" ! #: cp/init.cc:1840 #, gcc-internal-format msgid "unnamed initializer for %qT, which has no base classes" msgstr "" ! #: cp/init.cc:1848 #, gcc-internal-format msgid "unnamed initializer for %qT, which uses multiple inheritance" msgstr "" ! #: cp/init.cc:1895 #, gcc-internal-format msgid "%qD is both a direct base and an indirect virtual base" msgstr "" ! #: cp/init.cc:1903 #, gcc-internal-format msgid "type %qT is not a direct or virtual base of %qT" msgstr "" ! #: cp/init.cc:1906 #, gcc-internal-format msgid "type %qT is not a direct base of %qT" msgstr "" ! #: cp/init.cc:2018 cp/init.cc:4906 cp/typeck2.cc:1375 #, gcc-internal-format msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.cc:2339 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 #, fuzzy, gcc-internal-format msgid "%qT is not a class type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/init.cc:2397 #, gcc-internal-format msgid "incomplete type %qT does not have member %qD" msgstr "" ! #: cp/init.cc:2411 #, fuzzy, gcc-internal-format msgid "invalid pointer to bit-field %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2497 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 #, fuzzy, gcc-internal-format msgid "invalid use of non-static member function %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2504 cp/semantics.cc:2191 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/init.cc:2711 #, gcc-internal-format msgid "uninitialized reference member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2719 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2723 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T" msgstr "" ! #: cp/init.cc:2739 #, gcc-internal-format msgid "uninitialized const member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2747 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2751 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T" msgstr "" ! #: cp/init.cc:2866 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2869 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2879 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2882 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2891 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2894 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2911 #, gcc-internal-format msgid "at offset %wi from %qD declared here" msgstr "" ! #: cp/init.cc:2915 #, gcc-internal-format msgid "at offset [%wi, %wi] from %qD declared here" msgstr "" ! #: cp/init.cc:3113 #, gcc-internal-format msgid "integer overflow in array size" msgstr "" ! #: cp/init.cc:3123 #, gcc-internal-format msgid "array size in new-expression must be constant" msgstr "" ! #: cp/init.cc:3141 #, gcc-internal-format msgid "variably modified type not allowed in new-expression" msgstr "" ! #: cp/init.cc:3157 #, gcc-internal-format msgid "non-constant array new length must be specified directly, not by %" msgstr "" ! #: cp/init.cc:3159 #, gcc-internal-format msgid "non-constant array new length must be specified without parentheses around the type-id" msgstr "" ! #: cp/init.cc:3169 #, gcc-internal-format msgid "invalid type % for %" msgstr "" ! #: cp/init.cc:3175 #, gcc-internal-format msgid "% of % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:3217 #, fuzzy, gcc-internal-format msgid "uninitialized const in % of %q#T" msgstr "не магу ініцыялізаваць сяброўскую функцыю \"%s\"" ! #: cp/init.cc:3373 #, fuzzy, gcc-internal-format #| msgid "field '%s' not found in class" msgid "no suitable %qD found in class %qT" msgstr "поле \"%s\" не знойдзена ў класе" ! #: cp/init.cc:3380 cp/search.cc:1200 #, fuzzy, gcc-internal-format msgid "request for member %qD is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/init.cc:3461 #, gcc-internal-format msgid "% of type %qT with extended alignment %d" msgstr "" ! #: cp/init.cc:3464 #, gcc-internal-format msgid "uses %qD, which does not have an alignment parameter" msgstr "" ! #: cp/init.cc:3467 #, gcc-internal-format msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" msgstr "" ! #: cp/init.cc:3663 #, gcc-internal-format msgid "parenthesized initializer in array new" msgstr "" ! #: cp/init.cc:3939 #, gcc-internal-format msgid "size in array new must have integral type" msgstr "" ! #: cp/init.cc:3968 #, gcc-internal-format msgid "new cannot be applied to a reference type" msgstr "" ! #: cp/init.cc:3977 #, gcc-internal-format msgid "new cannot be applied to a function type" msgstr "" ! #: cp/init.cc:4097 #, gcc-internal-format msgid "possible problem detected in invocation of operator %" msgstr "" ! #: cp/init.cc:4101 #, gcc-internal-format msgid "neither the destructor nor the class-specific operator % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:4810 #, gcc-internal-format msgid "initializer ends prematurely" msgstr "" ! #: cp/init.cc:5106 #, gcc-internal-format msgid "unknown array size in delete" msgstr "" ! #: cp/init.cc:5140 #, gcc-internal-format msgid "possible problem detected in invocation of %" msgstr "" ! #: cp/init.cc:5145 #, gcc-internal-format msgid "neither the destructor nor the class-specific % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:5160 #, gcc-internal-format msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior" msgstr "" ! #: cp/init.cc:5165 #, gcc-internal-format msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" msgstr "" ! #: cp/init.cc:5472 #, gcc-internal-format msgid "type to vector delete is neither pointer or array type" msgstr "" *************** msgstr "" *** 57248,57294 **** msgid "use of built-in trait %qT in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3560 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3565 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.cc:3641 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.cc:4209 #, 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.cc:4255 #, gcc-internal-format msgid "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "" ! #: cp/mangle.cc:4261 #, gcc-internal-format msgid "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "" ! #: cp/mangle.cc:4533 #, gcc-internal-format msgid "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" ! #: cp/mangle.cc:4538 #, gcc-internal-format msgid "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" ! #: cp/mangle.cc:4543 #, gcc-internal-format msgid "the mangled name of the initialization guard variable for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" --- 57273,57319 ---- msgid "use of built-in trait %qT in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3561 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3566 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.cc:3642 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.cc:4210 #, 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.cc:4256 #, gcc-internal-format msgid "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "" ! #: cp/mangle.cc:4262 #, gcc-internal-format msgid "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "" ! #: cp/mangle.cc:4534 #, gcc-internal-format msgid "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" ! #: cp/mangle.cc:4539 #, gcc-internal-format msgid "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" ! #: cp/mangle.cc:4544 #, gcc-internal-format msgid "the mangled name of the initialization guard variable for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "" *************** msgstr "" *** 57965,57971 **** msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/name-lookup.cc:5596 cp/pt.cc:18911 #, gcc-internal-format msgid "%qT is not a class, namespace, or enumeration" msgstr "" --- 57990,57996 ---- msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/name-lookup.cc:5596 cp/pt.cc:18928 #, gcc-internal-format msgid "%qT is not a class, namespace, or enumeration" msgstr "" *************** msgstr "" *** 58052,58058 **** msgid "ignoring %qD attribute on non-inline namespace" msgstr "" ! #: cp/name-lookup.cc:6065 cp/name-lookup.cc:8341 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qD attribute directive ignored" --- 58077,58083 ---- msgid "ignoring %qD attribute on non-inline namespace" msgstr "" ! #: cp/name-lookup.cc:6065 cp/name-lookup.cc:8378 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qD attribute directive ignored" *************** msgstr "" *** 58100,58158 **** msgid "declaration of % does not match %<#include %>, isn%'t a template" msgstr "" ! #: cp/name-lookup.cc:8325 #, gcc-internal-format msgid "% using directive no longer supported" msgstr "" ! #: cp/name-lookup.cc:8328 #, gcc-internal-format msgid "you can use an inline namespace instead" msgstr "" #. We only allow depth 255. ! #: cp/name-lookup.cc:8427 #, gcc-internal-format, gfc-internal-format msgid "cannot nest more than %d namespaces" msgstr "" ! #: cp/name-lookup.cc:8524 #, fuzzy, gcc-internal-format msgid "% is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/name-lookup.cc:8540 #, fuzzy, gcc-internal-format msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: cp/name-lookup.cc:8627 #, gcc-internal-format msgid "inline namespace must be specified at initial definition" msgstr "" ! #: cp/name-lookup.cc:8628 #, fuzzy, gcc-internal-format msgid "%qD defined here" msgstr "YYDEBUG не вызначан." ! #: cp/name-lookup.cc:8677 #, gcc-internal-format msgid "%s namespace %qD conflicts with reachable definition" msgstr "" ! #: cp/name-lookup.cc:8679 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "previous definition here" msgid "reachable %s definition here" msgstr "папярэдняе вызначэньне" ! #: cp/name-lookup.cc:8722 #, gcc-internal-format msgid "XXX entering %" msgstr "" ! #: cp/name-lookup.cc:8731 #, gcc-internal-format msgid "XXX leaving %" msgstr "" --- 58125,58183 ---- msgid "declaration of % does not match %<#include %>, isn%'t a template" msgstr "" ! #: cp/name-lookup.cc:8362 #, gcc-internal-format msgid "% using directive no longer supported" msgstr "" ! #: cp/name-lookup.cc:8365 #, gcc-internal-format msgid "you can use an inline namespace instead" msgstr "" #. We only allow depth 255. ! #: cp/name-lookup.cc:8464 #, gcc-internal-format, gfc-internal-format msgid "cannot nest more than %d namespaces" msgstr "" ! #: cp/name-lookup.cc:8561 #, fuzzy, gcc-internal-format msgid "% is ambiguous" msgstr "памер \"%s\" - %d байт" ! #: cp/name-lookup.cc:8577 #, fuzzy, gcc-internal-format msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: cp/name-lookup.cc:8664 #, gcc-internal-format msgid "inline namespace must be specified at initial definition" msgstr "" ! #: cp/name-lookup.cc:8665 #, fuzzy, gcc-internal-format msgid "%qD defined here" msgstr "YYDEBUG не вызначан." ! #: cp/name-lookup.cc:8714 #, gcc-internal-format msgid "%s namespace %qD conflicts with reachable definition" msgstr "" ! #: cp/name-lookup.cc:8716 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "previous definition here" msgid "reachable %s definition here" msgstr "папярэдняе вызначэньне" ! #: cp/name-lookup.cc:8759 #, gcc-internal-format msgid "XXX entering %" msgstr "" ! #: cp/name-lookup.cc:8768 #, gcc-internal-format msgid "XXX leaving %" msgstr "" *************** msgstr "" *** 58177,58183 **** msgid "% is not set to true" msgstr "" ! #: cp/parser.cc:1531 cp/parser.cc:46297 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition" msgstr "" --- 58202,58208 ---- msgid "% is not set to true" msgstr "" ! #: cp/parser.cc:1531 cp/parser.cc:46296 #, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition" msgstr "" *************** msgstr "" *** 58424,58430 **** msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "" ! #: cp/parser.cc:3628 cp/parser.cc:30651 #, gcc-internal-format msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "" --- 58449,58455 ---- msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "" ! #: cp/parser.cc:3628 cp/parser.cc:30650 #, gcc-internal-format msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "" *************** msgstr "" *** 58717,58723 **** msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/parser.cc:7573 cp/pt.cc:21227 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_launder%>" --- 58742,58748 ---- msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/parser.cc:7573 cp/pt.cc:21257 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_launder%>" *************** msgstr "ISO C не дазваляе дэ *** 58771,58777 **** msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.cc:9196 cp/parser.cc:33272 #, gcc-internal-format msgid "types may not be defined in %qs expressions" msgstr "" --- 58796,58802 ---- msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.cc:9196 cp/parser.cc:33271 #, gcc-internal-format msgid "types may not be defined in %qs expressions" msgstr "" *************** msgstr "" *** 58982,58993 **** msgid "% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47103 #, gcc-internal-format msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement" msgstr "" ! #: cp/parser.cc:11930 cp/parser.cc:47085 #, gcc-internal-format msgid "unknown OpenMP directive name in % attribute argument" msgstr "" --- 59007,59018 ---- msgid "% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47102 #, gcc-internal-format msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement" msgstr "" ! #: cp/parser.cc:11930 cp/parser.cc:47084 #, gcc-internal-format msgid "unknown OpenMP directive name in % attribute argument" msgstr "" *************** msgstr "" *** 59085,59091 **** msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:13369 cp/parser.cc:33781 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" --- 59110,59116 ---- msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:13369 cp/parser.cc:33780 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" *************** msgstr "" *** 59150,59156 **** msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.cc:14247 cp/parser.cc:33784 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected iteration-statement" --- 59175,59181 ---- msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.cc:14247 cp/parser.cc:33783 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected iteration-statement" *************** msgstr "" *** 59177,59183 **** msgid "ISO C++ forbids computed gotos" msgstr "" ! #: cp/parser.cc:14463 cp/parser.cc:33787 #, gcc-internal-format msgid "expected jump-statement" msgstr "" --- 59202,59208 ---- msgid "ISO C++ forbids computed gotos" msgstr "" ! #: cp/parser.cc:14463 cp/parser.cc:33786 #, gcc-internal-format msgid "expected jump-statement" msgstr "" *************** msgstr "" *** 59440,59451 **** msgid "cannot expand initializer for member %qD" msgstr "прапушчан ініцыялізатар" ! #: cp/parser.cc:16950 cp/pt.cc:27456 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.cc:16962 cp/pt.cc:27468 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" --- 59465,59476 ---- msgid "cannot expand initializer for member %qD" msgstr "прапушчан ініцыялізатар" ! #: cp/parser.cc:16950 cp/pt.cc:27470 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.cc:16962 cp/pt.cc:27482 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" *************** msgstr "невыкарыстаемы п *** 60051,60057 **** msgid "%qT not permitted in template argument" msgstr "" ! #: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 #: rust/backend/rust-tree.cc:3861 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%T'" --- 60076,60082 ---- msgid "%qT not permitted in template argument" msgstr "" ! #: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2490 #: rust/backend/rust-tree.cc:3861 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%T'" *************** msgstr "папярэдняе вызна *** 60223,60229 **** msgid "unexpanded parameter pack in local class in lambda" msgstr "" ! #: cp/parser.cc:27087 cp/parser.cc:33790 #, gcc-internal-format msgid "expected class-key" msgstr "" --- 60248,60254 ---- msgid "unexpanded parameter pack in local class in lambda" msgstr "" ! #: cp/parser.cc:27087 cp/parser.cc:33789 #, gcc-internal-format msgid "expected class-key" msgstr "" *************** msgstr "" *** 60323,60471 **** msgid "keyword % not allowed in this context (the base class is implicitly a type)" msgstr "" ! #: cp/parser.cc:28298 cp/parser.cc:28392 #, fuzzy, gcc-internal-format msgid "types may not be defined in an exception-specification" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28400 #, fuzzy, gcc-internal-format msgid "ISO C++17 does not allow dynamic exception specifications" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28406 #, gcc-internal-format msgid "dynamic exception specifications are deprecated in C++11" msgstr "" ! #: cp/parser.cc:28450 #, fuzzy, gcc-internal-format msgid "invalid use of % in exception-specification" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28491 #, gcc-internal-format msgid "% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/parser.cc:28603 #, gcc-internal-format msgid "types may not be defined in exception-declarations" msgstr "" ! #: cp/parser.cc:29161 #, gcc-internal-format msgid "expected OpenMP directive name" msgstr "" ! #: cp/parser.cc:29170 #, gcc-internal-format msgid "expected attribute argument as balanced token sequence" msgstr "" ! #: cp/parser.cc:29215 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: cp/parser.cc:29314 #, gcc-internal-format msgid "attribute using prefix used together with scoped attribute token" msgstr "" ! #: cp/parser.cc:29328 #, gcc-internal-format msgid "expected an identifier for the attribute name" msgstr "" ! #: cp/parser.cc:29383 #, gcc-internal-format msgid "% attribute requires argument" msgstr "" #. e.g. [[attr()]]. ! #: cp/parser.cc:29455 #, gcc-internal-format msgid "parentheses must be omitted if %qE attribute argument list is empty" msgstr "" ! #: cp/parser.cc:29490 #, gcc-internal-format msgid "attribute %qs specified multiple times" msgstr "" ! #: cp/parser.cc:29532 #, gcc-internal-format msgid "expected attribute before %<...%>" msgstr "" ! #: cp/parser.cc:29575 #, gcc-internal-format msgid "expected contract-role" msgstr "" #. We got some other token other than a ':'. ! #: cp/parser.cc:29656 #, gcc-internal-format msgid "expected contract semantic or level" msgstr "" ! #: cp/parser.cc:29666 #, gcc-internal-format msgid "expected contract level: %, %, or %" msgstr "" ! #: cp/parser.cc:29676 #, gcc-internal-format msgid "invalid use of contract role for explicit semantic" msgstr "" ! #: cp/parser.cc:29813 #, gcc-internal-format msgid "contracts are only available with %<-fcontracts%>" msgstr "" ! #: cp/parser.cc:29968 #, gcc-internal-format msgid "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:30313 cp/parser.cc:30322 #, gcc-internal-format msgid "expression must be enclosed in parentheses" msgstr "" ! #: cp/parser.cc:30668 #, gcc-internal-format msgid "missing additional % to start a requires-expression" msgstr "" ! #: cp/parser.cc:30911 #, gcc-internal-format msgid "testing if a concept-id is a valid expression; add % to check satisfaction" msgstr "" ! #: cp/parser.cc:31049 #, gcc-internal-format msgid "result type is not a plain type-constraint" msgstr "" ! #: cp/parser.cc:31057 #, gcc-internal-format msgid "return-type-requirement is not a type-constraint" msgstr "" ! #: cp/parser.cc:31569 #, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "" ! #: cp/parser.cc:31574 #, fuzzy, gcc-internal-format msgid "invalid declaration of %<%T::%E%>" msgstr "Нерэчаіснае абвяшчэнне" ! #: cp/parser.cc:31578 #, fuzzy, gcc-internal-format msgid "too few template-parameter-lists" msgstr "невыкарыстаемы параметр \"%s\"" --- 60348,60496 ---- msgid "keyword % not allowed in this context (the base class is implicitly a type)" msgstr "" ! #: cp/parser.cc:28297 cp/parser.cc:28391 #, fuzzy, gcc-internal-format msgid "types may not be defined in an exception-specification" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28399 #, fuzzy, gcc-internal-format msgid "ISO C++17 does not allow dynamic exception specifications" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28405 #, gcc-internal-format msgid "dynamic exception specifications are deprecated in C++11" msgstr "" ! #: cp/parser.cc:28449 #, fuzzy, gcc-internal-format msgid "invalid use of % in exception-specification" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/parser.cc:28490 #, gcc-internal-format msgid "% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/parser.cc:28602 #, gcc-internal-format msgid "types may not be defined in exception-declarations" msgstr "" ! #: cp/parser.cc:29160 #, gcc-internal-format msgid "expected OpenMP directive name" msgstr "" ! #: cp/parser.cc:29169 #, gcc-internal-format msgid "expected attribute argument as balanced token sequence" msgstr "" ! #: cp/parser.cc:29214 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: cp/parser.cc:29313 #, gcc-internal-format msgid "attribute using prefix used together with scoped attribute token" msgstr "" ! #: cp/parser.cc:29327 #, gcc-internal-format msgid "expected an identifier for the attribute name" msgstr "" ! #: cp/parser.cc:29382 #, gcc-internal-format msgid "% attribute requires argument" msgstr "" #. e.g. [[attr()]]. ! #: cp/parser.cc:29454 #, gcc-internal-format msgid "parentheses must be omitted if %qE attribute argument list is empty" msgstr "" ! #: cp/parser.cc:29489 #, gcc-internal-format msgid "attribute %qs specified multiple times" msgstr "" ! #: cp/parser.cc:29531 #, gcc-internal-format msgid "expected attribute before %<...%>" msgstr "" ! #: cp/parser.cc:29574 #, gcc-internal-format msgid "expected contract-role" msgstr "" #. We got some other token other than a ':'. ! #: cp/parser.cc:29655 #, gcc-internal-format msgid "expected contract semantic or level" msgstr "" ! #: cp/parser.cc:29665 #, gcc-internal-format msgid "expected contract level: %, %, or %" msgstr "" ! #: cp/parser.cc:29675 #, gcc-internal-format msgid "invalid use of contract role for explicit semantic" msgstr "" ! #: cp/parser.cc:29812 #, gcc-internal-format msgid "contracts are only available with %<-fcontracts%>" msgstr "" ! #: cp/parser.cc:29967 #, gcc-internal-format msgid "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "" ! #: cp/parser.cc:30312 cp/parser.cc:30321 #, gcc-internal-format msgid "expression must be enclosed in parentheses" msgstr "" ! #: cp/parser.cc:30667 #, gcc-internal-format msgid "missing additional % to start a requires-expression" msgstr "" ! #: cp/parser.cc:30910 #, gcc-internal-format msgid "testing if a concept-id is a valid expression; add % to check satisfaction" msgstr "" ! #: cp/parser.cc:31048 #, gcc-internal-format msgid "result type is not a plain type-constraint" msgstr "" ! #: cp/parser.cc:31056 #, gcc-internal-format msgid "return-type-requirement is not a type-constraint" msgstr "" ! #: cp/parser.cc:31568 #, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "" ! #: cp/parser.cc:31573 #, fuzzy, gcc-internal-format msgid "invalid declaration of %<%T::%E%>" msgstr "Нерэчаіснае абвяшчэнне" ! #: cp/parser.cc:31577 #, fuzzy, gcc-internal-format msgid "too few template-parameter-lists" msgstr "невыкарыстаемы параметр \"%s\"" *************** msgstr "невыкарыстаемы п *** 60474,61075 **** #. something like: #. #. template template void S::f(); ! #: cp/parser.cc:31585 #, gcc-internal-format msgid "too many template-parameter-lists" msgstr "" ! #: cp/parser.cc:31978 #, fuzzy, gcc-internal-format msgid "named return values are no longer supported" msgstr "-pipe не падтрымліваецца." ! #: cp/parser.cc:32151 #, gcc-internal-format msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters" msgstr "" ! #: cp/parser.cc:32160 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%> or single non-type parameter of class type" msgstr "" ! #: cp/parser.cc:32166 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%>" msgstr "" ! #: cp/parser.cc:32273 #, gcc-internal-format msgid "template-introductions are not part of C++20 concepts; use %qs to enable" msgstr "" ! #: cp/parser.cc:32283 #, gcc-internal-format msgid "no matching concept for template-introduction" msgstr "" ! #: cp/parser.cc:32306 #, gcc-internal-format msgid "invalid declaration of member template in local class" msgstr "" ! #: cp/parser.cc:32315 #, gcc-internal-format msgid "template with C linkage" msgstr "" ! #: cp/parser.cc:32335 #, fuzzy, gcc-internal-format msgid "invalid explicit specialization" msgstr "ініцыялізацыя" ! #: cp/parser.cc:32447 #, fuzzy, gcc-internal-format msgid "template declaration of %" msgstr "пустое абвяшчэнне" ! #: cp/parser.cc:32498 #, gcc-internal-format msgid "a class template declaration must not declare anything else" msgstr "" ! #: cp/parser.cc:32550 #, fuzzy, gcc-internal-format msgid "explicit template specialization cannot have a storage class" msgstr "ініцыялізацыя" ! #: cp/parser.cc:32857 #, gcc-internal-format msgid "%<>>%> should be %<> >%> within a nested template argument list" msgstr "" ! #: cp/parser.cc:32870 #, gcc-internal-format msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" msgstr "" ! #: cp/parser.cc:32901 #, gcc-internal-format msgid "%qs should be %qs to terminate a template argument list" msgstr "" ! #: cp/parser.cc:33219 #, gcc-internal-format msgid "% argument must be surrounded by parentheses" msgstr "" ! #: cp/parser.cc:33396 #, gcc-internal-format msgid "invalid use of %qD in linkage specification" msgstr "" ! #: cp/parser.cc:33407 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qD specifier" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33410 #, gcc-internal-format msgid "%qD specifier conflicts with %qs" msgstr "" ! #: cp/parser.cc:33422 #, gcc-internal-format msgid "%<__thread%> before %qD" msgstr "" ! #: cp/parser.cc:33438 #, gcc-internal-format msgid "%qD specifier conflicts with %" msgstr "" ! #: cp/parser.cc:33547 #, fuzzy, gcc-internal-format #| msgid "ISO C++ does not support `long long'" msgid "ISO C++ 1998 does not support %" msgstr "ISO C++ не падтрымлівае \"long long\"" ! #: cp/parser.cc:33558 #, gcc-internal-format msgid "both %<__thread%> and % specified" msgstr "" ! #: cp/parser.cc:33563 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qD" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33589 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qs" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33641 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33644 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33647 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33653 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33656 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33659 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33662 #, fuzzy, gcc-internal-format #| msgid "unregistered operator %s" msgid "expected %" msgstr "нераспазнаны аператар %s" ! #: cp/parser.cc:33665 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33668 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33671 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33674 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33677 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33680 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33683 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33686 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33689 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33692 #, gcc-internal-format msgid "expected %<__label__%>" msgstr "" ! #: cp/parser.cc:33695 #, gcc-internal-format msgid "expected %<@try%>" msgstr "" ! #: cp/parser.cc:33698 #, gcc-internal-format msgid "expected %<@synchronized%>" msgstr "" ! #: cp/parser.cc:33701 #, gcc-internal-format msgid "expected %<@throw%>" msgstr "" ! #: cp/parser.cc:33704 #, gcc-internal-format msgid "expected %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:33707 #, gcc-internal-format msgid "expected %<__transaction_relaxed%>" msgstr "" ! #: cp/parser.cc:33710 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33742 #, gcc-internal-format msgid "expected %<::%>" msgstr "" ! #: cp/parser.cc:33754 #, gcc-internal-format msgid "expected %<...%>" msgstr "" ! #: cp/parser.cc:33757 #, gcc-internal-format msgid "expected %<*%>" msgstr "" ! #: cp/parser.cc:33760 #, gcc-internal-format msgid "expected %<~%>" msgstr "" ! #: cp/parser.cc:33766 #, gcc-internal-format msgid "expected %<:%> or %<::%>" msgstr "" ! #: cp/parser.cc:33793 #, gcc-internal-format msgid "expected %, %, or %" msgstr "" ! #: cp/parser.cc:34128 #, gcc-internal-format msgid "redundant enum-key % in reference to %q#T" msgstr "" ! #: cp/parser.cc:34279 #, gcc-internal-format msgid "%qs tag used in naming %q#T" msgstr "" ! #: cp/parser.cc:34284 #, fuzzy, gcc-internal-format msgid "%q#T was previously declared here" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/parser.cc:34405 #, gcc-internal-format msgid "redundant class-key %qs in reference to %q#T" msgstr "" ! #: cp/parser.cc:34563 cp/parser.cc:34597 #, gcc-internal-format msgid "%qT declared with a mismatched class-key %qs" msgstr "" ! #: cp/parser.cc:34570 cp/parser.cc:34603 #, gcc-internal-format msgid "remove the class-key or replace it with %qs" msgstr "" ! #: cp/parser.cc:34571 cp/parser.cc:34604 #, gcc-internal-format msgid "replace the class-key with %qs" msgstr "" ! #: cp/parser.cc:34578 #, gcc-internal-format msgid "%qT defined as %qs here" msgstr "" ! #: cp/parser.cc:34579 #, gcc-internal-format msgid "%qT first declared as %qs here" msgstr "" ! #: cp/parser.cc:34661 #, gcc-internal-format msgid "%qD redeclared with different access" msgstr "" ! #: cp/parser.cc:34682 #, gcc-internal-format msgid "in C++98 % (as a disambiguator) is only allowed within templates" msgstr "" ! #: cp/parser.cc:34932 #, fuzzy, gcc-internal-format msgid "file ends in default argument" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/parser.cc:35173 cp/parser.cc:36481 cp/parser.cc:36670 #, gcc-internal-format msgid "misplaced %<@%D%> Objective-C++ construct" msgstr "" ! #: cp/parser.cc:35244 #, gcc-internal-format msgid "objective-c++ message receiver expected" msgstr "" ! #: cp/parser.cc:35314 #, gcc-internal-format msgid "objective-c++ message argument(s) are expected" msgstr "" ! #: cp/parser.cc:35345 #, gcc-internal-format msgid "%<@encode%> must specify a type as an argument" msgstr "" ! #: cp/parser.cc:35749 #, gcc-internal-format msgid "invalid Objective-C++ selector name" msgstr "" ! #: cp/parser.cc:35824 cp/parser.cc:35842 #, gcc-internal-format msgid "objective-c++ method declaration is expected" msgstr "" ! #: cp/parser.cc:35836 cp/parser.cc:35902 #, gcc-internal-format msgid "method attributes must be specified at the end" msgstr "" ! #: cp/parser.cc:35945 #, gcc-internal-format msgid "stray %qs between Objective-C++ methods" msgstr "" ! #: cp/parser.cc:36142 cp/parser.cc:36149 cp/parser.cc:36156 #, fuzzy, gcc-internal-format #| msgid "invalid mode for gen_tst_reg" msgid "invalid type for instance variable" msgstr "нерэчаісны рэжым для gen_tst_reg" ! #: cp/parser.cc:36273 #, gcc-internal-format msgid "identifier expected after %<@protocol%>" msgstr "" ! #: cp/parser.cc:36446 #, gcc-internal-format msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" msgstr "" ! #: cp/parser.cc:36453 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored before %<@%D%>" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: cp/parser.cc:36733 cp/parser.cc:36740 cp/parser.cc:36747 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid type for property" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/parser.cc:36909 #, gcc-internal-format msgid "unknown property attribute %qE" msgstr "" ! #: cp/parser.cc:38038 #, gcc-internal-format msgid "expected integer expression list" msgstr "" ! #: cp/parser.cc:38055 #, gcc-internal-format msgid "% expression must be integral" msgstr "" ! #: cp/parser.cc:39144 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid reduction-identifier" msgstr "нерэчаісны ініцыялізатар" ! #: cp/parser.cc:40113 #, gcc-internal-format msgid "types may not be defined in iterator type" msgstr "" ! #: cp/parser.cc:43019 #, gcc-internal-format msgid "parenthesized initialization is not allowed in OpenMP % loop" msgstr "" ! #: cp/parser.cc:43467 #, gcc-internal-format msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement" msgstr "" ! #: cp/parser.cc:43712 #, gcc-internal-format msgid "% clause with parameter on range-based % loop" msgstr "" ! #: cp/parser.cc:43799 cp/pt.cc:18559 #, gcc-internal-format msgid "iteration variable %qD should not be reduction" msgstr "" ! #: cp/parser.cc:43892 #, gcc-internal-format msgid "not enough for loops to collapse" msgstr "" ! #: cp/parser.cc:46259 #, gcc-internal-format msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" msgstr "" ! #: cp/parser.cc:47094 #, gcc-internal-format msgid "OpenMP directive other than % or % appertains to a declaration" msgstr "" ! #: cp/parser.cc:47440 cp/parser.cc:47471 #, gcc-internal-format msgid "%qs in attribute syntax terminated with %qs in pragma syntax" msgstr "" ! #: cp/parser.cc:47447 cp/parser.cc:47476 #, gcc-internal-format msgid "%qs in pragma syntax terminated with %qs in attribute syntax" msgstr "" ! #: cp/parser.cc:47588 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid initializer clause" msgstr "нерэчаісны ініцыялізатар" ! #: cp/parser.cc:47618 #, gcc-internal-format msgid "expected id-expression (arguments)" msgstr "" ! #: cp/parser.cc:47630 #, gcc-internal-format msgid "one of the initializer call arguments should be % or %<&omp_priv%>" msgstr "" ! #: cp/parser.cc:47733 #, gcc-internal-format msgid "types may not be defined in declare reduction type list" msgstr "" ! #: cp/parser.cc:47753 cp/semantics.cc:6128 #, gcc-internal-format msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47757 cp/semantics.cc:6136 #, gcc-internal-format msgid "function or array type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47760 cp/pt.cc:14473 cp/semantics.cc:6142 #, gcc-internal-format msgid "reference type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47763 cp/semantics.cc:6148 #, gcc-internal-format msgid "%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:48477 #, gcc-internal-format msgid "%<#pragma acc routine%> names a set of overloads" msgstr "" ! #: cp/parser.cc:48487 #, gcc-internal-format msgid "%qD does not refer to a namespace scope function" msgstr "" #. cancel-and-throw is unimplemented. ! #: cp/parser.cc:48848 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/parser.cc:48895 cp/semantics.cc:11155 #, gcc-internal-format msgid "%<__transaction_relaxed%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:48897 cp/semantics.cc:11157 #, gcc-internal-format msgid "%<__transaction_atomic%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:49043 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:49046 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: cp/parser.cc:49093 #, gcc-internal-format msgid "malformed %<#pragma GCC pch_preprocess%>" msgstr "" ! #: cp/parser.cc:49391 #, gcc-internal-format msgid "%<#pragma omp requires%> may only be used at file or namespace scope" msgstr "" ! #: cp/parser.cc:49402 #, gcc-internal-format msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" msgstr "" ! #: cp/parser.cc:49457 #, gcc-internal-format msgid "%<#pragma GCC ivdep%> must be inside a function" msgstr "" ! #: cp/parser.cc:49489 #, gcc-internal-format msgid "%<#pragma GCC unroll%> must be inside a function" msgstr "" ! #: cp/parser.cc:49570 #, gcc-internal-format msgid "multi-source compilation not implemented for C++" msgstr "" ! #: cp/parser.cc:49607 #, gcc-internal-format msgid "placeholder type not allowed in this context" msgstr "" ! #: cp/parser.cc:49816 #, gcc-internal-format msgid "implicit templates may not be %" msgstr "" ! #: cp/parser.cc:49872 #, gcc-internal-format msgid "% linkage started here" msgstr "" --- 60499,61100 ---- #. something like: #. #. template template void S::f(); ! #: cp/parser.cc:31584 #, gcc-internal-format msgid "too many template-parameter-lists" msgstr "" ! #: cp/parser.cc:31977 #, fuzzy, gcc-internal-format msgid "named return values are no longer supported" msgstr "-pipe не падтрымліваецца." ! #: cp/parser.cc:32150 #, gcc-internal-format msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters" msgstr "" ! #: cp/parser.cc:32159 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%> or single non-type parameter of class type" msgstr "" ! #: cp/parser.cc:32165 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%>" msgstr "" ! #: cp/parser.cc:32272 #, gcc-internal-format msgid "template-introductions are not part of C++20 concepts; use %qs to enable" msgstr "" ! #: cp/parser.cc:32282 #, gcc-internal-format msgid "no matching concept for template-introduction" msgstr "" ! #: cp/parser.cc:32305 #, gcc-internal-format msgid "invalid declaration of member template in local class" msgstr "" ! #: cp/parser.cc:32314 #, gcc-internal-format msgid "template with C linkage" msgstr "" ! #: cp/parser.cc:32334 #, fuzzy, gcc-internal-format msgid "invalid explicit specialization" msgstr "ініцыялізацыя" ! #: cp/parser.cc:32446 #, fuzzy, gcc-internal-format msgid "template declaration of %" msgstr "пустое абвяшчэнне" ! #: cp/parser.cc:32497 #, gcc-internal-format msgid "a class template declaration must not declare anything else" msgstr "" ! #: cp/parser.cc:32549 #, fuzzy, gcc-internal-format msgid "explicit template specialization cannot have a storage class" msgstr "ініцыялізацыя" ! #: cp/parser.cc:32856 #, gcc-internal-format msgid "%<>>%> should be %<> >%> within a nested template argument list" msgstr "" ! #: cp/parser.cc:32869 #, gcc-internal-format msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" msgstr "" ! #: cp/parser.cc:32900 #, gcc-internal-format msgid "%qs should be %qs to terminate a template argument list" msgstr "" ! #: cp/parser.cc:33218 #, gcc-internal-format msgid "% argument must be surrounded by parentheses" msgstr "" ! #: cp/parser.cc:33395 #, gcc-internal-format msgid "invalid use of %qD in linkage specification" msgstr "" ! #: cp/parser.cc:33406 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qD specifier" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33409 #, gcc-internal-format msgid "%qD specifier conflicts with %qs" msgstr "" ! #: cp/parser.cc:33421 #, gcc-internal-format msgid "%<__thread%> before %qD" msgstr "" ! #: cp/parser.cc:33437 #, gcc-internal-format msgid "%qD specifier conflicts with %" msgstr "" ! #: cp/parser.cc:33546 #, fuzzy, gcc-internal-format #| msgid "ISO C++ does not support `long long'" msgid "ISO C++ 1998 does not support %" msgstr "ISO C++ не падтрымлівае \"long long\"" ! #: cp/parser.cc:33557 #, gcc-internal-format msgid "both %<__thread%> and % specified" msgstr "" ! #: cp/parser.cc:33562 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qD" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33588 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qs" msgstr "паўтарэньне `%s'" ! #: cp/parser.cc:33640 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33643 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33646 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33652 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33655 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33658 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33661 #, fuzzy, gcc-internal-format #| msgid "unregistered operator %s" msgid "expected %" msgstr "нераспазнаны аператар %s" ! #: cp/parser.cc:33664 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33667 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33670 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33673 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33676 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33679 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33682 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33685 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33688 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33691 #, gcc-internal-format msgid "expected %<__label__%>" msgstr "" ! #: cp/parser.cc:33694 #, gcc-internal-format msgid "expected %<@try%>" msgstr "" ! #: cp/parser.cc:33697 #, gcc-internal-format msgid "expected %<@synchronized%>" msgstr "" ! #: cp/parser.cc:33700 #, gcc-internal-format msgid "expected %<@throw%>" msgstr "" ! #: cp/parser.cc:33703 #, gcc-internal-format msgid "expected %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:33706 #, gcc-internal-format msgid "expected %<__transaction_relaxed%>" msgstr "" ! #: cp/parser.cc:33709 #, gcc-internal-format msgid "expected %" msgstr "" ! #: cp/parser.cc:33741 #, gcc-internal-format msgid "expected %<::%>" msgstr "" ! #: cp/parser.cc:33753 #, gcc-internal-format msgid "expected %<...%>" msgstr "" ! #: cp/parser.cc:33756 #, gcc-internal-format msgid "expected %<*%>" msgstr "" ! #: cp/parser.cc:33759 #, gcc-internal-format msgid "expected %<~%>" msgstr "" ! #: cp/parser.cc:33765 #, gcc-internal-format msgid "expected %<:%> or %<::%>" msgstr "" ! #: cp/parser.cc:33792 #, gcc-internal-format msgid "expected %, %, or %" msgstr "" ! #: cp/parser.cc:34127 #, gcc-internal-format msgid "redundant enum-key % in reference to %q#T" msgstr "" ! #: cp/parser.cc:34278 #, gcc-internal-format msgid "%qs tag used in naming %q#T" msgstr "" ! #: cp/parser.cc:34283 #, fuzzy, gcc-internal-format msgid "%q#T was previously declared here" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/parser.cc:34404 #, gcc-internal-format msgid "redundant class-key %qs in reference to %q#T" msgstr "" ! #: cp/parser.cc:34562 cp/parser.cc:34596 #, gcc-internal-format msgid "%qT declared with a mismatched class-key %qs" msgstr "" ! #: cp/parser.cc:34569 cp/parser.cc:34602 #, gcc-internal-format msgid "remove the class-key or replace it with %qs" msgstr "" ! #: cp/parser.cc:34570 cp/parser.cc:34603 #, gcc-internal-format msgid "replace the class-key with %qs" msgstr "" ! #: cp/parser.cc:34577 #, gcc-internal-format msgid "%qT defined as %qs here" msgstr "" ! #: cp/parser.cc:34578 #, gcc-internal-format msgid "%qT first declared as %qs here" msgstr "" ! #: cp/parser.cc:34660 #, gcc-internal-format msgid "%qD redeclared with different access" msgstr "" ! #: cp/parser.cc:34681 #, gcc-internal-format msgid "in C++98 % (as a disambiguator) is only allowed within templates" msgstr "" ! #: cp/parser.cc:34931 #, fuzzy, gcc-internal-format msgid "file ends in default argument" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/parser.cc:35172 cp/parser.cc:36480 cp/parser.cc:36669 #, gcc-internal-format msgid "misplaced %<@%D%> Objective-C++ construct" msgstr "" ! #: cp/parser.cc:35243 #, gcc-internal-format msgid "objective-c++ message receiver expected" msgstr "" ! #: cp/parser.cc:35313 #, gcc-internal-format msgid "objective-c++ message argument(s) are expected" msgstr "" ! #: cp/parser.cc:35344 #, gcc-internal-format msgid "%<@encode%> must specify a type as an argument" msgstr "" ! #: cp/parser.cc:35748 #, gcc-internal-format msgid "invalid Objective-C++ selector name" msgstr "" ! #: cp/parser.cc:35823 cp/parser.cc:35841 #, gcc-internal-format msgid "objective-c++ method declaration is expected" msgstr "" ! #: cp/parser.cc:35835 cp/parser.cc:35901 #, gcc-internal-format msgid "method attributes must be specified at the end" msgstr "" ! #: cp/parser.cc:35944 #, gcc-internal-format msgid "stray %qs between Objective-C++ methods" msgstr "" ! #: cp/parser.cc:36141 cp/parser.cc:36148 cp/parser.cc:36155 #, fuzzy, gcc-internal-format #| msgid "invalid mode for gen_tst_reg" msgid "invalid type for instance variable" msgstr "нерэчаісны рэжым для gen_tst_reg" ! #: cp/parser.cc:36272 #, gcc-internal-format msgid "identifier expected after %<@protocol%>" msgstr "" ! #: cp/parser.cc:36445 #, gcc-internal-format msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" msgstr "" ! #: cp/parser.cc:36452 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored before %<@%D%>" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: cp/parser.cc:36732 cp/parser.cc:36739 cp/parser.cc:36746 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid type for property" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/parser.cc:36908 #, gcc-internal-format msgid "unknown property attribute %qE" msgstr "" ! #: cp/parser.cc:38037 #, gcc-internal-format msgid "expected integer expression list" msgstr "" ! #: cp/parser.cc:38054 #, gcc-internal-format msgid "% expression must be integral" msgstr "" ! #: cp/parser.cc:39143 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid reduction-identifier" msgstr "нерэчаісны ініцыялізатар" ! #: cp/parser.cc:40112 #, gcc-internal-format msgid "types may not be defined in iterator type" msgstr "" ! #: cp/parser.cc:43018 #, gcc-internal-format msgid "parenthesized initialization is not allowed in OpenMP % loop" msgstr "" ! #: cp/parser.cc:43466 #, gcc-internal-format msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement" msgstr "" ! #: cp/parser.cc:43711 #, gcc-internal-format msgid "% clause with parameter on range-based % loop" msgstr "" ! #: cp/parser.cc:43798 cp/pt.cc:18576 #, gcc-internal-format msgid "iteration variable %qD should not be reduction" msgstr "" ! #: cp/parser.cc:43891 #, gcc-internal-format msgid "not enough for loops to collapse" msgstr "" ! #: cp/parser.cc:46258 #, gcc-internal-format msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" msgstr "" ! #: cp/parser.cc:47093 #, gcc-internal-format msgid "OpenMP directive other than % or % appertains to a declaration" msgstr "" ! #: cp/parser.cc:47439 cp/parser.cc:47470 #, gcc-internal-format msgid "%qs in attribute syntax terminated with %qs in pragma syntax" msgstr "" ! #: cp/parser.cc:47446 cp/parser.cc:47475 #, gcc-internal-format msgid "%qs in pragma syntax terminated with %qs in attribute syntax" msgstr "" ! #: cp/parser.cc:47587 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid initializer clause" msgstr "нерэчаісны ініцыялізатар" ! #: cp/parser.cc:47617 #, gcc-internal-format msgid "expected id-expression (arguments)" msgstr "" ! #: cp/parser.cc:47629 #, gcc-internal-format msgid "one of the initializer call arguments should be % or %<&omp_priv%>" msgstr "" ! #: cp/parser.cc:47732 #, gcc-internal-format msgid "types may not be defined in declare reduction type list" msgstr "" ! #: cp/parser.cc:47752 cp/semantics.cc:6128 #, gcc-internal-format msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47756 cp/semantics.cc:6136 #, gcc-internal-format msgid "function or array type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47759 cp/pt.cc:14486 cp/semantics.cc:6142 #, gcc-internal-format msgid "reference type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47762 cp/semantics.cc:6148 #, gcc-internal-format msgid "%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:48476 #, gcc-internal-format msgid "%<#pragma acc routine%> names a set of overloads" msgstr "" ! #: cp/parser.cc:48486 #, gcc-internal-format msgid "%qD does not refer to a namespace scope function" msgstr "" #. cancel-and-throw is unimplemented. ! #: cp/parser.cc:48847 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/parser.cc:48894 cp/semantics.cc:11155 #, gcc-internal-format msgid "%<__transaction_relaxed%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:48896 cp/semantics.cc:11157 #, gcc-internal-format msgid "%<__transaction_atomic%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:49042 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:49045 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: cp/parser.cc:49092 #, gcc-internal-format msgid "malformed %<#pragma GCC pch_preprocess%>" msgstr "" ! #: cp/parser.cc:49390 #, gcc-internal-format msgid "%<#pragma omp requires%> may only be used at file or namespace scope" msgstr "" ! #: cp/parser.cc:49401 #, gcc-internal-format msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" msgstr "" ! #: cp/parser.cc:49456 #, gcc-internal-format msgid "%<#pragma GCC ivdep%> must be inside a function" msgstr "" ! #: cp/parser.cc:49488 #, gcc-internal-format msgid "%<#pragma GCC unroll%> must be inside a function" msgstr "" ! #: cp/parser.cc:49569 #, gcc-internal-format msgid "multi-source compilation not implemented for C++" msgstr "" ! #: cp/parser.cc:49606 #, gcc-internal-format msgid "placeholder type not allowed in this context" msgstr "" ! #: cp/parser.cc:49815 #, gcc-internal-format msgid "implicit templates may not be %" msgstr "" ! #: cp/parser.cc:49871 #, gcc-internal-format msgid "% linkage started here" msgstr "" *************** msgstr "няма папярэдняга *** 61603,61609 **** msgid "redeclaration of %q#D with different constraints" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/pt.cc:6770 cp/pt.cc:6839 #, fuzzy, gcc-internal-format msgid "%qE is not a valid template argument for type %qT" msgstr "\"%s\" мае незавершаны тып" --- 61628,61634 ---- msgid "redeclaration of %q#D with different constraints" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/pt.cc:6770 cp/pt.cc:6840 #, fuzzy, gcc-internal-format msgid "%qE is not a valid template argument for type %qT" msgstr "\"%s\" мае незавершаны тып" *************** msgstr "" *** 61618,61996 **** msgid "it must be the name of a function with external linkage" msgstr "" ! #: cp/pt.cc:6789 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because %qD has no linkage" msgstr "" ! #: cp/pt.cc:6793 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage" msgstr "" ! #: cp/pt.cc:6842 #, gcc-internal-format msgid "it must be a pointer-to-member of the form %<&X::Y%>" msgstr "" ! #: cp/pt.cc:6844 #, gcc-internal-format msgid "because it is a member of %qT" msgstr "" ! #: cp/pt.cc:6913 #, fuzzy, gcc-internal-format msgid " couldn%'t deduce template parameter %qD" msgstr "невыкарыстаемы параметр \"%s\"" ! #: cp/pt.cc:6922 #, gcc-internal-format msgid " types %qT and %qT have incompatible cv-qualifiers" msgstr "" ! #: cp/pt.cc:6931 #, gcc-internal-format msgid " mismatched types %qT and %qT" msgstr "" ! #: cp/pt.cc:6940 #, gcc-internal-format msgid " template parameter %qD is not a parameter pack, but argument %qD is" msgstr "" ! #: cp/pt.cc:6951 #, gcc-internal-format msgid " template argument %qE does not match pointer-to-member constant %qE" msgstr "" ! #: cp/pt.cc:6961 #, gcc-internal-format msgid " %qE is not equivalent to %qE" msgstr "" ! #: cp/pt.cc:6970 #, gcc-internal-format msgid " inconsistent parameter pack deduction with %qT and %qT" msgstr "" ! #: cp/pt.cc:6982 #, gcc-internal-format msgid " deduced conflicting types for parameter %qT (%qT and %qT)" msgstr "" ! #: cp/pt.cc:6986 #, gcc-internal-format msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" msgstr "" ! #: cp/pt.cc:6997 #, gcc-internal-format msgid " variable-sized array type %qT is not a valid template argument" msgstr "" ! #: cp/pt.cc:7008 #, gcc-internal-format msgid " member function type %qT is not a valid template argument" msgstr "" ! #: cp/pt.cc:7051 #, gcc-internal-format msgid " cannot convert %qE (type %qT) to type %qT" msgstr "" ! #: cp/pt.cc:7064 #, gcc-internal-format msgid " %qT is an ambiguous base class of %qT" msgstr "" ! #: cp/pt.cc:7068 #, gcc-internal-format msgid " %qT is not derived from %qT" msgstr "" ! #: cp/pt.cc:7079 #, gcc-internal-format msgid " template parameters of a template template argument are inconsistent with other deduced template arguments" msgstr "" ! #: cp/pt.cc:7089 #, fuzzy, gcc-internal-format msgid " cannot deduce a template for %qT from non-template type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:7099 #, fuzzy, gcc-internal-format msgid " template argument %qE does not match %qE" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:7150 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT because %qE is not a variable or function" msgstr "" ! #: cp/pt.cc:7159 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage" msgstr "" ! #: cp/pt.cc:7169 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT because %qD has no linkage" msgstr "" ! #: cp/pt.cc:7184 #, gcc-internal-format msgid "the address of %qD is not a valid template argument" msgstr "" ! #: cp/pt.cc:7194 #, gcc-internal-format msgid "the address of the %qT subobject of %qD is not a valid template argument" msgstr "" ! #: cp/pt.cc:7201 #, gcc-internal-format msgid "the address of %qD is not a valid template argument because it does not have static storage duration" msgstr "" ! #: cp/pt.cc:7219 #, gcc-internal-format msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable" msgstr "" ! #: cp/pt.cc:7227 #, gcc-internal-format msgid "%qE is not a valid template argument for %qT because it is not the address of a variable" msgstr "" ! #: cp/pt.cc:7348 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because string literals can never be used in this context" msgstr "" ! #: cp/pt.cc:7513 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "in template argument for type %qT" msgstr "звычайны аргумэнт для `%#D' мае тып `%T'" ! #: cp/pt.cc:7527 #, gcc-internal-format msgid "template argument %qE for type %qT not a compile-time constant" msgstr "" ! #: cp/pt.cc:7613 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification" msgstr "" ! #: cp/pt.cc:7621 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is not an lvalue" msgstr "" ! #: cp/pt.cc:7639 #, gcc-internal-format msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address" msgstr "" ! #: cp/pt.cc:7698 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is a pointer" msgstr "" ! #: cp/pt.cc:7700 #, gcc-internal-format msgid "try using %qE instead" msgstr "" ! #: cp/pt.cc:7754 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is of type %qT" msgstr "" ! #: cp/pt.cc:8312 #, gcc-internal-format msgid "ignoring attributes on template argument %qT" msgstr "" ! #: cp/pt.cc:8328 #, gcc-internal-format msgid "ignoring attributes in template argument %qE" msgstr "" ! #: cp/pt.cc:8464 #, gcc-internal-format msgid "injected-class-name %qD used as template template argument" msgstr "" ! #: cp/pt.cc:8493 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qE as a type" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:8498 #, gcc-internal-format msgid "to refer to a type member of a template parameter, use %" msgstr "" ! #: cp/pt.cc:8514 cp/pt.cc:8548 cp/pt.cc:8598 #, gcc-internal-format msgid "type/value mismatch at argument %d in template parameter list for %qD" msgstr "" ! #: cp/pt.cc:8522 #, gcc-internal-format msgid " expected a constant of type %qT, got %qT" msgstr "" ! #: cp/pt.cc:8530 #, gcc-internal-format msgid " ambiguous template argument for non-type template parameter is treated as function type" msgstr "" ! #: cp/pt.cc:8536 #, gcc-internal-format msgid " expected a class template, got %qE" msgstr "" ! #: cp/pt.cc:8539 #, gcc-internal-format msgid " expected a type, got %qE" msgstr "" ! #: cp/pt.cc:8553 #, gcc-internal-format msgid " expected a type, got %qT" msgstr "" ! #: cp/pt.cc:8556 #, gcc-internal-format msgid " expected a class template, got %qT" msgstr "" ! #: cp/pt.cc:8602 #, gcc-internal-format msgid " expected a template of type %qD, got %qT" msgstr "" ! #: cp/pt.cc:8616 #, gcc-internal-format msgid "constraint mismatch at argument %d in template parameter list for %qD" msgstr "" ! #: cp/pt.cc:8619 #, gcc-internal-format msgid " expected %qD but got %qD" msgstr "" ! #: cp/pt.cc:8692 #, gcc-internal-format msgid "could not convert template argument %qE from %qT to %qT" msgstr "" ! #: cp/pt.cc:8830 cp/pt.cc:9156 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "template argument %d is invalid" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:8845 cp/pt.cc:8990 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be %d)" msgstr "" ! #: cp/pt.cc:8986 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be at least %d)" msgstr "" ! #: cp/pt.cc:8995 #, fuzzy, gcc-internal-format msgid "provided for %qD" msgstr "дэструктару неабходны \"%#D\"" ! #: cp/pt.cc:9020 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of alias template %qD" msgstr "" ! #: cp/pt.cc:9024 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of concept %qD" msgstr "" ! #: cp/pt.cc:9122 #, gcc-internal-format msgid "so any instantiation with a non-empty parameter pack would be ill-formed" msgstr "" ! #: cp/pt.cc:9685 #, fuzzy, gcc-internal-format msgid "%q#D is not a function template" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:9848 #, gcc-internal-format msgid "non-template type %qT used as a template" msgstr "" ! #: cp/pt.cc:9850 #, fuzzy, gcc-internal-format msgid "for template declaration %q+D" msgstr "пустое абвяшчэнне" ! #: cp/pt.cc:9983 cp/pt.cc:22188 #, gcc-internal-format msgid "template constraint failure for %qD" msgstr "" ! #: cp/pt.cc:10368 #, gcc-internal-format msgid "use of invalid variable template %qE" msgstr "" ! #: cp/pt.cc:11103 #, gcc-internal-format msgid "template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "" ! #: cp/pt.cc:12436 #, gcc-internal-format msgid "flexible array member %qD in union" msgstr "" ! #: cp/pt.cc:12926 #, gcc-internal-format msgid "fold of empty expansion over %O" msgstr "" ! #: cp/pt.cc:13380 #, gcc-internal-format msgid "%qE is not the entire pattern of the pack expansion" msgstr "" ! #: cp/pt.cc:13468 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qT" msgstr "" ! #: cp/pt.cc:13471 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qE" msgstr "" ! #: cp/pt.cc:14150 #, fuzzy, gcc-internal-format msgid " when instantiating default argument for call to %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/pt.cc:14246 #, gcc-internal-format msgid "creating pointer to member function of non-class type %qT" msgstr "" ! #: cp/pt.cc:15140 #, gcc-internal-format, gfc-internal-format msgid "mismatched argument pack lengths (%d vs %d)" msgstr "" --- 61643,62021 ---- msgid "it must be the name of a function with external linkage" msgstr "" ! #: cp/pt.cc:6790 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because %qD has no linkage" msgstr "" ! #: cp/pt.cc:6794 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage" msgstr "" ! #: cp/pt.cc:6843 #, gcc-internal-format msgid "it must be a pointer-to-member of the form %<&X::Y%>" msgstr "" ! #: cp/pt.cc:6845 #, gcc-internal-format msgid "because it is a member of %qT" msgstr "" ! #: cp/pt.cc:6914 #, fuzzy, gcc-internal-format msgid " couldn%'t deduce template parameter %qD" msgstr "невыкарыстаемы параметр \"%s\"" ! #: cp/pt.cc:6923 #, gcc-internal-format msgid " types %qT and %qT have incompatible cv-qualifiers" msgstr "" ! #: cp/pt.cc:6932 #, gcc-internal-format msgid " mismatched types %qT and %qT" msgstr "" ! #: cp/pt.cc:6941 #, gcc-internal-format msgid " template parameter %qD is not a parameter pack, but argument %qD is" msgstr "" ! #: cp/pt.cc:6952 #, gcc-internal-format msgid " template argument %qE does not match pointer-to-member constant %qE" msgstr "" ! #: cp/pt.cc:6962 #, gcc-internal-format msgid " %qE is not equivalent to %qE" msgstr "" ! #: cp/pt.cc:6971 #, gcc-internal-format msgid " inconsistent parameter pack deduction with %qT and %qT" msgstr "" ! #: cp/pt.cc:6983 #, gcc-internal-format msgid " deduced conflicting types for parameter %qT (%qT and %qT)" msgstr "" ! #: cp/pt.cc:6987 #, gcc-internal-format msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" msgstr "" ! #: cp/pt.cc:6998 #, gcc-internal-format msgid " variable-sized array type %qT is not a valid template argument" msgstr "" ! #: cp/pt.cc:7009 #, gcc-internal-format msgid " member function type %qT is not a valid template argument" msgstr "" ! #: cp/pt.cc:7052 #, gcc-internal-format msgid " cannot convert %qE (type %qT) to type %qT" msgstr "" ! #: cp/pt.cc:7065 #, gcc-internal-format msgid " %qT is an ambiguous base class of %qT" msgstr "" ! #: cp/pt.cc:7069 #, gcc-internal-format msgid " %qT is not derived from %qT" msgstr "" ! #: cp/pt.cc:7080 #, gcc-internal-format msgid " template parameters of a template template argument are inconsistent with other deduced template arguments" msgstr "" ! #: cp/pt.cc:7090 #, fuzzy, gcc-internal-format msgid " cannot deduce a template for %qT from non-template type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:7100 #, fuzzy, gcc-internal-format msgid " template argument %qE does not match %qE" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:7151 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT because %qE is not a variable or function" msgstr "" ! #: cp/pt.cc:7160 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage" msgstr "" ! #: cp/pt.cc:7170 #, gcc-internal-format msgid "%qE is not a valid template argument of type %qT because %qD has no linkage" msgstr "" ! #: cp/pt.cc:7185 #, gcc-internal-format msgid "the address of %qD is not a valid template argument" msgstr "" ! #: cp/pt.cc:7195 #, gcc-internal-format msgid "the address of the %qT subobject of %qD is not a valid template argument" msgstr "" ! #: cp/pt.cc:7202 #, gcc-internal-format msgid "the address of %qD is not a valid template argument because it does not have static storage duration" msgstr "" ! #: cp/pt.cc:7220 #, gcc-internal-format msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable" msgstr "" ! #: cp/pt.cc:7228 #, gcc-internal-format msgid "%qE is not a valid template argument for %qT because it is not the address of a variable" msgstr "" ! #: cp/pt.cc:7349 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because string literals can never be used in this context" msgstr "" ! #: cp/pt.cc:7514 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "in template argument for type %qT" msgstr "звычайны аргумэнт для `%#D' мае тып `%T'" ! #: cp/pt.cc:7528 #, gcc-internal-format msgid "template argument %qE for type %qT not a compile-time constant" msgstr "" ! #: cp/pt.cc:7614 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification" msgstr "" ! #: cp/pt.cc:7622 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is not an lvalue" msgstr "" ! #: cp/pt.cc:7640 #, gcc-internal-format msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address" msgstr "" ! #: cp/pt.cc:7699 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is a pointer" msgstr "" ! #: cp/pt.cc:7701 #, gcc-internal-format msgid "try using %qE instead" msgstr "" ! #: cp/pt.cc:7755 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because it is of type %qT" msgstr "" ! #: cp/pt.cc:8314 #, gcc-internal-format msgid "ignoring attributes on template argument %qT" msgstr "" ! #: cp/pt.cc:8330 #, gcc-internal-format msgid "ignoring attributes in template argument %qE" msgstr "" ! #: cp/pt.cc:8466 #, gcc-internal-format msgid "injected-class-name %qD used as template template argument" msgstr "" ! #: cp/pt.cc:8495 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qE as a type" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:8500 #, gcc-internal-format msgid "to refer to a type member of a template parameter, use %" msgstr "" ! #: cp/pt.cc:8516 cp/pt.cc:8550 cp/pt.cc:8600 #, gcc-internal-format msgid "type/value mismatch at argument %d in template parameter list for %qD" msgstr "" ! #: cp/pt.cc:8524 #, gcc-internal-format msgid " expected a constant of type %qT, got %qT" msgstr "" ! #: cp/pt.cc:8532 #, gcc-internal-format msgid " ambiguous template argument for non-type template parameter is treated as function type" msgstr "" ! #: cp/pt.cc:8538 #, gcc-internal-format msgid " expected a class template, got %qE" msgstr "" ! #: cp/pt.cc:8541 #, gcc-internal-format msgid " expected a type, got %qE" msgstr "" ! #: cp/pt.cc:8555 #, gcc-internal-format msgid " expected a type, got %qT" msgstr "" ! #: cp/pt.cc:8558 #, gcc-internal-format msgid " expected a class template, got %qT" msgstr "" ! #: cp/pt.cc:8604 #, gcc-internal-format msgid " expected a template of type %qD, got %qT" msgstr "" ! #: cp/pt.cc:8618 #, gcc-internal-format msgid "constraint mismatch at argument %d in template parameter list for %qD" msgstr "" ! #: cp/pt.cc:8621 #, gcc-internal-format msgid " expected %qD but got %qD" msgstr "" ! #: cp/pt.cc:8694 #, gcc-internal-format msgid "could not convert template argument %qE from %qT to %qT" msgstr "" ! #: cp/pt.cc:8832 cp/pt.cc:9158 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "template argument %d is invalid" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:8847 cp/pt.cc:8992 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be %d)" msgstr "" ! #: cp/pt.cc:8988 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be at least %d)" msgstr "" ! #: cp/pt.cc:8997 #, fuzzy, gcc-internal-format msgid "provided for %qD" msgstr "дэструктару неабходны \"%#D\"" ! #: cp/pt.cc:9022 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of alias template %qD" msgstr "" ! #: cp/pt.cc:9026 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of concept %qD" msgstr "" ! #: cp/pt.cc:9124 #, gcc-internal-format msgid "so any instantiation with a non-empty parameter pack would be ill-formed" msgstr "" ! #: cp/pt.cc:9687 #, fuzzy, gcc-internal-format msgid "%q#D is not a function template" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:9850 #, gcc-internal-format msgid "non-template type %qT used as a template" msgstr "" ! #: cp/pt.cc:9852 #, fuzzy, gcc-internal-format msgid "for template declaration %q+D" msgstr "пустое абвяшчэнне" ! #: cp/pt.cc:9996 cp/pt.cc:22218 #, gcc-internal-format msgid "template constraint failure for %qD" msgstr "" ! #: cp/pt.cc:10381 #, gcc-internal-format msgid "use of invalid variable template %qE" msgstr "" ! #: cp/pt.cc:11116 #, gcc-internal-format msgid "template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "" ! #: cp/pt.cc:12449 #, gcc-internal-format msgid "flexible array member %qD in union" msgstr "" ! #: cp/pt.cc:12939 #, gcc-internal-format msgid "fold of empty expansion over %O" msgstr "" ! #: cp/pt.cc:13393 #, gcc-internal-format msgid "%qE is not the entire pattern of the pack expansion" msgstr "" ! #: cp/pt.cc:13481 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qT" msgstr "" ! #: cp/pt.cc:13484 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qE" msgstr "" ! #: cp/pt.cc:14163 #, fuzzy, gcc-internal-format msgid " when instantiating default argument for call to %qD" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: cp/pt.cc:14259 #, gcc-internal-format msgid "creating pointer to member function of non-class type %qT" msgstr "" ! #: cp/pt.cc:15157 #, gcc-internal-format, gfc-internal-format msgid "mismatched argument pack lengths (%d vs %d)" msgstr "" *************** msgstr "" *** 62008,62314 **** #. #. is an attempt to declare a variable with function #. type. ! #: cp/pt.cc:15333 #, fuzzy, gcc-internal-format msgid "variable %qD has function type" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/pt.cc:15532 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid parameter type %qT" msgstr "нерэчаісны тып парамэтра `%T'" ! #: cp/pt.cc:15534 #, fuzzy, gcc-internal-format #| msgid "in declaration `%D'" msgid "in declaration %q+D" msgstr "у абвяшчэньні `%D'" ! #: cp/pt.cc:15661 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function returning an array" msgstr "функцыя не вяртае тып string" ! #: cp/pt.cc:15663 #, fuzzy, gcc-internal-format msgid "function returning a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/pt.cc:16363 #, gcc-internal-format msgid "forming reference to void" msgstr "" ! #: cp/pt.cc:16365 #, fuzzy, gcc-internal-format msgid "forming pointer to reference type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:16367 #, gcc-internal-format msgid "forming reference to reference type %qT" msgstr "" ! #: cp/pt.cc:16380 #, fuzzy, gcc-internal-format msgid "forming pointer to qualified function type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/pt.cc:16383 #, gcc-internal-format msgid "forming reference to qualified function type %qT" msgstr "" ! #: cp/pt.cc:16431 #, gcc-internal-format msgid "creating pointer to member of non-class type %qT" msgstr "" ! #: cp/pt.cc:16437 #, gcc-internal-format msgid "creating pointer to member reference type %qT" msgstr "" ! #: cp/pt.cc:16443 #, gcc-internal-format msgid "creating pointer to member of type void" msgstr "" ! #: cp/pt.cc:16509 #, gcc-internal-format msgid "creating array of %qT" msgstr "" ! #: cp/pt.cc:16546 #, gcc-internal-format msgid "%qD is instantiated for an empty pack" msgstr "" ! #: cp/pt.cc:16567 #, gcc-internal-format msgid "%qT is not a class, struct, or union type" msgstr "" ! #: cp/pt.cc:16607 #, gcc-internal-format msgid "%qT resolves to %qT, which is not an enumeration type" msgstr "" ! #: cp/pt.cc:16615 #, gcc-internal-format msgid "%qT resolves to %qT, which is not a class type" msgstr "" ! #: cp/pt.cc:16728 #, fuzzy, gcc-internal-format msgid "use of %qs in template" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:17038 #, gcc-internal-format msgid "qualifying type %qT does not match destructor name ~%qT" msgstr "" ! #: cp/pt.cc:17053 #, gcc-internal-format msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" msgstr "" ! #: cp/pt.cc:17055 #, gcc-internal-format msgid "say % if a type is meant" msgstr "" ! #: cp/pt.cc:17148 #, gcc-internal-format msgid "initializer for %q#D expands to an empty list of expressions" msgstr "" ! #: cp/pt.cc:17339 #, gcc-internal-format msgid "using invalid field %qD" msgstr "" ! #: cp/pt.cc:17872 cp/pt.cc:19859 #, gcc-internal-format msgid "invalid use of pack expansion expression" msgstr "" ! #: cp/pt.cc:17876 cp/pt.cc:19863 #, gcc-internal-format msgid "use %<...%> to expand argument pack" msgstr "" ! #: cp/pt.cc:20000 #, gcc-internal-format msgid "empty initializer in lambda init-capture" msgstr "" ! #: cp/pt.cc:21142 #, gcc-internal-format msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" msgstr "" ! #: cp/pt.cc:21177 #, gcc-internal-format msgid "declarations in dependent base %qT are not found by unqualified lookup" msgstr "" ! #: cp/pt.cc:21182 #, gcc-internal-format msgid "use %%D%> instead" msgstr "" ! #: cp/pt.cc:21185 #, gcc-internal-format msgid "use %<%T::%D%> instead" msgstr "" ! #: cp/pt.cc:21190 #, gcc-internal-format msgid "%qD declared here, later in the translation unit" msgstr "" ! #: cp/pt.cc:21241 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_convertvector%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/pt.cc:21268 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to % attribute" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/pt.cc:21504 #, fuzzy, gcc-internal-format msgid "%qT is not a class or namespace" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:21507 #, fuzzy, gcc-internal-format msgid "%qD is not a class or namespace" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:21857 #, gcc-internal-format msgid "%qT is/uses unnamed type" msgstr "" ! #: cp/pt.cc:21859 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "template argument for %qD uses local type %qT" msgstr "звычайны аргумэнт для `%#D' мае тып `%T'" ! #: cp/pt.cc:21869 #, gcc-internal-format msgid "%qT is a variably modified type" msgstr "" ! #: cp/pt.cc:21884 #, fuzzy, gcc-internal-format msgid "integral expression %qE is not constant" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: cp/pt.cc:21902 #, gcc-internal-format msgid " trying to instantiate %qD" msgstr "" ! #: cp/pt.cc:26135 #, fuzzy, gcc-internal-format msgid "ambiguous template instantiation for %q#T" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26137 #, fuzzy, gcc-internal-format msgid "ambiguous template instantiation for %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26143 msgid "%s %#qS" msgstr "" ! #: cp/pt.cc:26167 cp/pt.cc:26262 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-template %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26173 #, fuzzy, gcc-internal-format msgid "explicit instantiation of variable concept %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26175 #, fuzzy, gcc-internal-format msgid "explicit instantiation of function concept %q#D" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/pt.cc:26194 #, gcc-internal-format msgid "%qD is not a static data member of a class template" msgstr "" ! #: cp/pt.cc:26200 cp/pt.cc:26257 #, gcc-internal-format msgid "no matching template for %qD found" msgstr "" ! #: cp/pt.cc:26205 #, gcc-internal-format msgid "type %qT for explicit instantiation %qD does not match declared type %qT" msgstr "" ! #: cp/pt.cc:26213 #, fuzzy, gcc-internal-format msgid "explicit instantiation of %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26249 #, fuzzy, gcc-internal-format msgid "duplicate explicit instantiation of %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26272 cp/pt.cc:26339 #, gcc-internal-format msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" msgstr "" ! #: cp/pt.cc:26277 cp/pt.cc:26354 #, gcc-internal-format msgid "storage class %qD applied to template instantiation" msgstr "" ! #: cp/pt.cc:26311 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-class template %qD" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26314 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-template type %qT" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26323 #, gcc-internal-format msgid "explicit instantiation of %q#T before definition of template" msgstr "" ! #: cp/pt.cc:26344 #, gcc-internal-format msgid "ISO C++ forbids the use of %qE on explicit instantiations" msgstr "" ! #: cp/pt.cc:26384 #, fuzzy, gcc-internal-format msgid "duplicate explicit instantiation of %q#T" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26694 #, gcc-internal-format msgid "exception specification of %qD depends on itself" msgstr "" --- 62033,62339 ---- #. #. is an attempt to declare a variable with function #. type. ! #: cp/pt.cc:15350 #, fuzzy, gcc-internal-format msgid "variable %qD has function type" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/pt.cc:15549 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid parameter type %qT" msgstr "нерэчаісны тып парамэтра `%T'" ! #: cp/pt.cc:15551 #, fuzzy, gcc-internal-format #| msgid "in declaration `%D'" msgid "in declaration %q+D" msgstr "у абвяшчэньні `%D'" ! #: cp/pt.cc:15678 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function returning an array" msgstr "функцыя не вяртае тып string" ! #: cp/pt.cc:15680 #, fuzzy, gcc-internal-format msgid "function returning a function" msgstr "\"%s\" не абвешчан (першае выкарыстанне ў гэтай функцыі)" ! #: cp/pt.cc:16380 #, gcc-internal-format msgid "forming reference to void" msgstr "" ! #: cp/pt.cc:16382 #, fuzzy, gcc-internal-format msgid "forming pointer to reference type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:16384 #, gcc-internal-format msgid "forming reference to reference type %qT" msgstr "" ! #: cp/pt.cc:16397 #, fuzzy, gcc-internal-format msgid "forming pointer to qualified function type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/pt.cc:16400 #, gcc-internal-format msgid "forming reference to qualified function type %qT" msgstr "" ! #: cp/pt.cc:16448 #, gcc-internal-format msgid "creating pointer to member of non-class type %qT" msgstr "" ! #: cp/pt.cc:16454 #, gcc-internal-format msgid "creating pointer to member reference type %qT" msgstr "" ! #: cp/pt.cc:16460 #, gcc-internal-format msgid "creating pointer to member of type void" msgstr "" ! #: cp/pt.cc:16526 #, gcc-internal-format msgid "creating array of %qT" msgstr "" ! #: cp/pt.cc:16563 #, gcc-internal-format msgid "%qD is instantiated for an empty pack" msgstr "" ! #: cp/pt.cc:16584 #, gcc-internal-format msgid "%qT is not a class, struct, or union type" msgstr "" ! #: cp/pt.cc:16624 #, gcc-internal-format msgid "%qT resolves to %qT, which is not an enumeration type" msgstr "" ! #: cp/pt.cc:16632 #, gcc-internal-format msgid "%qT resolves to %qT, which is not a class type" msgstr "" ! #: cp/pt.cc:16745 #, fuzzy, gcc-internal-format msgid "use of %qs in template" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:17055 #, gcc-internal-format msgid "qualifying type %qT does not match destructor name ~%qT" msgstr "" ! #: cp/pt.cc:17070 #, gcc-internal-format msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" msgstr "" ! #: cp/pt.cc:17072 #, gcc-internal-format msgid "say % if a type is meant" msgstr "" ! #: cp/pt.cc:17165 #, gcc-internal-format msgid "initializer for %q#D expands to an empty list of expressions" msgstr "" ! #: cp/pt.cc:17356 #, gcc-internal-format msgid "using invalid field %qD" msgstr "" ! #: cp/pt.cc:17889 cp/pt.cc:19876 #, gcc-internal-format msgid "invalid use of pack expansion expression" msgstr "" ! #: cp/pt.cc:17893 cp/pt.cc:19880 #, gcc-internal-format msgid "use %<...%> to expand argument pack" msgstr "" ! #: cp/pt.cc:20017 #, gcc-internal-format msgid "empty initializer in lambda init-capture" msgstr "" ! #: cp/pt.cc:21172 #, gcc-internal-format msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" msgstr "" ! #: cp/pt.cc:21207 #, gcc-internal-format msgid "declarations in dependent base %qT are not found by unqualified lookup" msgstr "" ! #: cp/pt.cc:21212 #, gcc-internal-format msgid "use %%D%> instead" msgstr "" ! #: cp/pt.cc:21215 #, gcc-internal-format msgid "use %<%T::%D%> instead" msgstr "" ! #: cp/pt.cc:21220 #, gcc-internal-format msgid "%qD declared here, later in the translation unit" msgstr "" ! #: cp/pt.cc:21271 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_convertvector%>" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/pt.cc:21298 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to % attribute" msgstr "памылковая колькасьць аргументаў, зададзеных для атрыбута `%s'" ! #: cp/pt.cc:21534 #, fuzzy, gcc-internal-format msgid "%qT is not a class or namespace" msgstr "\"%s\" мае незавершаны тып" ! #: cp/pt.cc:21537 #, fuzzy, gcc-internal-format msgid "%qD is not a class or namespace" msgstr "\"%s\" звычайна функцыя" ! #: cp/pt.cc:21887 #, gcc-internal-format msgid "%qT is/uses unnamed type" msgstr "" ! #: cp/pt.cc:21889 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "template argument for %qD uses local type %qT" msgstr "звычайны аргумэнт для `%#D' мае тып `%T'" ! #: cp/pt.cc:21899 #, gcc-internal-format msgid "%qT is a variably modified type" msgstr "" ! #: cp/pt.cc:21914 #, fuzzy, gcc-internal-format msgid "integral expression %qE is not constant" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: cp/pt.cc:21932 #, gcc-internal-format msgid " trying to instantiate %qD" msgstr "" ! #: cp/pt.cc:26165 #, fuzzy, gcc-internal-format msgid "ambiguous template instantiation for %q#T" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26167 #, fuzzy, gcc-internal-format msgid "ambiguous template instantiation for %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26173 msgid "%s %#qS" msgstr "" ! #: cp/pt.cc:26197 cp/pt.cc:26292 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-template %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26203 #, fuzzy, gcc-internal-format msgid "explicit instantiation of variable concept %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26205 #, fuzzy, gcc-internal-format msgid "explicit instantiation of function concept %q#D" msgstr "няма папярэдняга аб'яўлення для \"%s\"" ! #: cp/pt.cc:26224 #, gcc-internal-format msgid "%qD is not a static data member of a class template" msgstr "" ! #: cp/pt.cc:26230 cp/pt.cc:26287 #, gcc-internal-format msgid "no matching template for %qD found" msgstr "" ! #: cp/pt.cc:26235 #, gcc-internal-format msgid "type %qT for explicit instantiation %qD does not match declared type %qT" msgstr "" ! #: cp/pt.cc:26243 #, fuzzy, gcc-internal-format msgid "explicit instantiation of %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26279 #, fuzzy, gcc-internal-format msgid "duplicate explicit instantiation of %q#D" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26302 cp/pt.cc:26369 #, gcc-internal-format msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" msgstr "" ! #: cp/pt.cc:26307 cp/pt.cc:26384 #, gcc-internal-format msgid "storage class %qD applied to template instantiation" msgstr "" ! #: cp/pt.cc:26341 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-class template %qD" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26344 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-template type %qT" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26353 #, gcc-internal-format msgid "explicit instantiation of %q#T before definition of template" msgstr "" ! #: cp/pt.cc:26374 #, gcc-internal-format msgid "ISO C++ forbids the use of %qE on explicit instantiations" msgstr "" ! #: cp/pt.cc:26414 #, fuzzy, gcc-internal-format msgid "duplicate explicit instantiation of %q#T" msgstr "паўторнае абвяшчэнне меткі \"%s\"" ! #: cp/pt.cc:26724 #, gcc-internal-format msgid "exception specification of %qD depends on itself" msgstr "" *************** msgstr "" *** 62320,62483 **** #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. ! #: cp/pt.cc:27186 #, gcc-internal-format msgid "explicit instantiation of %qD but no definition available" msgstr "" ! #: cp/pt.cc:27233 #, gcc-internal-format msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "" ! #: cp/pt.cc:27603 #, gcc-internal-format msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:27633 #, gcc-internal-format msgid "%qT is not a valid type for a template non-type parameter because it is not structural" msgstr "" ! #: cp/pt.cc:27642 #, gcc-internal-format msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:27650 #, fuzzy, gcc-internal-format msgid "invalid template non-type parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:27652 #, fuzzy, gcc-internal-format msgid "%q#T is not a valid type for a template non-type parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:29080 #, fuzzy, gcc-internal-format msgid "keyword % not allowed in declarator-id" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: cp/pt.cc:29370 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "a concept cannot be constrained" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/pt.cc:29379 #, gcc-internal-format msgid "concept %qE not in namespace scope" msgstr "" ! #: cp/pt.cc:29385 #, gcc-internal-format msgid "concept %qE has multiple template parameter lists" msgstr "" ! #: cp/pt.cc:29416 #, gcc-internal-format msgid "deducing from brace-enclosed initializer list requires %<#include %>" msgstr "" ! #: cp/pt.cc:30564 #, gcc-internal-format msgid "non-deducible template %qT used without template arguments" msgstr "" ! #: cp/pt.cc:30576 #, gcc-internal-format msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:30582 #, gcc-internal-format msgid "use %qD directly instead" msgstr "" ! #: cp/pt.cc:30693 #, gcc-internal-format msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" msgstr "" ! #: cp/pt.cc:30700 #, gcc-internal-format msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" msgstr "" ! #: cp/pt.cc:30712 #, fuzzy, gcc-internal-format msgid "class template argument deduction failed:" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:30715 #, gcc-internal-format msgid "explicit deduction guides not considered for copy-initialization" msgstr "" #. TODO: Pass down location from cp_finish_decl. ! #: cp/pt.cc:30729 #, gcc-internal-format msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" msgstr "" ! #: cp/pt.cc:30733 #, fuzzy, gcc-internal-format msgid "explicit deduction guide declared here" msgstr "ініцыялізацыя" ! #: cp/pt.cc:30747 #, gcc-internal-format msgid "%qT may not intend to support class template argument deduction" msgstr "" ! #: cp/pt.cc:30749 #, gcc-internal-format msgid "add a deduction guide to suppress this warning" msgstr "" ! #: cp/pt.cc:30860 #, gcc-internal-format msgid "direct-list-initialization of % requires exactly one element" msgstr "" ! #: cp/pt.cc:30863 #, gcc-internal-format msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" msgstr "" ! #: cp/pt.cc:30942 #, gcc-internal-format msgid "unable to deduce lambda return type from %qE" msgstr "" ! #: cp/pt.cc:30945 #, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "" ! #: cp/pt.cc:31020 #, gcc-internal-format msgid "placeholder constraints not satisfied" msgstr "" ! #: cp/pt.cc:31024 #, gcc-internal-format msgid "deduced initializer does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31028 #, gcc-internal-format msgid "deduced return type does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31032 #, gcc-internal-format msgid "deduced expression type does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31172 #, fuzzy, gcc-internal-format msgid "invalid use of %qT in template argument" msgstr "нявернае выкарыстанне \"restict\"" --- 62345,62508 ---- #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. ! #: cp/pt.cc:27200 #, gcc-internal-format msgid "explicit instantiation of %qD but no definition available" msgstr "" ! #: cp/pt.cc:27247 #, gcc-internal-format msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "" ! #: cp/pt.cc:27617 #, gcc-internal-format msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:27647 #, gcc-internal-format msgid "%qT is not a valid type for a template non-type parameter because it is not structural" msgstr "" ! #: cp/pt.cc:27656 #, gcc-internal-format msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:27664 #, fuzzy, gcc-internal-format msgid "invalid template non-type parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:27666 #, fuzzy, gcc-internal-format msgid "%q#T is not a valid type for a template non-type parameter" msgstr "нявернае выкарыстанне \"restict\"" ! #: cp/pt.cc:29094 #, fuzzy, gcc-internal-format msgid "keyword % not allowed in declarator-id" msgstr "\"%s\" - гэта не пачатак дэкларацыі" ! #: cp/pt.cc:29384 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "a concept cannot be constrained" msgstr "віртуальныя функцыі не могуць быць сяброўскімі" ! #: cp/pt.cc:29393 #, gcc-internal-format msgid "concept %qE not in namespace scope" msgstr "" ! #: cp/pt.cc:29399 #, gcc-internal-format msgid "concept %qE has multiple template parameter lists" msgstr "" ! #: cp/pt.cc:29430 #, gcc-internal-format msgid "deducing from brace-enclosed initializer list requires %<#include %>" msgstr "" ! #: cp/pt.cc:30578 #, gcc-internal-format msgid "non-deducible template %qT used without template arguments" msgstr "" ! #: cp/pt.cc:30590 #, gcc-internal-format msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "" ! #: cp/pt.cc:30596 #, gcc-internal-format msgid "use %qD directly instead" msgstr "" ! #: cp/pt.cc:30707 #, gcc-internal-format msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" msgstr "" ! #: cp/pt.cc:30714 #, gcc-internal-format msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" msgstr "" ! #: cp/pt.cc:30726 #, fuzzy, gcc-internal-format msgid "class template argument deduction failed:" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/pt.cc:30729 #, gcc-internal-format msgid "explicit deduction guides not considered for copy-initialization" msgstr "" #. TODO: Pass down location from cp_finish_decl. ! #: cp/pt.cc:30743 #, gcc-internal-format msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" msgstr "" ! #: cp/pt.cc:30747 #, fuzzy, gcc-internal-format msgid "explicit deduction guide declared here" msgstr "ініцыялізацыя" ! #: cp/pt.cc:30761 #, gcc-internal-format msgid "%qT may not intend to support class template argument deduction" msgstr "" ! #: cp/pt.cc:30763 #, gcc-internal-format msgid "add a deduction guide to suppress this warning" msgstr "" ! #: cp/pt.cc:30874 #, gcc-internal-format msgid "direct-list-initialization of % requires exactly one element" msgstr "" ! #: cp/pt.cc:30877 #, gcc-internal-format msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" msgstr "" ! #: cp/pt.cc:30956 #, gcc-internal-format msgid "unable to deduce lambda return type from %qE" msgstr "" ! #: cp/pt.cc:30959 #, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "" ! #: cp/pt.cc:31034 #, gcc-internal-format msgid "placeholder constraints not satisfied" msgstr "" ! #: cp/pt.cc:31038 #, gcc-internal-format msgid "deduced initializer does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31042 #, gcc-internal-format msgid "deduced return type does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31046 #, gcc-internal-format msgid "deduced expression type does not satisfy placeholder constraints" msgstr "" ! #: cp/pt.cc:31186 #, fuzzy, gcc-internal-format msgid "invalid use of %qT in template argument" msgstr "нявернае выкарыстанне \"restict\"" *************** msgstr "" *** 64558,64713 **** msgid "insufficient contextual information to determine type" msgstr "" ! #: cp/typeck2.cc:812 #, gcc-internal-format msgid "constructor syntax used, but no constructor declared for type %qT" msgstr "" ! #: cp/typeck2.cc:885 #, gcc-internal-format msgid "% variable %qD does not have a constant initializer" msgstr "" ! #: cp/typeck2.cc:1064 msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" msgstr "" ! #: cp/typeck2.cc:1076 cp/typeck2.cc:1090 msgid "narrowing conversion of %qE from %qH to %qI" msgstr "" ! #: cp/typeck2.cc:1079 #, gcc-internal-format msgid " the expression has a constant value but is not a C++ constant-expression" msgstr "" ! #: cp/typeck2.cc:1254 #, gcc-internal-format msgid "initializer-string for %qT is too long" msgstr "" ! #: cp/typeck2.cc:1317 #, gcc-internal-format msgid "initializing a base class of type %qT results in object slicing" msgstr "" ! #: cp/typeck2.cc:1319 #, gcc-internal-format msgid "remove %<{ }%> around initializer" msgstr "" ! #: cp/typeck2.cc:1339 #, gcc-internal-format msgid "cannot initialize aggregate of type %qT with a compound literal" msgstr "" ! #: cp/typeck2.cc:1823 cp/typeck2.cc:1853 #, fuzzy, gcc-internal-format msgid "missing initializer for member %qD" msgstr "прапушчан ініцыялізатар" ! #: cp/typeck2.cc:1830 #, fuzzy, gcc-internal-format msgid "member %qD is uninitialized reference" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/typeck2.cc:1837 #, fuzzy, gcc-internal-format msgid "member %qD with uninitialized reference fields" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/typeck2.cc:1922 #, gcc-internal-format msgid "designator order for field %qD does not match declaration order in %qT" msgstr "" ! #: cp/typeck2.cc:1995 #, gcc-internal-format msgid "no field %qD found in union being initialized" msgstr "" ! #: cp/typeck2.cc:2006 #, gcc-internal-format msgid "index value instead of field name in union initializer" msgstr "" ! #: cp/typeck2.cc:2222 #, gcc-internal-format msgid "circular pointer delegation detected" msgstr "" ! #: cp/typeck2.cc:2236 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' has non-integer type" msgid "base operand of %<->%> has non-pointer type %qT" msgstr "памер масіва `%D' не цэлалікавы тып" ! #: cp/typeck2.cc:2266 #, gcc-internal-format msgid "result of %()%> yields non-pointer result" msgstr "" ! #: cp/typeck2.cc:2268 #, gcc-internal-format msgid "base operand of %<->%> is not a pointer" msgstr "" ! #: cp/typeck2.cc:2295 #, fuzzy, gcc-internal-format msgid "%qE cannot be used as a member pointer, since it is of type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/typeck2.cc:2304 #, gcc-internal-format msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" msgstr "" ! #: cp/typeck2.cc:2326 #, gcc-internal-format msgid "pointer to member type %qT incompatible with object type %qT" msgstr "" ! #: cp/typeck2.cc:2384 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an rvalue" msgstr "" ! #: cp/typeck2.cc:2395 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an lvalue" msgstr "" ! #: cp/typeck2.cc:2403 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an lvalue before C++20" msgstr "" ! #: cp/typeck2.cc:2444 #, fuzzy, gcc-internal-format msgid "functional cast to array type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/typeck2.cc:2461 #, gcc-internal-format msgid "% cannot be constrained" msgstr "" ! #: cp/typeck2.cc:2466 #, gcc-internal-format msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "" ! #: cp/typeck2.cc:2491 #, fuzzy, gcc-internal-format msgid "invalid value-initialization of reference type" msgstr "нерэчаісны ініцыялізатар" ! #: cp/typeck2.cc:2732 #, fuzzy, gcc-internal-format msgid "call to function %qD which throws incomplete type %q#T" msgstr "\"%s\" мае незавершаны тып" ! #: cp/typeck2.cc:2735 #, fuzzy, gcc-internal-format msgid "call to function which throws incomplete type %q#T" msgstr "\"%s\" мае незавершаны тып" --- 64583,64738 ---- msgid "insufficient contextual information to determine type" msgstr "" ! #: cp/typeck2.cc:833 #, gcc-internal-format msgid "constructor syntax used, but no constructor declared for type %qT" msgstr "" ! #: cp/typeck2.cc:903 #, gcc-internal-format msgid "% variable %qD does not have a constant initializer" msgstr "" ! #: cp/typeck2.cc:1082 msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" msgstr "" ! #: cp/typeck2.cc:1094 cp/typeck2.cc:1108 msgid "narrowing conversion of %qE from %qH to %qI" msgstr "" ! #: cp/typeck2.cc:1097 #, gcc-internal-format msgid " the expression has a constant value but is not a C++ constant-expression" msgstr "" ! #: cp/typeck2.cc:1272 #, gcc-internal-format msgid "initializer-string for %qT is too long" msgstr "" ! #: cp/typeck2.cc:1335 #, gcc-internal-format msgid "initializing a base class of type %qT results in object slicing" msgstr "" ! #: cp/typeck2.cc:1337 #, gcc-internal-format msgid "remove %<{ }%> around initializer" msgstr "" ! #: cp/typeck2.cc:1357 #, gcc-internal-format msgid "cannot initialize aggregate of type %qT with a compound literal" msgstr "" ! #: cp/typeck2.cc:1841 cp/typeck2.cc:1871 #, fuzzy, gcc-internal-format msgid "missing initializer for member %qD" msgstr "прапушчан ініцыялізатар" ! #: cp/typeck2.cc:1848 #, fuzzy, gcc-internal-format msgid "member %qD is uninitialized reference" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/typeck2.cc:1855 #, fuzzy, gcc-internal-format msgid "member %qD with uninitialized reference fields" msgstr "параметр \"%s\" ініцыялізаваны" ! #: cp/typeck2.cc:1940 #, gcc-internal-format msgid "designator order for field %qD does not match declaration order in %qT" msgstr "" ! #: cp/typeck2.cc:2013 #, gcc-internal-format msgid "no field %qD found in union being initialized" msgstr "" ! #: cp/typeck2.cc:2024 #, gcc-internal-format msgid "index value instead of field name in union initializer" msgstr "" ! #: cp/typeck2.cc:2240 #, gcc-internal-format msgid "circular pointer delegation detected" msgstr "" ! #: cp/typeck2.cc:2254 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' has non-integer type" msgid "base operand of %<->%> has non-pointer type %qT" msgstr "памер масіва `%D' не цэлалікавы тып" ! #: cp/typeck2.cc:2284 #, gcc-internal-format msgid "result of %()%> yields non-pointer result" msgstr "" ! #: cp/typeck2.cc:2286 #, gcc-internal-format msgid "base operand of %<->%> is not a pointer" msgstr "" ! #: cp/typeck2.cc:2313 #, fuzzy, gcc-internal-format msgid "%qE cannot be used as a member pointer, since it is of type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/typeck2.cc:2322 #, gcc-internal-format msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" msgstr "" ! #: cp/typeck2.cc:2344 #, gcc-internal-format msgid "pointer to member type %qT incompatible with object type %qT" msgstr "" ! #: cp/typeck2.cc:2402 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an rvalue" msgstr "" ! #: cp/typeck2.cc:2413 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an lvalue" msgstr "" ! #: cp/typeck2.cc:2421 #, gcc-internal-format msgid "pointer-to-member-function type %qT requires an lvalue before C++20" msgstr "" ! #: cp/typeck2.cc:2462 #, fuzzy, gcc-internal-format msgid "functional cast to array type %qT" msgstr "Нерэчаісны выбар \"%s\"" ! #: cp/typeck2.cc:2479 #, gcc-internal-format msgid "% cannot be constrained" msgstr "" ! #: cp/typeck2.cc:2484 #, gcc-internal-format msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "" ! #: cp/typeck2.cc:2509 #, fuzzy, gcc-internal-format msgid "invalid value-initialization of reference type" msgstr "нерэчаісны ініцыялізатар" ! #: cp/typeck2.cc:2750 #, fuzzy, gcc-internal-format msgid "call to function %qD which throws incomplete type %q#T" msgstr "\"%s\" мае незавершаны тып" ! #: cp/typeck2.cc:2753 #, fuzzy, gcc-internal-format msgid "call to function which throws incomplete type %q#T" msgstr "\"%s\" мае незавершаны тып" *************** msgstr "" *** 64742,64748 **** msgid "only % and % flags are allowed for % attribute" msgstr "" ! #: d/d-builtins.cc:816 #, gcc-internal-format msgid "conflicting types for built-in function %qs; expected %qs" msgstr "" --- 64767,64773 ---- msgid "only % and % flags are allowed for % attribute" msgstr "" ! #: d/d-builtins.cc:819 #, gcc-internal-format msgid "conflicting types for built-in function %qs; expected %qs" msgstr "" *************** msgstr "" *** 64933,64954 **** msgid "size is too large" msgstr "%s - вельмі вялікі" ! #: d/decl.cc:1374 #, gcc-internal-format msgid "function requires a dual-context, which is not yet supported by GDC" msgstr "" ! #: d/decl.cc:1551 #, gcc-internal-format msgid "explicit register variable %qs declared %" msgstr "" ! #: d/decl.cc:1554 #, gcc-internal-format msgid "explicit register variable %qs declared thread local" msgstr "" ! #: d/decl.cc:1767 #, gcc-internal-format msgid "mismatch between declaration %qE size (%wd) and its initializer size (%wd)" msgstr "" --- 64958,64979 ---- msgid "size is too large" msgstr "%s - вельмі вялікі" ! #: d/decl.cc:1394 #, gcc-internal-format msgid "function requires a dual-context, which is not yet supported by GDC" msgstr "" ! #: d/decl.cc:1571 #, gcc-internal-format msgid "explicit register variable %qs declared %" msgstr "" ! #: d/decl.cc:1574 #, gcc-internal-format msgid "explicit register variable %qs declared thread local" msgstr "" ! #: d/decl.cc:1787 #, gcc-internal-format msgid "mismatch between declaration %qE size (%wd) and its initializer size (%wd)" msgstr "" *************** msgstr "" *** 64994,65010 **** msgid "recursive reference %qs" msgstr "" ! #: d/expr.cc:2180 d/expr.cc:3075 #, gcc-internal-format msgid "non-constant expression %qs" msgstr "" ! #: d/expr.cc:3042 #, gcc-internal-format msgid "%qs is not an expression" msgstr "" ! #: d/expr.cc:3049 #, gcc-internal-format msgid "type %qs is not an expression" msgstr "" --- 65019,65035 ---- msgid "recursive reference %qs" msgstr "" ! #: d/expr.cc:2180 d/expr.cc:3079 #, gcc-internal-format msgid "non-constant expression %qs" msgstr "" ! #: d/expr.cc:3046 #, gcc-internal-format msgid "%qs is not an expression" msgstr "" ! #: d/expr.cc:3053 #, gcc-internal-format msgid "type %qs is not an expression" msgstr "" *************** msgstr "" *** 65105,65115 **** msgid "missing or corrupt object.d" msgstr "" ! #: d/types.cc:871 #, gcc-internal-format, gfc-internal-format msgid "invalid expression for static array dimension: %s" msgstr "" #: fortran/arith.cc:47 #, gcc-internal-format, gfc-internal-format msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER" --- 65130,65145 ---- msgid "missing or corrupt object.d" msgstr "" ! #: d/types.cc:902 #, gcc-internal-format, gfc-internal-format msgid "invalid expression for static array dimension: %s" msgstr "" + #: d/types.cc:1110 + #, gcc-internal-format + msgid "size of %qs (%wd) differ from its declared size (%wd)" + msgstr "" + #: fortran/arith.cc:47 #, gcc-internal-format, gfc-internal-format msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER" *************** msgstr "пустая сімвальна *** 65160,65166 **** msgid "Invalid type in arithmetic operation at %L" msgstr "" ! #: fortran/arith.cc:126 fortran/arith.cc:2060 #, gcc-internal-format msgid "gfc_arith_error(): Bad error code" msgstr "" --- 65190,65196 ---- msgid "Invalid type in arithmetic operation at %L" msgstr "" ! #: fortran/arith.cc:126 fortran/arith.cc:2071 #, gcc-internal-format msgid "gfc_arith_error(): Bad error code" msgstr "" *************** msgstr "" *** 65240,65321 **** msgid "compare_real(): Bad operator" msgstr "" ! #: fortran/arith.cc:1124 #, gcc-internal-format msgid "gfc_compare_expr(): Bad basic type" msgstr "" ! #: fortran/arith.cc:1707 #, gcc-internal-format msgid "eval_intrinsic(): Bad operator" msgstr "" ! #: fortran/arith.cc:1766 #, gcc-internal-format msgid "eval_type_intrinsic0(): op NULL" msgstr "" ! #: fortran/arith.cc:2028 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic OK converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2032 #, gcc-internal-format msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2037 #, gcc-internal-format msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2042 #, gcc-internal-format msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2047 #, gcc-internal-format, gfc-internal-format msgid "Division by zero converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2051 #, gcc-internal-format, gfc-internal-format msgid "Array operands are incommensurate converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2055 #, gcc-internal-format, gfc-internal-format msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2145 fortran/arith.cc:2264 fortran/arith.cc:2327 ! #: fortran/arith.cc:2382 fortran/arith.cc:2445 fortran/arith.cc:2517 ! #: fortran/arith.cc:2587 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid "Conversion from %qs to %qs at %L" msgstr "пераўтварэньне з `%T' у `%T'" ! #: fortran/arith.cc:2177 fortran/arith.cc:2213 fortran/arith.cc:2255 ! #: fortran/arith.cc:2317 fortran/arith.cc:2372 fortran/arith.cc:2435 ! #: fortran/arith.cc:2507 fortran/arith.cc:2579 #, gcc-internal-format msgid "Change of value in conversion from %qs to %qs at %L" msgstr "" ! #: fortran/arith.cc:2421 fortran/arith.cc:2493 #, gcc-internal-format msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L" msgstr "" ! #: fortran/arith.cc:2672 #, gcc-internal-format msgid "The Hollerith constant at %L is truncated in conversion to %qs" msgstr "" ! #: fortran/arith.cc:2701 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The character constant at %L is truncated in conversion to %s" msgstr "сімвальная канстанта вельмі доўгая" --- 65270,65351 ---- msgid "compare_real(): Bad operator" msgstr "" ! #: fortran/arith.cc:1129 #, gcc-internal-format msgid "gfc_compare_expr(): Bad basic type" msgstr "" ! #: fortran/arith.cc:1718 #, gcc-internal-format msgid "eval_intrinsic(): Bad operator" msgstr "" ! #: fortran/arith.cc:1777 #, gcc-internal-format msgid "eval_type_intrinsic0(): op NULL" msgstr "" ! #: fortran/arith.cc:2039 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic OK converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2043 #, gcc-internal-format msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2048 #, gcc-internal-format msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2053 #, gcc-internal-format msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2058 #, gcc-internal-format, gfc-internal-format msgid "Division by zero converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2062 #, gcc-internal-format, gfc-internal-format msgid "Array operands are incommensurate converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2066 #, gcc-internal-format, gfc-internal-format msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2156 fortran/arith.cc:2275 fortran/arith.cc:2338 ! #: fortran/arith.cc:2393 fortran/arith.cc:2456 fortran/arith.cc:2528 ! #: fortran/arith.cc:2598 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid "Conversion from %qs to %qs at %L" msgstr "пераўтварэньне з `%T' у `%T'" ! #: fortran/arith.cc:2188 fortran/arith.cc:2224 fortran/arith.cc:2266 ! #: fortran/arith.cc:2328 fortran/arith.cc:2383 fortran/arith.cc:2446 ! #: fortran/arith.cc:2518 fortran/arith.cc:2590 #, gcc-internal-format msgid "Change of value in conversion from %qs to %qs at %L" msgstr "" ! #: fortran/arith.cc:2432 fortran/arith.cc:2504 #, gcc-internal-format msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L" msgstr "" ! #: fortran/arith.cc:2683 #, gcc-internal-format msgid "The Hollerith constant at %L is truncated in conversion to %qs" msgstr "" ! #: fortran/arith.cc:2712 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The character constant at %L is truncated in conversion to %s" msgstr "сімвальная канстанта вельмі доўгая" *************** msgstr "" *** 65647,65653 **** msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" msgstr "" ! #: fortran/check.cc:123 fortran/resolve.cc:11164 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Invalid use of BOZ literal constant at %L" --- 65677,65683 ---- msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" msgstr "" ! #: fortran/check.cc:123 fortran/resolve.cc:11196 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Invalid use of BOZ literal constant at %L" *************** msgstr "" *** 66744,66755 **** msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" msgstr "" ! #: fortran/data.cc:188 fortran/resolve.cc:5236 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L is less than one" msgstr "" ! #: fortran/data.cc:194 fortran/resolve.cc:5266 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L exceeds the string length" msgstr "" --- 66774,66785 ---- msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" msgstr "" ! #: fortran/data.cc:188 fortran/resolve.cc:5258 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L is less than one" msgstr "" ! #: fortran/data.cc:194 fortran/resolve.cc:5288 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L exceeds the string length" msgstr "" *************** msgstr "" *** 66931,66937 **** msgid "deferred type parameter at %C" msgstr "" ! #: fortran/decl.cc:1159 fortran/resolve.cc:12952 #, gcc-internal-format, gfc-internal-format msgid "Scalar INTEGER expression expected at %L" msgstr "" --- 66961,66967 ---- msgid "deferred type parameter at %C" msgstr "" ! #: fortran/decl.cc:1159 fortran/resolve.cc:12984 #, gcc-internal-format, gfc-internal-format msgid "Scalar INTEGER expression expected at %L" msgstr "" *************** msgstr "" *** 69695,69706 **** msgid "Second argument of defined assignment at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:998 fortran/resolve.cc:17775 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:1005 fortran/resolve.cc:17793 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L must be INTENT(IN)" msgstr "" --- 69725,69736 ---- msgid "Second argument of defined assignment at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:998 fortran/resolve.cc:17810 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:1005 fortran/resolve.cc:17828 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L must be INTENT(IN)" msgstr "" *************** msgstr "пераўтварэньне з *** 70551,70557 **** #. Use of -fdec-char-conversions allows assignment of character data #. to non-character variables. This not permited for nonconstant #. strings. ! #: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 #, gcc-internal-format, gfc-internal-format msgid "Cannot convert %s to %s at %L" msgstr "" --- 70581,70587 ---- #. Use of -fdec-char-conversions allows assignment of character data #. to non-character variables. This not permited for nonconstant #. strings. ! #: fortran/intrinsic.cc:5406 fortran/resolve.cc:11171 #, gcc-internal-format, gfc-internal-format msgid "Cannot convert %s to %s at %L" msgstr "" *************** msgstr "" *** 71104,71110 **** msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" msgstr "" ! #: fortran/io.cc:3431 fortran/resolve.cc:15623 #, gcc-internal-format msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" msgstr "" --- 71134,71140 ---- msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" msgstr "" ! #: fortran/io.cc:3431 fortran/resolve.cc:15658 #, gcc-internal-format msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" msgstr "" *************** msgstr "" *** 71675,71681 **** msgid "STOP code at %L must be default integer KIND=%d" msgstr "" ! #: fortran/match.cc:3208 fortran/resolve.cc:12278 #, gcc-internal-format, gfc-internal-format msgid "QUIET specifier at %L must be a scalar LOGICAL" msgstr "" --- 71705,71711 ---- msgid "STOP code at %L must be default integer KIND=%d" msgstr "" ! #: fortran/match.cc:3208 fortran/resolve.cc:12310 #, gcc-internal-format, gfc-internal-format msgid "QUIET specifier at %L must be a scalar LOGICAL" msgstr "" *************** msgstr "" *** 73050,73056 **** msgid "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator" msgstr "" ! #: fortran/openmp.cc:4578 fortran/openmp.cc:8355 #, gcc-internal-format, gfc-internal-format msgid "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression" msgstr "" --- 73080,73086 ---- msgid "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator" msgstr "" ! #: fortran/openmp.cc:4578 fortran/openmp.cc:8371 #, gcc-internal-format, gfc-internal-format msgid "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression" msgstr "" *************** msgstr "" *** 73085,73096 **** msgid "Unexpected junk after $OMP FLUSH statement at %C" msgstr "" ! #: fortran/openmp.cc:5055 fortran/openmp.cc:10302 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:5059 fortran/openmp.cc:10306 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L" msgstr "" --- 73115,73126 ---- msgid "Unexpected junk after $OMP FLUSH statement at %C" msgstr "" ! #: fortran/openmp.cc:5055 fortran/openmp.cc:10318 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:5059 fortran/openmp.cc:10322 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L" msgstr "" *************** msgstr "" *** 73462,73468 **** msgid "Cray pointee object %qs of derived type in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6746 fortran/openmp.cc:8223 #, gcc-internal-format msgid "POINTER object %qs of polymorphic type in %s clause at %L" msgstr "" --- 73492,73498 ---- msgid "Cray pointee object %qs of derived type in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6746 fortran/openmp.cc:8239 #, gcc-internal-format msgid "POINTER object %qs of polymorphic type in %s clause at %L" msgstr "" *************** msgstr "" *** 73477,73483 **** msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6766 fortran/openmp.cc:7790 fortran/openmp.cc:7985 #, gcc-internal-format msgid "Assumed size array %qs in %s clause at %L" msgstr "" --- 73507,73513 ---- msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6766 fortran/openmp.cc:7806 fortran/openmp.cc:8001 #, gcc-internal-format msgid "Assumed size array %qs in %s clause at %L" msgstr "" *************** msgstr "" *** 73487,73508 **** msgid "Assumed rank array %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6785 fortran/openmp.cc:7972 #, gcc-internal-format msgid "POINTER object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6790 fortran/openmp.cc:8227 #, gcc-internal-format msgid "Cray pointer object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6795 fortran/openmp.cc:8230 #, gcc-internal-format msgid "Cray pointee object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6800 fortran/openmp.cc:8218 #, gcc-internal-format msgid "ALLOCATABLE object %qs in %s clause at %L" msgstr "" --- 73517,73538 ---- msgid "Assumed rank array %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6785 fortran/openmp.cc:7988 #, gcc-internal-format msgid "POINTER object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6790 fortran/openmp.cc:8243 #, gcc-internal-format msgid "Cray pointer object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6795 fortran/openmp.cc:8246 #, gcc-internal-format msgid "Cray pointee object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6800 fortran/openmp.cc:8234 #, gcc-internal-format msgid "ALLOCATABLE object %qs in %s clause at %L" msgstr "" *************** msgstr "" *** 73537,73544 **** msgid "ORDER clause must not be used together ORDERED at %L" msgstr "" ! #: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 ! #: fortran/resolve.cc:12506 #, gcc-internal-format, gfc-internal-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "" --- 73567,73574 ---- msgid "ORDER clause must not be used together ORDERED at %L" msgstr "" ! #: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10982 ! #: fortran/resolve.cc:12538 #, gcc-internal-format, gfc-internal-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "" *************** msgstr "" *** 73598,73604 **** msgid "Object %qs is not a variable at %L; parameters cannot be and need not be mapped" msgstr "" ! #: fortran/openmp.cc:7209 fortran/openmp.cc:10006 #, gcc-internal-format msgid "Object %qs is not a variable at %L" msgstr "" --- 73628,73634 ---- msgid "Object %qs is not a variable at %L; parameters cannot be and need not be mapped" msgstr "" ! #: fortran/openmp.cc:7209 fortran/openmp.cc:10022 #, gcc-internal-format msgid "Object %qs is not a variable at %L" msgstr "" *************** msgstr "" *** 73611,73617 **** #: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282 #: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325 #: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369 ! #: fortran/openmp.cc:7474 fortran/openmp.cc:10030 #, gcc-internal-format msgid "Symbol %qs present on multiple clauses at %L" msgstr "" --- 73641,73647 ---- #: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282 #: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325 #: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369 ! #: fortran/openmp.cc:7474 fortran/openmp.cc:10046 #, gcc-internal-format msgid "Symbol %qs present on multiple clauses at %L" msgstr "" *************** msgstr "" *** 73756,74284 **** msgid "Array is not contiguous at %L" msgstr "" ! #: fortran/openmp.cc:7721 #, gcc-internal-format, gfc-internal-format msgid "Unexpected substring reference in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7729 #, gcc-internal-format, gfc-internal-format msgid "Unexpected complex-parts designator reference in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7738 fortran/openmp.cc:7756 #, gcc-internal-format msgid "%qs in %s clause at %L is not a proper array section" msgstr "" ! #: fortran/openmp.cc:7748 #, gcc-internal-format, gfc-internal-format msgid "Stride should not be specified for array section in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7770 #, gcc-internal-format msgid "%qs in %s clause at %L is a zero size array section" msgstr "" ! #: fortran/openmp.cc:7796 #, gcc-internal-format msgid "List item %qs with allocatable components is not permitted in map clause at %L" msgstr "" ! #: fortran/openmp.cc:7815 #, gcc-internal-format, gfc-internal-format msgid "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7837 #, gcc-internal-format, gfc-internal-format msgid "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7858 #, gcc-internal-format, gfc-internal-format msgid "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7874 fortran/openmp.cc:7956 #, gcc-internal-format msgid "THREADPRIVATE object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7877 fortran/openmp.cc:7959 #, gcc-internal-format msgid "Cray pointee %qs in %s clause at %L" msgstr "" #. Non-TARGET (i.e. DISPATCH) requires a C_PTR. ! #: fortran/openmp.cc:7889 #, gcc-internal-format msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)" msgstr "" ! #: fortran/openmp.cc:7950 #, gcc-internal-format msgid "% and non-% % clauses on the same construct at %L" msgstr "" ! #: fortran/openmp.cc:7962 #, gcc-internal-format msgid "Associate name %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7969 #, gcc-internal-format msgid "Procedure pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7975 #, gcc-internal-format msgid "Cray pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7988 #, gcc-internal-format msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" msgstr "" #. case OMP_LIST_REDUCTION: ! #: fortran/openmp.cc:7998 #, gcc-internal-format msgid "INTENT(IN) POINTER %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8009 #, gcc-internal-format msgid "DETACH event handle %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8033 #, gcc-internal-format, gfc-internal-format msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:8126 #, gcc-internal-format, gfc-internal-format msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L" msgstr "" ! #: fortran/openmp.cc:8154 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8160 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8168 #, gcc-internal-format msgid "LINEAR variable %qs must be INTEGER at %L" msgstr "" ! #: fortran/openmp.cc:8173 #, gcc-internal-format msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L" msgstr "" ! #: fortran/openmp.cc:8184 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a scalar integer linear-step expression" msgstr "" ! #: fortran/openmp.cc:8201 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause" msgstr "" ! #: fortran/openmp.cc:8235 #, gcc-internal-format msgid "%s clause variable %qs at %L is neither a POINTER nor an array" msgstr "" ! #: fortran/openmp.cc:8295 #, gcc-internal-format, gfc-internal-format msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L" msgstr "" ! #: fortran/openmp.cc:8308 #, gcc-internal-format, gfc-internal-format msgid "Value of HINT clause at %L shall be a valid constant hint expression" msgstr "" ! #: fortran/openmp.cc:8318 #, gcc-internal-format, gfc-internal-format msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgstr "" ! #: fortran/openmp.cc:8348 #, gcc-internal-format, gfc-internal-format msgid "Incompatible use of TILE and COLLAPSE at %L" msgstr "" ! #: fortran/openmp.cc:8372 #, gcc-internal-format, gfc-internal-format msgid "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or USE_DEVICE_ADDR clause at %L" msgstr "" ! #: fortran/openmp.cc:8375 #, gcc-internal-format, gfc-internal-format msgid "%s must contain at least one MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:8385 #, gcc-internal-format msgid "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)" msgstr "" ! #: fortran/openmp.cc:8390 #, gcc-internal-format, gfc-internal-format msgid "The event handle at %L must not be an array element" msgstr "" ! #: fortran/openmp.cc:8394 #, gcc-internal-format, gfc-internal-format msgid "The event handle at %L must not be part of a derived type or class" msgstr "" ! #: fortran/openmp.cc:8398 #, gcc-internal-format msgid "% clause at %L must not be used together with % clause" msgstr "" ! #: fortran/openmp.cc:8553 #, gcc-internal-format, gfc-internal-format msgid "Expected IF at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8561 #, gcc-internal-format, gfc-internal-format msgid "Expected ELSE at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8673 #, gcc-internal-format msgid "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L" msgstr "" ! #: fortran/openmp.cc:8679 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic variable at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8687 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic expression at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8695 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8704 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8711 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" msgstr "" ! #: fortran/openmp.cc:8728 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8733 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8745 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8753 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8763 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8779 #, gcc-internal-format msgid "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the variable %qs that the update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8787 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8805 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure" msgstr "" ! #: fortran/openmp.cc:8832 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L" msgstr "" ! #: fortran/openmp.cc:8880 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L" msgstr "" ! #: fortran/openmp.cc:8894 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L" msgstr "" ! #: fortran/openmp.cc:8927 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8951 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L" msgstr "" ! #: fortran/openmp.cc:8958 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L" msgstr "" ! #: fortran/openmp.cc:8981 #, gcc-internal-format msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" msgstr "" ! #: fortran/openmp.cc:8988 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L" msgstr "" ! #: fortran/openmp.cc:8996 #, gcc-internal-format msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" msgstr "" ! #: fortran/openmp.cc:9014 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L" msgstr "" ! #: fortran/openmp.cc:9019 #, gcc-internal-format, gfc-internal-format msgid "unexpected !$OMP ATOMIC expression at %L" msgstr "" ! #: fortran/openmp.cc:9065 #, gcc-internal-format msgid "ORDERED clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9068 #, gcc-internal-format msgid "SCHEDULE clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9076 #, gcc-internal-format, gfc-internal-format msgid "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-block-sequences" msgstr "" ! #: fortran/openmp.cc:9483 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9489 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9495 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must not be THREADPRIVATE at %L" msgstr "" ! #: fortran/openmp.cc:9512 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE at %L" msgstr "" ! #: fortran/openmp.cc:9516 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR at %L" msgstr "" ! #: fortran/openmp.cc:9523 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable used in more than one loop at %L" msgstr "" ! #: fortran/openmp.cc:9531 #, gcc-internal-format, gfc-internal-format msgid "%s loop start expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9539 #, gcc-internal-format, gfc-internal-format msgid "%s loop end expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9545 #, gcc-internal-format, gfc-internal-format msgid "%s loop bounds reference different iteration variables at %L" msgstr "" ! #: fortran/openmp.cc:9551 #, gcc-internal-format, gfc-internal-format msgid "%s loop increment not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9561 #, gcc-internal-format, gfc-internal-format msgid "collapsed %s loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9570 fortran/openmp.cc:9578 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for collapsed %s at %L" msgstr "" ! #: fortran/openmp.cc:9785 fortran/openmp.cc:9798 #, gcc-internal-format, gfc-internal-format msgid "The %s directive cannot be specified within a %s region at %L" msgstr "" ! #: fortran/openmp.cc:9817 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9823 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9829 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9845 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" msgstr "" ! #: fortran/openmp.cc:9857 #, gcc-internal-format, gfc-internal-format msgid "%s !$ACC LOOP loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9867 fortran/openmp.cc:9876 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for %s !$ACC LOOP at %L" msgstr "" ! #: fortran/openmp.cc:9892 #, gcc-internal-format, gfc-internal-format msgid "Tiled loop cannot be parallelized across gangs, workers and vectors at the same time at %L" msgstr "" ! #: fortran/openmp.cc:9913 #, gcc-internal-format, gfc-internal-format msgid "TILE requires constant expression at %L" msgstr "" ! #: fortran/openmp.cc:10013 #, gcc-internal-format msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" msgstr "" ! #: fortran/openmp.cc:10060 #, gcc-internal-format msgid "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10066 #, gcc-internal-format msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10191 #, gcc-internal-format, gfc-internal-format msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause" msgstr "" ! #: fortran/openmp.cc:10205 #, gcc-internal-format, gfc-internal-format msgid "OMP CRITICAL at %L with HINT clause requires a NAME, except when omp_sync_hint_none is used" msgstr "" ! #: fortran/openmp.cc:10211 #, gcc-internal-format msgid "Unexpected !$OMP SCAN at %L outside loop construct with % REDUCTION clause" msgstr "" ! #: fortran/openmp.cc:10232 #, gcc-internal-format msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L" msgstr "" ! #: fortran/openmp.cc:10256 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10264 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10293 #, gcc-internal-format, gfc-internal-format msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L" msgstr "" ! #: fortran/openmp.cc:10315 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L" msgstr "" ! #: fortran/openmp.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10346 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10356 #, gcc-internal-format, gfc-internal-format msgid "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE REDUCTION must be OMP_PRIV at %L" msgstr "" ! #: fortran/openmp.cc:10364 #, gcc-internal-format, gfc-internal-format msgid "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type without default initializer at %L" msgstr "" --- 73786,74319 ---- msgid "Array is not contiguous at %L" msgstr "" ! #: fortran/openmp.cc:7725 ! #, gcc-internal-format ! msgid "%qs clause argument must be ALLOCATABLE or a POINTER at %L" ! msgstr "" ! ! #: fortran/openmp.cc:7737 #, gcc-internal-format, gfc-internal-format msgid "Unexpected substring reference in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7745 #, gcc-internal-format, gfc-internal-format msgid "Unexpected complex-parts designator reference in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7754 fortran/openmp.cc:7772 #, gcc-internal-format msgid "%qs in %s clause at %L is not a proper array section" msgstr "" ! #: fortran/openmp.cc:7764 #, gcc-internal-format, gfc-internal-format msgid "Stride should not be specified for array section in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7786 #, gcc-internal-format msgid "%qs in %s clause at %L is a zero size array section" msgstr "" ! #: fortran/openmp.cc:7812 #, gcc-internal-format msgid "List item %qs with allocatable components is not permitted in map clause at %L" msgstr "" ! #: fortran/openmp.cc:7831 #, gcc-internal-format, gfc-internal-format msgid "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7853 #, gcc-internal-format, gfc-internal-format msgid "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7874 #, gcc-internal-format, gfc-internal-format msgid "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7890 fortran/openmp.cc:7972 #, gcc-internal-format msgid "THREADPRIVATE object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7893 fortran/openmp.cc:7975 #, gcc-internal-format msgid "Cray pointee %qs in %s clause at %L" msgstr "" #. Non-TARGET (i.e. DISPATCH) requires a C_PTR. ! #: fortran/openmp.cc:7905 #, gcc-internal-format msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)" msgstr "" ! #: fortran/openmp.cc:7966 #, gcc-internal-format msgid "% and non-% % clauses on the same construct at %L" msgstr "" ! #: fortran/openmp.cc:7978 #, gcc-internal-format msgid "Associate name %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7985 #, gcc-internal-format msgid "Procedure pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7991 #, gcc-internal-format msgid "Cray pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8004 #, gcc-internal-format msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" msgstr "" #. case OMP_LIST_REDUCTION: ! #: fortran/openmp.cc:8014 #, gcc-internal-format msgid "INTENT(IN) POINTER %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8025 #, gcc-internal-format msgid "DETACH event handle %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8049 #, gcc-internal-format, gfc-internal-format msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:8142 #, gcc-internal-format, gfc-internal-format msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L" msgstr "" ! #: fortran/openmp.cc:8170 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8176 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8184 #, gcc-internal-format msgid "LINEAR variable %qs must be INTEGER at %L" msgstr "" ! #: fortran/openmp.cc:8189 #, gcc-internal-format msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L" msgstr "" ! #: fortran/openmp.cc:8200 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a scalar integer linear-step expression" msgstr "" ! #: fortran/openmp.cc:8217 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause" msgstr "" ! #: fortran/openmp.cc:8251 #, gcc-internal-format msgid "%s clause variable %qs at %L is neither a POINTER nor an array" msgstr "" ! #: fortran/openmp.cc:8311 #, gcc-internal-format, gfc-internal-format msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L" msgstr "" ! #: fortran/openmp.cc:8324 #, gcc-internal-format, gfc-internal-format msgid "Value of HINT clause at %L shall be a valid constant hint expression" msgstr "" ! #: fortran/openmp.cc:8334 #, gcc-internal-format, gfc-internal-format msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgstr "" ! #: fortran/openmp.cc:8364 #, gcc-internal-format, gfc-internal-format msgid "Incompatible use of TILE and COLLAPSE at %L" msgstr "" ! #: fortran/openmp.cc:8388 #, gcc-internal-format, gfc-internal-format msgid "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or USE_DEVICE_ADDR clause at %L" msgstr "" ! #: fortran/openmp.cc:8391 #, gcc-internal-format, gfc-internal-format msgid "%s must contain at least one MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:8401 #, gcc-internal-format msgid "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)" msgstr "" ! #: fortran/openmp.cc:8406 #, gcc-internal-format, gfc-internal-format msgid "The event handle at %L must not be an array element" msgstr "" ! #: fortran/openmp.cc:8410 #, gcc-internal-format, gfc-internal-format msgid "The event handle at %L must not be part of a derived type or class" msgstr "" ! #: fortran/openmp.cc:8414 #, gcc-internal-format msgid "% clause at %L must not be used together with % clause" msgstr "" ! #: fortran/openmp.cc:8569 #, gcc-internal-format, gfc-internal-format msgid "Expected IF at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8577 #, gcc-internal-format, gfc-internal-format msgid "Expected ELSE at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8689 #, gcc-internal-format msgid "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L" msgstr "" ! #: fortran/openmp.cc:8695 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic variable at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8703 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic expression at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8711 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8720 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8727 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" msgstr "" ! #: fortran/openmp.cc:8744 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8749 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8761 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8769 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8779 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8795 #, gcc-internal-format msgid "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the variable %qs that the update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8803 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8821 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure" msgstr "" ! #: fortran/openmp.cc:8848 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L" msgstr "" ! #: fortran/openmp.cc:8896 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L" msgstr "" ! #: fortran/openmp.cc:8910 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L" msgstr "" ! #: fortran/openmp.cc:8943 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8967 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L" msgstr "" ! #: fortran/openmp.cc:8974 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L" msgstr "" ! #: fortran/openmp.cc:8997 #, gcc-internal-format msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" msgstr "" ! #: fortran/openmp.cc:9004 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L" msgstr "" ! #: fortran/openmp.cc:9012 #, gcc-internal-format msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" msgstr "" ! #: fortran/openmp.cc:9030 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L" msgstr "" ! #: fortran/openmp.cc:9035 #, gcc-internal-format, gfc-internal-format msgid "unexpected !$OMP ATOMIC expression at %L" msgstr "" ! #: fortran/openmp.cc:9081 #, gcc-internal-format msgid "ORDERED clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9084 #, gcc-internal-format msgid "SCHEDULE clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9092 #, gcc-internal-format, gfc-internal-format msgid "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-block-sequences" msgstr "" ! #: fortran/openmp.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9505 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9511 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9515 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must not be THREADPRIVATE at %L" msgstr "" ! #: fortran/openmp.cc:9528 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE at %L" msgstr "" ! #: fortran/openmp.cc:9532 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR at %L" msgstr "" ! #: fortran/openmp.cc:9539 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable used in more than one loop at %L" msgstr "" ! #: fortran/openmp.cc:9547 #, gcc-internal-format, gfc-internal-format msgid "%s loop start expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9555 #, gcc-internal-format, gfc-internal-format msgid "%s loop end expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9561 #, gcc-internal-format, gfc-internal-format msgid "%s loop bounds reference different iteration variables at %L" msgstr "" ! #: fortran/openmp.cc:9567 #, gcc-internal-format, gfc-internal-format msgid "%s loop increment not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9577 #, gcc-internal-format, gfc-internal-format msgid "collapsed %s loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9586 fortran/openmp.cc:9594 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for collapsed %s at %L" msgstr "" ! #: fortran/openmp.cc:9801 fortran/openmp.cc:9814 #, gcc-internal-format, gfc-internal-format msgid "The %s directive cannot be specified within a %s region at %L" msgstr "" ! #: fortran/openmp.cc:9833 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9839 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9845 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9861 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" msgstr "" ! #: fortran/openmp.cc:9873 #, gcc-internal-format, gfc-internal-format msgid "%s !$ACC LOOP loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9883 fortran/openmp.cc:9892 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for %s !$ACC LOOP at %L" msgstr "" ! #: fortran/openmp.cc:9908 #, gcc-internal-format, gfc-internal-format msgid "Tiled loop cannot be parallelized across gangs, workers and vectors at the same time at %L" msgstr "" ! #: fortran/openmp.cc:9929 #, gcc-internal-format, gfc-internal-format msgid "TILE requires constant expression at %L" msgstr "" ! #: fortran/openmp.cc:10029 #, gcc-internal-format msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" msgstr "" ! #: fortran/openmp.cc:10076 #, gcc-internal-format msgid "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10082 #, gcc-internal-format msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10207 #, gcc-internal-format, gfc-internal-format msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause" msgstr "" ! #: fortran/openmp.cc:10221 #, gcc-internal-format, gfc-internal-format msgid "OMP CRITICAL at %L with HINT clause requires a NAME, except when omp_sync_hint_none is used" msgstr "" ! #: fortran/openmp.cc:10227 #, gcc-internal-format msgid "Unexpected !$OMP SCAN at %L outside loop construct with % REDUCTION clause" msgstr "" ! #: fortran/openmp.cc:10248 #, gcc-internal-format msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L" msgstr "" ! #: fortran/openmp.cc:10272 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10280 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10309 #, gcc-internal-format, gfc-internal-format msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L" msgstr "" ! #: fortran/openmp.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L" msgstr "" ! #: fortran/openmp.cc:10347 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10362 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10372 #, gcc-internal-format, gfc-internal-format msgid "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE REDUCTION must be OMP_PRIV at %L" msgstr "" ! #: fortran/openmp.cc:10380 #, gcc-internal-format, gfc-internal-format msgid "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type without default initializer at %L" msgstr "" *************** msgstr "" *** 75270,75356 **** msgid "Too many components in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3223 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L" msgstr "" ! #: fortran/primary.cc:3241 #, gcc-internal-format msgid "Component %qs is initialized twice in the structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3253 #, gcc-internal-format msgid "Coindexed expression to pointer component %qs in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3307 #, gcc-internal-format msgid "component %qs at %L has already been set by a parent derived type constructor" msgstr "" ! #: fortran/primary.cc:3472 #, gcc-internal-format, gfc-internal-format msgid "%%LOC() as an rvalue at %C" msgstr "" ! #: fortran/primary.cc:3531 #, gcc-internal-format msgid "%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "" ! #: fortran/primary.cc:3562 fortran/primary.cc:3964 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %C is not appropriate for an expression" msgstr "" ! #: fortran/primary.cc:3667 #, gcc-internal-format msgid "Unexpected use of subroutine name %qs at %C" msgstr "" ! #: fortran/primary.cc:3699 #, fuzzy, gcc-internal-format msgid "Statement function %qs requires argument list at %C" msgstr "метка \"%s\" вызначана, але не выкарыстоўваецца" ! #: fortran/primary.cc:3702 #, gcc-internal-format msgid "Function %qs requires an argument list at %C" msgstr "" ! #: fortran/primary.cc:3752 #, fuzzy, gcc-internal-format msgid "Missing argument to %qs at %C" msgstr "аргумент для \"%s\" прапушчан" ! #: fortran/primary.cc:3765 #, gcc-internal-format, gfc-internal-format msgid "The leftmost part-ref in a data-ref cannot be a function reference at %C" msgstr "" ! #: fortran/primary.cc:3920 #, fuzzy, gcc-internal-format msgid "Missing argument list in function %qs at %C" msgstr "аргумент для \"%s\" прапушчан" ! #: fortran/primary.cc:4034 #, gcc-internal-format msgid "Derived type %qs cannot be used as a variable at %C" msgstr "" ! #: fortran/primary.cc:4075 #, gcc-internal-format, gfc-internal-format msgid "Named constant at %C in an EQUIVALENCE" msgstr "" ! #: fortran/primary.cc:4080 #, gcc-internal-format msgid "PARAMETER %qs shall not appear in a DATA statement at %C" msgstr "" ! #: fortran/primary.cc:4116 #, gcc-internal-format msgid "%qs at %C is not a variable" msgstr "" --- 75305,75391 ---- msgid "Too many components in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3224 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L" msgstr "" ! #: fortran/primary.cc:3242 #, gcc-internal-format msgid "Component %qs is initialized twice in the structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3254 #, gcc-internal-format msgid "Coindexed expression to pointer component %qs in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3308 #, gcc-internal-format msgid "component %qs at %L has already been set by a parent derived type constructor" msgstr "" ! #: fortran/primary.cc:3473 #, gcc-internal-format, gfc-internal-format msgid "%%LOC() as an rvalue at %C" msgstr "" ! #: fortran/primary.cc:3532 #, gcc-internal-format msgid "%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "" ! #: fortran/primary.cc:3563 fortran/primary.cc:3965 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %C is not appropriate for an expression" msgstr "" ! #: fortran/primary.cc:3668 #, gcc-internal-format msgid "Unexpected use of subroutine name %qs at %C" msgstr "" ! #: fortran/primary.cc:3700 #, fuzzy, gcc-internal-format msgid "Statement function %qs requires argument list at %C" msgstr "метка \"%s\" вызначана, але не выкарыстоўваецца" ! #: fortran/primary.cc:3703 #, gcc-internal-format msgid "Function %qs requires an argument list at %C" msgstr "" ! #: fortran/primary.cc:3753 #, fuzzy, gcc-internal-format msgid "Missing argument to %qs at %C" msgstr "аргумент для \"%s\" прапушчан" ! #: fortran/primary.cc:3766 #, gcc-internal-format, gfc-internal-format msgid "The leftmost part-ref in a data-ref cannot be a function reference at %C" msgstr "" ! #: fortran/primary.cc:3921 #, fuzzy, gcc-internal-format msgid "Missing argument list in function %qs at %C" msgstr "аргумент для \"%s\" прапушчан" ! #: fortran/primary.cc:4035 #, gcc-internal-format msgid "Derived type %qs cannot be used as a variable at %C" msgstr "" ! #: fortran/primary.cc:4076 #, gcc-internal-format, gfc-internal-format msgid "Named constant at %C in an EQUIVALENCE" msgstr "" ! #: fortran/primary.cc:4081 #, gcc-internal-format msgid "PARAMETER %qs shall not appear in a DATA statement at %C" msgstr "" ! #: fortran/primary.cc:4117 #, gcc-internal-format msgid "%qs at %C is not a variable" msgstr "" *************** msgstr "" *** 75742,75748 **** msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" msgstr "" ! #: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 #, gcc-internal-format, gfc-internal-format msgid "Label %d referenced at %L is never defined" msgstr "" --- 75777,75783 ---- msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" msgstr "" ! #: fortran/resolve.cc:2014 fortran/resolve.cc:10496 fortran/resolve.cc:12465 #, gcc-internal-format, gfc-internal-format msgid "Label %d referenced at %L is never defined" msgstr "" *************** msgstr "" *** 75862,75868 **** msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" msgstr "" ! #: fortran/resolve.cc:3063 fortran/resolve.cc:17705 #, gcc-internal-format msgid "Function %qs at %L has no IMPLICIT type" msgstr "" --- 75897,75903 ---- msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" msgstr "" ! #: fortran/resolve.cc:3063 fortran/resolve.cc:17740 #, gcc-internal-format msgid "Function %qs at %L has no IMPLICIT type" msgstr "" *************** msgstr "" *** 76029,76226 **** msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" msgstr "" ! #: fortran/resolve.cc:4339 fortran/resolve.cc:4354 #, gcc-internal-format, gfc-internal-format msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" msgstr "" ! #: fortran/resolve.cc:4393 #, gcc-internal-format, gfc-internal-format msgid "Equality comparison for %s at %L" msgstr "" ! #: fortran/resolve.cc:4395 #, gcc-internal-format, gfc-internal-format msgid "Inequality comparison for %s at %L" msgstr "" ! #: fortran/resolve.cc:4455 #, gcc-internal-format msgid "resolve_operator(): Bad intrinsic" msgstr "" ! #: fortran/resolve.cc:4741 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4746 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4756 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4761 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4782 #, gcc-internal-format, gfc-internal-format msgid "Illegal stride of zero at %L" msgstr "" ! #: fortran/resolve.cc:4799 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4807 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4823 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4832 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4848 #, gcc-internal-format msgid "check_dimension(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:4871 #, gcc-internal-format, gfc-internal-format msgid "Rightmost upper bound of assumed size array section not specified at %L" msgstr "" ! #: fortran/resolve.cc:4881 #, gcc-internal-format, gfc-internal-format msgid "Rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4889 #, gcc-internal-format, gfc-internal-format msgid "Coindex rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4905 #, gcc-internal-format, gfc-internal-format msgid "Coindex of codimension %d must be a scalar at %L" msgstr "" ! #: fortran/resolve.cc:4933 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:4939 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:4945 #, gcc-internal-format, gfc-internal-format msgid "REAL array index at %L" msgstr "" ! #: fortran/resolve.cc:4984 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be scalar" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: fortran/resolve.cc:4991 #, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be of INTEGER type" msgstr "" ! #: fortran/resolve.cc:5051 #, gcc-internal-format, gfc-internal-format msgid "Invalid array reference of a non-array entity at %L" msgstr "" ! #: fortran/resolve.cc:5065 #, gcc-internal-format msgid "find_array_spec(): unused as(1)" msgstr "" ! #: fortran/resolve.cc:5077 #, gcc-internal-format msgid "find_array_spec(): unused as(2)" msgstr "" ! #: fortran/resolve.cc:5122 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Array index at %L is an array of rank %d" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:5220 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5227 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5249 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5256 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5276 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%s' is too large" msgid "Substring end index at %L is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:5467 #, gcc-internal-format msgid "resolve_ref(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:5481 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" msgstr "" ! #: fortran/resolve.cc:5491 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" msgstr "" ! #: fortran/resolve.cc:5537 #, gcc-internal-format, gfc-internal-format msgid "Two or more part references with nonzero rank must not be specified at %L" msgstr "" ! #: fortran/resolve.cc:5629 #, gcc-internal-format msgid "gfc_expression_rank(): Two array specs" msgstr "" ! #: fortran/resolve.cc:5711 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" msgstr "" ! #: fortran/resolve.cc:5721 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may only be used as actual argument" msgstr "" --- 76064,76261 ---- msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" msgstr "" ! #: fortran/resolve.cc:4350 fortran/resolve.cc:4365 #, gcc-internal-format, gfc-internal-format msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" msgstr "" ! #: fortran/resolve.cc:4415 #, gcc-internal-format, gfc-internal-format msgid "Equality comparison for %s at %L" msgstr "" ! #: fortran/resolve.cc:4417 #, gcc-internal-format, gfc-internal-format msgid "Inequality comparison for %s at %L" msgstr "" ! #: fortran/resolve.cc:4477 #, gcc-internal-format msgid "resolve_operator(): Bad intrinsic" msgstr "" ! #: fortran/resolve.cc:4763 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4768 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4778 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4783 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4804 #, gcc-internal-format, gfc-internal-format msgid "Illegal stride of zero at %L" msgstr "" ! #: fortran/resolve.cc:4821 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4829 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4845 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4854 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4870 #, gcc-internal-format msgid "check_dimension(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:4893 #, gcc-internal-format, gfc-internal-format msgid "Rightmost upper bound of assumed size array section not specified at %L" msgstr "" ! #: fortran/resolve.cc:4903 #, gcc-internal-format, gfc-internal-format msgid "Rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4911 #, gcc-internal-format, gfc-internal-format msgid "Coindex rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4927 #, gcc-internal-format, gfc-internal-format msgid "Coindex of codimension %d must be a scalar at %L" msgstr "" ! #: fortran/resolve.cc:4955 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:4961 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:4967 #, gcc-internal-format, gfc-internal-format msgid "REAL array index at %L" msgstr "" ! #: fortran/resolve.cc:5006 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be scalar" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: fortran/resolve.cc:5013 #, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be of INTEGER type" msgstr "" ! #: fortran/resolve.cc:5073 #, gcc-internal-format, gfc-internal-format msgid "Invalid array reference of a non-array entity at %L" msgstr "" ! #: fortran/resolve.cc:5087 #, gcc-internal-format msgid "find_array_spec(): unused as(1)" msgstr "" ! #: fortran/resolve.cc:5099 #, gcc-internal-format msgid "find_array_spec(): unused as(2)" msgstr "" ! #: fortran/resolve.cc:5144 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Array index at %L is an array of rank %d" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:5242 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5249 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5271 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5278 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5298 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%s' is too large" msgid "Substring end index at %L is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:5489 #, gcc-internal-format msgid "resolve_ref(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:5503 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" msgstr "" ! #: fortran/resolve.cc:5513 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" msgstr "" ! #: fortran/resolve.cc:5559 #, gcc-internal-format, gfc-internal-format msgid "Two or more part references with nonzero rank must not be specified at %L" msgstr "" ! #: fortran/resolve.cc:5651 #, gcc-internal-format msgid "gfc_expression_rank(): Two array specs" msgstr "" ! #: fortran/resolve.cc:5748 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" msgstr "" ! #: fortran/resolve.cc:5758 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may only be used as actual argument" msgstr "" *************** msgstr "" *** 76229,76240 **** #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5731 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5750 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L may only be used as actual argument" msgstr "" --- 76264,76275 ---- #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5768 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5787 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L may only be used as actual argument" msgstr "" *************** msgstr "" *** 76243,76535 **** #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5760 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5771 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5780 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5796 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5978 #, gcc-internal-format msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:5983 #, gcc-internal-format msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6053 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic subobject of coindexed object at %L" msgstr "" ! #: fortran/resolve.cc:6066 #, gcc-internal-format, gfc-internal-format msgid "Coindexed object with polymorphic allocatable subcomponent at %L" msgstr "" ! #: fortran/resolve.cc:6082 #, gcc-internal-format msgid "Using variable %qs at %L is deprecated" msgstr "" ! #: fortran/resolve.cc:6172 #, gcc-internal-format msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" msgstr "" ! #: fortran/resolve.cc:6350 fortran/resolve.cc:6502 #, gcc-internal-format, gfc-internal-format msgid "Error in typebound call at %L" msgstr "" ! #: fortran/resolve.cc:6466 #, gcc-internal-format, gfc-internal-format msgid "Passed-object at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:6473 #, gcc-internal-format msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6512 #, gcc-internal-format msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6521 #, gcc-internal-format, gfc-internal-format msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" msgstr "" #. Nothing matching found! ! #: fortran/resolve.cc:6709 #, gcc-internal-format msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:6743 #, gcc-internal-format msgid "%qs at %L should be a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:6795 #, gcc-internal-format msgid "%qs at %L should be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:7330 #, gcc-internal-format msgid "gfc_resolve_expr(): Bad expression type" msgstr "" ! #: fortran/resolve.cc:7363 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be a scalar" msgstr "" ! #: fortran/resolve.cc:7373 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be integer" msgstr "" ! #: fortran/resolve.cc:7377 fortran/resolve.cc:7384 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be INTEGER" msgstr "" ! #: fortran/resolve.cc:7439 #, gcc-internal-format, gfc-internal-format msgid "Step expression in DO loop at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7462 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L will be executed zero times" msgstr "" ! #: fortran/resolve.cc:7479 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it overflows" msgstr "" ! #: fortran/resolve.cc:7485 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it underflows" msgstr "" ! #: fortran/resolve.cc:7546 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7551 #, gcc-internal-format, gfc-internal-format msgid "FORALL start expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7558 #, gcc-internal-format, gfc-internal-format msgid "FORALL end expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7566 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L must be a scalar %s" msgstr "" ! #: fortran/resolve.cc:7571 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7584 #, gcc-internal-format msgid "FORALL index %qs may not appear in triplet specification at %L" msgstr "" ! #: fortran/resolve.cc:7689 fortran/resolve.cc:7987 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" msgstr "" ! #: fortran/resolve.cc:7697 fortran/resolve.cc:7950 #, gcc-internal-format, gfc-internal-format msgid "Coindexed allocatable object at %L" msgstr "" ! #: fortran/resolve.cc:7807 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" msgstr "" ! #: fortran/resolve.cc:7838 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L and allocate-object at %L must have the same shape" msgstr "" ! #: fortran/resolve.cc:7998 #, gcc-internal-format, gfc-internal-format msgid "Type of entity at %L is type incompatible with source-expr at %L" msgstr "" ! #: fortran/resolve.cc:8010 #, gcc-internal-format, gfc-internal-format msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" msgstr "" ! #: fortran/resolve.cc:8024 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8039 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8052 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" msgstr "" ! #: fortran/resolve.cc:8070 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" msgstr "" ! #: fortran/resolve.cc:8154 fortran/resolve.cc:8169 #, gcc-internal-format, gfc-internal-format msgid "Array specification required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8161 #, gcc-internal-format, gfc-internal-format msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8186 #, gcc-internal-format, gfc-internal-format msgid "Coarray specification required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8196 fortran/resolve.cc:8298 #, gcc-internal-format, gfc-internal-format msgid "Bad coarray specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8202 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound at %L" msgstr "" ! #: fortran/resolve.cc:8214 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound of 1 at %L" msgstr "" ! #: fortran/resolve.cc:8225 fortran/resolve.cc:8253 #, gcc-internal-format, gfc-internal-format msgid "Bad array specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8272 #, gcc-internal-format msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgstr "" ! #: fortran/resolve.cc:8287 #, gcc-internal-format msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8329 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:8358 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8371 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG at %L is useless without a STAT tag" msgstr "" ! #: fortran/resolve.cc:8385 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:8414 #, gcc-internal-format, gfc-internal-format msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8446 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "" ! #: fortran/resolve.cc:8452 fortran/resolve.cc:8458 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L is subobject of object at %L" msgstr "" --- 76278,76570 ---- #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5797 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5808 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5817 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5833 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:6015 #, gcc-internal-format msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6020 #, gcc-internal-format msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6090 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic subobject of coindexed object at %L" msgstr "" ! #: fortran/resolve.cc:6103 #, gcc-internal-format, gfc-internal-format msgid "Coindexed object with polymorphic allocatable subcomponent at %L" msgstr "" ! #: fortran/resolve.cc:6119 #, gcc-internal-format msgid "Using variable %qs at %L is deprecated" msgstr "" ! #: fortran/resolve.cc:6209 #, gcc-internal-format msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" msgstr "" ! #: fortran/resolve.cc:6387 fortran/resolve.cc:6539 #, gcc-internal-format, gfc-internal-format msgid "Error in typebound call at %L" msgstr "" ! #: fortran/resolve.cc:6503 #, gcc-internal-format, gfc-internal-format msgid "Passed-object at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:6510 #, gcc-internal-format msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6549 #, gcc-internal-format msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6558 #, gcc-internal-format, gfc-internal-format msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" msgstr "" #. Nothing matching found! ! #: fortran/resolve.cc:6746 #, gcc-internal-format msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:6780 #, gcc-internal-format msgid "%qs at %L should be a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:6832 #, gcc-internal-format msgid "%qs at %L should be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:7367 #, gcc-internal-format msgid "gfc_resolve_expr(): Bad expression type" msgstr "" ! #: fortran/resolve.cc:7400 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be a scalar" msgstr "" ! #: fortran/resolve.cc:7410 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be integer" msgstr "" ! #: fortran/resolve.cc:7414 fortran/resolve.cc:7421 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be INTEGER" msgstr "" ! #: fortran/resolve.cc:7476 #, gcc-internal-format, gfc-internal-format msgid "Step expression in DO loop at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7499 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L will be executed zero times" msgstr "" ! #: fortran/resolve.cc:7516 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it overflows" msgstr "" ! #: fortran/resolve.cc:7522 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it underflows" msgstr "" ! #: fortran/resolve.cc:7583 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7588 #, gcc-internal-format, gfc-internal-format msgid "FORALL start expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7595 #, gcc-internal-format, gfc-internal-format msgid "FORALL end expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7603 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L must be a scalar %s" msgstr "" ! #: fortran/resolve.cc:7608 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7621 #, gcc-internal-format msgid "FORALL index %qs may not appear in triplet specification at %L" msgstr "" ! #: fortran/resolve.cc:7726 fortran/resolve.cc:8024 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" msgstr "" ! #: fortran/resolve.cc:7734 fortran/resolve.cc:7987 #, gcc-internal-format, gfc-internal-format msgid "Coindexed allocatable object at %L" msgstr "" ! #: fortran/resolve.cc:7844 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" msgstr "" ! #: fortran/resolve.cc:7875 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L and allocate-object at %L must have the same shape" msgstr "" ! #: fortran/resolve.cc:8035 #, gcc-internal-format, gfc-internal-format msgid "Type of entity at %L is type incompatible with source-expr at %L" msgstr "" ! #: fortran/resolve.cc:8047 #, gcc-internal-format, gfc-internal-format msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" msgstr "" ! #: fortran/resolve.cc:8061 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8076 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8089 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" msgstr "" ! #: fortran/resolve.cc:8107 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" msgstr "" ! #: fortran/resolve.cc:8191 fortran/resolve.cc:8206 #, gcc-internal-format, gfc-internal-format msgid "Array specification required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8198 #, gcc-internal-format, gfc-internal-format msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8223 #, gcc-internal-format, gfc-internal-format msgid "Coarray specification required in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8233 fortran/resolve.cc:8335 #, gcc-internal-format, gfc-internal-format msgid "Bad coarray specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8239 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound at %L" msgstr "" ! #: fortran/resolve.cc:8251 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound of 1 at %L" msgstr "" ! #: fortran/resolve.cc:8262 fortran/resolve.cc:8290 #, gcc-internal-format, gfc-internal-format msgid "Bad array specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8309 #, gcc-internal-format msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgstr "" ! #: fortran/resolve.cc:8324 #, gcc-internal-format msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" msgstr "" ! #: fortran/resolve.cc:8366 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:8395 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8408 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG at %L is useless without a STAT tag" msgstr "" ! #: fortran/resolve.cc:8422 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:8451 #, gcc-internal-format, gfc-internal-format msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8483 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "" ! #: fortran/resolve.cc:8489 fortran/resolve.cc:8495 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L is subobject of object at %L" msgstr "" *************** msgstr "" *** 76538,76821 **** #. element in the list. Either way, we must #. issue an error and get the next case from P. #. FIXME: Sort P and Q by line number. ! #: fortran/resolve.cc:8686 #, gcc-internal-format, gfc-internal-format msgid "CASE label at %L overlaps with CASE label at %L" msgstr "" ! #: fortran/resolve.cc:8737 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of type %s" msgstr "" ! #: fortran/resolve.cc:8748 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of kind %d" msgstr "" ! #: fortran/resolve.cc:8761 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:8807 #, gcc-internal-format, gfc-internal-format msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" msgstr "" ! #: fortran/resolve.cc:8826 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L cannot be %s" msgstr "" ! #: fortran/resolve.cc:8836 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L must be a scalar expression" msgstr "" ! #: fortran/resolve.cc:8854 fortran/resolve.cc:8862 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L is not in the range of %s" msgstr "" ! #: fortran/resolve.cc:8924 fortran/resolve.cc:9592 #, gcc-internal-format, gfc-internal-format msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" msgstr "" ! #: fortran/resolve.cc:8950 #, gcc-internal-format, gfc-internal-format msgid "Logical range in CASE statement at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:8963 #, gcc-internal-format, gfc-internal-format msgid "Constant logical value in CASE statement is repeated at %L" msgstr "" ! #: fortran/resolve.cc:8978 #, gcc-internal-format, gfc-internal-format msgid "Range specification at %L can never be matched" msgstr "" ! #: fortran/resolve.cc:9081 #, gcc-internal-format, gfc-internal-format msgid "Logical SELECT CASE block at %L has more that two cases" msgstr "" ! #: fortran/resolve.cc:9143 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure pointer" msgstr "" ! #: fortran/resolve.cc:9152 #, gcc-internal-format msgid "Derived type %qs cannot be used as a variable at %L" msgstr "" ! #: fortran/resolve.cc:9169 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure name" msgstr "" ! #: fortran/resolve.cc:9185 #, gcc-internal-format, gfc-internal-format msgid "Associating selector-expression at %L yields a procedure" msgstr "" ! #: fortran/resolve.cc:9192 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L cannot be NULL()" msgstr "" ! #: fortran/resolve.cc:9197 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L has no type" msgstr "" ! #: fortran/resolve.cc:9220 #, gcc-internal-format msgid "Associate-name %qs at %L is used as array" msgstr "" ! #: fortran/resolve.cc:9230 #, gcc-internal-format, gfc-internal-format msgid "CLASS selector at %L needs a temporary which is not yet implemented" msgstr "" ! #: fortran/resolve.cc:9462 #, gcc-internal-format, gfc-internal-format msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9500 fortran/resolve.cc:9512 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L must not be coindexed" msgstr "" ! #: fortran/resolve.cc:9541 #, gcc-internal-format, gfc-internal-format msgid "TYPE IS at %L overlaps with TYPE IS at %L" msgstr "" ! #: fortran/resolve.cc:9554 #, gcc-internal-format msgid "Derived type %qs at %L must be extensible" msgstr "" ! #: fortran/resolve.cc:9567 #, gcc-internal-format msgid "Derived type %qs at %L must be an extension of %qs" msgstr "" ! #: fortran/resolve.cc:9570 #, gcc-internal-format msgid "Unexpected intrinsic type %qs at %L" msgstr "" ! #: fortran/resolve.cc:9580 #, gcc-internal-format, gfc-internal-format msgid "The type-spec at %L shall specify that each length type parameter is assumed" msgstr "" ! #: fortran/resolve.cc:9827 #, gcc-internal-format, gfc-internal-format msgid "Double CLASS IS block in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9961 #, gcc-internal-format, gfc-internal-format msgid "RANK DEFAULT at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9970 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9973 #, gcc-internal-format, gfc-internal-format msgid "RANK (%i) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9983 fortran/resolve.cc:9988 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" msgstr "" ! #: fortran/resolve.cc:10097 #, gcc-internal-format, gfc-internal-format msgid "Invalid context for NULL () intrinsic at %L" msgstr "" ! #: fortran/resolve.cc:10151 #, gcc-internal-format, gfc-internal-format msgid "DTIO %s procedure at %L must be recursive" msgstr "" ! #: fortran/resolve.cc:10161 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10174 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10183 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have procedure pointer components" msgstr "" ! #: fortran/resolve.cc:10190 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10201 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components" msgstr "" ! #: fortran/resolve.cc:10207 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10225 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" msgstr "" ! #: fortran/resolve.cc:10282 #, gcc-internal-format, gfc-internal-format msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" msgstr "" ! #: fortran/resolve.cc:10292 #, gcc-internal-format, gfc-internal-format msgid "Event variable at %L must be a scalar of type EVENT_TYPE" msgstr "" ! #: fortran/resolve.cc:10296 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray or coindexed" msgstr "" ! #: fortran/resolve.cc:10299 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray but not coindexed" msgstr "" ! #: fortran/resolve.cc:10306 fortran/resolve.cc:10428 #, gcc-internal-format, gfc-internal-format msgid "STAT= argument at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:10318 fortran/resolve.cc:10440 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:10330 #, gcc-internal-format, gfc-internal-format msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" msgstr "" ! #: fortran/resolve.cc:10343 #, gcc-internal-format, gfc-internal-format msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10404 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10408 fortran/resolve.cc:10418 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must between 1 and num_images()" msgstr "" ! #: fortran/resolve.cc:10471 #, gcc-internal-format, gfc-internal-format msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" msgstr "" ! #: fortran/resolve.cc:10481 #, gcc-internal-format, gfc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "" #. Note: A label at END CRITICAL does not leave the CRITICAL #. construct as END CRITICAL is still part of it. ! #: fortran/resolve.cc:10498 fortran/resolve.cc:10521 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" msgstr "" ! #: fortran/resolve.cc:10502 fortran/resolve.cc:10527 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" msgstr "" --- 76573,76856 ---- #. element in the list. Either way, we must #. issue an error and get the next case from P. #. FIXME: Sort P and Q by line number. ! #: fortran/resolve.cc:8723 #, gcc-internal-format, gfc-internal-format msgid "CASE label at %L overlaps with CASE label at %L" msgstr "" ! #: fortran/resolve.cc:8774 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of type %s" msgstr "" ! #: fortran/resolve.cc:8785 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of kind %d" msgstr "" ! #: fortran/resolve.cc:8798 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:8844 #, gcc-internal-format, gfc-internal-format msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" msgstr "" ! #: fortran/resolve.cc:8863 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L cannot be %s" msgstr "" ! #: fortran/resolve.cc:8873 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L must be a scalar expression" msgstr "" ! #: fortran/resolve.cc:8891 fortran/resolve.cc:8899 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L is not in the range of %s" msgstr "" ! #: fortran/resolve.cc:8961 fortran/resolve.cc:9629 #, gcc-internal-format, gfc-internal-format msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" msgstr "" ! #: fortran/resolve.cc:8987 #, gcc-internal-format, gfc-internal-format msgid "Logical range in CASE statement at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:9000 #, gcc-internal-format, gfc-internal-format msgid "Constant logical value in CASE statement is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9015 #, gcc-internal-format, gfc-internal-format msgid "Range specification at %L can never be matched" msgstr "" ! #: fortran/resolve.cc:9118 #, gcc-internal-format, gfc-internal-format msgid "Logical SELECT CASE block at %L has more that two cases" msgstr "" ! #: fortran/resolve.cc:9180 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure pointer" msgstr "" ! #: fortran/resolve.cc:9189 #, gcc-internal-format msgid "Derived type %qs cannot be used as a variable at %L" msgstr "" ! #: fortran/resolve.cc:9206 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure name" msgstr "" ! #: fortran/resolve.cc:9222 #, gcc-internal-format, gfc-internal-format msgid "Associating selector-expression at %L yields a procedure" msgstr "" ! #: fortran/resolve.cc:9229 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L cannot be NULL()" msgstr "" ! #: fortran/resolve.cc:9234 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L has no type" msgstr "" ! #: fortran/resolve.cc:9257 #, gcc-internal-format msgid "Associate-name %qs at %L is used as array" msgstr "" ! #: fortran/resolve.cc:9267 #, gcc-internal-format, gfc-internal-format msgid "CLASS selector at %L needs a temporary which is not yet implemented" msgstr "" ! #: fortran/resolve.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9537 fortran/resolve.cc:9549 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L must not be coindexed" msgstr "" ! #: fortran/resolve.cc:9578 #, gcc-internal-format, gfc-internal-format msgid "TYPE IS at %L overlaps with TYPE IS at %L" msgstr "" ! #: fortran/resolve.cc:9591 #, gcc-internal-format msgid "Derived type %qs at %L must be extensible" msgstr "" ! #: fortran/resolve.cc:9604 #, gcc-internal-format msgid "Derived type %qs at %L must be an extension of %qs" msgstr "" ! #: fortran/resolve.cc:9607 #, gcc-internal-format msgid "Unexpected intrinsic type %qs at %L" msgstr "" ! #: fortran/resolve.cc:9617 #, gcc-internal-format, gfc-internal-format msgid "The type-spec at %L shall specify that each length type parameter is assumed" msgstr "" ! #: fortran/resolve.cc:9864 #, gcc-internal-format, gfc-internal-format msgid "Double CLASS IS block in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9998 #, gcc-internal-format, gfc-internal-format msgid "RANK DEFAULT at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10007 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10010 #, gcc-internal-format, gfc-internal-format msgid "RANK (%i) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10020 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" msgstr "" ! #: fortran/resolve.cc:10129 #, gcc-internal-format, gfc-internal-format msgid "Invalid context for NULL () intrinsic at %L" msgstr "" ! #: fortran/resolve.cc:10183 #, gcc-internal-format, gfc-internal-format msgid "DTIO %s procedure at %L must be recursive" msgstr "" ! #: fortran/resolve.cc:10193 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10206 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10215 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have procedure pointer components" msgstr "" ! #: fortran/resolve.cc:10222 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10233 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components" msgstr "" ! #: fortran/resolve.cc:10239 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10257 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" msgstr "" ! #: fortran/resolve.cc:10314 #, gcc-internal-format, gfc-internal-format msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" msgstr "" ! #: fortran/resolve.cc:10324 #, gcc-internal-format, gfc-internal-format msgid "Event variable at %L must be a scalar of type EVENT_TYPE" msgstr "" ! #: fortran/resolve.cc:10328 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray or coindexed" msgstr "" ! #: fortran/resolve.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray but not coindexed" msgstr "" ! #: fortran/resolve.cc:10338 fortran/resolve.cc:10460 #, gcc-internal-format, gfc-internal-format msgid "STAT= argument at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:10350 fortran/resolve.cc:10472 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:10362 #, gcc-internal-format, gfc-internal-format msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" msgstr "" ! #: fortran/resolve.cc:10375 #, gcc-internal-format, gfc-internal-format msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10436 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10440 fortran/resolve.cc:10450 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must between 1 and num_images()" msgstr "" ! #: fortran/resolve.cc:10503 #, gcc-internal-format, gfc-internal-format msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" msgstr "" ! #: fortran/resolve.cc:10513 #, gcc-internal-format, gfc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "" #. Note: A label at END CRITICAL does not leave the CRITICAL #. construct as END CRITICAL is still part of it. ! #: fortran/resolve.cc:10530 fortran/resolve.cc:10553 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" msgstr "" ! #: fortran/resolve.cc:10534 fortran/resolve.cc:10559 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" msgstr "" *************** msgstr "" *** 76823,77029 **** #. The label is not in an enclosing block, so illegal. This was #. allowed in Fortran 66, so we allow it as extension. No #. further checks are necessary in this case. ! #: fortran/resolve.cc:10542 #, gcc-internal-format, gfc-internal-format msgid "Label at %L is not in the same block as the GOTO statement at %L" msgstr "" ! #: fortran/resolve.cc:10614 #, gcc-internal-format, gfc-internal-format msgid "WHERE mask at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10630 #, gcc-internal-format, gfc-internal-format msgid "WHERE assignment target at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10643 fortran/resolve.cc:10735 #, gcc-internal-format, gfc-internal-format msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10653 fortran/resolve.cc:10745 #, gcc-internal-format, gfc-internal-format msgid "Unsupported statement inside WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10684 #, gcc-internal-format, gfc-internal-format msgid "Assignment to a FORALL index variable at %L" msgstr "" ! #: fortran/resolve.cc:10693 #, gcc-internal-format msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgstr "" ! #: fortran/resolve.cc:10850 #, gcc-internal-format, gfc-internal-format msgid "FORALL construct at %L" msgstr "" ! #: fortran/resolve.cc:10871 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar variable of type integer" msgstr "" ! #: fortran/resolve.cc:10881 #, gcc-internal-format, gfc-internal-format msgid "An outer FORALL construct already has an index with this name %L" msgstr "" ! #: fortran/resolve.cc:10958 #, gcc-internal-format, gfc-internal-format msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" msgstr "" ! #: fortran/resolve.cc:11074 #, gcc-internal-format msgid "gfc_resolve_blocks(): Bad block type" msgstr "" ! #: fortran/resolve.cc:11187 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" msgstr "" ! #: fortran/resolve.cc:11219 #, gcc-internal-format, gfc-internal-format msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" msgstr "" #. F2008, C1283 (4). ! #: fortran/resolve.cc:11225 #, gcc-internal-format, gfc-internal-format msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." msgstr "" ! #: fortran/resolve.cc:11237 #, gcc-internal-format, gfc-internal-format msgid "Assignment to coindexed variable at %L in a PURE procedure" msgstr "" ! #: fortran/resolve.cc:11269 #, gcc-internal-format, gfc-internal-format msgid "Assignment to polymorphic coarray at %L is not permitted" msgstr "" ! #: fortran/resolve.cc:11273 #, gcc-internal-format, gfc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L" msgstr "" ! #: fortran/resolve.cc:11278 #, gcc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" msgstr "" ! #: fortran/resolve.cc:11285 #, gcc-internal-format msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" msgstr "" ! #: fortran/resolve.cc:11296 #, gcc-internal-format, gfc-internal-format msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" msgstr "" ! #: fortran/resolve.cc:11719 #, gcc-internal-format, gfc-internal-format msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." msgstr "" #. Even if standard does not support this feature, continue to build #. the two statements to avoid upsetting frontend_passes.c. ! #: fortran/resolve.cc:12023 #, gcc-internal-format, gfc-internal-format msgid "Pointer procedure assignment at %L" msgstr "" ! #: fortran/resolve.cc:12035 #, gcc-internal-format, gfc-internal-format msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." msgstr "" ! #: fortran/resolve.cc:12120 #, gcc-internal-format msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" msgstr "" ! #: fortran/resolve.cc:12311 #, gcc-internal-format, gfc-internal-format msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:12347 #, gcc-internal-format, gfc-internal-format msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12351 #, gcc-internal-format msgid "Variable %qs has not been assigned a target label at %L" msgstr "" ! #: fortran/resolve.cc:12362 #, gcc-internal-format, gfc-internal-format msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" msgstr "" ! #: fortran/resolve.cc:12400 #, gcc-internal-format, gfc-internal-format msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" msgstr "" ! #: fortran/resolve.cc:12442 #, gcc-internal-format, gfc-internal-format msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12489 #, gcc-internal-format, gfc-internal-format msgid "Invalid NULL at %L" msgstr "" ! #: fortran/resolve.cc:12493 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" msgstr "" ! #: fortran/resolve.cc:12554 #, gcc-internal-format msgid "gfc_resolve_code(): No expression on DO WHILE" msgstr "" ! #: fortran/resolve.cc:12559 #, gcc-internal-format, gfc-internal-format msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12643 #, gcc-internal-format, gfc-internal-format msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12745 #, gcc-internal-format msgid "gfc_resolve_code(): Bad statement code" msgstr "" ! #: fortran/resolve.cc:12766 #, fuzzy, gcc-internal-format msgid "Using parameter %qs declared at %L is deprecated" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: fortran/resolve.cc:12860 #, gcc-internal-format msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" #. This can only happen if the variable is defined in a module - if it #. isn't the same module, reject it. ! #: fortran/resolve.cc:12874 #, gcc-internal-format msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" msgstr "" --- 76858,77064 ---- #. The label is not in an enclosing block, so illegal. This was #. allowed in Fortran 66, so we allow it as extension. No #. further checks are necessary in this case. ! #: fortran/resolve.cc:10574 #, gcc-internal-format, gfc-internal-format msgid "Label at %L is not in the same block as the GOTO statement at %L" msgstr "" ! #: fortran/resolve.cc:10646 #, gcc-internal-format, gfc-internal-format msgid "WHERE mask at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10662 #, gcc-internal-format, gfc-internal-format msgid "WHERE assignment target at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10675 fortran/resolve.cc:10767 #, gcc-internal-format, gfc-internal-format msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10685 fortran/resolve.cc:10777 #, gcc-internal-format, gfc-internal-format msgid "Unsupported statement inside WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10716 #, gcc-internal-format, gfc-internal-format msgid "Assignment to a FORALL index variable at %L" msgstr "" ! #: fortran/resolve.cc:10725 #, gcc-internal-format msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgstr "" ! #: fortran/resolve.cc:10882 #, gcc-internal-format, gfc-internal-format msgid "FORALL construct at %L" msgstr "" ! #: fortran/resolve.cc:10903 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar variable of type integer" msgstr "" ! #: fortran/resolve.cc:10913 #, gcc-internal-format, gfc-internal-format msgid "An outer FORALL construct already has an index with this name %L" msgstr "" ! #: fortran/resolve.cc:10990 #, gcc-internal-format, gfc-internal-format msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" msgstr "" ! #: fortran/resolve.cc:11106 #, gcc-internal-format msgid "gfc_resolve_blocks(): Bad block type" msgstr "" ! #: fortran/resolve.cc:11219 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" msgstr "" ! #: fortran/resolve.cc:11251 #, gcc-internal-format, gfc-internal-format msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" msgstr "" #. F2008, C1283 (4). ! #: fortran/resolve.cc:11257 #, gcc-internal-format, gfc-internal-format msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." msgstr "" ! #: fortran/resolve.cc:11269 #, gcc-internal-format, gfc-internal-format msgid "Assignment to coindexed variable at %L in a PURE procedure" msgstr "" ! #: fortran/resolve.cc:11301 #, gcc-internal-format, gfc-internal-format msgid "Assignment to polymorphic coarray at %L is not permitted" msgstr "" ! #: fortran/resolve.cc:11305 #, gcc-internal-format, gfc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L" msgstr "" ! #: fortran/resolve.cc:11310 #, gcc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" msgstr "" ! #: fortran/resolve.cc:11317 #, gcc-internal-format msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" msgstr "" ! #: fortran/resolve.cc:11328 #, gcc-internal-format, gfc-internal-format msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" msgstr "" ! #: fortran/resolve.cc:11751 #, gcc-internal-format, gfc-internal-format msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." msgstr "" #. Even if standard does not support this feature, continue to build #. the two statements to avoid upsetting frontend_passes.c. ! #: fortran/resolve.cc:12055 #, gcc-internal-format, gfc-internal-format msgid "Pointer procedure assignment at %L" msgstr "" ! #: fortran/resolve.cc:12067 #, gcc-internal-format, gfc-internal-format msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." msgstr "" ! #: fortran/resolve.cc:12152 #, gcc-internal-format msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" msgstr "" ! #: fortran/resolve.cc:12343 #, gcc-internal-format, gfc-internal-format msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:12379 #, gcc-internal-format, gfc-internal-format msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12383 #, gcc-internal-format msgid "Variable %qs has not been assigned a target label at %L" msgstr "" ! #: fortran/resolve.cc:12394 #, gcc-internal-format, gfc-internal-format msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" msgstr "" ! #: fortran/resolve.cc:12432 #, gcc-internal-format, gfc-internal-format msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" msgstr "" ! #: fortran/resolve.cc:12474 #, gcc-internal-format, gfc-internal-format msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12521 #, gcc-internal-format, gfc-internal-format msgid "Invalid NULL at %L" msgstr "" ! #: fortran/resolve.cc:12525 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" msgstr "" ! #: fortran/resolve.cc:12586 #, gcc-internal-format msgid "gfc_resolve_code(): No expression on DO WHILE" msgstr "" ! #: fortran/resolve.cc:12591 #, gcc-internal-format, gfc-internal-format msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12675 #, gcc-internal-format, gfc-internal-format msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12777 #, gcc-internal-format msgid "gfc_resolve_code(): Bad statement code" msgstr "" ! #: fortran/resolve.cc:12798 #, fuzzy, gcc-internal-format msgid "Using parameter %qs declared at %L is deprecated" msgstr "тып параметра \"%s\" не аб'яўлены" ! #: fortran/resolve.cc:12892 #, gcc-internal-format msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" #. This can only happen if the variable is defined in a module - if it #. isn't the same module, reject it. ! #: fortran/resolve.cc:12906 #, gcc-internal-format msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" msgstr "" *************** msgstr "" *** 77031,78017 **** #. Print an error if the procedure is defined multiple times; we have to #. exclude references to the same procedure via module association or #. multiple checks for the same procedure. ! #: fortran/resolve.cc:12893 #, gcc-internal-format msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" ! #: fortran/resolve.cc:12979 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%s' is too large" msgid "String length at %L is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:13214 #, gcc-internal-format msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13218 #, gcc-internal-format msgid "Scalar object %qs at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:13226 #, gcc-internal-format msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13237 #, gcc-internal-format msgid "Array %qs at %L cannot have a deferred shape" msgstr "" ! #: fortran/resolve.cc:13254 #, gcc-internal-format msgid "Type %qs of CLASS variable %qs at %L is not extensible" msgstr "" ! #: fortran/resolve.cc:13266 #, gcc-internal-format msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" msgstr "" ! #: fortran/resolve.cc:13299 #, gcc-internal-format msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" msgstr "" ! #: fortran/resolve.cc:13321 #, gcc-internal-format msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" msgstr "" ! #: fortran/resolve.cc:13354 #, gcc-internal-format msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" msgstr "" #. F08:C541. The shape of an array defined in a main program or module #. * needs to be constant. ! #: fortran/resolve.cc:13390 #, gcc-internal-format msgid "The module or main program array %qs at %L must have constant shape" msgstr "" ! #: fortran/resolve.cc:13415 #, gcc-internal-format, gfc-internal-format msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" msgstr "" ! #: fortran/resolve.cc:13436 #, gcc-internal-format msgid "%qs at %L must have constant character length in this context" msgstr "" ! #: fortran/resolve.cc:13443 #, gcc-internal-format msgid "COMMON variable %qs at %L must have constant character length" msgstr "" ! #: fortran/resolve.cc:13490 #, gcc-internal-format msgid "Allocatable %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13493 #, gcc-internal-format msgid "External %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13496 #, gcc-internal-format msgid "Dummy %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13499 #, gcc-internal-format msgid "Intrinsic %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13502 #, gcc-internal-format msgid "Function result %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13505 #, gcc-internal-format msgid "Automatic array %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13547 #, gcc-internal-format, gfc-internal-format msgid "%s at %L" msgstr "" ! #: fortran/resolve.cc:13579 #, gcc-internal-format msgid "Character-valued statement function %qs at %L must have constant length" msgstr "" ! #: fortran/resolve.cc:13602 #, gcc-internal-format msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:13624 #, gcc-internal-format msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" msgstr "" ! #: fortran/resolve.cc:13642 #, gcc-internal-format msgid "Function %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13654 #, gcc-internal-format msgid "External object %qs at %L may not have an initializer" msgstr "" ! #: fortran/resolve.cc:13664 #, gcc-internal-format msgid "ELEMENTAL function %qs at %L must have a scalar result" msgstr "" ! #: fortran/resolve.cc:13674 #, gcc-internal-format msgid "Statement function %qs at %L may not have pointer or allocatable attribute" msgstr "" ! #: fortran/resolve.cc:13693 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be array-valued" msgstr "" ! #: fortran/resolve.cc:13697 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" msgstr "" ! #: fortran/resolve.cc:13701 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pure" msgstr "" ! #: fortran/resolve.cc:13705 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be recursive" msgstr "" ! #: fortran/resolve.cc:13718 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L" msgstr "" ! #: fortran/resolve.cc:13729 #, gcc-internal-format msgid "Procedure pointer %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13735 #, gcc-internal-format msgid "Dummy procedure %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13755 #, gcc-internal-format msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" msgstr "" ! #: fortran/resolve.cc:13812 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13818 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13824 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13832 #, gcc-internal-format msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13838 #, gcc-internal-format msgid "Procedure pointer result %qs at %L is missing the pointer attribute" msgstr "" ! #: fortran/resolve.cc:13881 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13889 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13897 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13906 #, gcc-internal-format msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" msgstr "" ! #: fortran/resolve.cc:13930 #, gcc-internal-format msgid "Interface of %qs at %L must be explicit" msgstr "" ! #: fortran/resolve.cc:14000 #, gcc-internal-format msgid "FINAL procedure %qs at %L is not a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:14009 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L must have exactly one argument" msgstr "" ! #: fortran/resolve.cc:14017 fortran/resolve.cc:14034 #, gcc-internal-format msgid "Argument of FINAL procedure at %L must be of type %qs" msgstr "" ! #: fortran/resolve.cc:14025 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" msgstr "" ! #: fortran/resolve.cc:14042 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be a POINTER" msgstr "" ! #: fortran/resolve.cc:14048 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14054 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be OPTIONAL" msgstr "" ! #: fortran/resolve.cc:14062 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:14071 #, gcc-internal-format, gfc-internal-format msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" msgstr "" ! #: fortran/resolve.cc:14093 #, gcc-internal-format msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" msgstr "" ! #: fortran/resolve.cc:14130 #, gcc-internal-format msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" msgstr "" ! #: fortran/resolve.cc:14171 #, gcc-internal-format msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14207 #, gcc-internal-format msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" msgstr "" ! #: fortran/resolve.cc:14266 #, gcc-internal-format msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14278 #, gcc-internal-format msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" msgstr "" ! #: fortran/resolve.cc:14306 #, gcc-internal-format msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" msgstr "" ! #: fortran/resolve.cc:14362 #, gcc-internal-format, gfc-internal-format msgid "Type-bound operator at %L cannot be NOPASS" msgstr "" ! #: fortran/resolve.cc:14574 #, gcc-internal-format msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" msgstr "" ! #: fortran/resolve.cc:14617 #, gcc-internal-format msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:14631 #, gcc-internal-format msgid "Procedure %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:14645 fortran/resolve.cc:15133 #, gcc-internal-format msgid "Non-polymorphic passed-object dummy argument of %qs at %L" msgstr "" ! #: fortran/resolve.cc:14653 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" msgstr "" ! #: fortran/resolve.cc:14662 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:14668 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14674 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be POINTER" msgstr "" ! #: fortran/resolve.cc:14703 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as a component of %qs" msgstr "" ! #: fortran/resolve.cc:14713 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as an inherited component of %qs" msgstr "" ! #: fortran/resolve.cc:14808 #, gcc-internal-format msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" msgstr "" ! #: fortran/resolve.cc:14913 #, gcc-internal-format msgid "Coarray component %qs at %L must be allocatable with deferred shape" msgstr "" ! #: fortran/resolve.cc:14922 #, gcc-internal-format msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:14932 #, gcc-internal-format msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" msgstr "" ! #: fortran/resolve.cc:14957 #, gcc-internal-format msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" msgstr "" ! #: fortran/resolve.cc:14968 #, gcc-internal-format msgid "Component %qs of BIND(C) type at %L must have length one" msgstr "" ! #: fortran/resolve.cc:15066 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:15080 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:15096 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" msgstr "" ! #: fortran/resolve.cc:15106 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:15115 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" msgstr "" ! #: fortran/resolve.cc:15124 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15166 #, gcc-internal-format msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" msgstr "" ! #: fortran/resolve.cc:15179 #, gcc-internal-format msgid "Character length of component %qs needs to be a constant specification expression at %L" msgstr "" ! #: fortran/resolve.cc:15190 #, gcc-internal-format msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:15203 #, gcc-internal-format msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15236 #, gcc-internal-format msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:15244 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" msgstr "" ! #: fortran/resolve.cc:15253 #, gcc-internal-format, gfc-internal-format msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" msgstr "" ! #: fortran/resolve.cc:15339 #, gcc-internal-format, gfc-internal-format msgid "Conflicting initializers in union at %L and %L" msgstr "" ! #: fortran/resolve.cc:15384 #, gcc-internal-format msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" msgstr "" ! #: fortran/resolve.cc:15397 #, gcc-internal-format msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" msgstr "" ! #: fortran/resolve.cc:15461 #, gcc-internal-format msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" msgstr "" ! #: fortran/resolve.cc:15494 #, gcc-internal-format msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" msgstr "" ! #: fortran/resolve.cc:15508 #, gcc-internal-format msgid "Derived type %qs at %L has not been declared" msgstr "" ! #: fortran/resolve.cc:15576 #, gcc-internal-format msgid "Assumed size array %qs in namelist %qs at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:15582 #, gcc-internal-format msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15588 #, gcc-internal-format msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15596 #, gcc-internal-format msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15613 #, gcc-internal-format msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15635 #, gcc-internal-format msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15646 #, gcc-internal-format msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15673 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:15692 #, gcc-internal-format msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" msgstr "" ! #: fortran/resolve.cc:15708 #, gcc-internal-format msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:15719 #, gcc-internal-format, gfc-internal-format msgid "Incompatible derived type in PARAMETER at %L" msgstr "" ! #: fortran/resolve.cc:15727 #, gcc-internal-format msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgstr "" ! #: fortran/resolve.cc:15778 #, gcc-internal-format msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" msgstr "" ! #: fortran/resolve.cc:15789 #, gcc-internal-format msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" msgstr "" ! #: fortran/resolve.cc:15796 #, gcc-internal-format msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" msgstr "" ! #: fortran/resolve.cc:15836 #, gcc-internal-format, gfc-internal-format msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" msgstr "" ! #: fortran/resolve.cc:15849 #, gcc-internal-format msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" msgstr "" ! #: fortran/resolve.cc:15907 #, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" msgstr "" ! #: fortran/resolve.cc:15910 #, gcc-internal-format, gfc-internal-format msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" msgstr "" ! #: fortran/resolve.cc:16010 #, gcc-internal-format msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" msgstr "" ! #: fortran/resolve.cc:16031 #, gcc-internal-format, gfc-internal-format msgid "Bad specification for assumed size array at %L" msgstr "" ! #: fortran/resolve.cc:16044 #, gcc-internal-format, gfc-internal-format msgid "Assumed size array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16047 #, gcc-internal-format, gfc-internal-format msgid "Assumed shape array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16057 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16064 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" msgstr "" ! #: fortran/resolve.cc:16077 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %L is not a DUMMY variable" msgstr "" ! #: fortran/resolve.cc:16083 #, gcc-internal-format msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "" ! #: fortran/resolve.cc:16093 #, gcc-internal-format msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" msgstr "" ! #: fortran/resolve.cc:16102 #, gcc-internal-format msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" msgstr "" ! #: fortran/resolve.cc:16115 fortran/resolve.cc:16292 #, gcc-internal-format msgid "The derived type %qs at %L is of type %qs, which has not been defined" msgstr "" ! #: fortran/resolve.cc:16129 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16138 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" msgstr "" ! #: fortran/resolve.cc:16147 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16155 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16162 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" msgstr "" ! #: fortran/resolve.cc:16182 #, gcc-internal-format, gfc-internal-format msgid "Assumed type of variable %s at %L is only permitted for dummy variables" msgstr "" ! #: fortran/resolve.cc:16189 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16196 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16203 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" msgstr "" ! #: fortran/resolve.cc:16229 #, gcc-internal-format msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgstr "" ! #: fortran/resolve.cc:16239 #, gcc-internal-format msgid "BIND(C) Variable %qs at %L must have length one" msgstr "" ! #: fortran/resolve.cc:16318 #, gcc-internal-format msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" msgstr "" ! #: fortran/resolve.cc:16333 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16346 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16364 #, gcc-internal-format msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" msgstr "" ! #: fortran/resolve.cc:16376 #, gcc-internal-format msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16385 #, gcc-internal-format msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16398 #, gcc-internal-format msgid "Function result %qs at %L shall not be a coarray or have a coarray component" msgstr "" ! #: fortran/resolve.cc:16407 #, gcc-internal-format msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:16420 #, gcc-internal-format msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" msgstr "" ! #: fortran/resolve.cc:16436 #, gcc-internal-format msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" msgstr "" ! #: fortran/resolve.cc:16444 #, gcc-internal-format msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" msgstr "" ! #: fortran/resolve.cc:16451 #, gcc-internal-format msgid "Allocatable coarray variable %qs at %L must have deferred shape" msgstr "" ! #: fortran/resolve.cc:16464 #, gcc-internal-format msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" msgstr "" ! #: fortran/resolve.cc:16473 #, gcc-internal-format msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16489 #, gcc-internal-format msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16495 #, gcc-internal-format msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16520 #, gcc-internal-format msgid "Namelist %qs cannot be an argument to subroutine or function at %L" msgstr "" ! #: fortran/resolve.cc:16591 #, gcc-internal-format, gfc-internal-format msgid "Threadprivate at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16603 #, gcc-internal-format msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16719 #, gcc-internal-format, gfc-internal-format msgid "Expecting definable entity near %L" msgstr "" ! #: fortran/resolve.cc:16727 #, gcc-internal-format msgid "BLOCK DATA element %qs at %L must be in COMMON" msgstr "" ! #: fortran/resolve.cc:16734 #, gcc-internal-format msgid "DATA array %qs at %L must be specified in a previous declaration" msgstr "" ! #: fortran/resolve.cc:16741 #, gcc-internal-format msgid "DATA element %qs at %L cannot have a coindex" msgstr "" ! #: fortran/resolve.cc:16757 #, gcc-internal-format msgid "DATA element %qs at %L is a pointer and so must be a full array" msgstr "" ! #: fortran/resolve.cc:16764 #, gcc-internal-format, gfc-internal-format msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" msgstr "" ! #: fortran/resolve.cc:16773 #, gcc-internal-format msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" msgstr "" ! #: fortran/resolve.cc:16819 #, gcc-internal-format, gfc-internal-format msgid "Nonconstant array section at %L in DATA statement" msgstr "" ! #: fortran/resolve.cc:16832 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more variables than values" msgstr "" ! #: fortran/resolve.cc:16931 #, gcc-internal-format, gfc-internal-format msgid "start of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16939 #, gcc-internal-format, gfc-internal-format msgid "end of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16947 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16954 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L shall not be zero" msgstr "" ! #: fortran/resolve.cc:17079 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more values than variables" msgstr "" ! #: fortran/resolve.cc:17245 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%s' defined but not used" msgid "Label %d at %L defined but not used" msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" ! #: fortran/resolve.cc:17251 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%s' defined but not used" msgid "Label %d at %L defined but cannot be used" msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" ! #: fortran/resolve.cc:17335 #, gcc-internal-format msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17344 #, gcc-internal-format msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17352 #, gcc-internal-format msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgstr "" ! #: fortran/resolve.cc:17368 #, gcc-internal-format msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17471 #, gcc-internal-format, gfc-internal-format msgid "Syntax error in EQUIVALENCE statement at %L" msgstr "" ! #: fortran/resolve.cc:17486 #, gcc-internal-format, gfc-internal-format msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" msgstr "" ! #: fortran/resolve.cc:17511 #, gcc-internal-format msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" msgstr "" ! #: fortran/resolve.cc:17520 #, gcc-internal-format msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17595 #, gcc-internal-format msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17606 #, gcc-internal-format msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17617 #, gcc-internal-format, gfc-internal-format msgid "Substring at %L has length zero" msgstr "" ! #: fortran/resolve.cc:17648 #, gcc-internal-format msgid "Self reference in character length expression for %qs at %L" msgstr "" ! #: fortran/resolve.cc:17715 #, gcc-internal-format msgid "PUBLIC function %qs at %L of PRIVATE type %qs" msgstr "" ! #: fortran/resolve.cc:17728 #, gcc-internal-format msgid "ENTRY %qs at %L has no IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:17750 #, gcc-internal-format msgid "User operator procedure %qs at %L must be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:17760 #, gcc-internal-format msgid "User operator procedure %qs at %L cannot be assumed character length" msgstr "" ! #: fortran/resolve.cc:17768 #, gcc-internal-format msgid "User operator procedure %qs at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:17782 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17800 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17807 #, gcc-internal-format, gfc-internal-format msgid "Operator interface at %L must have, at most, two arguments" msgstr "" ! #: fortran/resolve.cc:17886 #, gcc-internal-format msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" msgstr "" --- 77066,78052 ---- #. Print an error if the procedure is defined multiple times; we have to #. exclude references to the same procedure via module association or #. multiple checks for the same procedure. ! #: fortran/resolve.cc:12925 #, gcc-internal-format msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" ! #: fortran/resolve.cc:13011 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%s' is too large" msgid "String length at %L is too large" msgstr "памер масіва \"%s\" вельмі вялікі" ! #: fortran/resolve.cc:13249 #, gcc-internal-format msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13253 #, gcc-internal-format msgid "Scalar object %qs at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:13261 #, gcc-internal-format msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13272 #, gcc-internal-format msgid "Array %qs at %L cannot have a deferred shape" msgstr "" ! #: fortran/resolve.cc:13289 #, gcc-internal-format msgid "Type %qs of CLASS variable %qs at %L is not extensible" msgstr "" ! #: fortran/resolve.cc:13301 #, gcc-internal-format msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" msgstr "" ! #: fortran/resolve.cc:13334 #, gcc-internal-format msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" msgstr "" ! #: fortran/resolve.cc:13356 #, gcc-internal-format msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" msgstr "" ! #: fortran/resolve.cc:13389 #, gcc-internal-format msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" msgstr "" #. F08:C541. The shape of an array defined in a main program or module #. * needs to be constant. ! #: fortran/resolve.cc:13425 #, gcc-internal-format msgid "The module or main program array %qs at %L must have constant shape" msgstr "" ! #: fortran/resolve.cc:13450 #, gcc-internal-format, gfc-internal-format msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" msgstr "" ! #: fortran/resolve.cc:13471 #, gcc-internal-format msgid "%qs at %L must have constant character length in this context" msgstr "" ! #: fortran/resolve.cc:13478 #, gcc-internal-format msgid "COMMON variable %qs at %L must have constant character length" msgstr "" ! #: fortran/resolve.cc:13525 #, gcc-internal-format msgid "Allocatable %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13528 #, gcc-internal-format msgid "External %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13531 #, gcc-internal-format msgid "Dummy %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13534 #, gcc-internal-format msgid "Intrinsic %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13537 #, gcc-internal-format msgid "Function result %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13540 #, gcc-internal-format msgid "Automatic array %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13582 #, gcc-internal-format, gfc-internal-format msgid "%s at %L" msgstr "" ! #: fortran/resolve.cc:13614 #, gcc-internal-format msgid "Character-valued statement function %qs at %L must have constant length" msgstr "" ! #: fortran/resolve.cc:13637 #, gcc-internal-format msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:13659 #, gcc-internal-format msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" msgstr "" ! #: fortran/resolve.cc:13677 #, gcc-internal-format msgid "Function %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13689 #, gcc-internal-format msgid "External object %qs at %L may not have an initializer" msgstr "" ! #: fortran/resolve.cc:13699 #, gcc-internal-format msgid "ELEMENTAL function %qs at %L must have a scalar result" msgstr "" ! #: fortran/resolve.cc:13709 #, gcc-internal-format msgid "Statement function %qs at %L may not have pointer or allocatable attribute" msgstr "" ! #: fortran/resolve.cc:13728 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be array-valued" msgstr "" ! #: fortran/resolve.cc:13732 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" msgstr "" ! #: fortran/resolve.cc:13736 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pure" msgstr "" ! #: fortran/resolve.cc:13740 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be recursive" msgstr "" ! #: fortran/resolve.cc:13753 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L" msgstr "" ! #: fortran/resolve.cc:13764 #, gcc-internal-format msgid "Procedure pointer %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13770 #, gcc-internal-format msgid "Dummy procedure %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13790 #, gcc-internal-format msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" msgstr "" ! #: fortran/resolve.cc:13847 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13853 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13859 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13867 #, gcc-internal-format msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13873 #, gcc-internal-format msgid "Procedure pointer result %qs at %L is missing the pointer attribute" msgstr "" ! #: fortran/resolve.cc:13916 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13924 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13932 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13941 #, gcc-internal-format msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" msgstr "" ! #: fortran/resolve.cc:13965 #, gcc-internal-format msgid "Interface of %qs at %L must be explicit" msgstr "" ! #: fortran/resolve.cc:14035 #, gcc-internal-format msgid "FINAL procedure %qs at %L is not a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:14044 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L must have exactly one argument" msgstr "" ! #: fortran/resolve.cc:14052 fortran/resolve.cc:14069 #, gcc-internal-format msgid "Argument of FINAL procedure at %L must be of type %qs" msgstr "" ! #: fortran/resolve.cc:14060 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" msgstr "" ! #: fortran/resolve.cc:14077 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be a POINTER" msgstr "" ! #: fortran/resolve.cc:14083 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14089 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be OPTIONAL" msgstr "" ! #: fortran/resolve.cc:14097 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:14106 #, gcc-internal-format, gfc-internal-format msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" msgstr "" ! #: fortran/resolve.cc:14128 #, gcc-internal-format msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" msgstr "" ! #: fortran/resolve.cc:14165 #, gcc-internal-format msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" msgstr "" ! #: fortran/resolve.cc:14206 #, gcc-internal-format msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14242 #, gcc-internal-format msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" msgstr "" ! #: fortran/resolve.cc:14301 #, gcc-internal-format msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14313 #, gcc-internal-format msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" msgstr "" ! #: fortran/resolve.cc:14341 #, gcc-internal-format msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" msgstr "" ! #: fortran/resolve.cc:14397 #, gcc-internal-format, gfc-internal-format msgid "Type-bound operator at %L cannot be NOPASS" msgstr "" ! #: fortran/resolve.cc:14609 #, gcc-internal-format msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" msgstr "" ! #: fortran/resolve.cc:14652 #, gcc-internal-format msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:14666 #, gcc-internal-format msgid "Procedure %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:14680 fortran/resolve.cc:15168 #, gcc-internal-format msgid "Non-polymorphic passed-object dummy argument of %qs at %L" msgstr "" ! #: fortran/resolve.cc:14688 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" msgstr "" ! #: fortran/resolve.cc:14697 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:14703 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14709 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be POINTER" msgstr "" ! #: fortran/resolve.cc:14738 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as a component of %qs" msgstr "" ! #: fortran/resolve.cc:14748 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as an inherited component of %qs" msgstr "" ! #: fortran/resolve.cc:14843 #, gcc-internal-format msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" msgstr "" ! #: fortran/resolve.cc:14948 #, gcc-internal-format msgid "Coarray component %qs at %L must be allocatable with deferred shape" msgstr "" ! #: fortran/resolve.cc:14957 #, gcc-internal-format msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:14967 #, gcc-internal-format msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" msgstr "" ! #: fortran/resolve.cc:14992 #, gcc-internal-format msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" msgstr "" ! #: fortran/resolve.cc:15003 #, gcc-internal-format msgid "Component %qs of BIND(C) type at %L must have length one" msgstr "" ! #: fortran/resolve.cc:15101 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:15115 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:15131 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" msgstr "" ! #: fortran/resolve.cc:15141 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:15150 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" msgstr "" ! #: fortran/resolve.cc:15159 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15201 #, gcc-internal-format msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" msgstr "" ! #: fortran/resolve.cc:15214 #, gcc-internal-format msgid "Character length of component %qs needs to be a constant specification expression at %L" msgstr "" ! #: fortran/resolve.cc:15225 #, gcc-internal-format msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:15238 #, gcc-internal-format msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15271 #, gcc-internal-format msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:15279 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" msgstr "" ! #: fortran/resolve.cc:15288 #, gcc-internal-format, gfc-internal-format msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" msgstr "" ! #: fortran/resolve.cc:15374 #, gcc-internal-format, gfc-internal-format msgid "Conflicting initializers in union at %L and %L" msgstr "" ! #: fortran/resolve.cc:15419 #, gcc-internal-format msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" msgstr "" ! #: fortran/resolve.cc:15432 #, gcc-internal-format msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" msgstr "" ! #: fortran/resolve.cc:15496 #, gcc-internal-format msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" msgstr "" ! #: fortran/resolve.cc:15529 #, gcc-internal-format msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" msgstr "" ! #: fortran/resolve.cc:15543 #, gcc-internal-format msgid "Derived type %qs at %L has not been declared" msgstr "" ! #: fortran/resolve.cc:15611 #, gcc-internal-format msgid "Assumed size array %qs in namelist %qs at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:15617 #, gcc-internal-format msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15623 #, gcc-internal-format msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15631 #, gcc-internal-format msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15648 #, gcc-internal-format msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15670 #, gcc-internal-format msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15681 #, gcc-internal-format msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15708 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:15727 #, gcc-internal-format msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" msgstr "" ! #: fortran/resolve.cc:15743 #, gcc-internal-format msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:15754 #, gcc-internal-format, gfc-internal-format msgid "Incompatible derived type in PARAMETER at %L" msgstr "" ! #: fortran/resolve.cc:15762 #, gcc-internal-format msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgstr "" ! #: fortran/resolve.cc:15813 #, gcc-internal-format msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" msgstr "" ! #: fortran/resolve.cc:15824 #, gcc-internal-format msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" msgstr "" ! #: fortran/resolve.cc:15831 #, gcc-internal-format msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" msgstr "" ! #: fortran/resolve.cc:15871 #, gcc-internal-format, gfc-internal-format msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" msgstr "" ! #: fortran/resolve.cc:15884 #, gcc-internal-format msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" msgstr "" ! #: fortran/resolve.cc:15942 #, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" msgstr "" ! #: fortran/resolve.cc:15945 #, gcc-internal-format, gfc-internal-format msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" msgstr "" ! #: fortran/resolve.cc:16045 #, gcc-internal-format msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" msgstr "" ! #: fortran/resolve.cc:16066 #, gcc-internal-format, gfc-internal-format msgid "Bad specification for assumed size array at %L" msgstr "" ! #: fortran/resolve.cc:16079 #, gcc-internal-format, gfc-internal-format msgid "Assumed size array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16082 #, gcc-internal-format, gfc-internal-format msgid "Assumed shape array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16092 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16099 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" msgstr "" ! #: fortran/resolve.cc:16112 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %L is not a DUMMY variable" msgstr "" ! #: fortran/resolve.cc:16118 #, gcc-internal-format msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "" ! #: fortran/resolve.cc:16128 #, gcc-internal-format msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" msgstr "" ! #: fortran/resolve.cc:16137 #, gcc-internal-format msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" msgstr "" ! #: fortran/resolve.cc:16150 fortran/resolve.cc:16327 #, gcc-internal-format msgid "The derived type %qs at %L is of type %qs, which has not been defined" msgstr "" ! #: fortran/resolve.cc:16164 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16173 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" msgstr "" ! #: fortran/resolve.cc:16182 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16190 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16197 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" msgstr "" ! #: fortran/resolve.cc:16217 #, gcc-internal-format, gfc-internal-format msgid "Assumed type of variable %s at %L is only permitted for dummy variables" msgstr "" ! #: fortran/resolve.cc:16224 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16231 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16238 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" msgstr "" ! #: fortran/resolve.cc:16264 #, gcc-internal-format msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgstr "" ! #: fortran/resolve.cc:16274 #, gcc-internal-format msgid "BIND(C) Variable %qs at %L must have length one" msgstr "" ! #: fortran/resolve.cc:16353 #, gcc-internal-format msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" msgstr "" ! #: fortran/resolve.cc:16368 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16381 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16399 #, gcc-internal-format msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" msgstr "" ! #: fortran/resolve.cc:16411 #, gcc-internal-format msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16420 #, gcc-internal-format msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16433 #, gcc-internal-format msgid "Function result %qs at %L shall not be a coarray or have a coarray component" msgstr "" ! #: fortran/resolve.cc:16442 #, gcc-internal-format msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:16455 #, gcc-internal-format msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" msgstr "" ! #: fortran/resolve.cc:16471 #, gcc-internal-format msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" msgstr "" ! #: fortran/resolve.cc:16479 #, gcc-internal-format msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" msgstr "" ! #: fortran/resolve.cc:16486 #, gcc-internal-format msgid "Allocatable coarray variable %qs at %L must have deferred shape" msgstr "" ! #: fortran/resolve.cc:16499 #, gcc-internal-format msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" msgstr "" ! #: fortran/resolve.cc:16508 #, gcc-internal-format msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16524 #, gcc-internal-format msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16530 #, gcc-internal-format msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16555 #, gcc-internal-format msgid "Namelist %qs cannot be an argument to subroutine or function at %L" msgstr "" ! #: fortran/resolve.cc:16626 #, gcc-internal-format, gfc-internal-format msgid "Threadprivate at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16638 #, gcc-internal-format msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16754 #, gcc-internal-format, gfc-internal-format msgid "Expecting definable entity near %L" msgstr "" ! #: fortran/resolve.cc:16762 #, gcc-internal-format msgid "BLOCK DATA element %qs at %L must be in COMMON" msgstr "" ! #: fortran/resolve.cc:16769 #, gcc-internal-format msgid "DATA array %qs at %L must be specified in a previous declaration" msgstr "" ! #: fortran/resolve.cc:16776 #, gcc-internal-format msgid "DATA element %qs at %L cannot have a coindex" msgstr "" ! #: fortran/resolve.cc:16792 #, gcc-internal-format msgid "DATA element %qs at %L is a pointer and so must be a full array" msgstr "" ! #: fortran/resolve.cc:16799 #, gcc-internal-format, gfc-internal-format msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" msgstr "" ! #: fortran/resolve.cc:16808 #, gcc-internal-format msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" msgstr "" ! #: fortran/resolve.cc:16854 #, gcc-internal-format, gfc-internal-format msgid "Nonconstant array section at %L in DATA statement" msgstr "" ! #: fortran/resolve.cc:16867 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more variables than values" msgstr "" ! #: fortran/resolve.cc:16966 #, gcc-internal-format, gfc-internal-format msgid "start of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16974 #, gcc-internal-format, gfc-internal-format msgid "end of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16982 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16989 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L shall not be zero" msgstr "" ! #: fortran/resolve.cc:17114 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more values than variables" msgstr "" ! #: fortran/resolve.cc:17280 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%s' defined but not used" msgid "Label %d at %L defined but not used" msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" ! #: fortran/resolve.cc:17286 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%s' defined but not used" msgid "Label %d at %L defined but cannot be used" msgstr "адмеціна `%s' вызначана, але ня выкарыстоўваецца" ! #: fortran/resolve.cc:17370 #, gcc-internal-format msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17379 #, gcc-internal-format msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17387 #, gcc-internal-format msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgstr "" ! #: fortran/resolve.cc:17403 #, gcc-internal-format msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17506 #, gcc-internal-format, gfc-internal-format msgid "Syntax error in EQUIVALENCE statement at %L" msgstr "" ! #: fortran/resolve.cc:17521 #, gcc-internal-format, gfc-internal-format msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" msgstr "" ! #: fortran/resolve.cc:17546 #, gcc-internal-format msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" msgstr "" ! #: fortran/resolve.cc:17555 #, gcc-internal-format msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17630 #, gcc-internal-format msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17641 #, gcc-internal-format msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17652 #, gcc-internal-format, gfc-internal-format msgid "Substring at %L has length zero" msgstr "" ! #: fortran/resolve.cc:17683 #, gcc-internal-format msgid "Self reference in character length expression for %qs at %L" msgstr "" ! #: fortran/resolve.cc:17750 #, gcc-internal-format msgid "PUBLIC function %qs at %L of PRIVATE type %qs" msgstr "" ! #: fortran/resolve.cc:17763 #, gcc-internal-format msgid "ENTRY %qs at %L has no IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:17785 #, gcc-internal-format msgid "User operator procedure %qs at %L must be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:17795 #, gcc-internal-format msgid "User operator procedure %qs at %L cannot be assumed character length" msgstr "" ! #: fortran/resolve.cc:17803 #, gcc-internal-format msgid "User operator procedure %qs at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:17817 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17835 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17842 #, gcc-internal-format, gfc-internal-format msgid "Operator interface at %L must have, at most, two arguments" msgstr "" ! #: fortran/resolve.cc:17921 #, gcc-internal-format msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" msgstr "" *************** msgstr "" *** 78882,78888 **** msgid "Derived type %qs at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgstr "" ! #: fortran/symbol.cc:5069 fortran/symbol.cc:5074 #, gcc-internal-format msgid "Symbol %qs is used before it is typed at %L" msgstr "" --- 78917,78923 ---- msgid "Derived type %qs at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgstr "" ! #: fortran/symbol.cc:5076 fortran/symbol.cc:5081 #, gcc-internal-format msgid "Symbol %qs is used before it is typed at %L" msgstr "" *************** msgstr "" *** 78912,78918 **** msgid "Overlapping unequal initializers in EQUIVALENCE at %C" msgstr "" ! #: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 #, gcc-internal-format, gfc-internal-format msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." msgstr "" --- 78947,78953 ---- msgid "Overlapping unequal initializers in EQUIVALENCE at %C" msgstr "" ! #: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9510 #, gcc-internal-format, gfc-internal-format msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." msgstr "" *************** msgstr "невядомы рэжым ма *** 79138,79144 **** msgid "Unknown argument list function at %L" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: fortran/trans-expr.cc:10077 #, gcc-internal-format, gfc-internal-format msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" msgstr "" --- 79173,79179 ---- msgid "Unknown argument list function at %L" msgstr "нехапае аргументаў у функцыі \"%s\"" ! #: fortran/trans-expr.cc:10082 #, gcc-internal-format, gfc-internal-format msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" msgstr "" *************** msgstr "" *** 79189,79266 **** msgid "optional class parameter" msgstr "невыкарыстаемы параметр \"%s\"" ! #: fortran/trans-openmp.cc:3449 #, gcc-internal-format msgid "unhandled expression type" msgstr "" ! #: fortran/trans-openmp.cc:3603 #, gcc-internal-format msgid "unhandled expression" msgstr "" ! #: fortran/trans-openmp.cc:5154 fortran/trans-openmp.cc:5174 #, gcc-internal-format msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs" msgstr "" ! #: fortran/trans-openmp.cc:5176 #, gcc-internal-format msgid "Used here" msgstr "" ! #: fortran/trans-openmp.cc:6693 #, gcc-internal-format msgid "%qs specified in 'allocate' clause at %L but not in an explicit privatization clause" msgstr "" ! #: fortran/trans-openmp.cc:7590 #, gcc-internal-format msgid "gfc_trans_omp_workshare(): Bad statement code" msgstr "" ! #: fortran/trans-openmp.cc:7890 #, gcc-internal-format, gfc-internal-format msgid "The base name for 'declare variant' must be specified at %L " msgstr "" ! #: fortran/trans-openmp.cc:7900 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L does not match the name of the current procedure" msgstr "" ! #: fortran/trans-openmp.cc:7903 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be an entry name" msgstr "" ! #: fortran/trans-openmp.cc:7906 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be a generic name" msgstr "" ! #: fortran/trans-openmp.cc:7909 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be a procedure pointer" msgstr "" ! #: fortran/trans-openmp.cc:7912 #, gcc-internal-format, gfc-internal-format msgid "The base procedure at %L must have an explicit interface" msgstr "" ! #: fortran/trans-openmp.cc:8009 #, fuzzy, gcc-internal-format #| msgid "cannot find source %s" msgid "Cannot find symbol %qs" msgstr "не магу знайсці крыніцу %s" ! #: fortran/trans-openmp.cc:8020 #, gcc-internal-format msgid "variant %qs at %L is not a function or subroutine" msgstr "" ! #: fortran/trans-openmp.cc:8032 #, gcc-internal-format msgid "variant %qs and base %qs at %L have incompatible types: %s" msgstr "" --- 79224,79301 ---- msgid "optional class parameter" msgstr "невыкарыстаемы параметр \"%s\"" ! #: fortran/trans-openmp.cc:3462 #, gcc-internal-format msgid "unhandled expression type" msgstr "" ! #: fortran/trans-openmp.cc:3637 #, gcc-internal-format msgid "unhandled expression" msgstr "" ! #: fortran/trans-openmp.cc:5188 fortran/trans-openmp.cc:5208 #, gcc-internal-format msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs" msgstr "" ! #: fortran/trans-openmp.cc:5210 #, gcc-internal-format msgid "Used here" msgstr "" ! #: fortran/trans-openmp.cc:6727 #, gcc-internal-format msgid "%qs specified in 'allocate' clause at %L but not in an explicit privatization clause" msgstr "" ! #: fortran/trans-openmp.cc:7624 #, gcc-internal-format msgid "gfc_trans_omp_workshare(): Bad statement code" msgstr "" ! #: fortran/trans-openmp.cc:7924 #, gcc-internal-format, gfc-internal-format msgid "The base name for 'declare variant' must be specified at %L " msgstr "" ! #: fortran/trans-openmp.cc:7934 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L does not match the name of the current procedure" msgstr "" ! #: fortran/trans-openmp.cc:7937 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be an entry name" msgstr "" ! #: fortran/trans-openmp.cc:7940 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be a generic name" msgstr "" ! #: fortran/trans-openmp.cc:7943 #, gcc-internal-format, gfc-internal-format msgid "The base name at %L must not be a procedure pointer" msgstr "" ! #: fortran/trans-openmp.cc:7946 #, gcc-internal-format, gfc-internal-format msgid "The base procedure at %L must have an explicit interface" msgstr "" ! #: fortran/trans-openmp.cc:8043 #, fuzzy, gcc-internal-format #| msgid "cannot find source %s" msgid "Cannot find symbol %qs" msgstr "не магу знайсці крыніцу %s" ! #: fortran/trans-openmp.cc:8054 #, gcc-internal-format msgid "variant %qs at %L is not a function or subroutine" msgstr "" ! #: fortran/trans-openmp.cc:8066 #, gcc-internal-format msgid "variant %qs and base %qs at %L have incompatible types: %s" msgstr "" diff -Nrcpad gcc-13.2.0/gcc/po/da.po gcc-13.3.0/gcc/po/da.po *** gcc-13.2.0/gcc/po/da.po Thu Jul 27 08:13:04 2023 --- gcc-13.3.0/gcc/po/da.po Tue May 21 07:47:38 2024 *************** msgid "" *** 137,143 **** msgstr "" "Project-Id-Version: gcc-9.1-b20190203\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" ! "POT-Creation-Date: 2023-04-25 21:43+0000\n" "PO-Revision-Date: 2019-02-14 11:00+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" --- 137,143 ---- msgstr "" "Project-Id-Version: gcc-9.1-b20190203\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" ! "POT-Creation-Date: 2023-07-26 18:38+0000\n" "PO-Revision-Date: 2019-02-14 11:00+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" *************** msgstr "-bundle er ikke tilladt med -dyn *** 471,482 **** msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "-force_flat_namespace er ikke tilladt med -dynamiclib" ! #: config/darwin.h:213 config/darwin.h:596 #, fuzzy msgid "gsplit-dwarf is not supported on this platform" msgstr "egenskaben '%s' er ikke understøttet på denne platform" ! #: config/darwin.h:277 #, fuzzy #| msgid "-pipe is not supported" msgid "rdynamic is not supported" --- 471,482 ---- msgid "-force_flat_namespace not allowed with -dynamiclib" msgstr "-force_flat_namespace er ikke tilladt med -dynamiclib" ! #: config/darwin.h:213 config/darwin.h:604 #, fuzzy msgid "gsplit-dwarf is not supported on this platform" msgstr "egenskaben '%s' er ikke understøttet på denne platform" ! #: config/darwin.h:276 #, fuzzy #| msgid "-pipe is not supported" msgid "rdynamic is not supported" *************** msgid "Warn about casts that will produc *** 3907,4235 **** msgstr "Advar om typeomtvingninger som forkaster modifikationer" #: d/lang.opt:143 #, no-c-format msgid "Warn from speculative compiles such as __traits(compiles)." msgstr "" ! #: d/lang.opt:155 #, fuzzy, no-c-format #| msgid "Generate H8S code" msgid "Generate JSON file." msgstr "Generér H8S-kode" ! #: d/lang.opt:159 #, fuzzy, no-c-format msgid "-Xf \tWrite JSON output to the given ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:163 #, no-c-format msgid "Debug library to use instead of phobos." msgstr "" ! #: d/lang.opt:167 #, no-c-format msgid "Default library to use instead of phobos." msgstr "" ! #: d/lang.opt:171 #, fuzzy, no-c-format msgid "Do link the standard D startup files in the compilation." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:178 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for all template instantiations." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:182 #, fuzzy, no-c-format #| msgid "Generate code for GNU assembler (gas)" msgid "Generate code for assert contracts." msgstr "Opret kode for GNU-assembler (gas)" ! #: d/lang.opt:190 #, no-c-format msgid "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code only, or off." msgstr "" ! #: d/lang.opt:232 #, no-c-format msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." msgstr "" ! #: d/lang.opt:248 #, fuzzy, no-c-format #| msgid "Compile code for big endian mode" msgid "Compile in debug code." msgstr "Kompiler kode for storendet tilstand" ! #: d/lang.opt:252 #, no-c-format msgid "-fdebug=\tCompile in debug code identified by ." msgstr "" ! #: d/lang.opt:256 #, fuzzy, no-c-format #| msgid "Generate char instructions" msgid "Generate documentation." msgstr "Generér char-instruktioner" ! #: d/lang.opt:260 #, no-c-format msgid "-fdoc-dir=\tWrite documentation file to directory ." msgstr "" ! #: d/lang.opt:264 #, fuzzy, no-c-format msgid "-fdoc-file=\tWrite documentation to ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:268 #, no-c-format msgid "-fdoc-inc=\tInclude a Ddoc macro ." msgstr "" ! #: d/lang.opt:272 #, fuzzy, no-c-format msgid "Assume that standard D runtime libraries and \"D main\" exist." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:276 #, no-c-format msgid "Add comments for ignored declarations in the generated C++ header." msgstr "" ! #: d/lang.opt:280 #, fuzzy, no-c-format msgid "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:284 #, fuzzy, no-c-format msgid "Display the frontend AST after parsing and semantic passes." msgstr "Foretag en komplet registerflytningsoptimering" ! #: d/lang.opt:288 #, no-c-format msgid "-fextern-std=\tSet C++ name mangling compatibility with ." msgstr "" ! #: d/lang.opt:313 #, no-c-format msgid "Ignore unsupported pragmas." msgstr "" ! #: d/lang.opt:317 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for class invariant contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:321 #, no-c-format msgid "Generate a default D main() function when compiling." msgstr "" ! #: d/lang.opt:325 #, no-c-format msgid "-fmodule-file==\tuse as source file for ." msgstr "" ! #: d/lang.opt:329 #, fuzzy, no-c-format #| msgid "Generate code for the user mode." msgid "Generate ModuleInfo struct for output module." msgstr "Opret kode for brugertilstanden." ! #: d/lang.opt:333 #, no-c-format msgid "Process all modules specified on the command line, but only generate code for the module specified by the argument." msgstr "" ! #: d/lang.opt:337 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for postcondition contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:341 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for precondition contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:345 #, no-c-format msgid "Turn on all upcoming D language features." msgstr "" ! #: d/lang.opt:349 #, no-c-format msgid "Implement D bit-fields." msgstr "" ! #: d/lang.opt:353 #, no-c-format msgid "Implement DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:357 #, no-c-format msgid "Implement DIP1008: Allow exceptions in @nogc code." msgstr "" ! #: d/lang.opt:361 #, fuzzy, no-c-format #| msgid "malformed spec function arguments" msgid "Implement DIP1021: Mutable function arguments." msgstr "forkert udformede specifikationsfunktionsparametre" ! #: d/lang.opt:365 #, no-c-format msgid "Destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:369 #, no-c-format msgid "Use field-wise comparisons for struct equality." msgstr "" ! #: d/lang.opt:373 #, no-c-format msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes." msgstr "" ! #: d/lang.opt:377 #, no-c-format msgid "Disallow unsound immutable conversions that were formerly incorrectly permitted." msgstr "" ! #: d/lang.opt:381 #, no-c-format msgid "Implement 'in' parameters to mean scope const." msgstr "" ! #: d/lang.opt:385 #, no-c-format msgid "Implement 'in' contracts of overridden methods to be a superset of parent contract." msgstr "" ! #: d/lang.opt:389 #, fuzzy, no-c-format #| msgid "Consider access to byte sized memory slow" msgid "Disable access to shared memory objects." msgstr "Betragt tilgang til bytestørrelseshukommelse som langsomt" ! #: d/lang.opt:393 #, fuzzy, no-c-format #| msgid "cannot pass rvalue to reference parameter" msgid "Enable rvalue arguments to ref parameters." msgstr "kan ikke videregive højreværdi til referenceparameter" ! #: d/lang.opt:397 #, no-c-format msgid "Disable access to variables marked `@system' from @safe code." msgstr "" ! #: d/lang.opt:401 #, fuzzy, no-c-format #| msgid "Display the compiler's version" msgid "Compile release version." msgstr "Vis oversætterens version" ! #: d/lang.opt:405 #, no-c-format msgid "Turn off all revertable D language features." msgstr "" ! #: d/lang.opt:409 #, no-c-format msgid "Revert DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:413 #, no-c-format msgid "Don't destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:417 #, no-c-format msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." msgstr "" ! #: d/lang.opt:425 #, no-c-format msgid "-fsave-mixins=\tExpand and save mixins to file specified by ." msgstr "" ! #: d/lang.opt:429 #, fuzzy, no-c-format #| msgid "Generate code for the M*Core M340" msgid "Generate code for switches without a default case." msgstr "Generér kode til en M*Core M340" ! #: d/lang.opt:433 #, fuzzy, no-c-format #| msgid "Enable Transmeta picoJava extensions" msgid "List information on all D language transitions." msgstr "Aktivér Transmeta picoJava-udvidelser" ! #: d/lang.opt:437 #, no-c-format msgid "List all non-mutable fields which occupy an object instance." msgstr "" ! #: d/lang.opt:441 #, no-c-format msgid "List all usages of 'in' on parameter." msgstr "" ! #: d/lang.opt:445 #, no-c-format msgid "List all hidden GC allocations." msgstr "" ! #: d/lang.opt:449 #, fuzzy, no-c-format #| msgid "Enable automatic template instantiation" msgid "List statistics on template instantiations." msgstr "Aktivér automatisk skabelonsinstantiering" ! #: d/lang.opt:453 #, fuzzy, no-c-format #| msgid "Use given thread-local storage dialect" msgid "List all variables going into thread local storage." msgstr "Benyt den givne tråd-lokale lagringsdialekt" ! #: d/lang.opt:457 #, fuzzy, no-c-format #| msgid "Compile with 16-bit integer mode" msgid "Compile in unittest code." msgstr "Oversæt med 16 bit-heltalstilstand" ! #: d/lang.opt:461 #, no-c-format msgid "-fversion=\tCompile in version code identified by ." msgstr "" ! #: d/lang.opt:465 #, fuzzy, no-c-format msgid "Emit template instantiations as weak symbols." msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner" ! #: d/lang.opt:485 #, fuzzy, no-c-format msgid "Do not link the standard D library in the compilation." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:493 #, no-c-format msgid "Link the standard D library statically in the compilation." msgstr "" ! #: d/lang.opt:497 #, no-c-format msgid "Link the standard D library dynamically in the compilation." msgstr "" --- 3907,4241 ---- msgstr "Advar om typeomtvingninger som forkaster modifikationer" #: d/lang.opt:143 + #, fuzzy, no-c-format + #| msgid "Warn when an inlined function cannot be inlined" + msgid "Warn when a special enum is declared with the wrong base type." + msgstr "Advar når en inline funktion ikke kan indbygges" + + #: d/lang.opt:151 #, no-c-format msgid "Warn from speculative compiles such as __traits(compiles)." msgstr "" ! #: d/lang.opt:163 #, fuzzy, no-c-format #| msgid "Generate H8S code" msgid "Generate JSON file." msgstr "Generér H8S-kode" ! #: d/lang.opt:167 #, fuzzy, no-c-format msgid "-Xf \tWrite JSON output to the given ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:171 #, no-c-format msgid "Debug library to use instead of phobos." msgstr "" ! #: d/lang.opt:175 #, no-c-format msgid "Default library to use instead of phobos." msgstr "" ! #: d/lang.opt:179 #, fuzzy, no-c-format msgid "Do link the standard D startup files in the compilation." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:186 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for all template instantiations." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:190 #, fuzzy, no-c-format #| msgid "Generate code for GNU assembler (gas)" msgid "Generate code for assert contracts." msgstr "Opret kode for GNU-assembler (gas)" ! #: d/lang.opt:198 #, no-c-format msgid "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code only, or off." msgstr "" ! #: d/lang.opt:240 #, no-c-format msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure." msgstr "" ! #: d/lang.opt:256 #, fuzzy, no-c-format #| msgid "Compile code for big endian mode" msgid "Compile in debug code." msgstr "Kompiler kode for storendet tilstand" ! #: d/lang.opt:260 #, no-c-format msgid "-fdebug=\tCompile in debug code identified by ." msgstr "" ! #: d/lang.opt:264 #, fuzzy, no-c-format #| msgid "Generate char instructions" msgid "Generate documentation." msgstr "Generér char-instruktioner" ! #: d/lang.opt:268 #, no-c-format msgid "-fdoc-dir=\tWrite documentation file to directory ." msgstr "" ! #: d/lang.opt:272 #, fuzzy, no-c-format msgid "-fdoc-file=\tWrite documentation to ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:276 #, no-c-format msgid "-fdoc-inc=\tInclude a Ddoc macro ." msgstr "" ! #: d/lang.opt:280 #, fuzzy, no-c-format msgid "Assume that standard D runtime libraries and \"D main\" exist." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:284 #, no-c-format msgid "Add comments for ignored declarations in the generated C++ header." msgstr "" ! #: d/lang.opt:288 #, fuzzy, no-c-format msgid "-fdump-cxx-spec=\tWrite all declarations as C++ code to ." msgstr " -o Anbring uddata i \n" ! #: d/lang.opt:292 #, fuzzy, no-c-format msgid "Display the frontend AST after parsing and semantic passes." msgstr "Foretag en komplet registerflytningsoptimering" ! #: d/lang.opt:300 #, no-c-format msgid "-fextern-std=\tSet C++ name mangling compatibility with ." msgstr "" ! #: d/lang.opt:325 #, no-c-format msgid "Ignore unsupported pragmas." msgstr "" ! #: d/lang.opt:329 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for class invariant contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:333 #, no-c-format msgid "Generate a default D main() function when compiling." msgstr "" ! #: d/lang.opt:337 #, no-c-format msgid "-fmodule-file==\tuse as source file for ." msgstr "" ! #: d/lang.opt:341 #, fuzzy, no-c-format #| msgid "Generate code for the user mode." msgid "Generate ModuleInfo struct for output module." msgstr "Opret kode for brugertilstanden." ! #: d/lang.opt:345 #, no-c-format msgid "Process all modules specified on the command line, but only generate code for the module specified by the argument." msgstr "" ! #: d/lang.opt:349 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for postcondition contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:353 #, fuzzy, no-c-format #| msgid "Generate code for a bit-manipulation unit" msgid "Generate code for precondition contracts." msgstr "Generér kode til en bit-manipuleringsenhed" ! #: d/lang.opt:357 #, no-c-format msgid "Turn on all upcoming D language features." msgstr "" ! #: d/lang.opt:361 #, no-c-format msgid "Implement D bit-fields." msgstr "" ! #: d/lang.opt:365 #, no-c-format msgid "Implement DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:369 #, no-c-format msgid "Implement DIP1008: Allow exceptions in @nogc code." msgstr "" ! #: d/lang.opt:373 #, fuzzy, no-c-format #| msgid "malformed spec function arguments" msgid "Implement DIP1021: Mutable function arguments." msgstr "forkert udformede specifikationsfunktionsparametre" ! #: d/lang.opt:377 #, no-c-format msgid "Destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:381 #, no-c-format msgid "Use field-wise comparisons for struct equality." msgstr "" ! #: d/lang.opt:385 #, no-c-format msgid "When a symbol is resolved, check `alias this' scope before going to upper scopes." msgstr "" ! #: d/lang.opt:389 #, no-c-format msgid "Disallow unsound immutable conversions that were formerly incorrectly permitted." msgstr "" ! #: d/lang.opt:393 #, no-c-format msgid "Implement 'in' parameters to mean scope const." msgstr "" ! #: d/lang.opt:397 #, no-c-format msgid "Implement 'in' contracts of overridden methods to be a superset of parent contract." msgstr "" ! #: d/lang.opt:401 #, fuzzy, no-c-format #| msgid "Consider access to byte sized memory slow" msgid "Disable access to shared memory objects." msgstr "Betragt tilgang til bytestørrelseshukommelse som langsomt" ! #: d/lang.opt:405 #, fuzzy, no-c-format #| msgid "cannot pass rvalue to reference parameter" msgid "Enable rvalue arguments to ref parameters." msgstr "kan ikke videregive højreværdi til referenceparameter" ! #: d/lang.opt:409 #, no-c-format msgid "Disable access to variables marked `@system' from @safe code." msgstr "" ! #: d/lang.opt:413 #, fuzzy, no-c-format #| msgid "Display the compiler's version" msgid "Compile release version." msgstr "Vis oversætterens version" ! #: d/lang.opt:417 #, no-c-format msgid "Turn off all revertable D language features." msgstr "" ! #: d/lang.opt:421 #, no-c-format msgid "Revert DIP1000: Scoped pointers." msgstr "" ! #: d/lang.opt:425 #, no-c-format msgid "Don't destruct fields of partially constructed objects." msgstr "" ! #: d/lang.opt:429 #, no-c-format msgid "Don't use C-style integral promotion for unary '+', '-' and '~'." msgstr "" ! #: d/lang.opt:437 #, no-c-format msgid "-fsave-mixins=\tExpand and save mixins to file specified by ." msgstr "" ! #: d/lang.opt:441 #, fuzzy, no-c-format #| msgid "Generate code for the M*Core M340" msgid "Generate code for switches without a default case." msgstr "Generér kode til en M*Core M340" ! #: d/lang.opt:445 #, fuzzy, no-c-format #| msgid "Enable Transmeta picoJava extensions" msgid "List information on all D language transitions." msgstr "Aktivér Transmeta picoJava-udvidelser" ! #: d/lang.opt:449 #, no-c-format msgid "List all non-mutable fields which occupy an object instance." msgstr "" ! #: d/lang.opt:453 #, no-c-format msgid "List all usages of 'in' on parameter." msgstr "" ! #: d/lang.opt:457 #, no-c-format msgid "List all hidden GC allocations." msgstr "" ! #: d/lang.opt:461 #, fuzzy, no-c-format #| msgid "Enable automatic template instantiation" msgid "List statistics on template instantiations." msgstr "Aktivér automatisk skabelonsinstantiering" ! #: d/lang.opt:465 #, fuzzy, no-c-format #| msgid "Use given thread-local storage dialect" msgid "List all variables going into thread local storage." msgstr "Benyt den givne tråd-lokale lagringsdialekt" ! #: d/lang.opt:469 #, fuzzy, no-c-format #| msgid "Compile with 16-bit integer mode" msgid "Compile in unittest code." msgstr "Oversæt med 16 bit-heltalstilstand" ! #: d/lang.opt:473 #, no-c-format msgid "-fversion=\tCompile in version code identified by ." msgstr "" ! #: d/lang.opt:477 #, fuzzy, no-c-format msgid "Emit template instantiations as weak symbols." msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner" ! #: d/lang.opt:497 #, fuzzy, no-c-format msgid "Do not link the standard D library in the compilation." msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer" ! #: d/lang.opt:505 #, no-c-format msgid "Link the standard D library statically in the compilation." msgstr "" ! #: d/lang.opt:509 #, no-c-format msgid "Link the standard D library dynamically in the compilation." msgstr "" *************** msgstr "Angiv startadressen for data" *** 5216,5639 **** msgid "Generate code for darwin loadable kernel extensions." msgstr "Opret kode for darwinkerneudvidelser der kan indlæses" ! #: config/darwin.opt:38 ! #, no-c-format ! msgid "-iframework \tAdd to the end of the system framework include path." ! msgstr "" ! ! #: config/darwin.opt:42 #, fuzzy, no-c-format #| msgid "Generate code using byte writes" msgid "Generate compile-time CFString objects." msgstr "Generér kode der bruger byte-skrivninger" ! #: config/darwin.opt:46 #, no-c-format msgid "Warn if constant CFString objects contain non-portable characters." msgstr "" ! #: config/darwin.opt:51 #, no-c-format msgid "Generate AT&T-style stubs for Mach-O." msgstr "" ! #: config/darwin.opt:55 #, fuzzy, no-c-format #| msgid "Generate code for a Sun Sky board" msgid "Generate code suitable for executables (NOT shared libs)." msgstr "Generér kode til et Sun Sky-kort" ! #: config/darwin.opt:59 #, fuzzy, no-c-format #| msgid "Generate code for a Sun Sky board" msgid "Generate code suitable for fast turn around debugging." msgstr "Generér kode til et Sun Sky-kort" ! #: config/darwin.opt:63 #, fuzzy, no-c-format #| msgid "Generate code for the specified chip or CPU version" msgid "Generate code for the kernel or loadable kernel extensions." msgstr "Generér kode til en given chip- eller processorversion" ! #: config/darwin.opt:71 #, no-c-format msgid "The earliest macOS version on which this program will run." msgstr "" ! #: config/darwin.opt:76 #, fuzzy, no-c-format #| msgid "Set sizeof(bool) to 1" msgid "Set sizeof(bool) to 1." msgstr "Sæt sizeof(bool) til 1" ! #: config/darwin.opt:80 #, fuzzy, no-c-format #| msgid "Support code generation of movbe instruction." msgid "Force generation of external symbol indirection stubs." msgstr "Understøt kodeoprettelse af movbe-instruktion." ! #: config/darwin.opt:88 #, no-c-format msgid "-mtarget-linker \tSpecify that ld64 is the toolchain linker for the current invocation." msgstr "" ! #: config/darwin.opt:94 #, no-c-format msgid "Load all members of archive libraries, rather than only those that satisfy undefined symbols." msgstr "" ! #: config/darwin.opt:98 #, no-c-format msgid "-allowable_client \tThe output dylib is private to the client ." msgstr "" ! #: config/darwin.opt:102 #, fuzzy, no-c-format #| msgid "Generate code for CR16C architecture." msgid "-arch \tGenerate output for architecture ." msgstr "Opret kode for CR16C-arkitekturen." ! #: config/darwin.opt:106 #, no-c-format msgid "Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings." msgstr "" ! #: config/darwin.opt:110 #, no-c-format msgid "The earliest macOS version on which this program will run (formatted for the assembler)." msgstr "" ! #: config/darwin.opt:114 #, no-c-format msgid "Generate an output executable that binds symbols on load, rather than lazily." msgstr "" ! #: config/darwin.opt:118 #, no-c-format msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." msgstr "" ! #: config/darwin.opt:122 #, no-c-format msgid "-bundle_loader \tTreat (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution." msgstr "" ! #: config/darwin.opt:126 #, no-c-format msgid "-client_name \tEnable the executable being built to link against a private dylib (using allowable_client)." msgstr "" ! #: config/darwin.opt:130 #, no-c-format msgid "-compatibility_version \tSet the version for the client interface. Client programs must record a value less than or equal to , or the binding will fail at runtime." msgstr "" ! #: config/darwin.opt:134 #, no-c-format msgid "-current_version \tSet the current version for the library to ." msgstr "" ! #: config/darwin.opt:138 #, no-c-format msgid "Remove code and data that is unreachable from any exported symbol (including the entry point)." msgstr "" ! #: config/darwin.opt:142 #, no-c-format msgid "-dylib_file install_name:file_name\tThis allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"" msgstr "" ! #: config/darwin.opt:146 #, no-c-format msgid "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld." msgstr "" ! #: config/darwin.opt:150 #, no-c-format msgid "-dylinker_install_name \tOnly used for building dyld." msgstr "" ! #: config/darwin.opt:154 #, no-c-format msgid "The default (and opposite of -static), implied by user mode executables, shared libraries and bundles." msgstr "" ! #: config/darwin.opt:158 #, no-c-format msgid "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\"." msgstr "" ! #: config/darwin.opt:162 #, no-c-format msgid "-exported_symbols_list \tExport global symbols in in linked output file; any symbols not mentioned will be treated as \"hidden\"." msgstr "" ! #: config/darwin.opt:166 #, no-c-format msgid "Supply a list of objects to be linked from a file, rather than the command line." msgstr "" ! #: config/darwin.opt:170 config/darwin.opt:190 #, fuzzy, no-c-format #| msgid "Generate code for darwin loadable kernel extensions" msgid "Used for generating code for some older kernel revisions." msgstr "Opret kode for darwinkerneudvidelser der kan indlæses" ! #: config/darwin.opt:174 #, no-c-format msgid "Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol." msgstr "" ! #: config/darwin.opt:178 #, no-c-format msgid "For the assembler (and linker) permit any architecture sub-variant to be used without error." msgstr "" ! #: config/darwin.opt:182 #, no-c-format msgid "Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs." msgstr "" ! #: config/darwin.opt:186 #, no-c-format msgid "-framework \tThe linker should search for the framework in the framework search path." msgstr "" ! #: config/darwin.opt:194 #, no-c-format msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:198 #, no-c-format msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:202 #, no-c-format msgid "Automatically adds space for longer path names in load commands (up to MAXPATHLEN)." msgstr "" ! #: config/darwin.opt:206 #, no-c-format msgid "-image_base
\tSpecify
as the base address for a dylib or bundle." msgstr "" ! #: config/darwin.opt:210 #, no-c-format msgid "-init \tThe symbol will be used as the first initialiser for a dylib." msgstr "" ! #: config/darwin.opt:214 #, no-c-format msgid "-install_name \tSet the install name for a dylib." msgstr "" ! #: config/darwin.opt:218 #, no-c-format msgid "Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported." msgstr "" ! #: config/darwin.opt:222 #, no-c-format msgid "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." msgstr "" ! #: config/darwin.opt:226 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism for warning about symbols defined in multiple dylibs." msgstr "" ! #: config/darwin.opt:230 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined_unused \tProvided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs." msgstr "" ! #: config/darwin.opt:234 #, no-c-format msgid "(Obsolete) Current linkers never dead-strip these items, so the option is not needed." msgstr "" ! #: config/darwin.opt:238 #, no-c-format msgid "Do not add a default symbol exports to modules or dynamic libraries." msgstr "" ! #: config/darwin.opt:242 #, no-c-format msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." msgstr "" ! #: config/darwin.opt:246 #, no-c-format msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." msgstr "" ! #: config/darwin.opt:250 config/darwin.opt:265 config/darwin.opt:269 #, fuzzy, no-c-format #| msgid "switch \"%s\" is no longer supported" msgid "(Obsolete) LD_PREBIND is no longer supported." msgstr "tilvalget '%s' understøttes ikke længere" ! #: config/darwin.opt:254 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "(Obsolete) This is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:261 #, no-c-format msgid "-pagezero_size \tAllows setting the page 0 size to 4kb when required." msgstr "" ! #: config/darwin.opt:273 #, no-c-format msgid "Produces a Mach-O file suitable for embedded/ROM use." msgstr "" ! #: config/darwin.opt:277 #, no-c-format msgid "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable." msgstr "" ! #: config/darwin.opt:284 #, no-c-format msgid "Synonym for \"-export-dynamic\" for linker versions that support it." msgstr "" ! #: config/darwin.opt:288 #, no-c-format msgid "-read_only_relocs \tAllow relocations in read-only pages (not recommended)." msgstr "" ! #: config/darwin.opt:292 #, no-c-format msgid "-sectalign \tSet section in segment to have alignment which must be an integral power of two expressed in hexadecimal form." msgstr "" ! #: config/darwin.opt:296 #, no-c-format msgid "-sectcreate \tCreate section in segment from the contents of ." msgstr "" ! #: config/darwin.opt:300 #, no-c-format msgid "(Obsolete) -sectobjectsymbols \tSetting a local symbol at the start of a section is no longer supported." msgstr "" ! #: config/darwin.opt:304 #, no-c-format msgid "(Obsolete) -sectorder \tReplaced by a more general option \"-order_file\"." msgstr "" ! #: config/darwin.opt:308 #, no-c-format msgid "-seg_addr_table \tSpecify the base addresses for dynamic libraries; contains a line for each library." msgstr "" ! #: config/darwin.opt:313 #, no-c-format msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." msgstr "" ! #: config/darwin.opt:317 #, no-c-format msgid "Synonym for \"image_base\"." msgstr "" ! #: config/darwin.opt:321 #, no-c-format msgid "-segaddr
\tSet the base address of segment to
which must be aligned to a page boundary (currently 4kb)." msgstr "" ! #: config/darwin.opt:326 #, no-c-format msgid "(Obsolete, ld_classic only) -sectcreate \tAllowed creation of a section from a file." msgstr "" ! #: config/darwin.opt:330 #, no-c-format msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." msgstr "" ! #: config/darwin.opt:334 #, no-c-format msgid "-segprot \tThe virtual memory protections for segment have maximum and initial values and respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\"." msgstr "" ! #: config/darwin.opt:338 #, no-c-format msgid "-segs_read_only_addr
\tSpecify that
is the base address of the read-only segments of a dylib." msgstr "" ! #: config/darwin.opt:342 #, no-c-format msgid "-segs_read_write_addr
\tSpecify that
is the base address address of the read-write segments of a dylib." msgstr "" ! #: config/darwin.opt:346 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "(Obsolete)\tThis is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:350 #, no-c-format msgid "-sub_library \tLibrary named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:354 #, no-c-format msgid "-sub_umbrella \tFramework named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:358 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "This is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:362 #, no-c-format msgid "Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged)." msgstr "" ! #: config/darwin.opt:366 #, no-c-format msgid "-umbrella \tThe specified framework will be re-exported." msgstr "" ! #: config/darwin.opt:370 #, no-c-format msgid "-undefined \tSpecify the handling for undefined symbols (default is error)." msgstr "" ! #: config/darwin.opt:374 #, no-c-format msgid "-unexported_symbols_list \tDo not export the global symbols listed in ." msgstr "" ! #: config/darwin.opt:378 #, no-c-format msgid "-weak_reference_mismatches \tSpecifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak." msgstr "" ! #: config/darwin.opt:382 #, no-c-format msgid "Logs which object files the linker loads." msgstr "" ! #: config/darwin.opt:386 #, no-c-format msgid "Logs which symbol(s) caused an object to be loaded." msgstr "" ! #: config/darwin.opt:394 #, no-c-format msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." msgstr "" ! #: config/darwin.opt:398 #, no-c-format msgid "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable (only handled by ld_classic)." msgstr "" --- 5222,5645 ---- msgid "Generate code for darwin loadable kernel extensions." msgstr "Opret kode for darwinkerneudvidelser der kan indlæses" ! #: config/darwin.opt:38 config/darwin.opt:46 #, fuzzy, no-c-format #| msgid "Generate code using byte writes" msgid "Generate compile-time CFString objects." msgstr "Generér kode der bruger byte-skrivninger" ! #: config/darwin.opt:42 ! #, no-c-format ! msgid "-iframework \tAdd to the end of the system framework include path." ! msgstr "" ! ! #: config/darwin.opt:50 #, no-c-format msgid "Warn if constant CFString objects contain non-portable characters." msgstr "" ! #: config/darwin.opt:55 #, no-c-format msgid "Generate AT&T-style stubs for Mach-O." msgstr "" ! #: config/darwin.opt:59 #, fuzzy, no-c-format #| msgid "Generate code for a Sun Sky board" msgid "Generate code suitable for executables (NOT shared libs)." msgstr "Generér kode til et Sun Sky-kort" ! #: config/darwin.opt:63 #, fuzzy, no-c-format #| msgid "Generate code for a Sun Sky board" msgid "Generate code suitable for fast turn around debugging." msgstr "Generér kode til et Sun Sky-kort" ! #: config/darwin.opt:67 #, fuzzy, no-c-format #| msgid "Generate code for the specified chip or CPU version" msgid "Generate code for the kernel or loadable kernel extensions." msgstr "Generér kode til en given chip- eller processorversion" ! #: config/darwin.opt:75 #, no-c-format msgid "The earliest macOS version on which this program will run." msgstr "" ! #: config/darwin.opt:80 #, fuzzy, no-c-format #| msgid "Set sizeof(bool) to 1" msgid "Set sizeof(bool) to 1." msgstr "Sæt sizeof(bool) til 1" ! #: config/darwin.opt:84 #, fuzzy, no-c-format #| msgid "Support code generation of movbe instruction." msgid "Force generation of external symbol indirection stubs." msgstr "Understøt kodeoprettelse af movbe-instruktion." ! #: config/darwin.opt:92 #, no-c-format msgid "-mtarget-linker \tSpecify that ld64 is the toolchain linker for the current invocation." msgstr "" ! #: config/darwin.opt:98 #, no-c-format msgid "Load all members of archive libraries, rather than only those that satisfy undefined symbols." msgstr "" ! #: config/darwin.opt:102 #, no-c-format msgid "-allowable_client \tThe output dylib is private to the client ." msgstr "" ! #: config/darwin.opt:106 #, fuzzy, no-c-format #| msgid "Generate code for CR16C architecture." msgid "-arch \tGenerate output for architecture ." msgstr "Opret kode for CR16C-arkitekturen." ! #: config/darwin.opt:110 #, no-c-format msgid "Mismatches between file architecture and one specified by \"-arch\" are errors instead of warnings." msgstr "" ! #: config/darwin.opt:114 #, no-c-format msgid "The earliest macOS version on which this program will run (formatted for the assembler)." msgstr "" ! #: config/darwin.opt:118 #, no-c-format msgid "Generate an output executable that binds symbols on load, rather than lazily." msgstr "" ! #: config/darwin.opt:122 #, no-c-format msgid "Generate a Mach-O bundle (file type MH_BUNDLE)." msgstr "" ! #: config/darwin.opt:126 #, no-c-format msgid "-bundle_loader \tTreat (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution." msgstr "" ! #: config/darwin.opt:130 #, no-c-format msgid "-client_name \tEnable the executable being built to link against a private dylib (using allowable_client)." msgstr "" ! #: config/darwin.opt:134 #, no-c-format msgid "-compatibility_version \tSet the version for the client interface. Client programs must record a value less than or equal to , or the binding will fail at runtime." msgstr "" ! #: config/darwin.opt:138 #, no-c-format msgid "-current_version \tSet the current version for the library to ." msgstr "" ! #: config/darwin.opt:142 #, no-c-format msgid "Remove code and data that is unreachable from any exported symbol (including the entry point)." msgstr "" ! #: config/darwin.opt:146 #, no-c-format msgid "-dylib_file install_name:file_name\tThis allows linking of a dylib with \"install_name\" but to be found in a different install position \"file_name\"" msgstr "" ! #: config/darwin.opt:150 #, no-c-format msgid "Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld." msgstr "" ! #: config/darwin.opt:154 #, no-c-format msgid "-dylinker_install_name \tOnly used for building dyld." msgstr "" ! #: config/darwin.opt:158 #, no-c-format msgid "The default (and opposite of -static), implied by user mode executables, shared libraries and bundles." msgstr "" ! #: config/darwin.opt:162 #, no-c-format msgid "Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared\"." msgstr "" ! #: config/darwin.opt:166 #, no-c-format msgid "-exported_symbols_list \tExport global symbols in in linked output file; any symbols not mentioned will be treated as \"hidden\"." msgstr "" ! #: config/darwin.opt:170 #, no-c-format msgid "Supply a list of objects to be linked from a file, rather than the command line." msgstr "" ! #: config/darwin.opt:174 config/darwin.opt:194 #, fuzzy, no-c-format #| msgid "Generate code for darwin loadable kernel extensions" msgid "Used for generating code for some older kernel revisions." msgstr "Opret kode for darwinkerneudvidelser der kan indlæses" ! #: config/darwin.opt:178 #, no-c-format msgid "Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol." msgstr "" ! #: config/darwin.opt:182 #, no-c-format msgid "For the assembler (and linker) permit any architecture sub-variant to be used without error." msgstr "" ! #: config/darwin.opt:186 #, no-c-format msgid "Set the output object such that, on loading, dyld will ignore any two-level namespace information and resolve symbols in the discovery order for loaded libs." msgstr "" ! #: config/darwin.opt:190 #, no-c-format msgid "-framework \tThe linker should search for the framework in the framework search path." msgstr "" ! #: config/darwin.opt:198 #, no-c-format msgid "Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:202 #, no-c-format msgid "Abbreviation for \"-g -feliminate-unused-debug-symbols\"." msgstr "" ! #: config/darwin.opt:206 #, no-c-format msgid "Automatically adds space for longer path names in load commands (up to MAXPATHLEN)." msgstr "" ! #: config/darwin.opt:210 #, no-c-format msgid "-image_base
\tSpecify
as the base address for a dylib or bundle." msgstr "" ! #: config/darwin.opt:214 #, no-c-format msgid "-init \tThe symbol will be used as the first initialiser for a dylib." msgstr "" ! #: config/darwin.opt:218 #, no-c-format msgid "-install_name \tSet the install name for a dylib." msgstr "" ! #: config/darwin.opt:222 #, no-c-format msgid "Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported." msgstr "" ! #: config/darwin.opt:226 #, no-c-format msgid "(Obsolete after 10.4) Multi modules are ignored at runtime since macOS 10.4." msgstr "" ! #: config/darwin.opt:230 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined \tProvided a mechanism for warning about symbols defined in multiple dylibs." msgstr "" ! #: config/darwin.opt:234 #, no-c-format msgid "(Obsolete after 10.4) -multiply_defined_unused \tProvided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs." msgstr "" ! #: config/darwin.opt:238 #, no-c-format msgid "(Obsolete) Current linkers never dead-strip these items, so the option is not needed." msgstr "" ! #: config/darwin.opt:242 #, no-c-format msgid "Do not add a default symbol exports to modules or dynamic libraries." msgstr "" ! #: config/darwin.opt:246 #, no-c-format msgid "(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an executable." msgstr "" ! #: config/darwin.opt:250 #, no-c-format msgid "(Obsolete after 10.4)\tSet MH_NOMULTIDEFS in an umbrella framework." msgstr "" ! #: config/darwin.opt:254 config/darwin.opt:269 config/darwin.opt:273 #, fuzzy, no-c-format #| msgid "switch \"%s\" is no longer supported" msgid "(Obsolete) LD_PREBIND is no longer supported." msgstr "tilvalget '%s' understøttes ikke længere" ! #: config/darwin.opt:258 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "(Obsolete) This is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:265 #, no-c-format msgid "-pagezero_size \tAllows setting the page 0 size to 4kb when required." msgstr "" ! #: config/darwin.opt:277 #, no-c-format msgid "Produces a Mach-O file suitable for embedded/ROM use." msgstr "" ! #: config/darwin.opt:281 #, no-c-format msgid "(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable." msgstr "" ! #: config/darwin.opt:288 #, no-c-format msgid "Synonym for \"-export-dynamic\" for linker versions that support it." msgstr "" ! #: config/darwin.opt:292 #, no-c-format msgid "-read_only_relocs \tAllow relocations in read-only pages (not recommended)." msgstr "" ! #: config/darwin.opt:296 #, no-c-format msgid "-sectalign \tSet section in segment to have alignment which must be an integral power of two expressed in hexadecimal form." msgstr "" ! #: config/darwin.opt:300 #, no-c-format msgid "-sectcreate \tCreate section in segment from the contents of ." msgstr "" ! #: config/darwin.opt:304 #, no-c-format msgid "(Obsolete) -sectobjectsymbols \tSetting a local symbol at the start of a section is no longer supported." msgstr "" ! #: config/darwin.opt:308 #, no-c-format msgid "(Obsolete) -sectorder \tReplaced by a more general option \"-order_file\"." msgstr "" ! #: config/darwin.opt:312 #, no-c-format msgid "-seg_addr_table \tSpecify the base addresses for dynamic libraries; contains a line for each library." msgstr "" ! #: config/darwin.opt:317 #, no-c-format msgid "(Obsolete, ld_classic only) -seg_addr_table_filename ." msgstr "" ! #: config/darwin.opt:321 #, no-c-format msgid "Synonym for \"image_base\"." msgstr "" ! #: config/darwin.opt:325 #, no-c-format msgid "-segaddr
\tSet the base address of segment to
which must be aligned to a page boundary (currently 4kb)." msgstr "" ! #: config/darwin.opt:330 #, no-c-format msgid "(Obsolete, ld_classic only) -sectcreate \tAllowed creation of a section from a file." msgstr "" ! #: config/darwin.opt:334 #, no-c-format msgid "(Obsolete) Object files with LINKEDIT sections are no longer supported." msgstr "" ! #: config/darwin.opt:338 #, no-c-format msgid "-segprot \tThe virtual memory protections for segment have maximum and initial values and respectively. The specified values may contain \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\"." msgstr "" ! #: config/darwin.opt:342 #, no-c-format msgid "-segs_read_only_addr
\tSpecify that
is the base address of the read-only segments of a dylib." msgstr "" ! #: config/darwin.opt:346 #, no-c-format msgid "-segs_read_write_addr
\tSpecify that
is the base address address of the read-write segments of a dylib." msgstr "" ! #: config/darwin.opt:350 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "(Obsolete)\tThis is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:354 #, no-c-format msgid "-sub_library \tLibrary named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:358 #, no-c-format msgid "-sub_umbrella \tFramework named will be re-exported (only useful for dylibs)." msgstr "" ! #: config/darwin.opt:362 #, fuzzy, no-c-format #| msgid "%Jthis is the first default label" msgid "This is the default." msgstr "%Jdette er den første default-etiket" ! #: config/darwin.opt:366 #, no-c-format msgid "Add extra information to the executable that can speed up dynamic loading (provided that dependent libraries are unchanged)." msgstr "" ! #: config/darwin.opt:370 #, no-c-format msgid "-umbrella \tThe specified framework will be re-exported." msgstr "" ! #: config/darwin.opt:374 #, no-c-format msgid "-undefined \tSpecify the handling for undefined symbols (default is error)." msgstr "" ! #: config/darwin.opt:378 #, no-c-format msgid "-unexported_symbols_list \tDo not export the global symbols listed in ." msgstr "" ! #: config/darwin.opt:382 #, no-c-format msgid "-weak_reference_mismatches \tSpecifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak." msgstr "" ! #: config/darwin.opt:386 #, no-c-format msgid "Logs which object files the linker loads." msgstr "" ! #: config/darwin.opt:390 #, no-c-format msgid "Logs which symbol(s) caused an object to be loaded." msgstr "" ! #: config/darwin.opt:398 #, no-c-format msgid "(Obsolete, ignored)\tOld support similar to \"-whyload\"." msgstr "" ! #: config/darwin.opt:402 #, no-c-format msgid "(Obsolete and unhandled by ld64, ignored)\tld should produce an executable (only handled by ld_classic)." msgstr "" *************** msgstr "Kendte ABI'er (for brug med tilv *** 6160,6165 **** --- 6166,6177 ---- msgid "Set the version of RISC-V ISA spec." msgstr "Angiv versionen for ptx ISA'en at anvende." + #: config/riscv/riscv.opt:260 + #, fuzzy, no-c-format + #| msgid "Specify alternate name for data section" + msgid "Always inline subword atomic operations." + msgstr "Angiv alternativt navn til datasektionen" + #: config/m32c/m32c.opt:23 #, fuzzy, no-c-format #| msgid "Use the WindISS simulator" *************** msgstr "" *** 18518,18524 **** "\n" "ldd-uddata med konstruktions-/destruktionsfunktioner.\n" ! #: cprop.cc:1753 msgid "const/copy propagation disabled" msgstr "konstruk/kopi-propagering deaktiveret" --- 18530,18536 ---- "\n" "ldd-uddata med konstruktions-/destruktionsfunktioner.\n" ! #: cprop.cc:1755 msgid "const/copy propagation disabled" msgstr "konstruk/kopi-propagering deaktiveret" *************** msgstr "%s%sadvarsel: %s teksthovedversi *** 19997,20003 **** msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" msgstr "%s%sGGC-heuristikker: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" ! #: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6349 #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 #, gcc-internal-format msgid "" --- 20009,20015 ---- msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" msgstr "%s%sGGC-heuristikker: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n" ! #: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6356 #: c/c-typeck.cc:8058 cp/error.cc:1181 c-family/c-pretty-print.cc:426 #, gcc-internal-format msgid "" *************** msgstr "længdemodifikation i strfmon-fo *** 20281,20305 **** msgid "" msgstr "" ! #: config/aarch64/aarch64.cc:11892 config/loongarch/loongarch.cc:4992 #, fuzzy, c-format #| msgid "Unsupported operand for code '%c'" msgid "unsupported operand for code '%c'" msgstr "Ikke understøttet operand for koden »%c«" ! #: config/aarch64/aarch64.cc:11901 config/aarch64/aarch64.cc:11914 ! #: config/aarch64/aarch64.cc:11926 config/aarch64/aarch64.cc:11937 ! #: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:11967 ! #: config/aarch64/aarch64.cc:11987 config/aarch64/aarch64.cc:12064 ! #: config/aarch64/aarch64.cc:12075 config/aarch64/aarch64.cc:12089 ! #: config/aarch64/aarch64.cc:12311 config/aarch64/aarch64.cc:12331 #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 #, c-format msgid "invalid operand for '%%%c'" msgstr "ugyldig operand for »%%%c«" ! #: config/aarch64/aarch64.cc:12005 config/aarch64/aarch64.cc:12016 ! #: config/aarch64/aarch64.cc:12171 config/aarch64/aarch64.cc:12182 #: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 #: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 #: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 --- 20293,20317 ---- msgid "" msgstr "" ! #: config/aarch64/aarch64.cc:11887 config/loongarch/loongarch.cc:4992 #, fuzzy, c-format #| msgid "Unsupported operand for code '%c'" msgid "unsupported operand for code '%c'" msgstr "Ikke understøttet operand for koden »%c«" ! #: config/aarch64/aarch64.cc:11896 config/aarch64/aarch64.cc:11909 ! #: config/aarch64/aarch64.cc:11921 config/aarch64/aarch64.cc:11932 ! #: config/aarch64/aarch64.cc:11948 config/aarch64/aarch64.cc:11962 ! #: config/aarch64/aarch64.cc:11982 config/aarch64/aarch64.cc:12059 ! #: config/aarch64/aarch64.cc:12070 config/aarch64/aarch64.cc:12084 ! #: config/aarch64/aarch64.cc:12306 config/aarch64/aarch64.cc:12326 #: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843 #, c-format msgid "invalid operand for '%%%c'" msgstr "ugyldig operand for »%%%c«" ! #: config/aarch64/aarch64.cc:12000 config/aarch64/aarch64.cc:12011 ! #: config/aarch64/aarch64.cc:12166 config/aarch64/aarch64.cc:12177 #: config/riscv/riscv.cc:4403 config/riscv/riscv.cc:4410 #: config/riscv/riscv.cc:4417 config/riscv/riscv.cc:4421 #: config/riscv/riscv.cc:4468 config/riscv/riscv.cc:4487 *************** msgstr "ugyldig operand for »%%%c«" *** 20308,20444 **** msgid "invalid vector constant" msgstr "ugyldig konstant:" ! #: config/aarch64/aarch64.cc:12028 config/aarch64/aarch64.cc:12040 #, c-format msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.cc:12057 #, fuzzy, c-format #| msgid "invalid operand for '%%%c'" msgid "incompatible register operand for '%%%c'" msgstr "ugyldig operand for »%%%c«" ! #: config/aarch64/aarch64.cc:12123 config/arm/arm.cc:24721 #, c-format msgid "missing operand" msgstr "manglende operand" ! #: config/aarch64/aarch64.cc:12208 #, c-format msgid "invalid constant" msgstr "ugyldig konstant:" ! #: config/aarch64/aarch64.cc:12211 #, c-format msgid "invalid operand" msgstr "ugyldig operand" ! #: config/aarch64/aarch64.cc:12339 config/aarch64/aarch64.cc:12344 #, c-format msgid "invalid operand prefix '%%%c'" msgstr "ugyldig operandpræfiks »%%%c«" ! #: config/aarch64/aarch64.cc:12364 #, fuzzy, c-format #| msgid "invalid addressing mode" msgid "invalid address mode" msgstr "ugyldig adresseringstilstand" ! #: config/aarch64/aarch64.cc:27161 #, fuzzy #| msgid "invalid operands to binary %s" msgid "cannot combine GNU and SVE vectors in a binary operation" msgstr "ugyldige operander til binær %s" ! #: config/alpha/alpha.cc:5076 config/i386/i386.cc:13585 ! #: config/rs6000/rs6000.cc:14364 config/sparc/sparc.cc:9370 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "»%%&« brugt uden nogle lokale dynamiske TLS-referencer" ! #: config/alpha/alpha.cc:5134 config/bfin/bfin.cc:1428 #, c-format msgid "invalid %%J value" msgstr "ugyldig %%J-værdi" ! #: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5578 #: config/or1k/or1k.cc:1249 #, c-format msgid "invalid %%r value" msgstr "ugyldig %%r-værdi" ! #: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532 ! #: config/rs6000/rs6000.cc:14059 config/xtensa/xtensa.cc:3008 #, c-format msgid "invalid %%R value" msgstr "ugyldig %%R-værdi" ! #: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13979 #: config/xtensa/xtensa.cc:2981 #, c-format msgid "invalid %%N value" msgstr "ugyldig %%N-værdi" ! #: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14007 #, c-format msgid "invalid %%P value" msgstr "ugyldig %%P-værdi" ! #: config/alpha/alpha.cc:5196 #, c-format msgid "invalid %%h value" msgstr "ugyldig %%h-værdi" ! #: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:3001 #, c-format msgid "invalid %%L value" msgstr "ugyldig %%L-værdi" ! #: config/alpha/alpha.cc:5223 #, c-format msgid "invalid %%m value" msgstr "ugyldig %%m-værdi" ! #: config/alpha/alpha.cc:5229 #, c-format msgid "invalid %%M value" msgstr "ugyldig %%M-værdi" ! #: config/alpha/alpha.cc:5266 #, c-format msgid "invalid %%U value" msgstr "ugyldig %%U-værdi" ! #: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14067 #, c-format msgid "invalid %%s value" msgstr "ugyldig %%s-værdi" ! #: config/alpha/alpha.cc:5285 #, c-format msgid "invalid %%C value" msgstr "ugyldig %%C-værdi" ! #: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13843 #, c-format msgid "invalid %%E value" msgstr "ugyldig %%E-værdi" ! #: config/alpha/alpha.cc:5347 config/alpha/alpha.cc:5397 #, c-format msgid "unknown relocation unspec" msgstr "ukendt relokaliserings-unspec" ! #: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6940 config/gcn/gcn.cc:6949 ! #: config/gcn/gcn.cc:7009 config/gcn/gcn.cc:7017 config/gcn/gcn.cc:7033 ! #: config/gcn/gcn.cc:7051 config/gcn/gcn.cc:7102 config/gcn/gcn.cc:7221 ! #: config/gcn/gcn.cc:7332 config/rs6000/rs6000.cc:14369 #, c-format msgid "invalid %%xn code" msgstr "ugyldig %%xn-kode" ! #: config/alpha/alpha.cc:5462 #, c-format msgid "invalid operand address" msgstr "ugyldig operandadresse" --- 20320,20456 ---- msgid "invalid vector constant" msgstr "ugyldig konstant:" ! #: config/aarch64/aarch64.cc:12023 config/aarch64/aarch64.cc:12035 #, c-format msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.cc:12052 #, fuzzy, c-format #| msgid "invalid operand for '%%%c'" msgid "incompatible register operand for '%%%c'" msgstr "ugyldig operand for »%%%c«" ! #: config/aarch64/aarch64.cc:12118 config/arm/arm.cc:24721 #, c-format msgid "missing operand" msgstr "manglende operand" ! #: config/aarch64/aarch64.cc:12203 #, c-format msgid "invalid constant" msgstr "ugyldig konstant:" ! #: config/aarch64/aarch64.cc:12206 #, c-format msgid "invalid operand" msgstr "ugyldig operand" ! #: config/aarch64/aarch64.cc:12334 config/aarch64/aarch64.cc:12339 #, c-format msgid "invalid operand prefix '%%%c'" msgstr "ugyldig operandpræfiks »%%%c«" ! #: config/aarch64/aarch64.cc:12359 #, fuzzy, c-format #| msgid "invalid addressing mode" msgid "invalid address mode" msgstr "ugyldig adresseringstilstand" ! #: config/aarch64/aarch64.cc:27156 #, fuzzy #| msgid "invalid operands to binary %s" msgid "cannot combine GNU and SVE vectors in a binary operation" msgstr "ugyldige operander til binær %s" ! #: config/alpha/alpha.cc:5081 config/i386/i386.cc:13585 ! #: config/rs6000/rs6000.cc:14365 config/sparc/sparc.cc:9370 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "»%%&« brugt uden nogle lokale dynamiske TLS-referencer" ! #: config/alpha/alpha.cc:5139 config/bfin/bfin.cc:1428 #, c-format msgid "invalid %%J value" msgstr "ugyldig %%J-værdi" ! #: config/alpha/alpha.cc:5169 config/ia64/ia64.cc:5578 #: config/or1k/or1k.cc:1249 #, c-format msgid "invalid %%r value" msgstr "ugyldig %%r-værdi" ! #: config/alpha/alpha.cc:5179 config/ia64/ia64.cc:5532 ! #: config/rs6000/rs6000.cc:14060 config/xtensa/xtensa.cc:3008 #, c-format msgid "invalid %%R value" msgstr "ugyldig %%R-værdi" ! #: config/alpha/alpha.cc:5185 config/rs6000/rs6000.cc:13980 #: config/xtensa/xtensa.cc:2981 #, c-format msgid "invalid %%N value" msgstr "ugyldig %%N-værdi" ! #: config/alpha/alpha.cc:5193 config/rs6000/rs6000.cc:14008 #, c-format msgid "invalid %%P value" msgstr "ugyldig %%P-værdi" ! #: config/alpha/alpha.cc:5201 #, c-format msgid "invalid %%h value" msgstr "ugyldig %%h-værdi" ! #: config/alpha/alpha.cc:5209 config/xtensa/xtensa.cc:3001 #, c-format msgid "invalid %%L value" msgstr "ugyldig %%L-værdi" ! #: config/alpha/alpha.cc:5228 #, c-format msgid "invalid %%m value" msgstr "ugyldig %%m-værdi" ! #: config/alpha/alpha.cc:5234 #, c-format msgid "invalid %%M value" msgstr "ugyldig %%M-værdi" ! #: config/alpha/alpha.cc:5271 #, c-format msgid "invalid %%U value" msgstr "ugyldig %%U-værdi" ! #: config/alpha/alpha.cc:5279 config/rs6000/rs6000.cc:14068 #, c-format msgid "invalid %%s value" msgstr "ugyldig %%s-værdi" ! #: config/alpha/alpha.cc:5290 #, c-format msgid "invalid %%C value" msgstr "ugyldig %%C-værdi" ! #: config/alpha/alpha.cc:5327 config/rs6000/rs6000.cc:13844 #, c-format msgid "invalid %%E value" msgstr "ugyldig %%E-værdi" ! #: config/alpha/alpha.cc:5352 config/alpha/alpha.cc:5402 #, c-format msgid "unknown relocation unspec" msgstr "ukendt relokaliserings-unspec" ! #: config/alpha/alpha.cc:5361 config/gcn/gcn.cc:6949 config/gcn/gcn.cc:6958 ! #: config/gcn/gcn.cc:7018 config/gcn/gcn.cc:7026 config/gcn/gcn.cc:7042 ! #: config/gcn/gcn.cc:7060 config/gcn/gcn.cc:7111 config/gcn/gcn.cc:7230 ! #: config/gcn/gcn.cc:7341 config/rs6000/rs6000.cc:14370 #, c-format msgid "invalid %%xn code" msgstr "ugyldig %%xn-kode" ! #: config/alpha/alpha.cc:5467 #, c-format msgid "invalid operand address" msgstr "ugyldig operandadresse" *************** msgstr "ugyldig omdannelse til typen '%T *** 20583,20678 **** msgid "operation not permitted on type %" msgstr "" ! #: config/avr/avr.cc:2642 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "adresseoperand kræver begrænsning for X-, Y- eller Z-register" ! #: config/avr/avr.cc:2825 msgid "operands to %T/%t must be reg + const_int:" msgstr "operander til %T/%t skal være reg + const_int:" ! #: config/avr/avr.cc:2875 config/avr/avr.cc:2942 msgid "bad address, not an I/O address:" msgstr "ugyldig adresse, ikke en I/O-adresse:" ! #: config/avr/avr.cc:2884 msgid "bad address, not a constant:" msgstr "ugyldig adresse, ikke en konstant:" ! #: config/avr/avr.cc:2902 config/avr/avr.cc:2909 msgid "bad address, not (reg+disp):" msgstr "ugyldig adresse, ikke (reg+disp):" ! #: config/avr/avr.cc:2916 msgid "bad address, not post_inc or pre_dec:" msgstr "ugyldig adresse, ikke post_inc eller pre_dec:" ! #: config/avr/avr.cc:2928 msgid "internal compiler error. Bad address:" msgstr "intern oversætterfejl - ugyldig adresse:" ! #: config/avr/avr.cc:2961 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "Ikke understøttet kode »%c« for fast-punkt:" ! #: config/avr/avr.cc:2969 msgid "internal compiler error. Unknown mode:" msgstr "intern oversætterfejl - ugyldig tilstand:" ! #: config/avr/avr.cc:3866 config/avr/avr.cc:4810 config/avr/avr.cc:5257 msgid "invalid insn:" msgstr "ugyldig instruktion:" ! #: config/avr/avr.cc:3920 config/avr/avr.cc:4032 config/avr/avr.cc:4090 ! #: config/avr/avr.cc:4142 config/avr/avr.cc:4161 config/avr/avr.cc:4353 ! #: config/avr/avr.cc:4661 config/avr/avr.cc:4946 config/avr/avr.cc:5150 ! #: config/avr/avr.cc:5314 config/avr/avr.cc:5407 config/avr/avr.cc:5606 msgid "incorrect insn:" msgstr "ukorrekt instruktion:" ! #: config/avr/avr.cc:4177 config/avr/avr.cc:4452 config/avr/avr.cc:4732 ! #: config/avr/avr.cc:5018 config/avr/avr.cc:5196 config/avr/avr.cc:5463 ! #: config/avr/avr.cc:5664 msgid "unknown move insn:" msgstr "ukendt flytteinstruktion:" ! #: config/avr/avr.cc:6131 msgid "bad shift insn:" msgstr "ugyldig skifteinstruktion:" ! #: config/avr/avr.cc:6239 config/avr/avr.cc:6722 config/avr/avr.cc:7139 msgid "internal compiler error. Incorrect shift:" msgstr "intern oversætterfejl - ukorrekt skift:" ! #: config/avr/avr.cc:8547 msgid "unsupported fixed-point conversion" msgstr "fast-punkt-konvertering er ikke understøttet" ! #: config/avr/avr.cc:9916 msgid "variable" msgstr "" ! #: config/avr/avr.cc:9921 #, fuzzy #| msgid "a parameter" msgid "function parameter" msgstr "en parameter" ! #: config/avr/avr.cc:9926 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "struktur" ! #: config/avr/avr.cc:9932 #, fuzzy #| msgid "declaration of `%s' as array of functions" msgid "return type of function" msgstr "'%s' erklæret som en tabel af funktioner" ! #: config/avr/avr.cc:9937 #, fuzzy #| msgid "pointer" msgid "pointer" --- 20595,20690 ---- msgid "operation not permitted on type %" msgstr "" ! #: config/avr/avr.cc:2994 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "adresseoperand kræver begrænsning for X-, Y- eller Z-register" ! #: config/avr/avr.cc:3177 msgid "operands to %T/%t must be reg + const_int:" msgstr "operander til %T/%t skal være reg + const_int:" ! #: config/avr/avr.cc:3227 config/avr/avr.cc:3294 msgid "bad address, not an I/O address:" msgstr "ugyldig adresse, ikke en I/O-adresse:" ! #: config/avr/avr.cc:3236 msgid "bad address, not a constant:" msgstr "ugyldig adresse, ikke en konstant:" ! #: config/avr/avr.cc:3254 config/avr/avr.cc:3261 msgid "bad address, not (reg+disp):" msgstr "ugyldig adresse, ikke (reg+disp):" ! #: config/avr/avr.cc:3268 msgid "bad address, not post_inc or pre_dec:" msgstr "ugyldig adresse, ikke post_inc eller pre_dec:" ! #: config/avr/avr.cc:3280 msgid "internal compiler error. Bad address:" msgstr "intern oversætterfejl - ugyldig adresse:" ! #: config/avr/avr.cc:3313 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "Ikke understøttet kode »%c« for fast-punkt:" ! #: config/avr/avr.cc:3321 msgid "internal compiler error. Unknown mode:" msgstr "intern oversætterfejl - ugyldig tilstand:" ! #: config/avr/avr.cc:4196 config/avr/avr.cc:5140 config/avr/avr.cc:5587 msgid "invalid insn:" msgstr "ugyldig instruktion:" ! #: config/avr/avr.cc:4250 config/avr/avr.cc:4362 config/avr/avr.cc:4420 ! #: config/avr/avr.cc:4472 config/avr/avr.cc:4491 config/avr/avr.cc:4683 ! #: config/avr/avr.cc:4991 config/avr/avr.cc:5276 config/avr/avr.cc:5480 ! #: config/avr/avr.cc:5644 config/avr/avr.cc:5737 config/avr/avr.cc:5936 msgid "incorrect insn:" msgstr "ukorrekt instruktion:" ! #: config/avr/avr.cc:4507 config/avr/avr.cc:4782 config/avr/avr.cc:5062 ! #: config/avr/avr.cc:5348 config/avr/avr.cc:5526 config/avr/avr.cc:5793 ! #: config/avr/avr.cc:5994 msgid "unknown move insn:" msgstr "ukendt flytteinstruktion:" ! #: config/avr/avr.cc:6602 msgid "bad shift insn:" msgstr "ugyldig skifteinstruktion:" ! #: config/avr/avr.cc:6710 config/avr/avr.cc:7193 config/avr/avr.cc:7610 msgid "internal compiler error. Incorrect shift:" msgstr "intern oversætterfejl - ukorrekt skift:" ! #: config/avr/avr.cc:9134 msgid "unsupported fixed-point conversion" msgstr "fast-punkt-konvertering er ikke understøttet" ! #: config/avr/avr.cc:10506 msgid "variable" msgstr "" ! #: config/avr/avr.cc:10511 #, fuzzy #| msgid "a parameter" msgid "function parameter" msgstr "en parameter" ! #: config/avr/avr.cc:10516 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "struktur" ! #: config/avr/avr.cc:10522 #, fuzzy #| msgid "declaration of `%s' as array of functions" msgid "return type of function" msgstr "'%s' erklæret som en tabel af funktioner" ! #: config/avr/avr.cc:10527 #, fuzzy #| msgid "pointer" msgid "pointer" *************** msgstr "ugyldig output_move_double-opera *** 20926,20952 **** msgid "bad output_condmove_single operand" msgstr "ugyldig output_condmove_single-operand" ! #: config/gcn/gcn.cc:6626 config/gcn/gcn.cc:6646 config/gcn/gcn.cc:6650 ! #: config/gcn/gcn.cc:6982 config/gcn/gcn.cc:6993 config/gcn/gcn.cc:6996 #, c-format msgid "bad ADDR_SPACE_GLOBAL address" msgstr "" ! #: config/gcn/gcn.cc:6762 config/gcn/gcn.cc:6785 config/gcn/gcn.cc:6817 ! #: config/gcn/gcn.cc:6833 config/gcn/gcn.cc:6848 config/gcn/gcn.cc:6867 ! #: config/gcn/gcn.cc:6931 config/gcn/gcn.cc:7127 config/gcn/gcn.cc:7242 #, fuzzy, c-format #| msgid "invalid operand to %%Z code" msgid "invalid operand %%xn code" msgstr "ugyldig operand til %%Z-koden" ! #: config/gcn/gcn.cc:7230 #, fuzzy, c-format #| msgid "c4x_operand_subword: invalid mode" msgid "operand %%xn code invalid for QImode" msgstr "c4x_operand_subword: ugyldig tilstand" ! #: config/gcn/gcn.cc:7312 #, fuzzy, c-format #| msgid "invalid constant" msgid "invalid fp constant" --- 20938,20964 ---- msgid "bad output_condmove_single operand" msgstr "ugyldig output_condmove_single-operand" ! #: config/gcn/gcn.cc:6635 config/gcn/gcn.cc:6655 config/gcn/gcn.cc:6659 ! #: config/gcn/gcn.cc:6991 config/gcn/gcn.cc:7002 config/gcn/gcn.cc:7005 #, c-format msgid "bad ADDR_SPACE_GLOBAL address" msgstr "" ! #: config/gcn/gcn.cc:6771 config/gcn/gcn.cc:6794 config/gcn/gcn.cc:6826 ! #: config/gcn/gcn.cc:6842 config/gcn/gcn.cc:6857 config/gcn/gcn.cc:6876 ! #: config/gcn/gcn.cc:6940 config/gcn/gcn.cc:7136 config/gcn/gcn.cc:7251 #, fuzzy, c-format #| msgid "invalid operand to %%Z code" msgid "invalid operand %%xn code" msgstr "ugyldig operand til %%Z-koden" ! #: config/gcn/gcn.cc:7239 #, fuzzy, c-format #| msgid "c4x_operand_subword: invalid mode" msgid "operand %%xn code invalid for QImode" msgstr "c4x_operand_subword: ugyldig tilstand" ! #: config/gcn/gcn.cc:7321 #, fuzzy, c-format #| msgid "invalid constant" msgid "invalid fp constant" *************** msgstr "ugyldig operation på %<__fpreg% *** 21086,21092 **** msgid "invalid %%P operand" msgstr "ugyldig %%P-operand" ! #: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13997 #, c-format msgid "invalid %%p value" msgstr "ugyldig %%p-værdi" --- 21098,21104 ---- msgid "invalid %%P operand" msgstr "ugyldig %%P-operand" ! #: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13998 #, c-format msgid "invalid %%p value" msgstr "ugyldig %%p-værdi" *************** msgid "post-increment address is not a r *** 21164,21170 **** msgstr "postfiks forøgelsesadresse er ikke et register" #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 ! #: config/rs6000/rs6000.cc:20711 msgid "bad address" msgstr "ugyldig adresse" --- 21176,21182 ---- msgstr "postfiks forøgelsesadresse er ikke et register" #: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355 ! #: config/rs6000/rs6000.cc:20712 msgid "bad address" msgstr "ugyldig adresse" *************** msgstr "-mquad-memory-atomic kræver 64- *** 21396,21555 **** msgid "%<-mquad-memory%> is not available in little endian mode" msgstr "-mquad-memory er ikke tilgængelig i lilleendet tilstand" ! #: config/rs6000/rs6000.cc:11087 #, fuzzy #| msgid "bad operand" msgid "bad move" msgstr "ugyldig operand" ! #: config/rs6000/rs6000.cc:13627 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.cc:13807 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%A value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:13816 config/xtensa/xtensa.cc:2957 #, c-format msgid "invalid %%D value" msgstr "ugyldig %%D-værdi" ! #: config/rs6000/rs6000.cc:13831 #, c-format msgid "invalid %%e value" msgstr "ugyldig %%e-værdi" ! #: config/rs6000/rs6000.cc:13852 #, c-format msgid "invalid %%f value" msgstr "ugyldig %%f-værdi" ! #: config/rs6000/rs6000.cc:13861 #, c-format msgid "invalid %%F value" msgstr "ugyldig %%F-værdi" ! #: config/rs6000/rs6000.cc:13870 #, c-format msgid "invalid %%G value" msgstr "ugyldig %%G-værdi" ! #: config/rs6000/rs6000.cc:13905 #, c-format msgid "invalid %%j code" msgstr "ugyldig %%j-kode" ! #: config/rs6000/rs6000.cc:13915 #, c-format msgid "invalid %%J code" msgstr "ugyldig %%J-kode" ! #: config/rs6000/rs6000.cc:13925 #, c-format msgid "invalid %%k value" msgstr "ugyldig %%k-værdi" ! #: config/rs6000/rs6000.cc:13940 config/xtensa/xtensa.cc:2994 #, c-format msgid "invalid %%K value" msgstr "ugyldig %%K-værdi" ! #: config/rs6000/rs6000.cc:13987 #, c-format msgid "invalid %%O value" msgstr "ugyldig %%O-værdi" ! #: config/rs6000/rs6000.cc:14034 #, c-format msgid "invalid %%q value" msgstr "ugyldig %%q-værdi" ! #: config/rs6000/rs6000.cc:14076 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%t value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:14093 #, c-format msgid "invalid %%T value" msgstr "ugyldig %%T-værdi" ! #: config/rs6000/rs6000.cc:14105 #, c-format msgid "invalid %%u value" msgstr "ugyldig %%u-værdi" ! #: config/rs6000/rs6000.cc:14119 config/xtensa/xtensa.cc:2969 #, c-format msgid "invalid %%v value" msgstr "ugyldig %%v-værdi" ! #: config/rs6000/rs6000.cc:14169 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%V value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:14185 config/xtensa/xtensa.cc:3015 #, c-format msgid "invalid %%x value" msgstr "ugyldig %%x-værdi" ! #: config/rs6000/rs6000.cc:14242 #, c-format msgid "invalid %%z value" msgstr "ugyldig %%z-værdi" ! #: config/rs6000/rs6000.cc:14311 #, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "ugyldig %%y-værdi, prøv at brug »Z«-begrænsningen" ! #: config/rs6000/rs6000.cc:15241 #, fuzzy #| msgid "Use hardware floating point instructions" msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" msgstr "Benyt hardware-kommatalsinstruktioner" ! #: config/rs6000/rs6000.cc:24108 msgid "AltiVec argument passed to unprototyped function" msgstr "AltiVec-parameter sendt til funktion uden prototype" ! #: config/rs6000/rs6000.cc:27730 msgid "Could not generate addis value for fusion" msgstr "Kunne ikke generere addis-værdi for fusion" ! #: config/rs6000/rs6000.cc:27799 msgid "Unable to generate load/store offset for fusion" msgstr "Kunne ikke generere indlæsning/lagring af forskydning for fusion" ! #: config/rs6000/rs6000.cc:27875 msgid "Bad GPR fusion" msgstr "Ugyldig GPR-fusion" ! #: config/rs6000/rs6000.cc:28477 #, fuzzy #| msgid "invalid conversion from %<__fpreg%>" msgid "invalid conversion from type %<__vector_quad%>" msgstr "ugyldig konvertering fra %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28479 #, fuzzy #| msgid "invalid conversion to %<__fpreg%>" msgid "invalid conversion to type %<__vector_quad%>" msgstr "ugyldig konvertering til %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28481 #, fuzzy #| msgid "invalid conversion from %<__fpreg%>" msgid "invalid conversion from type %<__vector_pair%>" msgstr "ugyldig konvertering fra %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28483 #, fuzzy #| msgid "invalid conversion to %<__fpreg%>" msgid "invalid conversion to type %<__vector_pair%>" --- 21408,21567 ---- msgid "%<-mquad-memory%> is not available in little endian mode" msgstr "-mquad-memory er ikke tilgængelig i lilleendet tilstand" ! #: config/rs6000/rs6000.cc:11088 #, fuzzy #| msgid "bad operand" msgid "bad move" msgstr "ugyldig operand" ! #: config/rs6000/rs6000.cc:13628 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.cc:13808 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%A value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:13817 config/xtensa/xtensa.cc:2957 #, c-format msgid "invalid %%D value" msgstr "ugyldig %%D-værdi" ! #: config/rs6000/rs6000.cc:13832 #, c-format msgid "invalid %%e value" msgstr "ugyldig %%e-værdi" ! #: config/rs6000/rs6000.cc:13853 #, c-format msgid "invalid %%f value" msgstr "ugyldig %%f-værdi" ! #: config/rs6000/rs6000.cc:13862 #, c-format msgid "invalid %%F value" msgstr "ugyldig %%F-værdi" ! #: config/rs6000/rs6000.cc:13871 #, c-format msgid "invalid %%G value" msgstr "ugyldig %%G-værdi" ! #: config/rs6000/rs6000.cc:13906 #, c-format msgid "invalid %%j code" msgstr "ugyldig %%j-kode" ! #: config/rs6000/rs6000.cc:13916 #, c-format msgid "invalid %%J code" msgstr "ugyldig %%J-kode" ! #: config/rs6000/rs6000.cc:13926 #, c-format msgid "invalid %%k value" msgstr "ugyldig %%k-værdi" ! #: config/rs6000/rs6000.cc:13941 config/xtensa/xtensa.cc:2994 #, c-format msgid "invalid %%K value" msgstr "ugyldig %%K-værdi" ! #: config/rs6000/rs6000.cc:13988 #, c-format msgid "invalid %%O value" msgstr "ugyldig %%O-værdi" ! #: config/rs6000/rs6000.cc:14035 #, c-format msgid "invalid %%q value" msgstr "ugyldig %%q-værdi" ! #: config/rs6000/rs6000.cc:14077 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%t value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:14094 #, c-format msgid "invalid %%T value" msgstr "ugyldig %%T-værdi" ! #: config/rs6000/rs6000.cc:14106 #, c-format msgid "invalid %%u value" msgstr "ugyldig %%u-værdi" ! #: config/rs6000/rs6000.cc:14120 config/xtensa/xtensa.cc:2969 #, c-format msgid "invalid %%v value" msgstr "ugyldig %%v-værdi" ! #: config/rs6000/rs6000.cc:14170 #, fuzzy, c-format #| msgid "invalid %%J value" msgid "invalid %%V value" msgstr "ugyldig %%J-værdi" ! #: config/rs6000/rs6000.cc:14186 config/xtensa/xtensa.cc:3015 #, c-format msgid "invalid %%x value" msgstr "ugyldig %%x-værdi" ! #: config/rs6000/rs6000.cc:14243 #, c-format msgid "invalid %%z value" msgstr "ugyldig %%z-værdi" ! #: config/rs6000/rs6000.cc:14312 #, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "ugyldig %%y-værdi, prøv at brug »Z«-begrænsningen" ! #: config/rs6000/rs6000.cc:15242 #, fuzzy #| msgid "Use hardware floating point instructions" msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types" msgstr "Benyt hardware-kommatalsinstruktioner" ! #: config/rs6000/rs6000.cc:24109 msgid "AltiVec argument passed to unprototyped function" msgstr "AltiVec-parameter sendt til funktion uden prototype" ! #: config/rs6000/rs6000.cc:27731 msgid "Could not generate addis value for fusion" msgstr "Kunne ikke generere addis-værdi for fusion" ! #: config/rs6000/rs6000.cc:27800 msgid "Unable to generate load/store offset for fusion" msgstr "Kunne ikke generere indlæsning/lagring af forskydning for fusion" ! #: config/rs6000/rs6000.cc:27876 msgid "Bad GPR fusion" msgstr "Ugyldig GPR-fusion" ! #: config/rs6000/rs6000.cc:28478 #, fuzzy #| msgid "invalid conversion from %<__fpreg%>" msgid "invalid conversion from type %<__vector_quad%>" msgstr "ugyldig konvertering fra %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28480 #, fuzzy #| msgid "invalid conversion to %<__fpreg%>" msgid "invalid conversion to type %<__vector_quad%>" msgstr "ugyldig konvertering til %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28482 #, fuzzy #| msgid "invalid conversion from %<__fpreg%>" msgid "invalid conversion from type %<__vector_pair%>" msgstr "ugyldig konvertering fra %<__fpreg%>" ! #: config/rs6000/rs6000.cc:28484 #, fuzzy #| msgid "invalid conversion to %<__fpreg%>" msgid "invalid conversion to type %<__vector_pair%>" *************** msgstr "({anonym})" *** 21828,21859 **** #. ; #. <~~~~~~~~~ declaration ~~~~~~~~~~> #. Use c_parser_require to get an error with a fix-it hint. ! #: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6160 ! #: c/c-parser.cc:6783 c/c-parser.cc:7212 c/c-parser.cc:7391 c/c-parser.cc:7424 ! #: c/c-parser.cc:7690 c/c-parser.cc:11761 c/c-parser.cc:11796 ! #: c/c-parser.cc:11827 c/c-parser.cc:11874 c/c-parser.cc:12055 ! #: c/c-parser.cc:12888 c/c-parser.cc:12963 c/c-parser.cc:13006 ! #: c/c-parser.cc:19399 c/c-parser.cc:19479 c/c-parser.cc:19808 ! #: c/c-parser.cc:19834 c/c-parser.cc:19857 c/c-parser.cc:20304 ! #: c/c-parser.cc:20348 c/gimple-parser.cc:406 c/gimple-parser.cc:447 #: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261 #: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404 #: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 ! #: c/c-parser.cc:12048 c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 ! #: cp/parser.cc:15350 cp/parser.cc:33085 cp/parser.cc:33721 #, gcc-internal-format msgid "expected %<;%>" msgstr "%<;%> forventet" #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 ! #: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9123 c/c-parser.cc:9191 ! #: c/c-parser.cc:9701 c/c-parser.cc:9726 c/c-parser.cc:9760 c/c-parser.cc:9872 ! #: c/c-parser.cc:10691 c/c-parser.cc:12162 c/c-parser.cc:14546 ! #: c/c-parser.cc:15260 c/c-parser.cc:15319 c/c-parser.cc:15374 ! #: c/c-parser.cc:17168 c/c-parser.cc:17288 c/c-parser.cc:18622 ! #: c/c-parser.cc:19899 c/c-parser.cc:20312 c/c-parser.cc:23397 ! #: c/c-parser.cc:23479 c/gimple-parser.cc:195 c/gimple-parser.cc:198 #: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580 #: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048 #: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208 --- 21840,21871 ---- #. ; #. <~~~~~~~~~ declaration ~~~~~~~~~~> #. Use c_parser_require to get an error with a fix-it hint. ! #: c/c-parser.cc:2761 c/c-parser.cc:2883 c/c-parser.cc:2897 c/c-parser.cc:6163 ! #: c/c-parser.cc:6786 c/c-parser.cc:7215 c/c-parser.cc:7394 c/c-parser.cc:7427 ! #: c/c-parser.cc:7693 c/c-parser.cc:11764 c/c-parser.cc:11799 ! #: c/c-parser.cc:11830 c/c-parser.cc:11877 c/c-parser.cc:12058 ! #: c/c-parser.cc:12891 c/c-parser.cc:12966 c/c-parser.cc:13009 ! #: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19811 ! #: c/c-parser.cc:19837 c/c-parser.cc:19860 c/c-parser.cc:20307 ! #: c/c-parser.cc:20351 c/gimple-parser.cc:406 c/gimple-parser.cc:447 #: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261 #: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404 #: c/c-parser.cc:3671 c/c-parser.cc:3861 c/c-parser.cc:3896 ! #: c/c-parser.cc:12051 c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 ! #: cp/parser.cc:15350 cp/parser.cc:33084 cp/parser.cc:33720 #, gcc-internal-format msgid "expected %<;%>" msgstr "%<;%> forventet" #: c/c-parser.cc:3355 c/c-parser.cc:4460 c/c-parser.cc:4655 c/c-parser.cc:4713 #: c/c-parser.cc:4771 c/c-parser.cc:5153 c/c-parser.cc:5176 c/c-parser.cc:5185 ! #: c/c-parser.cc:5236 c/c-parser.cc:5245 c/c-parser.cc:9126 c/c-parser.cc:9194 ! #: c/c-parser.cc:9704 c/c-parser.cc:9729 c/c-parser.cc:9763 c/c-parser.cc:9875 ! #: c/c-parser.cc:10694 c/c-parser.cc:12165 c/c-parser.cc:14549 ! #: c/c-parser.cc:15263 c/c-parser.cc:15322 c/c-parser.cc:15377 ! #: c/c-parser.cc:17171 c/c-parser.cc:17291 c/c-parser.cc:18625 ! #: c/c-parser.cc:19902 c/c-parser.cc:20315 c/c-parser.cc:23400 ! #: c/c-parser.cc:23482 c/gimple-parser.cc:195 c/gimple-parser.cc:198 #: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580 #: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048 #: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208 *************** msgstr "%<;%> forventet" *** 21861,21875 **** #: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546 #: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991 #: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334 ! #: c/c-parser.cc:7642 cp/parser.cc:33769 #, gcc-internal-format msgid "expected %<)%>" msgstr "%<)%> forventet" #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 ! #: c/c-parser.cc:5475 c/c-parser.cc:5915 c/c-parser.cc:5959 c/c-parser.cc:7741 ! #: c/c-parser.cc:9863 c/c-parser.cc:10832 c/c-parser.cc:11186 ! #: c/c-parser.cc:13949 c/gimple-parser.cc:1755 cp/parser.cc:33733 #, gcc-internal-format msgid "expected %<]%>" msgstr "%<]%> forventet" --- 21873,21887 ---- #: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546 #: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991 #: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334 ! #: c/c-parser.cc:7645 cp/parser.cc:33768 #, gcc-internal-format msgid "expected %<)%>" msgstr "%<)%> forventet" #: c/c-parser.cc:4549 c/c-parser.cc:5296 c/c-parser.cc:5448 c/c-parser.cc:5474 ! #: c/c-parser.cc:5475 c/c-parser.cc:5918 c/c-parser.cc:5962 c/c-parser.cc:7744 ! #: c/c-parser.cc:9866 c/c-parser.cc:10835 c/c-parser.cc:11189 ! #: c/c-parser.cc:13952 c/gimple-parser.cc:1755 cp/parser.cc:33732 #, gcc-internal-format msgid "expected %<]%>" msgstr "%<]%> forventet" *************** msgid "expected %<;%>, %<,%> or %<)%>" *** 21879,21991 **** msgstr "%<;%>, %<,%> eller %<)%> forventet" #. Look for the two `(' tokens. ! #: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14529 ! #: c/c-parser.cc:15349 c/c-parser.cc:22673 c/c-parser.cc:23205 ! #: c/c-parser.cc:23422 c/gimple-parser.cc:180 c/gimple-parser.cc:488 #: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816 #: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195 #: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512 #: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960 #: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160 ! #: c/gimple-parser.cc:2331 c/c-parser.cc:14351 cp/parser.cc:33724 #, gcc-internal-format msgid "expected %<(%>" msgstr "%<(%> forventet" ! #: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13853 ! #: cp/parser.cc:33736 cp/parser.cc:37504 go/gofrontend/embed.cc:439 #, gcc-internal-format msgid "expected %<[%>" msgstr "%<[%> forventet" ! #: c/c-parser.cc:6096 c/c-parser.cc:12391 c/c-parser.cc:19374 ! #: c/c-parser.cc:19460 c/c-parser.cc:20118 c/c-parser.cc:20990 ! #: c/c-parser.cc:24653 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 ! #: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11943 ! #: cp/parser.cc:21039 cp/parser.cc:33730 go/gofrontend/embed.cc:370 #, gcc-internal-format msgid "expected %<{%>" msgstr "%<{%> forventet" ! #: c/c-parser.cc:6391 c/c-parser.cc:6400 c/c-parser.cc:8188 c/c-parser.cc:9328 ! #: c/c-parser.cc:12155 c/c-parser.cc:12552 c/c-parser.cc:12616 ! #: c/c-parser.cc:13931 c/c-parser.cc:14951 c/c-parser.cc:15177 ! #: c/c-parser.cc:15695 c/c-parser.cc:15796 c/c-parser.cc:16330 ! #: c/c-parser.cc:16766 c/c-parser.cc:16842 c/c-parser.cc:16959 ! #: c/c-parser.cc:17031 c/c-parser.cc:22535 c/c-parser.cc:23262 ! #: c/c-parser.cc:23321 c/gimple-parser.cc:582 c/gimple-parser.cc:887 ! #: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7649 ! #: c/c-parser.cc:14454 c/c-parser.cc:15801 cp/parser.cc:33763 ! #: cp/parser.cc:35465 cp/parser.cc:38352 cp/parser.cc:39227 #: go/gofrontend/embed.cc:403 #, gcc-internal-format msgid "expected %<:%>" msgstr "%<:%> forventet" ! #: c/c-parser.cc:7199 cp/parser.cc:33650 #, gcc-internal-format msgid "expected %" msgstr "% forventet" ! #: c/c-parser.cc:9086 c/c-parser.cc:9279 c/c-parser.cc:9750 c/c-parser.cc:9793 ! #: c/c-parser.cc:9934 c/c-parser.cc:10681 c/c-parser.cc:15354 ! #: c/c-parser.cc:16911 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 #: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534 ! #: c/gimple-parser.cc:1540 cp/parser.cc:33083 cp/parser.cc:33739 #, gcc-internal-format msgid "expected %<,%>" msgstr "%<,%> forventet" ! #: c/c-parser.cc:9647 msgid "expected %<.%>" msgstr "%<.%> forventet" ! #: c/c-parser.cc:11614 c/c-parser.cc:11646 c/c-parser.cc:11886 ! #: cp/parser.cc:36039 cp/parser.cc:36060 #, gcc-internal-format msgid "expected %<@end%>" msgstr "%<@end%> forventet" ! #: c/c-parser.cc:12304 c/gimple-parser.cc:1370 cp/parser.cc:33748 #, gcc-internal-format msgid "expected %<>%>" msgstr "%<>%> forventet" ! #: c/c-parser.cc:15890 c/c-parser.cc:17306 cp/parser.cc:33772 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "%<,%> eller %<)%> forventet" #. All following cases are statements with LHS. ! #: c/c-parser.cc:16758 c/c-parser.cc:19267 c/c-parser.cc:19314 ! #: c/c-parser.cc:19471 c/c-parser.cc:19818 c/c-parser.cc:20291 ! #: c/c-parser.cc:22742 c/c-parser.cc:23463 c/gimple-parser.cc:740 ! #: c/c-parser.cc:5982 c/c-parser.cc:19391 c/c-parser.cc:19614 ! #: cp/parser.cc:33751 cp/parser.cc:42079 cp/parser.cc:42252 #, gcc-internal-format msgid "expected %<=%>" msgstr "%<=%> forventet" ! #: c/c-parser.cc:19402 c/c-parser.cc:19482 c/c-parser.cc:19835 ! #: c/c-parser.cc:20169 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 ! #: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33727 ! #: cp/parser.cc:36249 #, gcc-internal-format msgid "expected %<}%>" msgstr "%<}%> forventet" ! #: c/c-parser.cc:19495 cp/parser.cc:42177 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:21035 c/c-parser.cc:21024 cp/parser.cc:44437 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "%<#pragma omp section%> eller %<}%> forventet" ! #: c/c-parser.cc:24023 cp/parser.cc:48282 msgid "" msgstr "" --- 21891,22003 ---- msgstr "%<;%>, %<,%> eller %<)%> forventet" #. Look for the two `(' tokens. ! #: c/c-parser.cc:5205 c/c-parser.cc:5210 c/c-parser.cc:14532 ! #: c/c-parser.cc:15352 c/c-parser.cc:22676 c/c-parser.cc:23208 ! #: c/c-parser.cc:23425 c/gimple-parser.cc:180 c/gimple-parser.cc:488 #: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816 #: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195 #: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512 #: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960 #: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160 ! #: c/gimple-parser.cc:2331 c/c-parser.cc:14354 cp/parser.cc:33723 #, gcc-internal-format msgid "expected %<(%>" msgstr "%<(%> forventet" ! #: c/c-parser.cc:5444 c/c-parser.cc:5446 c/c-parser.cc:13856 ! #: cp/parser.cc:33735 cp/parser.cc:37503 go/gofrontend/embed.cc:439 #, gcc-internal-format msgid "expected %<[%>" msgstr "%<[%> forventet" ! #: c/c-parser.cc:6099 c/c-parser.cc:12394 c/c-parser.cc:19377 ! #: c/c-parser.cc:19463 c/c-parser.cc:20121 c/c-parser.cc:20993 ! #: c/c-parser.cc:24656 c/gimple-parser.cc:399 c/gimple-parser.cc:2337 ! #: c/c-parser.cc:3658 c/c-parser.cc:3885 c/c-parser.cc:11946 ! #: cp/parser.cc:21039 cp/parser.cc:33729 go/gofrontend/embed.cc:370 #, gcc-internal-format msgid "expected %<{%>" msgstr "%<{%> forventet" ! #: c/c-parser.cc:6394 c/c-parser.cc:6403 c/c-parser.cc:8191 c/c-parser.cc:9331 ! #: c/c-parser.cc:12158 c/c-parser.cc:12555 c/c-parser.cc:12619 ! #: c/c-parser.cc:13934 c/c-parser.cc:14954 c/c-parser.cc:15180 ! #: c/c-parser.cc:15698 c/c-parser.cc:15799 c/c-parser.cc:16333 ! #: c/c-parser.cc:16769 c/c-parser.cc:16845 c/c-parser.cc:16962 ! #: c/c-parser.cc:17034 c/c-parser.cc:22538 c/c-parser.cc:23265 ! #: c/c-parser.cc:23324 c/gimple-parser.cc:582 c/gimple-parser.cc:887 ! #: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7652 ! #: c/c-parser.cc:14457 c/c-parser.cc:15804 cp/parser.cc:33762 ! #: cp/parser.cc:35464 cp/parser.cc:38351 cp/parser.cc:39226 #: go/gofrontend/embed.cc:403 #, gcc-internal-format msgid "expected %<:%>" msgstr "%<:%> forventet" ! #: c/c-parser.cc:7202 cp/parser.cc:33649 #, gcc-internal-format msgid "expected %" msgstr "% forventet" ! #: c/c-parser.cc:9089 c/c-parser.cc:9282 c/c-parser.cc:9753 c/c-parser.cc:9796 ! #: c/c-parser.cc:9937 c/c-parser.cc:10684 c/c-parser.cc:15357 ! #: c/c-parser.cc:16914 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071 #: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534 ! #: c/gimple-parser.cc:1540 cp/parser.cc:33082 cp/parser.cc:33738 #, gcc-internal-format msgid "expected %<,%>" msgstr "%<,%> forventet" ! #: c/c-parser.cc:9650 msgid "expected %<.%>" msgstr "%<.%> forventet" ! #: c/c-parser.cc:11617 c/c-parser.cc:11649 c/c-parser.cc:11889 ! #: cp/parser.cc:36038 cp/parser.cc:36059 #, gcc-internal-format msgid "expected %<@end%>" msgstr "%<@end%> forventet" ! #: c/c-parser.cc:12307 c/gimple-parser.cc:1370 cp/parser.cc:33747 #, gcc-internal-format msgid "expected %<>%>" msgstr "%<>%> forventet" ! #: c/c-parser.cc:15893 c/c-parser.cc:17309 cp/parser.cc:33771 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "%<,%> eller %<)%> forventet" #. All following cases are statements with LHS. ! #: c/c-parser.cc:16761 c/c-parser.cc:19270 c/c-parser.cc:19317 ! #: c/c-parser.cc:19474 c/c-parser.cc:19821 c/c-parser.cc:20294 ! #: c/c-parser.cc:22745 c/c-parser.cc:23466 c/gimple-parser.cc:740 ! #: c/c-parser.cc:5985 c/c-parser.cc:19394 c/c-parser.cc:19617 ! #: cp/parser.cc:33750 cp/parser.cc:42078 cp/parser.cc:42251 #, gcc-internal-format msgid "expected %<=%>" msgstr "%<=%> forventet" ! #: c/c-parser.cc:19405 c/c-parser.cc:19485 c/c-parser.cc:19838 ! #: c/c-parser.cc:20172 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620 ! #: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33726 ! #: cp/parser.cc:36248 #, gcc-internal-format msgid "expected %<}%>" msgstr "%<}%> forventet" ! #: c/c-parser.cc:19498 cp/parser.cc:42176 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:21038 c/c-parser.cc:21027 cp/parser.cc:44436 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "%<#pragma omp section%> eller %<}%> forventet" ! #: c/c-parser.cc:24026 cp/parser.cc:48281 msgid "" msgstr "" *************** msgstr "" *** 21993,21999 **** msgid "(anonymous)" msgstr "(anonym)" ! #: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33745 #, gcc-internal-format msgid "expected %<<%>" msgstr "%<<%> forventet" --- 22005,22011 ---- msgid "(anonymous)" msgstr "(anonym)" ! #: c/gimple-parser.cc:1359 cp/parser.cc:18387 cp/parser.cc:33744 #, gcc-internal-format msgid "expected %<<%>" msgstr "%<<%> forventet" *************** msgstr "%<<%> forventet" *** 22004,22033 **** msgid "expected label" msgstr "forventet etiket" ! #: cp/call.cc:4059 #, fuzzy #| msgid "candidate 1:" msgid "candidate:" msgstr "kandidat 1:" ! #: cp/call.cc:8193 #, fuzzy #| msgid "Enable use of DB instruction" msgid " after user-defined conversion:" msgstr "Aktivér brug af DB-instruktioner" ! #: cp/call.cc:8357 cp/pt.cc:2022 cp/pt.cc:26138 #, fuzzy msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "candidate%s: %+#D" msgstr[1] "candidate%s: %+#D" ! #: cp/call.cc:12792 cp/call.cc:13184 msgid "candidate 1:" msgstr "kandidat 1:" ! #: cp/call.cc:12794 cp/call.cc:13185 msgid "candidate 2:" msgstr "kandidat 2:" --- 22016,22045 ---- msgid "expected label" msgstr "forventet etiket" ! #: cp/call.cc:4067 #, fuzzy #| msgid "candidate 1:" msgid "candidate:" msgstr "kandidat 1:" ! #: cp/call.cc:8208 #, fuzzy #| msgid "Enable use of DB instruction" msgid " after user-defined conversion:" msgstr "Aktivér brug af DB-instruktioner" ! #: cp/call.cc:8372 cp/pt.cc:2022 cp/pt.cc:26168 #, fuzzy msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "candidate%s: %+#D" msgstr[1] "candidate%s: %+#D" ! #: cp/call.cc:12818 cp/call.cc:13230 msgid "candidate 1:" msgstr "kandidat 1:" ! #: cp/call.cc:12820 cp/call.cc:13231 msgid "candidate 2:" msgstr "kandidat 2:" *************** msgstr "" *** 22451,22457 **** msgid "no post-decrement operator for type" msgstr "" ! #: fortran/arith.cc:1487 #, fuzzy #| msgid "missing binary operator" msgid "elemental binary operation" --- 22463,22469 ---- msgid "no post-decrement operator for type" msgstr "" ! #: fortran/arith.cc:1492 #, fuzzy #| msgid "missing binary operator" msgid "elemental binary operation" *************** msgstr "" *** 22743,22753 **** msgid "implied END DO" msgstr "" ! #: fortran/parse.cc:2240 fortran/resolve.cc:12393 msgid "assignment" msgstr "tildeling" ! #: fortran/parse.cc:2243 fortran/resolve.cc:12459 fortran/resolve.cc:12462 #, fuzzy #| msgid "assignment" msgid "pointer assignment" --- 22755,22765 ---- msgid "implied END DO" msgstr "" ! #: fortran/parse.cc:2240 fortran/resolve.cc:12425 msgid "assignment" msgstr "tildeling" ! #: fortran/parse.cc:2243 fortran/resolve.cc:12491 fortran/resolve.cc:12494 #, fuzzy #| msgid "assignment" msgid "pointer assignment" *************** msgstr "" *** 22873,22989 **** msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4209 #, c-format msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4214 #, c-format msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4229 #, c-format msgid "Operands of string concatenation operator at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4272 #, c-format msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4295 #, c-format msgid "Operand of .not. operator at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4309 #, fuzzy #| msgid "`%V' qualifiers cannot be applied to `%T'" msgid "COMPLEX quantities cannot be compared at %L" msgstr "modifikationerne '%V' kan ikke anvendes på '%T'" ! #: fortran/resolve.cc:4407 #, c-format msgid "Logicals at %%L must be compared with %s instead of %s" msgstr "" ! #: fortran/resolve.cc:4413 #, c-format msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4427 #, fuzzy, c-format #| msgid "unknown register name: %s" msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" msgstr "ukendt registernavn: %s" ! #: fortran/resolve.cc:4430 #, fuzzy, c-format #| msgid "unknown register name: %s" msgid "Unknown operator %%<%s%%> at %%L" msgstr "ukendt registernavn: %s" ! #: fortran/resolve.cc:4435 #, c-format msgid "Operand of user operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4440 #, c-format msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4526 ! #, c-format ! msgid "Inconsistent ranks for operator at %%L and %%L" ! msgstr "" ! ! #: fortran/resolve.cc:7400 msgid "Loop variable" msgstr "" ! #: fortran/resolve.cc:7404 msgid "iterator variable" msgstr "" ! #: fortran/resolve.cc:7408 msgid "Start expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7412 #, fuzzy #| msgid "invalid expression as operand" msgid "End expression in DO loop" msgstr "ugyldigt udtryk som operand" ! #: fortran/resolve.cc:7416 msgid "Step expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7703 fortran/resolve.cc:7706 msgid "DEALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8084 fortran/resolve.cc:8087 msgid "ALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8324 fortran/resolve.cc:10311 fortran/resolve.cc:10432 msgid "STAT variable" msgstr "" ! #: fortran/resolve.cc:8375 fortran/resolve.cc:10323 fortran/resolve.cc:10444 msgid "ERRMSG variable" msgstr "" ! #: fortran/resolve.cc:10113 msgid "item in READ" msgstr "" ! #: fortran/resolve.cc:10335 msgid "ACQUIRED_LOCK variable" msgstr "" --- 22885,23001 ---- msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4210 fortran/resolve.cc:4393 fortran/resolve.cc:4548 ! #, c-format ! msgid "Inconsistent ranks for operator at %%L and %%L" ! msgstr "" ! ! #: fortran/resolve.cc:4220 #, c-format msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" msgstr "" ! #: fortran/resolve.cc:4225 #, c-format msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4240 #, c-format msgid "Operands of string concatenation operator at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4283 #, c-format msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4306 #, c-format msgid "Operand of .not. operator at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4320 #, fuzzy #| msgid "`%V' qualifiers cannot be applied to `%T'" msgid "COMPLEX quantities cannot be compared at %L" msgstr "modifikationerne '%V' kan ikke anvendes på '%T'" ! #: fortran/resolve.cc:4429 #, c-format msgid "Logicals at %%L must be compared with %s instead of %s" msgstr "" ! #: fortran/resolve.cc:4435 #, c-format msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:4449 #, fuzzy, c-format #| msgid "unknown register name: %s" msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?" msgstr "ukendt registernavn: %s" ! #: fortran/resolve.cc:4452 #, fuzzy, c-format #| msgid "unknown register name: %s" msgid "Unknown operator %%<%s%%> at %%L" msgstr "ukendt registernavn: %s" ! #: fortran/resolve.cc:4457 #, c-format msgid "Operand of user operator %%<%s%%> at %%L is %s" msgstr "" ! #: fortran/resolve.cc:4462 #, c-format msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" msgstr "" ! #: fortran/resolve.cc:7437 msgid "Loop variable" msgstr "" ! #: fortran/resolve.cc:7441 msgid "iterator variable" msgstr "" ! #: fortran/resolve.cc:7445 msgid "Start expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7449 #, fuzzy #| msgid "invalid expression as operand" msgid "End expression in DO loop" msgstr "ugyldigt udtryk som operand" ! #: fortran/resolve.cc:7453 msgid "Step expression in DO loop" msgstr "" ! #: fortran/resolve.cc:7740 fortran/resolve.cc:7743 msgid "DEALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8121 fortran/resolve.cc:8124 msgid "ALLOCATE object" msgstr "" ! #: fortran/resolve.cc:8361 fortran/resolve.cc:10343 fortran/resolve.cc:10464 msgid "STAT variable" msgstr "" ! #: fortran/resolve.cc:8412 fortran/resolve.cc:10355 fortran/resolve.cc:10476 msgid "ERRMSG variable" msgstr "" ! #: fortran/resolve.cc:10145 msgid "item in READ" msgstr "" ! #: fortran/resolve.cc:10367 msgid "ACQUIRED_LOCK variable" msgstr "" *************** msgstr "" *** 23011,23022 **** msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.cc:10376 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.cc:11936 msgid "Assignment of scalar to unallocated array" msgstr "" --- 23023,23034 ---- msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.cc:10381 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.cc:11941 msgid "Assignment of scalar to unallocated array" msgstr "" *************** msgstr "forventet numerisk type" *** 23215,23222 **** msgid "expected boolean type" msgstr "forventet boolesk type" ! #: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16670 c/c-parser.cc:16677 ! #: cp/parser.cc:39987 cp/parser.cc:39994 #, fuzzy, gcc-internal-format msgid "expected integer" msgstr "uventet operand" --- 23227,23234 ---- msgid "expected boolean type" msgstr "forventet boolesk type" ! #: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16673 c/c-parser.cc:16680 ! #: cp/parser.cc:39986 cp/parser.cc:39993 #, fuzzy, gcc-internal-format msgid "expected integer" msgstr "uventet operand" *************** msgstr "" *** 23280,23287 **** #: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206 #: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397 #: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508 ! #: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12687 ! #: go/gofrontend/expressions.cc:12704 go/gofrontend/expressions.cc:12720 msgid "not enough arguments" msgstr "ikke nok parametre" --- 23292,23299 ---- #: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206 #: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397 #: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508 ! #: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12688 ! #: go/gofrontend/expressions.cc:12705 go/gofrontend/expressions.cc:12721 msgid "not enough arguments" msgstr "ikke nok parametre" *************** msgstr "ikke nok parametre" *** 23289,23297 **** #: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334 #: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437 #: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535 ! #: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12692 ! #: go/gofrontend/expressions.cc:12706 go/gofrontend/expressions.cc:12727 ! #: cp/pt.cc:9218 #, gcc-internal-format msgid "too many arguments" msgstr "for mange parametre" --- 23301,23309 ---- #: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334 #: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437 #: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535 ! #: go/gofrontend/expressions.cc:11416 go/gofrontend/expressions.cc:12693 ! #: go/gofrontend/expressions.cc:12707 go/gofrontend/expressions.cc:12728 ! #: cp/pt.cc:9220 #, gcc-internal-format msgid "too many arguments" msgstr "for mange parametre" *************** msgstr "komplekse parametre skal have ko *** 23378,23385 **** msgid "type conversion result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12633 ! #: go/gofrontend/expressions.cc:13069 msgid "expected function" msgstr "forventet funktion" --- 23390,23397 ---- msgid "type conversion result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12634 ! #: go/gofrontend/expressions.cc:13070 msgid "expected function" msgstr "forventet funktion" *************** msgstr "multiple-value parameter i enkel *** 23391,23470 **** msgid "invalid use of %<...%> with non-slice" msgstr "ugyldig brug af %<...%> med ikke-skive" ! #: go/gofrontend/expressions.cc:12641 msgid "function result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:12659 msgid "incompatible type for receiver" msgstr "uforenelige typer for modtager" ! #: go/gofrontend/expressions.cc:12677 msgid "invalid use of %<...%> calling non-variadic function" msgstr "ugyldig brug af %<...%> kaldende ikke-variadic funktion" ! #: go/gofrontend/expressions.cc:13078 go/gofrontend/expressions.cc:13092 msgid "number of results does not match number of values" msgstr "antallet af resultater matcher ikke antallet af værdier" ! #: go/gofrontend/expressions.cc:13384 go/gofrontend/expressions.cc:14055 msgid "index must be integer" msgstr "indeks skal være heltal" ! #: go/gofrontend/expressions.cc:13393 go/gofrontend/expressions.cc:14064 msgid "slice end must be integer" msgstr "skive-slutning skal være heltal" ! #: go/gofrontend/expressions.cc:13402 #, fuzzy #| msgid "switch quantity not an integer" msgid "slice capacity must be integer" msgstr "switch-størrelsen er ikke et heltal" ! #: go/gofrontend/expressions.cc:13453 go/gofrontend/expressions.cc:14098 msgid "inverted slice range" msgstr "" ! #: go/gofrontend/expressions.cc:13496 msgid "slice of unaddressable value" msgstr "" ! #: go/gofrontend/expressions.cc:14354 #, fuzzy #| msgid "incompatible types in %s" msgid "incompatible type for map index" msgstr "uforenelige typer i %s" ! #: go/gofrontend/expressions.cc:14792 msgid "expected interface or pointer to interface" msgstr "" ! #: go/gofrontend/expressions.cc:15578 msgid "too many expressions for struct" msgstr "for mange udtryk for struct" ! #: go/gofrontend/expressions.cc:15591 msgid "too few expressions for struct" msgstr "for få udtryk for struct" ! #: go/gofrontend/expressions.cc:17556 go/gofrontend/statements.cc:1921 #, fuzzy #| msgid "Invalid interface type" msgid "type assertion only valid for interface types" msgstr "Ugyldig grænsefladetype" ! #: go/gofrontend/expressions.cc:17568 msgid "impossible type assertion: type does not implement interface" msgstr "" ! #: go/gofrontend/expressions.cc:17767 go/gofrontend/expressions.cc:17787 #: go/gofrontend/statements.cc:1768 #, fuzzy #| msgid "unexpected operand" msgid "expected channel" msgstr "uventet operand" ! #: go/gofrontend/expressions.cc:17792 go/gofrontend/statements.cc:1773 msgid "invalid receive on send-only channel" msgstr "" --- 23403,23482 ---- msgid "invalid use of %<...%> with non-slice" msgstr "ugyldig brug af %<...%> med ikke-skive" ! #: go/gofrontend/expressions.cc:12642 msgid "function result count mismatch" msgstr "" ! #: go/gofrontend/expressions.cc:12660 msgid "incompatible type for receiver" msgstr "uforenelige typer for modtager" ! #: go/gofrontend/expressions.cc:12678 msgid "invalid use of %<...%> calling non-variadic function" msgstr "ugyldig brug af %<...%> kaldende ikke-variadic funktion" ! #: go/gofrontend/expressions.cc:13079 go/gofrontend/expressions.cc:13093 msgid "number of results does not match number of values" msgstr "antallet af resultater matcher ikke antallet af værdier" ! #: go/gofrontend/expressions.cc:13385 go/gofrontend/expressions.cc:14056 msgid "index must be integer" msgstr "indeks skal være heltal" ! #: go/gofrontend/expressions.cc:13394 go/gofrontend/expressions.cc:14065 msgid "slice end must be integer" msgstr "skive-slutning skal være heltal" ! #: go/gofrontend/expressions.cc:13403 #, fuzzy #| msgid "switch quantity not an integer" msgid "slice capacity must be integer" msgstr "switch-størrelsen er ikke et heltal" ! #: go/gofrontend/expressions.cc:13454 go/gofrontend/expressions.cc:14099 msgid "inverted slice range" msgstr "" ! #: go/gofrontend/expressions.cc:13497 msgid "slice of unaddressable value" msgstr "" ! #: go/gofrontend/expressions.cc:14355 #, fuzzy #| msgid "incompatible types in %s" msgid "incompatible type for map index" msgstr "uforenelige typer i %s" ! #: go/gofrontend/expressions.cc:14793 msgid "expected interface or pointer to interface" msgstr "" ! #: go/gofrontend/expressions.cc:15579 msgid "too many expressions for struct" msgstr "for mange udtryk for struct" ! #: go/gofrontend/expressions.cc:15592 msgid "too few expressions for struct" msgstr "for få udtryk for struct" ! #: go/gofrontend/expressions.cc:17557 go/gofrontend/statements.cc:1921 #, fuzzy #| msgid "Invalid interface type" msgid "type assertion only valid for interface types" msgstr "Ugyldig grænsefladetype" ! #: go/gofrontend/expressions.cc:17569 msgid "impossible type assertion: type does not implement interface" msgstr "" ! #: go/gofrontend/expressions.cc:17768 go/gofrontend/expressions.cc:17788 #: go/gofrontend/statements.cc:1768 #, fuzzy #| msgid "unexpected operand" msgid "expected channel" msgstr "uventet operand" ! #: go/gofrontend/expressions.cc:17793 go/gofrontend/statements.cc:1773 msgid "invalid receive on send-only channel" msgstr "" *************** msgstr "" *** 23707,23713 **** #. coalesced sections. Weak aliases (or any other kind of aliases) are #. not supported. Weak symbols that aren't visible outside the .s file #. are not supported. ! #: config/darwin.h:648 #, fuzzy, gcc-internal-format #| msgid "alias definitions not supported in this configuration; ignored" msgid "alias definitions not supported in Mach-O; ignored" --- 23719,23725 ---- #. coalesced sections. Weak aliases (or any other kind of aliases) are #. not supported. Weak symbols that aren't visible outside the .s file #. are not supported. ! #: config/darwin.h:656 #, fuzzy, gcc-internal-format #| msgid "alias definitions not supported in this configuration; ignored" msgid "alias definitions not supported in Mach-O; ignored" *************** msgstr "ukendt registernavn '%s'" *** 24136,24154 **** msgid "unrecognized scalar storage order value %qs" msgstr "ukendt registernavn '%s'" ! #: d/lang.opt:193 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown array bounds setting %qs" msgstr "ukendt registernavn: %s" ! #: d/lang.opt:235 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown checkaction setting %qs" msgstr "ukendt registernavn: %s" ! #: d/lang.opt:291 #, fuzzy, gcc-internal-format #| msgid "unknown C standard `%s'" msgid "unknown C++ standard %qs" --- 24148,24166 ---- msgid "unrecognized scalar storage order value %qs" msgstr "ukendt registernavn '%s'" ! #: d/lang.opt:201 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown array bounds setting %qs" msgstr "ukendt registernavn: %s" ! #: d/lang.opt:243 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown checkaction setting %qs" msgstr "ukendt registernavn: %s" ! #: d/lang.opt:303 #, fuzzy, gcc-internal-format #| msgid "unknown C standard `%s'" msgid "unknown C++ standard %qs" *************** msgstr "dataområdet '%s' er i modstrid *** 24378,24384 **** #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 ! #: c-family/c-attribs.cc:4883 cp/decl.cc:15970 cp/decl.cc:16020 #: cp/friend.cc:318 cp/tree.cc:5261 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%#D' here" --- 24390,24396 ---- #: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439 #: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4790 ! #: c-family/c-attribs.cc:4883 cp/decl.cc:15979 cp/decl.cc:16029 #: cp/friend.cc:318 cp/tree.cc:5261 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%#D' here" *************** msgstr "egenskabsdirektivet '%s' ignorer *** 24399,24405 **** msgid "%<%E::%E%> scoped attribute directive ignored" msgstr "egenskabsdirektivet '%s' ignoreret" ! #: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3274 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments specified for %qE attribute" --- 24411,24417 ---- msgid "%<%E::%E%> scoped attribute directive ignored" msgstr "egenskabsdirektivet '%s' ignoreret" ! #: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3286 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments specified for %qE attribute" *************** msgstr "forkert antal parametre angivet *** 24411,24417 **** msgid "expected %i or more, found %i" msgstr "forventede %" ! #: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3276 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expected %<,%>" msgid "expected %i, found %i" --- 24423,24429 ---- msgid "expected %i or more, found %i" msgstr "forventede %" ! #: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3288 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expected %<,%>" msgid "expected %i, found %i" *************** msgstr "egenskaben '%s' kan kun anvendes *** 24480,24492 **** #: c-family/c-attribs.cc:5632 c-family/c-attribs.cc:5800 #: c-family/c-attribs.cc:5812 c-family/c-common.cc:6056 #: c-family/c-common.cc:6059 config/darwin.cc:2143 config/arm/arm.cc:7444 ! #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568 #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 ! #: config/i386/i386-options.cc:3428 config/i386/i386-options.cc:3586 ! #: config/i386/i386-options.cc:3818 config/i386/i386-options.cc:3848 #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 ! #: config/rs6000/rs6000.cc:20475 ada/gcc-interface/utils.cc:6588 #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 --- 24492,24504 ---- #: c-family/c-attribs.cc:5632 c-family/c-attribs.cc:5800 #: c-family/c-attribs.cc:5812 c-family/c-common.cc:6056 #: c-family/c-common.cc:6059 config/darwin.cc:2143 config/arm/arm.cc:7444 ! #: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:10158 #: config/csky/csky.cc:6498 config/csky/csky.cc:6520 #: config/h8300/h8300.cc:4968 config/h8300/h8300.cc:4992 ! #: config/i386/i386-options.cc:3434 config/i386/i386-options.cc:3592 ! #: config/i386/i386-options.cc:3824 config/i386/i386-options.cc:3854 #: config/ia64/ia64.cc:785 config/loongarch/loongarch.cc:6539 ! #: config/rs6000/rs6000.cc:20476 ada/gcc-interface/utils.cc:6588 #: ada/gcc-interface/utils.cc:6604 ada/gcc-interface/utils.cc:6642 #: ada/gcc-interface/utils.cc:6659 ada/gcc-interface/utils.cc:6676 #: ada/gcc-interface/utils.cc:6691 ada/gcc-interface/utils.cc:6707 *************** msgstr "egenskaben '%s' kan kun anvendes *** 24494,24500 **** #: ada/gcc-interface/utils.cc:6829 ada/gcc-interface/utils.cc:6850 #: ada/gcc-interface/utils.cc:6871 ada/gcc-interface/utils.cc:6919 #: ada/gcc-interface/utils.cc:6935 ada/gcc-interface/utils.cc:6990 ! #: c/c-decl.cc:4781 c/c-decl.cc:4784 c/c-decl.cc:4799 c/c-parser.cc:5433 #: cp/tree.cc:5032 d/d-attribs.cc:480 d/d-attribs.cc:699 d/d-attribs.cc:720 #: d/d-attribs.cc:736 d/d-attribs.cc:753 d/d-attribs.cc:785 d/d-attribs.cc:914 #: d/d-attribs.cc:973 d/d-attribs.cc:989 d/d-attribs.cc:1005 --- 24506,24512 ---- #: ada/gcc-interface/utils.cc:6829 ada/gcc-interface/utils.cc:6850 #: ada/gcc-interface/utils.cc:6871 ada/gcc-interface/utils.cc:6919 #: ada/gcc-interface/utils.cc:6935 ada/gcc-interface/utils.cc:6990 ! #: c/c-decl.cc:4788 c/c-decl.cc:4791 c/c-decl.cc:4806 c/c-parser.cc:5433 #: cp/tree.cc:5032 d/d-attribs.cc:480 d/d-attribs.cc:699 d/d-attribs.cc:720 #: d/d-attribs.cc:736 d/d-attribs.cc:753 d/d-attribs.cc:785 d/d-attribs.cc:914 #: d/d-attribs.cc:973 d/d-attribs.cc:989 d/d-attribs.cc:1005 *************** msgstr "" *** 25958,25969 **** #. include_self= #. TODO: Add OPT_Wundefined-inline. ! #: cgraphunit.cc:1094 c/c-decl.cc:12837 #, gcc-internal-format msgid "%q+F used but never defined" msgstr "%q+F brugt, men aldrig defineret" ! #: cgraphunit.cc:1096 c/c-decl.cc:12847 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "%q+F erklæret %, men aldrig defineret" --- 25970,25981 ---- #. include_self= #. TODO: Add OPT_Wundefined-inline. ! #: cgraphunit.cc:1094 c/c-decl.cc:12844 #, gcc-internal-format msgid "%q+F used but never defined" msgstr "%q+F brugt, men aldrig defineret" ! #: cgraphunit.cc:1096 c/c-decl.cc:12854 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "%q+F erklæret %, men aldrig defineret" *************** msgid "ld returned %d exit status" *** 26110,26116 **** msgstr "ld returnerede afslutningskoden %d" #: collect2.cc:913 gcc.cc:8200 config/gcn/mkoffload.cc:827 ! #: config/nvptx/mkoffload.cc:545 #, gcc-internal-format msgid "atexit failed" msgstr "" --- 26122,26128 ---- msgstr "ld returnerede afslutningskoden %d" #: collect2.cc:913 gcc.cc:8200 config/gcn/mkoffload.cc:827 ! #: config/nvptx/mkoffload.cc:559 #, gcc-internal-format msgid "atexit failed" msgstr "" *************** msgstr "'or' af uafbalancerede sammenlig *** 26659,26675 **** msgid "% of mutually exclusive equal-tests is always 0" msgstr "'and' af udtryk der hver for sig udelukker hinanden, er altid 0" ! #: fold-const.cc:9943 #, gcc-internal-format msgid "assuming signed overflow does not occur when reducing constant in comparison" msgstr "" ! #: fold-const.cc:10350 #, gcc-internal-format msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.cc:13561 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" --- 26671,26687 ---- msgid "% of mutually exclusive equal-tests is always 0" msgstr "'and' af udtryk der hver for sig udelukker hinanden, er altid 0" ! #: fold-const.cc:9950 #, gcc-internal-format msgid "assuming signed overflow does not occur when reducing constant in comparison" msgstr "" ! #: fold-const.cc:10357 #, gcc-internal-format msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.cc:13568 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" *************** msgstr "skabelonsparameter %d er ugyldig *** 27095,27101 **** msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.cc:9711 common/config/riscv/riscv-common.cc:1668 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" --- 27107,27113 ---- msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.cc:9711 common/config/riscv/riscv-common.cc:1729 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" *************** msgstr "henvisning" *** 27464,27470 **** msgid "function may return address of local variable" msgstr "funktion kan returnere adressen på en lokal variabel" ! #: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11397 #, gcc-internal-format msgid "function returns address of local variable" msgstr "funktion returnerer adressen på en lokal variabel" --- 27476,27482 ---- msgid "function may return address of local variable" msgstr "funktion kan returnere adressen på en lokal variabel" ! #: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11402 #, gcc-internal-format msgid "function returns address of local variable" msgstr "funktion returnerer adressen på en lokal variabel" *************** msgstr "funktion returnerer adressen på *** 27472,27482 **** #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2041 #: gimple-ssa-warn-access.cc:3713 tree.cc:12354 tree.cc:12391 tree.cc:12432 #: tree.cc:12465 c/c-typeck.cc:3092 c/c-typeck.cc:3187 c/c-typeck.cc:5769 ! #: c/c-typeck.cc:11303 c/c-typeck.cc:11320 c/gimple-parser.cc:2484 ! #: c/gimple-parser.cc:2492 cp/call.cc:8064 cp/call.cc:10213 cp/class.cc:9076 #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 ! #: cp/decl.cc:8886 cp/decl.cc:16167 cp/decl.cc:16534 cp/decl2.cc:5715 ! #: cp/decl2.cc:5770 cp/parser.cc:21904 cp/pt.cc:9026 cp/semantics.cc:2192 #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 #: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623 --- 27484,27494 ---- #: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2041 #: gimple-ssa-warn-access.cc:3713 tree.cc:12354 tree.cc:12391 tree.cc:12432 #: tree.cc:12465 c/c-typeck.cc:3092 c/c-typeck.cc:3187 c/c-typeck.cc:5769 ! #: c/c-typeck.cc:11308 c/c-typeck.cc:11325 c/gimple-parser.cc:2484 ! #: c/gimple-parser.cc:2492 cp/call.cc:8079 cp/call.cc:10228 cp/class.cc:9076 #: cp/constexpr.cc:894 cp/constexpr.cc:4077 cp/cvt.cc:1079 cp/cvt.cc:1117 ! #: cp/decl.cc:8886 cp/decl.cc:16176 cp/decl.cc:16543 cp/decl2.cc:5720 ! #: cp/decl2.cc:5775 cp/parser.cc:21904 cp/pt.cc:9028 cp/semantics.cc:2192 #: cp/semantics.cc:3549 cp/semantics.cc:4636 cp/typeck.cc:2143 #: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10582 #: rust/backend/rust-constexpr.cc:4403 rust/backend/rust-tree.cc:623 *************** msgstr "ugyldig henvisningstilstand '%s' *** 28692,28702 **** #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 #: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 ! #: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3989 ! #: c/c-decl.cc:4270 c/c-typeck.cc:9355 c/c-typeck.cc:12105 cp/class.cc:1492 #: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 #: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 ! #: cp/friend.cc:416 cp/init.cc:2918 cp/parser.cc:3566 cp/parser.cc:3712 #: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" --- 28704,28714 ---- #: gimple-ssa-warn-access.cc:3965 gimple-ssa-warn-access.cc:4617 #: gimple-ssa-warn-access.cc:4620 gimple-ssa-warn-restrict.cc:1828 ! #: tree-ssa-uninit.cc:906 tree-ssa-uninit.cc:1105 c/c-decl.cc:3996 ! #: c/c-decl.cc:4277 c/c-typeck.cc:9355 c/c-typeck.cc:12110 cp/class.cc:1492 #: cp/class.cc:3291 cp/constexpr.cc:1067 cp/decl.cc:4450 cp/decl.cc:12609 #: cp/decl.cc:13109 cp/decl.cc:13118 cp/decl.cc:14079 cp/friend.cc:406 ! #: cp/friend.cc:416 cp/init.cc:2908 cp/parser.cc:3566 cp/parser.cc:3712 #: cp/parser.cc:3763 cp/parser.cc:7005 cp/parser.cc:24456 cp/typeck.cc:4944 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" *************** msgstr "" *** 29111,29477 **** msgid "memory input %d is not directly addressable" msgstr "uddata nr. %d kan ikke adresseres direkte" ! #: gimplify.cc:7495 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in a region with % clause" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7497 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing region" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7501 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in target region" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7503 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.cc:7516 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in untied task" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7518 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.cc:7615 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qE not specified in enclosing %qs" msgstr "'%D' ikke erklæret" ! #: gimplify.cc:7617 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing %qs" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7760 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7762 #, fuzzy, gcc-internal-format #| msgid "In construct" msgid "enclosing OpenACC %qs construct" msgstr "I konstruktionen" ! #: gimplify.cc:7823 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.cc:7831 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE requires a % directive for use in a % function" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" ! #: gimplify.cc:7900 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qE not specified in enclosing %" msgstr "'%D' ikke erklæret" ! #: gimplify.cc:7902 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing %" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7932 gimplify.cc:11190 #, fuzzy, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "variablen '%s' er erklæret 'inline'" ! #: gimplify.cc:7953 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.cc:8084 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE is predetermined linear" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:8087 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE should be private" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:8101 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.cc:8104 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "iteration variable %qE should not be reduction" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:8107 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE should not be linear" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:9109 gimplify.cc:9120 gimplify.cc:9132 gimplify.cc:9147 ! #: gimplify.cc:9343 gimplify.cc:9346 gimplify.cc:9356 gimplify.cc:9374 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected mapping node" msgstr "uventet operand" ! #: gimplify.cc:9408 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected pointer mapping node" msgstr "uventet operand" ! #: gimplify.cc:9618 #, fuzzy, gcc-internal-format #| msgid "circular pointer delegation detected" msgid "base pointer cycle detected" msgstr "fundet en henvisningsefterfølgelse der går i ring" ! #: gimplify.cc:9990 #, gcc-internal-format msgid "data movement for component %qE is not compatible with movement for struct %qE" msgstr "" ! #: gimplify.cc:10035 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.cc:10641 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.cc:10851 gimplify.cc:10857 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "conditional % clause on %qs construct" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:10874 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "non-scalar variable %qD in conditional % clause" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:10896 #, gcc-internal-format msgid "% reduction modifier on a construct with a % clause" msgstr "" ! #: gimplify.cc:10904 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs, % or %" msgstr "" ! #: gimplify.cc:10915 gimplify.cc:10921 gimplify.cc:10927 gimplify.cc:10933 ! #: gimplify.cc:10939 gimplify.cc:14919 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% % clause on %qs construct" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: gimplify.cc:11033 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.cc:11728 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.cc:11785 #, fuzzy, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: gimplify.cc:11817 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.cc:11855 #, fuzzy, gcc-internal-format msgid "% clause with % is only allowed on % construct" msgstr "typedef-navn kan ikke klassemodificeres" ! #: gimplify.cc:11871 #, gcc-internal-format msgid "with %, only the %, %, %, %, and % clauses may appear on the construct" msgstr "" ! #: gimplify.cc:12083 #, gcc-internal-format msgid "%qD specified in %qs clause but not in % % clause on the containing construct" msgstr "" ! #: gimplify.cc:12289 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.cc:12343 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.cc:12605 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.cc:12678 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.cc:12792 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to %" msgstr "" ! #: gimplify.cc:12941 #, gcc-internal-format msgid "%qD specified in % % clause but not in % directive clause" msgstr "" ! #: gimplify.cc:12960 #, fuzzy, gcc-internal-format #| msgid "invalid member template declaration `%D'" msgid "invalid private reduction on %qE" msgstr "ugyldig medlemsskabelonerklæring '%D'" ! #: gimplify.cc:13126 #, gcc-internal-format msgid "% % clause used together with % clause for a variable other than loop iterator" msgstr "" ! #: gimplify.cc:13465 #, gcc-internal-format msgid "% kind in % clause on a % construct" msgstr "" ! #: gimplify.cc:13475 #, gcc-internal-format msgid "% construct with % clause but no % clauses" msgstr "" ! #: gimplify.cc:13759 gimplify.cc:13763 gimplify.cc:13772 gimplify.cc:13784 ! #: gimplify.cc:13789 #, gcc-internal-format msgid "%qs clause may not appear on non-rectangular %qs" msgstr "" ! #: gimplify.cc:13951 #, gcc-internal-format msgid "% clause may not be specified together with % clause if stand-alone % construct is nested in it" msgstr "" ! #: gimplify.cc:14016 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "threadprivate iteration variable %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: gimplify.cc:14047 gimplify.cc:14155 #, gcc-internal-format msgid "conditional % on loop iterator %qD ignored" msgstr "" ! #: gimplify.cc:14857 #, fuzzy, gcc-internal-format #| msgid "directives may not be used inside a macro argument" msgid "% clause not specified on a % construct not nested inside another OpenMP construct" msgstr "direktiver må ikke optræde inden i en makroparameter" ! #: gimplify.cc:14881 #, gcc-internal-format msgid "% on a % construct nested inside % construct" msgstr "" ! #: gimplify.cc:14901 #, fuzzy, gcc-internal-format #| msgid "directives may not be used inside a macro argument" msgid "% on a % region not strictly nested inside of a % region" msgstr "direktiver må ikke optræde inden i en makroparameter" ! #: gimplify.cc:14926 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs or %" msgstr "" ! #: gimplify.cc:14954 #, gcc-internal-format msgid "% clause on a % construct refers to a variable %qD which is not the loop iterator" msgstr "" ! #: gimplify.cc:16035 #, gcc-internal-format msgid "% construct with %qs clause must be closely nested inside a loop with % clause" msgstr "" ! #: gimplify.cc:16056 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.cc:16069 #, fuzzy, gcc-internal-format #| msgid "number of results does not match number of values" msgid "number of variables in %qs clause with % modifier does not match number of iteration variables" msgstr "antallet af resultater matcher ikke antallet af værdier" ! #: gimplify.cc:16083 #, gcc-internal-format msgid "more than one %qs clause with % modifier on an % construct" msgstr "" ! #: gimplify.cc:16096 #, gcc-internal-format msgid "%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct" msgstr "" ! #: gimplify.cc:17405 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.cc:18004 #, fuzzy, gcc-internal-format #| msgid "`%s' is promoted to `%s' when passed through `...'" msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "'%s' forfremmes til '%s' ved overbringelse gennem '...'" ! #: gimplify.cc:18009 #, fuzzy, gcc-internal-format #| msgid "(so you should pass `%s' not `%s' to `va_arg')" msgid "(so you should pass %qT not %qT to %)" msgstr "(så du skal overbring '%s' ikke '%s' til 'va_arg')" ! #: gimplify.cc:18016 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" --- 29123,29489 ---- msgid "memory input %d is not directly addressable" msgstr "uddata nr. %d kan ikke adresseres direkte" ! #: gimplify.cc:7502 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in a region with % clause" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7504 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing region" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7508 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in target region" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7510 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.cc:7523 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "threadprivate variable %qE used in untied task" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:7525 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.cc:7622 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qE not specified in enclosing %qs" msgstr "'%D' ikke erklæret" ! #: gimplify.cc:7624 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing %qs" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7767 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.cc:7769 #, fuzzy, gcc-internal-format #| msgid "In construct" msgid "enclosing OpenACC %qs construct" msgstr "I konstruktionen" ! #: gimplify.cc:7830 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.cc:7838 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE requires a % directive for use in a % function" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" ! #: gimplify.cc:7907 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qE not specified in enclosing %" msgstr "'%D' ikke erklæret" ! #: gimplify.cc:7909 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "enclosing %" msgstr "fejl ved lukning af %s: %m" ! #: gimplify.cc:7939 gimplify.cc:11197 #, fuzzy, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "variablen '%s' er erklæret 'inline'" ! #: gimplify.cc:7960 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.cc:8091 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE is predetermined linear" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:8094 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE should be private" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:8108 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.cc:8111 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "iteration variable %qE should not be reduction" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: gimplify.cc:8114 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "iteration variable %qE should not be linear" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:9116 gimplify.cc:9127 gimplify.cc:9139 gimplify.cc:9154 ! #: gimplify.cc:9350 gimplify.cc:9353 gimplify.cc:9363 gimplify.cc:9381 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected mapping node" msgstr "uventet operand" ! #: gimplify.cc:9415 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected pointer mapping node" msgstr "uventet operand" ! #: gimplify.cc:9625 #, fuzzy, gcc-internal-format #| msgid "circular pointer delegation detected" msgid "base pointer cycle detected" msgstr "fundet en henvisningsefterfølgelse der går i ring" ! #: gimplify.cc:9997 #, gcc-internal-format msgid "data movement for component %qE is not compatible with movement for struct %qE" msgstr "" ! #: gimplify.cc:10042 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.cc:10648 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.cc:10858 gimplify.cc:10864 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "conditional % clause on %qs construct" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:10881 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "non-scalar variable %qD in conditional % clause" msgstr "instansvariablen '%s' er erklæret privat" ! #: gimplify.cc:10903 #, gcc-internal-format msgid "% reduction modifier on a construct with a % clause" msgstr "" ! #: gimplify.cc:10911 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs, % or %" msgstr "" ! #: gimplify.cc:10922 gimplify.cc:10928 gimplify.cc:10934 gimplify.cc:10940 ! #: gimplify.cc:10946 gimplify.cc:14926 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% % clause on %qs construct" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: gimplify.cc:11040 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.cc:11735 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.cc:11792 #, fuzzy, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: gimplify.cc:11824 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.cc:11862 #, fuzzy, gcc-internal-format msgid "% clause with % is only allowed on % construct" msgstr "typedef-navn kan ikke klassemodificeres" ! #: gimplify.cc:11878 #, gcc-internal-format msgid "with %, only the %, %, %, %, and % clauses may appear on the construct" msgstr "" ! #: gimplify.cc:12090 #, gcc-internal-format msgid "%qD specified in %qs clause but not in % % clause on the containing construct" msgstr "" ! #: gimplify.cc:12296 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.cc:12350 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.cc:12612 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.cc:12685 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.cc:12799 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to %" msgstr "" ! #: gimplify.cc:12948 #, gcc-internal-format msgid "%qD specified in % % clause but not in % directive clause" msgstr "" ! #: gimplify.cc:12967 #, fuzzy, gcc-internal-format #| msgid "invalid member template declaration `%D'" msgid "invalid private reduction on %qE" msgstr "ugyldig medlemsskabelonerklæring '%D'" ! #: gimplify.cc:13133 #, gcc-internal-format msgid "% % clause used together with % clause for a variable other than loop iterator" msgstr "" ! #: gimplify.cc:13472 #, gcc-internal-format msgid "% kind in % clause on a % construct" msgstr "" ! #: gimplify.cc:13482 #, gcc-internal-format msgid "% construct with % clause but no % clauses" msgstr "" ! #: gimplify.cc:13766 gimplify.cc:13770 gimplify.cc:13779 gimplify.cc:13791 ! #: gimplify.cc:13796 #, gcc-internal-format msgid "%qs clause may not appear on non-rectangular %qs" msgstr "" ! #: gimplify.cc:13958 #, gcc-internal-format msgid "% clause may not be specified together with % clause if stand-alone % construct is nested in it" msgstr "" ! #: gimplify.cc:14023 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "threadprivate iteration variable %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: gimplify.cc:14054 gimplify.cc:14162 #, gcc-internal-format msgid "conditional % on loop iterator %qD ignored" msgstr "" ! #: gimplify.cc:14864 #, fuzzy, gcc-internal-format #| msgid "directives may not be used inside a macro argument" msgid "% clause not specified on a % construct not nested inside another OpenMP construct" msgstr "direktiver må ikke optræde inden i en makroparameter" ! #: gimplify.cc:14888 #, gcc-internal-format msgid "% on a % construct nested inside % construct" msgstr "" ! #: gimplify.cc:14908 #, fuzzy, gcc-internal-format #| msgid "directives may not be used inside a macro argument" msgid "% on a % region not strictly nested inside of a % region" msgstr "direktiver må ikke optræde inden i en makroparameter" ! #: gimplify.cc:14933 #, gcc-internal-format msgid "invalid % reduction modifier on construct other than %, %qs or %" msgstr "" ! #: gimplify.cc:14961 #, gcc-internal-format msgid "% clause on a % construct refers to a variable %qD which is not the loop iterator" msgstr "" ! #: gimplify.cc:16042 #, gcc-internal-format msgid "% construct with %qs clause must be closely nested inside a loop with % clause" msgstr "" ! #: gimplify.cc:16063 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.cc:16076 #, fuzzy, gcc-internal-format #| msgid "number of results does not match number of values" msgid "number of variables in %qs clause with % modifier does not match number of iteration variables" msgstr "antallet af resultater matcher ikke antallet af værdier" ! #: gimplify.cc:16090 #, gcc-internal-format msgid "more than one %qs clause with % modifier on an % construct" msgstr "" ! #: gimplify.cc:16103 #, gcc-internal-format msgid "%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct" msgstr "" ! #: gimplify.cc:17412 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.cc:18011 #, fuzzy, gcc-internal-format #| msgid "`%s' is promoted to `%s' when passed through `...'" msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "'%s' forfremmes til '%s' ved overbringelse gennem '...'" ! #: gimplify.cc:18016 #, fuzzy, gcc-internal-format #| msgid "(so you should pass `%s' not `%s' to `va_arg')" msgid "(so you should pass %qT not %qT to %)" msgstr "(så du skal overbring '%s' ikke '%s' til 'va_arg')" ! #: gimplify.cc:18023 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" *************** msgstr "-mapcs-26 og -mapcs-32 kan ikke *** 30963,30975 **** msgid "unrecognized argument in option %qs" msgstr "ignorerer kommandolinjetilvalget '%s'" ! #: opts-common.cc:1539 config/i386/i386-options.cc:1637 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %qs are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: opts-common.cc:1542 config/i386/i386-options.cc:1640 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %qs are: %s" --- 30975,30987 ---- msgid "unrecognized argument in option %qs" msgstr "ignorerer kommandolinjetilvalget '%s'" ! #: opts-common.cc:1539 config/i386/i386-options.cc:1641 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %qs are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: opts-common.cc:1542 config/i386/i386-options.cc:1644 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %qs are: %s" *************** msgstr "ugyldigt udtryk som operand" *** 33643,33682 **** msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-alias.cc:4042 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "invalid fn spec attribute \"%s\"" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: tree-ssa-alias.cc:4081 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid use of `%D'" msgid "invalid fn spec attribute \"%s\" arg %i" msgstr "ugyldig brug af '%D" ! #: tree-ssa-ccp.cc:4684 c-family/c-common.cc:5830 #, gcc-internal-format msgid "%qs pointer is null" msgstr "" ! #: tree-ssa-ccp.cc:4687 c-family/c-common.cc:5833 #, fuzzy, gcc-internal-format msgid "in a call to non-static member function %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: tree-ssa-ccp.cc:4693 c-family/c-common.cc:5839 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.cc:4699 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "in a call to built-in function %qD" msgstr "for mange parametre til funktionen '%s'" ! #: tree-ssa-ccp.cc:4703 c-family/c-common.cc:5843 #, fuzzy, gcc-internal-format msgid "in a call to function %qD declared %qs" msgstr "Ugyldig erklæring" --- 33655,33694 ---- msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-alias.cc:4060 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "invalid fn spec attribute \"%s\"" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: tree-ssa-alias.cc:4099 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid use of `%D'" msgid "invalid fn spec attribute \"%s\" arg %i" msgstr "ugyldig brug af '%D" ! #: tree-ssa-ccp.cc:4686 c-family/c-common.cc:5830 #, gcc-internal-format msgid "%qs pointer is null" msgstr "" ! #: tree-ssa-ccp.cc:4689 c-family/c-common.cc:5833 #, fuzzy, gcc-internal-format msgid "in a call to non-static member function %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: tree-ssa-ccp.cc:4695 c-family/c-common.cc:5839 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.cc:4701 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "in a call to built-in function %qD" msgstr "for mange parametre til funktionen '%s'" ! #: tree-ssa-ccp.cc:4705 c-family/c-common.cc:5843 #, fuzzy, gcc-internal-format msgid "in a call to function %qD declared %qs" msgstr "Ugyldig erklæring" *************** msgstr "tråd-lokal COMMON-data er ikke *** 34712,34718 **** msgid "requested alignment for %q+D is greater than implemented alignment of %wu" msgstr "%Jforespurgt justering for '%D' er større end den implementerede justering på %d" ! #: varasm.cc:2304 c/c-decl.cc:5718 c/c-parser.cc:1789 #: m2/gm2-gcc/m2type.cc:1259 #, fuzzy, gcc-internal-format #| msgid "storage size of `%D' isn't known" --- 34724,34730 ---- msgid "requested alignment for %q+D is greater than implemented alignment of %wu" msgstr "%Jforespurgt justering for '%D' er større end den implementerede justering på %d" ! #: varasm.cc:2304 c/c-decl.cc:5725 c/c-parser.cc:1789 #: m2/gm2-gcc/m2type.cc:1259 #, fuzzy, gcc-internal-format #| msgid "storage size of `%D' isn't known" *************** msgstr "'%s' brugt, men aldrig defineret *** 35013,35019 **** msgid "%qE attribute ignored because %qD is not a local variable" msgstr "'%s' brugt, men aldrig defineret" ! #: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3842 #, fuzzy, gcc-internal-format msgid "%qE attribute have effect only on public objects" msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner" --- 35025,35031 ---- msgid "%qE attribute ignored because %qD is not a local variable" msgstr "'%s' brugt, men aldrig defineret" ! #: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3848 #, fuzzy, gcc-internal-format msgid "%qE attribute have effect only on public objects" msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner" *************** msgstr "adressen af '%D' vil altid være *** 36106,36113 **** msgid "suggest parentheses around assignment used as truth value" msgstr "foreslår paranteser omkring tildeling der er benyttet som boolsk værdi" ! #: c-family/c-common.cc:3786 c/c-decl.cc:4845 c/c-decl.cc:7428 ! #: c/c-parser.cc:3523 c/c-typeck.cc:16336 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of %" --- 36118,36125 ---- msgid "suggest parentheses around assignment used as truth value" msgstr "foreslår paranteser omkring tildeling der er benyttet som boolsk værdi" ! #: c-family/c-common.cc:3786 c/c-decl.cc:4852 c/c-decl.cc:7435 ! #: c/c-parser.cc:3523 c/c-typeck.cc:16341 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of %" *************** msgstr "kommatalskonstant er uden for de *** 37345,37362 **** msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.cc:1343 c/c-parser.cc:7908 #, fuzzy, gcc-internal-format #| msgid "possible start of unterminated string literal" msgid "unsupported non-standard concatenation of string literals" msgstr "muligvis begyndelsen af uafsluttet strengkonstant" ! #: c-family/c-lex.cc:1379 c/c-parser.cc:7929 #, fuzzy, gcc-internal-format msgid "traditional C rejects string constant concatenation" msgstr "traditionel C tillader ikke strengsammensætning" ! #: c-family/c-omp.cc:130 cp/pt.cc:19567 #, gcc-internal-format msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" msgstr "" --- 37357,37374 ---- msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.cc:1343 c/c-parser.cc:7911 #, fuzzy, gcc-internal-format #| msgid "possible start of unterminated string literal" msgid "unsupported non-standard concatenation of string literals" msgstr "muligvis begyndelsen af uafsluttet strengkonstant" ! #: c-family/c-lex.cc:1379 c/c-parser.cc:7932 #, fuzzy, gcc-internal-format msgid "traditional C rejects string constant concatenation" msgstr "traditionel C tillader ikke strengsammensætning" ! #: c-family/c-omp.cc:130 cp/pt.cc:19584 #, gcc-internal-format msgid "%<#pragma omp critical%> with % clause requires a name, except when % is used" msgstr "" *************** msgstr "" *** 37524,37530 **** msgid "% % clause on construct other than %, %, %, %, %" msgstr "" ! #: c-family/c-omp.cc:2756 c/c-typeck.cc:16149 cp/semantics.cc:9229 #, gcc-internal-format msgid "%qD specified in % clause but not in an explicit privatization clause" msgstr "" --- 37536,37542 ---- msgid "% % clause on construct other than %, %, %, %, %" msgstr "" ! #: c-family/c-omp.cc:2756 c/c-typeck.cc:16154 cp/semantics.cc:9229 #, gcc-internal-format msgid "%qD specified in % clause but not in an explicit privatization clause" msgstr "" *************** msgid "wrong type argument to %s" *** 38143,38149 **** msgstr "forkert parametertype til %s" #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3369 ! #: cp/constexpr.cc:6946 m2/gm2-gcc/m2expr.cc:935 #: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327 #, gcc-internal-format msgid "overflow in constant expression" --- 38155,38161 ---- msgstr "forkert parametertype til %s" #: c-family/c-warn.cc:59 c-family/c-warn.cc:72 cp/constexpr.cc:3369 ! #: cp/constexpr.cc:6945 m2/gm2-gcc/m2expr.cc:935 #: rust/backend/rust-constexpr.cc:1905 rust/backend/rust-constexpr.cc:4327 #, gcc-internal-format msgid "overflow in constant expression" *************** msgid_plural "passing argument %i to %qs *** 38985,38991 **** msgstr[0] "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type" msgstr[1] "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type" ! #: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6284 #, fuzzy, gcc-internal-format #| msgid "the conditional began here" msgid "this condition has identical branches" --- 38997,39003 ---- msgstr[0] "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type" msgstr[1] "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type" ! #: c-family/c-warn.cc:2849 c/c-typeck.cc:5723 cp/call.cc:6299 #, fuzzy, gcc-internal-format #| msgid "the conditional began here" msgid "this condition has identical branches" *************** msgstr "" *** 39006,39012 **** msgid "converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment %d) may result in an unaligned pointer value" msgstr "" ! #: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:677 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "defined here" --- 39018,39024 ---- msgid "converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment %d) may result in an unaligned pointer value" msgstr "" ! #: c-family/c-warn.cc:3061 c-family/c-warn.cc:3064 cp/init.cc:667 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "defined here" *************** msgstr "for mange inddatafiler" *** 39221,39227 **** msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" msgstr "" ! #: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18140 #, fuzzy, gcc-internal-format #| msgid "unknown value %qs for -mcpu" msgid "unknown value %qs for %<-mcpu%>" --- 39233,39239 ---- msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?" msgstr "" ! #: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18135 #, fuzzy, gcc-internal-format #| msgid "unknown value %qs for -mcpu" msgid "unknown value %qs for %<-mcpu%>" *************** msgid "unrecognized option passed to %%: *** 39256,39271 **** msgstr "" #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 ! #: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18072 ! #: config/aarch64/aarch64.cc:18110 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 ! #: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18075 ! #: config/aarch64/aarch64.cc:18113 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments are: %s" --- 39268,39283 ---- msgstr "" #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442 ! #: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:18067 ! #: config/aarch64/aarch64.cc:18105 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" #: common/config/arm/arm-common.cc:381 common/config/arm/arm-common.cc:445 ! #: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:18070 ! #: config/aarch64/aarch64.cc:18108 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments are: %s" *************** msgstr "" *** 39864,39910 **** msgid "PIC is only supported for RTPs" msgstr "-g er kun understøttet ved brug af GAS på denne processor," ! #: config/aarch64/aarch64-builtins.cc:2142 ! #: config/aarch64/aarch64-builtins.cc:2376 config/arm/arm-builtins.cc:3112 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:2214 config/arm/arm-builtins.cc:3467 #, fuzzy, gcc-internal-format #| msgid "mask must be an immediate" msgid "lane index must be a constant immediate" msgstr "maske skal være en umiddelbar værdi" ! #: config/aarch64/aarch64-builtins.cc:2218 #, fuzzy, gcc-internal-format #| msgid "mask must be an immediate" msgid "total size and element size must be a nonzero constant immediate" msgstr "maske skal være en umiddelbar værdi" ! #: config/aarch64/aarch64-builtins.cc:2466 #, fuzzy, gcc-internal-format msgid "argument must be a 16-bit constant immediate" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:2572 #, fuzzy, gcc-internal-format msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64-builtins.cc:2607 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate in range [0,15]" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:3385 ! #: config/aarch64/aarch64-builtins.cc:3405 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected side-effects in address" msgid "expected 64-bit address but argument 1 is %d-bit" msgstr "uventede bivirkninger i adresse" ! #: config/aarch64/aarch64-builtins.cc:3389 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected side-effects in address" msgid "expected 64-bit address but argument 2 is %d-bit" --- 39876,39922 ---- msgid "PIC is only supported for RTPs" msgstr "-g er kun understøttet ved brug af GAS på denne processor," ! #: config/aarch64/aarch64-builtins.cc:2156 ! #: config/aarch64/aarch64-builtins.cc:2390 config/arm/arm-builtins.cc:3112 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:2228 config/arm/arm-builtins.cc:3467 #, fuzzy, gcc-internal-format #| msgid "mask must be an immediate" msgid "lane index must be a constant immediate" msgstr "maske skal være en umiddelbar værdi" ! #: config/aarch64/aarch64-builtins.cc:2232 #, fuzzy, gcc-internal-format #| msgid "mask must be an immediate" msgid "total size and element size must be a nonzero constant immediate" msgstr "maske skal være en umiddelbar værdi" ! #: config/aarch64/aarch64-builtins.cc:2480 #, fuzzy, gcc-internal-format msgid "argument must be a 16-bit constant immediate" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:2586 #, fuzzy, gcc-internal-format msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64-builtins.cc:2621 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be a constant immediate in range [0,15]" msgstr "parameteren til 'asm' er ikke en konstant streng" ! #: config/aarch64/aarch64-builtins.cc:3399 ! #: config/aarch64/aarch64-builtins.cc:3419 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected side-effects in address" msgid "expected 64-bit address but argument 1 is %d-bit" msgstr "uventede bivirkninger i adresse" ! #: config/aarch64/aarch64-builtins.cc:3403 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected side-effects in address" msgid "expected 64-bit address but argument 2 is %d-bit" *************** msgstr "" *** 40368,40732 **** msgid "arguments of type %qT require the SVE ISA extension" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: config/aarch64/aarch64.cc:7659 #, fuzzy, gcc-internal-format #| msgid "AltiVec argument passed to unprototyped function" msgid "SVE type %qT cannot be passed to an unprototyped function" msgstr "AltiVec-parameter sendt til funktion uden prototype" ! #: config/aarch64/aarch64.cc:7796 config/aarch64/aarch64.cc:7867 ! #: config/aarch64/aarch64.cc:19811 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 13.1" msgstr "" ! #: config/aarch64/aarch64.cc:7806 config/aarch64/aarch64.cc:7876 ! #: config/aarch64/aarch64.cc:19817 config/arm/arm.cc:7266 #: config/arm/arm.cc:7296 config/arm/arm.cc:29338 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 9.1" msgstr "" ! #: config/aarch64/aarch64.cc:7944 #, fuzzy, gcc-internal-format #| msgid "Do not use the Xtensa NSA option" msgid "%qE requires the SVE ISA extension" msgstr "Benyt ikke Xtensa-NSA-indstillingen" ! #: config/aarch64/aarch64.cc:7947 #, fuzzy, gcc-internal-format #| msgid "a -ifile option requires a -map option" msgid "calls to functions of type %qT require the SVE ISA extension" msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg" ! #: config/aarch64/aarch64.cc:8125 #, gcc-internal-format msgid "stack probes for SVE frames" msgstr "" ! #: config/aarch64/aarch64.cc:17557 #, gcc-internal-format msgid "unknown flag passed in %<-moverride=%s%> (%s)" msgstr "" ! #: config/aarch64/aarch64.cc:17601 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qs string ill-formed" msgstr "egenskaben '%s' ignoreret" ! #: config/aarch64/aarch64.cc:17657 #, fuzzy, gcc-internal-format #| msgid "invalid option %s" msgid "invalid format for %" msgstr "ugyldigt tilvalg %s" ! #: config/aarch64/aarch64.cc:17669 #, fuzzy, gcc-internal-format #| msgid "invalid %h value" msgid "invalid % value: %d" msgstr "ugyldig %h-værdi" ! #: config/aarch64/aarch64.cc:17689 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Invalid range %s in option %s" msgid "tuning string missing in option (%s)" msgstr "ugyldigt interval %s i tilvalg %s" ! #: config/aarch64/aarch64.cc:17707 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unknown spec function `%s'" msgid "unknown tuning option (%s)" msgstr "ukendt specifikationsfunktion '%s'" ! #: config/aarch64/aarch64.cc:17895 config/arm/arm.cc:3193 #: config/riscv/riscv.cc:6326 #, gcc-internal-format msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:17904 config/riscv/riscv.cc:6335 #, gcc-internal-format msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" msgstr "" ! #: config/aarch64/aarch64.cc:17912 #, fuzzy, gcc-internal-format #| msgid "Specify the register allocation order" msgid "specify a system register with a small string length" msgstr "Angiv registerallokeringsordnen" ! #: config/aarch64/aarch64.cc:17922 config/arm/arm.cc:3205 #: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 #, fuzzy, gcc-internal-format msgid "%qs is not a valid offset in %qs" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64.cc:17929 #, gcc-internal-format msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" msgstr "" ! #: config/aarch64/aarch64.cc:18019 #, gcc-internal-format msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" msgstr "" ! #: config/aarch64/aarch64.cc:18035 #, gcc-internal-format msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" msgstr "" ! #: config/aarch64/aarch64.cc:18137 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing cpu name in %<-mcpu=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18144 #, fuzzy, gcc-internal-format #| msgid "unknown machine mode `%s'" msgid "invalid feature modifier %qs in %<-mcpu=%s%>" msgstr "ukendt maskintilstand '%s'" ! #: config/aarch64/aarch64.cc:18203 #, fuzzy, gcc-internal-format #| msgid "invalid arg to `__builtin_frame_address'" msgid "invalid argument given to %<-mharden-sls=%>" msgstr "ugyldig parameter til '__builtin_frame_address'" ! #: config/aarch64/aarch64.cc:18214 #, gcc-internal-format msgid "%qs must be by itself for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18219 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "invalid argument %<%s%> for %<-mharden-sls=%>" msgstr "for mange parametre til funktionen '%s'" ! #: config/aarch64/aarch64.cc:18247 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing arch name in %<-march=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18250 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "unknown value %qs for %<-march%>" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18256 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "did you mean %<-mcpu=%s%>?" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18259 #, fuzzy, gcc-internal-format msgid "invalid feature modifier %qs in %<-march=%s%>" msgstr "et filnavn mangler efter '-%s'" ! #: config/aarch64/aarch64.cc:18287 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing cpu name in %<-mtune=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18290 #, fuzzy, gcc-internal-format #| msgid "unknown value %qs for -mtune" msgid "unknown value %qs for %<-mtune%>" msgstr "ukendt værdi %qs for -mtune" ! #: config/aarch64/aarch64.cc:18375 #, fuzzy, gcc-internal-format #| msgid "switch -mcpu=%s conflicts with -march= switch" msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march=" ! #: config/aarch64/aarch64.cc:18429 #, fuzzy, gcc-internal-format msgid "assembler does not support %<-mabi=ilp32%>" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64.cc:18436 #, gcc-internal-format msgid "return address signing is only supported for %<-mabi=lp64%>" msgstr "" ! #: config/aarch64/aarch64.cc:18509 #, gcc-internal-format msgid "code model %qs with %<-f%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18512 #, fuzzy, gcc-internal-format #| msgid "code model %qs not supported in x32 mode" msgid "code model %qs not supported in ilp32 mode" msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" ! #: config/aarch64/aarch64.cc:18664 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing name in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18667 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18671 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid feature modifier %s of value %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18705 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing name in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18708 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18712 config/aarch64/aarch64.cc:18818 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18735 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing argument to % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18739 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid protection type %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18773 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/aarch64/aarch64.cc:18814 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing value in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18872 config/aarch64/aarch64.cc:19045 #, fuzzy, gcc-internal-format #| msgid "malformed spec function name" msgid "malformed % pragma or attribute" msgstr "forkert udformet specifikationsfunktionsnavn" ! #: config/aarch64/aarch64.cc:18916 #, fuzzy, gcc-internal-format #| msgid "%s only accepts 1 argument" msgid "pragma or attribute % does not accept an argument" msgstr "%s accepterer kun 1 parameter" ! #: config/aarch64/aarch64.cc:18924 config/i386/i386-options.cc:1256 #, fuzzy, gcc-internal-format #| msgid "target system does not support the %qs debug format" msgid "pragma or attribute % does not allow a negated form" msgstr "målarkitektursystem understøtter ikke %qs-fejlsøgningsformatet" ! #: config/aarch64/aarch64.cc:18978 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "pragma or attribute % is not valid" msgstr "\"%s\" er ikke defineret" ! #: config/aarch64/aarch64.cc:19035 config/arm/arm.cc:33539 ! #: config/rs6000/rs6000.cc:24417 config/s390/s390.cc:16053 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "attribute % argument not a string" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: config/aarch64/aarch64.cc:19070 #, gcc-internal-format msgid "arch extension %<%s%> should be prefixed by %<+%>" msgstr "" ! #: config/aarch64/aarch64.cc:19073 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "pragma or attribute % is not valid" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: config/aarch64/aarch64.cc:19082 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "malformed % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6614 #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6619 #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20572 config/arm/arm.cc:6624 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:21726 config/aarch64/aarch64.cc:21729 #, fuzzy, gcc-internal-format #| msgid "line number out of range" msgid "lane %wd out of range %wd - %wd" msgstr "linjenummer er uden for det gyldige interval" ! #: config/aarch64/aarch64.cc:26990 config/i386/i386.cc:23710 ! #: config/i386/i386.cc:23841 #, fuzzy, gcc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %wd" msgstr "versionen er ikke understøttet" ! #: config/aarch64/aarch64.cc:27002 config/aarch64/aarch64.cc:27031 #, gcc-internal-format msgid "GCC does not currently support mixed size types for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27006 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "GCC does not currently support return type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27010 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported return type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27035 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "GCC does not currently support argument type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27061 #, fuzzy, gcc-internal-format #| msgid "The -shared option is not currently supported for VAX ELF." msgid "GCC does not currently support simdlen %wd for type %qT" --- 40380,40744 ---- msgid "arguments of type %qT require the SVE ISA extension" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: config/aarch64/aarch64.cc:7658 #, fuzzy, gcc-internal-format #| msgid "AltiVec argument passed to unprototyped function" msgid "SVE type %qT cannot be passed to an unprototyped function" msgstr "AltiVec-parameter sendt til funktion uden prototype" ! #: config/aarch64/aarch64.cc:7791 config/aarch64/aarch64.cc:7862 ! #: config/aarch64/aarch64.cc:19806 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 13.1" msgstr "" ! #: config/aarch64/aarch64.cc:7801 config/aarch64/aarch64.cc:7871 ! #: config/aarch64/aarch64.cc:19812 config/arm/arm.cc:7266 #: config/arm/arm.cc:7296 config/arm/arm.cc:29338 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 9.1" msgstr "" ! #: config/aarch64/aarch64.cc:7939 #, fuzzy, gcc-internal-format #| msgid "Do not use the Xtensa NSA option" msgid "%qE requires the SVE ISA extension" msgstr "Benyt ikke Xtensa-NSA-indstillingen" ! #: config/aarch64/aarch64.cc:7942 #, fuzzy, gcc-internal-format #| msgid "a -ifile option requires a -map option" msgid "calls to functions of type %qT require the SVE ISA extension" msgstr "et '-ifile'-tilvalg kræver et '-map'-tilvalg" ! #: config/aarch64/aarch64.cc:8120 #, gcc-internal-format msgid "stack probes for SVE frames" msgstr "" ! #: config/aarch64/aarch64.cc:17552 #, gcc-internal-format msgid "unknown flag passed in %<-moverride=%s%> (%s)" msgstr "" ! #: config/aarch64/aarch64.cc:17596 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qs string ill-formed" msgstr "egenskaben '%s' ignoreret" ! #: config/aarch64/aarch64.cc:17652 #, fuzzy, gcc-internal-format #| msgid "invalid option %s" msgid "invalid format for %" msgstr "ugyldigt tilvalg %s" ! #: config/aarch64/aarch64.cc:17664 #, fuzzy, gcc-internal-format #| msgid "invalid %h value" msgid "invalid % value: %d" msgstr "ugyldig %h-værdi" ! #: config/aarch64/aarch64.cc:17684 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Invalid range %s in option %s" msgid "tuning string missing in option (%s)" msgstr "ugyldigt interval %s i tilvalg %s" ! #: config/aarch64/aarch64.cc:17702 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unknown spec function `%s'" msgid "unknown tuning option (%s)" msgstr "ukendt specifikationsfunktion '%s'" ! #: config/aarch64/aarch64.cc:17890 config/arm/arm.cc:3193 #: config/riscv/riscv.cc:6326 #, gcc-internal-format msgid "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-protector-guard-offset=%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:17899 config/riscv/riscv.cc:6335 #, gcc-internal-format msgid "both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> must be used with %<-mstack-protector-guard=sysreg%>" msgstr "" ! #: config/aarch64/aarch64.cc:17907 #, fuzzy, gcc-internal-format #| msgid "Specify the register allocation order" msgid "specify a system register with a small string length" msgstr "Angiv registerallokeringsordnen" ! #: config/aarch64/aarch64.cc:17917 config/arm/arm.cc:3205 #: config/riscv/riscv.cc:6364 config/rs6000/rs6000.cc:4531 #, fuzzy, gcc-internal-format msgid "%qs is not a valid offset in %qs" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64.cc:17924 #, gcc-internal-format msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>" msgstr "" ! #: config/aarch64/aarch64.cc:18014 #, gcc-internal-format msgid "only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given value %d (%llu KB) is out of range" msgstr "" ! #: config/aarch64/aarch64.cc:18030 #, gcc-internal-format msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>" msgstr "" ! #: config/aarch64/aarch64.cc:18132 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing cpu name in %<-mcpu=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18139 #, fuzzy, gcc-internal-format #| msgid "unknown machine mode `%s'" msgid "invalid feature modifier %qs in %<-mcpu=%s%>" msgstr "ukendt maskintilstand '%s'" ! #: config/aarch64/aarch64.cc:18198 #, fuzzy, gcc-internal-format #| msgid "invalid arg to `__builtin_frame_address'" msgid "invalid argument given to %<-mharden-sls=%>" msgstr "ugyldig parameter til '__builtin_frame_address'" ! #: config/aarch64/aarch64.cc:18209 #, gcc-internal-format msgid "%qs must be by itself for %<-mharden-sls=%>" msgstr "" ! #: config/aarch64/aarch64.cc:18214 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "invalid argument %<%s%> for %<-mharden-sls=%>" msgstr "for mange parametre til funktionen '%s'" ! #: config/aarch64/aarch64.cc:18242 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing arch name in %<-march=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18245 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "unknown value %qs for %<-march%>" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18251 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "did you mean %<-mcpu=%s%>?" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18254 #, fuzzy, gcc-internal-format msgid "invalid feature modifier %qs in %<-march=%s%>" msgstr "et filnavn mangler efter '-%s'" ! #: config/aarch64/aarch64.cc:18282 #, fuzzy, gcc-internal-format #| msgid "missing argument to \"-%s\"" msgid "missing cpu name in %<-mtune=%s%>" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: config/aarch64/aarch64.cc:18285 #, fuzzy, gcc-internal-format #| msgid "unknown value %qs for -mtune" msgid "unknown value %qs for %<-mtune%>" msgstr "ukendt værdi %qs for -mtune" ! #: config/aarch64/aarch64.cc:18370 #, fuzzy, gcc-internal-format #| msgid "switch -mcpu=%s conflicts with -march= switch" msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch" msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march=" ! #: config/aarch64/aarch64.cc:18424 #, fuzzy, gcc-internal-format msgid "assembler does not support %<-mabi=ilp32%>" msgstr "%s understøtter ikke %s" ! #: config/aarch64/aarch64.cc:18431 #, gcc-internal-format msgid "return address signing is only supported for %<-mabi=lp64%>" msgstr "" ! #: config/aarch64/aarch64.cc:18504 #, gcc-internal-format msgid "code model %qs with %<-f%s%>" msgstr "" ! #: config/aarch64/aarch64.cc:18507 #, fuzzy, gcc-internal-format #| msgid "code model %qs not supported in x32 mode" msgid "code model %qs not supported in ilp32 mode" msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" ! #: config/aarch64/aarch64.cc:18659 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing name in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18662 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18666 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid feature modifier %s of value %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18700 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing name in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18703 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18707 config/aarch64/aarch64.cc:18813 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid feature modifier %qs of value %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18730 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing argument to % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18734 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "invalid protection type %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18768 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "invalid name %qs in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/aarch64/aarch64.cc:18809 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "missing value in % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:18867 config/aarch64/aarch64.cc:19040 #, fuzzy, gcc-internal-format #| msgid "malformed spec function name" msgid "malformed % pragma or attribute" msgstr "forkert udformet specifikationsfunktionsnavn" ! #: config/aarch64/aarch64.cc:18911 #, fuzzy, gcc-internal-format #| msgid "%s only accepts 1 argument" msgid "pragma or attribute % does not accept an argument" msgstr "%s accepterer kun 1 parameter" ! #: config/aarch64/aarch64.cc:18919 config/i386/i386-options.cc:1256 #, fuzzy, gcc-internal-format #| msgid "target system does not support the %qs debug format" msgid "pragma or attribute % does not allow a negated form" msgstr "målarkitektursystem understøtter ikke %qs-fejlsøgningsformatet" ! #: config/aarch64/aarch64.cc:18973 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "pragma or attribute % is not valid" msgstr "\"%s\" er ikke defineret" ! #: config/aarch64/aarch64.cc:19030 config/arm/arm.cc:33539 ! #: config/rs6000/rs6000.cc:24418 config/s390/s390.cc:16053 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "attribute % argument not a string" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: config/aarch64/aarch64.cc:19065 #, gcc-internal-format msgid "arch extension %<%s%> should be prefixed by %<+%>" msgstr "" ! #: config/aarch64/aarch64.cc:19068 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "pragma or attribute % is not valid" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: config/aarch64/aarch64.cc:19077 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "malformed % pragma or attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/aarch64/aarch64.cc:20557 config/arm/arm.cc:6614 #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424 msgid "parameter passing for argument of type %qT with %<[[no_unique_address]]%> members changed %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20562 config/arm/arm.cc:6619 #: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419 msgid "parameter passing for argument of type %qT when C++17 is enabled changed to match C++14 %{in GCC 10.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:20567 config/arm/arm.cc:6624 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}" msgstr "" ! #: config/aarch64/aarch64.cc:21721 config/aarch64/aarch64.cc:21724 #, fuzzy, gcc-internal-format #| msgid "line number out of range" msgid "lane %wd out of range %wd - %wd" msgstr "linjenummer er uden for det gyldige interval" ! #: config/aarch64/aarch64.cc:26985 config/i386/i386.cc:23727 ! #: config/i386/i386.cc:23858 #, fuzzy, gcc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %wd" msgstr "versionen er ikke understøttet" ! #: config/aarch64/aarch64.cc:26997 config/aarch64/aarch64.cc:27026 #, gcc-internal-format msgid "GCC does not currently support mixed size types for % functions" msgstr "" ! #: config/aarch64/aarch64.cc:27001 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "GCC does not currently support return type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27005 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported return type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27030 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "GCC does not currently support argument type %qT for % functions" msgstr "ubenyttede parametre i formatering med $" ! #: config/aarch64/aarch64.cc:27056 #, fuzzy, gcc-internal-format #| msgid "The -shared option is not currently supported for VAX ELF." msgid "GCC does not currently support simdlen %wd for type %qT" *************** msgstr "L%d-mellemlagersventetid ukendt *** 40795,40801 **** msgid "bad value %qs for %<-mmemory-latency%>" msgstr "ugyldig værdi '%s' for -mmemory-latency" ! #: config/alpha/alpha.cc:6652 config/alpha/alpha.cc:6655 #: config/arc/arc.cc:7099 config/arc/arc.cc:7373 config/s390/s390.cc:949 #, gcc-internal-format msgid "bad builtin fcode" --- 40807,40813 ---- msgid "bad value %qs for %<-mmemory-latency%>" msgstr "ugyldig værdi '%s' for -mmemory-latency" ! #: config/alpha/alpha.cc:6657 config/alpha/alpha.cc:6660 #: config/arc/arc.cc:7099 config/arc/arc.cc:7373 config/s390/s390.cc:949 #, gcc-internal-format msgid "bad builtin fcode" *************** msgid "argument of %qE attribute is not *** 40926,40942 **** msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" #: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425 ! #: config/arm/arm.cc:7606 config/avr/avr.cc:9588 config/avr/avr.cc:9604 #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 ! #: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3383 ! #: config/i386/i386-options.cc:3560 config/i386/i386-options.cc:3616 ! #: config/i386/i386-options.cc:3667 config/i386/i386-options.cc:3704 #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 #: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 ! #: config/rs6000/rs6000.cc:20371 config/rx/rx.cc:2727 config/rx/rx.cc:2753 #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 --- 40938,40954 ---- msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" #: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425 ! #: config/arm/arm.cc:7606 config/avr/avr.cc:10178 config/avr/avr.cc:10194 #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785 #: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486 #: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:333 ! #: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3389 ! #: config/i386/i386-options.cc:3566 config/i386/i386-options.cc:3622 ! #: config/i386/i386-options.cc:3673 config/i386/i386-options.cc:3710 #: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067 #: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3994 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889 ! #: config/rs6000/rs6000.cc:20372 config/rx/rx.cc:2727 config/rx/rx.cc:2753 #: config/s390/s390.cc:1164 config/s390/s390.cc:1251 config/sh/sh.cc:8429 #: config/sh/sh.cc:8447 config/sh/sh.cc:8471 config/sh/sh.cc:8542 #: config/sh/sh.cc:8565 config/stormy16/stormy16.cc:2229 *************** msgid "argument of %qE attribute is miss *** 41070,41076 **** msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" #: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309 ! #: config/avr/avr.cc:9660 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute allows only an integer constant argument" --- 41082,41088 ---- msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" #: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309 ! #: config/avr/avr.cc:10250 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute allows only an integer constant argument" *************** msgstr "egenskaben '%s' kan kun anvendes *** 41094,41119 **** msgid "argument of %qE attribute ignored" msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" ! #: config/arc/arc.cc:11299 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817 #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only applies to variables" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/arm/aarch-common.cc:551 config/i386/i386.cc:22544 #, fuzzy, gcc-internal-format #| msgid "Statement at %0 invalid in this context" msgid "alternatives not allowed in % flag output" msgstr "Sætning ved %0 er ugyldig i denne kontekst" ! #: config/arm/aarch-common.cc:612 config/i386/i386.cc:22608 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown % flag output %qs" msgstr "ukendt registernavn: %s" ! #: config/arm/aarch-common.cc:622 config/i386/i386.cc:22637 #, fuzzy, gcc-internal-format #| msgid "invalid type for make function" msgid "invalid type for % flag output" --- 41106,41131 ---- msgid "argument of %qE attribute ignored" msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" ! #: config/arc/arc.cc:11299 config/avr/avr.cc:10237 config/bfin/bfin.cc:4817 #: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only applies to variables" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/arm/aarch-common.cc:551 config/i386/i386.cc:22561 #, fuzzy, gcc-internal-format #| msgid "Statement at %0 invalid in this context" msgid "alternatives not allowed in % flag output" msgstr "Sætning ved %0 er ugyldig i denne kontekst" ! #: config/arm/aarch-common.cc:612 config/i386/i386.cc:22625 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown % flag output %qs" msgstr "ukendt registernavn: %s" ! #: config/arm/aarch-common.cc:622 config/i386/i386.cc:22654 #, fuzzy, gcc-internal-format #| msgid "invalid type for make function" msgid "invalid type for % flag output" *************** msgstr "Kendte MCU-arkitekturer:" *** 41677,41890 **** #. happen as options are provided by device-specs. It could be a #. typo in a device-specs or calling the compiler proper directly #. with -mmcu=. ! #: config/avr/avr.cc:711 #, fuzzy, gcc-internal-format #| msgid "Tune alignment for the specified chip or CPU version" msgid "unknown core architecture %qs specified with %qs" msgstr "Finjustér justering til en given chip- eller processorversion" ! #: config/avr/avr.cc:760 config/pru/pru.cc:601 config/visium/visium.cc:422 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpic%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:762 config/pru/pru.cc:603 config/visium/visium.cc:424 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIC%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:764 config/pru/pru.cc:605 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpie%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:766 config/pru/pru.cc:607 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIE%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6634 #, fuzzy, gcc-internal-format #| msgid "-traditional and -ansi are mutually exclusive" msgid "function attributes %qs and %qs are mutually exclusive" msgstr "-traditional og -ansi er indbyrdes uforenelige" ! #: config/avr/avr.cc:1076 config/riscv/riscv.cc:6646 #, fuzzy, gcc-internal-format #| msgid "`-%c' option must have argument" msgid "%qs function cannot have arguments" msgstr "tilvalget '-%c' skal have en parameter" ! #: config/avr/avr.cc:1079 config/riscv/riscv.cc:6643 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "%qs function cannot return a value" msgstr "funktion kan ikke indbygges" ! #: config/avr/avr.cc:1093 #, gcc-internal-format msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" msgstr "" ! #: config/avr/avr.cc:1106 #, gcc-internal-format msgid "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" msgstr "" ! #: config/avr/avr.cc:1323 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.cc:2748 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.cc:2887 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.cc:2948 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.cc:3304 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Number of registers used to pass integer arguments" msgid "fixed register %s used to pass parameter to function" msgstr "Antallet af registre der skal bruges til at overbringe heltalsparametre" ! #: config/avr/avr.cc:3569 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.cc:9623 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only applies to variables in static storage" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/avr/avr.cc:9630 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "sektionsegenskaber understøttes ikke på denne målarkitektur" ! #: config/avr/avr.cc:9670 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute does not apply to types" msgid "%qE attribute address out of range" msgstr "egenskaben '%s' kan ikke anvendes på typer" ! #: config/avr/avr.cc:9684 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.cc:9694 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute on non-volatile variable" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/avr/avr.cc:9766 #, fuzzy, gcc-internal-format #| msgid "inline functions not supported for this return value type" msgid "address spaces are not supported for reduced Tiny devices" msgstr "integrerede funktioner understøttes ikke for denne returværditype" ! #: config/avr/avr.cc:9773 #, fuzzy, gcc-internal-format #| msgid "code model `%s' not supported in the %s bit mode" msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand" ! #: config/avr/avr.cc:9944 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.cc:9947 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.cc:10009 #, 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.cc:10048 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10080 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10197 #, fuzzy, gcc-internal-format #| msgid "only uninitialized variables can be placed in the .noinit section" msgid "only uninitialized variables can be placed in the %<.noinit%> section" msgstr "kun variabler uden startværdi kan placeres i .noinit-sektionen" #. This might happen with C++ if stuff needs constructing. ! #: config/avr/avr.cc:10273 #, fuzzy, gcc-internal-format #| msgid "only initialized variables can be placed into program memory area" msgid "variable %q+D with dynamic initialization put into program memory area" msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet" ! #: config/avr/avr.cc:10284 #, fuzzy, gcc-internal-format #| msgid "only initialized variables can be placed into program memory area" msgid "uninitialized variable %q+D put into program memory area" msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet" ! #: config/avr/avr.cc:10370 #, fuzzy, gcc-internal-format #| msgid "`%s' incompatible attribute ignored" msgid "%q+D has incompatible attributes %qs and %qs" msgstr "uforenelig egenskab '%s' ignoreret" ! #: config/avr/avr.cc:10433 #, fuzzy, gcc-internal-format #| msgid "MCU `%s' supported for assembler only" msgid "architecture %qs supported for assembler only" msgstr "MCU '%s' understøttes kun for maskinkode" ! #: config/avr/avr.cc:13082 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.cc:14172 config/avr/avr.cc:14185 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "case label does not reduce to an integer constant" msgid "%s expects a compile time integer constant" msgstr "case-etiketten kan ikke reduceres til en heltalskonstant" ! #: config/avr/avr.cc:14199 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%s expects a compile time long integer constant as first argument" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" ! #: config/avr/avr.cc:14227 #, 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.cc:14236 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" --- 41689,41902 ---- #. happen as options are provided by device-specs. It could be a #. typo in a device-specs or calling the compiler proper directly #. with -mmcu=. ! #: config/avr/avr.cc:1050 #, fuzzy, gcc-internal-format #| msgid "Tune alignment for the specified chip or CPU version" msgid "unknown core architecture %qs specified with %qs" msgstr "Finjustér justering til en given chip- eller processorversion" ! #: config/avr/avr.cc:1099 config/pru/pru.cc:601 config/visium/visium.cc:422 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpic%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:1101 config/pru/pru.cc:603 config/visium/visium.cc:424 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIC%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:1103 config/pru/pru.cc:605 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fpie%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:1105 config/pru/pru.cc:607 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "%<-fPIE%> is not supported" msgstr "-pipe understøttes ikke" ! #: config/avr/avr.cc:1402 config/avr/avr.cc:1407 config/riscv/riscv.cc:6634 #, fuzzy, gcc-internal-format #| msgid "-traditional and -ansi are mutually exclusive" msgid "function attributes %qs and %qs are mutually exclusive" msgstr "-traditional og -ansi er indbyrdes uforenelige" ! #: config/avr/avr.cc:1428 config/riscv/riscv.cc:6646 #, fuzzy, gcc-internal-format #| msgid "`-%c' option must have argument" msgid "%qs function cannot have arguments" msgstr "tilvalget '-%c' skal have en parameter" ! #: config/avr/avr.cc:1431 config/riscv/riscv.cc:6643 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "%qs function cannot return a value" msgstr "funktion kan ikke indbygges" ! #: config/avr/avr.cc:1445 #, gcc-internal-format msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" msgstr "" ! #: config/avr/avr.cc:1458 #, gcc-internal-format msgid "%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro" msgstr "" ! #: config/avr/avr.cc:1675 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.cc:3100 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.cc:3239 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.cc:3300 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.cc:3634 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Number of registers used to pass integer arguments" msgid "fixed register %s used to pass parameter to function" msgstr "Antallet af registre der skal bruges til at overbringe heltalsparametre" ! #: config/avr/avr.cc:3899 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.cc:10213 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only applies to variables in static storage" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/avr/avr.cc:10220 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "sektionsegenskaber understøttes ikke på denne målarkitektur" ! #: config/avr/avr.cc:10260 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute does not apply to types" msgid "%qE attribute address out of range" msgstr "egenskaben '%s' kan ikke anvendes på typer" ! #: config/avr/avr.cc:10274 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.cc:10284 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute on non-volatile variable" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/avr/avr.cc:10356 #, fuzzy, gcc-internal-format #| msgid "inline functions not supported for this return value type" msgid "address spaces are not supported for reduced Tiny devices" msgstr "integrerede funktioner understøttes ikke for denne returværditype" ! #: config/avr/avr.cc:10363 #, fuzzy, gcc-internal-format #| msgid "code model `%s' not supported in the %s bit mode" msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand" ! #: config/avr/avr.cc:10534 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.cc:10537 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.cc:10599 #, 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.cc:10638 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10670 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.cc:10787 #, fuzzy, gcc-internal-format #| msgid "only uninitialized variables can be placed in the .noinit section" msgid "only uninitialized variables can be placed in the %<.noinit%> section" msgstr "kun variabler uden startværdi kan placeres i .noinit-sektionen" #. This might happen with C++ if stuff needs constructing. ! #: config/avr/avr.cc:10863 #, fuzzy, gcc-internal-format #| msgid "only initialized variables can be placed into program memory area" msgid "variable %q+D with dynamic initialization put into program memory area" msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet" ! #: config/avr/avr.cc:10874 #, fuzzy, gcc-internal-format #| msgid "only initialized variables can be placed into program memory area" msgid "uninitialized variable %q+D put into program memory area" msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet" ! #: config/avr/avr.cc:10960 #, fuzzy, gcc-internal-format #| msgid "`%s' incompatible attribute ignored" msgid "%q+D has incompatible attributes %qs and %qs" msgstr "uforenelig egenskab '%s' ignoreret" ! #: config/avr/avr.cc:11023 #, fuzzy, gcc-internal-format #| msgid "MCU `%s' supported for assembler only" msgid "architecture %qs supported for assembler only" msgstr "MCU '%s' understøttes kun for maskinkode" ! #: config/avr/avr.cc:13513 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.cc:14603 config/avr/avr.cc:14616 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "case label does not reduce to an integer constant" msgid "%s expects a compile time integer constant" msgstr "case-etiketten kan ikke reduceres til en heltalskonstant" ! #: config/avr/avr.cc:14630 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%s expects a compile time long integer constant as first argument" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" ! #: config/avr/avr.cc:14658 #, 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.cc:14667 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" *************** msgstr "DW_LOC_OP %s understøttes ikke\ *** 42387,42414 **** msgid "unsupported simdlen %wd (amdgcn)" msgstr "versionen er ikke understøttet" ! #: config/gcn/gcn.cc:5987 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:5988 #, gcc-internal-format msgid "using %, ignoring runtime setting" msgstr "" ! #: config/gcn/gcn.cc:6000 config/nvptx/nvptx.cc:6568 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:6027 config/gcn/gcn.cc:6056 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "operand number out of range" msgid "offload dimension out of range (%d)" msgstr "operandtal er uden for det gyldige interval" ! #: config/gcn/gcn.cc:6505 #, gcc-internal-format msgid "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)" msgstr "" --- 42399,42426 ---- msgid "unsupported simdlen %wd (amdgcn)" msgstr "versionen er ikke understøttet" ! #: config/gcn/gcn.cc:5996 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:5997 #, gcc-internal-format msgid "using %, ignoring runtime setting" msgstr "" ! #: config/gcn/gcn.cc:6009 config/nvptx/nvptx.cc:6568 #, gcc-internal-format msgid "using %, ignoring %d" msgstr "" ! #: config/gcn/gcn.cc:6036 config/gcn/gcn.cc:6065 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "operand number out of range" msgid "offload dimension out of range (%d)" msgstr "operandtal er uden for det gyldige interval" ! #: config/gcn/gcn.cc:6514 #, gcc-internal-format msgid "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)" msgstr "" *************** msgstr "" *** 42418,42430 **** msgid "deleting file %s: %m" msgstr "åbner uddatafilen %s" ! #: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:492 #, fuzzy, gcc-internal-format #| msgid "environment variable DJGPP not defined" msgid "environment variable COLLECT_GCC_OPTIONS must be set" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:549 #, gcc-internal-format msgid "COLLECT_GCC must be set." msgstr "" --- 42430,42442 ---- msgid "deleting file %s: %m" msgstr "åbner uddatafilen %s" ! #: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:506 #, fuzzy, gcc-internal-format #| msgid "environment variable DJGPP not defined" msgid "environment variable COLLECT_GCC_OPTIONS must be set" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:563 #, gcc-internal-format msgid "COLLECT_GCC must be set." msgstr "" *************** msgstr "" *** 42435,42441 **** msgid "offload compiler %s not found" msgstr "feltet '%s' ikke fundet" ! #: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:620 #, fuzzy, gcc-internal-format msgid "unrecognizable argument of option " msgstr "ignorerer kommandolinjetilvalget '%s'" --- 42447,42453 ---- msgid "offload compiler %s not found" msgstr "feltet '%s' ikke fundet" ! #: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:634 #, fuzzy, gcc-internal-format msgid "unrecognizable argument of option " msgstr "ignorerer kommandolinjetilvalget '%s'" *************** msgid "either -fopenacc or -fopenmp must *** 42446,42463 **** msgstr "" #: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1143 ! #: config/nvptx/mkoffload.cc:684 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "cannot open '%s'" msgstr "kan ikke åbne %s" ! #: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:730 #, fuzzy, gcc-internal-format #| msgid "cannot open profile file %s" msgid "cannot open omp_requires file %qs" msgstr "kan ikke åben profilefilen %s" ! #: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:734 #, fuzzy, gcc-internal-format msgid "cannot read omp_requires file %qs" msgstr "kan ikke udfolde %s" --- 42458,42475 ---- msgstr "" #: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1143 ! #: config/nvptx/mkoffload.cc:698 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "cannot open '%s'" msgstr "kan ikke åbne %s" ! #: config/gcn/mkoffload.cc:1129 config/nvptx/mkoffload.cc:744 #, fuzzy, gcc-internal-format #| msgid "cannot open profile file %s" msgid "cannot open omp_requires file %qs" msgstr "kan ikke åben profilefilen %s" ! #: config/gcn/mkoffload.cc:1133 config/nvptx/mkoffload.cc:748 #, fuzzy, gcc-internal-format msgid "cannot read omp_requires file %qs" msgstr "kan ikke udfolde %s" *************** msgstr "ukorrekt instruktion:" *** 42735,42759 **** msgid "the argument to % intrinsic must be an 8-bit immediate" msgstr "1. parameter skal være en 5 bit-konstant med fortegn" ! #: config/i386/i386-features.cc:3265 #, gcc-internal-format msgid "function versions cannot be marked as %, bodies have to be generated" msgstr "" ! #: config/i386/i386-features.cc:3270 config/i386/i386-features.cc:3539 #, fuzzy, gcc-internal-format #| msgid "stack limit expression is not supported" msgid "virtual function multiversioning not supported" msgstr "stakgrænseudtryk understøttes ikke" ! #: config/i386/i386-features.cc:3403 config/rs6000/rs6000.cc:25115 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "multiversioning needs % which is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2125 ! #: config/i386/i386-options.cc:2134 #, gcc-internal-format, gfc-internal-format msgid "code model %s does not support PIC mode" msgstr "kodemodellen %s understøtter ikke PIC-tilstand" --- 42747,42771 ---- msgid "the argument to % intrinsic must be an 8-bit immediate" msgstr "1. parameter skal være en 5 bit-konstant med fortegn" ! #: config/i386/i386-features.cc:3222 #, gcc-internal-format msgid "function versions cannot be marked as %, bodies have to be generated" msgstr "" ! #: config/i386/i386-features.cc:3227 config/i386/i386-features.cc:3496 #, fuzzy, gcc-internal-format #| msgid "stack limit expression is not supported" msgid "virtual function multiversioning not supported" msgstr "stakgrænseudtryk understøttes ikke" ! #: config/i386/i386-features.cc:3360 config/rs6000/rs6000.cc:25116 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "multiversioning needs % which is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: config/i386/i386-options.cc:888 config/i386/i386-options.cc:2129 ! #: config/i386/i386-options.cc:2138 #, gcc-internal-format, gfc-internal-format msgid "code model %s does not support PIC mode" msgstr "kodemodellen %s understøtter ikke PIC-tilstand" *************** msgstr "" *** 42780,43327 **** msgid "attribute value %qs is unknown in %qs attribute" msgstr "dataområdet '%s' er i modstrid med tidligere erklæring" ! #: config/i386/i386-options.cc:1608 #, gcc-internal-format msgid "wrong argument %qs to option %qs" msgstr "forkert parameter %qs for tilvalget %qs" ! #: config/i386/i386-options.cc:1614 #, gcc-internal-format msgid "size ranges of option %qs should be increasing" msgstr "" ! #: config/i386/i386-options.cc:1624 #, gcc-internal-format msgid "wrong strategy name %qs specified for option %qs" msgstr "forkert strateginavn %qs er angivet for tilvalget %qs" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:1650 #, gcc-internal-format msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:1663 #, gcc-internal-format msgid "unknown alignment %qs specified for option %qs" msgstr "ukendt justering %qs angivet for tilvalget %qs" ! #: config/i386/i386-options.cc:1673 #, gcc-internal-format msgid "the max value for the last size range should be -1 for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1680 #, fuzzy, gcc-internal-format msgid "too many size ranges specified in option %qs" msgstr "intet klassenavn angivet med '-%s'" ! #: config/i386/i386-options.cc:1733 #, fuzzy, gcc-internal-format msgid "unknown parameter to option %<-mtune-ctrl%>: %s" msgstr "Ukendt processor: -mcpu=%s" ! #: config/i386/i386-options.cc:1947 #, fuzzy, gcc-internal-format msgid "Intel MCU psABI isn%'t supported in %s mode" msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" ! #: config/i386/i386-options.cc:2001 #, fuzzy, gcc-internal-format msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" ! #: config/i386/i386-options.cc:2003 #, fuzzy, gcc-internal-format msgid "% is deprecated; use % or % instead as appropriate" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:2031 #, fuzzy, gcc-internal-format #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:2036 #, fuzzy, gcc-internal-format #| msgid "-mcmodel= is not supported on 32 bit systems" msgid "%<-muintr%> not supported for 32-bit code" msgstr "-mcmodel= understøttes ikke på 32 bit-systemer" ! #: config/i386/i386-options.cc:2039 #, fuzzy, gcc-internal-format #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:2054 #, gcc-internal-format msgid "address mode %qs not supported in the %s bit mode" msgstr "adressetilstanden %qs er ikke understøttet i %s bit-tilstand" ! #: config/i386/i386-options.cc:2065 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=ms%> not supported with X32 ABI" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2071 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2074 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2078 #, fuzzy, gcc-internal-format #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:2095 config/i386/i386-options.cc:2104 ! #: config/i386/i386-options.cc:2116 config/i386/i386-options.cc:2127 ! #: config/i386/i386-options.cc:2138 #, gcc-internal-format msgid "code model %qs not supported in the %s bit mode" msgstr "kodemodellen %qs er ikke understøttet i %s bit-tilstand" ! #: config/i386/i386-options.cc:2107 config/i386/i386-options.cc:2119 #, gcc-internal-format msgid "code model %qs not supported in x32 mode" msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" ! #: config/i386/i386-options.cc:2162 #, fuzzy, gcc-internal-format #| msgid "-masm=intel not supported in this configuration" msgid "%<-masm=intel%> not supported in this configuration" msgstr "-masm=intel understøttes ikke af denne konfiguration" ! #: config/i386/i386-options.cc:2167 #, gcc-internal-format, gfc-internal-format msgid "%i-bit mode not compiled in" msgstr "%i bit-tilstand er ikke oversat med ind" ! #: config/i386/i386-options.cc:2179 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2181 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2188 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2190 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2198 config/i386/i386-options.cc:2330 #, gcc-internal-format msgid "CPU you selected does not support x86-64 instruction set" msgstr "den valgte processor understøtter ikke x86-64-instruktionssættet" ! #: config/i386/i386-options.cc:2269 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "bad value %qs for %<-march=%> switch" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/i386/i386-options.cc:2270 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "bad value %qs for % attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/i386/i386-options.cc:2292 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2294 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2299 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-march=%> switch are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2300 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2349 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "bad value %qs for %<-mtune=%> switch" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/i386/i386-options.cc:2350 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "bad value %qs for % attribute" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/i386/i386-options.cc:2371 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2373 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2378 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-mtune=%> switch are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2379 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2403 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "%<-mregparm%> is ignored in 64-bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2405 #, gcc-internal-format msgid "%<-mregparm%> is ignored for Intel MCU psABI" msgstr "" ! #: config/i386/i386-options.cc:2408 #, fuzzy, gcc-internal-format #| msgid "-mregparm=%d is not between 0 and %d" msgid "%<-mregparm=%d%> is not between 0 and %d" msgstr "-mregparm=%d er ikke mellem 0 og %d" ! #: config/i386/i386-options.cc:2431 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-m96bit-long-double%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2436 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "%<-mrtd%> is ignored in 64bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2437 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "% is ignored in 64bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2526 #, fuzzy, gcc-internal-format #| msgid "-fprefetch-loop-arrays not supported for this target" msgid "%<-mpreferred-stack-boundary%> is not supported for this target" msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen" ! #: config/i386/i386-options.cc:2529 #, fuzzy, gcc-internal-format #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" ! #: config/i386/i386-options.cc:2552 #, fuzzy, gcc-internal-format #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" ! #: config/i386/i386-options.cc:2565 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mnop-mcount%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2568 #, fuzzy, gcc-internal-format msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" msgstr "profilering understøttes ikke endnu" ! #: config/i386/i386-options.cc:2574 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2575 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2585 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger" ! #: config/i386/i386-options.cc:2592 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger" ! #: config/i386/i386-options.cc:2642 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386-options.cc:2644 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386-options.cc:2658 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386-options.cc:2660 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386-options.cc:2720 #, gcc-internal-format msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" msgstr "" ! #: config/i386/i386-options.cc:2723 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mno-fentry%> isn%'t compatible with SEH" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2727 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2841 #, fuzzy, gcc-internal-format #| msgid "Unknown cpu: -mcpu=%s" msgid "unknown option for %<-mrecip=%s%>" msgstr "Ukendt processor: -mcpu=%s" ! #: config/i386/i386-options.cc:2900 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2905 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2933 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2981 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-fcf-protection%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:3117 #, fuzzy, gcc-internal-format #| msgid "stdcall and cdecl attributes are not compatible" msgid "interrupt and naked attributes are not compatible" msgstr "stdcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3132 #, gcc-internal-format msgid "only DWARF debug format is supported for interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3181 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3191 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3226 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3236 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3343 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in an exception service routine" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3345 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in an interrupt service routine" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3349 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in a function with the % attribute" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3396 config/i386/i386-options.cc:3447 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "fastcall og regparm er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3401 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "regparam og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3408 config/i386/i386-options.cc:3636 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "%qE-egenskaben kræver en heltalskonstant som parameter" ! #: config/i386/i386-options.cc:3414 #, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "parameter til %qE-egenskaben er større end %d" ! #: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3482 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "fastcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3443 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "fastcall og stdcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3451 config/i386/i386-options.cc:3500 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "fastcall og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3461 config/i386/i386-options.cc:3478 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "stdcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3465 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "stdcall og fastcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3469 config/i386/i386-options.cc:3496 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "stdcall og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3486 config/i386/i386-options.cc:3504 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "cdecl og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3492 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "%qE-egenskaben bruges til ikke-klasse metode" ! #: config/i386/i386-options.cc:3596 config/rs6000/rs6000.cc:20484 #, fuzzy, gcc-internal-format #| msgid "`%s' incompatible attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "uforenelig egenskab '%s' ignoreret" ! #: config/i386/i386-options.cc:3623 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only available for 32-bit" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/i386/i386-options.cc:3644 #, fuzzy, gcc-internal-format #| msgid "argument of `%s' attribute is not a string constant" msgid "argument to %qE attribute is neither zero, nor one" msgstr "parameteren til egenskaben '%s er ikke en strengkonstant" ! #: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3688 #, fuzzy, gcc-internal-format #| msgid "fastcall and stdcall attributes are not compatible" msgid "%qs and %qs attributes are not compatible" msgstr "fastcall og stdcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3715 config/i386/i386-options.cc:3737 #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 #, gcc-internal-format msgid "%qE attribute requires a string constant argument" msgstr "%qE-egenskaben kræver et strengkonstant som parameter" ! #: config/i386/i386-options.cc:3725 config/i386/i386-options.cc:3747 #: config/s390/s390.cc:1290 #, fuzzy, gcc-internal-format #| msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\"" msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" ! #: config/i386/i386-options.cc:3779 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386-options.cc:3786 #, fuzzy, gcc-internal-format #| msgid "interrupt Service Routines cannot be coded in Thumb mode" msgid "interrupt service routine should have %qs as the second argument" msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" ! #: config/i386/i386-options.cc:3797 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386-options.cc:3800 #, fuzzy, gcc-internal-format #| msgid "interrupt Service Routines cannot be coded in Thumb mode" msgid "interrupt service routine must return %" --- 42792,43339 ---- msgid "attribute value %qs is unknown in %qs attribute" msgstr "dataområdet '%s' er i modstrid med tidligere erklæring" ! #: config/i386/i386-options.cc:1612 #, gcc-internal-format msgid "wrong argument %qs to option %qs" msgstr "forkert parameter %qs for tilvalget %qs" ! #: config/i386/i386-options.cc:1618 #, gcc-internal-format msgid "size ranges of option %qs should be increasing" msgstr "" ! #: config/i386/i386-options.cc:1628 #, gcc-internal-format msgid "wrong strategy name %qs specified for option %qs" msgstr "forkert strateginavn %qs er angivet for tilvalget %qs" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:1654 #, gcc-internal-format msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:1667 #, gcc-internal-format msgid "unknown alignment %qs specified for option %qs" msgstr "ukendt justering %qs angivet for tilvalget %qs" ! #: config/i386/i386-options.cc:1677 #, gcc-internal-format msgid "the max value for the last size range should be -1 for option %qs" msgstr "" ! #: config/i386/i386-options.cc:1684 #, fuzzy, gcc-internal-format msgid "too many size ranges specified in option %qs" msgstr "intet klassenavn angivet med '-%s'" ! #: config/i386/i386-options.cc:1737 #, fuzzy, gcc-internal-format msgid "unknown parameter to option %<-mtune-ctrl%>: %s" msgstr "Ukendt processor: -mcpu=%s" ! #: config/i386/i386-options.cc:1951 #, fuzzy, gcc-internal-format msgid "Intel MCU psABI isn%'t supported in %s mode" msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand" ! #: config/i386/i386-options.cc:2005 #, fuzzy, gcc-internal-format msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" ! #: config/i386/i386-options.cc:2007 #, fuzzy, gcc-internal-format msgid "% is deprecated; use % or % instead as appropriate" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" #. rep; movq isn't available in 32-bit code. ! #: config/i386/i386-options.cc:2035 #, fuzzy, gcc-internal-format #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:2040 #, fuzzy, gcc-internal-format #| msgid "-mcmodel= is not supported on 32 bit systems" msgid "%<-muintr%> not supported for 32-bit code" msgstr "-mcmodel= understøttes ikke på 32 bit-systemer" ! #: config/i386/i386-options.cc:2043 #, fuzzy, gcc-internal-format #| msgid "strategy name %qs specified for option %qs not supported for 32-bit code" msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code" msgstr "strateginavnet %qs angivet for tilvalget %qs er ikke understøttet for 32-bit kode" ! #: config/i386/i386-options.cc:2058 #, gcc-internal-format msgid "address mode %qs not supported in the %s bit mode" msgstr "adressetilstanden %qs er ikke understøttet i %s bit-tilstand" ! #: config/i386/i386-options.cc:2069 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=ms%> not supported with X32 ABI" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2075 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2078 #, fuzzy, gcc-internal-format #| msgid "-traditional is not supported in C++" msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>" msgstr "-traditional understøttes ikke i C++" ! #: config/i386/i386-options.cc:2082 #, fuzzy, gcc-internal-format #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>" msgstr "-mapcs-stack-check og -mno-apcs-frame er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:2099 config/i386/i386-options.cc:2108 ! #: config/i386/i386-options.cc:2120 config/i386/i386-options.cc:2131 ! #: config/i386/i386-options.cc:2142 #, gcc-internal-format msgid "code model %qs not supported in the %s bit mode" msgstr "kodemodellen %qs er ikke understøttet i %s bit-tilstand" ! #: config/i386/i386-options.cc:2111 config/i386/i386-options.cc:2123 #, gcc-internal-format msgid "code model %qs not supported in x32 mode" msgstr "kodemodellen %qs er ikke understøttet i x32-tilstand" ! #: config/i386/i386-options.cc:2166 #, fuzzy, gcc-internal-format #| msgid "-masm=intel not supported in this configuration" msgid "%<-masm=intel%> not supported in this configuration" msgstr "-masm=intel understøttes ikke af denne konfiguration" ! #: config/i386/i386-options.cc:2171 #, gcc-internal-format, gfc-internal-format msgid "%i-bit mode not compiled in" msgstr "%i bit-tilstand er ikke oversat med ind" ! #: config/i386/i386-options.cc:2183 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2185 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2192 #, gcc-internal-format msgid "% CPU can be used only for %<-mtune=%> switch" msgstr "" ! #: config/i386/i386-options.cc:2194 #, gcc-internal-format msgid "% CPU can be used only for % attribute" msgstr "" ! #: config/i386/i386-options.cc:2202 config/i386/i386-options.cc:2334 #, gcc-internal-format msgid "CPU you selected does not support x86-64 instruction set" msgstr "den valgte processor understøtter ikke x86-64-instruktionssættet" ! #: config/i386/i386-options.cc:2273 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "bad value %qs for %<-march=%> switch" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/i386/i386-options.cc:2274 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -march= switch" msgid "bad value %qs for % attribute" msgstr "ugyldig værdi (%s) til tilvalget -march=" ! #: config/i386/i386-options.cc:2296 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2298 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2303 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-march=%> switch are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2304 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2353 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "bad value %qs for %<-mtune=%> switch" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/i386/i386-options.cc:2354 #, fuzzy, gcc-internal-format #| msgid "bad value (%s) for -mtune= switch" msgid "bad value %qs for % attribute" msgstr "ugyldig værdi (%s) til tilvalget -mcpu=" ! #: config/i386/i386-options.cc:2375 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2377 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s; did you mean %qs?" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2382 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to %<-mtune=%> switch are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2383 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "valid arguments to % attribute are: %s" msgstr "ugyldig parameter til egenskaben '%s'" ! #: config/i386/i386-options.cc:2407 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "%<-mregparm%> is ignored in 64-bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2409 #, gcc-internal-format msgid "%<-mregparm%> is ignored for Intel MCU psABI" msgstr "" ! #: config/i386/i386-options.cc:2412 #, fuzzy, gcc-internal-format #| msgid "-mregparm=%d is not between 0 and %d" msgid "%<-mregparm=%d%> is not between 0 and %d" msgstr "-mregparm=%d er ikke mellem 0 og %d" ! #: config/i386/i386-options.cc:2435 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-m96bit-long-double%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2440 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "%<-mrtd%> is ignored in 64bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2441 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "% is ignored in 64bit mode" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: config/i386/i386-options.cc:2530 #, fuzzy, gcc-internal-format #| msgid "-fprefetch-loop-arrays not supported for this target" msgid "%<-mpreferred-stack-boundary%> is not supported for this target" msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen" ! #: config/i386/i386-options.cc:2533 #, fuzzy, gcc-internal-format #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d" msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" ! #: config/i386/i386-options.cc:2556 #, fuzzy, gcc-internal-format #| msgid "-mpreferred-stack-boundary=%d is not between %d and 12" msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12" msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12" ! #: config/i386/i386-options.cc:2569 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mnop-mcount%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2572 #, fuzzy, gcc-internal-format msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>" msgstr "profilering understøttes ikke endnu" ! #: config/i386/i386-options.cc:2578 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2579 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386-options.cc:2589 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger" ! #: config/i386/i386-options.cc:2596 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger" ! #: config/i386/i386-options.cc:2646 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386-options.cc:2648 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386-options.cc:2662 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386-options.cc:2664 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386-options.cc:2724 #, gcc-internal-format msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>" msgstr "" ! #: config/i386/i386-options.cc:2727 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mno-fentry%> isn%'t compatible with SEH" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2731 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:2847 #, fuzzy, gcc-internal-format #| msgid "Unknown cpu: -mcpu=%s" msgid "unknown option for %<-mrecip=%s%>" msgstr "Ukendt processor: -mcpu=%s" ! #: config/i386/i386-options.cc:2906 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2911 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2939 #, fuzzy, gcc-internal-format #| msgid "%qs is not a valid option to the preprocessor" msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>" msgstr "%qs er ikke et gyldigt tilvalg til præprocessoren" ! #: config/i386/i386-options.cc:2987 #, fuzzy, gcc-internal-format #| msgid "-march=%s is not compatible with the selected ABI" msgid "%<-fcf-protection%> is not compatible with this target" msgstr "-march=%s er ikke forenelig med den valgte ABI" ! #: config/i386/i386-options.cc:3123 #, fuzzy, gcc-internal-format #| msgid "stdcall and cdecl attributes are not compatible" msgid "interrupt and naked attributes are not compatible" msgstr "stdcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3138 #, gcc-internal-format msgid "only DWARF debug format is supported for interrupt service routine" msgstr "" ! #: config/i386/i386-options.cc:3187 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3197 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3232 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3242 #, fuzzy, gcc-internal-format #| msgid "-msdata=%s and -mcall-%s are incompatible" msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible" msgstr "-msdata=%s og -mcall-%s er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3349 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in an exception service routine" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3351 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in an interrupt service routine" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3355 #, fuzzy, gcc-internal-format #| msgid "%s instructions aren't allowed in %s service routine" msgid "%s instructions aren%'t allowed in a function with the % attribute" msgstr "%s-instruktioner er ikke tilladt i %s-tjenesterutinen" ! #: config/i386/i386-options.cc:3402 config/i386/i386-options.cc:3453 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "fastcall og regparm er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3407 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "regparam og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3414 config/i386/i386-options.cc:3642 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "%qE-egenskaben kræver en heltalskonstant som parameter" ! #: config/i386/i386-options.cc:3420 #, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "parameter til %qE-egenskaben er større end %d" ! #: config/i386/i386-options.cc:3445 config/i386/i386-options.cc:3488 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "fastcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3449 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "fastcall og stdcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3457 config/i386/i386-options.cc:3506 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "fastcall og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3484 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "stdcall og cdecl er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3471 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "stdcall og fastcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3475 config/i386/i386-options.cc:3502 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "stdcall og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3492 config/i386/i386-options.cc:3510 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "cdecl og thiscall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3498 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "%qE-egenskaben bruges til ikke-klasse metode" ! #: config/i386/i386-options.cc:3602 config/rs6000/rs6000.cc:20485 #, fuzzy, gcc-internal-format #| msgid "`%s' incompatible attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "uforenelig egenskab '%s' ignoreret" ! #: config/i386/i386-options.cc:3629 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "%qE attribute only available for 32-bit" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: config/i386/i386-options.cc:3650 #, fuzzy, gcc-internal-format #| msgid "argument of `%s' attribute is not a string constant" msgid "argument to %qE attribute is neither zero, nor one" msgstr "parameteren til egenskaben '%s er ikke en strengkonstant" ! #: config/i386/i386-options.cc:3684 config/i386/i386-options.cc:3694 #, fuzzy, gcc-internal-format #| msgid "fastcall and stdcall attributes are not compatible" msgid "%qs and %qs attributes are not compatible" msgstr "fastcall og stdcall er indbyrdes uforenelige" ! #: config/i386/i386-options.cc:3721 config/i386/i386-options.cc:3743 #: config/ia64/ia64.cc:812 config/s390/s390.cc:1261 #, gcc-internal-format msgid "%qE attribute requires a string constant argument" msgstr "%qE-egenskaben kræver et strengkonstant som parameter" ! #: config/i386/i386-options.cc:3731 config/i386/i386-options.cc:3753 #: config/s390/s390.cc:1290 #, fuzzy, gcc-internal-format #| msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\"" msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\"" ! #: config/i386/i386-options.cc:3785 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386-options.cc:3792 #, fuzzy, gcc-internal-format #| msgid "interrupt Service Routines cannot be coded in Thumb mode" msgid "interrupt service routine should have %qs as the second argument" msgstr "afbrydelsesservicerutiner kan ikke kodes i Thumb-tilstand" ! #: config/i386/i386-options.cc:3803 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386-options.cc:3806 #, fuzzy, gcc-internal-format #| msgid "interrupt Service Routines cannot be coded in Thumb mode" msgid "interrupt service routine must return %" *************** msgstr "ugyldig operandtype brugt med op *** 43520,43563 **** msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" msgstr "tildeling (ikke klargøring) i erklæring" ! #: config/i386/i386.cc:21736 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" msgstr "" ! #: config/i386/i386.cc:21832 #, gcc-internal-format msgid "profiling %<-mcmodel=large%> with PIC is not supported" msgstr "" ! #: config/i386/i386.cc:23669 #, fuzzy, gcc-internal-format #| msgid "Tune alignment for the specified chip or CPU version" msgid "unknown architecture specific memory model" msgstr "Finjustér justering til en given chip- eller processorversion" ! #: config/i386/i386.cc:23676 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23683 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23732 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported return type %qT for simd" msgstr "ubenyttede parametre i formatering med $" ! #: config/i386/i386.cc:23763 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported argument type %qT for simd" msgstr "ubenyttede parametre i formatering med $" ! #: config/i386/i386.cc:24309 #, fuzzy, gcc-internal-format #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" --- 43532,43580 ---- msgid "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)" msgstr "tildeling (ikke klargøring) i erklæring" ! #: config/i386/i386.cc:21724 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}" msgstr "" ! #: config/i386/i386.cc:21820 #, gcc-internal-format msgid "profiling %<-mcmodel=large%> with PIC is not supported" msgstr "" ! #: config/i386/i386.cc:22460 ! #, gcc-internal-format ! msgid "%<__bfloat16%> is redefined from typedef % to real %<__bf16%> since GCC V13, be careful of implicit conversion between %<__bf16%> and %; a explicit bitcast may be needed here" ! msgstr "" ! ! #: config/i386/i386.cc:23686 #, fuzzy, gcc-internal-format #| msgid "Tune alignment for the specified chip or CPU version" msgid "unknown architecture specific memory model" msgstr "Finjustér justering til en given chip- eller processorversion" ! #: config/i386/i386.cc:23693 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23700 #, gcc-internal-format msgid "% not used with % or stronger memory model" msgstr "" ! #: config/i386/i386.cc:23749 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported return type %qT for simd" msgstr "ubenyttede parametre i formatering med $" ! #: config/i386/i386.cc:23780 #, fuzzy, gcc-internal-format #| msgid "unused arguments in $-style format" msgid "unsupported argument type %qT for simd" msgstr "ubenyttede parametre i formatering med $" ! #: config/i386/i386.cc:24326 #, fuzzy, gcc-internal-format #| msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>" *************** msgstr "forkert udformet specifikationsf *** 44921,44944 **** msgid "% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type" msgstr "" ! #: config/nvptx/mkoffload.cc:399 #, fuzzy, gcc-internal-format #| msgid "cannot find protocol declaration for `%s'" msgid "Cannot find function declaration for %qs" msgstr "kan ikke finde protokolerklæringen af '%s'" ! #: config/nvptx/mkoffload.cc:597 #, fuzzy, gcc-internal-format #| msgid "field `%s' not found" msgid "offload compiler %s not found (consider using %<-B%>)" msgstr "feltet '%s' ikke fundet" ! #: config/nvptx/mkoffload.cc:640 #, gcc-internal-format msgid "either %<-fopenacc%> or %<-fopenmp%> must be set" msgstr "" ! #: config/nvptx/mkoffload.cc:740 #, fuzzy, gcc-internal-format #| msgid "%s:cannot open data file\n" msgid "cannot open intermediate ptx file" --- 44938,44961 ---- msgid "% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type" msgstr "" ! #: config/nvptx/mkoffload.cc:413 #, fuzzy, gcc-internal-format #| msgid "cannot find protocol declaration for `%s'" msgid "Cannot find function declaration for %qs" msgstr "kan ikke finde protokolerklæringen af '%s'" ! #: config/nvptx/mkoffload.cc:611 #, fuzzy, gcc-internal-format #| msgid "field `%s' not found" msgid "offload compiler %s not found (consider using %<-B%>)" msgstr "feltet '%s' ikke fundet" ! #: config/nvptx/mkoffload.cc:654 #, gcc-internal-format msgid "either %<-fopenacc%> or %<-fopenmp%> must be set" msgstr "" ! #: config/nvptx/mkoffload.cc:754 #, fuzzy, gcc-internal-format #| msgid "%s:cannot open data file\n" msgid "cannot open intermediate ptx file" *************** msgstr "%s understøtter ikke %s" *** 45296,45302 **** msgid "%qs function cannot have different interrupt type" msgstr "tilvalget '-%c' skal have en parameter" ! #: config/riscv/riscv.cc:7095 #, gcc-internal-format msgid "cannot allocate vl register for %qs on this target" msgstr "" --- 45313,45319 ---- msgid "%qs function cannot have different interrupt type" msgstr "tilvalget '-%c' skal have en parameter" ! #: config/riscv/riscv.cc:7094 #, gcc-internal-format msgid "cannot allocate vl register for %qs on this target" msgstr "" *************** msgstr "Ukendt processor: -mcpu=%s" *** 45823,45921 **** msgid "%qs is deprecated and not recommended in any circumstances" msgstr "%s har ingen %s" ! #: config/rs6000/rs6000.cc:10917 #, gcc-internal-format msgid "%qs is an opaque type, and you cannot set it to other values" msgstr "" ! #: config/rs6000/rs6000.cc:17750 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "ingen profilering af 64 bit-kode for denne ABI" ! #: config/rs6000/rs6000.cc:20146 #, fuzzy, gcc-internal-format #| msgid "cannot take the address of `this', which is an rvalue expression" msgid "you cannot take the address of a nested function if you use the %qs option" msgstr "kan ikke tage adressen af 'this' som er et højreværdiudtryk" ! #: config/rs6000/rs6000.cc:20228 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20230 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20232 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20234 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "use of decimal floating-point types in AltiVec types is invalid" msgstr "complex ugyldig for '%s'" ! #: config/rs6000/rs6000.cc:20240 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20243 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.cc:20248 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "use of % in AltiVec types is invalid without %qs" msgstr "complex ugyldig for '%s'" ! #: config/rs6000/rs6000.cc:20251 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:24389 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid cpu %qs for %s%qs%s" msgstr "ugyldig parametertype '%T'" ! #: config/rs6000/rs6000.cc:24392 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "%s%qs%s is not allowed" msgstr "\"%s\" er ikke defineret" ! #: config/rs6000/rs6000.cc:24394 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "%s%qs%s is invalid" msgstr "skabelonsparameter %d er ugyldig" ! #: config/rs6000/rs6000.cc:24923 #, gcc-internal-format msgid "%<-mno-%s%> turns off %<-m%s%>" msgstr "" ! #: config/rs6000/rs6000.cc:25082 #, gcc-internal-format msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" msgstr "" ! #: config/rs6000/rs6000.cc:25371 #, fuzzy, gcc-internal-format #| msgid "stack limit expression is not supported" msgid "Virtual function multiversioning not supported" msgstr "stakgrænseudtryk understøttes ikke" ! #: config/rs6000/rs6000.cc:28508 #, gcc-internal-format msgid "the result for the xxspltidp instruction is undefined for subnormal input values" msgstr "" --- 45840,45938 ---- msgid "%qs is deprecated and not recommended in any circumstances" msgstr "%s har ingen %s" ! #: config/rs6000/rs6000.cc:10918 #, gcc-internal-format msgid "%qs is an opaque type, and you cannot set it to other values" msgstr "" ! #: config/rs6000/rs6000.cc:17751 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "ingen profilering af 64 bit-kode for denne ABI" ! #: config/rs6000/rs6000.cc:20147 #, fuzzy, gcc-internal-format #| msgid "cannot take the address of `this', which is an rvalue expression" msgid "you cannot take the address of a nested function if you use the %qs option" msgstr "kan ikke tage adressen af 'this' som er et højreværdiudtryk" ! #: config/rs6000/rs6000.cc:20229 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20231 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20233 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.cc:20235 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "use of decimal floating-point types in AltiVec types is invalid" msgstr "complex ugyldig for '%s'" ! #: config/rs6000/rs6000.cc:20241 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:20244 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.cc:20249 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "use of % in AltiVec types is invalid without %qs" msgstr "complex ugyldig for '%s'" ! #: config/rs6000/rs6000.cc:20252 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without %qs" msgstr "" ! #: config/rs6000/rs6000.cc:24390 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid cpu %qs for %s%qs%s" msgstr "ugyldig parametertype '%T'" ! #: config/rs6000/rs6000.cc:24393 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "%s%qs%s is not allowed" msgstr "\"%s\" er ikke defineret" ! #: config/rs6000/rs6000.cc:24395 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "%s%qs%s is invalid" msgstr "skabelonsparameter %d er ugyldig" ! #: config/rs6000/rs6000.cc:24924 #, gcc-internal-format msgid "%<-mno-%s%> turns off %<-m%s%>" msgstr "" ! #: config/rs6000/rs6000.cc:25083 #, gcc-internal-format msgid "% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" msgstr "" ! #: config/rs6000/rs6000.cc:25372 #, fuzzy, gcc-internal-format #| msgid "stack limit expression is not supported" msgid "Virtual function multiversioning not supported" msgstr "stakgrænseudtryk understøttes ikke" ! #: config/rs6000/rs6000.cc:28509 #, gcc-internal-format msgid "the result for the xxspltidp instruction is undefined for subnormal input values" msgstr "" *************** msgstr "%s har ingen %s" *** 46753,46759 **** msgid "attribute %qs applies to array types only" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13354 cp/typeck.cc:2497 #: cp/typeck.cc:9393 cp/typeck.cc:10189 d/d-convert.cc:262 #, gcc-internal-format msgid "void value not ignored as it ought to be" --- 46770,46776 ---- msgid "attribute %qs applies to array types only" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: c/c-convert.cc:104 c/c-typeck.cc:2342 c/c-typeck.cc:13359 cp/typeck.cc:2497 #: cp/typeck.cc:9393 cp/typeck.cc:10189 d/d-convert.cc:262 #, gcc-internal-format msgid "void value not ignored as it ought to be" *************** msgstr "" *** 46835,46841 **** msgid "underspecified declaration of %qE, which is already declared in this scope" msgstr "'%D' er allerede erklæret i dette navnerum" ! #: c/c-decl.cc:1676 c/c-decl.cc:7703 c/c-decl.cc:8650 c/c-decl.cc:9574 #, fuzzy, gcc-internal-format msgid "originally defined here" msgstr " oprindelig definition er her" --- 46852,46858 ---- msgid "underspecified declaration of %qE, which is already declared in this scope" msgstr "'%D' er allerede erklæret i dette navnerum" ! #: c/c-decl.cc:1676 c/c-decl.cc:7710 c/c-decl.cc:8657 c/c-decl.cc:9581 #, fuzzy, gcc-internal-format msgid "originally defined here" msgstr " oprindelig definition er her" *************** msgstr "'%#D' omerklæret som en anden f *** 46901,46907 **** msgid "built-in function %q+D declared as non-function" msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" ! #: c/c-decl.cc:2056 c/c-decl.cc:3162 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %q+D shadows a built-in function" --- 46918,46924 ---- msgid "built-in function %q+D declared as non-function" msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" ! #: c/c-decl.cc:2056 c/c-decl.cc:3169 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %q+D shadows a built-in function" *************** msgstr "" *** 46965,47253 **** msgid "conflicting type qualifiers for %q+D" msgstr "modstridende typer for '%#D'" ! #: c/c-decl.cc:2225 #, gcc-internal-format msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT" msgstr "" ! #: c/c-decl.cc:2242 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D with different type" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2255 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D with variably modified type" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2260 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2288 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %qD shadows a built-in function" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-decl.cc:2304 #, fuzzy, gcc-internal-format #| msgid "declaration of C function `%#D' conflicts with" msgid "declaration of built-in function %qD without a prototype; expected %qT" msgstr "erklæring af C-funktionen '%#D' strider mod" ! #: c/c-decl.cc:2331 c/c-decl.cc:2442 #, fuzzy, gcc-internal-format msgid "redefinition of %q+D" msgstr "omdefinering af '%s'" # anden 'declaration' er underforstået i engelsk original ! #: c/c-decl.cc:2370 c/c-decl.cc:2482 #, fuzzy, gcc-internal-format msgid "static declaration of %q+D follows non-static declaration" msgstr "static-erklæring af '%s' følger erklæring uden static" ! #: c/c-decl.cc:2381 c/c-decl.cc:2389 c/c-decl.cc:2471 c/c-decl.cc:2479 #, fuzzy, gcc-internal-format msgid "non-static declaration of %q+D follows static declaration" msgstr "erklæring uden static af '%s' følger static-erklæring" ! #: c/c-decl.cc:2406 #, gcc-internal-format msgid "% attribute present on %q+D" msgstr "" ! #: c/c-decl.cc:2409 #, fuzzy, gcc-internal-format #| msgid " from here" msgid "but not here" msgstr " herfra" ! #: c/c-decl.cc:2428 #, fuzzy, gcc-internal-format msgid "thread-local declaration of %q+D follows non-thread-local declaration" msgstr "trådlokal erklæring af '%s' følger ikke-trådlokal erklæring" ! #: c/c-decl.cc:2431 #, fuzzy, gcc-internal-format msgid "non-thread-local declaration of %q+D follows thread-local declaration" msgstr "ikke-trådlokal erklæring af '%s' følger trådlokal erklæring" ! #: c/c-decl.cc:2463 #, fuzzy, gcc-internal-format msgid "extern declaration of %q+D follows declaration with no linkage" msgstr "extern-erklæring af '%s' passer ikke med den globale" ! #: c/c-decl.cc:2501 #, fuzzy, gcc-internal-format msgid "declaration of %q+D with no linkage follows extern declaration" msgstr "erklæring af '%F' kaster forskellige undtagelser" ! #: c/c-decl.cc:2508 #, fuzzy, gcc-internal-format msgid "redeclaration of %q+D with no linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: c/c-decl.cc:2534 #, gcc-internal-format msgid "redeclaration of %q+D with different visibility (old visibility preserved)" msgstr "" ! #: c/c-decl.cc:2555 #, fuzzy, gcc-internal-format msgid "redefinition of parameter %q+D" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2582 #, fuzzy, gcc-internal-format msgid "redundant redeclaration of %q+D" msgstr "overflødig omerklæring af '%D' i samme virkefelt" ! #: c/c-decl.cc:3120 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "declaration of %q+D shadows previous non-variable" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: c/c-decl.cc:3142 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' shadows a parameter" msgid "declaration of %qD shadows a parameter" msgstr "erklæring af '%#D' skygger for en parameter" ! #: c/c-decl.cc:3155 cp/name-lookup.cc:3321 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %qD shadows a global declaration" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-decl.cc:3181 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "declaration of %qD shadows a previous local" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: c/c-decl.cc:3187 cp/name-lookup.cc:3085 #, fuzzy, gcc-internal-format #| msgid "%Jshadowed declaration is here" msgid "shadowed declaration is here" msgstr "%Jskygget erklæring er her" ! #: c/c-decl.cc:3317 #, fuzzy, gcc-internal-format #| msgid "nested extern declaration of `%s'" msgid "nested extern declaration of %qD" msgstr "indlejret extern-erklæring af '%s'" ! #: c/c-decl.cc:3480 c/c-decl.cc:3494 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%s'" msgid "implicit declaration of function %qE; did you mean %qs?" msgstr "underforstået erklæring af funktionen '%s'" ! #: c/c-decl.cc:3486 c/c-decl.cc:3499 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%s'" msgid "implicit declaration of function %qE" msgstr "underforstået erklæring af funktionen '%s'" ! #: c/c-decl.cc:3518 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "include %qs or provide a declaration of %qE" msgstr "ugyldig omerklæring af '%D'" ! #: c/c-decl.cc:3789 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "incompatible implicit declaration of built-in function %qD" msgstr "underforstået erklæring af funktionen '%#D'" ! #: c/c-decl.cc:3799 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "include %qs or provide a declaration of %qD" msgstr "ugyldig omerklæring af '%D'" ! #: c/c-decl.cc:3810 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "incompatible implicit declaration of function %qD" msgstr "underforstået erklæring af funktionen '%#D'" ! #: c/c-decl.cc:3871 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qE undeclared here (not in a function); did you mean %qs?" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: c/c-decl.cc:3876 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qE undeclared here (not in a function)" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: c/c-decl.cc:3889 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function); did you mean %qs?" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" ! #: c/c-decl.cc:3894 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function)" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" # dækkende, og pænere end original i praktisk brug ! #: c/c-decl.cc:3898 #, fuzzy, gcc-internal-format #| msgid "(Each undeclared identifier is reported only once for each function it appears in.)" msgid "each undeclared identifier is reported only once for each function it appears in" msgstr "(et kaldenavn der ikke er erklæret, rapporteres kun én gang per funktion)" ! #: c/c-decl.cc:3946 cp/decl.cc:3481 #, fuzzy, gcc-internal-format #| msgid "label %s referenced outside of any function" msgid "label %qE referenced outside of any function" msgstr "der er blevet henvist til etiketten '%s' uden for en funktion" ! #: c/c-decl.cc:3983 #, fuzzy, gcc-internal-format msgid "jump into scope of identifier with variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:3986 #, fuzzy, gcc-internal-format #| msgid "Missing variable initializer" msgid "jump skips variable initialization" msgstr "Manglende variabelstartværdi" ! #: c/c-decl.cc:3988 c/c-decl.cc:4044 c/c-decl.cc:4135 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "label %qD defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: c/c-decl.cc:4043 c/c-decl.cc:4134 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "jump into statement expression" msgstr "overløb i konstant udtryk" ! #: c/c-decl.cc:4066 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate label declaration %qE" msgstr "etiketten '%s' er blevet erklæret mere end én gang" ! #: c/c-decl.cc:4166 cp/decl.cc:3899 #, fuzzy, gcc-internal-format #| msgid "duplicate label `%D'" msgid "duplicate label %qD" msgstr "etiketten '%D' optræder mere end én gang" ! #: c/c-decl.cc:4197 #, gcc-internal-format msgid "traditional C lacks a separate namespace for labels, identifier %qE conflicts" msgstr "" ! #: c/c-decl.cc:4266 #, fuzzy, gcc-internal-format #| msgid "Missing variable initializer" msgid "switch jumps over variable initialization" msgstr "Manglende variabelstartværdi" ! #: c/c-decl.cc:4269 c/c-decl.cc:4282 #, gcc-internal-format msgid "switch starts here" msgstr "" ! #: c/c-decl.cc:4281 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "switch jumps into statement expression" msgstr "overløb i konstant udtryk" ! #: c/c-decl.cc:4364 #, gcc-internal-format msgid "%qE defined as wrong kind of tag" msgstr "%qE defineret som forkert slags mærke" ! #: c/c-decl.cc:4550 cp/tree.cc:5055 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute applied to %qD with void return type" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" ! #: c/c-decl.cc:4559 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute can only be applied to class definitions" msgid "%qE attribute can only be applied to functions or to structure, union or enumeration types" msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" ! #: c/c-decl.cc:4579 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to functions" msgid "standard %qE attribute can only be applied to functions" --- 46982,47270 ---- msgid "conflicting type qualifiers for %q+D" msgstr "modstridende typer for '%#D'" ! #: c/c-decl.cc:2232 #, gcc-internal-format msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT" msgstr "" ! #: c/c-decl.cc:2249 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D with different type" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2262 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D with variably modified type" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2267 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2295 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %qD shadows a built-in function" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-decl.cc:2311 #, fuzzy, gcc-internal-format #| msgid "declaration of C function `%#D' conflicts with" msgid "declaration of built-in function %qD without a prototype; expected %qT" msgstr "erklæring af C-funktionen '%#D' strider mod" ! #: c/c-decl.cc:2338 c/c-decl.cc:2449 #, fuzzy, gcc-internal-format msgid "redefinition of %q+D" msgstr "omdefinering af '%s'" # anden 'declaration' er underforstået i engelsk original ! #: c/c-decl.cc:2377 c/c-decl.cc:2489 #, fuzzy, gcc-internal-format msgid "static declaration of %q+D follows non-static declaration" msgstr "static-erklæring af '%s' følger erklæring uden static" ! #: c/c-decl.cc:2388 c/c-decl.cc:2396 c/c-decl.cc:2478 c/c-decl.cc:2486 #, fuzzy, gcc-internal-format msgid "non-static declaration of %q+D follows static declaration" msgstr "erklæring uden static af '%s' følger static-erklæring" ! #: c/c-decl.cc:2413 #, gcc-internal-format msgid "% attribute present on %q+D" msgstr "" ! #: c/c-decl.cc:2416 #, fuzzy, gcc-internal-format #| msgid " from here" msgid "but not here" msgstr " herfra" ! #: c/c-decl.cc:2435 #, fuzzy, gcc-internal-format msgid "thread-local declaration of %q+D follows non-thread-local declaration" msgstr "trådlokal erklæring af '%s' følger ikke-trådlokal erklæring" ! #: c/c-decl.cc:2438 #, fuzzy, gcc-internal-format msgid "non-thread-local declaration of %q+D follows thread-local declaration" msgstr "ikke-trådlokal erklæring af '%s' følger trådlokal erklæring" ! #: c/c-decl.cc:2470 #, fuzzy, gcc-internal-format msgid "extern declaration of %q+D follows declaration with no linkage" msgstr "extern-erklæring af '%s' passer ikke med den globale" ! #: c/c-decl.cc:2508 #, fuzzy, gcc-internal-format msgid "declaration of %q+D with no linkage follows extern declaration" msgstr "erklæring af '%F' kaster forskellige undtagelser" ! #: c/c-decl.cc:2515 #, fuzzy, gcc-internal-format msgid "redeclaration of %q+D with no linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: c/c-decl.cc:2541 #, gcc-internal-format msgid "redeclaration of %q+D with different visibility (old visibility preserved)" msgstr "" ! #: c/c-decl.cc:2562 #, fuzzy, gcc-internal-format msgid "redefinition of parameter %q+D" msgstr "omdefinering af '%s'" ! #: c/c-decl.cc:2589 #, fuzzy, gcc-internal-format msgid "redundant redeclaration of %q+D" msgstr "overflødig omerklæring af '%D' i samme virkefelt" ! #: c/c-decl.cc:3127 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "declaration of %q+D shadows previous non-variable" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: c/c-decl.cc:3149 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' shadows a parameter" msgid "declaration of %qD shadows a parameter" msgstr "erklæring af '%#D' skygger for en parameter" ! #: c/c-decl.cc:3162 cp/name-lookup.cc:3321 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "declaration of %qD shadows a global declaration" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-decl.cc:3188 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "declaration of %qD shadows a previous local" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: c/c-decl.cc:3194 cp/name-lookup.cc:3085 #, fuzzy, gcc-internal-format #| msgid "%Jshadowed declaration is here" msgid "shadowed declaration is here" msgstr "%Jskygget erklæring er her" ! #: c/c-decl.cc:3324 #, fuzzy, gcc-internal-format #| msgid "nested extern declaration of `%s'" msgid "nested extern declaration of %qD" msgstr "indlejret extern-erklæring af '%s'" ! #: c/c-decl.cc:3487 c/c-decl.cc:3501 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%s'" msgid "implicit declaration of function %qE; did you mean %qs?" msgstr "underforstået erklæring af funktionen '%s'" ! #: c/c-decl.cc:3493 c/c-decl.cc:3506 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%s'" msgid "implicit declaration of function %qE" msgstr "underforstået erklæring af funktionen '%s'" ! #: c/c-decl.cc:3525 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "include %qs or provide a declaration of %qE" msgstr "ugyldig omerklæring af '%D'" ! #: c/c-decl.cc:3796 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "incompatible implicit declaration of built-in function %qD" msgstr "underforstået erklæring af funktionen '%#D'" ! #: c/c-decl.cc:3806 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "include %qs or provide a declaration of %qD" msgstr "ugyldig omerklæring af '%D'" ! #: c/c-decl.cc:3817 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "incompatible implicit declaration of function %qD" msgstr "underforstået erklæring af funktionen '%#D'" ! #: c/c-decl.cc:3878 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qE undeclared here (not in a function); did you mean %qs?" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: c/c-decl.cc:3883 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qE undeclared here (not in a function)" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: c/c-decl.cc:3896 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function); did you mean %qs?" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" ! #: c/c-decl.cc:3901 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared (first use in this function)" msgid "%qE undeclared (first use in this function)" msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)" # dækkende, og pænere end original i praktisk brug ! #: c/c-decl.cc:3905 #, fuzzy, gcc-internal-format #| msgid "(Each undeclared identifier is reported only once for each function it appears in.)" msgid "each undeclared identifier is reported only once for each function it appears in" msgstr "(et kaldenavn der ikke er erklæret, rapporteres kun én gang per funktion)" ! #: c/c-decl.cc:3953 cp/decl.cc:3481 #, fuzzy, gcc-internal-format #| msgid "label %s referenced outside of any function" msgid "label %qE referenced outside of any function" msgstr "der er blevet henvist til etiketten '%s' uden for en funktion" ! #: c/c-decl.cc:3990 #, fuzzy, gcc-internal-format msgid "jump into scope of identifier with variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:3993 #, fuzzy, gcc-internal-format #| msgid "Missing variable initializer" msgid "jump skips variable initialization" msgstr "Manglende variabelstartværdi" ! #: c/c-decl.cc:3995 c/c-decl.cc:4051 c/c-decl.cc:4142 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "label %qD defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: c/c-decl.cc:4050 c/c-decl.cc:4141 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "jump into statement expression" msgstr "overløb i konstant udtryk" ! #: c/c-decl.cc:4073 #, fuzzy, gcc-internal-format #| msgid "duplicate label declaration `%s'" msgid "duplicate label declaration %qE" msgstr "etiketten '%s' er blevet erklæret mere end én gang" ! #: c/c-decl.cc:4173 cp/decl.cc:3899 #, fuzzy, gcc-internal-format #| msgid "duplicate label `%D'" msgid "duplicate label %qD" msgstr "etiketten '%D' optræder mere end én gang" ! #: c/c-decl.cc:4204 #, gcc-internal-format msgid "traditional C lacks a separate namespace for labels, identifier %qE conflicts" msgstr "" ! #: c/c-decl.cc:4273 #, fuzzy, gcc-internal-format #| msgid "Missing variable initializer" msgid "switch jumps over variable initialization" msgstr "Manglende variabelstartværdi" ! #: c/c-decl.cc:4276 c/c-decl.cc:4289 #, gcc-internal-format msgid "switch starts here" msgstr "" ! #: c/c-decl.cc:4288 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "switch jumps into statement expression" msgstr "overløb i konstant udtryk" ! #: c/c-decl.cc:4371 #, gcc-internal-format msgid "%qE defined as wrong kind of tag" msgstr "%qE defineret som forkert slags mærke" ! #: c/c-decl.cc:4557 cp/tree.cc:5055 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute applied to %qD with void return type" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" ! #: c/c-decl.cc:4566 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute can only be applied to class definitions" msgid "%qE attribute can only be applied to functions or to structure, union or enumeration types" msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" ! #: c/c-decl.cc:4586 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to functions" msgid "standard %qE attribute can only be applied to functions" *************** msgstr "egenskaben '%s' kan kun anvendes *** 47257,47386 **** #. expressions, but is still appropriate as an error to #. avoid types declared in such a context escaping to #. the type of an auto variable. ! #: c/c-decl.cc:4855 c/c-decl.cc:8597 #, fuzzy, gcc-internal-format #| msgid "`%D' declared as reference but not initialized" msgid "%qT declared in underspecified object initializer" msgstr "'%D' erklæret som en reference, men bliver ikke tildelt en startværdi" ! #: c/c-decl.cc:4866 #, gcc-internal-format msgid "unnamed struct/union that defines no instances" msgstr "unavngiven struct/union som ikke definerer nogen instanser" ! #: c/c-decl.cc:4877 #, gcc-internal-format msgid "empty declaration with storage class specifier does not redeclare tag" msgstr "tom erklæring med lagringsklasseanvisning erklærer ikke mærke igen" ! #: c/c-decl.cc:4893 #, gcc-internal-format msgid "empty declaration with type qualifier does not redeclare tag" msgstr "tom erklæring med typemodifikation erklærer ikke mærke igen" ! #: c/c-decl.cc:4905 #, gcc-internal-format msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:4919 #, fuzzy, gcc-internal-format #| msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgid "empty declaration of % type does not redeclare tag" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:4942 c/c-decl.cc:4950 #, gcc-internal-format msgid "useless type name in empty declaration" msgstr "ubrugeligt typenavn i tom erklæring" ! #: c/c-decl.cc:4958 #, gcc-internal-format msgid "% in empty declaration" msgstr "%i tom erklæring" ! #: c/c-decl.cc:4964 #, gcc-internal-format msgid "%<_Noreturn%> in empty declaration" msgstr "%<_Noreturn%> i tom erklæring" ! #: c/c-decl.cc:4970 #, fuzzy, gcc-internal-format #| msgid "% in empty declaration" msgid "% in empty declaration" msgstr "%i tom erklæring" ! #: c/c-decl.cc:4976 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "% i file-scope tom erklæring" ! #: c/c-decl.cc:4982 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "% i file-scope tom erklæring" ! #: c/c-decl.cc:4990 #, fuzzy, gcc-internal-format #| msgid "useless storage class specifier in empty declaration" msgid "storage class specifier in empty declaration with % underlying type" msgstr "ubrugelig lagringsklasseanvisning i tom erklæring" ! #: c/c-decl.cc:4996 #, fuzzy, gcc-internal-format #| msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgid "%qs in empty declaration with % underlying type" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:5006 #, fuzzy, gcc-internal-format #| msgid "useless type qualifier in empty declaration" msgid "type qualifier in empty declaration with % underlying type" msgstr "ubrugelig typemodifikationer i tom erklæring" ! #: c/c-decl.cc:5012 #, fuzzy, gcc-internal-format #| msgid "% in empty declaration" msgid "% in empty declaration with % underlying type" msgstr "%i tom erklæring" ! #: c/c-decl.cc:5021 #, gcc-internal-format msgid "useless storage class specifier in empty declaration" msgstr "ubrugelig lagringsklasseanvisning i tom erklæring" ! #: c/c-decl.cc:5027 #, gcc-internal-format msgid "useless %qs in empty declaration" msgstr "ubrugelig %qs i tom erklæring" ! #: c/c-decl.cc:5040 #, gcc-internal-format msgid "useless type qualifier in empty declaration" msgstr "ubrugelig typemodifikationer i tom erklæring" ! #: c/c-decl.cc:5047 #, gcc-internal-format msgid "useless %<_Alignas%> in empty declaration" msgstr "ubrugelig %<_Alignas%> i tom erklæring" ! #: c/c-decl.cc:5065 #, fuzzy, gcc-internal-format #| msgid "invalid use of template-name '%E' in a declarator" msgid "invalid use of attributes in empty declaration" msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" ! #: c/c-decl.cc:5079 c/c-parser.cc:2264 #, gcc-internal-format msgid "empty declaration" msgstr "tom erklæring" ! #: c/c-decl.cc:5151 #, gcc-internal-format msgid "ISO C90 does not support % or type qualifiers in parameter array declarators" msgstr "ISO C90 understøtter ikke % eller typemodifikationer i parameterarrayerklæringer" ! #: c/c-decl.cc:5155 #, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" --- 47274,47403 ---- #. expressions, but is still appropriate as an error to #. avoid types declared in such a context escaping to #. the type of an auto variable. ! #: c/c-decl.cc:4862 c/c-decl.cc:8604 #, fuzzy, gcc-internal-format #| msgid "`%D' declared as reference but not initialized" msgid "%qT declared in underspecified object initializer" msgstr "'%D' erklæret som en reference, men bliver ikke tildelt en startværdi" ! #: c/c-decl.cc:4873 #, gcc-internal-format msgid "unnamed struct/union that defines no instances" msgstr "unavngiven struct/union som ikke definerer nogen instanser" ! #: c/c-decl.cc:4884 #, gcc-internal-format msgid "empty declaration with storage class specifier does not redeclare tag" msgstr "tom erklæring med lagringsklasseanvisning erklærer ikke mærke igen" ! #: c/c-decl.cc:4900 #, gcc-internal-format msgid "empty declaration with type qualifier does not redeclare tag" msgstr "tom erklæring med typemodifikation erklærer ikke mærke igen" ! #: c/c-decl.cc:4912 #, gcc-internal-format msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:4926 #, fuzzy, gcc-internal-format #| msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgid "empty declaration of % type does not redeclare tag" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:4949 c/c-decl.cc:4957 #, gcc-internal-format msgid "useless type name in empty declaration" msgstr "ubrugeligt typenavn i tom erklæring" ! #: c/c-decl.cc:4965 #, gcc-internal-format msgid "% in empty declaration" msgstr "%i tom erklæring" ! #: c/c-decl.cc:4971 #, gcc-internal-format msgid "%<_Noreturn%> in empty declaration" msgstr "%<_Noreturn%> i tom erklæring" ! #: c/c-decl.cc:4977 #, fuzzy, gcc-internal-format #| msgid "% in empty declaration" msgid "% in empty declaration" msgstr "%i tom erklæring" ! #: c/c-decl.cc:4983 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "% i file-scope tom erklæring" ! #: c/c-decl.cc:4989 #, gcc-internal-format msgid "% in file-scope empty declaration" msgstr "% i file-scope tom erklæring" ! #: c/c-decl.cc:4997 #, fuzzy, gcc-internal-format #| msgid "useless storage class specifier in empty declaration" msgid "storage class specifier in empty declaration with % underlying type" msgstr "ubrugelig lagringsklasseanvisning i tom erklæring" ! #: c/c-decl.cc:5003 #, fuzzy, gcc-internal-format #| msgid "empty declaration with %<_Alignas%> does not redeclare tag" msgid "%qs in empty declaration with % underlying type" msgstr "tom erklæring med %<_Alignas%> erklærer ikke mærke igen" ! #: c/c-decl.cc:5013 #, fuzzy, gcc-internal-format #| msgid "useless type qualifier in empty declaration" msgid "type qualifier in empty declaration with % underlying type" msgstr "ubrugelig typemodifikationer i tom erklæring" ! #: c/c-decl.cc:5019 #, fuzzy, gcc-internal-format #| msgid "% in empty declaration" msgid "% in empty declaration with % underlying type" msgstr "%i tom erklæring" ! #: c/c-decl.cc:5028 #, gcc-internal-format msgid "useless storage class specifier in empty declaration" msgstr "ubrugelig lagringsklasseanvisning i tom erklæring" ! #: c/c-decl.cc:5034 #, gcc-internal-format msgid "useless %qs in empty declaration" msgstr "ubrugelig %qs i tom erklæring" ! #: c/c-decl.cc:5047 #, gcc-internal-format msgid "useless type qualifier in empty declaration" msgstr "ubrugelig typemodifikationer i tom erklæring" ! #: c/c-decl.cc:5054 #, gcc-internal-format msgid "useless %<_Alignas%> in empty declaration" msgstr "ubrugelig %<_Alignas%> i tom erklæring" ! #: c/c-decl.cc:5072 #, fuzzy, gcc-internal-format #| msgid "invalid use of template-name '%E' in a declarator" msgid "invalid use of attributes in empty declaration" msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" ! #: c/c-decl.cc:5086 c/c-parser.cc:2264 #, gcc-internal-format msgid "empty declaration" msgstr "tom erklæring" ! #: c/c-decl.cc:5158 #, gcc-internal-format msgid "ISO C90 does not support % or type qualifiers in parameter array declarators" msgstr "ISO C90 understøtter ikke % eller typemodifikationer i parameterarrayerklæringer" ! #: c/c-decl.cc:5162 #, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" *************** msgstr "ISO C90 understøtter ikke %<[*] *** 47388,47730 **** #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 ! #: c/c-decl.cc:5161 c/c-decl.cc:8195 c/c-decl.cc:10395 #, gcc-internal-format msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.cc:5379 #, gcc-internal-format msgid "%q+D is usually a function" msgstr "%q+D er normalt en funktion" # init dækker over værditildeling her - samme for de næste mange ! #: c/c-decl.cc:5388 #, fuzzy, gcc-internal-format #| msgid "typedef %qD is initialized (use __typeof__ instead)" msgid "typedef %qD is initialized (use %<__typeof__%> instead)" msgstr "typedef %qD bliver tildelt en værdi (benyt __typeof__ i stedet)" ! #: c/c-decl.cc:5393 #, gcc-internal-format msgid "function %qD is initialized like a variable" msgstr "funktionen %qD bliver tildelt en startværdi som en variabel" #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. ! #: c/c-decl.cc:5399 #, gcc-internal-format msgid "parameter %qD is initialized" msgstr "parameteren %qD bliver tildelt en startværdi" ! #: c/c-decl.cc:5419 #, gcc-internal-format msgid "variable %qD has initializer but incomplete type" msgstr "variablen %qD bliver tildelt en startværdi, men er af en ufuldstændig type" ! #: c/c-decl.cc:5499 #, fuzzy, gcc-internal-format #| msgid "inline function %q+D given attribute noinline" msgid "inline function %q+D given attribute %qs" msgstr "inline funktion %q+D givet egenskaben noinline" ! #: c/c-decl.cc:5555 #, fuzzy, gcc-internal-format #| msgid "uninitialized const member `%D'" msgid "uninitialized const member in %qT is invalid in C++" msgstr "konstant medlem '%D' uden startværdi" ! #: c/c-decl.cc:5557 #, gcc-internal-format msgid "%qD should be initialized" msgstr "%qD skal tildeles en startværdi" ! #: c/c-decl.cc:5638 #, fuzzy, gcc-internal-format #| msgid "initializer fails to determine size of `%D'" msgid "initializer fails to determine size of %q+D" msgstr "startværdien giver ikke størrelsen af '%D'" ! #: c/c-decl.cc:5643 #, fuzzy, gcc-internal-format #| msgid "array size missing in `%D'" msgid "array size missing in %q+D" msgstr "tabelstørrelsen mangler i '%D'" ! #: c/c-decl.cc:5647 #, fuzzy, gcc-internal-format msgid "zero or negative size array %q+D" msgstr "nul eller negativ størrelse for tabellen '%s'" ! #: c/c-decl.cc:5736 m2/gm2-gcc/m2type.cc:1269 #, fuzzy, gcc-internal-format #| msgid "storage size of `%D' isn't constant" msgid "storage size of %q+D isn%'t constant" msgstr "lagringsstørrelsen af '%D' er ikke konstant" ! #: c/c-decl.cc:5786 #, fuzzy, gcc-internal-format msgid "ignoring % specifier for non-static local variable %q+D" msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'" ! #: c/c-decl.cc:5824 #, gcc-internal-format msgid "cannot put object with volatile field into register" msgstr "kan ikke anbringe et objekt med et volatile-felt i et register" ! #: c/c-decl.cc:5910 #, fuzzy, gcc-internal-format #| msgid "uninitialized const `%D'" msgid "uninitialized % is invalid in C++" msgstr "konstant '%D' uden startværdi" ! #: c/c-decl.cc:5925 cp/decl.cc:8825 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" ! #: c/c-decl.cc:6188 #, gcc-internal-format msgid "ISO C forbids forward parameter declarations" msgstr "ISO C forbyder forhåndsparametererklæringer" ! #: c/c-decl.cc:6228 #, fuzzy, gcc-internal-format msgid "file-scope compound literal specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6234 #, fuzzy, gcc-internal-format #| msgid "function-scope `%s' implicitly auto and declared `__thread'" msgid "compound literal implicitly auto and declared %qs" msgstr "'%s' i funktionsvirkefelt underforstået auto og erklæret '__thread'" ! #: c/c-decl.cc:6334 #, gcc-internal-format msgid "defining a type in a compound literal is invalid in C++" msgstr "" ! #: c/c-decl.cc:6355 c/c-decl.cc:6370 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' width not an integer constant" msgid "bit-field %qs width not an integer constant" msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:6365 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' width not an integer constant" msgid "bit-field %qs width not an integer constant expression" msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:6376 #, fuzzy, gcc-internal-format #| msgid "negative width in bit-field `%s'" msgid "negative width in bit-field %qs" msgstr "negativ bredde i bitfeltet '%s'" ! #: c/c-decl.cc:6381 #, fuzzy, gcc-internal-format #| msgid "zero width for bit-field `%s'" msgid "zero width for bit-field %qs" msgstr "en bredde på nul for bitfeltet '%s'" ! #: c/c-decl.cc:6391 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qs has invalid type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:6397 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qs with % type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: c/c-decl.cc:6408 #, fuzzy, gcc-internal-format msgid "type of bit-field %qs is a GCC extension" msgstr "linjestilsdirektiv er en GCC-udvidelse" ! #: c/c-decl.cc:6414 #, fuzzy, gcc-internal-format #| msgid "width of `%s' exceeds its type" msgid "width of %qs exceeds its type" msgstr "bredden af '%s' overstiger typen" # RETMIG: find på et eller andet med præcisionen ! #: c/c-decl.cc:6427 #, fuzzy, gcc-internal-format #| msgid "`%s' is narrower than values of its type" msgid "%qs is narrower than values of its type" msgstr "'%s' er smallere end værdier af dens type" ! #: c/c-decl.cc:6442 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids array `%s' whose size can't be evaluated" msgid "ISO C90 forbids array %qE whose size cannot be evaluated" msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes" ! #: c/c-decl.cc:6445 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids array `%s' whose size can't be evaluated" msgid "ISO C90 forbids array whose size cannot be evaluated" msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes" ! #: c/c-decl.cc:6452 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids variable-size array `%s'" msgid "ISO C90 forbids variable length array %qE" msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse" ! #: c/c-decl.cc:6454 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids variable-size array" msgid "ISO C90 forbids variable length array" msgstr "ISO C++ forbyder tabel med variabel størrelse" ! #: c/c-decl.cc:6663 #, fuzzy, gcc-internal-format msgid "% underlying type may not be specified here" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:6691 c/c-decl.cc:7100 c/c-decl.cc:7110 #, fuzzy, gcc-internal-format msgid "variably modified %qE at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:6693 #, fuzzy, gcc-internal-format msgid "variably modified field at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:6713 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "type defaults to % in declaration of %qE" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: c/c-decl.cc:6717 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "type defaults to % in type name" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: c/c-decl.cc:6749 #, fuzzy, gcc-internal-format #| msgid "duplicate `const'" msgid "duplicate %" msgstr "'const' optræder mere end én gang" ! #: c/c-decl.cc:6751 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %" msgstr "'restrict' optræder mere end én gang" ! #: c/c-decl.cc:6753 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate %" msgstr "'volatile' optræder mere end én gang" ! #: c/c-decl.cc:6755 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %<_Atomic%>" msgstr "'restrict' optræder mere end én gang" ! #: c/c-decl.cc:6758 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "conflicting super class name `%s'" msgid "conflicting named address spaces (%s vs %s)" msgstr "modstridende superklassenavn '%s'" ! #: c/c-decl.cc:6781 c/c-parser.cc:3359 #, gcc-internal-format msgid "%<_Atomic%>-qualified array type" msgstr "" ! #: c/c-decl.cc:6796 #, fuzzy, gcc-internal-format #| msgid "function definition declared `auto'" msgid "function definition declared %" msgstr "'auto' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6798 #, fuzzy, gcc-internal-format #| msgid "function definition declared `register'" msgid "function definition declared %" msgstr "'register' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6800 #, fuzzy, gcc-internal-format #| msgid "function definition declared `typedef'" msgid "function definition declared %" msgstr "'typedef' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6802 #, fuzzy, gcc-internal-format #| msgid "function definition declared `auto'" msgid "function definition declared %qs" msgstr "'auto' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6829 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "storage class specified for structure field %qE" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:6832 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "storage class specified for structure field" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:6836 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "storage class specified for parameter %qE" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:6839 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "storage class specified for unnamed parameter" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:6842 cp/decl.cc:12850 #, gcc-internal-format msgid "storage class specified for typename" msgstr "lagringsklasse angivet for typenavn" ! #: c/c-decl.cc:6860 #, fuzzy, gcc-internal-format #| msgid "`%s' initialized and declared `extern'" msgid "%qE initialized and declared %" msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'" ! #: c/c-decl.cc:6864 #, fuzzy, gcc-internal-format #| msgid "`%s' has both `extern' and initializer" msgid "%qE has both % and initializer" msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi" ! #: c/c-decl.cc:6869 #, fuzzy, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6873 #, fuzzy, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6878 #, fuzzy, gcc-internal-format #| msgid "nested function `%s' declared `extern'" msgid "nested function %qE declared %" msgstr "indlejret funktion '%s' er erklæret 'extern'" ! #: c/c-decl.cc:6881 #, fuzzy, gcc-internal-format #| msgid "function-scope `%s' implicitly auto and declared `__thread'" msgid "function-scope %qE implicitly auto and declared %qs" --- 47405,47747 ---- #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 ! #: c/c-decl.cc:5168 c/c-decl.cc:8202 c/c-decl.cc:10402 #, gcc-internal-format msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.cc:5386 #, gcc-internal-format msgid "%q+D is usually a function" msgstr "%q+D er normalt en funktion" # init dækker over værditildeling her - samme for de næste mange ! #: c/c-decl.cc:5395 #, fuzzy, gcc-internal-format #| msgid "typedef %qD is initialized (use __typeof__ instead)" msgid "typedef %qD is initialized (use %<__typeof__%> instead)" msgstr "typedef %qD bliver tildelt en værdi (benyt __typeof__ i stedet)" ! #: c/c-decl.cc:5400 #, gcc-internal-format msgid "function %qD is initialized like a variable" msgstr "funktionen %qD bliver tildelt en startværdi som en variabel" #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE. ! #: c/c-decl.cc:5406 #, gcc-internal-format msgid "parameter %qD is initialized" msgstr "parameteren %qD bliver tildelt en startværdi" ! #: c/c-decl.cc:5426 #, gcc-internal-format msgid "variable %qD has initializer but incomplete type" msgstr "variablen %qD bliver tildelt en startværdi, men er af en ufuldstændig type" ! #: c/c-decl.cc:5506 #, fuzzy, gcc-internal-format #| msgid "inline function %q+D given attribute noinline" msgid "inline function %q+D given attribute %qs" msgstr "inline funktion %q+D givet egenskaben noinline" ! #: c/c-decl.cc:5562 #, fuzzy, gcc-internal-format #| msgid "uninitialized const member `%D'" msgid "uninitialized const member in %qT is invalid in C++" msgstr "konstant medlem '%D' uden startværdi" ! #: c/c-decl.cc:5564 #, gcc-internal-format msgid "%qD should be initialized" msgstr "%qD skal tildeles en startværdi" ! #: c/c-decl.cc:5645 #, fuzzy, gcc-internal-format #| msgid "initializer fails to determine size of `%D'" msgid "initializer fails to determine size of %q+D" msgstr "startværdien giver ikke størrelsen af '%D'" ! #: c/c-decl.cc:5650 #, fuzzy, gcc-internal-format #| msgid "array size missing in `%D'" msgid "array size missing in %q+D" msgstr "tabelstørrelsen mangler i '%D'" ! #: c/c-decl.cc:5654 #, fuzzy, gcc-internal-format msgid "zero or negative size array %q+D" msgstr "nul eller negativ størrelse for tabellen '%s'" ! #: c/c-decl.cc:5743 m2/gm2-gcc/m2type.cc:1269 #, fuzzy, gcc-internal-format #| msgid "storage size of `%D' isn't constant" msgid "storage size of %q+D isn%'t constant" msgstr "lagringsstørrelsen af '%D' er ikke konstant" ! #: c/c-decl.cc:5793 #, fuzzy, gcc-internal-format msgid "ignoring % specifier for non-static local variable %q+D" msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'" ! #: c/c-decl.cc:5831 #, gcc-internal-format msgid "cannot put object with volatile field into register" msgstr "kan ikke anbringe et objekt med et volatile-felt i et register" ! #: c/c-decl.cc:5917 #, fuzzy, gcc-internal-format #| msgid "uninitialized const `%D'" msgid "uninitialized % is invalid in C++" msgstr "konstant '%D' uden startværdi" ! #: c/c-decl.cc:5932 cp/decl.cc:8825 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" ! #: c/c-decl.cc:6195 #, gcc-internal-format msgid "ISO C forbids forward parameter declarations" msgstr "ISO C forbyder forhåndsparametererklæringer" ! #: c/c-decl.cc:6235 #, fuzzy, gcc-internal-format msgid "file-scope compound literal specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6241 #, fuzzy, gcc-internal-format #| msgid "function-scope `%s' implicitly auto and declared `__thread'" msgid "compound literal implicitly auto and declared %qs" msgstr "'%s' i funktionsvirkefelt underforstået auto og erklæret '__thread'" ! #: c/c-decl.cc:6341 #, gcc-internal-format msgid "defining a type in a compound literal is invalid in C++" msgstr "" ! #: c/c-decl.cc:6362 c/c-decl.cc:6377 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' width not an integer constant" msgid "bit-field %qs width not an integer constant" msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:6372 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' width not an integer constant" msgid "bit-field %qs width not an integer constant expression" msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:6383 #, fuzzy, gcc-internal-format #| msgid "negative width in bit-field `%s'" msgid "negative width in bit-field %qs" msgstr "negativ bredde i bitfeltet '%s'" ! #: c/c-decl.cc:6388 #, fuzzy, gcc-internal-format #| msgid "zero width for bit-field `%s'" msgid "zero width for bit-field %qs" msgstr "en bredde på nul for bitfeltet '%s'" ! #: c/c-decl.cc:6398 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qs has invalid type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:6404 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qs with % type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: c/c-decl.cc:6415 #, fuzzy, gcc-internal-format msgid "type of bit-field %qs is a GCC extension" msgstr "linjestilsdirektiv er en GCC-udvidelse" ! #: c/c-decl.cc:6421 #, fuzzy, gcc-internal-format #| msgid "width of `%s' exceeds its type" msgid "width of %qs exceeds its type" msgstr "bredden af '%s' overstiger typen" # RETMIG: find på et eller andet med præcisionen ! #: c/c-decl.cc:6434 #, fuzzy, gcc-internal-format #| msgid "`%s' is narrower than values of its type" msgid "%qs is narrower than values of its type" msgstr "'%s' er smallere end værdier af dens type" ! #: c/c-decl.cc:6449 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids array `%s' whose size can't be evaluated" msgid "ISO C90 forbids array %qE whose size cannot be evaluated" msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes" ! #: c/c-decl.cc:6452 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids array `%s' whose size can't be evaluated" msgid "ISO C90 forbids array whose size cannot be evaluated" msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes" ! #: c/c-decl.cc:6459 #, fuzzy, gcc-internal-format #| msgid "ISO C90 forbids variable-size array `%s'" msgid "ISO C90 forbids variable length array %qE" msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse" ! #: c/c-decl.cc:6461 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids variable-size array" msgid "ISO C90 forbids variable length array" msgstr "ISO C++ forbyder tabel med variabel størrelse" ! #: c/c-decl.cc:6670 #, fuzzy, gcc-internal-format msgid "% underlying type may not be specified here" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:6698 c/c-decl.cc:7107 c/c-decl.cc:7117 #, fuzzy, gcc-internal-format msgid "variably modified %qE at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:6700 #, fuzzy, gcc-internal-format msgid "variably modified field at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:6720 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "type defaults to % in declaration of %qE" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: c/c-decl.cc:6724 #, fuzzy, gcc-internal-format #| msgid "type defaults to `int' in declaration of `%s'" msgid "type defaults to % in type name" msgstr "typen antages at være 'int' i erklæringen af '%s'" ! #: c/c-decl.cc:6756 #, fuzzy, gcc-internal-format #| msgid "duplicate `const'" msgid "duplicate %" msgstr "'const' optræder mere end én gang" ! #: c/c-decl.cc:6758 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %" msgstr "'restrict' optræder mere end én gang" ! #: c/c-decl.cc:6760 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate %" msgstr "'volatile' optræder mere end én gang" ! #: c/c-decl.cc:6762 #, fuzzy, gcc-internal-format #| msgid "duplicate `restrict'" msgid "duplicate %<_Atomic%>" msgstr "'restrict' optræder mere end én gang" ! #: c/c-decl.cc:6765 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "conflicting super class name `%s'" msgid "conflicting named address spaces (%s vs %s)" msgstr "modstridende superklassenavn '%s'" ! #: c/c-decl.cc:6788 c/c-parser.cc:3359 #, gcc-internal-format msgid "%<_Atomic%>-qualified array type" msgstr "" ! #: c/c-decl.cc:6803 #, fuzzy, gcc-internal-format #| msgid "function definition declared `auto'" msgid "function definition declared %" msgstr "'auto' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6805 #, fuzzy, gcc-internal-format #| msgid "function definition declared `register'" msgid "function definition declared %" msgstr "'register' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6807 #, fuzzy, gcc-internal-format #| msgid "function definition declared `typedef'" msgid "function definition declared %" msgstr "'typedef' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6809 #, fuzzy, gcc-internal-format #| msgid "function definition declared `auto'" msgid "function definition declared %qs" msgstr "'auto' er påhæftet funktionsdefinitionen" ! #: c/c-decl.cc:6836 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "storage class specified for structure field %qE" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:6839 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "storage class specified for structure field" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:6843 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "storage class specified for parameter %qE" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:6846 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "storage class specified for unnamed parameter" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:6849 cp/decl.cc:12850 #, gcc-internal-format msgid "storage class specified for typename" msgstr "lagringsklasse angivet for typenavn" ! #: c/c-decl.cc:6867 #, fuzzy, gcc-internal-format #| msgid "`%s' initialized and declared `extern'" msgid "%qE initialized and declared %" msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'" ! #: c/c-decl.cc:6871 #, fuzzy, gcc-internal-format #| msgid "`%s' has both `extern' and initializer" msgid "%qE has both % and initializer" msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi" ! #: c/c-decl.cc:6876 #, fuzzy, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6880 #, fuzzy, gcc-internal-format msgid "file-scope declaration of %qE specifies %" msgstr "erklæring af '%s' på øverste niveau angiver 'auto'" ! #: c/c-decl.cc:6885 #, fuzzy, gcc-internal-format #| msgid "nested function `%s' declared `extern'" msgid "nested function %qE declared %" msgstr "indlejret funktion '%s' er erklæret 'extern'" ! #: c/c-decl.cc:6888 #, fuzzy, gcc-internal-format #| msgid "function-scope `%s' implicitly auto and declared `__thread'" msgid "function-scope %qE implicitly auto and declared %qs" *************** msgstr "'%s' i funktionsvirkefelt underf *** 47733,48635 **** #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. ! #: c/c-decl.cc:6928 c/c-decl.cc:7324 #, gcc-internal-format msgid "static or type qualifiers in non-parameter array declarator" msgstr "static eller typemodifikationer i ikke-parametertabelerklæring" ! #: c/c-decl.cc:6991 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of voids" msgid "declaration of %qE as array of voids" msgstr "'%s' erklæret som en tabel af void" ! #: c/c-decl.cc:6993 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of voids" msgid "declaration of type name as array of voids" msgstr "'%s' erklæret som en tabel af void" ! #: c/c-decl.cc:7000 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of functions" msgid "declaration of %qE as array of functions" msgstr "'%s' erklæret som en tabel af funktioner" ! #: c/c-decl.cc:7003 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of functions" msgid "declaration of type name as array of functions" msgstr "'%s' erklæret som en tabel af funktioner" ! #: c/c-decl.cc:7011 c/c-decl.cc:9256 #, gcc-internal-format msgid "invalid use of structure with flexible array member" msgstr "ugyldig brug af struktur med fleksibelt tabelmedlem" ! #: c/c-decl.cc:7043 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of array %qE has non-integer type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7047 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of unnamed array has non-integer type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7055 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of array %qE has incomplete type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7058 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of unnamed array has incomplete type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7070 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids zero-size array `%s'" msgid "ISO C forbids zero-size array %qE" msgstr "ISO C forbyder tabellen '%s' med størrelsen nul" ! #: c/c-decl.cc:7073 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids zero-size array" msgid "ISO C forbids zero-size array" msgstr "ISO C++ forbyder tabel med størrelsen nul" ! #: c/c-decl.cc:7082 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of array %qE is negative" msgstr "størrelsen af tabel er negativ" ! #: c/c-decl.cc:7084 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of unnamed array is negative" msgstr "størrelsen af tabel er negativ" ! #: c/c-decl.cc:7170 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of array %qE is too large" msgstr "størrelsen af tabellen '%s' er for stor" ! #: c/c-decl.cc:7173 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of unnamed array is too large" msgstr "størrelsen af tabellen '%s' er for stor" ! #: c/c-decl.cc:7212 c/c-decl.cc:7873 #, gcc-internal-format msgid "ISO C90 does not support flexible array members" msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer" #. C99 6.7.5.2p4 ! #: c/c-decl.cc:7234 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%<[*]%> not in a declaration" msgstr "'%s' er ikke ved begyndelsen af erklæringen" ! #: c/c-decl.cc:7248 #, fuzzy, gcc-internal-format #| msgid "array type has incomplete element type" msgid "array type has incomplete element type %qT" msgstr "tabeltypen er af en ufuldstændig type" ! #: c/c-decl.cc:7254 #, fuzzy, gcc-internal-format #| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first" msgid "declaration of %qE as multidimensional array must have bounds for all dimensions except the first" msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første" ! #: c/c-decl.cc:7258 #, fuzzy, gcc-internal-format #| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first" msgid "declaration of multidimensional array must have bounds for all dimensions except the first" msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første" ! #: c/c-decl.cc:7360 #, gcc-internal-format msgid "%qE declared as function returning a function" msgstr "%qE er erklæret som en funktion, der returnerer en funktion" ! #: c/c-decl.cc:7363 #, gcc-internal-format msgid "type name declared as function returning a function" msgstr "'typenavn er erklæret som en funktion, der returnerer en funktion" ! #: c/c-decl.cc:7370 #, gcc-internal-format msgid "%qE declared as function returning an array" msgstr "%qE er erklæret som en funktion, der returnerer en array" ! #: c/c-decl.cc:7373 #, gcc-internal-format msgid "type name declared as function returning an array" msgstr "typenavn er erklæret som en funktion, der returnerer en array" ! #: c/c-decl.cc:7414 #, gcc-internal-format msgid "function definition has qualified void return type" msgstr "funktiondefinition har kvalificeret void-returtype" ! #: c/c-decl.cc:7418 cp/decl.cc:13171 #, gcc-internal-format msgid "type qualifiers ignored on function return type" msgstr "typemodifikationer ignoreret i funktionsreturtypen" ! #: c/c-decl.cc:7457 c/c-decl.cc:7669 c/c-decl.cc:7723 c/c-decl.cc:7807 ! #: c/c-decl.cc:7929 c/c-parser.cc:3361 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%<_Atomic%>-qualified function type" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-decl.cc:7463 c/c-decl.cc:7675 c/c-decl.cc:7812 c/c-decl.cc:7934 #, gcc-internal-format msgid "ISO C forbids qualified function types" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-decl.cc:7560 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7564 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7570 #, fuzzy, gcc-internal-format msgid "%qs specified for auto variable %qE" msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'" ! #: c/c-decl.cc:7586 #, fuzzy, gcc-internal-format #| msgid "type specifier omitted for parameter `%E'" msgid "%qs specified for parameter %qE" msgstr "typeangivelse udeladt for parameteren '%E'" ! #: c/c-decl.cc:7589 #, fuzzy, gcc-internal-format #| msgid "type specifier omitted for parameter" msgid "%qs specified for unnamed parameter" msgstr "typeangivelsen er ikke angivet for parameteren" ! #: c/c-decl.cc:7595 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "%qs specified for structure field %qE" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:7598 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "%qs specified for structure field" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:7613 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE has atomic type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7615 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field has atomic type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7624 #, fuzzy, gcc-internal-format msgid "alignment specified for typedef %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:7626 #, gcc-internal-format msgid "alignment specified for % object %qE" msgstr "" ! #: c/c-decl.cc:7631 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "alignment specified for parameter %qE" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:7633 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "alignment specified for unnamed parameter" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:7638 #, fuzzy, gcc-internal-format msgid "alignment specified for bit-field %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:7640 #, fuzzy, gcc-internal-format #| msgid "`__alignof' applied to a bit-field" msgid "alignment specified for unnamed bit-field" msgstr "'__alignof' benyttet på et bitfelt" ! #: c/c-decl.cc:7643 #, fuzzy, gcc-internal-format #| msgid "`%D' can only be specified for functions" msgid "alignment specified for function %qE" msgstr "'%D' kan kun angives for funktioner" ! #: c/c-decl.cc:7650 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" msgstr "" ! #: c/c-decl.cc:7653 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" msgstr "" ! #: c/c-decl.cc:7684 #, fuzzy, gcc-internal-format msgid "typedef %q+D declared %" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:7686 #, fuzzy, gcc-internal-format #| msgid "operator `%T' declared to return `%T'" msgid "typedef %q+D declared %<_Noreturn%>" msgstr "operator '%T' erklæret til at returnere '%T'" ! #: c/c-decl.cc:7729 #, gcc-internal-format msgid "ISO C forbids const or volatile function types" msgstr "ISO C forbyder const eller volatile funktionstyper" #. C99 6.7.2.1p8 ! #: c/c-decl.cc:7740 #, fuzzy, gcc-internal-format #| msgid "data member may not have variably modified type `%T'" msgid "a member of a structure or union cannot have a variably modified type" msgstr "datamedlem må ikke have variabelt ændret type '%T'" ! #: c/c-decl.cc:7757 cp/decl.cc:11730 #, fuzzy, gcc-internal-format #| msgid "variable or field declared void" msgid "variable or field %qE declared void" msgstr "variabel eller felt erklæret void" ! #: c/c-decl.cc:7797 #, gcc-internal-format msgid "attributes in parameter array declarator ignored" msgstr "egenskaber i parametertabelerklæring ignoreret" ! #: c/c-decl.cc:7839 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %q+D declared %" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:7841 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %q+D declared %<_Noreturn%>" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:7854 #, fuzzy, gcc-internal-format #| msgid "field `%s' declared as a function" msgid "field %qE declared as a function" msgstr "feltet '%s' er erklæret som en funktion" ! #: c/c-decl.cc:7861 #, fuzzy, gcc-internal-format #| msgid "field `%s' has incomplete type" msgid "field %qE has incomplete type" msgstr "feltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7863 #, fuzzy, gcc-internal-format #| msgid "name `%T' has incomplete type" msgid "unnamed field has incomplete type" msgstr "navnet '%T' er af en ufuldstændig type" ! #: c/c-decl.cc:7900 c/c-decl.cc:7911 c/c-decl.cc:7914 #, fuzzy, gcc-internal-format #| msgid "invalid storage class for function `%s'" msgid "invalid storage class for function %qE" msgstr "ugyldig lagringsklasse for funktion '%s'" # at oversætte inline med et udsagnsord her bliver vist for tvetydigt ! #: c/c-decl.cc:7971 #, fuzzy, gcc-internal-format #| msgid "cannot inline function `main'" msgid "cannot inline function %" msgstr "funktionen 'main' kan ikke være inline" ! #: c/c-decl.cc:7973 #, gcc-internal-format msgid "% declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7984 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C99 does not support %<_Noreturn%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:7987 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<_Noreturn%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:8006 #, fuzzy, gcc-internal-format #| msgid "parameter may not have variably modified type `%T'" msgid "% object has variably modified type" msgstr "parameter må ikke have variabelt ændret type '%T'" ! #: c/c-decl.cc:8010 c/c-parser.cc:10930 #, fuzzy, gcc-internal-format #| msgid "invalid qualifiers on non-member function type" msgid "invalid qualifiers for % object" msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype" ! #: c/c-decl.cc:8016 c/c-parser.cc:10933 #, fuzzy, gcc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid qualifiers for field of % object" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: c/c-decl.cc:8042 #, fuzzy, gcc-internal-format msgid "variable previously declared % redeclared %" msgstr "variabel eller felt '%s' erklæret void" ! #: c/c-decl.cc:8054 #, fuzzy, gcc-internal-format msgid "variable %q+D declared %" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:8056 #, fuzzy, gcc-internal-format msgid "variable %q+D declared %<_Noreturn%>" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:8091 #, fuzzy, gcc-internal-format msgid "non-nested function with variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:8093 #, gcc-internal-format msgid "object with variably modified type must have no linkage" msgstr "" ! #: c/c-decl.cc:8201 c/c-decl.cc:10200 #, fuzzy, gcc-internal-format #| msgid "function declaration isn't a prototype" msgid "function declaration isn%'t a prototype" msgstr "funktionserklæringen er ikke en prototype" ! #: c/c-decl.cc:8211 #, gcc-internal-format msgid "parameter names (without types) in function declaration" msgstr "parameternavne (uden typer) i funktionserklæringen" ! #: c/c-decl.cc:8256 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8260 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter has incomplete type" msgid "parameter %u has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8271 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has void type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8275 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter `%s' has incomplete type" msgid "parameter %u has void type" msgstr "parameteren '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:8350 #, fuzzy, gcc-internal-format msgid "% as only parameter may not be qualified" msgstr "typedef-navn kan ikke klassemodificeres" ! #: c/c-decl.cc:8354 c/c-decl.cc:8390 #, fuzzy, gcc-internal-format msgid "% must be the only parameter" msgstr "ugyldig brug af skabelonstypeparameter" ! #: c/c-decl.cc:8384 #, fuzzy, gcc-internal-format msgid "parameter %q+D has just a forward declaration" msgstr "parameteren '%s' har kun en forhåndserklæring" ! #: c/c-decl.cc:8430 #, gcc-internal-format msgid "%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8436 #, gcc-internal-format, gfc-internal-format msgid "anonymous %s declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8551 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "enum type defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8557 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "struct defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8563 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "union defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8646 #, fuzzy, gcc-internal-format #| msgid "redefinition of `union %s'" msgid "redefinition of %" msgstr "omdefinering af 'union %s'" ! #: c/c-decl.cc:8648 #, fuzzy, gcc-internal-format #| msgid "redefinition of `struct %s'" msgid "redefinition of %" msgstr "omdefinering af 'struct %s'" ! #: c/c-decl.cc:8657 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:8659 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:8689 c/c-decl.cc:9599 #, gcc-internal-format msgid "defining type in %qs expression is invalid in C++" msgstr "" ! #: c/c-decl.cc:8695 c/c-decl.cc:9605 #, fuzzy, gcc-internal-format #| msgid "unknown field `%s' specified in initializer" msgid "%qT defined in underspecified object initializer" msgstr "ukendt felt '%s' angivet i startværdi" ! #: c/c-decl.cc:8759 cp/decl.cc:5479 #, gcc-internal-format msgid "declaration does not declare anything" msgstr "erklæring erklærer ikke noget" ! #: c/c-decl.cc:8764 #, fuzzy, gcc-internal-format #| msgid "ISO C doesn't support unnamed structs/unions" msgid "ISO C99 doesn%'t support unnamed structs/unions" msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner" ! #: c/c-decl.cc:8767 #, fuzzy, gcc-internal-format #| msgid "ISO C doesn't support unnamed structs/unions" msgid "ISO C90 doesn%'t support unnamed structs/unions" msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner" ! #: c/c-decl.cc:8860 c/c-decl.cc:8878 c/c-decl.cc:8939 #, fuzzy, gcc-internal-format #| msgid "duplicate member `%D'" msgid "duplicate member %q+D" msgstr "medlemmet '%D' optræder mere end én gang" ! #: c/c-decl.cc:8965 #, gcc-internal-format msgid "empty struct has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:8968 #, gcc-internal-format msgid "empty union has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:9148 #, fuzzy, gcc-internal-format #| msgid "named members" msgid "union has no named members" msgstr "navngivne medlemmer" ! #: c/c-decl.cc:9150 #, fuzzy, gcc-internal-format msgid "union has no members" msgstr "anonym sammensat type uden medlemmer" ! #: c/c-decl.cc:9155 #, fuzzy, gcc-internal-format #| msgid "named members" msgid "struct has no named members" msgstr "navngivne medlemmer" ! #: c/c-decl.cc:9157 #, fuzzy, gcc-internal-format #| msgid "%s has no member named `%s'" msgid "struct has no members" msgstr "%s har intet medlem ved navn '%s'" ! #: c/c-decl.cc:9235 cp/decl.cc:14154 #, fuzzy, gcc-internal-format msgid "flexible array member in union" msgstr "fleksibelt tabelmedlem i union" ! #: c/c-decl.cc:9241 #, fuzzy, gcc-internal-format msgid "flexible array member not at end of struct" msgstr "fleksibelt tabelmedlem ikke i slutningen af struktur" ! #: c/c-decl.cc:9247 #, fuzzy, gcc-internal-format msgid "flexible array member in a struct with no named members" msgstr "fleksibelt tabelmedlem i union" ! #: c/c-decl.cc:9281 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "type %qT is too large" msgstr "%s er for stor" ! #: c/c-decl.cc:9335 #, fuzzy, gcc-internal-format msgid "type punning toggles scalar storage order" msgstr "ukendt registernavn '%s'" ! #: c/c-decl.cc:9402 #, gcc-internal-format msgid "union cannot be made transparent" msgstr "union kan ikke ikke gøres gennemsigtig" ! #: c/c-decl.cc:9564 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:9572 #, fuzzy, gcc-internal-format #| msgid "redeclaration of `enum %s'" msgid "redeclaration of %" msgstr "omerklæring af 'enum %s'" ! #: c/c-decl.cc:9583 #, gcc-internal-format msgid "% declared with but defined without fixed underlying type" msgstr "" ! #: c/c-decl.cc:9668 cp/decl.cc:16731 m2/gm2-gcc/m2type.cc:2070 #, gcc-internal-format msgid "specified mode too small for enumerated values" msgstr "" ! #: c/c-decl.cc:9687 #, gcc-internal-format msgid "enumeration values exceed range of largest integer" msgstr "enum-værdier overstige rækkevidden af det største heltal" ! #: c/c-decl.cc:9696 #, fuzzy, gcc-internal-format #| msgid "enumeration values exceed range of largest integer" msgid "enumeration values exceed range of %qs" msgstr "enum-værdier overstige rækkevidden af det største heltal" ! #: c/c-decl.cc:9823 c/c-decl.cc:9839 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qE is not an integer constant" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:9834 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qE is not an integer constant expression" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:9858 #, gcc-internal-format msgid "overflow in enumeration values" msgstr "enum-værdier for store" ! #: c/c-decl.cc:9865 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value outside the range of underlying type" msgstr "tabelindeks er ikke et heltal" ! #: c/c-decl.cc:9893 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value outside the range of %qs" msgstr "tabelindeks er ikke et heltal" ! #: c/c-decl.cc:9899 #, fuzzy, gcc-internal-format #| msgid "ISO C restricts enumerator values to range of `int'" msgid "ISO C restricts enumerator values to range of % before C2X" msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" ! #: c/c-decl.cc:10093 cp/decl.cc:5799 cp/decl.cc:17310 #, fuzzy, gcc-internal-format msgid "inline function %qD given attribute %qs" msgstr "inline funktion '%s' givet egenskaben noinline" ! #: c/c-decl.cc:10111 #, gcc-internal-format msgid "return type is an incomplete type" msgstr "returtypen er en ufuldstændig type" ! #: c/c-decl.cc:10123 #, fuzzy, gcc-internal-format #| msgid "return type defaults to `int'" msgid "return type defaults to %" msgstr "returtypen antages at være 'int'" ! #: c/c-decl.cc:10151 #, fuzzy, gcc-internal-format #| msgid "field `%s' declared as a function" msgid "%q+D defined as variadic function without prototype" msgstr "feltet '%s' er erklæret som en funktion" ! #: c/c-decl.cc:10209 #, fuzzy, gcc-internal-format msgid "no previous prototype for %qD" msgstr "ingen tidligere prototype for '%s'" ! #: c/c-decl.cc:10218 #, fuzzy, gcc-internal-format msgid "%qD was used with no prototype before its definition" msgstr "'%s' blev brugt uden en prototype før dens definition" ! #: c/c-decl.cc:10226 cp/decl.cc:17453 #, fuzzy, gcc-internal-format msgid "no previous declaration for %qD" msgstr "ingen tidligere erklæring af '%s'" ! #: c/c-decl.cc:10236 #, fuzzy, gcc-internal-format msgid "%qD was used with no declaration before its definition" msgstr "'%s' blev brugt uden en erklæring før dens definition" ! #: c/c-decl.cc:10255 #, fuzzy, gcc-internal-format msgid "return type of %qD is not %" msgstr "returtypen til '%s' er ikke 'int'" ! #: c/c-decl.cc:10257 #, gcc-internal-format msgid "%<_Atomic%>-qualified return type of %qD" msgstr "" ! #: c/c-decl.cc:10264 #, fuzzy, gcc-internal-format msgid "%qD is normally a non-static function" msgstr "'%s' er normalt en ikke-statisk funktion" ! #: c/c-decl.cc:10315 #, fuzzy, gcc-internal-format msgid "old-style parameter declarations in prototyped function definition" msgstr "kan ikke bruge '::' i parametererklæring" ! #: c/c-decl.cc:10330 #, gcc-internal-format msgid "traditional C rejects ISO C style function definitions" msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner" ! #: c/c-decl.cc:10347 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C does not support omitting parameter names in function definitions before C2X" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:10387 c/c-decl.cc:10391 #, fuzzy, gcc-internal-format #| msgid "traditional C rejects ISO C style function definitions" msgid "old-style function definition" msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner" ! #: c/c-decl.cc:10404 #, fuzzy, gcc-internal-format msgid "parameter name missing from parameter list" msgstr "parameternavn mangler fra parameterliste" ! #: c/c-decl.cc:10420 #, fuzzy, gcc-internal-format msgid "%qD declared as a non-parameter" msgstr "'%D' er erklæret som en ven" ! #: c/c-decl.cc:10428 #, fuzzy, gcc-internal-format msgid "multiple parameters named %qD" msgstr "flere parametre ved navn '%s'" ! #: c/c-decl.cc:10437 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %qD declared with void type" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:10466 c/c-decl.cc:10471 #, fuzzy, gcc-internal-format msgid "type of %qD defaults to %" msgstr "typen til '%s' antages at være 'int'" ! #: c/c-decl.cc:10491 #, fuzzy, gcc-internal-format #| msgid "parameter has incomplete type" msgid "parameter %qD has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:10498 #, fuzzy, gcc-internal-format msgid "declaration for parameter %qD but no such parameter" msgstr "erklæring af parameteren '%s', men ingen sådan parameter" ! #: c/c-decl.cc:10551 #, fuzzy, gcc-internal-format #| msgid "number of arguments doesn't match prototype" msgid "number of arguments doesn%'t match built-in prototype" msgstr "antallet af parametre passer ikke til prototypen" ! #: c/c-decl.cc:10562 #, fuzzy, gcc-internal-format #| msgid "number of arguments doesn't match prototype" msgid "number of arguments doesn%'t match prototype" msgstr "antallet af parametre passer ikke til prototypen" ! #: c/c-decl.cc:10565 c/c-decl.cc:10612 c/c-decl.cc:10626 #, fuzzy, gcc-internal-format msgid "prototype declaration" msgstr "tom erklæring" ! #: c/c-decl.cc:10604 #, fuzzy, gcc-internal-format msgid "promoted argument %qD doesn%'t match built-in prototype" msgstr "den forfremmede parameter '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10609 #, fuzzy, gcc-internal-format msgid "promoted argument %qD doesn%'t match prototype" msgstr "den forfremmede parameter '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10619 #, fuzzy, gcc-internal-format msgid "argument %qD doesn%'t match built-in prototype" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10624 #, fuzzy, gcc-internal-format msgid "argument %qD doesn%'t match prototype" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10882 cp/decl.cc:18234 #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: c/c-decl.cc:10901 cp/decl.cc:18318 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "parameter %qD set but not used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: c/c-decl.cc:10998 #, fuzzy, gcc-internal-format msgid "% loop initial declarations are only allowed in C99 or C11 mode" msgstr "begyndelseserklæring i 'for'-løkke benyttet uden for C99-tilstand" ! #: c/c-decl.cc:11003 #, gcc-internal-format msgid "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to compile your code" msgstr "" ! #: c/c-decl.cc:11010 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support %<[*]%> array declarators" msgid "ISO C90 does not support % loop initial declarations" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" ! #: c/c-decl.cc:11042 #, fuzzy, gcc-internal-format msgid "declaration of static variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der er en statisk variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11046 #, fuzzy, gcc-internal-format msgid "declaration of % variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11053 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'struct %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11058 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'union %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11062 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'enum %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11066 #, fuzzy, gcc-internal-format msgid "declaration of non-variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der ikke er en variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11352 #, gcc-internal-format msgid "incompatible address space qualifiers %qs and %qs" msgstr "" ! #: c/c-decl.cc:11411 c/c-decl.cc:11418 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of unit `%s'" msgid "duplicate %qE declaration specifier" msgstr "gentaget erklæring af enheden '%s'" ! #: c/c-decl.cc:11446 c/c-decl.cc:12447 #, fuzzy, gcc-internal-format #| msgid "multiple storage classes in declaration of `%s'" msgid "multiple storage classes in declaration specifiers" msgstr "flere lagringsklasser optræder i erklæringen af '%s'" ! #: c/c-decl.cc:11448 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs used with %" --- 47750,48652 ---- #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. ! #: c/c-decl.cc:6935 c/c-decl.cc:7331 #, gcc-internal-format msgid "static or type qualifiers in non-parameter array declarator" msgstr "static eller typemodifikationer i ikke-parametertabelerklæring" ! #: c/c-decl.cc:6998 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of voids" msgid "declaration of %qE as array of voids" msgstr "'%s' erklæret som en tabel af void" ! #: c/c-decl.cc:7000 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of voids" msgid "declaration of type name as array of voids" msgstr "'%s' erklæret som en tabel af void" ! #: c/c-decl.cc:7007 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of functions" msgid "declaration of %qE as array of functions" msgstr "'%s' erklæret som en tabel af funktioner" ! #: c/c-decl.cc:7010 #, fuzzy, gcc-internal-format #| msgid "declaration of `%s' as array of functions" msgid "declaration of type name as array of functions" msgstr "'%s' erklæret som en tabel af funktioner" ! #: c/c-decl.cc:7018 c/c-decl.cc:9263 #, gcc-internal-format msgid "invalid use of structure with flexible array member" msgstr "ugyldig brug af struktur med fleksibelt tabelmedlem" ! #: c/c-decl.cc:7050 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of array %qE has non-integer type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7054 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of unnamed array has non-integer type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7062 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of array %qE has incomplete type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7065 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' has non-integer type" msgid "size of unnamed array has incomplete type" msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype" ! #: c/c-decl.cc:7077 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids zero-size array `%s'" msgid "ISO C forbids zero-size array %qE" msgstr "ISO C forbyder tabellen '%s' med størrelsen nul" ! #: c/c-decl.cc:7080 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids zero-size array" msgid "ISO C forbids zero-size array" msgstr "ISO C++ forbyder tabel med størrelsen nul" ! #: c/c-decl.cc:7089 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of array %qE is negative" msgstr "størrelsen af tabel er negativ" ! #: c/c-decl.cc:7091 #, fuzzy, gcc-internal-format #| msgid "size of array is negative" msgid "size of unnamed array is negative" msgstr "størrelsen af tabel er negativ" ! #: c/c-decl.cc:7177 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of array %qE is too large" msgstr "størrelsen af tabellen '%s' er for stor" ! #: c/c-decl.cc:7180 #, fuzzy, gcc-internal-format #| msgid "size of array `%s' is too large" msgid "size of unnamed array is too large" msgstr "størrelsen af tabellen '%s' er for stor" ! #: c/c-decl.cc:7219 c/c-decl.cc:7880 #, gcc-internal-format msgid "ISO C90 does not support flexible array members" msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer" #. C99 6.7.5.2p4 ! #: c/c-decl.cc:7241 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%<[*]%> not in a declaration" msgstr "'%s' er ikke ved begyndelsen af erklæringen" ! #: c/c-decl.cc:7255 #, fuzzy, gcc-internal-format #| msgid "array type has incomplete element type" msgid "array type has incomplete element type %qT" msgstr "tabeltypen er af en ufuldstændig type" ! #: c/c-decl.cc:7261 #, fuzzy, gcc-internal-format #| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first" msgid "declaration of %qE as multidimensional array must have bounds for all dimensions except the first" msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første" ! #: c/c-decl.cc:7265 #, fuzzy, gcc-internal-format #| msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first" msgid "declaration of multidimensional array must have bounds for all dimensions except the first" msgstr "erklæring af '%D' som flerdimensional tabel skal have grænser for alle dimensioner pånær den første" ! #: c/c-decl.cc:7367 #, gcc-internal-format msgid "%qE declared as function returning a function" msgstr "%qE er erklæret som en funktion, der returnerer en funktion" ! #: c/c-decl.cc:7370 #, gcc-internal-format msgid "type name declared as function returning a function" msgstr "'typenavn er erklæret som en funktion, der returnerer en funktion" ! #: c/c-decl.cc:7377 #, gcc-internal-format msgid "%qE declared as function returning an array" msgstr "%qE er erklæret som en funktion, der returnerer en array" ! #: c/c-decl.cc:7380 #, gcc-internal-format msgid "type name declared as function returning an array" msgstr "typenavn er erklæret som en funktion, der returnerer en array" ! #: c/c-decl.cc:7421 #, gcc-internal-format msgid "function definition has qualified void return type" msgstr "funktiondefinition har kvalificeret void-returtype" ! #: c/c-decl.cc:7425 cp/decl.cc:13171 #, gcc-internal-format msgid "type qualifiers ignored on function return type" msgstr "typemodifikationer ignoreret i funktionsreturtypen" ! #: c/c-decl.cc:7464 c/c-decl.cc:7676 c/c-decl.cc:7730 c/c-decl.cc:7814 ! #: c/c-decl.cc:7936 c/c-parser.cc:3361 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%<_Atomic%>-qualified function type" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-decl.cc:7470 c/c-decl.cc:7682 c/c-decl.cc:7819 c/c-decl.cc:7941 #, gcc-internal-format msgid "ISO C forbids qualified function types" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-decl.cc:7567 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7571 #, gcc-internal-format msgid "%qs combined with % qualifier for %qE" msgstr "" ! #: c/c-decl.cc:7577 #, fuzzy, gcc-internal-format msgid "%qs specified for auto variable %qE" msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'" ! #: c/c-decl.cc:7593 #, fuzzy, gcc-internal-format #| msgid "type specifier omitted for parameter `%E'" msgid "%qs specified for parameter %qE" msgstr "typeangivelse udeladt for parameteren '%E'" ! #: c/c-decl.cc:7596 #, fuzzy, gcc-internal-format #| msgid "type specifier omitted for parameter" msgid "%qs specified for unnamed parameter" msgstr "typeangivelsen er ikke angivet for parameteren" ! #: c/c-decl.cc:7602 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "%qs specified for structure field %qE" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:7605 #, fuzzy, gcc-internal-format #| msgid "storage class specified for structure field `%s'" msgid "%qs specified for structure field" msgstr "lagringsklasse angivet for strukturfelt '%s'" ! #: c/c-decl.cc:7620 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE has atomic type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7622 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field has atomic type" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7631 #, fuzzy, gcc-internal-format msgid "alignment specified for typedef %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:7633 #, gcc-internal-format msgid "alignment specified for % object %qE" msgstr "" ! #: c/c-decl.cc:7638 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "alignment specified for parameter %qE" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:7640 #, fuzzy, gcc-internal-format #| msgid "storage class specified for parameter `%s'" msgid "alignment specified for unnamed parameter" msgstr "lagringsklasse angivet for parameter '%s'" ! #: c/c-decl.cc:7645 #, fuzzy, gcc-internal-format msgid "alignment specified for bit-field %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-decl.cc:7647 #, fuzzy, gcc-internal-format #| msgid "`__alignof' applied to a bit-field" msgid "alignment specified for unnamed bit-field" msgstr "'__alignof' benyttet på et bitfelt" ! #: c/c-decl.cc:7650 #, fuzzy, gcc-internal-format #| msgid "`%D' can only be specified for functions" msgid "alignment specified for function %qE" msgstr "'%D' kan kun angives for funktioner" ! #: c/c-decl.cc:7657 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" msgstr "" ! #: c/c-decl.cc:7660 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" msgstr "" ! #: c/c-decl.cc:7691 #, fuzzy, gcc-internal-format msgid "typedef %q+D declared %" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:7693 #, fuzzy, gcc-internal-format #| msgid "operator `%T' declared to return `%T'" msgid "typedef %q+D declared %<_Noreturn%>" msgstr "operator '%T' erklæret til at returnere '%T'" ! #: c/c-decl.cc:7736 #, gcc-internal-format msgid "ISO C forbids const or volatile function types" msgstr "ISO C forbyder const eller volatile funktionstyper" #. C99 6.7.2.1p8 ! #: c/c-decl.cc:7747 #, fuzzy, gcc-internal-format #| msgid "data member may not have variably modified type `%T'" msgid "a member of a structure or union cannot have a variably modified type" msgstr "datamedlem må ikke have variabelt ændret type '%T'" ! #: c/c-decl.cc:7764 cp/decl.cc:11730 #, fuzzy, gcc-internal-format #| msgid "variable or field declared void" msgid "variable or field %qE declared void" msgstr "variabel eller felt erklæret void" ! #: c/c-decl.cc:7804 #, gcc-internal-format msgid "attributes in parameter array declarator ignored" msgstr "egenskaber i parametertabelerklæring ignoreret" ! #: c/c-decl.cc:7846 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %q+D declared %" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:7848 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %q+D declared %<_Noreturn%>" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:7861 #, fuzzy, gcc-internal-format #| msgid "field `%s' declared as a function" msgid "field %qE declared as a function" msgstr "feltet '%s' er erklæret som en funktion" ! #: c/c-decl.cc:7868 #, fuzzy, gcc-internal-format #| msgid "field `%s' has incomplete type" msgid "field %qE has incomplete type" msgstr "feltet '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:7870 #, fuzzy, gcc-internal-format #| msgid "name `%T' has incomplete type" msgid "unnamed field has incomplete type" msgstr "navnet '%T' er af en ufuldstændig type" ! #: c/c-decl.cc:7907 c/c-decl.cc:7918 c/c-decl.cc:7921 #, fuzzy, gcc-internal-format #| msgid "invalid storage class for function `%s'" msgid "invalid storage class for function %qE" msgstr "ugyldig lagringsklasse for funktion '%s'" # at oversætte inline med et udsagnsord her bliver vist for tvetydigt ! #: c/c-decl.cc:7978 #, fuzzy, gcc-internal-format #| msgid "cannot inline function `main'" msgid "cannot inline function %" msgstr "funktionen 'main' kan ikke være inline" ! #: c/c-decl.cc:7980 #, gcc-internal-format msgid "% declared %<_Noreturn%>" msgstr "" ! #: c/c-decl.cc:7991 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C99 does not support %<_Noreturn%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:7994 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<_Noreturn%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:8013 #, fuzzy, gcc-internal-format #| msgid "parameter may not have variably modified type `%T'" msgid "% object has variably modified type" msgstr "parameter må ikke have variabelt ændret type '%T'" ! #: c/c-decl.cc:8017 c/c-parser.cc:10933 #, fuzzy, gcc-internal-format #| msgid "invalid qualifiers on non-member function type" msgid "invalid qualifiers for % object" msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype" ! #: c/c-decl.cc:8023 c/c-parser.cc:10936 #, fuzzy, gcc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid qualifiers for field of % object" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: c/c-decl.cc:8049 #, fuzzy, gcc-internal-format msgid "variable previously declared % redeclared %" msgstr "variabel eller felt '%s' erklæret void" ! #: c/c-decl.cc:8061 #, fuzzy, gcc-internal-format msgid "variable %q+D declared %" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:8063 #, fuzzy, gcc-internal-format msgid "variable %q+D declared %<_Noreturn%>" msgstr "variablen '%s' er erklæret 'inline'" ! #: c/c-decl.cc:8098 #, fuzzy, gcc-internal-format msgid "non-nested function with variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-decl.cc:8100 #, gcc-internal-format msgid "object with variably modified type must have no linkage" msgstr "" ! #: c/c-decl.cc:8208 c/c-decl.cc:10207 #, fuzzy, gcc-internal-format #| msgid "function declaration isn't a prototype" msgid "function declaration isn%'t a prototype" msgstr "funktionserklæringen er ikke en prototype" ! #: c/c-decl.cc:8218 #, gcc-internal-format msgid "parameter names (without types) in function declaration" msgstr "parameternavne (uden typer) i funktionserklæringen" ! #: c/c-decl.cc:8263 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8267 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter has incomplete type" msgid "parameter %u has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8278 #, fuzzy, gcc-internal-format msgid "parameter %u (%q+D) has void type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:8282 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter `%s' has incomplete type" msgid "parameter %u has void type" msgstr "parameteren '%s' er af en ufuldstændig type" ! #: c/c-decl.cc:8357 #, fuzzy, gcc-internal-format msgid "% as only parameter may not be qualified" msgstr "typedef-navn kan ikke klassemodificeres" ! #: c/c-decl.cc:8361 c/c-decl.cc:8397 #, fuzzy, gcc-internal-format msgid "% must be the only parameter" msgstr "ugyldig brug af skabelonstypeparameter" ! #: c/c-decl.cc:8391 #, fuzzy, gcc-internal-format msgid "parameter %q+D has just a forward declaration" msgstr "parameteren '%s' har kun en forhåndserklæring" ! #: c/c-decl.cc:8437 #, gcc-internal-format msgid "%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8443 #, gcc-internal-format, gfc-internal-format msgid "anonymous %s declared inside parameter list will not be visible outside of this definition or declaration" msgstr "" ! #: c/c-decl.cc:8558 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "enum type defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8564 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "struct defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8570 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "union defined here" msgstr "'%s' tidligere defineret her" ! #: c/c-decl.cc:8653 #, fuzzy, gcc-internal-format #| msgid "redefinition of `union %s'" msgid "redefinition of %" msgstr "omdefinering af 'union %s'" ! #: c/c-decl.cc:8655 #, fuzzy, gcc-internal-format #| msgid "redefinition of `struct %s'" msgid "redefinition of %" msgstr "omdefinering af 'struct %s'" ! #: c/c-decl.cc:8664 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:8666 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:8696 c/c-decl.cc:9606 #, gcc-internal-format msgid "defining type in %qs expression is invalid in C++" msgstr "" ! #: c/c-decl.cc:8702 c/c-decl.cc:9612 #, fuzzy, gcc-internal-format #| msgid "unknown field `%s' specified in initializer" msgid "%qT defined in underspecified object initializer" msgstr "ukendt felt '%s' angivet i startværdi" ! #: c/c-decl.cc:8766 cp/decl.cc:5479 #, gcc-internal-format msgid "declaration does not declare anything" msgstr "erklæring erklærer ikke noget" ! #: c/c-decl.cc:8771 #, fuzzy, gcc-internal-format #| msgid "ISO C doesn't support unnamed structs/unions" msgid "ISO C99 doesn%'t support unnamed structs/unions" msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner" ! #: c/c-decl.cc:8774 #, fuzzy, gcc-internal-format #| msgid "ISO C doesn't support unnamed structs/unions" msgid "ISO C90 doesn%'t support unnamed structs/unions" msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner" ! #: c/c-decl.cc:8867 c/c-decl.cc:8885 c/c-decl.cc:8946 #, fuzzy, gcc-internal-format #| msgid "duplicate member `%D'" msgid "duplicate member %q+D" msgstr "medlemmet '%D' optræder mere end én gang" ! #: c/c-decl.cc:8972 #, gcc-internal-format msgid "empty struct has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:8975 #, gcc-internal-format msgid "empty union has size 0 in C, size 1 in C++" msgstr "" ! #: c/c-decl.cc:9155 #, fuzzy, gcc-internal-format #| msgid "named members" msgid "union has no named members" msgstr "navngivne medlemmer" ! #: c/c-decl.cc:9157 #, fuzzy, gcc-internal-format msgid "union has no members" msgstr "anonym sammensat type uden medlemmer" ! #: c/c-decl.cc:9162 #, fuzzy, gcc-internal-format #| msgid "named members" msgid "struct has no named members" msgstr "navngivne medlemmer" ! #: c/c-decl.cc:9164 #, fuzzy, gcc-internal-format #| msgid "%s has no member named `%s'" msgid "struct has no members" msgstr "%s har intet medlem ved navn '%s'" ! #: c/c-decl.cc:9242 cp/decl.cc:14154 #, fuzzy, gcc-internal-format msgid "flexible array member in union" msgstr "fleksibelt tabelmedlem i union" ! #: c/c-decl.cc:9248 #, fuzzy, gcc-internal-format msgid "flexible array member not at end of struct" msgstr "fleksibelt tabelmedlem ikke i slutningen af struktur" ! #: c/c-decl.cc:9254 #, fuzzy, gcc-internal-format msgid "flexible array member in a struct with no named members" msgstr "fleksibelt tabelmedlem i union" ! #: c/c-decl.cc:9288 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "type %qT is too large" msgstr "%s er for stor" ! #: c/c-decl.cc:9342 #, fuzzy, gcc-internal-format msgid "type punning toggles scalar storage order" msgstr "ukendt registernavn '%s'" ! #: c/c-decl.cc:9409 #, gcc-internal-format msgid "union cannot be made transparent" msgstr "union kan ikke ikke gøres gennemsigtig" ! #: c/c-decl.cc:9571 #, fuzzy, gcc-internal-format #| msgid "nested redefinition of `%s'" msgid "nested redefinition of %" msgstr "indlejret omdefinering af '%s'" ! #: c/c-decl.cc:9579 #, fuzzy, gcc-internal-format #| msgid "redeclaration of `enum %s'" msgid "redeclaration of %" msgstr "omerklæring af 'enum %s'" ! #: c/c-decl.cc:9590 #, gcc-internal-format msgid "% declared with but defined without fixed underlying type" msgstr "" ! #: c/c-decl.cc:9675 cp/decl.cc:16740 m2/gm2-gcc/m2type.cc:2070 #, gcc-internal-format msgid "specified mode too small for enumerated values" msgstr "" ! #: c/c-decl.cc:9694 #, gcc-internal-format msgid "enumeration values exceed range of largest integer" msgstr "enum-værdier overstige rækkevidden af det største heltal" ! #: c/c-decl.cc:9703 #, fuzzy, gcc-internal-format #| msgid "enumeration values exceed range of largest integer" msgid "enumeration values exceed range of %qs" msgstr "enum-værdier overstige rækkevidden af det største heltal" ! #: c/c-decl.cc:9830 c/c-decl.cc:9846 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qE is not an integer constant" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:9841 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qE is not an integer constant expression" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: c/c-decl.cc:9865 #, gcc-internal-format msgid "overflow in enumeration values" msgstr "enum-værdier for store" ! #: c/c-decl.cc:9872 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value outside the range of underlying type" msgstr "tabelindeks er ikke et heltal" ! #: c/c-decl.cc:9900 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value outside the range of %qs" msgstr "tabelindeks er ikke et heltal" ! #: c/c-decl.cc:9906 #, fuzzy, gcc-internal-format #| msgid "ISO C restricts enumerator values to range of `int'" msgid "ISO C restricts enumerator values to range of % before C2X" msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" ! #: c/c-decl.cc:10100 cp/decl.cc:5799 cp/decl.cc:17319 #, fuzzy, gcc-internal-format msgid "inline function %qD given attribute %qs" msgstr "inline funktion '%s' givet egenskaben noinline" ! #: c/c-decl.cc:10118 #, gcc-internal-format msgid "return type is an incomplete type" msgstr "returtypen er en ufuldstændig type" ! #: c/c-decl.cc:10130 #, fuzzy, gcc-internal-format #| msgid "return type defaults to `int'" msgid "return type defaults to %" msgstr "returtypen antages at være 'int'" ! #: c/c-decl.cc:10158 #, fuzzy, gcc-internal-format #| msgid "field `%s' declared as a function" msgid "%q+D defined as variadic function without prototype" msgstr "feltet '%s' er erklæret som en funktion" ! #: c/c-decl.cc:10216 #, fuzzy, gcc-internal-format msgid "no previous prototype for %qD" msgstr "ingen tidligere prototype for '%s'" ! #: c/c-decl.cc:10225 #, fuzzy, gcc-internal-format msgid "%qD was used with no prototype before its definition" msgstr "'%s' blev brugt uden en prototype før dens definition" ! #: c/c-decl.cc:10233 cp/decl.cc:17462 #, fuzzy, gcc-internal-format msgid "no previous declaration for %qD" msgstr "ingen tidligere erklæring af '%s'" ! #: c/c-decl.cc:10243 #, fuzzy, gcc-internal-format msgid "%qD was used with no declaration before its definition" msgstr "'%s' blev brugt uden en erklæring før dens definition" ! #: c/c-decl.cc:10262 #, fuzzy, gcc-internal-format msgid "return type of %qD is not %" msgstr "returtypen til '%s' er ikke 'int'" ! #: c/c-decl.cc:10264 #, gcc-internal-format msgid "%<_Atomic%>-qualified return type of %qD" msgstr "" ! #: c/c-decl.cc:10271 #, fuzzy, gcc-internal-format msgid "%qD is normally a non-static function" msgstr "'%s' er normalt en ikke-statisk funktion" ! #: c/c-decl.cc:10322 #, fuzzy, gcc-internal-format msgid "old-style parameter declarations in prototyped function definition" msgstr "kan ikke bruge '::' i parametererklæring" ! #: c/c-decl.cc:10337 #, gcc-internal-format msgid "traditional C rejects ISO C style function definitions" msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner" ! #: c/c-decl.cc:10354 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C does not support omitting parameter names in function definitions before C2X" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:10394 c/c-decl.cc:10398 #, fuzzy, gcc-internal-format #| msgid "traditional C rejects ISO C style function definitions" msgid "old-style function definition" msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner" ! #: c/c-decl.cc:10411 #, fuzzy, gcc-internal-format msgid "parameter name missing from parameter list" msgstr "parameternavn mangler fra parameterliste" ! #: c/c-decl.cc:10427 #, fuzzy, gcc-internal-format msgid "%qD declared as a non-parameter" msgstr "'%D' er erklæret som en ven" ! #: c/c-decl.cc:10435 #, fuzzy, gcc-internal-format msgid "multiple parameters named %qD" msgstr "flere parametre ved navn '%s'" ! #: c/c-decl.cc:10444 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' declared void" msgid "parameter %qD declared with void type" msgstr "parameteren '%D' erklæret void" ! #: c/c-decl.cc:10473 c/c-decl.cc:10478 #, fuzzy, gcc-internal-format msgid "type of %qD defaults to %" msgstr "typen til '%s' antages at være 'int'" ! #: c/c-decl.cc:10498 #, fuzzy, gcc-internal-format #| msgid "parameter has incomplete type" msgid "parameter %qD has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-decl.cc:10505 #, fuzzy, gcc-internal-format msgid "declaration for parameter %qD but no such parameter" msgstr "erklæring af parameteren '%s', men ingen sådan parameter" ! #: c/c-decl.cc:10558 #, fuzzy, gcc-internal-format #| msgid "number of arguments doesn't match prototype" msgid "number of arguments doesn%'t match built-in prototype" msgstr "antallet af parametre passer ikke til prototypen" ! #: c/c-decl.cc:10569 #, fuzzy, gcc-internal-format #| msgid "number of arguments doesn't match prototype" msgid "number of arguments doesn%'t match prototype" msgstr "antallet af parametre passer ikke til prototypen" ! #: c/c-decl.cc:10572 c/c-decl.cc:10619 c/c-decl.cc:10633 #, fuzzy, gcc-internal-format msgid "prototype declaration" msgstr "tom erklæring" ! #: c/c-decl.cc:10611 #, fuzzy, gcc-internal-format msgid "promoted argument %qD doesn%'t match built-in prototype" msgstr "den forfremmede parameter '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10616 #, fuzzy, gcc-internal-format msgid "promoted argument %qD doesn%'t match prototype" msgstr "den forfremmede parameter '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10626 #, fuzzy, gcc-internal-format msgid "argument %qD doesn%'t match built-in prototype" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10631 #, fuzzy, gcc-internal-format msgid "argument %qD doesn%'t match prototype" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-decl.cc:10889 cp/decl.cc:18243 #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: c/c-decl.cc:10908 cp/decl.cc:18327 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "parameter %qD set but not used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: c/c-decl.cc:11005 #, fuzzy, gcc-internal-format msgid "% loop initial declarations are only allowed in C99 or C11 mode" msgstr "begyndelseserklæring i 'for'-løkke benyttet uden for C99-tilstand" ! #: c/c-decl.cc:11010 #, gcc-internal-format msgid "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to compile your code" msgstr "" ! #: c/c-decl.cc:11017 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support %<[*]%> array declarators" msgid "ISO C90 does not support % loop initial declarations" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" ! #: c/c-decl.cc:11049 #, fuzzy, gcc-internal-format msgid "declaration of static variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der er en statisk variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11053 #, fuzzy, gcc-internal-format msgid "declaration of % variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11060 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'struct %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11065 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'union %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11069 #, fuzzy, gcc-internal-format msgid "% declared in % loop initial declaration" msgstr "'enum %s' erklæret i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11073 #, fuzzy, gcc-internal-format msgid "declaration of non-variable %qD in % loop initial declaration" msgstr "erklæring af '%s' der ikke er en variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-decl.cc:11359 #, gcc-internal-format msgid "incompatible address space qualifiers %qs and %qs" msgstr "" ! #: c/c-decl.cc:11418 c/c-decl.cc:11425 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of unit `%s'" msgid "duplicate %qE declaration specifier" msgstr "gentaget erklæring af enheden '%s'" ! #: c/c-decl.cc:11453 c/c-decl.cc:12454 #, fuzzy, gcc-internal-format #| msgid "multiple storage classes in declaration of `%s'" msgid "multiple storage classes in declaration specifiers" msgstr "flere lagringsklasser optræder i erklæringen af '%s'" ! #: c/c-decl.cc:11455 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs used with %" *************** msgstr "%s brugt med '%%%c' %s-formateri *** 48637,48743 **** #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:11453 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "% used with %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-decl.cc:11466 c/c-decl.cc:11850 c/c-decl.cc:12245 #, fuzzy, gcc-internal-format #| msgid "two or more data types in declaration of `%s'" msgid "two or more data types in declaration specifiers" msgstr "mere end én datatype i erklæringen af '%s'" ! #: c/c-decl.cc:11478 cp/parser.cc:33541 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" msgstr "'long long long' er for langt for GCC" ! #: c/c-decl.cc:11491 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C90 does not support %" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:11720 c/c-parser.cc:10584 #, gcc-internal-format msgid "ISO C90 does not support complex types" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:11766 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support saturating types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:11837 c/c-decl.cc:12382 c/c-decl.cc:12441 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qE" msgstr "'%s' optræder mere end én gang" ! #: c/c-decl.cc:11897 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %<__int%d%> types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:11919 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "%<__int%d%> is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: c/c-decl.cc:11962 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support boolean types" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:12081 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support the %<_Float%d%s%> type" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12131 cp/parser.cc:19728 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "%<_Float%d%s%> is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: c/c-decl.cc:12202 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C does not support decimal floating-point before C2X" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:12226 c/c-decl.cc:12543 c/c-parser.cc:9594 #, fuzzy, gcc-internal-format #| msgid "-fdata-sections not supported for this target" msgid "fixed-point types not supported for this target" msgstr "-fdata-sections understøttes ikke på målarkitekturen" ! #: c/c-decl.cc:12228 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support fixed-point types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12261 #, gcc-internal-format msgid "C++ lookup of %qD would return a field, not a type" msgstr "" ! #: c/c-decl.cc:12274 #, fuzzy, gcc-internal-format #| msgid "`%s' fails to be a typedef or built in type" msgid "%qE fails to be a typedef or built in type" msgstr "'%s' er hverken en typedef eller en indbygget type" ! #: c/c-decl.cc:12326 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not at beginning of declaration" --- 48654,48760 ---- #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:11460 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "% used with %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-decl.cc:11473 c/c-decl.cc:11857 c/c-decl.cc:12252 #, fuzzy, gcc-internal-format #| msgid "two or more data types in declaration of `%s'" msgid "two or more data types in declaration specifiers" msgstr "mere end én datatype i erklæringen af '%s'" ! #: c/c-decl.cc:11485 cp/parser.cc:33540 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" msgstr "'long long long' er for langt for GCC" ! #: c/c-decl.cc:11498 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C90 does not support %" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:11727 c/c-parser.cc:10587 #, gcc-internal-format msgid "ISO C90 does not support complex types" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:11773 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support saturating types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:11844 c/c-decl.cc:12389 c/c-decl.cc:12448 #, fuzzy, gcc-internal-format #| msgid "duplicate `%s'" msgid "duplicate %qE" msgstr "'%s' optræder mere end én gang" ! #: c/c-decl.cc:11904 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support %<__int%d%> types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:11926 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "%<__int%d%> is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: c/c-decl.cc:11969 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support boolean types" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-decl.cc:12088 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support the %<_Float%d%s%> type" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12138 cp/parser.cc:19728 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "%<_Float%d%s%> is not supported on this target" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: c/c-decl.cc:12209 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C does not support decimal floating-point before C2X" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:12233 c/c-decl.cc:12550 c/c-parser.cc:9597 #, fuzzy, gcc-internal-format #| msgid "-fdata-sections not supported for this target" msgid "fixed-point types not supported for this target" msgstr "-fdata-sections understøttes ikke på målarkitekturen" ! #: c/c-decl.cc:12235 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support fixed-point types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12268 #, gcc-internal-format msgid "C++ lookup of %qD would return a field, not a type" msgstr "" ! #: c/c-decl.cc:12281 #, fuzzy, gcc-internal-format #| msgid "`%s' fails to be a typedef or built in type" msgid "%qE fails to be a typedef or built in type" msgstr "'%s' er hverken en typedef eller en indbygget type" ! #: c/c-decl.cc:12333 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not at beginning of declaration" *************** msgstr "'%s' er ikke ved begyndelsen af *** 48745,48900 **** #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:12347 c/c-decl.cc:12424 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12349 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12351 c/c-decl.cc:12420 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12353 c/c-decl.cc:12390 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qE used with %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-decl.cc:12367 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8938 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C99 does not support %qE" msgstr "%s understøtter ikke %s" ! #: c/c-decl.cc:12370 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8941 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C90 does not support %qE" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:12396 #, fuzzy, gcc-internal-format #| msgid "`__thread' before `extern'" msgid "%<__thread%> before %" msgstr "'__thread' før 'extern'" ! #: c/c-decl.cc:12405 #, fuzzy, gcc-internal-format #| msgid "`__thread' before `static'" msgid "%<__thread%> before %" msgstr "'__thread' før 'static'" ! #: c/c-decl.cc:12411 #, fuzzy, gcc-internal-format #| msgid "typedef declared %" msgid "% used with %" msgstr "typedef erklæret %" ! #: c/c-decl.cc:12418 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "%qE used with %" msgstr "forventede %" ! #: c/c-decl.cc:12426 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qE used with %qs" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12439 #, gcc-internal-format msgid "duplicate %<_Thread_local%> or %<__thread%>" msgstr "" ! #: c/c-decl.cc:12455 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs used with %qE" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12463 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "% used with %qE" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12540 #, gcc-internal-format msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" msgstr "" ! #: c/c-decl.cc:12555 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support plain `complex' meaning `double complex'" msgid "ISO C does not support plain % meaning %" msgstr "ISO C understøtter ikke at blot 'complex' betyder 'double complex'" ! #: c/c-decl.cc:12566 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support % type deduction before C2X" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12595 #, gcc-internal-format msgid "%<__auto_type%> followed by %<[[]]%> attributes" msgstr "" ! #: c/c-decl.cc:12621 c/c-decl.cc:12637 c/c-decl.cc:12663 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:13091 cp/semantics.cc:6071 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.cc:13095 cp/semantics.cc:6075 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-fold.cc:388 c/c-typeck.cc:12632 cp/typeck.cc:5636 #, fuzzy, gcc-internal-format #| msgid "left shift count is negative" msgid "left shift of negative value" msgstr "venstreskiftsantal er negativ" ! #: c/c-fold.cc:398 c/c-typeck.cc:12641 cp/typeck.cc:5644 #, gcc-internal-format msgid "left shift count is negative" msgstr "venstreskiftsantal er negativ" ! #: c/c-fold.cc:399 c/c-typeck.cc:12569 cp/typeck.cc:5583 #, gcc-internal-format msgid "right shift count is negative" msgstr "højreskiftsantal er negativ" ! #: c/c-fold.cc:407 c/c-typeck.cc:12660 cp/typeck.cc:5652 #, gcc-internal-format msgid "left shift count >= width of type" msgstr "venstreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:408 c/c-typeck.cc:12593 cp/typeck.cc:5594 #, gcc-internal-format msgid "right shift count >= width of type" msgstr "højreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:415 c/c-typeck.cc:12652 #, fuzzy, gcc-internal-format #| msgid "left shift count >= width of type" msgid "left shift count >= width of vector element" msgstr "venstreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:416 c/c-typeck.cc:12580 #, fuzzy, gcc-internal-format #| msgid "right shift count >= width of type" msgid "right shift count >= width of vector element" --- 48762,48917 ---- #. auto may only be used with another storage class specifier, #. such as constexpr, if the type is inferred. ! #: c/c-decl.cc:12354 c/c-decl.cc:12431 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12356 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12358 c/c-decl.cc:12427 #, gcc-internal-format msgid "%qE used with %" msgstr "" ! #: c/c-decl.cc:12360 c/c-decl.cc:12397 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qE used with %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-decl.cc:12374 c/c-parser.cc:2924 c/c-parser.cc:4208 c/c-parser.cc:8941 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C99 does not support %qE" msgstr "%s understøtter ikke %s" ! #: c/c-decl.cc:12377 c/c-parser.cc:2927 c/c-parser.cc:4211 c/c-parser.cc:8944 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support `long long'" msgid "ISO C90 does not support %qE" msgstr "ISO C90 understøtter ikke 'long long'" ! #: c/c-decl.cc:12403 #, fuzzy, gcc-internal-format #| msgid "`__thread' before `extern'" msgid "%<__thread%> before %" msgstr "'__thread' før 'extern'" ! #: c/c-decl.cc:12412 #, fuzzy, gcc-internal-format #| msgid "`__thread' before `static'" msgid "%<__thread%> before %" msgstr "'__thread' før 'static'" ! #: c/c-decl.cc:12418 #, fuzzy, gcc-internal-format #| msgid "typedef declared %" msgid "% used with %" msgstr "typedef erklæret %" ! #: c/c-decl.cc:12425 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "%qE used with %" msgstr "forventede %" ! #: c/c-decl.cc:12433 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qE used with %qs" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12446 #, gcc-internal-format msgid "duplicate %<_Thread_local%> or %<__thread%>" msgstr "" ! #: c/c-decl.cc:12462 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs used with %qE" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12470 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "% used with %qE" msgstr "%s brugt med '%%%c' %s-formatering" ! #: c/c-decl.cc:12547 #, gcc-internal-format msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" msgstr "" ! #: c/c-decl.cc:12562 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support plain `complex' meaning `double complex'" msgid "ISO C does not support plain % meaning %" msgstr "ISO C understøtter ikke at blot 'complex' betyder 'double complex'" ! #: c/c-decl.cc:12573 #, fuzzy, gcc-internal-format #| msgid "ISO C does not support complex integer types" msgid "ISO C does not support % type deduction before C2X" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:12602 #, gcc-internal-format msgid "%<__auto_type%> followed by %<[[]]%> attributes" msgstr "" ! #: c/c-decl.cc:12628 c/c-decl.cc:12644 c/c-decl.cc:12670 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C understøtter ikke komplekse heltalstyper" ! #: c/c-decl.cc:13098 cp/semantics.cc:6071 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.cc:13102 cp/semantics.cc:6075 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-fold.cc:388 c/c-typeck.cc:12637 cp/typeck.cc:5636 #, fuzzy, gcc-internal-format #| msgid "left shift count is negative" msgid "left shift of negative value" msgstr "venstreskiftsantal er negativ" ! #: c/c-fold.cc:398 c/c-typeck.cc:12646 cp/typeck.cc:5644 #, gcc-internal-format msgid "left shift count is negative" msgstr "venstreskiftsantal er negativ" ! #: c/c-fold.cc:399 c/c-typeck.cc:12574 cp/typeck.cc:5583 #, gcc-internal-format msgid "right shift count is negative" msgstr "højreskiftsantal er negativ" ! #: c/c-fold.cc:407 c/c-typeck.cc:12665 cp/typeck.cc:5652 #, gcc-internal-format msgid "left shift count >= width of type" msgstr "venstreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:408 c/c-typeck.cc:12598 cp/typeck.cc:5594 #, gcc-internal-format msgid "right shift count >= width of type" msgstr "højreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:415 c/c-typeck.cc:12657 #, fuzzy, gcc-internal-format #| msgid "left shift count >= width of type" msgid "left shift count >= width of vector element" msgstr "venstreskiftsantal er større end bredden af typen" ! #: c/c-fold.cc:416 c/c-typeck.cc:12585 #, fuzzy, gcc-internal-format #| msgid "right shift count >= width of type" msgid "right shift count >= width of vector element" *************** msgstr "" *** 48916,48922 **** msgid "to match this %qs" msgstr " anden type her" ! #: c/c-parser.cc:1367 cp/parser.cc:33775 #, fuzzy, gcc-internal-format #| msgid "garbage at end of #line" msgid "expected end of line" --- 48933,48939 ---- msgid "to match this %qs" msgstr " anden type her" ! #: c/c-parser.cc:1367 cp/parser.cc:33774 #, fuzzy, gcc-internal-format #| msgid "garbage at end of #line" msgid "expected end of line" *************** msgstr "ragelse i slutningen af #line" *** 48928,48940 **** msgid "ISO C forbids an empty translation unit" msgstr "ISO C forbyder en tom kildefil" ! #: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23168 ! #: cp/parser.cc:47461 cp/semantics.cc:3400 cp/semantics.cc:3409 #, gcc-internal-format msgid "%qs without corresponding %qs" msgstr "" ! #: c/c-parser.cc:1901 c/c-parser.cc:11990 #, fuzzy, gcc-internal-format #| msgid "ISO C does not allow extra `;' outside of a function" msgid "ISO C does not allow extra %<;%> outside of a function" --- 48945,48957 ---- msgid "ISO C forbids an empty translation unit" msgstr "ISO C forbyder en tom kildefil" ! #: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23171 ! #: cp/parser.cc:47460 cp/semantics.cc:3400 cp/semantics.cc:3409 #, gcc-internal-format msgid "%qs without corresponding %qs" msgstr "" ! #: c/c-parser.cc:1901 c/c-parser.cc:11993 #, fuzzy, gcc-internal-format #| msgid "ISO C does not allow extra `;' outside of a function" msgid "ISO C does not allow extra %<;%> outside of a function" *************** msgstr "'%D' har intet medlem ved navn ' *** 48973,48981 **** msgid "unknown type name %qE" msgstr "ukendt registernavn: %s" ! #: c/c-parser.cc:2192 c/c-parser.cc:13312 c/c-parser.cc:20918 ! #: c/c-parser.cc:21513 c/c-parser.cc:22067 cp/parser.cc:44924 ! #: cp/parser.cc:49523 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of unit `%s'" msgid "expected declaration specifiers" --- 48990,48998 ---- msgid "unknown type name %qE" msgstr "ukendt registernavn: %s" ! #: c/c-parser.cc:2192 c/c-parser.cc:13315 c/c-parser.cc:20921 ! #: c/c-parser.cc:21516 c/c-parser.cc:22070 cp/parser.cc:44923 ! #: cp/parser.cc:49522 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of unit `%s'" msgid "expected declaration specifiers" *************** msgstr "sektionsegenskaben er ikke tilla *** 49009,49015 **** msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.cc:2297 cp/parser.cc:36028 cp/parser.cc:36100 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored for `%s'" msgid "prefix attributes are ignored for methods" --- 49026,49032 ---- msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.cc:2297 cp/parser.cc:36027 cp/parser.cc:36099 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored for `%s'" msgid "prefix attributes are ignored for methods" *************** msgstr "egenskaben '%s' kan kun anvendes *** 49026,49037 **** msgid "unexpected attribute" msgstr "uventet operand" ! #: c/c-parser.cc:2363 c/c-parser.cc:6747 cp/parser.cc:12616 cp/parser.cc:12838 #, fuzzy, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "sektionsegenskaben er ikke tilladt for '%s'" ! #: c/c-parser.cc:2366 c/c-parser.cc:6730 cp/cp-gimplify.cc:3264 #, fuzzy, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "sektionsegenskaben er ikke tilladt for '%s'" --- 49043,49054 ---- msgid "unexpected attribute" msgstr "uventet operand" ! #: c/c-parser.cc:2363 c/c-parser.cc:6750 cp/parser.cc:12616 cp/parser.cc:12838 #, fuzzy, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "sektionsegenskaben er ikke tilladt for '%s'" ! #: c/c-parser.cc:2366 c/c-parser.cc:6733 cp/cp-gimplify.cc:3266 #, fuzzy, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "sektionsegenskaben er ikke tilladt for '%s'" *************** msgstr "" *** 49094,49100 **** msgid "ISO C forbids nested functions" msgstr "ISO C forbyder indlejrede funktioner" ! #: c/c-parser.cc:2950 c/c-parser.cc:7869 c/c-parser.cc:13373 #, fuzzy, gcc-internal-format #| msgid "_Pragma takes a parenthesized string literal" msgid "expected string literal" --- 49111,49117 ---- msgid "ISO C forbids nested functions" msgstr "ISO C forbyder indlejrede funktioner" ! #: c/c-parser.cc:2950 c/c-parser.cc:7872 c/c-parser.cc:13376 #, fuzzy, gcc-internal-format #| msgid "_Pragma takes a parenthesized string literal" msgid "expected string literal" *************** msgid "empty enum is invalid" *** 49199,49218 **** msgstr "skabelonsparameter %d er ugyldig" #: c/c-parser.cc:3588 c/c-parser.cc:4640 c/c-parser.cc:5361 c/c-parser.cc:5373 ! #: c/c-parser.cc:5835 c/c-parser.cc:6147 c/c-parser.cc:7736 c/c-parser.cc:7819 ! #: c/c-parser.cc:8795 c/c-parser.cc:9112 c/c-parser.cc:9121 c/c-parser.cc:9654 ! #: c/c-parser.cc:9841 c/c-parser.cc:9869 c/c-parser.cc:10751 ! #: c/c-parser.cc:11269 c/c-parser.cc:11307 c/c-parser.cc:11572 ! #: c/c-parser.cc:11623 c/c-parser.cc:11783 c/c-parser.cc:11813 ! #: c/c-parser.cc:11821 c/c-parser.cc:11850 c/c-parser.cc:11863 ! #: c/c-parser.cc:12169 c/c-parser.cc:12293 c/c-parser.cc:12878 ! #: c/c-parser.cc:12931 c/c-parser.cc:12947 c/c-parser.cc:12993 ! #: c/c-parser.cc:13838 c/c-parser.cc:13884 c/c-parser.cc:16614 ! #: c/c-parser.cc:16751 c/c-parser.cc:17466 c/c-parser.cc:19902 ! #: c/c-parser.cc:22595 c/c-parser.cc:22786 c/gimple-parser.cc:1806 ! #: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33778 ! #: cp/parser.cc:37005 cp/parser.cc:39931 cp/parser.cc:40123 cp/parser.cc:46507 ! #: cp/parser.cc:48806 #, fuzzy, gcc-internal-format msgid "expected identifier" msgstr "uventet operand" --- 49216,49235 ---- msgstr "skabelonsparameter %d er ugyldig" #: c/c-parser.cc:3588 c/c-parser.cc:4640 c/c-parser.cc:5361 c/c-parser.cc:5373 ! #: c/c-parser.cc:5838 c/c-parser.cc:6150 c/c-parser.cc:7739 c/c-parser.cc:7822 ! #: c/c-parser.cc:8798 c/c-parser.cc:9115 c/c-parser.cc:9124 c/c-parser.cc:9657 ! #: c/c-parser.cc:9844 c/c-parser.cc:9872 c/c-parser.cc:10754 ! #: c/c-parser.cc:11272 c/c-parser.cc:11310 c/c-parser.cc:11575 ! #: c/c-parser.cc:11626 c/c-parser.cc:11786 c/c-parser.cc:11816 ! #: c/c-parser.cc:11824 c/c-parser.cc:11853 c/c-parser.cc:11866 ! #: c/c-parser.cc:12172 c/c-parser.cc:12296 c/c-parser.cc:12881 ! #: c/c-parser.cc:12934 c/c-parser.cc:12950 c/c-parser.cc:12996 ! #: c/c-parser.cc:13841 c/c-parser.cc:13887 c/c-parser.cc:16617 ! #: c/c-parser.cc:16754 c/c-parser.cc:17469 c/c-parser.cc:19905 ! #: c/c-parser.cc:22598 c/c-parser.cc:22789 c/gimple-parser.cc:1806 ! #: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33777 ! #: cp/parser.cc:37004 cp/parser.cc:39930 cp/parser.cc:40122 cp/parser.cc:46506 ! #: cp/parser.cc:48805 #, fuzzy, gcc-internal-format msgid "expected identifier" msgstr "uventet operand" *************** msgstr "erklæring af '%s' på øverste *** 49295,49301 **** msgid "parentheses must be omitted if attribute argument list is empty" msgstr "" ! #: c/c-parser.cc:5398 cp/parser.cc:29399 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute does not take any arguments" --- 49312,49318 ---- msgid "parentheses must be omitted if attribute argument list is empty" msgstr "" ! #: c/c-parser.cc:5398 cp/parser.cc:29398 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "%qE attribute does not take any arguments" *************** msgstr "egenskaben '%s' kræver en helta *** 49307,49381 **** msgid "ISO C does not support %<[[]]%> attributes before C2X" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" ! #: c/c-parser.cc:5682 c/c-parser.cc:5742 c/c-typeck.cc:8638 #, fuzzy, gcc-internal-format #| msgid "variable-sized object may not be initialized" msgid "variable-sized object may not be initialized except with an empty initializer" msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi" ! #: c/c-parser.cc:5736 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids empty initializer braces" msgid "ISO C forbids empty initializer braces before C2X" msgstr "ISO C forbyder tom startværdiblok" ! #: c/c-parser.cc:5799 #, fuzzy, gcc-internal-format #| msgid "obsolete use of designated initializer with `:'" msgid "obsolete use of designated initializer with %<:%>" msgstr "forældet brug af udpeget startværdi med ':'" ! #: c/c-parser.cc:5955 #, gcc-internal-format msgid "ISO C forbids specifying range of elements to initialize" msgstr "ISO C forbyder angivelse af interval af elementer til klargøring" ! #: c/c-parser.cc:5967 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids specifying subobject to initialize" msgid "ISO C90 forbids specifying subobject to initialize" msgstr "ISO C89 forbyder angivelse af underobjekt til klargøring" # RETMIG: hm, gad vide om dette er rigtigt ! #: c/c-parser.cc:5975 #, fuzzy, gcc-internal-format #| msgid "obsolete use of designated initializer without `='" msgid "obsolete use of designated initializer without %<=%>" msgstr "forældet brug af udpeget startværdi uden '='" ! #: c/c-parser.cc:6162 #, gcc-internal-format msgid "ISO C forbids label declarations" msgstr "ISO C forbyder etiketerklæringer" ! #: c/c-parser.cc:6168 c/c-parser.cc:6257 c/c-parser.cc:6271 #: c/gimple-parser.cc:419 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of automaton `%s'" msgid "expected declaration or statement" msgstr "gentaget erklæring af automaten '%s'" ! #: c/c-parser.cc:6203 #, gcc-internal-format msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.cc:6215 c/c-parser.cc:6248 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids mixed declarations and code" msgstr "ISO C89 forbyder blandede erklæringer og kode" ! #: c/c-parser.cc:6279 #, gcc-internal-format msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.cc:6284 cp/parser.cc:12963 #, gcc-internal-format msgid "% without a previous %" msgstr "" ! #: c/c-parser.cc:6302 #, fuzzy, gcc-internal-format msgid "label at end of compound statement" msgstr "forældet brug af etiket i slutningen af sammensat sætning" --- 49324,49398 ---- msgid "ISO C does not support %<[[]]%> attributes before C2X" msgstr "ISO C90 understøtter ikke %<[*]%> arrayerklæringer" ! #: c/c-parser.cc:5684 c/c-parser.cc:5745 c/c-typeck.cc:8638 #, fuzzy, gcc-internal-format #| msgid "variable-sized object may not be initialized" msgid "variable-sized object may not be initialized except with an empty initializer" msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi" ! #: c/c-parser.cc:5739 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids empty initializer braces" msgid "ISO C forbids empty initializer braces before C2X" msgstr "ISO C forbyder tom startværdiblok" ! #: c/c-parser.cc:5802 #, fuzzy, gcc-internal-format #| msgid "obsolete use of designated initializer with `:'" msgid "obsolete use of designated initializer with %<:%>" msgstr "forældet brug af udpeget startværdi med ':'" ! #: c/c-parser.cc:5958 #, gcc-internal-format msgid "ISO C forbids specifying range of elements to initialize" msgstr "ISO C forbyder angivelse af interval af elementer til klargøring" ! #: c/c-parser.cc:5970 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids specifying subobject to initialize" msgid "ISO C90 forbids specifying subobject to initialize" msgstr "ISO C89 forbyder angivelse af underobjekt til klargøring" # RETMIG: hm, gad vide om dette er rigtigt ! #: c/c-parser.cc:5978 #, fuzzy, gcc-internal-format #| msgid "obsolete use of designated initializer without `='" msgid "obsolete use of designated initializer without %<=%>" msgstr "forældet brug af udpeget startværdi uden '='" ! #: c/c-parser.cc:6165 #, gcc-internal-format msgid "ISO C forbids label declarations" msgstr "ISO C forbyder etiketerklæringer" ! #: c/c-parser.cc:6171 c/c-parser.cc:6260 c/c-parser.cc:6274 #: c/gimple-parser.cc:419 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of automaton `%s'" msgid "expected declaration or statement" msgstr "gentaget erklæring af automaten '%s'" ! #: c/c-parser.cc:6206 #, gcc-internal-format msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.cc:6218 c/c-parser.cc:6251 #, fuzzy, gcc-internal-format msgid "ISO C90 forbids mixed declarations and code" msgstr "ISO C89 forbyder blandede erklæringer og kode" ! #: c/c-parser.cc:6282 #, gcc-internal-format msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.cc:6287 cp/parser.cc:12963 #, gcc-internal-format msgid "% without a previous %" msgstr "" ! #: c/c-parser.cc:6305 #, fuzzy, gcc-internal-format msgid "label at end of compound statement" msgstr "forældet brug af etiket i slutningen af sammensat sætning" *************** msgstr "forældet brug af etiket i slutn *** 49384,49496 **** #. 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.cc:6323 c/c-parser.cc:6336 c/c-parser.cc:6772 #: c/gimple-parser.cc:2344 cp/parser.cc:12522 #, fuzzy, gcc-internal-format msgid "expected statement" msgstr "uventet operand" ! #: c/c-parser.cc:6395 #, gcc-internal-format msgid "expected %<:%> or %<...%>" msgstr "" ! #: c/c-parser.cc:6423 #, gcc-internal-format msgid "GNU-style attribute between label and declaration appertains to the label" msgstr "" ! #: c/c-parser.cc:6654 #, gcc-internal-format msgid "expected identifier or %<*%>" msgstr "" ! #: c/c-parser.cc:6755 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute can only be applied to class definitions" msgid "only attribute % or % can be applied to a null statement" msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" ! #: c/c-parser.cc:6880 cp/parser.cc:14532 #, fuzzy, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:6922 cp/parser.cc:14535 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:7053 cp/parser.cc:13332 #, fuzzy, gcc-internal-format #| msgid "%Hsuggest explicit braces to avoid ambiguous `else'" msgid "suggest explicit braces to avoid ambiguous %" msgstr "%Hforeslår eksplicitte krøllede paranteser for at undgå tvetydig 'else'" ! #: c/c-parser.cc:7193 #, gcc-internal-format msgid "suggest braces around empty body in % statement" msgstr "" ! #: c/c-parser.cc:7325 c/c-parser.cc:7357 #, fuzzy, gcc-internal-format #| msgid "multiple declarators in template declaration" msgid "multiple iterating variables in fast enumeration" msgstr "flere erklærerer i skabelonserklæring" ! #: c/c-parser.cc:7380 #, fuzzy, gcc-internal-format #| msgid "invalid register in the instruction" msgid "invalid iterating variable in fast enumeration" msgstr "ugyldigt register i instruktionen" ! #: c/c-parser.cc:7404 cp/parser.cc:13619 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7410 cp/parser.cc:13625 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7446 #, gcc-internal-format msgid "missing collection in fast enumeration" msgstr "" ! #: c/c-parser.cc:7568 c/c-parser.cc:7579 c/c-parser.cc:7590 #, fuzzy, gcc-internal-format #| msgid "duplicate case value" msgid "duplicate % qualifier %qE" msgstr "case-værdi optræder mere end én gang" ! #: c/c-parser.cc:7569 c/c-parser.cc:7580 c/c-parser.cc:7591 cp/parser.cc:22172 #: cp/parser.cc:22189 cp/parser.cc:22203 #, fuzzy, gcc-internal-format msgid "first seen here" msgstr " første type her" ! #: c/c-parser.cc:7600 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qE is not a valid % qualifier" msgstr "'%T' er ikke en skabelon" ! #: c/c-parser.cc:7650 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected %<:%> or %<)%>" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:7949 cp/parser.cc:4575 #, fuzzy, gcc-internal-format #| msgid "Statement at %0 invalid in this context" msgid "a wide string is invalid in this context" msgstr "Sætning ved %0 er ugyldig i denne kontekst" ! #: c/c-parser.cc:8155 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids omitting the middle term of a ?: expression" msgid "ISO C forbids omitting the middle term of a % expression" --- 49401,49513 ---- #. 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.cc:6326 c/c-parser.cc:6339 c/c-parser.cc:6775 #: c/gimple-parser.cc:2344 cp/parser.cc:12522 #, fuzzy, gcc-internal-format msgid "expected statement" msgstr "uventet operand" ! #: c/c-parser.cc:6398 #, gcc-internal-format msgid "expected %<:%> or %<...%>" msgstr "" ! #: c/c-parser.cc:6426 #, gcc-internal-format msgid "GNU-style attribute between label and declaration appertains to the label" msgstr "" ! #: c/c-parser.cc:6657 #, gcc-internal-format msgid "expected identifier or %<*%>" msgstr "" ! #: c/c-parser.cc:6758 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute can only be applied to class definitions" msgid "only attribute % or % can be applied to a null statement" msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner" ! #: c/c-parser.cc:6883 cp/parser.cc:14532 #, fuzzy, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:6925 cp/parser.cc:14535 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:7056 cp/parser.cc:13332 #, fuzzy, gcc-internal-format #| msgid "%Hsuggest explicit braces to avoid ambiguous `else'" msgid "suggest explicit braces to avoid ambiguous %" msgstr "%Hforeslår eksplicitte krøllede paranteser for at undgå tvetydig 'else'" ! #: c/c-parser.cc:7196 #, gcc-internal-format msgid "suggest braces around empty body in % statement" msgstr "" ! #: c/c-parser.cc:7328 c/c-parser.cc:7360 #, fuzzy, gcc-internal-format #| msgid "multiple declarators in template declaration" msgid "multiple iterating variables in fast enumeration" msgstr "flere erklærerer i skabelonserklæring" ! #: c/c-parser.cc:7383 #, fuzzy, gcc-internal-format #| msgid "invalid register in the instruction" msgid "invalid iterating variable in fast enumeration" msgstr "ugyldigt register i instruktionen" ! #: c/c-parser.cc:7407 cp/parser.cc:13619 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7413 cp/parser.cc:13625 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" ! #: c/c-parser.cc:7449 #, gcc-internal-format msgid "missing collection in fast enumeration" msgstr "" ! #: c/c-parser.cc:7571 c/c-parser.cc:7582 c/c-parser.cc:7593 #, fuzzy, gcc-internal-format #| msgid "duplicate case value" msgid "duplicate % qualifier %qE" msgstr "case-værdi optræder mere end én gang" ! #: c/c-parser.cc:7572 c/c-parser.cc:7583 c/c-parser.cc:7594 cp/parser.cc:22172 #: cp/parser.cc:22189 cp/parser.cc:22203 #, fuzzy, gcc-internal-format msgid "first seen here" msgstr " første type her" ! #: c/c-parser.cc:7603 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qE is not a valid % qualifier" msgstr "'%T' er ikke en skabelon" ! #: c/c-parser.cc:7653 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected %<:%> or %<)%>" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:7952 cp/parser.cc:4575 #, fuzzy, gcc-internal-format #| msgid "Statement at %0 invalid in this context" msgid "a wide string is invalid in this context" msgstr "Sætning ved %0 er ugyldig i denne kontekst" ! #: c/c-parser.cc:8158 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids omitting the middle term of a ?: expression" msgid "ISO C forbids omitting the middle term of a % expression" *************** msgstr "ISO C forbyder udeladelse af den *** 49498,50596 **** #. Location of the binary operator. #. Quiet warning. ! #: c/c-parser.cc:8377 cp/typeck.cc:5417 #, gcc-internal-format msgid "division % does not compute the number of array elements" msgstr "" ! #: c/c-parser.cc:8383 cp/typeck.cc:5422 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "first % operand was declared here" msgstr " '%#D' erklæret her" ! #: c/c-parser.cc:8654 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in cast" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8657 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in cast" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:8758 #, gcc-internal-format msgid "traditional C rejects the unary plus operator" msgstr "traditionel C tillader ikke operatoren unær plus" ! #: c/c-parser.cc:8890 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in %" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8893 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:8909 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a bit-field" msgid "% applied to a bit-field" msgstr "'sizeof' benyttet på et bitfelt" ! #: c/c-parser.cc:8982 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in %qE" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8985 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:9009 #, fuzzy, gcc-internal-format #| msgid "ISO C does not allow #%s" msgid "ISO C does not allow %<%E (expression)%>" msgstr "ISO C tillader ikke #%s" ! #: c/c-parser.cc:9162 #, fuzzy, gcc-internal-format #| msgid "cannot take address of bit-field `%s'" msgid "cannot take address of %qs" msgstr "kan ikke finde adressen af bitfeltet '%s'" ! #: c/c-parser.cc:9245 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C99 does not support %<_Generic%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9248 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<_Generic%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9317 #, fuzzy, gcc-internal-format #| msgid "cast specifies function type" msgid "%<_Generic%> association has function type" msgstr "typetildelingen angiver en funktionstype" ! #: c/c-parser.cc:9320 #, fuzzy, gcc-internal-format #| msgid "expression statement has incomplete type" msgid "%<_Generic%> association has incomplete type" msgstr "udtrykket er af en ufuldstændig type" ! #: c/c-parser.cc:9324 #, gcc-internal-format msgid "%<_Generic%> association has variable length type" msgstr "" ! #: c/c-parser.cc:9348 #, gcc-internal-format msgid "duplicate % case in %<_Generic%>" msgstr "" ! #: c/c-parser.cc:9349 #, gcc-internal-format msgid "original % is here" msgstr "" ! #: c/c-parser.cc:9357 #, gcc-internal-format msgid "%<_Generic%> specifies two compatible types" msgstr "" ! #: c/c-parser.cc:9358 #, fuzzy, gcc-internal-format #| msgid "incompatible types in %s" msgid "compatible type is here" msgstr "uforenelige typer i %s" ! #: c/c-parser.cc:9381 #, fuzzy, gcc-internal-format #| msgid "Generate load/store multiple instructions" msgid "%<_Generic%> selector matches multiple associations" msgstr "Generér flere indlæsnings-/lagringsinstruktioner" ! #: c/c-parser.cc:9383 #, fuzzy, gcc-internal-format msgid "other match is here" msgstr " anden type her" ! #: c/c-parser.cc:9408 #, gcc-internal-format msgid "%<_Generic%> selector of type %qT is not compatible with any association" msgstr "" ! #: c/c-parser.cc:9429 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "argument %u of %<__builtin_tgmath%> is not a function pointer" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9437 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is unprototyped" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-parser.cc:9443 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_eh_return_regno' must be constant" msgid "argument %u of %<__builtin_tgmath%> has variable arguments" msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant" ! #: c/c-parser.cc:9459 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_eh_return_regno' must be constant" msgid "argument %u of %<__builtin_tgmath%> has no arguments" msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant" ! #: c/c-parser.cc:9482 c/c-parser.cc:9486 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C does not support %qs predefined identifier" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9490 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<__func__%> predefined identifier" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9668 c/c-parser.cc:10818 c/c-parser.cc:10840 ! #: c/c-parser.cc:19319 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 ! #: cp/parser.cc:42017 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected expression" msgstr "uventet adresseudtryk" ! #: c/c-parser.cc:9689 #, gcc-internal-format msgid "braced-group within expression allowed only inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:9703 #, gcc-internal-format msgid "ISO C forbids braced-groups within expressions" msgstr "ISO C forbyder sætningsblokke inden i udtryk" ! #: c/c-parser.cc:9896 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "wrong number of arguments to %<__builtin_choose_expr%>" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9912 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "first argument to %<__builtin_choose_expr%> not a constant" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9982 c/c-parser.cc:9999 c/c-parser.cc:10006 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `va_start'" msgid "too few arguments to %<__builtin_tgmath%>" msgstr "for mange parametre til funktionen 'va_start'" ! #: c/c-parser.cc:10027 #, fuzzy, gcc-internal-format #| msgid "argument 1 of __builtin_spe_predicate is out of range" msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments" msgstr "1. parameter til __builtin_spe_predicate er uden for det gyldige interval" ! #: c/c-parser.cc:10071 c/c-parser.cc:10081 #, gcc-internal-format msgid "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10103 c/c-parser.cc:10113 #, gcc-internal-format msgid "invalid type-generic type for argument %u of argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10146 #, fuzzy, gcc-internal-format #| msgid "argument to `%s' attribute larger than %d" msgid "function arguments of %<__builtin_tgmath%> all have the same type" msgstr "parameter til egenskaben '%s' er større end %d" ! #: c/c-parser.cc:10165 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" msgstr "" ! #: c/c-parser.cc:10213 #, gcc-internal-format msgid "duplicate type-generic parameter type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10236 #, gcc-internal-format msgid "bad return type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10253 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" msgstr "forkert antal parametre angivet til egenskaben '%s'" ! #: c/c-parser.cc:10292 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid type of argument %u of type-generic function" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: c/c-parser.cc:10303 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "decimal floating-point argument %u to complex-only type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10311 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "decimal floating-point argument %u to binary-only type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10319 c/c-parser.cc:10349 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "both complex and decimal floating-point arguments to type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10327 c/c-parser.cc:10369 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "both binary and decimal floating-point arguments to type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10341 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "complex arguments must have identical types" msgid "complex argument %u to decimal-only type-generic function" msgstr "komplekse parametre skal have identiske typer" ! #: c/c-parser.cc:10361 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "binary argument %u to decimal-only type-generic function" msgstr "for mange parametre til funktionen" ! #: c/c-parser.cc:10464 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for type-generic call" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: c/c-parser.cc:10505 #, gcc-internal-format msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" msgstr "" ! #: c/c-parser.cc:10518 #, fuzzy, gcc-internal-format #| msgid "argument 1 of __builtin_altivec_predicate must be a constant" msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" msgstr "1. parameter til __builtin_altivec_predicate skal være en konstant" ! #: c/c-parser.cc:10522 #, fuzzy, gcc-internal-format #| msgid "second arg to `__builtin_prefetch' must be a constant" msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" msgstr "den anden parameter til '__builtin_prefetch' skal være en konstant" ! #: c/c-parser.cc:10548 #, fuzzy, gcc-internal-format #| msgid "wrong type argument to bit-complement" msgid "wrong number of arguments to %<__builtin_complex%>" msgstr "forkert parametertype til bitkomplement" ! #: c/c-parser.cc:10570 #, gcc-internal-format msgid "%<__builtin_complex%> operand not of real binary floating-point type" msgstr "" ! #: c/c-parser.cc:10579 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "%<__builtin_complex%> operands of different types" msgstr "operander til ?: har forskellige typer" ! #: c/c-parser.cc:10624 c/c-parser.cc:10653 cp/parser.cc:7603 #, fuzzy, gcc-internal-format #| msgid "wrong number of template arguments (%d, should be %d)" msgid "wrong number of arguments to %<__builtin_shuffle%>" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: c/c-parser.cc:10795 cp/parser.cc:5983 #, gcc-internal-format msgid "% may only be used in OpenMP % clause" msgstr "" ! #: c/c-parser.cc:10805 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C does not support %qs before C2X" msgstr "%s understøtter ikke %s" ! #: c/c-parser.cc:10893 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qT declared in % compound literal" msgstr "feltet '%D' er erklæret statisk i union" ! #: c/c-parser.cc:10898 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qT defined in % compound literal" msgstr "feltet '%D' er erklæret statisk i union" ! #: c/c-parser.cc:10913 #, gcc-internal-format msgid "compound literal has variable size" msgstr "" ! #: c/c-parser.cc:10918 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "compound literal has function type" msgstr "sizeof benyttet på en funktionstype" ! #: c/c-parser.cc:10949 #, gcc-internal-format msgid "compound literal qualified by address-space qualifier" msgstr "" ! #: c/c-parser.cc:10954 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids compound literals" msgid "ISO C90 forbids compound literals" msgstr "ISO C89 forbyder sammensatte konstanter" ! #: c/c-parser.cc:10956 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids compound literals" msgid "ISO C forbids storage class specifiers in compound literals before C2X" msgstr "ISO C89 forbyder sammensatte konstanter" ! #: c/c-parser.cc:10970 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal" msgstr "" ! #: c/c-parser.cc:11045 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11050 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11058 #, gcc-internal-format msgid "taking the absolute value of unsigned type %qT has no effect" msgstr "" ! #: c/c-parser.cc:11069 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11073 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of decimal floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11078 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11091 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11095 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11112 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11117 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11122 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11148 #, gcc-internal-format msgid "absolute value function %qD given an argument of type %qT but has parameter of type %qT which may cause truncation of value" msgstr "" ! #: c/c-parser.cc:11594 #, gcc-internal-format msgid "expected identifier or %<)%>" msgstr "" ! #: c/c-parser.cc:11690 #, gcc-internal-format msgid "extra semicolon" msgstr "" ! #: c/c-parser.cc:11938 #, fuzzy, gcc-internal-format #| msgid "extra semicolon in struct or union specified" msgid "extra semicolon in method definition specified" msgstr "ekstra semikolon angivet i struct eller union" ! #: c/c-parser.cc:12070 #, gcc-internal-format msgid "method attributes must be specified at the end only" msgstr "" ! #: c/c-parser.cc:12090 #, gcc-internal-format msgid "expected %<;%> or %<{%> after method attribute definition" msgstr "" ! #: c/c-parser.cc:12212 #, fuzzy, gcc-internal-format #| msgid "Class or interface declaration expected" msgid "objective-c method declaration is expected" msgstr "Klasse- eller grænsefladeerklæring forventet" ! #: c/c-parser.cc:12664 #, fuzzy, gcc-internal-format #| msgid "storage class specified for typename" msgid "no type or storage class may be specified here," msgstr "lagringsklasse angivet for typenavn" ! #: c/c-parser.cc:12732 cp/parser.cc:36862 #, fuzzy, gcc-internal-format #| msgid "readonly property can not be set" msgid "empty property attribute list" msgstr "skrivebeskyttet egenskab kan ikke angives" ! #: c/c-parser.cc:12746 cp/parser.cc:36875 #, fuzzy, gcc-internal-format #| msgid "missing Code attribute" msgid "missing property attribute" msgstr "manglende Code-egenskab" ! #: c/c-parser.cc:12785 #, fuzzy, gcc-internal-format #| msgid "Unknown cpu: -mcpu=%s" msgid "unknown property attribute %<%s%s%>" msgstr "Ukendt processor: -mcpu=%s" ! #: c/c-parser.cc:12788 cp/parser.cc:36912 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.cc:12797 cp/parser.cc:36921 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %<=%> after Objective-C %qE" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:12808 cp/parser.cc:36935 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected %qE selector name" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:12824 cp/parser.cc:36954 #, gcc-internal-format msgid "setter method names must terminate with %<:%>" msgstr "" ! #: c/c-parser.cc:13038 cp/parser.cc:49133 #, gcc-internal-format msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" msgstr "" ! #: c/c-parser.cc:13083 c/c-parser.cc:21510 c/c-parser.cc:21811 ! #: c/c-parser.cc:21874 c/c-parser.cc:21972 cp/parser.cc:44921 ! #: cp/parser.cc:45261 cp/parser.cc:45364 cp/parser.cc:45450 cp/parser.cc:49180 ! #: cp/parser.cc:49196 cp/parser.cc:49212 cp/parser.cc:49229 cp/parser.cc:49246 ! #: cp/parser.cc:49263 cp/parser.cc:49290 cp/parser.cc:49304 cp/parser.cc:49329 ! #: cp/parser.cc:49343 #, fuzzy, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:13106 cp/parser.cc:49318 #, fuzzy, gcc-internal-format #| msgid "#pragma once in main file" msgid "%<#pragma acc routine%> must be at file scope" msgstr "'#pragma once' i hovedfil" ! #: c/c-parser.cc:13196 cp/parser.cc:49442 #, gcc-internal-format msgid "%<#pragma omp scan%> may only be used in a loop construct with % % clause" msgstr "" ! #: c/c-parser.cc:13203 cp/parser.cc:49448 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.cc:13215 c/c-parser.cc:13227 #, fuzzy, gcc-internal-format msgid "%<#pragma %s%> may only be used at file scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:13257 c/c-parser.cc:13281 cp/parser.cc:49477 ! #: cp/parser.cc:49510 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.cc:13294 cp/parser.cc:49170 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" ! #: c/c-parser.cc:13647 c/c-parser.cc:17311 c/c-parser.cc:18856 ! #: c/c-parser.cc:18875 c/c-parser.cc:19079 c/c-parser.cc:19137 ! #: c/c-parser.cc:19144 c/c-parser.cc:19151 c/c-parser.cc:23694 ! #: c/c-parser.cc:23702 c/c-parser.cc:23972 c/c-parser.cc:23982 ! #: c/c-parser.cc:24076 c/c-parser.cc:24083 c/c-parser.cc:24090 ! #: cp/parser.cc:37383 cp/parser.cc:40700 cp/parser.cc:41565 cp/parser.cc:41602 ! #: cp/parser.cc:41791 cp/parser.cc:41854 cp/parser.cc:41861 cp/parser.cc:41868 ! #: cp/parser.cc:46728 cp/parser.cc:46735 cp/parser.cc:46742 cp/parser.cc:48067 ! #: cp/parser.cc:48075 cp/parser.cc:48227 cp/parser.cc:48237 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:13674 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "expression must be integral" msgstr "udsagn skal være et kaldenavn" ! #: c/c-parser.cc:13989 c/c-parser.cc:14001 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %<)%> or %<,%>" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:14152 c/c-parser.cc:24381 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a namespace" msgid "%qD is not a variable" msgstr "'%D' er ikke et navnerum" ! #: c/c-parser.cc:14156 cp/semantics.cc:8315 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a pointer-to-object type" msgid "%qD is not a pointer variable" msgstr "'%T' er ikke af en henvisning til objekt-type" ! #: c/c-parser.cc:14198 cp/parser.cc:38123 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "collapse argument needs positive constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:14293 cp/parser.cc:38201 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:14295 cp/parser.cc:38203 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14416 cp/parser.cc:38315 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14436 c/c-parser.cc:21867 c/c-parser.cc:21965 ! #: cp/parser.cc:38333 cp/parser.cc:45253 cp/parser.cc:45356 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:14489 cp/parser.cc:38388 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.cc:14496 cp/parser.cc:38395 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:14498 cp/parser.cc:38397 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses without modifier" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:14504 cp/parser.cc:38403 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" ! #: c/c-parser.cc:14609 c/c-parser.cc:14669 c/c-parser.cc:14730 ! #: c/c-parser.cc:14777 c/c-parser.cc:14856 c/c-parser.cc:15235 ! #: c/c-parser.cc:15317 c/c-parser.cc:15884 c/c-parser.cc:16029 ! #: c/c-parser.cc:16094 c/c-parser.cc:17248 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected integer expression" msgstr "uventet adresseudtryk" ! #: c/c-parser.cc:14620 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14680 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14741 cp/semantics.cc:8542 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14789 cp/semantics.cc:8572 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "% value must be non-negative" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:14823 cp/parser.cc:38629 #, fuzzy, gcc-internal-format #| msgid "']' expected, invalid type expression" msgid "expected constant integer expression with valid sync-hint value" msgstr "']' forventet, ugyldigt typeudtryk" ! #: c/c-parser.cc:14895 cp/parser.cc:38699 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, %, %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14956 cp/parser.cc:38764 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:15022 cp/parser.cc:38833 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses with %qs category" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:15025 cp/parser.cc:38836 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses with unspecified category" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:15109 cp/semantics.cc:7364 cp/semantics.cc:7417 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "%qs expression must be integral" msgstr "udsagn skal være et kaldenavn" ! #: c/c-parser.cc:15121 c/c-parser.cc:15244 cp/semantics.cc:7396 #: cp/semantics.cc:7431 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "%qs value must be positive" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:15183 cp/parser.cc:37895 #, fuzzy, gcc-internal-format #| msgid "too many arguments" msgid "too many % arguments" msgstr "for mange parametre" ! #: c/c-parser.cc:15217 cp/parser.cc:37928 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected argument" msgstr "uventet operand" ! #: c/c-parser.cc:15384 cp/semantics.cc:8758 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not an integer constant" msgid "% argument needs positive integral constant" msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant" ! #: c/c-parser.cc:15459 cp/parser.cc:38886 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:15468 c/c-parser.cc:15474 cp/parser.cc:38895 ! #: cp/parser.cc:38905 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:15510 cp/parser.cc:38945 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:15563 cp/parser.cc:39013 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "ordered argument needs positive constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:15688 c/c-parser.cc:23251 cp/parser.cc:47714 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.cc:15808 cp/parser.cc:39271 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.cc:15862 cp/parser.cc:39287 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15866 cp/parser.cc:39290 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15878 cp/semantics.cc:7478 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "chunk size value must be positive" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:15901 cp/parser.cc:39310 #, fuzzy, gcc-internal-format msgid "invalid schedule kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:16039 c/c-parser.cc:16049 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16056 cp/semantics.cc:7445 #, gcc-internal-format msgid "% lower bound %qE bigger than upper bound %qE" msgstr "" ! #: c/c-parser.cc:16104 cp/semantics.cc:7574 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16149 cp/semantics.cc:7702 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16259 c/c-parser.cc:18845 cp/parser.cc:41557 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected % or %" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:16266 #, fuzzy, gcc-internal-format #| msgid "duplicate %qs" msgid "duplicate %qs modifier" msgstr "duplikere %qs" ! #: c/c-parser.cc:16314 cp/semantics.cc:7837 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:16325 cp/semantics.cc:7792 cp/semantics.cc:7808 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "% clause % modifier argument needs to be positive constant power of two integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:16444 cp/parser.cc:39757 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "multiple linear modifiers" msgstr "mere end én 'virtual'-angivelse" ! #: c/c-parser.cc:16456 cp/parser.cc:39770 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "multiple % modifiers" msgstr "mere end én 'virtual'-angivelse" ! #: c/c-parser.cc:16464 c/c-parser.cc:16492 #, gcc-internal-format msgid "% clause step expression must be integral" msgstr "" ! #: c/c-parser.cc:16544 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16583 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16943 cp/parser.cc:40317 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "% modifier incompatible with %qs" msgstr "%s fra en henvisningstype der ikke er forenelig med målets" ! #: c/c-parser.cc:16991 cp/parser.cc:40372 cp/parser.cc:40761 ! #: cp/parser.cc:40811 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "ugyldig %%d-operand" ! #: c/c-parser.cc:17052 cp/parser.cc:40402 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid doacross kind" msgstr "ugyldig maske" ! #: c/c-parser.cc:17120 cp/parser.cc:40509 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % modifiers" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:17130 cp/parser.cc:40522 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % modifiers" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:17138 cp/parser.cc:40533 #, gcc-internal-format msgid "%<#pragma omp target%> with modifier other than % or % on % clause" msgstr "" ! #: c/c-parser.cc:17166 cp/parser.cc:40564 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "ugyldig maske" ! #: c/c-parser.cc:17218 cp/parser.cc:40623 #, gcc-internal-format msgid "% device modifier not preceded by % directive with % clause" msgstr "" ! #: c/c-parser.cc:17230 cp/parser.cc:40634 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:17253 cp/semantics.cc:7599 #, gcc-internal-format msgid "the % clause expression must evaluate to %<1%>" msgstr "" ! #: c/c-parser.cc:17286 cp/parser.cc:40705 #, fuzzy, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:17365 #, fuzzy, gcc-internal-format #| msgid "invalid rotate insn" msgid "invalid proc_bind kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:17409 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or %" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:17486 cp/semantics.cc:8018 #, gcc-internal-format msgid "% clause event handle has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:17688 cp/parser.cc:41050 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.cc:17699 c/c-parser.cc:18057 cp/parser.cc:41061 ! #: cp/parser.cc:41463 #, fuzzy, gcc-internal-format msgid "%qs is not valid for %qs" msgstr "%s understøtter ikke %s" ! #: c/c-parser.cc:17743 cp/parser.cc:41108 #, gcc-internal-format msgid "clauses in % trait should be separated by %<,%>" msgstr "" ! #: c/c-parser.cc:17892 cp/parser.cc:41296 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.cc:18046 cp/parser.cc:41452 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.cc:18179 cp/parser.cc:45781 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18189 cp/parser.cc:45791 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "array section in %<#pragma acc declare%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-parser.cc:18209 cp/parser.cc:45811 #, fuzzy, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18220 cp/parser.cc:45822 #, fuzzy, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-parser.cc:18227 cp/parser.cc:45829 #, fuzzy, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18235 cp/parser.cc:45837 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18246 cp/parser.cc:45859 #, fuzzy, gcc-internal-format msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18256 cp/parser.cc:45869 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18349 cp/parser.cc:45967 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected % after %<#pragma acc %s%>" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:18365 cp/parser.cc:45984 #, fuzzy, gcc-internal-format #| msgid "#pragma once in main file" msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "'#pragma once' i hovedfil" ! #: c/c-parser.cc:18615 cp/parser.cc:3241 #, fuzzy, gcc-internal-format msgid "%qE has not been declared" msgstr "'%#D' kan ikke erklæres" ! #: c/c-parser.cc:18619 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected function name" msgstr "forventet funktion" ! #: c/c-parser.cc:18637 cp/parser.cc:48494 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qD does not refer to a function" msgstr "'%D' er ikke en medlemsskabelonfunktion" ! #: c/c-parser.cc:18660 c/c-parser.cc:18708 cp/parser.cc:1586 #, fuzzy, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:18700 cp/parser.cc:48545 cp/parser.cc:48592 #, fuzzy, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:18731 cp/parser.cc:48620 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma acc routine%> must be applied before use" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:18732 cp/parser.cc:48622 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma acc routine%> must be applied before definition" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:18776 cp/parser.cc:46185 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.cc:18867 cp/parser.cc:41577 cp/parser.cc:41592 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "% clause argument needs to be positive constant power of two integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:18890 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" --- 49515,50613 ---- #. Location of the binary operator. #. Quiet warning. ! #: c/c-parser.cc:8380 cp/typeck.cc:5417 #, gcc-internal-format msgid "division % does not compute the number of array elements" msgstr "" ! #: c/c-parser.cc:8386 cp/typeck.cc:5422 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "first % operand was declared here" msgstr " '%#D' erklæret her" ! #: c/c-parser.cc:8657 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in cast" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8660 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in cast" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:8761 #, gcc-internal-format msgid "traditional C rejects the unary plus operator" msgstr "traditionel C tillader ikke operatoren unær plus" ! #: c/c-parser.cc:8893 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in %" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8896 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:8912 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a bit-field" msgid "% applied to a bit-field" msgstr "'sizeof' benyttet på et bitfelt" ! #: c/c-parser.cc:8985 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "storage class specifier in %qE" msgstr "lagringsklasse angivet for %s '%s'" ! #: c/c-parser.cc:8988 #, fuzzy, gcc-internal-format msgid "alignment specified for type name in %qE" msgstr "justering må ikke angives for '%s'" ! #: c/c-parser.cc:9012 #, fuzzy, gcc-internal-format #| msgid "ISO C does not allow #%s" msgid "ISO C does not allow %<%E (expression)%>" msgstr "ISO C tillader ikke #%s" ! #: c/c-parser.cc:9165 #, fuzzy, gcc-internal-format #| msgid "cannot take address of bit-field `%s'" msgid "cannot take address of %qs" msgstr "kan ikke finde adressen af bitfeltet '%s'" ! #: c/c-parser.cc:9248 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C99 does not support %<_Generic%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9251 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<_Generic%>" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9320 #, fuzzy, gcc-internal-format #| msgid "cast specifies function type" msgid "%<_Generic%> association has function type" msgstr "typetildelingen angiver en funktionstype" ! #: c/c-parser.cc:9323 #, fuzzy, gcc-internal-format #| msgid "expression statement has incomplete type" msgid "%<_Generic%> association has incomplete type" msgstr "udtrykket er af en ufuldstændig type" ! #: c/c-parser.cc:9327 #, gcc-internal-format msgid "%<_Generic%> association has variable length type" msgstr "" ! #: c/c-parser.cc:9351 #, gcc-internal-format msgid "duplicate % case in %<_Generic%>" msgstr "" ! #: c/c-parser.cc:9352 #, gcc-internal-format msgid "original % is here" msgstr "" ! #: c/c-parser.cc:9360 #, gcc-internal-format msgid "%<_Generic%> specifies two compatible types" msgstr "" ! #: c/c-parser.cc:9361 #, fuzzy, gcc-internal-format #| msgid "incompatible types in %s" msgid "compatible type is here" msgstr "uforenelige typer i %s" ! #: c/c-parser.cc:9384 #, fuzzy, gcc-internal-format #| msgid "Generate load/store multiple instructions" msgid "%<_Generic%> selector matches multiple associations" msgstr "Generér flere indlæsnings-/lagringsinstruktioner" ! #: c/c-parser.cc:9386 #, fuzzy, gcc-internal-format msgid "other match is here" msgstr " anden type her" ! #: c/c-parser.cc:9411 #, gcc-internal-format msgid "%<_Generic%> selector of type %qT is not compatible with any association" msgstr "" ! #: c/c-parser.cc:9432 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "argument %u of %<__builtin_tgmath%> is not a function pointer" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9440 #, fuzzy, gcc-internal-format msgid "argument %u of %<__builtin_tgmath%> is unprototyped" msgstr "parameteren '%s' passer ikke til prototypen" ! #: c/c-parser.cc:9446 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_eh_return_regno' must be constant" msgid "argument %u of %<__builtin_tgmath%> has variable arguments" msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant" ! #: c/c-parser.cc:9462 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_eh_return_regno' must be constant" msgid "argument %u of %<__builtin_tgmath%> has no arguments" msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant" ! #: c/c-parser.cc:9485 c/c-parser.cc:9489 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C does not support %qs predefined identifier" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9493 #, fuzzy, gcc-internal-format #| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support %<__func__%> predefined identifier" msgstr "ISO C90 understøtter ikke komplekse typer" ! #: c/c-parser.cc:9671 c/c-parser.cc:10821 c/c-parser.cc:10843 ! #: c/c-parser.cc:19322 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361 ! #: cp/parser.cc:42016 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected expression" msgstr "uventet adresseudtryk" ! #: c/c-parser.cc:9692 #, gcc-internal-format msgid "braced-group within expression allowed only inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:9706 #, gcc-internal-format msgid "ISO C forbids braced-groups within expressions" msgstr "ISO C forbyder sætningsblokke inden i udtryk" ! #: c/c-parser.cc:9899 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "wrong number of arguments to %<__builtin_choose_expr%>" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9915 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "first argument to %<__builtin_choose_expr%> not a constant" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: c/c-parser.cc:9985 c/c-parser.cc:10002 c/c-parser.cc:10009 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `va_start'" msgid "too few arguments to %<__builtin_tgmath%>" msgstr "for mange parametre til funktionen 'va_start'" ! #: c/c-parser.cc:10030 #, fuzzy, gcc-internal-format #| msgid "argument 1 of __builtin_spe_predicate is out of range" msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments" msgstr "1. parameter til __builtin_spe_predicate er uden for det gyldige interval" ! #: c/c-parser.cc:10074 c/c-parser.cc:10084 #, gcc-internal-format msgid "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10106 c/c-parser.cc:10116 #, gcc-internal-format msgid "invalid type-generic type for argument %u of argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10149 #, fuzzy, gcc-internal-format #| msgid "argument to `%s' attribute larger than %d" msgid "function arguments of %<__builtin_tgmath%> all have the same type" msgstr "parameter til egenskaben '%s' er større end %d" ! #: c/c-parser.cc:10168 #, gcc-internal-format msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" msgstr "" ! #: c/c-parser.cc:10216 #, gcc-internal-format msgid "duplicate type-generic parameter type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10239 #, gcc-internal-format msgid "bad return type for function argument %u of %<__builtin_tgmath%>" msgstr "" ! #: c/c-parser.cc:10256 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" msgstr "forkert antal parametre angivet til egenskaben '%s'" ! #: c/c-parser.cc:10295 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid type of argument %u of type-generic function" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: c/c-parser.cc:10306 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "decimal floating-point argument %u to complex-only type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10314 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "decimal floating-point argument %u to binary-only type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10322 c/c-parser.cc:10352 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "both complex and decimal floating-point arguments to type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10330 c/c-parser.cc:10372 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "both binary and decimal floating-point arguments to type-generic function" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: c/c-parser.cc:10344 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "complex arguments must have identical types" msgid "complex argument %u to decimal-only type-generic function" msgstr "komplekse parametre skal have identiske typer" ! #: c/c-parser.cc:10364 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "binary argument %u to decimal-only type-generic function" msgstr "for mange parametre til funktionen" ! #: c/c-parser.cc:10467 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for type-generic call" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: c/c-parser.cc:10508 #, gcc-internal-format msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" msgstr "" ! #: c/c-parser.cc:10521 #, fuzzy, gcc-internal-format #| msgid "argument 1 of __builtin_altivec_predicate must be a constant" msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" msgstr "1. parameter til __builtin_altivec_predicate skal være en konstant" ! #: c/c-parser.cc:10525 #, fuzzy, gcc-internal-format #| msgid "second arg to `__builtin_prefetch' must be a constant" msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" msgstr "den anden parameter til '__builtin_prefetch' skal være en konstant" ! #: c/c-parser.cc:10551 #, fuzzy, gcc-internal-format #| msgid "wrong type argument to bit-complement" msgid "wrong number of arguments to %<__builtin_complex%>" msgstr "forkert parametertype til bitkomplement" ! #: c/c-parser.cc:10573 #, gcc-internal-format msgid "%<__builtin_complex%> operand not of real binary floating-point type" msgstr "" ! #: c/c-parser.cc:10582 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "%<__builtin_complex%> operands of different types" msgstr "operander til ?: har forskellige typer" ! #: c/c-parser.cc:10627 c/c-parser.cc:10656 cp/parser.cc:7603 #, fuzzy, gcc-internal-format #| msgid "wrong number of template arguments (%d, should be %d)" msgid "wrong number of arguments to %<__builtin_shuffle%>" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: c/c-parser.cc:10798 cp/parser.cc:5983 #, gcc-internal-format msgid "% may only be used in OpenMP % clause" msgstr "" ! #: c/c-parser.cc:10808 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "ISO C does not support %qs before C2X" msgstr "%s understøtter ikke %s" ! #: c/c-parser.cc:10896 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qT declared in % compound literal" msgstr "feltet '%D' er erklæret statisk i union" ! #: c/c-parser.cc:10901 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qT defined in % compound literal" msgstr "feltet '%D' er erklæret statisk i union" ! #: c/c-parser.cc:10916 #, gcc-internal-format msgid "compound literal has variable size" msgstr "" ! #: c/c-parser.cc:10921 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "compound literal has function type" msgstr "sizeof benyttet på en funktionstype" ! #: c/c-parser.cc:10952 #, gcc-internal-format msgid "compound literal qualified by address-space qualifier" msgstr "" ! #: c/c-parser.cc:10957 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids compound literals" msgid "ISO C90 forbids compound literals" msgstr "ISO C89 forbyder sammensatte konstanter" ! #: c/c-parser.cc:10959 #, fuzzy, gcc-internal-format #| msgid "ISO C89 forbids compound literals" msgid "ISO C forbids storage class specifiers in compound literals before C2X" msgstr "ISO C89 forbyder sammensatte konstanter" ! #: c/c-parser.cc:10973 #, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal" msgstr "" ! #: c/c-parser.cc:11048 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11053 #, gcc-internal-format msgid "using integer absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11061 #, gcc-internal-format msgid "taking the absolute value of unsigned type %qT has no effect" msgstr "" ! #: c/c-parser.cc:11072 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11076 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of decimal floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11081 #, gcc-internal-format msgid "using floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11094 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11098 #, gcc-internal-format msgid "using complex absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11115 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of integer type %qT" msgstr "" ! #: c/c-parser.cc:11120 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of floating-point type %qT" msgstr "" ! #: c/c-parser.cc:11125 #, gcc-internal-format msgid "using decimal floating-point absolute value function %qD when argument is of complex type %qT" msgstr "" ! #: c/c-parser.cc:11151 #, gcc-internal-format msgid "absolute value function %qD given an argument of type %qT but has parameter of type %qT which may cause truncation of value" msgstr "" ! #: c/c-parser.cc:11597 #, gcc-internal-format msgid "expected identifier or %<)%>" msgstr "" ! #: c/c-parser.cc:11693 #, gcc-internal-format msgid "extra semicolon" msgstr "" ! #: c/c-parser.cc:11941 #, fuzzy, gcc-internal-format #| msgid "extra semicolon in struct or union specified" msgid "extra semicolon in method definition specified" msgstr "ekstra semikolon angivet i struct eller union" ! #: c/c-parser.cc:12073 #, gcc-internal-format msgid "method attributes must be specified at the end only" msgstr "" ! #: c/c-parser.cc:12093 #, gcc-internal-format msgid "expected %<;%> or %<{%> after method attribute definition" msgstr "" ! #: c/c-parser.cc:12215 #, fuzzy, gcc-internal-format #| msgid "Class or interface declaration expected" msgid "objective-c method declaration is expected" msgstr "Klasse- eller grænsefladeerklæring forventet" ! #: c/c-parser.cc:12667 #, fuzzy, gcc-internal-format #| msgid "storage class specified for typename" msgid "no type or storage class may be specified here," msgstr "lagringsklasse angivet for typenavn" ! #: c/c-parser.cc:12735 cp/parser.cc:36861 #, fuzzy, gcc-internal-format #| msgid "readonly property can not be set" msgid "empty property attribute list" msgstr "skrivebeskyttet egenskab kan ikke angives" ! #: c/c-parser.cc:12749 cp/parser.cc:36874 #, fuzzy, gcc-internal-format #| msgid "missing Code attribute" msgid "missing property attribute" msgstr "manglende Code-egenskab" ! #: c/c-parser.cc:12788 #, fuzzy, gcc-internal-format #| msgid "Unknown cpu: -mcpu=%s" msgid "unknown property attribute %<%s%s%>" msgstr "Ukendt processor: -mcpu=%s" ! #: c/c-parser.cc:12791 cp/parser.cc:36911 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.cc:12800 cp/parser.cc:36920 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %<=%> after Objective-C %qE" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:12811 cp/parser.cc:36934 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected %qE selector name" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:12827 cp/parser.cc:36953 #, gcc-internal-format msgid "setter method names must terminate with %<:%>" msgstr "" ! #: c/c-parser.cc:13041 cp/parser.cc:49132 #, gcc-internal-format msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" msgstr "" ! #: c/c-parser.cc:13086 c/c-parser.cc:21513 c/c-parser.cc:21814 ! #: c/c-parser.cc:21877 c/c-parser.cc:21975 cp/parser.cc:44920 ! #: cp/parser.cc:45260 cp/parser.cc:45363 cp/parser.cc:45449 cp/parser.cc:49179 ! #: cp/parser.cc:49195 cp/parser.cc:49211 cp/parser.cc:49228 cp/parser.cc:49245 ! #: cp/parser.cc:49262 cp/parser.cc:49289 cp/parser.cc:49303 cp/parser.cc:49328 ! #: cp/parser.cc:49342 #, fuzzy, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:13109 cp/parser.cc:49317 #, fuzzy, gcc-internal-format #| msgid "#pragma once in main file" msgid "%<#pragma acc routine%> must be at file scope" msgstr "'#pragma once' i hovedfil" ! #: c/c-parser.cc:13199 cp/parser.cc:49441 #, gcc-internal-format msgid "%<#pragma omp scan%> may only be used in a loop construct with % % clause" msgstr "" ! #: c/c-parser.cc:13206 cp/parser.cc:49447 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.cc:13218 c/c-parser.cc:13230 #, fuzzy, gcc-internal-format msgid "%<#pragma %s%> may only be used at file scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:13260 c/c-parser.cc:13284 cp/parser.cc:49476 ! #: cp/parser.cc:49509 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.cc:13297 cp/parser.cc:49169 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" ! #: c/c-parser.cc:13650 c/c-parser.cc:17314 c/c-parser.cc:18859 ! #: c/c-parser.cc:18878 c/c-parser.cc:19082 c/c-parser.cc:19140 ! #: c/c-parser.cc:19147 c/c-parser.cc:19154 c/c-parser.cc:23697 ! #: c/c-parser.cc:23705 c/c-parser.cc:23975 c/c-parser.cc:23985 ! #: c/c-parser.cc:24079 c/c-parser.cc:24086 c/c-parser.cc:24093 ! #: cp/parser.cc:37382 cp/parser.cc:40699 cp/parser.cc:41564 cp/parser.cc:41601 ! #: cp/parser.cc:41790 cp/parser.cc:41853 cp/parser.cc:41860 cp/parser.cc:41867 ! #: cp/parser.cc:46727 cp/parser.cc:46734 cp/parser.cc:46741 cp/parser.cc:48066 ! #: cp/parser.cc:48074 cp/parser.cc:48226 cp/parser.cc:48236 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:13677 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "expression must be integral" msgstr "udsagn skal være et kaldenavn" ! #: c/c-parser.cc:13992 c/c-parser.cc:14004 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %<)%> or %<,%>" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:14155 c/c-parser.cc:24384 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a namespace" msgid "%qD is not a variable" msgstr "'%D' er ikke et navnerum" ! #: c/c-parser.cc:14159 cp/semantics.cc:8315 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a pointer-to-object type" msgid "%qD is not a pointer variable" msgstr "'%T' er ikke af en henvisning til objekt-type" ! #: c/c-parser.cc:14201 cp/parser.cc:38122 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "collapse argument needs positive constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:14296 cp/parser.cc:38200 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:14298 cp/parser.cc:38202 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14419 cp/parser.cc:38314 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14439 c/c-parser.cc:21870 c/c-parser.cc:21968 ! #: cp/parser.cc:38332 cp/parser.cc:45252 cp/parser.cc:45355 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:14492 cp/parser.cc:38387 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.cc:14499 cp/parser.cc:38394 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:14501 cp/parser.cc:38396 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses without modifier" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:14507 cp/parser.cc:38402 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" ! #: c/c-parser.cc:14612 c/c-parser.cc:14672 c/c-parser.cc:14733 ! #: c/c-parser.cc:14780 c/c-parser.cc:14859 c/c-parser.cc:15238 ! #: c/c-parser.cc:15320 c/c-parser.cc:15887 c/c-parser.cc:16032 ! #: c/c-parser.cc:16097 c/c-parser.cc:17251 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected integer expression" msgstr "uventet adresseudtryk" ! #: c/c-parser.cc:14623 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14683 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14744 cp/semantics.cc:8542 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:14792 cp/semantics.cc:8572 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "% value must be non-negative" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:14826 cp/parser.cc:38628 #, fuzzy, gcc-internal-format #| msgid "']' expected, invalid type expression" msgid "expected constant integer expression with valid sync-hint value" msgstr "']' forventet, ugyldigt typeudtryk" ! #: c/c-parser.cc:14898 cp/parser.cc:38698 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, %, %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:14959 cp/parser.cc:38763 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:15025 cp/parser.cc:38832 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses with %qs category" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:15028 cp/parser.cc:38835 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses with unspecified category" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:15112 cp/semantics.cc:7364 cp/semantics.cc:7417 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "%qs expression must be integral" msgstr "udsagn skal være et kaldenavn" ! #: c/c-parser.cc:15124 c/c-parser.cc:15247 cp/semantics.cc:7396 #: cp/semantics.cc:7431 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "%qs value must be positive" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:15186 cp/parser.cc:37894 #, fuzzy, gcc-internal-format #| msgid "too many arguments" msgid "too many % arguments" msgstr "for mange parametre" ! #: c/c-parser.cc:15220 cp/parser.cc:37927 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "unexpected argument" msgstr "uventet operand" ! #: c/c-parser.cc:15387 cp/semantics.cc:8758 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not an integer constant" msgid "% argument needs positive integral constant" msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant" ! #: c/c-parser.cc:15462 cp/parser.cc:38885 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:15471 c/c-parser.cc:15477 cp/parser.cc:38894 ! #: cp/parser.cc:38904 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:15513 cp/parser.cc:38944 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:15566 cp/parser.cc:39012 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "ordered argument needs positive constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:15691 c/c-parser.cc:23254 cp/parser.cc:47713 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.cc:15811 cp/parser.cc:39270 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.cc:15865 cp/parser.cc:39286 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15869 cp/parser.cc:39289 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.cc:15881 cp/semantics.cc:7478 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "chunk size value must be positive" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:15904 cp/parser.cc:39309 #, fuzzy, gcc-internal-format msgid "invalid schedule kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:16042 c/c-parser.cc:16052 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16059 cp/semantics.cc:7445 #, gcc-internal-format msgid "% lower bound %qE bigger than upper bound %qE" msgstr "" ! #: c/c-parser.cc:16107 cp/semantics.cc:7574 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.cc:16152 cp/semantics.cc:7702 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16262 c/c-parser.cc:18848 cp/parser.cc:41556 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected % or %" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:16269 #, fuzzy, gcc-internal-format #| msgid "duplicate %qs" msgid "duplicate %qs modifier" msgstr "duplikere %qs" ! #: c/c-parser.cc:16317 cp/semantics.cc:7837 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:16328 cp/semantics.cc:7792 cp/semantics.cc:7808 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "% clause % modifier argument needs to be positive constant power of two integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:16447 cp/parser.cc:39756 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "multiple linear modifiers" msgstr "mere end én 'virtual'-angivelse" ! #: c/c-parser.cc:16459 cp/parser.cc:39769 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "multiple % modifiers" msgstr "mere end én 'virtual'-angivelse" ! #: c/c-parser.cc:16467 c/c-parser.cc:16495 #, gcc-internal-format msgid "% clause step expression must be integral" msgstr "" ! #: c/c-parser.cc:16547 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16586 #, gcc-internal-format msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.cc:16946 cp/parser.cc:40316 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "% modifier incompatible with %qs" msgstr "%s fra en henvisningstype der ikke er forenelig med målets" ! #: c/c-parser.cc:16994 cp/parser.cc:40371 cp/parser.cc:40760 ! #: cp/parser.cc:40810 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "ugyldig %%d-operand" ! #: c/c-parser.cc:17055 cp/parser.cc:40401 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid doacross kind" msgstr "ugyldig maske" ! #: c/c-parser.cc:17123 cp/parser.cc:40508 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % modifiers" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:17133 cp/parser.cc:40521 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % modifiers" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:17141 cp/parser.cc:40532 #, gcc-internal-format msgid "%<#pragma omp target%> with modifier other than % or % on % clause" msgstr "" ! #: c/c-parser.cc:17169 cp/parser.cc:40563 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "ugyldig maske" ! #: c/c-parser.cc:17221 cp/parser.cc:40622 #, gcc-internal-format msgid "% device modifier not preceded by % directive with % clause" msgstr "" ! #: c/c-parser.cc:17233 cp/parser.cc:40633 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:17256 cp/semantics.cc:7599 #, gcc-internal-format msgid "the % clause expression must evaluate to %<1%>" msgstr "" ! #: c/c-parser.cc:17289 cp/parser.cc:40704 #, fuzzy, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:17368 #, fuzzy, gcc-internal-format #| msgid "invalid rotate insn" msgid "invalid proc_bind kind" msgstr "ugyldig roteringsinstruktion" ! #: c/c-parser.cc:17412 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or %" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:17489 cp/semantics.cc:8018 #, gcc-internal-format msgid "% clause event handle has type %qT rather than %" msgstr "" ! #: c/c-parser.cc:17691 cp/parser.cc:41049 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.cc:17702 c/c-parser.cc:18060 cp/parser.cc:41060 ! #: cp/parser.cc:41462 #, fuzzy, gcc-internal-format msgid "%qs is not valid for %qs" msgstr "%s understøtter ikke %s" ! #: c/c-parser.cc:17746 cp/parser.cc:41107 #, gcc-internal-format msgid "clauses in % trait should be separated by %<,%>" msgstr "" ! #: c/c-parser.cc:17895 cp/parser.cc:41295 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.cc:18049 cp/parser.cc:41451 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.cc:18182 cp/parser.cc:45780 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18192 cp/parser.cc:45790 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "array section in %<#pragma acc declare%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-parser.cc:18212 cp/parser.cc:45810 #, fuzzy, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18223 cp/parser.cc:45821 #, fuzzy, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: c/c-parser.cc:18230 cp/parser.cc:45828 #, fuzzy, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18238 cp/parser.cc:45836 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18249 cp/parser.cc:45858 #, fuzzy, gcc-internal-format msgid "%qD must be a variable declared in the same scope as %<#pragma acc declare%>" msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke" ! #: c/c-parser.cc:18259 cp/parser.cc:45868 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.cc:18352 cp/parser.cc:45966 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected % after %<#pragma acc %s%>" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:18368 cp/parser.cc:45983 #, fuzzy, gcc-internal-format #| msgid "#pragma once in main file" msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "'#pragma once' i hovedfil" ! #: c/c-parser.cc:18618 cp/parser.cc:3241 #, fuzzy, gcc-internal-format msgid "%qE has not been declared" msgstr "'%#D' kan ikke erklæres" ! #: c/c-parser.cc:18622 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected function name" msgstr "forventet funktion" ! #: c/c-parser.cc:18640 cp/parser.cc:48493 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qD does not refer to a function" msgstr "'%D' er ikke en medlemsskabelonfunktion" ! #: c/c-parser.cc:18663 c/c-parser.cc:18711 cp/parser.cc:1586 #, fuzzy, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:18703 cp/parser.cc:48544 cp/parser.cc:48591 #, fuzzy, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:18734 cp/parser.cc:48619 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma acc routine%> must be applied before use" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:18735 cp/parser.cc:48621 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma acc routine%> must be applied before definition" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: c/c-parser.cc:18779 cp/parser.cc:46184 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.cc:18870 cp/parser.cc:41576 cp/parser.cc:41591 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "% clause argument needs to be positive constant power of two integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:18893 #, gcc-internal-format msgid "% clause allocator expression has type %qT rather than %" msgstr "" *************** msgstr "" *** 50599,51186 **** #. check above and add one in semantics.cc (to properly handle templates). #. Base this on the allocator/align modifiers check for the 'allocate' clause #. in semantics.cc's finish_omp_clauses. ! #: c/c-parser.cc:18907 cp/parser.cc:41625 #, fuzzy, gcc-internal-format #| msgid "#pragma vtable no longer supported" msgid "%<#pragma omp allocate%> not yet supported" msgstr "'#pragma vtable' understøttes ikke længere" ! #: c/c-parser.cc:19045 cp/parser.cc:41757 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, %, %, or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:19084 cp/parser.cc:41796 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:19108 cp/parser.cc:41825 #, gcc-internal-format msgid "expected %, %, %, %, %, %, %, %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:19123 cp/parser.cc:41840 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many atomic clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:19130 cp/parser.cc:41847 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many memory order clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:19168 c/c-parser.cc:19175 cp/parser.cc:41885 ! #: cp/parser.cc:41892 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "%qs clause is incompatible with % or % clauses" msgstr "%s fra en henvisningstype der ikke er forenelig med målets" ! #: c/c-parser.cc:19181 c/c-parser.cc:19186 cp/parser.cc:41898 ! #: cp/parser.cc:41903 #, fuzzy, gcc-internal-format #| msgid "--resource requires -o" msgid "%qs clause requires %qs clause" msgstr "--resource påkræver -o" ! #: c/c-parser.cc:19230 cp/parser.cc:41947 #, gcc-internal-format msgid "%<#pragma omp atomic read%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19240 cp/parser.cc:41957 #, gcc-internal-format msgid "%<#pragma omp atomic write%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19363 cp/parser.cc:42057 #, fuzzy, gcc-internal-format msgid "expected %<==%> comparison in % condition" msgstr "'%s' er erklæret inline efter dens definition" ! #: c/c-parser.cc:19370 cp/parser.cc:42064 #, gcc-internal-format msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19443 cp/parser.cc:42129 cp/parser.cc:42412 ! #: cp/parser.cc:42506 cp/parser.cc:42524 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %<#pragma omp atomic compare%>" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19454 cp/parser.cc:42140 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "unexpected %" msgstr "forventede %" ! #: c/c-parser.cc:19514 cp/parser.cc:42579 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19785 cp/parser.cc:42433 cp/parser.cc:42459 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %<#pragma omp atomic%>" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19789 cp/parser.cc:42499 cp/parser.cc:42533 #, fuzzy, gcc-internal-format #| msgid "invalid operand for 'p' modifier" msgid "invalid operator for %<#pragma omp atomic%>" msgstr "ugyldig operand til 'p'-ændring" ! #: c/c-parser.cc:19840 cp/parser.cc:42568 #, gcc-internal-format msgid "% clause requires atomic equality comparison" msgstr "" ! #: c/c-parser.cc:19846 cp/semantics.cc:10910 cp/semantics.cc:10920 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" ! #: c/c-parser.cc:19946 cp/semantics.cc:10997 #, fuzzy, gcc-internal-format msgid "% expression is not lvalue expression" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: c/c-parser.cc:20007 cp/parser.cc:42734 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:20019 cp/parser.cc:42750 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:20060 cp/parser.cc:42788 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:20068 cp/parser.cc:42796 #, gcc-internal-format msgid "% list specified together with memory order clause" msgstr "" ! #: c/c-parser.cc:20073 #, gcc-internal-format msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.cc:20155 cp/parser.cc:43558 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or % clause" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:20160 cp/parser.cc:43564 #, fuzzy, gcc-internal-format #| msgid "expected %<#pragma omp section%> or %<}%>" msgid "expected %<#pragma omp scan%>" msgstr "%<#pragma omp section%> eller %<}%> forventet" ! #: c/c-parser.cc:20216 cp/parser.cc:43615 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.cc:20232 cp/parser.cc:43641 #, fuzzy, gcc-internal-format #| msgid "')' or term expected" msgid "for statement expected" msgstr "')' eller term forventet" ! #: c/c-parser.cc:20310 cp/semantics.cc:10488 cp/semantics.cc:10579 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of automaton `%s'" msgid "expected iteration declaration or initialization" msgstr "gentaget erklæring af automaten '%s'" ! #: c/c-parser.cc:20396 #, gcc-internal-format msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.cc:20444 cp/parser.cc:43955 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.cc:20527 cp/parser.cc:43751 cp/parser.cc:43793 cp/pt.cc:18552 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.cc:20942 cp/parser.cc:44359 #, fuzzy, gcc-internal-format msgid "%<#pragma omp ordered%> with %qs clause may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:21156 cp/parser.cc:44565 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.cc:21501 cp/parser.cc:44912 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected %" msgstr "uventet operand" ! #: c/c-parser.cc:21760 cp/parser.cc:45191 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21776 cp/parser.cc:45207 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one %, % or % clause" msgstr "" ! #: c/c-parser.cc:21824 cp/parser.cc:45463 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.cc:21914 cp/parser.cc:45302 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21926 cp/parser.cc:45314 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22013 cp/parser.cc:45406 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22026 cp/parser.cc:45419 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22262 cp/semantics.cc:10019 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22319 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22370 c/c-parser.cc:22398 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22437 cp/parser.cc:46335 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected trait selector name" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:22490 cp/parser.cc:46387 #, fuzzy, gcc-internal-format #| msgid "type qualifier `%s' not allowed after struct or class" msgid "selector %qs not allowed for context selector set %qs" msgstr "typemodifikationen '%s' er ikke tilladt efter struct eller class" ! #: c/c-parser.cc:22515 cp/parser.cc:46411 #, fuzzy, gcc-internal-format #| msgid "incomplete type `%T' does not have member `%D'" msgid "selector %qs does not accept any properties" msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'" ! #: c/c-parser.cc:22542 cp/parser.cc:46450 cp/pt.cc:11856 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "score argument must be constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:22545 cp/parser.cc:46453 cp/pt.cc:11873 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "score argument must be non-negative" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:22569 cp/parser.cc:46481 cp/pt.cc:11859 #, fuzzy, gcc-internal-format msgid "property must be constant integer expression or string literal" msgstr "klargøringsliste behandlet som et sammensat udtryk" ! #: c/c-parser.cc:22614 cp/parser.cc:46527 #, fuzzy, gcc-internal-format #| msgid "_Pragma takes a parenthesized string literal" msgid "expected identifier or string literal" msgstr "_Pragma tager en strengkonstant med paranteser omkring" ! #: c/c-parser.cc:22636 cp/parser.cc:46549 cp/pt.cc:11863 #, fuzzy, gcc-internal-format #| msgid "']' expected, invalid type expression" msgid "property must be constant integer expression" msgstr "']' forventet, ugyldigt typeudtryk" ! #: c/c-parser.cc:22647 cp/parser.cc:46560 #, gcc-internal-format msgid "properties for % selector may not be specified in %" msgstr "" ! #: c/c-parser.cc:22734 cp/parser.cc:46646 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:22813 cp/parser.cc:46963 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:22833 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qD is not a function" msgstr "'%s' er ikke en funktion," ! #: c/c-parser.cc:22839 cp/decl.cc:8112 #, fuzzy, gcc-internal-format #| msgid "-f%s and -msdata=%s are incompatible" msgid "variant %qD and base %qD have incompatible types" msgstr "-f%s og -msdata=%s er indbyrdes uforenelige" ! #: c/c-parser.cc:22851 cp/decl.cc:8121 #, gcc-internal-format msgid "variant %qD is a built-in" msgstr "" ! #: c/c-parser.cc:22896 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22904 cp/parser.cc:47008 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:23018 cp/parser.cc:47212 #, gcc-internal-format msgid "%qD specified both in declare target % and %qs clauses" msgstr "" ! #: c/c-parser.cc:23022 cp/parser.cc:47216 #, gcc-internal-format msgid "%qD specified both in declare target % and % or % clauses" msgstr "" ! #: c/c-parser.cc:23071 cp/parser.cc:47327 #, gcc-internal-format msgid "directive with only % clause" msgstr "" ! #: c/c-parser.cc:23111 c/c-parser.cc:23151 cp/parser.cc:47375 ! #: cp/parser.cc:47422 #, fuzzy, gcc-internal-format msgid "expected %" msgstr "uventet operand" ! #: c/c-parser.cc:23123 cp/parser.cc:47388 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:23157 cp/parser.cc:47429 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>" msgstr "" ! #: c/c-parser.cc:23175 cp/parser.cc:47484 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:23201 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> not at file or block scope" msgstr "" ! #: c/c-parser.cc:23278 #, gcc-internal-format msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23282 #, gcc-internal-format msgid "function or array type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23285 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-parser.cc:23288 #, gcc-internal-format msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23296 #, gcc-internal-format msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" msgstr "" ! #: c/c-parser.cc:23305 #, gcc-internal-format msgid "previous %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23426 #, gcc-internal-format msgid "expected % or function-name" msgstr "" ! #: c/c-parser.cc:23437 #, fuzzy, gcc-internal-format msgid "expected function-name %<(%>" msgstr "uventet operand" ! #: c/c-parser.cc:23456 #, gcc-internal-format msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.cc:23587 cp/parser.cc:47956 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:23650 cp/parser.cc:48017 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:23679 cp/parser.cc:48052 #, gcc-internal-format msgid "expected %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:23697 cp/parser.cc:48070 #, gcc-internal-format msgid "%qs clause used lexically after first target construct or offloading API" msgstr "" ! #: c/c-parser.cc:23709 cp/parser.cc:48082 #, gcc-internal-format msgid "more than one % clause in a single compilation unit" msgstr "" ! #: c/c-parser.cc:23718 cp/parser.cc:48091 #, gcc-internal-format msgid "% clause used lexically after first % construct without memory order clause" msgstr "" ! #: c/c-parser.cc:23732 cp/parser.cc:48105 #, gcc-internal-format msgid "% requires at least one clause" msgstr "" ! #: c/c-parser.cc:23751 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "zero sized type %qT in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-parser.cc:23757 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "variable sized type %qT in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-parser.cc:23914 cp/parser.cc:48162 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:23947 cp/parser.cc:48197 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %qs or %qs" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:24004 cp/parser.cc:48259 #, fuzzy, gcc-internal-format msgid "%<#pragma omp error%> with % clause may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:24027 cp/parser.cc:48286 #, gcc-internal-format msgid "% encountered: %s" msgstr "" ! #: c/c-parser.cc:24030 cp/parser.cc:48289 #, gcc-internal-format msgid "% encountered" msgstr "" ! #: c/c-parser.cc:24057 cp/parser.cc:46709 #, gcc-internal-format msgid "expected at least one assumption clause" msgstr "" ! #: c/c-parser.cc:24143 cp/parser.cc:46795 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected directive name" msgstr "forventet funktion" ! #: c/c-parser.cc:24156 cp/parser.cc:46808 #, gcc-internal-format msgid "unknown OpenMP directive name in %qs clause argument" msgstr "" ! #: c/c-parser.cc:24163 cp/parser.cc:46815 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned in both % and % clauses" msgstr "" ! #: c/c-parser.cc:24174 cp/parser.cc:46826 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" msgstr "" ! #: c/c-parser.cc:24197 cp/parser.cc:46853 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown assumption clause %qs" msgstr "ukendt registernavn: %s" ! #: c/c-parser.cc:24210 cp/parser.cc:46863 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected assumption clause" msgstr "forventet funktion" ! #: c/c-parser.cc:24383 cp/semantics.cc:9393 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.cc:24385 cp/semantics.cc:9395 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.cc:24389 cp/semantics.cc:9397 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-parser.cc:24569 cp/parser.cc:49028 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.cc:24575 cp/parser.cc:49034 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.cc:24584 #, fuzzy, gcc-internal-format #| msgid "% function call not within outer transaction or %" msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a % function" msgstr "% funktionskald er ikke inden for ydre transaktion eller %" ! #: c/c-parser.cc:24592 cp/parser.cc:49052 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.cc:24676 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "no closing brace" --- 50616,51203 ---- #. check above and add one in semantics.cc (to properly handle templates). #. Base this on the allocator/align modifiers check for the 'allocate' clause #. in semantics.cc's finish_omp_clauses. ! #: c/c-parser.cc:18910 cp/parser.cc:41624 #, fuzzy, gcc-internal-format #| msgid "#pragma vtable no longer supported" msgid "%<#pragma omp allocate%> not yet supported" msgstr "'#pragma vtable' understøttes ikke længere" ! #: c/c-parser.cc:19048 cp/parser.cc:41756 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, %, %, or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:19087 cp/parser.cc:41795 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:19111 cp/parser.cc:41824 #, gcc-internal-format msgid "expected %, %, %, %, %, %, %, %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:19126 cp/parser.cc:41839 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many atomic clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:19133 cp/parser.cc:41846 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many memory order clauses" msgstr "for mange inddatafiler" ! #: c/c-parser.cc:19171 c/c-parser.cc:19178 cp/parser.cc:41884 ! #: cp/parser.cc:41891 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "%qs clause is incompatible with % or % clauses" msgstr "%s fra en henvisningstype der ikke er forenelig med målets" ! #: c/c-parser.cc:19184 c/c-parser.cc:19189 cp/parser.cc:41897 ! #: cp/parser.cc:41902 #, fuzzy, gcc-internal-format #| msgid "--resource requires -o" msgid "%qs clause requires %qs clause" msgstr "--resource påkræver -o" ! #: c/c-parser.cc:19233 cp/parser.cc:41946 #, gcc-internal-format msgid "%<#pragma omp atomic read%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19243 cp/parser.cc:41956 #, gcc-internal-format msgid "%<#pragma omp atomic write%> incompatible with % clause" msgstr "" ! #: c/c-parser.cc:19366 cp/parser.cc:42056 #, fuzzy, gcc-internal-format msgid "expected %<==%> comparison in % condition" msgstr "'%s' er erklæret inline efter dens definition" ! #: c/c-parser.cc:19373 cp/parser.cc:42063 #, gcc-internal-format msgid "expected %<==%>, %<<%> or %<>%> comparison in % condition" msgstr "" ! #: c/c-parser.cc:19446 cp/parser.cc:42128 cp/parser.cc:42411 ! #: cp/parser.cc:42505 cp/parser.cc:42523 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %<#pragma omp atomic compare%>" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19457 cp/parser.cc:42139 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "unexpected %" msgstr "forventede %" ! #: c/c-parser.cc:19517 cp/parser.cc:42578 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19788 cp/parser.cc:42432 cp/parser.cc:42458 #, fuzzy, gcc-internal-format #| msgid "invalid #pragma %s" msgid "invalid form of %<#pragma omp atomic%>" msgstr "ugyldig #pragma %s" ! #: c/c-parser.cc:19792 cp/parser.cc:42498 cp/parser.cc:42532 #, fuzzy, gcc-internal-format #| msgid "invalid operand for 'p' modifier" msgid "invalid operator for %<#pragma omp atomic%>" msgstr "ugyldig operand til 'p'-ændring" ! #: c/c-parser.cc:19843 cp/parser.cc:42567 #, gcc-internal-format msgid "% clause requires atomic equality comparison" msgstr "" ! #: c/c-parser.cc:19849 cp/semantics.cc:10910 cp/semantics.cc:10920 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" ! #: c/c-parser.cc:19949 cp/semantics.cc:10997 #, fuzzy, gcc-internal-format msgid "% expression is not lvalue expression" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: c/c-parser.cc:20010 cp/parser.cc:42733 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:20022 cp/parser.cc:42749 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:20063 cp/parser.cc:42787 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:20071 cp/parser.cc:42795 #, gcc-internal-format msgid "% list specified together with memory order clause" msgstr "" ! #: c/c-parser.cc:20076 #, gcc-internal-format msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.cc:20158 cp/parser.cc:43557 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or % clause" msgstr "forventede %<:%> or %<::%>" ! #: c/c-parser.cc:20163 cp/parser.cc:43563 #, fuzzy, gcc-internal-format #| msgid "expected %<#pragma omp section%> or %<}%>" msgid "expected %<#pragma omp scan%>" msgstr "%<#pragma omp section%> eller %<}%> forventet" ! #: c/c-parser.cc:20219 cp/parser.cc:43614 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.cc:20235 cp/parser.cc:43640 #, fuzzy, gcc-internal-format #| msgid "')' or term expected" msgid "for statement expected" msgstr "')' eller term forventet" ! #: c/c-parser.cc:20313 cp/semantics.cc:10488 cp/semantics.cc:10579 #, fuzzy, gcc-internal-format #| msgid "repeated declaration of automaton `%s'" msgid "expected iteration declaration or initialization" msgstr "gentaget erklæring af automaten '%s'" ! #: c/c-parser.cc:20399 #, gcc-internal-format msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.cc:20447 cp/parser.cc:43954 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.cc:20530 cp/parser.cc:43750 cp/parser.cc:43792 cp/pt.cc:18569 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.cc:20945 cp/parser.cc:44358 #, fuzzy, gcc-internal-format msgid "%<#pragma omp ordered%> with %qs clause may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:21159 cp/parser.cc:44564 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.cc:21504 cp/parser.cc:44911 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected %" msgstr "uventet operand" ! #: c/c-parser.cc:21763 cp/parser.cc:45190 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21779 cp/parser.cc:45206 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one %, % or % clause" msgstr "" ! #: c/c-parser.cc:21827 cp/parser.cc:45462 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.cc:21917 cp/parser.cc:45301 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:21929 cp/parser.cc:45313 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22016 cp/parser.cc:45405 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22029 cp/parser.cc:45418 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.cc:22265 cp/semantics.cc:10019 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.cc:22322 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22373 c/c-parser.cc:22401 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22440 cp/parser.cc:46334 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected trait selector name" msgstr "tom krop i en else-sætning" ! #: c/c-parser.cc:22493 cp/parser.cc:46386 #, fuzzy, gcc-internal-format #| msgid "type qualifier `%s' not allowed after struct or class" msgid "selector %qs not allowed for context selector set %qs" msgstr "typemodifikationen '%s' er ikke tilladt efter struct eller class" ! #: c/c-parser.cc:22518 cp/parser.cc:46410 #, fuzzy, gcc-internal-format #| msgid "incomplete type `%T' does not have member `%D'" msgid "selector %qs does not accept any properties" msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'" ! #: c/c-parser.cc:22545 cp/parser.cc:46449 cp/pt.cc:11869 #, fuzzy, gcc-internal-format #| msgid "comparison between signed and unsigned integer expressions" msgid "score argument must be constant integer expression" msgstr "sammenlign mellem signed og unsigned heltalsudtryk" ! #: c/c-parser.cc:22548 cp/parser.cc:46452 cp/pt.cc:11886 #, fuzzy, gcc-internal-format #| msgid "%s rotate count is negative" msgid "score argument must be non-negative" msgstr "%s-roteringsantal er negativt" ! #: c/c-parser.cc:22572 cp/parser.cc:46480 cp/pt.cc:11872 #, fuzzy, gcc-internal-format msgid "property must be constant integer expression or string literal" msgstr "klargøringsliste behandlet som et sammensat udtryk" ! #: c/c-parser.cc:22617 cp/parser.cc:46526 #, fuzzy, gcc-internal-format #| msgid "_Pragma takes a parenthesized string literal" msgid "expected identifier or string literal" msgstr "_Pragma tager en strengkonstant med paranteser omkring" ! #: c/c-parser.cc:22639 cp/parser.cc:46548 cp/pt.cc:11876 #, fuzzy, gcc-internal-format #| msgid "']' expected, invalid type expression" msgid "property must be constant integer expression" msgstr "']' forventet, ugyldigt typeudtryk" ! #: c/c-parser.cc:22650 cp/parser.cc:46559 #, gcc-internal-format msgid "properties for % selector may not be specified in %" msgstr "" ! #: c/c-parser.cc:22737 cp/parser.cc:46645 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:22816 cp/parser.cc:46962 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: c/c-parser.cc:22836 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qD is not a function" msgstr "'%s' er ikke en funktion," ! #: c/c-parser.cc:22842 cp/decl.cc:8112 #, fuzzy, gcc-internal-format #| msgid "-f%s and -msdata=%s are incompatible" msgid "variant %qD and base %qD have incompatible types" msgstr "-f%s og -msdata=%s er indbyrdes uforenelige" ! #: c/c-parser.cc:22854 cp/decl.cc:8121 #, gcc-internal-format msgid "variant %qD is a built-in" msgstr "" ! #: c/c-parser.cc:22899 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:22907 cp/parser.cc:47007 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" ! #: c/c-parser.cc:23021 cp/parser.cc:47211 #, gcc-internal-format msgid "%qD specified both in declare target % and %qs clauses" msgstr "" ! #: c/c-parser.cc:23025 cp/parser.cc:47215 #, gcc-internal-format msgid "%qD specified both in declare target % and % or % clauses" msgstr "" ! #: c/c-parser.cc:23074 cp/parser.cc:47326 #, gcc-internal-format msgid "directive with only % clause" msgstr "" ! #: c/c-parser.cc:23114 c/c-parser.cc:23154 cp/parser.cc:47374 ! #: cp/parser.cc:47421 #, fuzzy, gcc-internal-format msgid "expected %" msgstr "uventet operand" ! #: c/c-parser.cc:23126 cp/parser.cc:47387 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:23160 cp/parser.cc:47428 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>" msgstr "" ! #: c/c-parser.cc:23178 cp/parser.cc:47483 #, fuzzy, gcc-internal-format msgid "expected % or %" msgstr "uventet operand" ! #: c/c-parser.cc:23204 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> not at file or block scope" msgstr "" ! #: c/c-parser.cc:23281 #, gcc-internal-format msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23285 #, gcc-internal-format msgid "function or array type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23288 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: c/c-parser.cc:23291 #, gcc-internal-format msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23299 #, gcc-internal-format msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT" msgstr "" ! #: c/c-parser.cc:23308 #, gcc-internal-format msgid "previous %<#pragma omp declare reduction%>" msgstr "" ! #: c/c-parser.cc:23429 #, gcc-internal-format msgid "expected % or function-name" msgstr "" ! #: c/c-parser.cc:23440 #, fuzzy, gcc-internal-format msgid "expected function-name %<(%>" msgstr "uventet operand" ! #: c/c-parser.cc:23459 #, gcc-internal-format msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.cc:23590 cp/parser.cc:47955 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:23653 cp/parser.cc:48016 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected %, % or %" msgstr "forventede %, %, eller %" ! #: c/c-parser.cc:23682 cp/parser.cc:48051 #, gcc-internal-format msgid "expected %, %, %, % or % clause" msgstr "" ! #: c/c-parser.cc:23700 cp/parser.cc:48069 #, gcc-internal-format msgid "%qs clause used lexically after first target construct or offloading API" msgstr "" ! #: c/c-parser.cc:23712 cp/parser.cc:48081 #, gcc-internal-format msgid "more than one % clause in a single compilation unit" msgstr "" ! #: c/c-parser.cc:23721 cp/parser.cc:48090 #, gcc-internal-format msgid "% clause used lexically after first % construct without memory order clause" msgstr "" ! #: c/c-parser.cc:23735 cp/parser.cc:48104 #, gcc-internal-format msgid "% requires at least one clause" msgstr "" ! #: c/c-parser.cc:23754 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "zero sized type %qT in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-parser.cc:23760 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "variable sized type %qT in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-parser.cc:23917 cp/parser.cc:48161 #, fuzzy, gcc-internal-format #| msgid "expected %<;%>, %<,%> or %<)%>" msgid "expected %, % or % clause" msgstr "%<;%>, %<,%> eller %<)%> forventet" ! #: c/c-parser.cc:23950 cp/parser.cc:48196 #, fuzzy, gcc-internal-format #| msgid "expected %<,%> or %<)%>" msgid "expected %qs or %qs" msgstr "%<,%> eller %<)%> forventet" ! #: c/c-parser.cc:24007 cp/parser.cc:48258 #, fuzzy, gcc-internal-format msgid "%<#pragma omp error%> with % clause may only be used in compound statements" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: c/c-parser.cc:24030 cp/parser.cc:48285 #, gcc-internal-format msgid "% encountered: %s" msgstr "" ! #: c/c-parser.cc:24033 cp/parser.cc:48288 #, gcc-internal-format msgid "% encountered" msgstr "" ! #: c/c-parser.cc:24060 cp/parser.cc:46708 #, gcc-internal-format msgid "expected at least one assumption clause" msgstr "" ! #: c/c-parser.cc:24146 cp/parser.cc:46794 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected directive name" msgstr "forventet funktion" ! #: c/c-parser.cc:24159 cp/parser.cc:46807 #, gcc-internal-format msgid "unknown OpenMP directive name in %qs clause argument" msgstr "" ! #: c/c-parser.cc:24166 cp/parser.cc:46814 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned in both % and % clauses" msgstr "" ! #: c/c-parser.cc:24177 cp/parser.cc:46825 #, gcc-internal-format msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses" msgstr "" ! #: c/c-parser.cc:24200 cp/parser.cc:46852 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown assumption clause %qs" msgstr "ukendt registernavn: %s" ! #: c/c-parser.cc:24213 cp/parser.cc:46862 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected assumption clause" msgstr "forventet funktion" ! #: c/c-parser.cc:24386 cp/semantics.cc:9393 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.cc:24388 cp/semantics.cc:9395 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.cc:24392 cp/semantics.cc:9397 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-parser.cc:24572 cp/parser.cc:49027 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.cc:24578 cp/parser.cc:49033 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.cc:24587 #, fuzzy, gcc-internal-format #| msgid "% function call not within outer transaction or %" msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or a % function" msgstr "% funktionskald er ikke inden for ydre transaktion eller %" ! #: c/c-parser.cc:24595 cp/parser.cc:49051 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.cc:24679 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "no closing brace" *************** msgstr "fejl ved lukning af %s: %m" *** 51192,51198 **** msgid "%qD has an incomplete type %qT" msgstr "'%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:251 c/c-typeck.cc:11142 c/c-typeck.cc:11184 cp/call.cc:4856 #, gcc-internal-format msgid "invalid use of void expression" msgstr "ugyldig brug af void-udtryk" --- 51209,51215 ---- msgid "%qD has an incomplete type %qT" msgstr "'%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:251 c/c-typeck.cc:11147 c/c-typeck.cc:11189 cp/call.cc:4871 #, gcc-internal-format msgid "invalid use of void expression" msgstr "ugyldig brug af void-udtryk" *************** msgstr "en funktions returtype kan ikke *** 51277,51289 **** msgid "converting an array compound literal to a pointer is ill-formed in C++" msgstr "" ! #: c/c-typeck.cc:2590 c/c-typeck.cc:9663 #, fuzzy, gcc-internal-format #| msgid "'%D' has no member named '%E'" msgid "%qT has no member named %qE; did you mean %qE?" msgstr "'%D' har intet medlem ved navn '%E'" ! #: c/c-typeck.cc:2594 c/c-typeck.cc:9667 #, fuzzy, gcc-internal-format #| msgid "'%D' has no member named '%E'" msgid "%qT has no member named %qE" --- 51294,51306 ---- msgid "converting an array compound literal to a pointer is ill-formed in C++" msgstr "" ! #: c/c-typeck.cc:2590 c/c-typeck.cc:9668 #, fuzzy, gcc-internal-format #| msgid "'%D' has no member named '%E'" msgid "%qT has no member named %qE; did you mean %qE?" msgstr "'%D' har intet medlem ved navn '%E'" ! #: c/c-typeck.cc:2594 c/c-typeck.cc:9672 #, fuzzy, gcc-internal-format #| msgid "'%D' has no member named '%E'" msgid "%qT has no member named %qE" *************** msgstr " '%#D' erklæret her" *** 51775,51781 **** msgid "left-hand operand of comma expression has no effect" msgstr "venstreoperanden til kommaudtrykket har ingen virkning" ! #: c/c-typeck.cc:5865 c/c-typeck.cc:11717 #, fuzzy, gcc-internal-format #| msgid "left-hand operand of comma expression has no effect" msgid "right-hand operand of comma expression has no effect" --- 51792,51798 ---- msgid "left-hand operand of comma expression has no effect" msgstr "venstreoperanden til kommaudtrykket har ingen virkning" ! #: c/c-typeck.cc:5865 c/c-typeck.cc:11722 #, fuzzy, gcc-internal-format #| msgid "left-hand operand of comma expression has no effect" msgid "right-hand operand of comma expression has no effect" *************** msgstr "" *** 52292,52303 **** msgid "% initializer for a binary floating-point type is of decimal type" msgstr "" ! #: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1197 #, gcc-internal-format msgid "initialization of a flexible array member" msgstr "klargøring af fleksibelt tabelmedlem" ! #: c/c-typeck.cc:8384 cp/typeck2.cc:1214 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "cannot initialize array of %qT from a string literal with type array of %qT" --- 52309,52320 ---- msgid "% initializer for a binary floating-point type is of decimal type" msgstr "" ! #: c/c-typeck.cc:8368 c/c-typeck.cc:9294 cp/typeck2.cc:1215 #, gcc-internal-format msgid "initialization of a flexible array member" msgstr "klargøring af fleksibelt tabelmedlem" ! #: c/c-typeck.cc:8384 cp/typeck2.cc:1232 #, fuzzy, gcc-internal-format #| msgid "%s from incompatible pointer type" msgid "cannot initialize array of %qT from a string literal with type array of %qT" *************** msgid "invalid use of non-lvalue array" *** 52315,52321 **** msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi" #: c/c-typeck.cc:8530 c/c-typeck.cc:8554 c/c-typeck.cc:8557 c/c-typeck.cc:8565 ! #: c/c-typeck.cc:8612 c/c-typeck.cc:10153 c/c-typeck.cc:10232 #, gcc-internal-format msgid "initializer element is not constant" msgstr "startværdielement er ikke en konstant" --- 52332,52338 ---- msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi" #: c/c-typeck.cc:8530 c/c-typeck.cc:8554 c/c-typeck.cc:8557 c/c-typeck.cc:8565 ! #: c/c-typeck.cc:8612 c/c-typeck.cc:10158 c/c-typeck.cc:10237 #, gcc-internal-format msgid "initializer element is not constant" msgstr "startværdielement er ikke en konstant" *************** msgstr "startværdielement er ikke en ko *** 52325,52342 **** msgid "array initialized from non-constant array expression" msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant" ! #: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10242 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "initializer element is not a constant expression" msgstr "startværdielement er ikke en konstant" ! #: c/c-typeck.cc:8619 c/c-typeck.cc:10237 #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "startværdielement kan ikke beregnes ved indlæsningstidspunktet" ! #: c/c-typeck.cc:8643 #, gcc-internal-format msgid "invalid initializer" msgstr "ugyldig startværdi" --- 52342,52359 ---- msgid "array initialized from non-constant array expression" msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant" ! #: c/c-typeck.cc:8570 c/c-typeck.cc:8625 c/c-typeck.cc:10247 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "initializer element is not a constant expression" msgstr "startværdielement er ikke en konstant" ! #: c/c-typeck.cc:8619 c/c-typeck.cc:10242 #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "startværdielement kan ikke beregnes ved indlæsningstidspunktet" ! #: c/c-typeck.cc:8643 c/c-typeck.cc:9379 #, gcc-internal-format msgid "invalid initializer" msgstr "ugyldig startværdi" *************** msgid "braces around scalar initializer" *** 52357,52364 **** msgstr "krøllede paranteser omkring skalarstartværdi" # RETMIG: eller er det fleksibel tabel-medlem ! #: c/c-typeck.cc:9291 c/c-typeck.cc:10770 cp/typeck2.cc:1224 ! #: cp/typeck2.cc:1582 #, gcc-internal-format msgid "initialization of flexible array member in a nested context" msgstr "klargøring af fleksibelt tabelmedlem i en indlejret kontekst" --- 52374,52381 ---- msgstr "krøllede paranteser omkring skalarstartværdi" # RETMIG: eller er det fleksibel tabel-medlem ! #: c/c-typeck.cc:9291 c/c-typeck.cc:10775 cp/typeck2.cc:1242 ! #: cp/typeck2.cc:1600 #, gcc-internal-format msgid "initialization of flexible array member in a nested context" msgstr "klargøring af fleksibelt tabelmedlem i en indlejret kontekst" *************** msgstr "krøllede paranteser mangler omk *** 52374,53029 **** msgid "missing initializer for field %qD of %qT" msgstr "manglende startværdi for medlemmet '%D'" ! #: c/c-typeck.cc:9386 #, gcc-internal-format msgid "extra elements in scalar initializer" msgstr "overskydende elementer i skalarstarværdi" ! #: c/c-typeck.cc:9505 c/c-typeck.cc:9587 #, gcc-internal-format msgid "array index in non-array initializer" msgstr "tabelindeks i en startværdi der ikke er en tabel" # RETMIG: record? ! #: c/c-typeck.cc:9510 c/c-typeck.cc:9649 #, gcc-internal-format msgid "field name not in record or union initializer" msgstr "feltnavn ikke i struktur- eller union-startværdi" ! #: c/c-typeck.cc:9560 #, fuzzy, gcc-internal-format #| msgid "array index in initializer exceeds array bounds" msgid "array index in initializer not of integer type" msgstr "tabelindeks i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9569 c/c-typeck.cc:9578 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "array index in initializer is not an integer constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: c/c-typeck.cc:9583 c/c-typeck.cc:9585 #, gcc-internal-format msgid "nonconstant array index in initializer" msgstr "tabelindekset i startværdien er ikke en konstant" ! #: c/c-typeck.cc:9589 c/c-typeck.cc:9592 #, gcc-internal-format msgid "array index in initializer exceeds array bounds" msgstr "tabelindeks i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9611 #, gcc-internal-format msgid "empty index range in initializer" msgstr "tomt indeksinterval i startværdi" ! #: c/c-typeck.cc:9620 #, gcc-internal-format msgid "array index range in initializer exceeds array bounds" msgstr "tabelindeksinterval i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9722 c/c-typeck.cc:9752 c/c-typeck.cc:10330 #, gcc-internal-format msgid "initialized field with side-effects overwritten" msgstr "klargjort felt med bivirkninger overskrevet" ! #: c/c-typeck.cc:9726 c/c-typeck.cc:9756 c/c-typeck.cc:10333 #, fuzzy, gcc-internal-format #| msgid "initialized field with side-effects overwritten" msgid "initialized field overwritten" msgstr "klargjort felt med bivirkninger overskrevet" ! #: c/c-typeck.cc:10264 #, gcc-internal-format msgid "enum conversion in initialization is invalid in C++" msgstr "" ! #: c/c-typeck.cc:10645 #, fuzzy, gcc-internal-format #| msgid "excess elements in char array initializer" msgid "excess elements in % array initializer" msgstr "for mange elementer i char-tabelstartværdien" ! #: c/c-typeck.cc:10652 c/c-typeck.cc:10729 #, gcc-internal-format msgid "excess elements in struct initializer" msgstr "for mange elementer i struct-startværdi" ! #: c/c-typeck.cc:10673 #, gcc-internal-format msgid "positional initialization of field in % declared with % attribute" msgstr "" ! #: c/c-typeck.cc:10744 cp/typeck2.cc:1201 #, gcc-internal-format msgid "non-static initialization of a flexible array member" msgstr "ikke-statisk klargøring af fleksibelt tabelmedlem" ! #: c/c-typeck.cc:10839 #, gcc-internal-format msgid "excess elements in union initializer" msgstr "for mange elementer i union-startværdi" ! #: c/c-typeck.cc:10861 #, gcc-internal-format msgid "traditional C rejects initialization of unions" msgstr "traditionel C forbyder tildeling af startværdi til unioner" ! #: c/c-typeck.cc:10923 #, gcc-internal-format msgid "excess elements in array initializer" msgstr "for mange elementer i tabelstartværdi" ! #: c/c-typeck.cc:10957 #, gcc-internal-format msgid "excess elements in vector initializer" msgstr "for mange elementer i vektorstartværdi" ! #: c/c-typeck.cc:10989 #, gcc-internal-format msgid "excess elements in scalar initializer" msgstr "for mange elementer i skalarstartværdi" ! #: c/c-typeck.cc:11232 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C forbids %" msgstr "ISO C forbyder 'goto *udtryk;'" ! #: c/c-typeck.cc:11238 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "computed goto must be pointer type" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: c/c-typeck.cc:11267 c/gimple-parser.cc:2472 cp/typeck.cc:10932 #, fuzzy, gcc-internal-format #| msgid "function declared `noreturn' has a `return' statement" msgid "function declared % has a % statement" msgstr "funktion der er erklæret 'noreturn' har en 'return'-sætning" ! #: c/c-typeck.cc:11295 c/c-typeck.cc:11299 #, fuzzy, gcc-internal-format #| msgid "`return' with no value, in function returning non-void" msgid "% with no value, in function returning non-void" msgstr "'return' uden nogen værdi i en funktion der ikke returnerer void" ! #: c/c-typeck.cc:11313 c/gimple-parser.cc:2482 #, fuzzy, gcc-internal-format #| msgid "`return' with a value, in function returning void" msgid "% with a value, in function returning void" msgstr "'return' med en værdi i en funktion der returnerer void" ! #: c/c-typeck.cc:11316 #, fuzzy, gcc-internal-format #| msgid "`return' with a value, in function returning void" msgid "ISO C forbids % with expression, in function returning void" msgstr "'return' med en værdi i en funktion der returnerer void" ! #: c/c-typeck.cc:11393 #, fuzzy, gcc-internal-format #| msgid "function returns address of local variable" msgid "function returns address of label" msgstr "funktion returnerer adressen på en lokal variabel" ! #: c/c-typeck.cc:11484 cp/semantics.cc:1524 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "switch-størrelsen er ikke et heltal" ! #: c/c-typeck.cc:11509 #, fuzzy, gcc-internal-format #| msgid "`long' switch expression not converted to `int' in ISO C" msgid "% switch expression not converted to % in ISO C" msgstr "'long'-udtryk i switch konverteres ikke til 'int' i ISO C" ! #: c/c-typeck.cc:11547 c/c-typeck.cc:11555 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "case label is not an integer constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: c/c-typeck.cc:11561 cp/parser.cc:12750 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "case-etiket befinder sig ikke inden i en switch-sætning" ! #: c/c-typeck.cc:11563 #, fuzzy, gcc-internal-format #| msgid "`default' label not within a switch statement" msgid "% label not within a switch statement" msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning" ! #: c/c-typeck.cc:11639 cp/parser.cc:14366 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion" ! #: c/c-typeck.cc:11642 c/c-typeck.cc:11662 cp/decl.cc:3871 cp/parser.cc:14376 #: cp/parser.cc:14397 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" ! #: c/c-typeck.cc:11645 cp/parser.cc:14379 #, fuzzy, gcc-internal-format #| msgid "break statement not within loop or switch" msgid "break statement used with OpenMP for loop" msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion" ! #: c/c-typeck.cc:11659 cp/parser.cc:14389 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "continue-sætning befinder sig ikke i en løkke" ! #: c/c-typeck.cc:11699 cp/cp-gimplify.cc:249 #, fuzzy, gcc-internal-format #| msgid "%Hstatement with no effect" msgid "statement with no effect" msgstr "%Hsætning uden nogen virkning" ! #: c/c-typeck.cc:11743 #, gcc-internal-format msgid "expression statement has incomplete type" msgstr "udtrykket er af en ufuldstændig type" ! #: c/c-typeck.cc:12034 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12039 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12057 c/c-typeck.cc:12095 #, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "adressen af '%D' vil altid være 'true'" ! #: c/c-typeck.cc:12062 c/c-typeck.cc:12100 #, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "adressen af '%D' vil altid være 'true'" ! #: c/c-typeck.cc:12682 c/c-typeck.cc:12843 cp/typeck.cc:5987 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "comparing vectors with different element types" msgstr "operander til ?: har forskellige typer" ! #: c/c-typeck.cc:12690 c/c-typeck.cc:12851 cp/typeck.cc:6000 #, fuzzy, gcc-internal-format #| msgid "operand constraints for `asm' differ in number of alternatives" msgid "comparing vectors with different number of elements" msgstr "operandbegrænsninger til 'asm' har forskellige antal alternativer" ! #: c/c-typeck.cc:12705 c/c-typeck.cc:12866 cp/typeck.cc:6018 #, fuzzy, gcc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid "comparison between types %qT and %qT" msgstr "sammenligning mellem typerne '%#T' og '%#T'" ! #: c/c-typeck.cc:12715 c/c-typeck.cc:12876 cp/typeck.cc:6035 #, gcc-internal-format msgid "could not find an integer type of the same size as %qT" msgstr "" ! #: c/c-typeck.cc:12729 cp/typeck.cc:5671 #, fuzzy, gcc-internal-format #| msgid "comparing floating point with == or != is unsafe" msgid "comparing floating-point with %<==%> or % is unsafe" msgstr "sammenligning af kommatal med == eller != er ikke sikkert" ! #: c/c-typeck.cc:12767 c/c-typeck.cc:12917 #, fuzzy, gcc-internal-format #| msgid "comparison of distinct pointer types lacks a cast" msgid "comparison of pointers to disjoint address spaces" msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse" ! #: c/c-typeck.cc:12774 c/c-typeck.cc:12780 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids comparison of `void *' with function pointer" msgid "ISO C forbids comparison of % with function pointer" msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning" ! #: c/c-typeck.cc:12787 c/c-typeck.cc:12927 #, gcc-internal-format msgid "comparison of distinct pointer types lacks a cast" msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse" ! #: c/c-typeck.cc:12799 c/c-typeck.cc:12804 c/c-typeck.cc:12953 ! #: c/c-typeck.cc:12958 #, gcc-internal-format msgid "comparison between pointer and integer" msgstr "sammenligning mellem henvisningsvariabel og heltal" ! #: c/c-typeck.cc:12905 #, gcc-internal-format msgid "comparison of complete and incomplete pointers" msgstr "sammenligning mellem en fuldstændig og ufuldstændig henvisning" ! #: c/c-typeck.cc:12907 #, gcc-internal-format msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "ISO C forbyder ordnede sammenligninger af henvisninger til funktioner" ! #: c/c-typeck.cc:12912 #, fuzzy, gcc-internal-format #| msgid "ordered comparison of pointer with integer zero" msgid "ordered comparison of pointer with null pointer" msgstr "ordnet sammenligning af henvisning med heltallet nul" ! #: c/c-typeck.cc:12935 c/c-typeck.cc:12938 c/c-typeck.cc:12945 ! #: c/c-typeck.cc:12948 #, gcc-internal-format msgid "ordered comparison of pointer with integer zero" msgstr "ordnet sammenligning af henvisning med heltallet nul" ! #: c/c-typeck.cc:13024 #, gcc-internal-format msgid "implicit conversion from %qT to %qT to match other operand of binary expression" msgstr "" ! #: c/c-typeck.cc:13342 #, fuzzy, gcc-internal-format #| msgid "array type value used where scalar is required" msgid "used array that cannot be converted to pointer where scalar is required" msgstr "værdi af tabeltype angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13346 #, fuzzy, gcc-internal-format #| msgid "struct type value used where scalar is required" msgid "used struct type value where scalar is required" msgstr "værdi af struct-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13350 #, fuzzy, gcc-internal-format #| msgid "union type value used where scalar is required" msgid "used union type value where scalar is required" msgstr "værdi af union-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13366 #, fuzzy, gcc-internal-format #| msgid "struct type value used where scalar is required" msgid "used vector type where scalar is required" msgstr "værdi af struct-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13556 cp/semantics.cc:11070 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13567 c/c-typeck.cc:13577 cp/semantics.cc:11081 #: cp/semantics.cc:11091 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "expected % % clause modifier" msgstr "for mange inddatafiler" ! #: c/c-typeck.cc:13612 cp/semantics.cc:11126 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13657 c/c-typeck.cc:15382 c/c-typeck.cc:15518 ! #: c/c-typeck.cc:15601 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "%<_Atomic%> %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13681 c/c-typeck.cc:15297 c/c-typeck.cc:15504 #: cp/semantics.cc:5165 cp/semantics.cc:7933 cp/semantics.cc:8193 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13690 c/c-typeck.cc:15528 cp/semantics.cc:5175 #: cp/semantics.cc:8214 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qE is a member of a union" msgstr "'%D' er ikke en medlemsskabelonfunktion" ! #: c/c-typeck.cc:13707 c/c-typeck.cc:15537 cp/semantics.cc:8223 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "cannot dereference %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13718 cp/semantics.cc:5200 cp/semantics.cc:8268 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qD is not a variable in %qs clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:13722 c/c-typeck.cc:15565 cp/semantics.cc:5204 #: cp/semantics.cc:8272 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in %qs clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:13730 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "%<_Atomic%> %qD in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13740 c/c-typeck.cc:15572 c/c-typeck.cc:15702 #: cp/semantics.cc:5213 cp/semantics.cc:8279 cp/semantics.cc:8475 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13777 cp/semantics.cc:5247 #, fuzzy, gcc-internal-format #| msgid "size in array new must have integral type" msgid "low bound %qE of array section does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: c/c-typeck.cc:13784 cp/semantics.cc:5254 #, fuzzy, gcc-internal-format #| msgid "size in array new must have integral type" msgid "length %qE of array section does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: c/c-typeck.cc:13807 cp/semantics.cc:5287 #, fuzzy, gcc-internal-format #| msgid "Unexpected EOF while reading source file %s.\n" msgid "expected single pointer in %qs clause" msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n" ! #: c/c-typeck.cc:13825 c/c-typeck.cc:13892 c/c-typeck.cc:14184 #: cp/semantics.cc:5305 cp/semantics.cc:5372 #, fuzzy, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: c/c-typeck.cc:13844 cp/semantics.cc:5324 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13852 cp/semantics.cc:5332 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13861 c/c-typeck.cc:13985 cp/semantics.cc:5341 #: cp/semantics.cc:5465 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13878 cp/semantics.cc:5358 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13921 cp/semantics.cc:5401 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13936 cp/semantics.cc:5416 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13973 cp/semantics.cc:5453 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "for array function parameter length expression must be specified" msgstr "udsagn skal være et kaldenavn" ! #: c/c-typeck.cc:13977 cp/semantics.cc:5457 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:14004 c/c-typeck.cc:14123 cp/semantics.cc:5484 #: cp/semantics.cc:5618 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.cc:14014 cp/semantics.cc:5494 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qE does not have pointer or array type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14401 cp/semantics.cc:6592 #, fuzzy, gcc-internal-format #| msgid "throwing NULL, which has integral, not pointer type" msgid "iterator %qD has neither integral nor pointer type" msgstr "kaster NULL som har en heltals-, ikke en henvisningstype" ! #: c/c-typeck.cc:14408 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "iterator %qD has %<_Atomic%> qualified type" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14414 cp/semantics.cc:6599 #, fuzzy, gcc-internal-format #| msgid "parameter has incomplete type" msgid "iterator %qD has const qualified type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-typeck.cc:14427 cp/semantics.cc:6615 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "iterator step with non-integral type" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: c/c-typeck.cc:14447 cp/semantics.cc:6651 #, gcc-internal-format msgid "iterator %qD has zero step" msgstr "" ! #: c/c-typeck.cc:14474 #, gcc-internal-format msgid "type of iterator %qD refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14481 cp/semantics.cc:6685 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "begin expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14487 cp/semantics.cc:6691 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "end expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14493 cp/semantics.cc:6697 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "step expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14530 cp/semantics.cc:6745 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected pointer in %qs clause" msgstr "uventet operand" ! #: c/c-typeck.cc:14625 cp/semantics.cc:6833 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% and non-% % clauses on the same construct" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14647 cp/semantics.cc:6853 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% % clause with array section" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14673 c/c-typeck.cc:14683 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qD in % clause is a zero size array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14703 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%<_Atomic%> %qE in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14715 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "zero sized type %qT in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:14723 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "variable sized type %qT in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:14767 #, fuzzy, gcc-internal-format #| msgid "invalid return type for function `%#D'" msgid "%qE has invalid type for %" msgstr "ugyldig returtype for funktionen '%#D'" ! #: c/c-typeck.cc:14776 cp/semantics.cc:6484 #, fuzzy, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "brug af '%D' er tvetydigt" ! #: c/c-typeck.cc:14864 #, gcc-internal-format msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.cc:14882 c/c-typeck.cc:15796 cp/semantics.cc:9010 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:14894 cp/semantics.cc:9078 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.cc:14909 cp/semantics.cc:6896 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs when not using OpenMP 5.2 modifiers" msgstr "" ! #: c/c-typeck.cc:14918 #, gcc-internal-format msgid "linear clause applied to non-integral non-pointer variable with type %qT" msgstr "" ! #: c/c-typeck.cc:14926 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:14945 cp/semantics.cc:6980 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "% clause step %qE is neither constant nor a parameter" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14975 c/c-typeck.cc:15696 c/c-typeck.cc:15941 #: cp/semantics.cc:7067 cp/semantics.cc:8469 cp/semantics.cc:8819 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in clause %qs" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:14993 cp/semantics.cc:7085 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in motion clauses" msgid "%qD appears more than once in data-sharing clauses" msgstr "%qD fremgår mere end en gang i motion-klausuller" ! #: c/c-typeck.cc:15004 cp/semantics.cc:7096 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" ! #: c/c-typeck.cc:15018 c/c-typeck.cc:15088 c/c-typeck.cc:15122 #, gcc-internal-format msgid "%qE appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15028 c/c-typeck.cc:15095 c/c-typeck.cc:15426 ! #: c/c-typeck.cc:15619 c/c-typeck.cc:15627 c/c-typeck.cc:15644 ! #: c/c-typeck.cc:15654 c/c-typeck.cc:15662 cp/semantics.cc:7110 #: cp/semantics.cc:7120 cp/semantics.cc:7213 cp/semantics.cc:7220 #: cp/semantics.cc:7267 cp/semantics.cc:8102 cp/semantics.cc:8333 #: cp/semantics.cc:8341 cp/semantics.cc:8358 cp/semantics.cc:8368 --- 52391,53046 ---- msgid "missing initializer for field %qD of %qT" msgstr "manglende startværdi for medlemmet '%D'" ! #: c/c-typeck.cc:9391 #, gcc-internal-format msgid "extra elements in scalar initializer" msgstr "overskydende elementer i skalarstarværdi" ! #: c/c-typeck.cc:9510 c/c-typeck.cc:9592 #, gcc-internal-format msgid "array index in non-array initializer" msgstr "tabelindeks i en startværdi der ikke er en tabel" # RETMIG: record? ! #: c/c-typeck.cc:9515 c/c-typeck.cc:9654 #, gcc-internal-format msgid "field name not in record or union initializer" msgstr "feltnavn ikke i struktur- eller union-startværdi" ! #: c/c-typeck.cc:9565 #, fuzzy, gcc-internal-format #| msgid "array index in initializer exceeds array bounds" msgid "array index in initializer not of integer type" msgstr "tabelindeks i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9574 c/c-typeck.cc:9583 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "array index in initializer is not an integer constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: c/c-typeck.cc:9588 c/c-typeck.cc:9590 #, gcc-internal-format msgid "nonconstant array index in initializer" msgstr "tabelindekset i startværdien er ikke en konstant" ! #: c/c-typeck.cc:9594 c/c-typeck.cc:9597 #, gcc-internal-format msgid "array index in initializer exceeds array bounds" msgstr "tabelindeks i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9616 #, gcc-internal-format msgid "empty index range in initializer" msgstr "tomt indeksinterval i startværdi" ! #: c/c-typeck.cc:9625 #, gcc-internal-format msgid "array index range in initializer exceeds array bounds" msgstr "tabelindeksinterval i startværdi overskrider tabelgrænser" ! #: c/c-typeck.cc:9727 c/c-typeck.cc:9757 c/c-typeck.cc:10335 #, gcc-internal-format msgid "initialized field with side-effects overwritten" msgstr "klargjort felt med bivirkninger overskrevet" ! #: c/c-typeck.cc:9731 c/c-typeck.cc:9761 c/c-typeck.cc:10338 #, fuzzy, gcc-internal-format #| msgid "initialized field with side-effects overwritten" msgid "initialized field overwritten" msgstr "klargjort felt med bivirkninger overskrevet" ! #: c/c-typeck.cc:10269 #, gcc-internal-format msgid "enum conversion in initialization is invalid in C++" msgstr "" ! #: c/c-typeck.cc:10650 #, fuzzy, gcc-internal-format #| msgid "excess elements in char array initializer" msgid "excess elements in % array initializer" msgstr "for mange elementer i char-tabelstartværdien" ! #: c/c-typeck.cc:10657 c/c-typeck.cc:10734 #, gcc-internal-format msgid "excess elements in struct initializer" msgstr "for mange elementer i struct-startværdi" ! #: c/c-typeck.cc:10678 #, gcc-internal-format msgid "positional initialization of field in % declared with % attribute" msgstr "" ! #: c/c-typeck.cc:10749 cp/typeck2.cc:1219 #, gcc-internal-format msgid "non-static initialization of a flexible array member" msgstr "ikke-statisk klargøring af fleksibelt tabelmedlem" ! #: c/c-typeck.cc:10844 #, gcc-internal-format msgid "excess elements in union initializer" msgstr "for mange elementer i union-startværdi" ! #: c/c-typeck.cc:10866 #, gcc-internal-format msgid "traditional C rejects initialization of unions" msgstr "traditionel C forbyder tildeling af startværdi til unioner" ! #: c/c-typeck.cc:10928 #, gcc-internal-format msgid "excess elements in array initializer" msgstr "for mange elementer i tabelstartværdi" ! #: c/c-typeck.cc:10962 #, gcc-internal-format msgid "excess elements in vector initializer" msgstr "for mange elementer i vektorstartværdi" ! #: c/c-typeck.cc:10994 #, gcc-internal-format msgid "excess elements in scalar initializer" msgstr "for mange elementer i skalarstartværdi" ! #: c/c-typeck.cc:11237 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids `goto *expr;'" msgid "ISO C forbids %" msgstr "ISO C forbyder 'goto *udtryk;'" ! #: c/c-typeck.cc:11243 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "computed goto must be pointer type" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: c/c-typeck.cc:11272 c/gimple-parser.cc:2472 cp/typeck.cc:10932 #, fuzzy, gcc-internal-format #| msgid "function declared `noreturn' has a `return' statement" msgid "function declared % has a % statement" msgstr "funktion der er erklæret 'noreturn' har en 'return'-sætning" ! #: c/c-typeck.cc:11300 c/c-typeck.cc:11304 #, fuzzy, gcc-internal-format #| msgid "`return' with no value, in function returning non-void" msgid "% with no value, in function returning non-void" msgstr "'return' uden nogen værdi i en funktion der ikke returnerer void" ! #: c/c-typeck.cc:11318 c/gimple-parser.cc:2482 #, fuzzy, gcc-internal-format #| msgid "`return' with a value, in function returning void" msgid "% with a value, in function returning void" msgstr "'return' med en værdi i en funktion der returnerer void" ! #: c/c-typeck.cc:11321 #, fuzzy, gcc-internal-format #| msgid "`return' with a value, in function returning void" msgid "ISO C forbids % with expression, in function returning void" msgstr "'return' med en værdi i en funktion der returnerer void" ! #: c/c-typeck.cc:11398 #, fuzzy, gcc-internal-format #| msgid "function returns address of local variable" msgid "function returns address of label" msgstr "funktion returnerer adressen på en lokal variabel" ! #: c/c-typeck.cc:11489 cp/semantics.cc:1524 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "switch-størrelsen er ikke et heltal" ! #: c/c-typeck.cc:11514 #, fuzzy, gcc-internal-format #| msgid "`long' switch expression not converted to `int' in ISO C" msgid "% switch expression not converted to % in ISO C" msgstr "'long'-udtryk i switch konverteres ikke til 'int' i ISO C" ! #: c/c-typeck.cc:11552 c/c-typeck.cc:11560 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "case label is not an integer constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: c/c-typeck.cc:11566 cp/parser.cc:12750 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "case-etiket befinder sig ikke inden i en switch-sætning" ! #: c/c-typeck.cc:11568 #, fuzzy, gcc-internal-format #| msgid "`default' label not within a switch statement" msgid "% label not within a switch statement" msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning" ! #: c/c-typeck.cc:11644 cp/parser.cc:14366 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion" ! #: c/c-typeck.cc:11647 c/c-typeck.cc:11667 cp/decl.cc:3871 cp/parser.cc:14376 #: cp/parser.cc:14397 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" ! #: c/c-typeck.cc:11650 cp/parser.cc:14379 #, fuzzy, gcc-internal-format #| msgid "break statement not within loop or switch" msgid "break statement used with OpenMP for loop" msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion" ! #: c/c-typeck.cc:11664 cp/parser.cc:14389 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "continue-sætning befinder sig ikke i en løkke" ! #: c/c-typeck.cc:11704 cp/cp-gimplify.cc:256 #, fuzzy, gcc-internal-format #| msgid "%Hstatement with no effect" msgid "statement with no effect" msgstr "%Hsætning uden nogen virkning" ! #: c/c-typeck.cc:11748 #, gcc-internal-format msgid "expression statement has incomplete type" msgstr "udtrykket er af en ufuldstændig type" ! #: c/c-typeck.cc:12039 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12044 #, gcc-internal-format msgid "the comparison will always evaluate as % for the pointer operand in %qE must not be NULL" msgstr "" ! #: c/c-typeck.cc:12062 c/c-typeck.cc:12100 #, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "adressen af '%D' vil altid være 'true'" ! #: c/c-typeck.cc:12067 c/c-typeck.cc:12105 #, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as % for the address of %qE will never be NULL" msgstr "adressen af '%D' vil altid være 'true'" ! #: c/c-typeck.cc:12687 c/c-typeck.cc:12848 cp/typeck.cc:5987 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "comparing vectors with different element types" msgstr "operander til ?: har forskellige typer" ! #: c/c-typeck.cc:12695 c/c-typeck.cc:12856 cp/typeck.cc:6000 #, fuzzy, gcc-internal-format #| msgid "operand constraints for `asm' differ in number of alternatives" msgid "comparing vectors with different number of elements" msgstr "operandbegrænsninger til 'asm' har forskellige antal alternativer" ! #: c/c-typeck.cc:12710 c/c-typeck.cc:12871 cp/typeck.cc:6018 #, fuzzy, gcc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid "comparison between types %qT and %qT" msgstr "sammenligning mellem typerne '%#T' og '%#T'" ! #: c/c-typeck.cc:12720 c/c-typeck.cc:12881 cp/typeck.cc:6035 #, gcc-internal-format msgid "could not find an integer type of the same size as %qT" msgstr "" ! #: c/c-typeck.cc:12734 cp/typeck.cc:5671 #, fuzzy, gcc-internal-format #| msgid "comparing floating point with == or != is unsafe" msgid "comparing floating-point with %<==%> or % is unsafe" msgstr "sammenligning af kommatal med == eller != er ikke sikkert" ! #: c/c-typeck.cc:12772 c/c-typeck.cc:12922 #, fuzzy, gcc-internal-format #| msgid "comparison of distinct pointer types lacks a cast" msgid "comparison of pointers to disjoint address spaces" msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse" ! #: c/c-typeck.cc:12779 c/c-typeck.cc:12785 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids comparison of `void *' with function pointer" msgid "ISO C forbids comparison of % with function pointer" msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning" ! #: c/c-typeck.cc:12792 c/c-typeck.cc:12932 #, gcc-internal-format msgid "comparison of distinct pointer types lacks a cast" msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse" ! #: c/c-typeck.cc:12804 c/c-typeck.cc:12809 c/c-typeck.cc:12958 ! #: c/c-typeck.cc:12963 #, gcc-internal-format msgid "comparison between pointer and integer" msgstr "sammenligning mellem henvisningsvariabel og heltal" ! #: c/c-typeck.cc:12910 #, gcc-internal-format msgid "comparison of complete and incomplete pointers" msgstr "sammenligning mellem en fuldstændig og ufuldstændig henvisning" ! #: c/c-typeck.cc:12912 #, gcc-internal-format msgid "ISO C forbids ordered comparisons of pointers to functions" msgstr "ISO C forbyder ordnede sammenligninger af henvisninger til funktioner" ! #: c/c-typeck.cc:12917 #, fuzzy, gcc-internal-format #| msgid "ordered comparison of pointer with integer zero" msgid "ordered comparison of pointer with null pointer" msgstr "ordnet sammenligning af henvisning med heltallet nul" ! #: c/c-typeck.cc:12940 c/c-typeck.cc:12943 c/c-typeck.cc:12950 ! #: c/c-typeck.cc:12953 #, gcc-internal-format msgid "ordered comparison of pointer with integer zero" msgstr "ordnet sammenligning af henvisning med heltallet nul" ! #: c/c-typeck.cc:13029 #, gcc-internal-format msgid "implicit conversion from %qT to %qT to match other operand of binary expression" msgstr "" ! #: c/c-typeck.cc:13347 #, fuzzy, gcc-internal-format #| msgid "array type value used where scalar is required" msgid "used array that cannot be converted to pointer where scalar is required" msgstr "værdi af tabeltype angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13351 #, fuzzy, gcc-internal-format #| msgid "struct type value used where scalar is required" msgid "used struct type value where scalar is required" msgstr "værdi af struct-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13355 #, fuzzy, gcc-internal-format #| msgid "union type value used where scalar is required" msgid "used union type value where scalar is required" msgstr "værdi af union-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13371 #, fuzzy, gcc-internal-format #| msgid "struct type value used where scalar is required" msgid "used vector type where scalar is required" msgstr "værdi af struct-type angivet hvor skalar er påkrævet" ! #: c/c-typeck.cc:13561 cp/semantics.cc:11070 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13572 c/c-typeck.cc:13582 cp/semantics.cc:11081 #: cp/semantics.cc:11091 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "expected % % clause modifier" msgstr "for mange inddatafiler" ! #: c/c-typeck.cc:13617 cp/semantics.cc:11126 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.cc:13662 c/c-typeck.cc:15387 c/c-typeck.cc:15523 ! #: c/c-typeck.cc:15606 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "%<_Atomic%> %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13686 c/c-typeck.cc:15302 c/c-typeck.cc:15509 #: cp/semantics.cc:5165 cp/semantics.cc:7933 cp/semantics.cc:8193 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "bit-field %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13695 c/c-typeck.cc:15533 cp/semantics.cc:5175 #: cp/semantics.cc:8214 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qE is a member of a union" msgstr "'%D' er ikke en medlemsskabelonfunktion" ! #: c/c-typeck.cc:13712 c/c-typeck.cc:15542 cp/semantics.cc:8223 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "cannot dereference %qE in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13723 cp/semantics.cc:5200 cp/semantics.cc:8268 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qD is not a variable in %qs clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:13727 c/c-typeck.cc:15570 cp/semantics.cc:5204 #: cp/semantics.cc:8272 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in %qs clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:13735 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "%<_Atomic%> %qD in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:13745 c/c-typeck.cc:15577 c/c-typeck.cc:15707 #: cp/semantics.cc:5213 cp/semantics.cc:8279 cp/semantics.cc:8475 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.cc:13782 cp/semantics.cc:5247 #, fuzzy, gcc-internal-format #| msgid "size in array new must have integral type" msgid "low bound %qE of array section does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: c/c-typeck.cc:13789 cp/semantics.cc:5254 #, fuzzy, gcc-internal-format #| msgid "size in array new must have integral type" msgid "length %qE of array section does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: c/c-typeck.cc:13812 cp/semantics.cc:5287 #, fuzzy, gcc-internal-format #| msgid "Unexpected EOF while reading source file %s.\n" msgid "expected single pointer in %qs clause" msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n" ! #: c/c-typeck.cc:13830 c/c-typeck.cc:13897 c/c-typeck.cc:14189 #: cp/semantics.cc:5305 cp/semantics.cc:5372 #, fuzzy, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: c/c-typeck.cc:13849 cp/semantics.cc:5324 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:13857 cp/semantics.cc:5332 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13866 c/c-typeck.cc:13990 cp/semantics.cc:5341 #: cp/semantics.cc:5465 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.cc:13883 cp/semantics.cc:5358 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13926 cp/semantics.cc:5401 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13941 cp/semantics.cc:5416 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.cc:13978 cp/semantics.cc:5453 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "for array function parameter length expression must be specified" msgstr "udsagn skal være et kaldenavn" ! #: c/c-typeck.cc:13982 cp/semantics.cc:5457 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.cc:14009 c/c-typeck.cc:14128 cp/semantics.cc:5484 #: cp/semantics.cc:5618 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.cc:14019 cp/semantics.cc:5494 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qE does not have pointer or array type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14406 cp/semantics.cc:6592 #, fuzzy, gcc-internal-format #| msgid "throwing NULL, which has integral, not pointer type" msgid "iterator %qD has neither integral nor pointer type" msgstr "kaster NULL som har en heltals-, ikke en henvisningstype" ! #: c/c-typeck.cc:14413 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "iterator %qD has %<_Atomic%> qualified type" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14419 cp/semantics.cc:6599 #, fuzzy, gcc-internal-format #| msgid "parameter has incomplete type" msgid "iterator %qD has const qualified type" msgstr "parameteren er af en ufuldstændig type" ! #: c/c-typeck.cc:14432 cp/semantics.cc:6615 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "iterator step with non-integral type" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: c/c-typeck.cc:14452 cp/semantics.cc:6651 #, gcc-internal-format msgid "iterator %qD has zero step" msgstr "" ! #: c/c-typeck.cc:14479 #, gcc-internal-format msgid "type of iterator %qD refers to outer iterator %qD" msgstr "" ! #: c/c-typeck.cc:14486 cp/semantics.cc:6685 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "begin expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14492 cp/semantics.cc:6691 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "end expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14498 cp/semantics.cc:6697 #, fuzzy, gcc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "step expression refers to outer iterator %qD" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: c/c-typeck.cc:14535 cp/semantics.cc:6745 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected pointer in %qs clause" msgstr "uventet operand" ! #: c/c-typeck.cc:14630 cp/semantics.cc:6833 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% and non-% % clauses on the same construct" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14652 cp/semantics.cc:6853 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% % clause with array section" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14678 c/c-typeck.cc:14688 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qD in % clause is a zero size array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14708 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%<_Atomic%> %qE in % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:14720 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "zero sized type %qT in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:14728 #, fuzzy, gcc-internal-format #| msgid "bit-field `%s' has invalid type" msgid "variable sized type %qT in %qs clause" msgstr "bitfeltet '%s' er af en ufuldstændig type" ! #: c/c-typeck.cc:14772 #, fuzzy, gcc-internal-format #| msgid "invalid return type for function `%#D'" msgid "%qE has invalid type for %" msgstr "ugyldig returtype for funktionen '%#D'" ! #: c/c-typeck.cc:14781 cp/semantics.cc:6484 #, fuzzy, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "brug af '%D' er tvetydigt" ! #: c/c-typeck.cc:14869 #, gcc-internal-format msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.cc:14887 c/c-typeck.cc:15801 cp/semantics.cc:9010 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:14899 cp/semantics.cc:9078 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.cc:14914 cp/semantics.cc:6896 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs when not using OpenMP 5.2 modifiers" msgstr "" ! #: c/c-typeck.cc:14923 #, gcc-internal-format msgid "linear clause applied to non-integral non-pointer variable with type %qT" msgstr "" ! #: c/c-typeck.cc:14931 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.cc:14950 cp/semantics.cc:6980 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "% clause step %qE is neither constant nor a parameter" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:14980 c/c-typeck.cc:15701 c/c-typeck.cc:15946 #: cp/semantics.cc:7067 cp/semantics.cc:8469 cp/semantics.cc:8819 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in clause %qs" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:14998 cp/semantics.cc:7085 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in motion clauses" msgid "%qD appears more than once in data-sharing clauses" msgstr "%qD fremgår mere end en gang i motion-klausuller" ! #: c/c-typeck.cc:15009 cp/semantics.cc:7096 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" ! #: c/c-typeck.cc:15023 c/c-typeck.cc:15093 c/c-typeck.cc:15127 #, gcc-internal-format msgid "%qE appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15033 c/c-typeck.cc:15100 c/c-typeck.cc:15431 ! #: c/c-typeck.cc:15624 c/c-typeck.cc:15632 c/c-typeck.cc:15649 ! #: c/c-typeck.cc:15659 c/c-typeck.cc:15667 cp/semantics.cc:7110 #: cp/semantics.cc:7120 cp/semantics.cc:7213 cp/semantics.cc:7220 #: cp/semantics.cc:7267 cp/semantics.cc:8102 cp/semantics.cc:8333 #: cp/semantics.cc:8341 cp/semantics.cc:8358 cp/semantics.cc:8368 *************** msgstr "" *** 53032,53269 **** msgid "%qD appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15031 c/c-typeck.cc:15101 c/c-typeck.cc:15630 ! #: c/c-typeck.cc:15665 cp/semantics.cc:7123 cp/semantics.cc:7226 #: cp/semantics.cc:8344 cp/semantics.cc:8379 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.cc:15076 cp/semantics.cc:7200 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%qE is not a variable in clause %" msgstr "instansvariablen '%s' er erklæret privat" ! #: c/c-typeck.cc:15115 cp/semantics.cc:7259 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%qE is not a variable in clause %" msgstr "instansvariablen '%s' er erklæret privat" ! #: c/c-typeck.cc:15134 cp/semantics.cc:7654 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in % clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:15141 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qE in % clause is neither a pointer nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:15148 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "%<_Atomic%> %qD i %-klausul" ! #: c/c-typeck.cc:15155 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15168 cp/semantics.cc:7725 #, fuzzy, gcc-internal-format #| msgid "%qE is not a variable in % clause" msgid "%qE is not a variable in % clause" msgstr "%qE er ikke en variable i %-klausul" ! #: c/c-typeck.cc:15174 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in map clauses" msgid "%qE appears more than once in % clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15187 cp/semantics.cc:7764 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in % clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:15193 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in map clauses" msgid "%qE appears more than once in % clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15263 cp/semantics.cc:7890 #, gcc-internal-format msgid "% clause with % dependence type on array section" msgstr "" ! #: c/c-typeck.cc:15278 cp/semantics.cc:7905 #, gcc-internal-format msgid "% used with % kind other than % or %" msgstr "" ! #: c/c-typeck.cc:15286 cp/semantics.cc:7923 #, fuzzy, gcc-internal-format #| msgid "%qE is not a variable in % clause" msgid "%qE is not lvalue expression nor array section in %qs clause" msgstr "%qE er ikke en variable i %-klausul" ! #: c/c-typeck.cc:15307 cp/semantics.cc:7945 #, gcc-internal-format msgid "%qE does not have % type in % clause with % dependence type" msgstr "" ! #: c/c-typeck.cc:15317 cp/semantics.cc:7957 #, gcc-internal-format msgid "%qE should not have % type in % clause with dependence type other than %" msgstr "" ! #: c/c-typeck.cc:15374 cp/semantics.cc:8052 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15422 c/c-typeck.cc:15641 cp/semantics.cc:8098 #: cp/semantics.cc:8355 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "%qD fremgår mere end en gang i motion-klausuller" ! #: c/c-typeck.cc:15430 c/c-typeck.cc:15647 cp/semantics.cc:8106 #: cp/semantics.cc:8361 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15511 cp/semantics.cc:8200 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "%qE har ikke en mappable-type i %qs-klausul" ! #: c/c-typeck.cc:15592 c/c-typeck.cc:15709 cp/semantics.cc:8302 #: cp/semantics.cc:8482 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "%qD har ikke en mappable-type i %qs-klausul" ! #: c/c-typeck.cc:15692 cp/semantics.cc:8464 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "%qE er hverken en variabel eller et funktionsnavn i klausul %qs" ! #: c/c-typeck.cc:15718 cp/semantics.cc:8494 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.cc:15732 cp/semantics.cc:8510 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15735 cp/semantics.cc:8513 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15754 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' is not a pointer" msgid "%qs variable is not a pointer" msgstr "grundoperanden til '->' er ikke en henvisning" ! #: c/c-typeck.cc:15761 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qs variable is neither a pointer nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:15809 c/c-typeck.cc:15902 cp/semantics.cc:8972 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:15829 cp/semantics.cc:7997 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses on a task construct" msgstr "for mange inddatafiler" ! #: c/c-typeck.cc:15924 cp/semantics.cc:8787 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.cc:15991 cp/semantics.cc:9149 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.cc:16001 #, gcc-internal-format msgid "% qualified %qE may appear only in % or % clauses" msgstr "" ! #: c/c-typeck.cc:16032 cp/semantics.cc:8924 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.cc:16044 cp/semantics.cc:8937 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.cc:16055 c/c-typeck.cc:16063 cp/semantics.cc:8946 #: cp/semantics.cc:8964 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%qs clause specified together with % % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:16111 cp/semantics.cc:8904 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" ! #: c/c-typeck.cc:16162 cp/semantics.cc:8954 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16172 cp/semantics.cc:8983 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16190 cp/semantics.cc:9174 #, gcc-internal-format msgid "the event handle of a % clause should not be in a data-sharing clause" msgstr "" ! #: c/c-typeck.cc:16364 #, gcc-internal-format msgid "cannot use % with reverse storage order" msgstr "" ! #: c/c-typeck.cc:16369 #, fuzzy, gcc-internal-format #| msgid "first argument to `va_arg' not of type `va_list'" msgid "second argument to % is of incomplete type %qT" msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'" ! #: c/c-typeck.cc:16375 #, fuzzy, gcc-internal-format #| msgid "first argument to `va_arg' not of type `va_list'" msgid "second argument to % is a function type %qT" msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'" ! #: c/c-typeck.cc:16381 #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "" --- 53049,53286 ---- msgid "%qD appears more than once in data clauses" msgstr "" ! #: c/c-typeck.cc:15036 c/c-typeck.cc:15106 c/c-typeck.cc:15635 ! #: c/c-typeck.cc:15670 cp/semantics.cc:7123 cp/semantics.cc:7226 #: cp/semantics.cc:8344 cp/semantics.cc:8379 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.cc:15081 cp/semantics.cc:7200 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%qE is not a variable in clause %" msgstr "instansvariablen '%s' er erklæret privat" ! #: c/c-typeck.cc:15120 cp/semantics.cc:7259 #, fuzzy, gcc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%qE is not a variable in clause %" msgstr "instansvariablen '%s' er erklæret privat" ! #: c/c-typeck.cc:15139 cp/semantics.cc:7654 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in % clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:15146 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qE in % clause is neither a pointer nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:15153 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause" msgstr "%<_Atomic%> %qD i %-klausul" ! #: c/c-typeck.cc:15160 #, gcc-internal-format msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.cc:15173 cp/semantics.cc:7725 #, fuzzy, gcc-internal-format #| msgid "%qE is not a variable in % clause" msgid "%qE is not a variable in % clause" msgstr "%qE er ikke en variable i %-klausul" ! #: c/c-typeck.cc:15179 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in map clauses" msgid "%qE appears more than once in % clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15192 cp/semantics.cc:7764 #, fuzzy, gcc-internal-format #| msgid "`%s' is not a valid class name" msgid "%qE is not a variable in % clause" msgstr "'%s' er et ugyldigt klassenavn" ! #: c/c-typeck.cc:15198 #, fuzzy, gcc-internal-format #| msgid "%qD appears more than once in map clauses" msgid "%qE appears more than once in % clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15268 cp/semantics.cc:7890 #, gcc-internal-format msgid "% clause with % dependence type on array section" msgstr "" ! #: c/c-typeck.cc:15283 cp/semantics.cc:7905 #, gcc-internal-format msgid "% used with % kind other than % or %" msgstr "" ! #: c/c-typeck.cc:15291 cp/semantics.cc:7923 #, fuzzy, gcc-internal-format #| msgid "%qE is not a variable in % clause" msgid "%qE is not lvalue expression nor array section in %qs clause" msgstr "%qE er ikke en variable i %-klausul" ! #: c/c-typeck.cc:15312 cp/semantics.cc:7945 #, gcc-internal-format msgid "%qE does not have % type in % clause with % dependence type" msgstr "" ! #: c/c-typeck.cc:15322 cp/semantics.cc:7957 #, gcc-internal-format msgid "%qE should not have % type in % clause with dependence type other than %" msgstr "" ! #: c/c-typeck.cc:15379 cp/semantics.cc:8052 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.cc:15427 c/c-typeck.cc:15646 cp/semantics.cc:8098 #: cp/semantics.cc:8355 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "%qD fremgår mere end en gang i motion-klausuller" ! #: c/c-typeck.cc:15435 c/c-typeck.cc:15652 cp/semantics.cc:8106 #: cp/semantics.cc:8361 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "%qD fremgår mere end en gang i map-klausuller" ! #: c/c-typeck.cc:15516 cp/semantics.cc:8200 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "%qE har ikke en mappable-type i %qs-klausul" ! #: c/c-typeck.cc:15597 c/c-typeck.cc:15714 cp/semantics.cc:8302 #: cp/semantics.cc:8482 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "%qD har ikke en mappable-type i %qs-klausul" ! #: c/c-typeck.cc:15697 cp/semantics.cc:8464 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "%qE er hverken en variabel eller et funktionsnavn i klausul %qs" ! #: c/c-typeck.cc:15723 cp/semantics.cc:8494 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.cc:15737 cp/semantics.cc:8510 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15740 cp/semantics.cc:8513 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" ! #: c/c-typeck.cc:15759 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' is not a pointer" msgid "%qs variable is not a pointer" msgstr "grundoperanden til '->' er ikke en henvisning" ! #: c/c-typeck.cc:15766 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qs variable is neither a pointer nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: c/c-typeck.cc:15814 c/c-typeck.cc:15907 cp/semantics.cc:8972 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.cc:15834 cp/semantics.cc:7997 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses on a task construct" msgstr "for mange inddatafiler" ! #: c/c-typeck.cc:15929 cp/semantics.cc:8787 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.cc:15996 cp/semantics.cc:9149 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.cc:16006 #, gcc-internal-format msgid "% qualified %qE may appear only in % or % clauses" msgstr "" ! #: c/c-typeck.cc:16037 cp/semantics.cc:8924 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.cc:16049 cp/semantics.cc:8937 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.cc:16060 c/c-typeck.cc:16068 cp/semantics.cc:8946 #: cp/semantics.cc:8964 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "%qs clause specified together with % % clause" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: c/c-typeck.cc:16116 cp/semantics.cc:8904 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" ! #: c/c-typeck.cc:16167 cp/semantics.cc:8954 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16177 cp/semantics.cc:8983 #, gcc-internal-format msgid "% clause must not be used together with % clause" msgstr "" ! #: c/c-typeck.cc:16195 cp/semantics.cc:9174 #, gcc-internal-format msgid "the event handle of a % clause should not be in a data-sharing clause" msgstr "" ! #: c/c-typeck.cc:16369 #, gcc-internal-format msgid "cannot use % with reverse storage order" msgstr "" ! #: c/c-typeck.cc:16374 #, fuzzy, gcc-internal-format #| msgid "first argument to `va_arg' not of type `va_list'" msgid "second argument to % is of incomplete type %qT" msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'" ! #: c/c-typeck.cc:16380 #, fuzzy, gcc-internal-format #| msgid "first argument to `va_arg' not of type `va_list'" msgid "second argument to % is a function type %qT" msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'" ! #: c/c-typeck.cc:16386 #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "" *************** msgid "expected case label" *** 53501,53670 **** msgstr "forventet etiket" #. A bad conversion for 'this' must be discarding cv-quals. ! #: cp/call.cc:3837 #, fuzzy, gcc-internal-format #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid " passing %qT as % argument discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:3841 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion for implicit % parameter from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3848 #, gcc-internal-format, gfc-internal-format msgid " conversion of argument %d would be ill-formed:" msgstr "" #. Conversion of conversion function return value failed. ! #: cp/call.cc:3855 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3861 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion for argument %d from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3875 cp/pt.cc:7020 #, gcc-internal-format, gfc-internal-format msgid " candidate expects at least %d argument, %d provided" msgid_plural " candidate expects at least %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3880 cp/pt.cc:7025 #, gcc-internal-format, gfc-internal-format msgid " candidate expects %d argument, %d provided" msgid_plural " candidate expects %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3908 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T, %T, %T) " msgid "%s%<%D(%T, %T, %T)%> (built-in)" msgstr "%s %D(%T, %T, %T) " ! #: cp/call.cc:3913 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T, %T) " msgid "%s%<%D(%T, %T)%> (built-in)" msgstr "%s %D(%T, %T) " ! #: cp/call.cc:3917 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T) " msgid "%s%<%D(%T)%> (built-in)" msgstr "%s %D(%T) " ! #: cp/call.cc:3921 #, fuzzy, gcc-internal-format #| msgid "%s %T " msgid "%s%qT (conversion)" msgstr "%s %T " ! #: cp/call.cc:3923 #, gcc-internal-format msgid "%s%#qD (near match)" msgstr "" ! #: cp/call.cc:3925 #, gcc-internal-format msgid "%s%#qD (deleted)" msgstr "" ! #: cp/call.cc:3927 #, gcc-internal-format msgid "%s%#qD (reversed)" msgstr "" ! #: cp/call.cc:3929 #, gcc-internal-format msgid "%s%#qD (rewritten)" msgstr "" ! #: cp/call.cc:3931 #, gcc-internal-format msgid "%s%#qD" msgstr "" ! #: cp/call.cc:3935 #, fuzzy, gcc-internal-format msgid " inherited here" msgstr "'%D' vil blive klargjort efter" ! #: cp/call.cc:3956 #, gcc-internal-format msgid " return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion" msgstr "" ! #: cp/call.cc:3962 #, gcc-internal-format msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" msgstr "" ! #: cp/call.cc:3973 #, gcc-internal-format msgid " substitution of deduced template arguments resulted in errors seen above" msgstr "" #. Re-run template unification with diagnostics. ! #: cp/call.cc:3978 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid " template argument deduction/substitution failed:" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/call.cc:3992 #, gcc-internal-format msgid " a constructor taking a single argument of its own class type is invalid" msgstr "" ! #: cp/call.cc:3999 #, gcc-internal-format msgid " an inherited constructor is not a candidate for initialization from an expression of the same or derived type" msgstr "" ! #: cp/call.cc:4146 cp/call.cc:4667 #, fuzzy, gcc-internal-format #| msgid "new cannot be applied to a function type" msgid "designated initializers cannot be used with a non-aggregate type %qT" msgstr "new kan ikke bruges på en funktionstype" ! #: cp/call.cc:4564 #, fuzzy #| msgid "conversion from `%T' to `%T' is ambiguous" msgid "conversion from %qH to %qI is ambiguous" msgstr "konvertering fra '%T' til '%T' er tvetydigt" ! #: cp/call.cc:4673 cp/cvt.cc:864 #, fuzzy #| msgid "could not convert `%E' to `%T'" msgid "could not convert %qE from %qH to %qI" msgstr "kunne ikke konvertere '%E' til '%T'" ! #: cp/call.cc:4740 msgid "initializing %qH with %qI in converted constant expression does not bind directly" msgstr "" ! #: cp/call.cc:4761 #, fuzzy msgid "conversion from %qH to %qI in a converted constant expression" msgstr "overløb i konstant udtryk" ! #: cp/call.cc:4949 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for call to %<%D(%A)%>" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: cp/call.cc:4952 #, fuzzy, gcc-internal-format #| msgid "call of overloaded `%D(%A)' is ambiguous" msgid "call of overloaded %<%D(%A)%> is ambiguous" --- 53518,53687 ---- msgstr "forventet etiket" #. A bad conversion for 'this' must be discarding cv-quals. ! #: cp/call.cc:3845 #, fuzzy, gcc-internal-format #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid " passing %qT as % argument discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:3849 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion for implicit % parameter from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3856 #, gcc-internal-format, gfc-internal-format msgid " conversion of argument %d would be ill-formed:" msgstr "" #. Conversion of conversion function return value failed. ! #: cp/call.cc:3863 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3869 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " no known conversion for argument %d from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:3883 cp/pt.cc:7021 #, gcc-internal-format, gfc-internal-format msgid " candidate expects at least %d argument, %d provided" msgid_plural " candidate expects at least %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3888 cp/pt.cc:7026 #, gcc-internal-format, gfc-internal-format msgid " candidate expects %d argument, %d provided" msgid_plural " candidate expects %d arguments, %d provided" msgstr[0] "" msgstr[1] "" ! #: cp/call.cc:3916 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T, %T, %T) " msgid "%s%<%D(%T, %T, %T)%> (built-in)" msgstr "%s %D(%T, %T, %T) " ! #: cp/call.cc:3921 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T, %T) " msgid "%s%<%D(%T, %T)%> (built-in)" msgstr "%s %D(%T, %T) " ! #: cp/call.cc:3925 #, fuzzy, gcc-internal-format #| msgid "%s %D(%T) " msgid "%s%<%D(%T)%> (built-in)" msgstr "%s %D(%T) " ! #: cp/call.cc:3929 #, fuzzy, gcc-internal-format #| msgid "%s %T " msgid "%s%qT (conversion)" msgstr "%s %T " ! #: cp/call.cc:3931 #, gcc-internal-format msgid "%s%#qD (near match)" msgstr "" ! #: cp/call.cc:3933 #, gcc-internal-format msgid "%s%#qD (deleted)" msgstr "" ! #: cp/call.cc:3935 #, gcc-internal-format msgid "%s%#qD (reversed)" msgstr "" ! #: cp/call.cc:3937 #, gcc-internal-format msgid "%s%#qD (rewritten)" msgstr "" ! #: cp/call.cc:3939 #, gcc-internal-format msgid "%s%#qD" msgstr "" ! #: cp/call.cc:3943 #, fuzzy, gcc-internal-format msgid " inherited here" msgstr "'%D' vil blive klargjort efter" ! #: cp/call.cc:3964 #, gcc-internal-format msgid " return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion" msgstr "" ! #: cp/call.cc:3970 #, gcc-internal-format msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" msgstr "" ! #: cp/call.cc:3981 #, gcc-internal-format msgid " substitution of deduced template arguments resulted in errors seen above" msgstr "" #. Re-run template unification with diagnostics. ! #: cp/call.cc:3986 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid " template argument deduction/substitution failed:" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/call.cc:4000 #, gcc-internal-format msgid " a constructor taking a single argument of its own class type is invalid" msgstr "" ! #: cp/call.cc:4007 #, gcc-internal-format msgid " an inherited constructor is not a candidate for initialization from an expression of the same or derived type" msgstr "" ! #: cp/call.cc:4143 cp/call.cc:4682 #, fuzzy, gcc-internal-format #| msgid "new cannot be applied to a function type" msgid "designated initializers cannot be used with a non-aggregate type %qT" msgstr "new kan ikke bruges på en funktionstype" ! #: cp/call.cc:4579 #, fuzzy #| msgid "conversion from `%T' to `%T' is ambiguous" msgid "conversion from %qH to %qI is ambiguous" msgstr "konvertering fra '%T' til '%T' er tvetydigt" ! #: cp/call.cc:4688 cp/cvt.cc:864 #, fuzzy #| msgid "could not convert `%E' to `%T'" msgid "could not convert %qE from %qH to %qI" msgstr "kunne ikke konvertere '%E' til '%T'" ! #: cp/call.cc:4755 msgid "initializing %qH with %qI in converted constant expression does not bind directly" msgstr "" ! #: cp/call.cc:4776 #, fuzzy msgid "conversion from %qH to %qI in a converted constant expression" msgstr "overløb i konstant udtryk" ! #: cp/call.cc:4964 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for call to %<%D(%A)%>" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: cp/call.cc:4967 #, fuzzy, gcc-internal-format #| msgid "call of overloaded `%D(%A)' is ambiguous" msgid "call of overloaded %<%D(%A)%> is ambiguous" *************** msgstr "kald af flertydig '%D(%A)' er tv *** 53672,54470 **** #. It's no good looking for an overloaded operator() on a #. pointer-to-member-function. ! #: cp/call.cc:5239 #, fuzzy, gcc-internal-format #| msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*" msgid "pointer-to-member function %qE cannot be called without an object; consider using %<.*%> or %<->*%>" msgstr "henvisning til medlemsfunktionen %E kan ikke kaldes uden et objekt; overvej at benytte .* eller ->*" ! #: cp/call.cc:5309 #, fuzzy, gcc-internal-format #| msgid "no match for call to `(%T) (%A)'" msgid "no match for call to %<(%T) (%A)%>" msgstr "ingen passende fundet for kald til '(%T) (%A)'" ! #: cp/call.cc:5323 #, fuzzy, gcc-internal-format #| msgid "call of `(%T) (%A)' is ambiguous" msgid "call of %<(%T) (%A)%> is ambiguous" msgstr "kald af '(%T) (%A)' er tvetydigt" ! #: cp/call.cc:5369 #, fuzzy, gcc-internal-format #| msgid "ambiguous conversion for array subscript" msgid "ambiguous overload for " msgstr "tvetydig konvertering af tabelindeks" ! #: cp/call.cc:5370 #, gcc-internal-format msgid "no match for " msgstr "" ! #: cp/call.cc:5373 #, gcc-internal-format msgid " (operand types are %qT, %qT, and %qT)" msgstr "" ! #: cp/call.cc:5375 #, gcc-internal-format msgid " (operand types are %qT and %qT)" msgstr "" ! #: cp/call.cc:5377 #, fuzzy, gcc-internal-format #| msgid "operand is r0" msgid " (operand type is %qT)" msgstr "operanden er r0" ! #: cp/call.cc:5394 #, fuzzy, gcc-internal-format #| msgid "internal error: %s" msgid "ternary %" msgstr "intern fejl: %s" ! #: cp/call.cc:5398 #, gcc-internal-format msgid "ternary % in %<%E ? %E : %E%>" msgstr "" ! #: cp/call.cc:5407 cp/call.cc:5451 cp/call.cc:5461 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5410 #, fuzzy, gcc-internal-format msgid "% in %<%E%s%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5417 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5420 #, gcc-internal-format msgid "% in %<%E[%E]%>" msgstr "" ! #: cp/call.cc:5428 #, fuzzy, gcc-internal-format #| msgid "%s" msgid "%qs" msgstr "%s" ! #: cp/call.cc:5431 #, gcc-internal-format msgid "%qs in %<%s %E%>" msgstr "" ! #: cp/call.cc:5437 #, fuzzy, gcc-internal-format msgid "%" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5440 #, fuzzy, gcc-internal-format msgid "% in %<%s%E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5455 #, fuzzy, gcc-internal-format msgid "% in %<%E %s %E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5464 #, fuzzy, gcc-internal-format msgid "% in %<%s%E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5577 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids omitting the middle term of a ?: expression" msgid "ISO C++ forbids omitting the middle term of a % expression" msgstr "ISO C++ forbyder udeladelse af den mellemste del af et ?:-udtryk" ! #: cp/call.cc:5652 #, gcc-internal-format msgid "inferred scalar type %qT is not an integer or floating-point type of the same size as %qT" msgstr "" ! #: cp/call.cc:5669 cp/call.cc:5676 msgid "conversion of scalar %qH to vector %qI involves truncation" msgstr "" ! #: cp/call.cc:5732 #, fuzzy, gcc-internal-format #| msgid "pointer type mismatch in conditional expression" msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" msgstr "henvisningstyperne i betingelsesudtrykket passer ikke sammen" ! #: cp/call.cc:5784 cp/call.cc:6136 cp/call.cc:6156 #, gcc-internal-format msgid "operands to % of types %qT and %qT have unordered conversion rank" msgstr "" ! #: cp/call.cc:5856 #, gcc-internal-format msgid "second operand to the conditional operator is of type %, but the third operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5861 #, gcc-internal-format msgid "third operand to the conditional operator is of type %, but the second operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5910 cp/call.cc:6025 cp/call.cc:6259 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "operands to % have different types %qT and %qT" msgstr "operander til ?: har forskellige typer" ! #: cp/call.cc:5914 #, gcc-internal-format msgid " and each type can be converted to the other" msgstr "" ! #: cp/call.cc:6164 #, fuzzy msgid "implicit conversion from %qH to %qI to match other result of conditional" msgstr "konvertering fra NaN til unsigned int" ! #: cp/call.cc:6180 #, fuzzy, gcc-internal-format #| msgid "enumeral mismatch in conditional expression: `%T' vs `%T'" msgid "enumerated mismatch in conditional expression: %qT vs %qT" msgstr "enum-typer passer ikke sammen i betinget udtryk: '%T' og '%T'" ! #: cp/call.cc:6193 #, fuzzy, gcc-internal-format #| msgid "%s between distinct pointer types `%T' and `%T' lacks a cast" msgid "conditional expression between enumeration type %qT and floating-point type %qT is deprecated" msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse" ! #: cp/call.cc:6198 #, fuzzy, gcc-internal-format #| msgid "%s between distinct pointer types `%T' and `%T' lacks a cast" msgid "conditional expression between floating-point type %qT and enumeration type %qT is deprecated" msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse" ! #: cp/call.cc:6214 #, fuzzy, gcc-internal-format #| msgid "enumeral and non-enumeral type in conditional expression" msgid "enumerated and non-enumerated type in conditional expression" msgstr "enum- og ikke enum-type i betinget udtryk" ! #: cp/call.cc:7065 #, fuzzy, gcc-internal-format #| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead" msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet" ! #: cp/call.cc:7067 #, fuzzy, gcc-internal-format #| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead" msgid "no %<%D(int)%> declared for postfix %qs" msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet" ! #: cp/call.cc:7147 #, gcc-internal-format msgid "in C++20 this comparison calls the current function recursively with reversed arguments" msgstr "" ! #: cp/call.cc:7200 #, fuzzy, gcc-internal-format msgid "return type of %qD is not %qs" msgstr "returtypen til '%s' er ikke 'int'" ! #: cp/call.cc:7202 #, gcc-internal-format msgid "used as rewritten candidate for comparison of %qT and %qT" msgstr "" ! #: cp/call.cc:7279 #, fuzzy, gcc-internal-format #| msgid "comparison between `%#T' and `%#T'" msgid "comparison between %q#T and %q#T" msgstr "sammenligning mellem '%#T' og '%#T'" ! #: cp/call.cc:7472 #, fuzzy, gcc-internal-format #| msgid "no match for call to `(%T) (%A)'" msgid "no match for call to %<%T::operator[] (%A)%>" msgstr "ingen passende fundet for kald til '(%T) (%A)'" ! #: cp/call.cc:7486 #, fuzzy, gcc-internal-format #| msgid "call of `(%T) (%A)' is ambiguous" msgid "call of %<%T::operator[] (%A)%> is ambiguous" msgstr "kald af '(%T) (%A)' er tvetydigt" ! #: cp/call.cc:7767 #, gcc-internal-format msgid "exception cleanup for this placement new selects non-placement %" msgstr "" ! #: cp/call.cc:7770 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)" msgstr "underforstået erklæring af funktionen '%#D'" ! #: cp/call.cc:7807 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "%qD is a usual (non-placement) deallocation function" msgstr "underforstået erklæring af funktionen '%#D'" ! #: cp/call.cc:8001 #, gcc-internal-format msgid "no corresponding deallocation function for %qD" msgstr "" ! #: cp/call.cc:8004 #, gcc-internal-format msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet" msgstr "" ! #: cp/call.cc:8013 #, fuzzy, gcc-internal-format msgid "no suitable % for %qT" msgstr "ingen passende 'operator delete' for '%T'" ! #: cp/call.cc:8049 #, fuzzy, gcc-internal-format #| msgid "within this context" msgid "%q#D is private within this context" msgstr "i denne kontekst" ! #: cp/call.cc:8050 cp/decl.cc:8895 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "declared private here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8055 #, fuzzy, gcc-internal-format #| msgid "within this context" msgid "%q#D is protected within this context" msgstr "i denne kontekst" ! #: cp/call.cc:8056 cp/decl.cc:8896 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "declared protected here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8063 #, fuzzy, gcc-internal-format #| msgid "`%+#D' is inaccessible" msgid "%q#D is inaccessible within this context" msgstr "'%+#D' er ikke tilgængelig" # %s bliver til returnering eller tildeling eller noget i den retning ! #: cp/call.cc:8144 #, fuzzy, gcc-internal-format #| msgid "passing NULL used for non-pointer %s %P of `%D'" msgid "passing NULL to non-pointer argument %P of %qD" msgstr "overbringelse af NULL benyttet for ikke-henvisnings%s %P af '%D'" ! #: cp/call.cc:8147 cp/call.cc:8166 cp/decl.cc:10567 cp/decl.cc:10575 #: cp/typeck.cc:4591 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid " declared here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8151 #, fuzzy, gcc-internal-format #| msgid "%s to non-pointer type `%T' from NULL" msgid "converting to non-pointer type %qT from NULL" msgstr "%s til ikke-henvisningstypen '%T' fra NULL" ! #: cp/call.cc:8163 #, fuzzy, gcc-internal-format #| msgid "incompatible type for argument %d of `%s'" msgid "converting % to pointer type for argument %P of %qD" msgstr "typen af den %d. parameter i '%s' passer ikke" ! #: cp/call.cc:8170 #, fuzzy, gcc-internal-format #| msgid "converting NULL to non-pointer type" msgid "converting % to pointer type %qT" msgstr "konverterer NULL til en ikke-henvisningstype" ! #: cp/call.cc:8237 #, fuzzy, gcc-internal-format #| msgid " initializing argument %P of `%D'" msgid " initializing argument %P of %qD" msgstr " ved klargøring af parameteren %P til '%D'" ! #: cp/call.cc:8258 #, fuzzy, gcc-internal-format #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" ! #: cp/call.cc:8308 #, fuzzy, gcc-internal-format #| msgid "braces around scalar initializer for `%T'" msgid "too many braces around initializer for %qT" msgstr "krøllede paranteser omkring skalarstartværdi for '%T'" ! #: cp/call.cc:8319 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "converting to %qH from %qI requires direct-initialization" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:8331 #, fuzzy #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting to %qH from %qI with greater conversion rank" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/call.cc:8338 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "converting to %qH from %qI with unordered conversion ranks" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:8353 #, fuzzy #| msgid "invalid conversion from `%T' to `%T'" msgid "invalid user-defined conversion from %qH to %qI" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/call.cc:8393 cp/cvt.cc:227 #, fuzzy #| msgid "invalid conversion from `%T' to `%T'" msgid "invalid conversion from %qH to %qI" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/call.cc:8435 cp/call.cc:8442 #, gcc-internal-format msgid "converting to %qT from initializer list would use explicit constructor %qD" msgstr "" ! #: cp/call.cc:8438 #, gcc-internal-format msgid "in C++11 and above a default constructor can be explicit" msgstr "" ! #: cp/call.cc:8708 #, fuzzy msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8717 #, fuzzy msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/call.cc:8722 #, fuzzy msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" #. extype is volatile ! #: cp/call.cc:8725 #, fuzzy msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8738 #, fuzzy msgid "cannot bind reference of type %qH to %qI due to different array bounds" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8741 #, fuzzy #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid "binding reference of type %qH to %qI discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:8780 #, fuzzy, gcc-internal-format msgid "cannot bind bit-field %qE to %qT" msgstr "kan ikke klargøre '%T' fra %T'" ! #: cp/call.cc:8783 cp/call.cc:8801 #, fuzzy, gcc-internal-format msgid "cannot bind packed field %qE to %qT" msgstr "kan ikke erklære feltet '%D' til at være af typen '%T'" ! #: cp/call.cc:8786 #, fuzzy, gcc-internal-format msgid "cannot bind rvalue %qE to %qT" msgstr "kan ikke klargøre '%T' fra %T'" ! #: cp/call.cc:8987 #, fuzzy msgid "implicit conversion from %qH to %qI when passing argument to function" msgstr "konvertering fra NaN til unsigned int" ! #: cp/call.cc:9016 cp/cvt.cc:1992 #, gcc-internal-format msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after" msgstr "" ! #: cp/call.cc:9060 #, gcc-internal-format msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" msgstr "" ! #: cp/call.cc:9096 #, fuzzy, gcc-internal-format #| msgid "cannot receive objects of non-POD type `%#T' through `...'" msgid "cannot receive reference type %qT through %<...%>" msgstr "kan ikke modtage objekter af en ikke-POD type '%#T' gennem '...'" ! #: cp/call.cc:9106 #, gcc-internal-format msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" msgstr "" ! #: cp/call.cc:9174 #, fuzzy, gcc-internal-format #| msgid "redefinition of default argument for `%#D'" msgid "recursive evaluation of default argument for %q#D" msgstr "omdefinering af standardparameter for '%#D'" ! #: cp/call.cc:9183 #, fuzzy, gcc-internal-format msgid "call to %qD uses the default argument for parameter %P, which is not yet defined" msgstr "standardparameter for parameter af typen '%T' har typen '%T'" ! #: cp/call.cc:9283 #, fuzzy, gcc-internal-format #| msgid "Warn about functions which might be candidates for format attributes" msgid "argument of function call might be a candidate for a format attribute" msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber" ! #: cp/call.cc:9353 #, gcc-internal-format msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.cc:9978 #, fuzzy, gcc-internal-format #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid "passing %qT as % argument discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:9981 cp/call.cc:12764 #, fuzzy, gcc-internal-format #| msgid " in call to `%D'" msgid " in call to %qD" msgstr " i kald af '%D'" ! #: cp/call.cc:10006 #, fuzzy, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "'%T' er en utilgængelig stamklasse til '%T'" ! #: cp/call.cc:10211 #, fuzzy, gcc-internal-format #| msgid "too many arguments to %s `%+#D'" msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "for mange parametre til %s '%+#D'" ! #: cp/call.cc:10346 #, gcc-internal-format msgid "assignment from temporary % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/call.cc:10743 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" msgstr "" ! #: cp/call.cc:10746 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "%qD writing to an object of non-trivial type %#qT%s" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/call.cc:10751 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with %qs member %qD" msgstr "" ! #: cp/call.cc:10756 #, gcc-internal-format msgid "%qD writing to an object of type %#qT containing a pointer to data member%s" msgstr "" ! #: cp/call.cc:10771 #, fuzzy, gcc-internal-format #| msgid "assignment (not initialization) in declaration" msgid "; use assignment or value-initialization instead" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/call.cc:10773 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "; use assignment instead" msgstr "#include indlejret for dybt" ! #: cp/call.cc:10775 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "; use value-initialization instead" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/call.cc:10778 #, gcc-internal-format msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10781 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "%qD clearing an object of non-trivial type %#qT%s" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/call.cc:10783 #, gcc-internal-format msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" msgstr "" ! #: cp/call.cc:10804 #, fuzzy, gcc-internal-format #| msgid "assignment (not initialization) in declaration" msgid "; use copy-assignment or copy-initialization instead" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/call.cc:10806 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "; use copy-assignment instead" msgstr "#include indlejret for dybt" ! #: cp/call.cc:10808 #, fuzzy, gcc-internal-format #| msgid "duplicate initialization of %D" msgid "; use copy-initialization instead" msgstr "%D tildelt startværdi mere end én gang" ! #: cp/call.cc:10811 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10814 #, gcc-internal-format msgid "%qD writing to an object of non-trivially copyable type %#qT%s" msgstr "" ! #: cp/call.cc:10817 #, gcc-internal-format msgid "%qD writing to an object with a deleted copy constructor" msgstr "" ! #: cp/call.cc:10828 #, gcc-internal-format msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" msgstr "" ! #: cp/call.cc:10840 #, gcc-internal-format msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10859 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged" msgstr "" ! #: cp/call.cc:10862 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" msgstr "" ! #: cp/call.cc:10872 #, gcc-internal-format msgid "%qD moving an object of non-trivially copyable type %#qT; use % and % instead" msgstr "" ! #: cp/call.cc:10875 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted copy constructor; use % and % instead" msgstr "" ! #: cp/call.cc:10878 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted destructor" msgstr "" ! #: cp/call.cc:10887 #, gcc-internal-format msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E" msgstr "" ! #: cp/call.cc:10909 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "%#qT declared here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:10963 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: cp/call.cc:11030 #, fuzzy, gcc-internal-format #| msgid "constructors cannot be declared virtual" msgid "constructor delegates to itself" msgstr "konstruktionsfunktioner kan ikke erklæres virtual" ! #: cp/call.cc:11305 cp/typeck.cc:10277 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "cannot convert %qH to %qI" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:11327 #, fuzzy, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'" ! #: cp/call.cc:11359 #, fuzzy, gcc-internal-format msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'" ! #: cp/call.cc:11408 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" msgid "call to non-function %qD" msgstr "kald af ikke-funktion '%D'" ! #: cp/call.cc:11446 cp/pt.cc:16896 cp/typeck.cc:3492 #, fuzzy, gcc-internal-format #| msgid "cannot call destructor `%T::~%T' without object" msgid "cannot call constructor %<%T::%D%> directly" msgstr "kan ikke kalde destruktionsfunktion '%T::~%T' uden objekt" ! #: cp/call.cc:11448 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.cc:11636 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for call to %<%s(%A)%>" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: cp/call.cc:11639 #, fuzzy, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "kald af flertydig '%D(%A)' er tvetydigt" ! #: cp/call.cc:11662 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.cc:11667 #, fuzzy, gcc-internal-format #| msgid "returning a value from a constructor" msgid "pure virtual %q#D called from constructor" msgstr "returnerer en værdi fra en konstruktionsfunktion" ! #: cp/call.cc:11668 #, fuzzy, gcc-internal-format #| msgid "returning a value from a destructor" msgid "pure virtual %q#D called from destructor" msgstr "returnerer en værdi fra en destruktionsfunktion" ! #: cp/call.cc:11691 #, fuzzy, gcc-internal-format #| msgid "cannot call member function `%D' without object" msgid "cannot call member function %qD without object" msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt" ! #: cp/call.cc:12762 #, fuzzy, gcc-internal-format #| msgid "passing `%T' chooses `%T' over `%T'" msgid "passing %qT chooses %qT over %qT" msgstr "videregivelse af '%T' vælger '%T' frem for '%T'" ! #: cp/call.cc:12788 #, fuzzy, gcc-internal-format msgid "C++20 says that these are ambiguous, even though the second is reversed:" msgstr "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte" ! #: cp/call.cc:12811 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "try making the operator a % member function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/call.cc:12874 #, fuzzy, gcc-internal-format #| msgid "choosing `%D' over `%D'" msgid "choosing %qD over %qD" msgstr "vælger '%D' frem for '%D'" ! #: cp/call.cc:12875 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " for conversion from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:12878 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr " fordi konverteringssekvensen for parameteren er bedre" ! #: cp/call.cc:13128 #, fuzzy, gcc-internal-format #| msgid "default argument specified in explicit specialization" msgid "default argument mismatch in overload resolution" msgstr "standardparameter angivet i eksplicit specialisering" ! #: cp/call.cc:13132 #, fuzzy, gcc-internal-format msgid " candidate 1: %q#F" msgstr "candidate%s: %+#D" ! #: cp/call.cc:13134 #, fuzzy, gcc-internal-format msgid " candidate 2: %q#F" msgstr "candidate%s: %+#D" ! #: cp/call.cc:13180 #, fuzzy, 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 "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte" ! #: cp/call.cc:13581 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.cc:13736 #, fuzzy msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/call.cc:13740 #, fuzzy msgid "invalid initialization of reference of type %qH from expression of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:14016 #, fuzzy, gcc-internal-format #| msgid "returning reference to temporary" msgid "possibly dangling reference to a temporary" msgstr "returnerer reference til midlertidig variabel" ! #: cp/call.cc:14017 #, gcc-internal-format msgid "the temporary was destroyed at the end of the full expression %qE" msgstr "" --- 53689,54487 ---- #. It's no good looking for an overloaded operator() on a #. pointer-to-member-function. ! #: cp/call.cc:5254 #, fuzzy, gcc-internal-format #| msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*" msgid "pointer-to-member function %qE cannot be called without an object; consider using %<.*%> or %<->*%>" msgstr "henvisning til medlemsfunktionen %E kan ikke kaldes uden et objekt; overvej at benytte .* eller ->*" ! #: cp/call.cc:5324 #, fuzzy, gcc-internal-format #| msgid "no match for call to `(%T) (%A)'" msgid "no match for call to %<(%T) (%A)%>" msgstr "ingen passende fundet for kald til '(%T) (%A)'" ! #: cp/call.cc:5338 #, fuzzy, gcc-internal-format #| msgid "call of `(%T) (%A)' is ambiguous" msgid "call of %<(%T) (%A)%> is ambiguous" msgstr "kald af '(%T) (%A)' er tvetydigt" ! #: cp/call.cc:5384 #, fuzzy, gcc-internal-format #| msgid "ambiguous conversion for array subscript" msgid "ambiguous overload for " msgstr "tvetydig konvertering af tabelindeks" ! #: cp/call.cc:5385 #, gcc-internal-format msgid "no match for " msgstr "" ! #: cp/call.cc:5388 #, gcc-internal-format msgid " (operand types are %qT, %qT, and %qT)" msgstr "" ! #: cp/call.cc:5390 #, gcc-internal-format msgid " (operand types are %qT and %qT)" msgstr "" ! #: cp/call.cc:5392 #, fuzzy, gcc-internal-format #| msgid "operand is r0" msgid " (operand type is %qT)" msgstr "operanden er r0" ! #: cp/call.cc:5409 #, fuzzy, gcc-internal-format #| msgid "internal error: %s" msgid "ternary %" msgstr "intern fejl: %s" ! #: cp/call.cc:5413 #, gcc-internal-format msgid "ternary % in %<%E ? %E : %E%>" msgstr "" ! #: cp/call.cc:5422 cp/call.cc:5466 cp/call.cc:5476 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5425 #, fuzzy, gcc-internal-format msgid "% in %<%E%s%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5432 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/call.cc:5435 #, gcc-internal-format msgid "% in %<%E[%E]%>" msgstr "" ! #: cp/call.cc:5443 #, fuzzy, gcc-internal-format #| msgid "%s" msgid "%qs" msgstr "%s" ! #: cp/call.cc:5446 #, gcc-internal-format msgid "%qs in %<%s %E%>" msgstr "" ! #: cp/call.cc:5452 #, fuzzy, gcc-internal-format msgid "%" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5455 #, fuzzy, gcc-internal-format msgid "% in %<%s%E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5470 #, fuzzy, gcc-internal-format msgid "% in %<%E %s %E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5479 #, fuzzy, gcc-internal-format msgid "% in %<%s%E%>" msgstr "%s for operatoren '%T %s' " ! #: cp/call.cc:5592 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids omitting the middle term of a ?: expression" msgid "ISO C++ forbids omitting the middle term of a % expression" msgstr "ISO C++ forbyder udeladelse af den mellemste del af et ?:-udtryk" ! #: cp/call.cc:5667 #, gcc-internal-format msgid "inferred scalar type %qT is not an integer or floating-point type of the same size as %qT" msgstr "" ! #: cp/call.cc:5684 cp/call.cc:5691 msgid "conversion of scalar %qH to vector %qI involves truncation" msgstr "" ! #: cp/call.cc:5747 #, fuzzy, gcc-internal-format #| msgid "pointer type mismatch in conditional expression" msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" msgstr "henvisningstyperne i betingelsesudtrykket passer ikke sammen" ! #: cp/call.cc:5799 cp/call.cc:6151 cp/call.cc:6171 #, gcc-internal-format msgid "operands to % of types %qT and %qT have unordered conversion rank" msgstr "" ! #: cp/call.cc:5871 #, gcc-internal-format msgid "second operand to the conditional operator is of type %, but the third operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5876 #, gcc-internal-format msgid "third operand to the conditional operator is of type %, but the second operand is neither a throw-expression nor of type %" msgstr "" ! #: cp/call.cc:5925 cp/call.cc:6040 cp/call.cc:6274 #, fuzzy, gcc-internal-format #| msgid "operands to ?: have different types" msgid "operands to % have different types %qT and %qT" msgstr "operander til ?: har forskellige typer" ! #: cp/call.cc:5929 #, gcc-internal-format msgid " and each type can be converted to the other" msgstr "" ! #: cp/call.cc:6179 #, fuzzy msgid "implicit conversion from %qH to %qI to match other result of conditional" msgstr "konvertering fra NaN til unsigned int" ! #: cp/call.cc:6195 #, fuzzy, gcc-internal-format #| msgid "enumeral mismatch in conditional expression: `%T' vs `%T'" msgid "enumerated mismatch in conditional expression: %qT vs %qT" msgstr "enum-typer passer ikke sammen i betinget udtryk: '%T' og '%T'" ! #: cp/call.cc:6208 #, fuzzy, gcc-internal-format #| msgid "%s between distinct pointer types `%T' and `%T' lacks a cast" msgid "conditional expression between enumeration type %qT and floating-point type %qT is deprecated" msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse" ! #: cp/call.cc:6213 #, fuzzy, gcc-internal-format #| msgid "%s between distinct pointer types `%T' and `%T' lacks a cast" msgid "conditional expression between floating-point type %qT and enumeration type %qT is deprecated" msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse" ! #: cp/call.cc:6229 #, fuzzy, gcc-internal-format #| msgid "enumeral and non-enumeral type in conditional expression" msgid "enumerated and non-enumerated type in conditional expression" msgstr "enum- og ikke enum-type i betinget udtryk" ! #: cp/call.cc:7080 #, fuzzy, gcc-internal-format #| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead" msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead" msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet" ! #: cp/call.cc:7082 #, fuzzy, gcc-internal-format #| msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead" msgid "no %<%D(int)%> declared for postfix %qs" msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet" ! #: cp/call.cc:7162 #, gcc-internal-format msgid "in C++20 this comparison calls the current function recursively with reversed arguments" msgstr "" ! #: cp/call.cc:7215 #, fuzzy, gcc-internal-format msgid "return type of %qD is not %qs" msgstr "returtypen til '%s' er ikke 'int'" ! #: cp/call.cc:7217 #, gcc-internal-format msgid "used as rewritten candidate for comparison of %qT and %qT" msgstr "" ! #: cp/call.cc:7294 #, fuzzy, gcc-internal-format #| msgid "comparison between `%#T' and `%#T'" msgid "comparison between %q#T and %q#T" msgstr "sammenligning mellem '%#T' og '%#T'" ! #: cp/call.cc:7487 #, fuzzy, gcc-internal-format #| msgid "no match for call to `(%T) (%A)'" msgid "no match for call to %<%T::operator[] (%A)%>" msgstr "ingen passende fundet for kald til '(%T) (%A)'" ! #: cp/call.cc:7501 #, fuzzy, gcc-internal-format #| msgid "call of `(%T) (%A)' is ambiguous" msgid "call of %<%T::operator[] (%A)%> is ambiguous" msgstr "kald af '(%T) (%A)' er tvetydigt" ! #: cp/call.cc:7782 #, gcc-internal-format msgid "exception cleanup for this placement new selects non-placement %" msgstr "" ! #: cp/call.cc:7785 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)" msgstr "underforstået erklæring af funktionen '%#D'" ! #: cp/call.cc:7822 #, fuzzy, gcc-internal-format #| msgid "implicit declaration of function `%#D'" msgid "%qD is a usual (non-placement) deallocation function" msgstr "underforstået erklæring af funktionen '%#D'" ! #: cp/call.cc:8016 #, gcc-internal-format msgid "no corresponding deallocation function for %qD" msgstr "" ! #: cp/call.cc:8019 #, gcc-internal-format msgid "destroying delete %qD cannot be used to release the allocated memory if the initialization throws because the object is not constructed yet" msgstr "" ! #: cp/call.cc:8028 #, fuzzy, gcc-internal-format msgid "no suitable % for %qT" msgstr "ingen passende 'operator delete' for '%T'" ! #: cp/call.cc:8064 #, fuzzy, gcc-internal-format #| msgid "within this context" msgid "%q#D is private within this context" msgstr "i denne kontekst" ! #: cp/call.cc:8065 cp/decl.cc:8895 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "declared private here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8070 #, fuzzy, gcc-internal-format #| msgid "within this context" msgid "%q#D is protected within this context" msgstr "i denne kontekst" ! #: cp/call.cc:8071 cp/decl.cc:8896 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "declared protected here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8078 #, fuzzy, gcc-internal-format #| msgid "`%+#D' is inaccessible" msgid "%q#D is inaccessible within this context" msgstr "'%+#D' er ikke tilgængelig" # %s bliver til returnering eller tildeling eller noget i den retning ! #: cp/call.cc:8159 #, fuzzy, gcc-internal-format #| msgid "passing NULL used for non-pointer %s %P of `%D'" msgid "passing NULL to non-pointer argument %P of %qD" msgstr "overbringelse af NULL benyttet for ikke-henvisnings%s %P af '%D'" ! #: cp/call.cc:8162 cp/call.cc:8181 cp/decl.cc:10567 cp/decl.cc:10575 #: cp/typeck.cc:4591 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid " declared here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:8166 #, fuzzy, gcc-internal-format #| msgid "%s to non-pointer type `%T' from NULL" msgid "converting to non-pointer type %qT from NULL" msgstr "%s til ikke-henvisningstypen '%T' fra NULL" ! #: cp/call.cc:8178 #, fuzzy, gcc-internal-format #| msgid "incompatible type for argument %d of `%s'" msgid "converting % to pointer type for argument %P of %qD" msgstr "typen af den %d. parameter i '%s' passer ikke" ! #: cp/call.cc:8185 #, fuzzy, gcc-internal-format #| msgid "converting NULL to non-pointer type" msgid "converting % to pointer type %qT" msgstr "konverterer NULL til en ikke-henvisningstype" ! #: cp/call.cc:8252 #, fuzzy, gcc-internal-format #| msgid " initializing argument %P of `%D'" msgid " initializing argument %P of %qD" msgstr " ved klargøring af parameteren %P til '%D'" ! #: cp/call.cc:8273 #, fuzzy, gcc-internal-format #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" msgid "conversions to arrays of unknown bound are only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" ! #: cp/call.cc:8323 #, fuzzy, gcc-internal-format #| msgid "braces around scalar initializer for `%T'" msgid "too many braces around initializer for %qT" msgstr "krøllede paranteser omkring skalarstartværdi for '%T'" ! #: cp/call.cc:8334 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "converting to %qH from %qI requires direct-initialization" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:8346 #, fuzzy #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting to %qH from %qI with greater conversion rank" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/call.cc:8353 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "converting to %qH from %qI with unordered conversion ranks" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:8368 #, fuzzy #| msgid "invalid conversion from `%T' to `%T'" msgid "invalid user-defined conversion from %qH to %qI" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/call.cc:8408 cp/cvt.cc:227 #, fuzzy #| msgid "invalid conversion from `%T' to `%T'" msgid "invalid conversion from %qH to %qI" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/call.cc:8450 cp/call.cc:8457 #, gcc-internal-format msgid "converting to %qT from initializer list would use explicit constructor %qD" msgstr "" ! #: cp/call.cc:8453 #, gcc-internal-format msgid "in C++11 and above a default constructor can be explicit" msgstr "" ! #: cp/call.cc:8723 #, fuzzy msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8732 #, fuzzy msgid "cannot bind non-const lvalue reference of type %qH to a value of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/call.cc:8737 #, fuzzy msgid "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" #. extype is volatile ! #: cp/call.cc:8740 #, fuzzy msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8753 #, fuzzy msgid "cannot bind reference of type %qH to %qI due to different array bounds" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:8756 #, fuzzy #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid "binding reference of type %qH to %qI discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:8795 #, fuzzy, gcc-internal-format msgid "cannot bind bit-field %qE to %qT" msgstr "kan ikke klargøre '%T' fra %T'" ! #: cp/call.cc:8798 cp/call.cc:8816 #, fuzzy, gcc-internal-format msgid "cannot bind packed field %qE to %qT" msgstr "kan ikke erklære feltet '%D' til at være af typen '%T'" ! #: cp/call.cc:8801 #, fuzzy, gcc-internal-format msgid "cannot bind rvalue %qE to %qT" msgstr "kan ikke klargøre '%T' fra %T'" ! #: cp/call.cc:9002 #, fuzzy msgid "implicit conversion from %qH to %qI when passing argument to function" msgstr "konvertering fra NaN til unsigned int" ! #: cp/call.cc:9031 cp/cvt.cc:1992 #, gcc-internal-format msgid "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, %qT after" msgstr "" ! #: cp/call.cc:9075 #, gcc-internal-format msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" msgstr "" ! #: cp/call.cc:9111 #, fuzzy, gcc-internal-format #| msgid "cannot receive objects of non-POD type `%#T' through `...'" msgid "cannot receive reference type %qT through %<...%>" msgstr "kan ikke modtage objekter af en ikke-POD type '%#T' gennem '...'" ! #: cp/call.cc:9121 #, gcc-internal-format msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" msgstr "" ! #: cp/call.cc:9189 #, fuzzy, gcc-internal-format #| msgid "redefinition of default argument for `%#D'" msgid "recursive evaluation of default argument for %q#D" msgstr "omdefinering af standardparameter for '%#D'" ! #: cp/call.cc:9198 #, fuzzy, gcc-internal-format msgid "call to %qD uses the default argument for parameter %P, which is not yet defined" msgstr "standardparameter for parameter af typen '%T' har typen '%T'" ! #: cp/call.cc:9298 #, fuzzy, gcc-internal-format #| msgid "Warn about functions which might be candidates for format attributes" msgid "argument of function call might be a candidate for a format attribute" msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber" ! #: cp/call.cc:9368 #, gcc-internal-format msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.cc:9993 #, fuzzy, gcc-internal-format #| msgid "passing `%T' as `this' argument of `%#D' discards qualifiers" msgid "passing %qT as % argument discards qualifiers" msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer" ! #: cp/call.cc:9996 cp/call.cc:12790 #, fuzzy, gcc-internal-format #| msgid " in call to `%D'" msgid " in call to %qD" msgstr " i kald af '%D'" ! #: cp/call.cc:10021 #, fuzzy, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "'%T' er en utilgængelig stamklasse til '%T'" ! #: cp/call.cc:10226 #, fuzzy, gcc-internal-format #| msgid "too many arguments to %s `%+#D'" msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "for mange parametre til %s '%+#D'" ! #: cp/call.cc:10361 #, gcc-internal-format msgid "assignment from temporary % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/call.cc:10758 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment" msgstr "" ! #: cp/call.cc:10761 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "%qD writing to an object of non-trivial type %#qT%s" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/call.cc:10766 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with %qs member %qD" msgstr "" ! #: cp/call.cc:10771 #, gcc-internal-format msgid "%qD writing to an object of type %#qT containing a pointer to data member%s" msgstr "" ! #: cp/call.cc:10786 #, fuzzy, gcc-internal-format #| msgid "assignment (not initialization) in declaration" msgid "; use assignment or value-initialization instead" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/call.cc:10788 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "; use assignment instead" msgstr "#include indlejret for dybt" ! #: cp/call.cc:10790 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "; use value-initialization instead" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/call.cc:10793 #, gcc-internal-format msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10796 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "%qD clearing an object of non-trivial type %#qT%s" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/call.cc:10798 #, gcc-internal-format msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s" msgstr "" ! #: cp/call.cc:10819 #, fuzzy, gcc-internal-format #| msgid "assignment (not initialization) in declaration" msgid "; use copy-assignment or copy-initialization instead" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/call.cc:10821 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "; use copy-assignment instead" msgstr "#include indlejret for dybt" ! #: cp/call.cc:10823 #, fuzzy, gcc-internal-format #| msgid "duplicate initialization of %D" msgid "; use copy-initialization instead" msgstr "%D tildelt startværdi mere end én gang" ! #: cp/call.cc:10826 #, gcc-internal-format msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s" msgstr "" ! #: cp/call.cc:10829 #, gcc-internal-format msgid "%qD writing to an object of non-trivially copyable type %#qT%s" msgstr "" ! #: cp/call.cc:10832 #, gcc-internal-format msgid "%qD writing to an object with a deleted copy constructor" msgstr "" ! #: cp/call.cc:10843 #, gcc-internal-format msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT" msgstr "" ! #: cp/call.cc:10855 #, gcc-internal-format msgid "%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead" msgstr "" ! #: cp/call.cc:10874 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged" msgstr "" ! #: cp/call.cc:10877 #, gcc-internal-format msgid "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged" msgstr "" ! #: cp/call.cc:10887 #, gcc-internal-format msgid "%qD moving an object of non-trivially copyable type %#qT; use % and % instead" msgstr "" ! #: cp/call.cc:10890 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted copy constructor; use % and % instead" msgstr "" ! #: cp/call.cc:10893 #, gcc-internal-format msgid "%qD moving an object of type %#qT with deleted destructor" msgstr "" ! #: cp/call.cc:10902 #, gcc-internal-format msgid "%qD moving an object of non-trivial type %#qT and size %E into a region of size %E" msgstr "" ! #: cp/call.cc:10924 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "%#qT declared here" msgstr " '%#D' erklæret her" ! #: cp/call.cc:10978 #, fuzzy, gcc-internal-format #| msgid "non-floating-point argument to function `%s'" msgid "argument %u in call to function %qE has pointer to a non-trivially-copyable type (%qT)" msgstr "parameter der ikke er et kommatal, til funktionen '%s'" ! #: cp/call.cc:11045 #, fuzzy, gcc-internal-format #| msgid "constructors cannot be declared virtual" msgid "constructor delegates to itself" msgstr "konstruktionsfunktioner kan ikke erklæres virtual" ! #: cp/call.cc:11320 cp/typeck.cc:10277 #, fuzzy #| msgid "cannot convert `%T' to `%T' in %s" msgid "cannot convert %qH to %qI" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/call.cc:11342 #, fuzzy, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'" ! #: cp/call.cc:11374 #, fuzzy, gcc-internal-format msgid "no matching function for call to %<%T::%s%E(%A)%#V%>" msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'" ! #: cp/call.cc:11423 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" msgid "call to non-function %qD" msgstr "kald af ikke-funktion '%D'" ! #: cp/call.cc:11461 cp/pt.cc:16913 cp/typeck.cc:3492 #, fuzzy, gcc-internal-format #| msgid "cannot call destructor `%T::~%T' without object" msgid "cannot call constructor %<%T::%D%> directly" msgstr "kan ikke kalde destruktionsfunktion '%T::~%T' uden objekt" ! #: cp/call.cc:11463 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.cc:11651 #, fuzzy, gcc-internal-format #| msgid "no matching function for call to `%D(%A)'" msgid "no matching function for call to %<%s(%A)%>" msgstr "ingen passende funktion for kald til '%D(%A)'" ! #: cp/call.cc:11654 #, fuzzy, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "kald af flertydig '%D(%A)' er tvetydigt" ! #: cp/call.cc:11677 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.cc:11682 #, fuzzy, gcc-internal-format #| msgid "returning a value from a constructor" msgid "pure virtual %q#D called from constructor" msgstr "returnerer en værdi fra en konstruktionsfunktion" ! #: cp/call.cc:11683 #, fuzzy, gcc-internal-format #| msgid "returning a value from a destructor" msgid "pure virtual %q#D called from destructor" msgstr "returnerer en værdi fra en destruktionsfunktion" ! #: cp/call.cc:11706 #, fuzzy, gcc-internal-format #| msgid "cannot call member function `%D' without object" msgid "cannot call member function %qD without object" msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt" ! #: cp/call.cc:12788 #, fuzzy, gcc-internal-format #| msgid "passing `%T' chooses `%T' over `%T'" msgid "passing %qT chooses %qT over %qT" msgstr "videregivelse af '%T' vælger '%T' frem for '%T'" ! #: cp/call.cc:12814 #, fuzzy, gcc-internal-format msgid "C++20 says that these are ambiguous, even though the second is reversed:" msgstr "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte" ! #: cp/call.cc:12837 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "try making the operator a % member function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/call.cc:12900 #, fuzzy, gcc-internal-format #| msgid "choosing `%D' over `%D'" msgid "choosing %qD over %qD" msgstr "vælger '%D' frem for '%D'" ! #: cp/call.cc:12901 #, fuzzy #| msgid " for conversion from `%T' to `%T'" msgid " for conversion from %qH to %qI" msgstr " for konvertering fra '%T' til '%T'" ! #: cp/call.cc:12904 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr " fordi konverteringssekvensen for parameteren er bedre" ! #: cp/call.cc:13174 #, fuzzy, gcc-internal-format #| msgid "default argument specified in explicit specialization" msgid "default argument mismatch in overload resolution" msgstr "standardparameter angivet i eksplicit specialisering" ! #: cp/call.cc:13178 #, fuzzy, gcc-internal-format msgid " candidate 1: %q#F" msgstr "candidate%s: %+#D" ! #: cp/call.cc:13180 #, fuzzy, gcc-internal-format msgid " candidate 2: %q#F" msgstr "candidate%s: %+#D" ! #: cp/call.cc:13226 #, fuzzy, 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 "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte" ! #: cp/call.cc:13627 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.cc:13782 #, fuzzy msgid "invalid initialization of non-const reference of type %qH from an rvalue of type %qI" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/call.cc:13786 #, fuzzy msgid "invalid initialization of reference of type %qH from expression of type %qI" msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'" ! #: cp/call.cc:14062 #, fuzzy, gcc-internal-format #| msgid "returning reference to temporary" msgid "possibly dangling reference to a temporary" msgstr "returnerer reference til midlertidig variabel" ! #: cp/call.cc:14063 #, gcc-internal-format msgid "the temporary was destroyed at the end of the full expression %qE" msgstr "" *************** msgstr "fleksibelt tabelmedlem i ellers *** 54993,54999 **** msgid "next member %q#D declared here" msgstr " '%#D' erklæret her" ! #: cp/class.cc:7506 cp/decl.cc:17153 cp/parser.cc:26971 #, fuzzy, gcc-internal-format #| msgid "redefinition of `%#T'" msgid "redefinition of %q#T" --- 55010,55016 ---- msgid "next member %q#D declared here" msgstr " '%#D' erklæret her" ! #: cp/class.cc:7506 cp/decl.cc:17162 cp/parser.cc:26971 #, fuzzy, gcc-internal-format #| msgid "redefinition of `%#T'" msgid "redefinition of %q#T" *************** msgstr "" *** 55175,55187 **** msgid "%qD is not usable as a % function because:" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:1536 cp/constexpr.cc:3141 #: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586 #, fuzzy, gcc-internal-format msgid "% call flows off the end of the function" msgstr "tom erklæring" ! #: cp/constexpr.cc:1538 cp/constexpr.cc:1637 cp/constexpr.cc:1646 #: cp/constexpr.cc:3362 rust/backend/rust-constexpr.cc:3329 #: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320 #, fuzzy, gcc-internal-format --- 55192,55204 ---- msgid "%qD is not usable as a % function because:" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:1534 cp/constexpr.cc:3141 #: rust/backend/rust-constexpr.cc:3324 rust/backend/rust-constexpr.cc:3586 #, fuzzy, gcc-internal-format msgid "% call flows off the end of the function" msgstr "tom erklæring" ! #: cp/constexpr.cc:1536 cp/constexpr.cc:1635 cp/constexpr.cc:1644 #: cp/constexpr.cc:3362 rust/backend/rust-constexpr.cc:3329 #: rust/backend/rust-constexpr.cc:3339 rust/backend/rust-constexpr.cc:4320 #, fuzzy, gcc-internal-format *************** msgstr "tom erklæring" *** 55189,55264 **** msgid "%q+E is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:1988 #, fuzzy, gcc-internal-format #| msgid "too many arguments to %qE" msgid "the comparison reduces to %qE" msgstr "for mange parametre til %qE" ! #: cp/constexpr.cc:1991 #, fuzzy, gcc-internal-format #| msgid "user-defined `%D' always evaluates both arguments" msgid "%qE evaluates to false" msgstr "brugerdefineret '%D' evaluerer altid begge parametre" ! #: cp/constexpr.cc:2070 #, gcc-internal-format msgid "failed % attribute assumption" msgstr "" ! #: cp/constexpr.cc:2105 cp/constexpr.cc:9128 #: rust/backend/rust-constexpr.cc:5754 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" msgid "call to internal function %qE" msgstr "kald af ikke-funktion '%D'" ! #: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2613 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "modifying a const object %qE is not allowed in a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2161 rust/backend/rust-constexpr.cc:2616 #, fuzzy, gcc-internal-format msgid "originally declared % here" msgstr " oprindelig definition er her" ! #: cp/constexpr.cc:2386 cp/constexpr.cc:2441 cp/constexpr.cc:2473 ! #: cp/constexpr.cc:2494 #, gcc-internal-format msgid "reference % failed" msgstr "" ! #: cp/constexpr.cc:2387 #, fuzzy, gcc-internal-format #| msgid "type `%T' is not a base type for type `%T'" msgid "dynamic type %qT of its operand does not have a base class of type %qT" msgstr "typen '%T' er ikke en grundtype for typen '%T'" ! #: cp/constexpr.cc:2411 #, fuzzy, gcc-internal-format #| msgid "variable-sized object of type `%T' may not be initialized" msgid "virtual table pointer is used uninitialized" msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" ! #: cp/constexpr.cc:2442 cp/constexpr.cc:2474 #, gcc-internal-format msgid "static type %qT of its operand is a non-public base class of dynamic type %qT" msgstr "" ! #: cp/constexpr.cc:2496 #, fuzzy, gcc-internal-format #| msgid "`%T' is an ambiguous base of `%T'" msgid "%qT is an ambiguous base class of dynamic type %qT of its operand" msgstr "'%T' er en tvetydig stamklasse til '%T'" ! #: cp/constexpr.cc:2499 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" msgstr "" ! #: cp/constexpr.cc:2576 cp/constexpr.cc:2850 cp/constexpr.cc:9160 #: rust/backend/rust-constexpr.cc:5785 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" --- 55206,55281 ---- msgid "%q+E is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:1986 #, fuzzy, gcc-internal-format #| msgid "too many arguments to %qE" msgid "the comparison reduces to %qE" msgstr "for mange parametre til %qE" ! #: cp/constexpr.cc:1989 #, fuzzy, gcc-internal-format #| msgid "user-defined `%D' always evaluates both arguments" msgid "%qE evaluates to false" msgstr "brugerdefineret '%D' evaluerer altid begge parametre" ! #: cp/constexpr.cc:2068 #, gcc-internal-format msgid "failed % attribute assumption" msgstr "" ! #: cp/constexpr.cc:2103 cp/constexpr.cc:9127 #: rust/backend/rust-constexpr.cc:5754 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" msgid "call to internal function %qE" msgstr "kald af ikke-funktion '%D'" ! #: cp/constexpr.cc:2157 rust/backend/rust-constexpr.cc:2613 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "modifying a const object %qE is not allowed in a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2616 #, fuzzy, gcc-internal-format msgid "originally declared % here" msgstr " oprindelig definition er her" ! #: cp/constexpr.cc:2384 cp/constexpr.cc:2439 cp/constexpr.cc:2471 ! #: cp/constexpr.cc:2492 #, gcc-internal-format msgid "reference % failed" msgstr "" ! #: cp/constexpr.cc:2385 #, fuzzy, gcc-internal-format #| msgid "type `%T' is not a base type for type `%T'" msgid "dynamic type %qT of its operand does not have a base class of type %qT" msgstr "typen '%T' er ikke en grundtype for typen '%T'" ! #: cp/constexpr.cc:2409 #, fuzzy, gcc-internal-format #| msgid "variable-sized object of type `%T' may not be initialized" msgid "virtual table pointer is used uninitialized" msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" ! #: cp/constexpr.cc:2440 cp/constexpr.cc:2472 #, gcc-internal-format msgid "static type %qT of its operand is a non-public base class of dynamic type %qT" msgstr "" ! #: cp/constexpr.cc:2494 #, fuzzy, gcc-internal-format #| msgid "`%T' is an ambiguous base of `%T'" msgid "%qT is an ambiguous base class of dynamic type %qT of its operand" msgstr "'%T' er en tvetydig stamklasse til '%T'" ! #: cp/constexpr.cc:2497 #, gcc-internal-format msgid "dynamic type %qT of its operand does not have an unambiguous public base class %qT" msgstr "" ! #: cp/constexpr.cc:2574 cp/constexpr.cc:2848 cp/constexpr.cc:9159 #: rust/backend/rust-constexpr.cc:5785 #, fuzzy, gcc-internal-format #| msgid "call to non-function `%D'" *************** msgstr "kald af ikke-funktion '%D'" *** 55267,55322 **** #. virtual_offset is only set for virtual bases, which make the #. class non-literal, so we don't need to handle it here. ! #: cp/constexpr.cc:2582 #, fuzzy, gcc-internal-format #| msgid "cannot call member function `%D' without object" msgid "calling constexpr member function %qD through virtual base subobject" msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt" ! #: cp/constexpr.cc:2698 rust/backend/rust-constexpr.cc:3384 #, fuzzy, gcc-internal-format msgid "expression %qE does not designate a % function" msgstr "friend-erklæringen er ikke i klassedefinitionen" ! #: cp/constexpr.cc:2771 #, fuzzy, gcc-internal-format #| msgid "-client_name not allowed with -dynamiclib" msgid "array deallocation of object allocated with non-array allocation" msgstr "-client_name er ikke tilladt med -dynamiclib" ! #: cp/constexpr.cc:2775 cp/constexpr.cc:2797 #, fuzzy, gcc-internal-format msgid "allocation performed here" msgstr " oprindelig definition er her" ! #: cp/constexpr.cc:2793 #, fuzzy, gcc-internal-format #| msgid "-client_name not allowed with -dynamiclib" msgid "non-array deallocation of object allocated with array allocation" msgstr "-client_name er ikke tilladt med -dynamiclib" ! #: cp/constexpr.cc:2810 #, gcc-internal-format msgid "deallocation of already deallocated storage" msgstr "" ! #: cp/constexpr.cc:2817 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "deallocation of storage that was not previously allocated" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: cp/constexpr.cc:2931 rust/backend/rust-constexpr.cc:3439 #, fuzzy, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2938 #, fuzzy, gcc-internal-format msgid "%qD called in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2942 rust/backend/rust-constexpr.cc:3453 #, fuzzy, gcc-internal-format #| msgid "`%D' implicitly declared before its definition" msgid "%qD used before its definition" --- 55284,55339 ---- #. virtual_offset is only set for virtual bases, which make the #. class non-literal, so we don't need to handle it here. ! #: cp/constexpr.cc:2580 #, fuzzy, gcc-internal-format #| msgid "cannot call member function `%D' without object" msgid "calling constexpr member function %qD through virtual base subobject" msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt" ! #: cp/constexpr.cc:2696 rust/backend/rust-constexpr.cc:3384 #, fuzzy, gcc-internal-format msgid "expression %qE does not designate a % function" msgstr "friend-erklæringen er ikke i klassedefinitionen" ! #: cp/constexpr.cc:2769 #, fuzzy, gcc-internal-format #| msgid "-client_name not allowed with -dynamiclib" msgid "array deallocation of object allocated with non-array allocation" msgstr "-client_name er ikke tilladt med -dynamiclib" ! #: cp/constexpr.cc:2773 cp/constexpr.cc:2795 #, fuzzy, gcc-internal-format msgid "allocation performed here" msgstr " oprindelig definition er her" ! #: cp/constexpr.cc:2791 #, fuzzy, gcc-internal-format #| msgid "-client_name not allowed with -dynamiclib" msgid "non-array deallocation of object allocated with array allocation" msgstr "-client_name er ikke tilladt med -dynamiclib" ! #: cp/constexpr.cc:2808 #, gcc-internal-format msgid "deallocation of already deallocated storage" msgstr "" ! #: cp/constexpr.cc:2815 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a previous local" msgid "deallocation of storage that was not previously allocated" msgstr "erklæring af '%s' skygger for en tidligere lokal variabel" ! #: cp/constexpr.cc:2929 rust/backend/rust-constexpr.cc:3439 #, fuzzy, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2936 #, fuzzy, gcc-internal-format msgid "%qD called in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:2940 rust/backend/rust-constexpr.cc:3453 #, fuzzy, gcc-internal-format #| msgid "`%D' implicitly declared before its definition" msgid "%qD used before its definition" *************** msgid "dereferencing a null pointer in % *** 55399,55405 **** msgstr "forsøg på at følge en 'void *'-henvisning" #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 ! #: cp/constexpr.cc:6998 cp/constexpr.cc:7096 cp/constexpr.cc:9078 #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 #: rust/backend/rust-constexpr.cc:5708 --- 55416,55422 ---- msgstr "forsøg på at følge en 'void *'-henvisning" #: cp/constexpr.cc:4342 cp/constexpr.cc:4442 cp/constexpr.cc:4454 ! #: cp/constexpr.cc:6997 cp/constexpr.cc:7095 cp/constexpr.cc:9077 #: rust/backend/rust-constexpr.cc:1735 rust/backend/rust-constexpr.cc:1980 #: rust/backend/rust-constexpr.cc:2222 rust/backend/rust-constexpr.cc:4739 #: rust/backend/rust-constexpr.cc:5708 *************** msgstr "manglende startværdi for medlem *** 55504,55871 **** msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" msgstr "" ! #: cp/constexpr.cc:5633 cp/constexpr.cc:7724 #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 #, fuzzy, gcc-internal-format #| msgid "dereferencing `void *' pointer" msgid "dereferencing a null pointer" msgstr "forsøg på at følge en 'void *'-henvisning" ! #: cp/constexpr.cc:5653 rust/backend/rust-constexpr.cc:892 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:5699 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "the content of uninitialized storage is not usable in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5701 cp/constexpr.cc:5708 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "allocated here" msgstr " '%#D' erklæret her" ! #: cp/constexpr.cc:5706 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "use of allocated storage after deallocation in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:5711 rust/backend/rust-constexpr.cc:4037 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "the value of %qD is not usable in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5719 #, fuzzy, gcc-internal-format #| msgid "excess elements in union initializer" msgid "%qD used in its own initializer" msgstr "for mange elementer i union-startværdi" ! #: cp/constexpr.cc:5724 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "'%s' er ikke en funktion," ! #: cp/constexpr.cc:5727 #, fuzzy, gcc-internal-format #| msgid "`%+#D' is private" msgid "%q#D is volatile" msgstr "'%+#D' er privat" ! #: cp/constexpr.cc:5732 cp/constexpr.cc:5739 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5745 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qD was not declared %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/constexpr.cc:5748 #, fuzzy, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/constexpr.cc:6017 rust/backend/rust-constexpr.cc:2751 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "modification of %qE is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:6116 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "change of the active member of a union from %qD to %qD" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/constexpr.cc:6129 rust/backend/rust-constexpr.cc:2820 #, fuzzy, gcc-internal-format #| msgid "cannot convert `%T' to `%T' in %s" msgid "change of the active member of a union from %qD to %qD during initialization" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/constexpr.cc:6575 cp/constexpr.cc:8065 cp/constexpr.cc:8077 #: rust/backend/rust-constexpr.cc:4664 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:6679 rust/backend/rust-constexpr.cc:4929 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/constexpr.cc:6780 rust/backend/rust-constexpr.cc:996 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "inline assembly is not a constant expression" msgstr "startværdielement er ikke en konstant" ! #: cp/constexpr.cc:6782 rust/backend/rust-constexpr.cc:997 #, gcc-internal-format msgid "only unevaluated inline assembly is allowed in a % function in C++20" msgstr "" ! #: cp/constexpr.cc:6800 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "use of %qD" msgstr "ugyldig brug af '%D" ! #: cp/constexpr.cc:6804 #, gcc-internal-format msgid "its value can vary between compiler versions or with different %<-mtune%> or %<-mcpu%> flags" msgstr "" ! #: cp/constexpr.cc:6806 #, gcc-internal-format msgid "if this use is part of a public ABI, change it to instead use a constant variable you define" msgstr "" ! #: cp/constexpr.cc:6808 #, gcc-internal-format, gfc-internal-format msgid "the default value for the current CPU tuning is %d bytes" msgstr "" ! #: cp/constexpr.cc:6810 #, gcc-internal-format msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>" msgstr "" ! #: cp/constexpr.cc:6960 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "value %qE of type %qT is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:6973 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/constexpr.cc:7126 #, gcc-internal-format msgid "control passes through definition of %qD with thread storage duration" msgstr "" ! #: cp/constexpr.cc:7129 #, gcc-internal-format msgid "control passes through definition of %qD with static storage duration" msgstr "" ! #: cp/constexpr.cc:7194 cp/constexpr.cc:9792 #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 #, fuzzy, gcc-internal-format #| msgid "enumeral and non-enumeral type in conditional expression" msgid "temporary of non-literal type %qT in a constant expression" msgstr "enum- og ikke enum-type i betinget udtryk" ! #: cp/constexpr.cc:7632 cp/constexpr.cc:9293 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7660 rust/backend/rust-constexpr.cc:2459 #, fuzzy, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7688 rust/backend/rust-constexpr.cc:2478 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "cast from %qT is not allowed" msgstr "\"%s\" er ikke defineret" ! #: cp/constexpr.cc:7701 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression when the class %qT is still incomplete" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:7735 rust/backend/rust-constexpr.cc:2504 #, fuzzy, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7866 cp/constexpr.cc:9603 cp/constexpr.cc:10015 #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: cp/constexpr.cc:7911 cp/constexpr.cc:10056 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "% is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:7969 #, fuzzy, gcc-internal-format msgid "contract predicate is false in constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7985 #, fuzzy, gcc-internal-format msgid "unexpected template-id %qE" msgstr "uventet operand" ! #: cp/constexpr.cc:7991 cp/constraint.cc:178 cp/constraint.cc:753 #, fuzzy, gcc-internal-format msgid "function concept must be called" msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" ! #: cp/constexpr.cc:8016 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "address of a call to %qs is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8080 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unexpected expression %qE of kind %s" msgstr "uventet adresseudtryk" ! #: cp/constexpr.cc:8339 rust/backend/rust-constexpr.cc:5154 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.cc:8347 rust/backend/rust-constexpr.cc:5163 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8362 rust/backend/rust-constexpr.cc:5179 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because it refers to a result of %" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8373 rust/backend/rust-constexpr.cc:5191 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because allocated storage has not been deallocated" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8391 rust/backend/rust-constexpr.cc:5209 #, gcc-internal-format msgid "immediate evaluation returns address of immediate function %qD" msgstr "" ! #: cp/constexpr.cc:9016 rust/backend/rust-constexpr.cc:5663 #, fuzzy, gcc-internal-format #| msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'" msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" msgstr "ugyldig reinterpret_cast af et højreværdiudtryk fra typen '%T' til typen '%T'" ! #: cp/constexpr.cc:9258 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "lambda capture of %qE is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:9261 #, gcc-internal-format msgid "because it is used as a glvalue" msgstr "" ! #: cp/constexpr.cc:9317 rust/backend/rust-constexpr.cc:5889 #, fuzzy, gcc-internal-format #| msgid "invalid reinterpret_cast from type `%T' to type `%T'" msgid "% from integer to pointer" msgstr "ugyldig reinterpret_cast fra typen '%T' til typen '%T'" ! #: cp/constexpr.cc:9351 rust/backend/rust-constexpr.cc:5917 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.cc:9390 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "use of % in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9539 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "lambda-expression is not a constant expression before C++17" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9551 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "new-expression is not a constant expression before C++20" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9617 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual functions cannot be % before C++20" msgstr "en virtuel funktion kan ikke erklæres som friend" ! #: cp/constexpr.cc:9633 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "% is not a constant expression because %qE is of polymorphic type" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:9696 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9757 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qD defined % in % context" msgstr "feltet '%D' er erklæret statisk i union" ! #: cp/constexpr.cc:9765 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qD defined % in % context" msgstr "feltet '%D' er erklæret statisk i union" ! #: cp/constexpr.cc:9842 rust/backend/rust-constexpr.cc:6248 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "division by zero is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:9943 rust/backend/rust-constexpr.cc:6346 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:10012 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "neither branch of % is a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:10025 #, fuzzy, gcc-internal-format #| msgid "nonconstant array index in initializer" msgid "non-constant array initialization" msgstr "tabelindekset i startværdien er ikke en konstant" ! #: cp/constexpr.cc:10073 rust/backend/rust-constexpr.cc:6424 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/constexpr.cc:10104 rust/backend/rust-constexpr.cc:6435 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected type for `id' (%s)" msgid "unexpected AST of kind %s" --- 55521,55888 ---- msgid "%qs cannot be constant evaluated because the argument cannot be interpreted" msgstr "" ! #: cp/constexpr.cc:5632 cp/constexpr.cc:7723 #: rust/backend/rust-constexpr.cc:872 rust/backend/rust-constexpr.cc:2492 #, fuzzy, gcc-internal-format #| msgid "dereferencing `void *' pointer" msgid "dereferencing a null pointer" msgstr "forsøg på at følge en 'void *'-henvisning" ! #: cp/constexpr.cc:5652 rust/backend/rust-constexpr.cc:892 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:5698 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "the content of uninitialized storage is not usable in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5700 cp/constexpr.cc:5707 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "allocated here" msgstr " '%#D' erklæret her" ! #: cp/constexpr.cc:5705 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "use of allocated storage after deallocation in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:5710 rust/backend/rust-constexpr.cc:4037 #, fuzzy, gcc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "the value of %qD is not usable in a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5718 #, fuzzy, gcc-internal-format #| msgid "excess elements in union initializer" msgid "%qD used in its own initializer" msgstr "for mange elementer i union-startværdi" ! #: cp/constexpr.cc:5723 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "'%s' er ikke en funktion," ! #: cp/constexpr.cc:5726 #, fuzzy, gcc-internal-format #| msgid "`%+#D' is private" msgid "%q#D is volatile" msgstr "'%+#D' er privat" ! #: cp/constexpr.cc:5731 cp/constexpr.cc:5738 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:5744 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qD was not declared %" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/constexpr.cc:5747 #, fuzzy, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/constexpr.cc:6016 rust/backend/rust-constexpr.cc:2751 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "modification of %qE is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:6115 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "change of the active member of a union from %qD to %qD" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: cp/constexpr.cc:6128 rust/backend/rust-constexpr.cc:2820 #, fuzzy, gcc-internal-format #| msgid "cannot convert `%T' to `%T' in %s" msgid "change of the active member of a union from %qD to %qD during initialization" msgstr "kan ikke konvertere '%T' til '%T' i %s" ! #: cp/constexpr.cc:6574 cp/constexpr.cc:8064 cp/constexpr.cc:8076 #: rust/backend/rust-constexpr.cc:4664 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:6678 rust/backend/rust-constexpr.cc:4929 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/constexpr.cc:6779 rust/backend/rust-constexpr.cc:996 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "inline assembly is not a constant expression" msgstr "startværdielement er ikke en konstant" ! #: cp/constexpr.cc:6781 rust/backend/rust-constexpr.cc:997 #, gcc-internal-format msgid "only unevaluated inline assembly is allowed in a % function in C++20" msgstr "" ! #: cp/constexpr.cc:6799 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "use of %qD" msgstr "ugyldig brug af '%D" ! #: cp/constexpr.cc:6803 #, gcc-internal-format msgid "its value can vary between compiler versions or with different %<-mtune%> or %<-mcpu%> flags" msgstr "" ! #: cp/constexpr.cc:6805 #, gcc-internal-format msgid "if this use is part of a public ABI, change it to instead use a constant variable you define" msgstr "" ! #: cp/constexpr.cc:6807 #, gcc-internal-format, gfc-internal-format msgid "the default value for the current CPU tuning is %d bytes" msgstr "" ! #: cp/constexpr.cc:6809 #, gcc-internal-format msgid "you can stabilize this value with %<--param hardware_destructive_interference_size=%d%>, or disable this warning with %<-Wno-interference-size%>" msgstr "" ! #: cp/constexpr.cc:6959 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "value %qE of type %qT is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:6972 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/constexpr.cc:7125 #, gcc-internal-format msgid "control passes through definition of %qD with thread storage duration" msgstr "" ! #: cp/constexpr.cc:7128 #, gcc-internal-format msgid "control passes through definition of %qD with static storage duration" msgstr "" ! #: cp/constexpr.cc:7193 cp/constexpr.cc:9791 #: rust/backend/rust-constexpr.cc:2053 rust/backend/rust-constexpr.cc:6203 #, fuzzy, gcc-internal-format #| msgid "enumeral and non-enumeral type in conditional expression" msgid "temporary of non-literal type %qT in a constant expression" msgstr "enum- og ikke enum-type i betinget udtryk" ! #: cp/constexpr.cc:7631 cp/constexpr.cc:9292 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7659 rust/backend/rust-constexpr.cc:2459 #, fuzzy, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7687 rust/backend/rust-constexpr.cc:2478 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not defined" msgid "cast from %qT is not allowed" msgstr "\"%s\" er ikke defineret" ! #: cp/constexpr.cc:7700 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression when the class %qT is still incomplete" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:7734 rust/backend/rust-constexpr.cc:2504 #, fuzzy, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7865 cp/constexpr.cc:9602 cp/constexpr.cc:10014 #: rust/backend/rust-constexpr.cc:6096 rust/backend/rust-constexpr.cc:6412 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: cp/constexpr.cc:7910 cp/constexpr.cc:10055 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "% is not a constant expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:7968 #, fuzzy, gcc-internal-format msgid "contract predicate is false in constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:7984 #, fuzzy, gcc-internal-format msgid "unexpected template-id %qE" msgstr "uventet operand" ! #: cp/constexpr.cc:7990 cp/constraint.cc:178 cp/constraint.cc:753 #, fuzzy, gcc-internal-format msgid "function concept must be called" msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion" ! #: cp/constexpr.cc:8015 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "address of a call to %qs is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8079 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unexpected expression %qE of kind %s" msgstr "uventet adresseudtryk" ! #: cp/constexpr.cc:8338 rust/backend/rust-constexpr.cc:5154 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.cc:8346 rust/backend/rust-constexpr.cc:5163 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8361 rust/backend/rust-constexpr.cc:5179 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because it refers to a result of %" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8372 rust/backend/rust-constexpr.cc:5191 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because allocated storage has not been deallocated" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:8390 rust/backend/rust-constexpr.cc:5209 #, gcc-internal-format msgid "immediate evaluation returns address of immediate function %qD" msgstr "" ! #: cp/constexpr.cc:9015 rust/backend/rust-constexpr.cc:5663 #, fuzzy, gcc-internal-format #| msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'" msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT" msgstr "ugyldig reinterpret_cast af et højreværdiudtryk fra typen '%T' til typen '%T'" ! #: cp/constexpr.cc:9257 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "lambda capture of %qE is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:9260 #, gcc-internal-format msgid "because it is used as a glvalue" msgstr "" ! #: cp/constexpr.cc:9316 rust/backend/rust-constexpr.cc:5889 #, fuzzy, gcc-internal-format #| msgid "invalid reinterpret_cast from type `%T' to type `%T'" msgid "% from integer to pointer" msgstr "ugyldig reinterpret_cast fra typen '%T' til typen '%T'" ! #: cp/constexpr.cc:9350 rust/backend/rust-constexpr.cc:5917 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.cc:9389 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "use of % in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9538 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "lambda-expression is not a constant expression before C++17" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9550 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "new-expression is not a constant expression before C++20" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9616 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "virtual functions cannot be % before C++20" msgstr "en virtuel funktion kan ikke erklæres som friend" ! #: cp/constexpr.cc:9632 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "% is not a constant expression because %qE is of polymorphic type" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: cp/constexpr.cc:9695 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:9756 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qD defined % in % context" msgstr "feltet '%D' er erklæret statisk i union" ! #: cp/constexpr.cc:9764 #, fuzzy, gcc-internal-format #| msgid "field `%D' declared static in union" msgid "%qD defined % in % context" msgstr "feltet '%D' er erklæret statisk i union" ! #: cp/constexpr.cc:9841 rust/backend/rust-constexpr.cc:6248 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid "division by zero is not a constant expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/constexpr.cc:9942 rust/backend/rust-constexpr.cc:6346 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:10011 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "neither branch of % is a constant expression" msgstr "overløb i konstant udtryk" ! #: cp/constexpr.cc:10024 #, fuzzy, gcc-internal-format #| msgid "nonconstant array index in initializer" msgid "non-constant array initialization" msgstr "tabelindekset i startværdien er ikke en konstant" ! #: cp/constexpr.cc:10072 rust/backend/rust-constexpr.cc:6424 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "label definition in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/constexpr.cc:10103 rust/backend/rust-constexpr.cc:6435 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unexpected type for `id' (%s)" msgid "unexpected AST of kind %s" *************** msgstr "" *** 56652,56658 **** msgid "cannot initialize a return object of type %qT with an rvalue of type %" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/cp-gimplify.cc:169 #, gcc-internal-format msgid "both branches of % statement marked as %qs" msgstr "" --- 56669,56675 ---- msgid "cannot initialize a return object of type %qT with an rvalue of type %" msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'" ! #: cp/cp-gimplify.cc:176 #, gcc-internal-format msgid "both branches of % statement marked as %qs" msgstr "" *************** msgstr "destruktionsfunktioner må ikke *** 56679,56715 **** msgid "in C++11 this % will call % because destructors default to %" msgstr "" ! #: cp/cp-gimplify.cc:3231 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "ignoring attribute %qE after earlier %qE" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/cp-gimplify.cc:3305 cp/cp-gimplify.cc:3317 cp/decl.cc:4275 #: cp/method.cc:978 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qD is not a type" msgstr "'%T' er ikke en skabelon" ! #: cp/cp-gimplify.cc:3323 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or union type" msgid "%qD is not a class type" msgstr "'%T' er ikke af en klasse- eller union-type" ! #: cp/cp-gimplify.cc:3340 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qD does not have % type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: cp/cp-gimplify.cc:3350 #, fuzzy, gcc-internal-format msgid "%qD does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/cp-gimplify.cc:3362 #, gcc-internal-format msgid "% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>" msgstr "" --- 56696,56744 ---- msgid "in C++11 this % will call % because destructors default to %" msgstr "" ! #: cp/cp-gimplify.cc:3233 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "ignoring attribute %qE after earlier %qE" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/cp-gimplify.cc:3275 ! #, fuzzy, gcc-internal-format ! #| msgid "invalid argument of %qE attribute" ! msgid "pack expansion of %qE attribute" ! msgstr "ugyldig parameter for egenskaben %qE" ! ! #: cp/cp-gimplify.cc:3278 ! #, fuzzy, gcc-internal-format ! #| msgid "Invalid expression statement" ! msgid "use fold expression in the attribute argument instead" ! msgstr "Ugyldig udtrykssætning" ! ! #: cp/cp-gimplify.cc:3317 cp/cp-gimplify.cc:3329 cp/decl.cc:4275 #: cp/method.cc:978 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qD is not a type" msgstr "'%T' er ikke en skabelon" ! #: cp/cp-gimplify.cc:3335 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or union type" msgid "%qD is not a class type" msgstr "'%T' er ikke af en klasse- eller union-type" ! #: cp/cp-gimplify.cc:3352 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qD does not have % type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: cp/cp-gimplify.cc:3362 #, fuzzy, gcc-internal-format msgid "%qD does not have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/cp-gimplify.cc:3374 #, gcc-internal-format msgid "% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>" msgstr "" *************** msgid "redeclaration %qD differs in %qs *** 57194,57200 **** msgstr "erklæring af '%D' som %s" # hænger sammen med næste tekst ! #: cp/decl.cc:1391 cp/decl.cc:16156 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous declaration %qD" --- 57223,57229 ---- msgstr "erklæring af '%D' som %s" # hænger sammen med næste tekst ! #: cp/decl.cc:1391 cp/decl.cc:16165 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous declaration %qD" *************** msgid "ignoring attributes applied to de *** 57874,57880 **** msgstr "" # init dækker over værditildeling her - samme for de næste mange ! #: cp/decl.cc:5735 cp/decl2.cc:1021 #, fuzzy, gcc-internal-format #| msgid "typedef `%D' is initialized (use __typeof__ instead)" msgid "typedef %qD is initialized (use %qs instead)" --- 57903,57909 ---- msgstr "" # init dækker over værditildeling her - samme for de næste mange ! #: cp/decl.cc:5735 cp/decl2.cc:1026 #, fuzzy, gcc-internal-format #| msgid "typedef `%D' is initialized (use __typeof__ instead)" msgid "typedef %qD is initialized (use %qs instead)" *************** msgstr "ugyldig startværdi" *** 58105,58112 **** msgid "C99 designator %qE outside aggregate initializer" msgstr "for mange elementer i startværdi til sammensat type" ! #: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1595 cp/typeck2.cc:1925 ! #: cp/typeck2.cc:1973 cp/typeck2.cc:2020 #, gcc-internal-format msgid "too many initializers for %qT" msgstr "for mange startværdier for %qT" --- 58134,58141 ---- msgid "C99 designator %qE outside aggregate initializer" msgstr "for mange elementer i startværdi til sammensat type" ! #: cp/decl.cc:7017 cp/decl.cc:7305 cp/typeck2.cc:1613 cp/typeck2.cc:1943 ! #: cp/typeck2.cc:1991 cp/typeck2.cc:2038 #, gcc-internal-format msgid "too many initializers for %qT" msgstr "for mange startværdier for %qT" *************** msgstr "" *** 58236,58253 **** msgid "assignment (not initialization) in declaration" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/decl.cc:8250 cp/decl.cc:14799 #, gcc-internal-format msgid "ISO C++17 does not allow % storage class specifier" msgstr "ISO C++17 tillader ikke %-lagerklasseangivelse" ! #: cp/decl.cc:8254 cp/decl.cc:14803 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "% storage class specifier used" msgstr "lagringsklasse angivet for %s '%s'" ! #: cp/decl.cc:8299 cp/decl.cc:14766 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' has `extern' and is initialized" msgid "declaration of %q#D has no initializer" --- 58265,58282 ---- msgid "assignment (not initialization) in declaration" msgstr "tildeling (ikke klargøring) i erklæring" ! #: cp/decl.cc:8250 cp/decl.cc:14808 #, gcc-internal-format msgid "ISO C++17 does not allow % storage class specifier" msgstr "ISO C++17 tillader ikke %-lagerklasseangivelse" ! #: cp/decl.cc:8254 cp/decl.cc:14812 #, fuzzy, gcc-internal-format #| msgid "storage class specified for %s `%s'" msgid "% storage class specifier used" msgstr "lagringsklasse angivet for %s '%s'" ! #: cp/decl.cc:8299 cp/decl.cc:14775 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' has `extern' and is initialized" msgid "declaration of %q#D has no initializer" *************** msgstr "long og short er begge angivet f *** 59158,59176 **** msgid "%qs specified with %qT" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/decl.cc:12481 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" ! msgid "%qs specified with %qD" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/decl.cc:12493 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "%qs specified with %" msgstr "forventede %" ! #: cp/decl.cc:12495 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs specified with %" --- 59187,59205 ---- msgid "%qs specified with %qT" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/decl.cc:12482 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" ! msgid "%qs specified with typedef-name %qD" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/decl.cc:12491 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "%qs specified with %" msgstr "forventede %" ! #: cp/decl.cc:12493 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qs specified with %" *************** msgstr "destruktionsfunktioner må ikke *** 59835,59841 **** msgid "a concept cannot be a member function" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: cp/decl.cc:14292 cp/decl.cc:14634 #, fuzzy, gcc-internal-format msgid "%qD cannot be %qs" msgstr "kan ikke åbne %s" --- 59864,59870 ---- msgid "a concept cannot be a member function" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: cp/decl.cc:14292 cp/decl.cc:14643 #, fuzzy, gcc-internal-format msgid "%qD cannot be %qs" msgstr "kan ikke åbne %s" *************** msgstr "'%s' er hverken en almindelig fu *** 59881,60261 **** msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" msgstr "" ! #: cp/decl.cc:14453 cp/decl.cc:14464 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "static data member %qE declared %qs" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14458 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "% static data member %qD must have an initializer" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/decl.cc:14501 cp/decl.cc:14509 cp/decl.cc:14516 cp/decl.cc:14523 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "non-static data member %qE declared %qs" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14575 #, fuzzy, gcc-internal-format #| msgid "storage class `auto' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14578 #, fuzzy, gcc-internal-format #| msgid "storage class `register' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14584 #, fuzzy, gcc-internal-format #| msgid "storage class `__thread' invalid for function `%s'" msgid "storage class %<__thread%> invalid for function %qs" msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14588 #, fuzzy, gcc-internal-format #| msgid "storage class `__thread' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14593 #, fuzzy, gcc-internal-format #| msgid "type specifier `%s' not allowed after struct or class" msgid "virt-specifiers in %qs not allowed outside a class definition" msgstr "typeangivelsen '%s' er ikke tilladt efter struct eller class" ! #: cp/decl.cc:14605 #, fuzzy, gcc-internal-format #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" msgid "% specifier invalid for function %qs declared out of global scope" msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" ! #: cp/decl.cc:14609 #, fuzzy, gcc-internal-format #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" msgid "% specifier invalid for function %qs declared out of global scope" msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" ! #: cp/decl.cc:14617 #, fuzzy, gcc-internal-format #| msgid "virtual non-class function `%s'" msgid "virtual non-class function %qs" msgstr "virtuel funktion '%s' tilhører ikke en klasse" ! #: cp/decl.cc:14624 #, fuzzy, gcc-internal-format #| msgid "method definition not in class context" msgid "%qs defined in a non-class scope" msgstr "metodedefinitionen optræder ikke i en klassekontekst" ! #: cp/decl.cc:14625 #, fuzzy, gcc-internal-format #| msgid "using-declaration for non-member at class scope" msgid "%qs declared in a non-class scope" msgstr "using-erklæring for ikke-medlem ved klassevirkefelt" ! #: cp/decl.cc:14668 #, fuzzy, gcc-internal-format #| msgid "cannot declare member function `%D' to have static linkage" msgid "cannot declare member function %qD to have static linkage" msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning" ! #: cp/decl.cc:14677 #, gcc-internal-format msgid "cannot declare static function inside another function" msgstr "kan ikke erklære en funktion for static inden i en anden funktion" ! #: cp/decl.cc:14718 #, fuzzy, gcc-internal-format #| msgid "`static' may not be used when defining (as opposed to declaring) a static data member" msgid "% may not be used when defining (as opposed to declaring) a static data member" msgstr "'static' må ikke bruges ved definering (i modsætning til erklæring) af et statisk datamedlem" ! #: cp/decl.cc:14725 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "static member %qD declared %" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14731 #, fuzzy, gcc-internal-format #| msgid "cannot explicitly declare member `%#D' to have extern linkage" msgid "cannot explicitly declare member %q#D to have extern linkage" msgstr "kan ikke eksplicit erklære medlemmet '%#D' til at have extern-kædning" ! #: cp/decl.cc:14739 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' outside of class is not definition" msgid "declaration of % variable %qD is not a definition" msgstr "erklæring af '%#D' uden for en klasse er ikke en definition" ! #: cp/decl.cc:14746 #, fuzzy, gcc-internal-format #| msgid "template parameters cannot be friends" msgid "a variable cannot be declared %" msgstr "skabelonsparametre kan ikke være venner" ! #: cp/decl.cc:14778 #, fuzzy, gcc-internal-format #| msgid "`%s' initialized and declared `extern'" msgid "%qs initialized and declared %" msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'" ! #: cp/decl.cc:14783 #, fuzzy, gcc-internal-format #| msgid "`%s' has both `extern' and initializer" msgid "%qs has both % and initializer" msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi" ! #: cp/decl.cc:14980 #, fuzzy, gcc-internal-format #| msgid "default argument `%E' uses local variable `%D'" msgid "default argument %qE uses %qD" msgstr "standardparameter '%E' bruger lokal variabel '%D'" ! #: cp/decl.cc:14983 #, fuzzy, gcc-internal-format #| msgid "default argument `%E' uses local variable `%D'" msgid "default argument %qE uses local variable %qD" msgstr "standardparameter '%E' bruger lokal variabel '%D'" ! #: cp/decl.cc:15110 #, fuzzy, gcc-internal-format #| msgid "invalid use of `virtual' in template declaration of `%#D'" msgid "invalid use of cv-qualified type %qT in parameter declaration" msgstr "ugyldig brug af 'virtual' i skabelonserklæring af '%#D'" ! #: cp/decl.cc:15114 #, fuzzy, gcc-internal-format #| msgid "invalid use of template-name '%E' in a declarator" msgid "invalid use of type % in parameter declaration" msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" ! #: cp/decl.cc:15143 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "%-qualified parameter is deprecated" msgstr "ugyldig parametertype '%T'" ! #: cp/decl.cc:15151 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' invalidly declared method type" msgid "parameter %qD invalidly declared method type" msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype" ! #: cp/decl.cc:15176 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "parameter %qD includes pointer to array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/decl.cc:15178 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "parameter %qD includes reference to array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/decl.cc:15437 #, fuzzy, gcc-internal-format #| msgid "invalid constructor; you probably meant `%T (const %T&)'" msgid "invalid constructor; you probably meant %<%T (const %T&)%>" msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'" ! #: cp/decl.cc:15516 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qD may not be declared within a namespace" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/decl.cc:15523 #, fuzzy, gcc-internal-format msgid "%qD may not be declared as static" msgstr "'%#D' kan ikke erklæres" ! #: cp/decl.cc:15551 #, fuzzy, gcc-internal-format #| msgid "`%D' must be a nonstatic member function" msgid "%qD must be a non-static member function" msgstr "'%D' skal være en ikke-statisk medlemsfunktion" ! #: cp/decl.cc:15559 #, fuzzy, gcc-internal-format #| msgid "`%D' must be a nonstatic member function" msgid "%qD must be a member function" msgstr "'%D' skal være en ikke-statisk medlemsfunktion" ! #: cp/decl.cc:15567 #, fuzzy, gcc-internal-format #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" ! #: cp/decl.cc:15577 #, fuzzy, gcc-internal-format #| msgid "`%D' must be either a non-static member function or a non-member function" msgid "%qD must be either a non-static member function or a non-member function" msgstr "'%D' skal enten være en ikke-statisk medlemsfunktion eller ikke en medlemsfunktion" ! #: cp/decl.cc:15587 #, fuzzy, gcc-internal-format #| msgid "`%D' must have an argument of class or enumerated type" msgid "%qD must have an argument of class or enumerated type" msgstr "'%D' skal have en parameter af en klasse- eller enum-type" #. 13.4.0.3 ! #: cp/decl.cc:15618 #, fuzzy, gcc-internal-format #| msgid "ISO C++ prohibits overloading operator ?:" msgid "ISO C++ prohibits overloading %" msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:" ! #: cp/decl.cc:15628 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either one or two arguments" msgid "%qD must not have variable number of arguments" msgstr "'%D' skal tage mod én eller to parametre" ! #: cp/decl.cc:15654 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either zero or one argument" msgid "%qD must have either zero or one argument" msgstr "'%D' skal tage mod nul eller én parameter" ! #: cp/decl.cc:15655 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either one or two arguments" msgid "%qD must have either one or two arguments" msgstr "'%D' skal tage mod én eller to parametre" ! #: cp/decl.cc:15667 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' must take `int' as its argument" msgid "postfix %qD must have % as its argument" msgstr "postfiks '%D' skal tage mod 'int' som parameter" ! #: cp/decl.cc:15668 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' must take `int' as its second argument" msgid "postfix %qD must have % as its second argument" msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter" ! #: cp/decl.cc:15679 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly two arguments" msgid "%qD must have no arguments" msgstr "'%s' skal tage mod to parametre" ! #: cp/decl.cc:15680 cp/decl.cc:15690 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly one argument" msgid "%qD must have exactly one argument" msgstr "'%s' skal tage mod én parameter" ! #: cp/decl.cc:15691 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly two arguments" msgid "%qD must have exactly two arguments" msgstr "'%s' skal tage mod to parametre" ! #: cp/decl.cc:15706 #, fuzzy, gcc-internal-format #| msgid "`%D' cannot have default arguments" msgid "%qD cannot have default arguments" msgstr "'%D' kan ikke have standardparametre" ! #: cp/decl.cc:15730 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to % will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15737 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a reference to the same type will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15739 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to the same type will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15748 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15750 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a base class %qT will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15766 #, fuzzy, gcc-internal-format #| msgid "user-defined `%D' always evaluates both arguments" msgid "user-defined %qD always evaluates both arguments" msgstr "brugerdefineret '%D' evaluerer altid begge parametre" ! #: cp/decl.cc:15785 #, fuzzy, gcc-internal-format #| msgid "prefix `%D' should return `%T'" msgid "prefix %qD should return %qT" msgstr "præfiks '%D' skal returnere '%T'" ! #: cp/decl.cc:15792 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' should return `%T'" msgid "postfix %qD should return %qT" msgstr "postfiks '%D' skal returnere '%T'" ! #: cp/decl.cc:15804 #, fuzzy, gcc-internal-format #| msgid "`%D' should return by value" msgid "%qD should return by value" msgstr "'%D' skal returnere pr. værdi (ikke reference)" ! #: cp/decl.cc:15859 #, fuzzy, gcc-internal-format #| msgid "using template type parameter `%T' after `%s'" msgid "using template type parameter %qT after %qs" msgstr "bruger skabelonstypeparameter '%D' efter '%s'" ! #: cp/decl.cc:15882 #, fuzzy, gcc-internal-format #| msgid "ambiguous template specialization `%D' for `%+D'" msgid "using alias template specialization %qT after %qs" msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'" ! #: cp/decl.cc:15885 #, fuzzy, gcc-internal-format #| msgid "using typedef-name `%D' after `%s'" msgid "using typedef-name %qD after %qs" msgstr "bruger typedef-navn '%D' efter '%s'" ! #: cp/decl.cc:15887 #, fuzzy, gcc-internal-format msgid "%qD has a previous declaration here" msgstr "tidligere erklæring som '%#D'" ! #: cp/decl.cc:15895 #, fuzzy, gcc-internal-format msgid "%qT referred to as %qs" msgstr "'%#D' omerklæret som %C" ! #: cp/decl.cc:15896 cp/decl.cc:15903 #, fuzzy, gcc-internal-format msgid "%qT has a previous declaration here" msgstr "dette er en tidligere erklæring" ! #: cp/decl.cc:15902 #, fuzzy, gcc-internal-format msgid "%qT referred to as enum" msgstr "'%#D' omerklæret som %C" --- 59910,60290 ---- msgid "an attribute that appertains to a friend declaration that is not a definition is ignored" msgstr "" ! #: cp/decl.cc:14462 cp/decl.cc:14473 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "static data member %qE declared %qs" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14467 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "% static data member %qD must have an initializer" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/decl.cc:14510 cp/decl.cc:14518 cp/decl.cc:14525 cp/decl.cc:14532 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "non-static data member %qE declared %qs" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14584 #, fuzzy, gcc-internal-format #| msgid "storage class `auto' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14587 #, fuzzy, gcc-internal-format #| msgid "storage class `register' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14593 #, fuzzy, gcc-internal-format #| msgid "storage class `__thread' invalid for function `%s'" msgid "storage class %<__thread%> invalid for function %qs" msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14597 #, fuzzy, gcc-internal-format #| msgid "storage class `__thread' invalid for function `%s'" msgid "storage class % invalid for function %qs" msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'" ! #: cp/decl.cc:14602 #, fuzzy, gcc-internal-format #| msgid "type specifier `%s' not allowed after struct or class" msgid "virt-specifiers in %qs not allowed outside a class definition" msgstr "typeangivelsen '%s' er ikke tilladt efter struct eller class" ! #: cp/decl.cc:14614 #, fuzzy, gcc-internal-format #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" msgid "% specifier invalid for function %qs declared out of global scope" msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" ! #: cp/decl.cc:14618 #, fuzzy, gcc-internal-format #| msgid "storage class `inline' invalid for function `%s' declared out of global scope" msgid "% specifier invalid for function %qs declared out of global scope" msgstr "lagringsklassen 'inline' er ugyldig for funktionen '%s' erklæret uden for det globale virkefelt" ! #: cp/decl.cc:14626 #, fuzzy, gcc-internal-format #| msgid "virtual non-class function `%s'" msgid "virtual non-class function %qs" msgstr "virtuel funktion '%s' tilhører ikke en klasse" ! #: cp/decl.cc:14633 #, fuzzy, gcc-internal-format #| msgid "method definition not in class context" msgid "%qs defined in a non-class scope" msgstr "metodedefinitionen optræder ikke i en klassekontekst" ! #: cp/decl.cc:14634 #, fuzzy, gcc-internal-format #| msgid "using-declaration for non-member at class scope" msgid "%qs declared in a non-class scope" msgstr "using-erklæring for ikke-medlem ved klassevirkefelt" ! #: cp/decl.cc:14677 #, fuzzy, gcc-internal-format #| msgid "cannot declare member function `%D' to have static linkage" msgid "cannot declare member function %qD to have static linkage" msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning" ! #: cp/decl.cc:14686 #, gcc-internal-format msgid "cannot declare static function inside another function" msgstr "kan ikke erklære en funktion for static inden i en anden funktion" ! #: cp/decl.cc:14727 #, fuzzy, gcc-internal-format #| msgid "`static' may not be used when defining (as opposed to declaring) a static data member" msgid "% may not be used when defining (as opposed to declaring) a static data member" msgstr "'static' må ikke bruges ved definering (i modsætning til erklæring) af et statisk datamedlem" ! #: cp/decl.cc:14734 #, fuzzy, gcc-internal-format #| msgid "static member `%D' declared `register'" msgid "static member %qD declared %" msgstr "statisk medlem '%D' erklæret 'register'" ! #: cp/decl.cc:14740 #, fuzzy, gcc-internal-format #| msgid "cannot explicitly declare member `%#D' to have extern linkage" msgid "cannot explicitly declare member %q#D to have extern linkage" msgstr "kan ikke eksplicit erklære medlemmet '%#D' til at have extern-kædning" ! #: cp/decl.cc:14748 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D' outside of class is not definition" msgid "declaration of % variable %qD is not a definition" msgstr "erklæring af '%#D' uden for en klasse er ikke en definition" ! #: cp/decl.cc:14755 #, fuzzy, gcc-internal-format #| msgid "template parameters cannot be friends" msgid "a variable cannot be declared %" msgstr "skabelonsparametre kan ikke være venner" ! #: cp/decl.cc:14787 #, fuzzy, gcc-internal-format #| msgid "`%s' initialized and declared `extern'" msgid "%qs initialized and declared %" msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'" ! #: cp/decl.cc:14792 #, fuzzy, gcc-internal-format #| msgid "`%s' has both `extern' and initializer" msgid "%qs has both % and initializer" msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi" ! #: cp/decl.cc:14989 #, fuzzy, gcc-internal-format #| msgid "default argument `%E' uses local variable `%D'" msgid "default argument %qE uses %qD" msgstr "standardparameter '%E' bruger lokal variabel '%D'" ! #: cp/decl.cc:14992 #, fuzzy, gcc-internal-format #| msgid "default argument `%E' uses local variable `%D'" msgid "default argument %qE uses local variable %qD" msgstr "standardparameter '%E' bruger lokal variabel '%D'" ! #: cp/decl.cc:15119 #, fuzzy, gcc-internal-format #| msgid "invalid use of `virtual' in template declaration of `%#D'" msgid "invalid use of cv-qualified type %qT in parameter declaration" msgstr "ugyldig brug af 'virtual' i skabelonserklæring af '%#D'" ! #: cp/decl.cc:15123 #, fuzzy, gcc-internal-format #| msgid "invalid use of template-name '%E' in a declarator" msgid "invalid use of type % in parameter declaration" msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring" ! #: cp/decl.cc:15152 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "%-qualified parameter is deprecated" msgstr "ugyldig parametertype '%T'" ! #: cp/decl.cc:15160 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' invalidly declared method type" msgid "parameter %qD invalidly declared method type" msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype" ! #: cp/decl.cc:15185 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "parameter %qD includes pointer to array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/decl.cc:15187 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "parameter %qD includes reference to array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/decl.cc:15446 #, fuzzy, gcc-internal-format #| msgid "invalid constructor; you probably meant `%T (const %T&)'" msgid "invalid constructor; you probably meant %<%T (const %T&)%>" msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'" ! #: cp/decl.cc:15525 #, fuzzy, gcc-internal-format #| msgid "`%D' was not declared in this scope" msgid "%qD may not be declared within a namespace" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/decl.cc:15532 #, fuzzy, gcc-internal-format msgid "%qD may not be declared as static" msgstr "'%#D' kan ikke erklæres" ! #: cp/decl.cc:15560 #, fuzzy, gcc-internal-format #| msgid "`%D' must be a nonstatic member function" msgid "%qD must be a non-static member function" msgstr "'%D' skal være en ikke-statisk medlemsfunktion" ! #: cp/decl.cc:15568 #, fuzzy, gcc-internal-format #| msgid "`%D' must be a nonstatic member function" msgid "%qD must be a member function" msgstr "'%D' skal være en ikke-statisk medlemsfunktion" ! #: cp/decl.cc:15576 #, fuzzy, gcc-internal-format #| msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11" msgid "%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>" msgstr "ikkestatisk datamedlemsstartværdier er kun tilgængelige med -std=c++11 eller -std=gnu++11" ! #: cp/decl.cc:15586 #, fuzzy, gcc-internal-format #| msgid "`%D' must be either a non-static member function or a non-member function" msgid "%qD must be either a non-static member function or a non-member function" msgstr "'%D' skal enten være en ikke-statisk medlemsfunktion eller ikke en medlemsfunktion" ! #: cp/decl.cc:15596 #, fuzzy, gcc-internal-format #| msgid "`%D' must have an argument of class or enumerated type" msgid "%qD must have an argument of class or enumerated type" msgstr "'%D' skal have en parameter af en klasse- eller enum-type" #. 13.4.0.3 ! #: cp/decl.cc:15627 #, fuzzy, gcc-internal-format #| msgid "ISO C++ prohibits overloading operator ?:" msgid "ISO C++ prohibits overloading %" msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:" ! #: cp/decl.cc:15637 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either one or two arguments" msgid "%qD must not have variable number of arguments" msgstr "'%D' skal tage mod én eller to parametre" ! #: cp/decl.cc:15663 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either zero or one argument" msgid "%qD must have either zero or one argument" msgstr "'%D' skal tage mod nul eller én parameter" ! #: cp/decl.cc:15664 #, fuzzy, gcc-internal-format #| msgid "`%D' must take either one or two arguments" msgid "%qD must have either one or two arguments" msgstr "'%D' skal tage mod én eller to parametre" ! #: cp/decl.cc:15676 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' must take `int' as its argument" msgid "postfix %qD must have % as its argument" msgstr "postfiks '%D' skal tage mod 'int' som parameter" ! #: cp/decl.cc:15677 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' must take `int' as its second argument" msgid "postfix %qD must have % as its second argument" msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter" ! #: cp/decl.cc:15688 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly two arguments" msgid "%qD must have no arguments" msgstr "'%s' skal tage mod to parametre" ! #: cp/decl.cc:15689 cp/decl.cc:15699 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly one argument" msgid "%qD must have exactly one argument" msgstr "'%s' skal tage mod én parameter" ! #: cp/decl.cc:15700 #, fuzzy, gcc-internal-format #| msgid "`%D' must take exactly two arguments" msgid "%qD must have exactly two arguments" msgstr "'%s' skal tage mod to parametre" ! #: cp/decl.cc:15715 #, fuzzy, gcc-internal-format #| msgid "`%D' cannot have default arguments" msgid "%qD cannot have default arguments" msgstr "'%D' kan ikke have standardparametre" ! #: cp/decl.cc:15739 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to % will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15746 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a reference to the same type will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15748 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to the same type will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15757 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a reference to a base class %qT will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15759 #, fuzzy, gcc-internal-format #| msgid "conversion to %s%s will never use a type conversion operator" msgid "converting %qT to a base class %qT will never use a type conversion operator" msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator" ! #: cp/decl.cc:15775 #, fuzzy, gcc-internal-format #| msgid "user-defined `%D' always evaluates both arguments" msgid "user-defined %qD always evaluates both arguments" msgstr "brugerdefineret '%D' evaluerer altid begge parametre" ! #: cp/decl.cc:15794 #, fuzzy, gcc-internal-format #| msgid "prefix `%D' should return `%T'" msgid "prefix %qD should return %qT" msgstr "præfiks '%D' skal returnere '%T'" ! #: cp/decl.cc:15801 #, fuzzy, gcc-internal-format #| msgid "postfix `%D' should return `%T'" msgid "postfix %qD should return %qT" msgstr "postfiks '%D' skal returnere '%T'" ! #: cp/decl.cc:15813 #, fuzzy, gcc-internal-format #| msgid "`%D' should return by value" msgid "%qD should return by value" msgstr "'%D' skal returnere pr. værdi (ikke reference)" ! #: cp/decl.cc:15868 #, fuzzy, gcc-internal-format #| msgid "using template type parameter `%T' after `%s'" msgid "using template type parameter %qT after %qs" msgstr "bruger skabelonstypeparameter '%D' efter '%s'" ! #: cp/decl.cc:15891 #, fuzzy, gcc-internal-format #| msgid "ambiguous template specialization `%D' for `%+D'" msgid "using alias template specialization %qT after %qs" msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'" ! #: cp/decl.cc:15894 #, fuzzy, gcc-internal-format #| msgid "using typedef-name `%D' after `%s'" msgid "using typedef-name %qD after %qs" msgstr "bruger typedef-navn '%D' efter '%s'" ! #: cp/decl.cc:15896 #, fuzzy, gcc-internal-format msgid "%qD has a previous declaration here" msgstr "tidligere erklæring som '%#D'" ! #: cp/decl.cc:15904 #, fuzzy, gcc-internal-format msgid "%qT referred to as %qs" msgstr "'%#D' omerklæret som %C" ! #: cp/decl.cc:15905 cp/decl.cc:15912 #, fuzzy, gcc-internal-format msgid "%qT has a previous declaration here" msgstr "dette er en tidligere erklæring" ! #: cp/decl.cc:15911 #, fuzzy, gcc-internal-format msgid "%qT referred to as enum" msgstr "'%#D' omerklæret som %C" *************** msgstr "'%#D' omerklæret som %C" *** 60267,60387 **** #. void f(class C); // No template header here #. #. then the required template argument is missing. ! #: cp/decl.cc:15917 #, fuzzy, gcc-internal-format msgid "template argument required for %<%s %T%>" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/decl.cc:15960 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ! #: cp/parser.cc:7054 cp/parser.cc:31408 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "brug af '%D' er tvetydigt" ! #: cp/decl.cc:15969 #, fuzzy, gcc-internal-format msgid "class template %qD redeclared as non-template" msgstr "ikke-skabelon benyttet som skabelon" ! #: cp/decl.cc:15991 cp/name-lookup.cc:5409 #, gcc-internal-format msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.cc:16019 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ! #: cp/pt.cc:9836 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qT is not a template" msgstr "'%T' er ikke en skabelon" ! #: cp/decl.cc:16024 #, gcc-internal-format msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.cc:16129 #, fuzzy, gcc-internal-format #| msgid "use of enum `%#D' without previous declaration" msgid "use of enum %q#D without previous declaration" msgstr "brug af enum '%#D' uden tidligere erklæring" ! #: cp/decl.cc:16155 #, fuzzy, gcc-internal-format #| msgid "friend declaration `%#D' declares a non-template function" msgid "redeclaration of %qT as a non-template" msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion" ! #: cp/decl.cc:16166 cp/semantics.cc:3548 #, fuzzy, gcc-internal-format #| msgid "cannot declare `%D' to be a bit-field type" msgid "cannot declare %qD in a different module" msgstr "kan ikke erklære '%D' til at være en bitfeltstype" ! #: cp/decl.cc:16282 #, fuzzy, gcc-internal-format #| msgid "derived union `%T' invalid" msgid "derived union %qT invalid" msgstr "nedarvet union '%T' ugyldig" ! #: cp/decl.cc:16289 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in the class %T" msgid "%qT defined with multiple direct bases" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl.cc:16300 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct or virtual base of `%T'" msgid "%qT defined with direct virtual base" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/decl.cc:16325 #, fuzzy, gcc-internal-format #| msgid "base type `%T' fails to be a struct or class type" msgid "base type %qT fails to be a struct or class type" msgstr "stamklassetype '%T' er hverken en struct- eller class-type" ! #: cp/decl.cc:16355 #, fuzzy, gcc-internal-format #| msgid "recursive type `%T' undefined" msgid "recursive type %qT undefined" msgstr "rekursiv type '%T' ikke defineret" ! #: cp/decl.cc:16357 #, fuzzy, gcc-internal-format #| msgid "duplicate base type `%T' invalid" msgid "duplicate base type %qT invalid" msgstr "stamklassetype '%T' optræder mere end én gang" ! #: cp/decl.cc:16502 #, gcc-internal-format msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16505 cp/decl.cc:16513 cp/decl.cc:16523 cp/decl.cc:17122 #: cp/parser.cc:21163 #, fuzzy, gcc-internal-format msgid "previous definition here" msgstr "tidligere definition her" ! #: cp/decl.cc:16510 #, gcc-internal-format msgid "underlying type mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16520 #, gcc-internal-format msgid "different underlying type in enum %q#T" msgstr "" ! #: cp/decl.cc:16531 #, fuzzy, gcc-internal-format #| msgid "specialization of %qD in different namespace" msgid "cannot define %qD in different module" msgstr "specialisering af %qD i andet navnerum" ! #: cp/decl.cc:16606 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "underlying type %qT of %qT must be an integral type" --- 60296,60416 ---- #. void f(class C); // No template header here #. #. then the required template argument is missing. ! #: cp/decl.cc:15926 #, fuzzy, gcc-internal-format msgid "template argument required for %<%s %T%>" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/decl.cc:15969 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851 ! #: cp/parser.cc:7054 cp/parser.cc:31407 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "brug af '%D' er tvetydigt" ! #: cp/decl.cc:15978 #, fuzzy, gcc-internal-format msgid "class template %qD redeclared as non-template" msgstr "ikke-skabelon benyttet som skabelon" ! #: cp/decl.cc:16000 cp/name-lookup.cc:5409 #, gcc-internal-format msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.cc:16028 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759 ! #: cp/pt.cc:9838 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "%qT is not a template" msgstr "'%T' er ikke en skabelon" ! #: cp/decl.cc:16033 #, gcc-internal-format msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.cc:16138 #, fuzzy, gcc-internal-format #| msgid "use of enum `%#D' without previous declaration" msgid "use of enum %q#D without previous declaration" msgstr "brug af enum '%#D' uden tidligere erklæring" ! #: cp/decl.cc:16164 #, fuzzy, gcc-internal-format #| msgid "friend declaration `%#D' declares a non-template function" msgid "redeclaration of %qT as a non-template" msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion" ! #: cp/decl.cc:16175 cp/semantics.cc:3548 #, fuzzy, gcc-internal-format #| msgid "cannot declare `%D' to be a bit-field type" msgid "cannot declare %qD in a different module" msgstr "kan ikke erklære '%D' til at være en bitfeltstype" ! #: cp/decl.cc:16291 #, fuzzy, gcc-internal-format #| msgid "derived union `%T' invalid" msgid "derived union %qT invalid" msgstr "nedarvet union '%T' ugyldig" ! #: cp/decl.cc:16298 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in the class %T" msgid "%qT defined with multiple direct bases" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl.cc:16309 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct or virtual base of `%T'" msgid "%qT defined with direct virtual base" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/decl.cc:16334 #, fuzzy, gcc-internal-format #| msgid "base type `%T' fails to be a struct or class type" msgid "base type %qT fails to be a struct or class type" msgstr "stamklassetype '%T' er hverken en struct- eller class-type" ! #: cp/decl.cc:16364 #, fuzzy, gcc-internal-format #| msgid "recursive type `%T' undefined" msgid "recursive type %qT undefined" msgstr "rekursiv type '%T' ikke defineret" ! #: cp/decl.cc:16366 #, fuzzy, gcc-internal-format #| msgid "duplicate base type `%T' invalid" msgid "duplicate base type %qT invalid" msgstr "stamklassetype '%T' optræder mere end én gang" ! #: cp/decl.cc:16511 #, gcc-internal-format msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16514 cp/decl.cc:16522 cp/decl.cc:16532 cp/decl.cc:17131 #: cp/parser.cc:21163 #, fuzzy, gcc-internal-format msgid "previous definition here" msgstr "tidligere definition her" ! #: cp/decl.cc:16519 #, gcc-internal-format msgid "underlying type mismatch in enum %q#T" msgstr "" ! #: cp/decl.cc:16529 #, gcc-internal-format msgid "different underlying type in enum %q#T" msgstr "" ! #: cp/decl.cc:16540 #, fuzzy, gcc-internal-format #| msgid "specialization of %qD in different namespace" msgid "cannot define %qD in different module" msgstr "specialisering af %qD i andet navnerum" ! #: cp/decl.cc:16615 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "underlying type %qT of %qT must be an integral type" *************** msgstr "parameter til '%s' skal være en *** 60391,60483 **** #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. ! #: cp/decl.cc:16755 #, gcc-internal-format msgid "no integral type can represent all of the enumerator values for %qT" msgstr "" ! #: cp/decl.cc:16930 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qD must have integral or unscoped enumeration type" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: cp/decl.cc:16940 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qD is not an integer constant" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: cp/decl.cc:16989 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:16990 #, fuzzy, gcc-internal-format #| msgid "ISO C restricts enumerator values to range of `int'" msgid "incremented enumerator value is too large for %" msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" ! #: cp/decl.cc:17001 #, fuzzy, gcc-internal-format #| msgid "overflow in enumeration values at `%D'" msgid "overflow in enumeration values at %qD" msgstr "enum-værdier for store ved '%D'" ! #: cp/decl.cc:17021 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value %qE is outside the range of underlying type %qT" msgstr "tabelindeks er ikke et heltal" ! #: cp/decl.cc:17120 cp/parser.cc:21161 #, gcc-internal-format msgid "multiple definition of %q#T" msgstr "flere definitioner af %q#T" ! #: cp/decl.cc:17194 #, fuzzy, gcc-internal-format #| msgid "return type `%#T' is incomplete" msgid "return type %q#T is incomplete" msgstr "returtype '%#T' er ufuldstændig" ! #: cp/decl.cc:17354 cp/typeck.cc:11114 #, fuzzy, gcc-internal-format #| msgid "`operator=' should return a reference to `*this'" msgid "% should return a reference to %<*this%>" msgstr "'operator=' bør returnere en reference til '*this'" ! #: cp/decl.cc:18167 #, fuzzy, gcc-internal-format #| msgid "no return statement in function returning non-void" msgid "no return statements in function returning %qT" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: cp/decl.cc:18169 cp/typeck.cc:10994 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" ! #: cp/decl.cc:18231 #, fuzzy, gcc-internal-format #| msgid "no return statement in function returning non-void" msgid "no return statement in % function returning non-void" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: cp/decl.cc:18424 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in class `%T'" msgid "%qD is already defined in class %qT" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl.cc:18812 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "using %qs" msgstr "fejl ved lukning af %s: %m" ! #: cp/decl.cc:18824 #, gcc-internal-format msgid "use of %qD before deduction of %" msgstr "" --- 60420,60512 ---- #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. ! #: cp/decl.cc:16764 #, gcc-internal-format msgid "no integral type can represent all of the enumerator values for %qT" msgstr "" ! #: cp/decl.cc:16939 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qD must have integral or unscoped enumeration type" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: cp/decl.cc:16949 #, fuzzy, gcc-internal-format #| msgid "enumerator value for `%s' not integer constant" msgid "enumerator value for %qD is not an integer constant" msgstr "enum-værdien for '%s' er ikke en heltalskonstant" ! #: cp/decl.cc:16998 #, gcc-internal-format msgid "incremented enumerator value is too large for %" msgstr "" ! #: cp/decl.cc:16999 #, fuzzy, gcc-internal-format #| msgid "ISO C restricts enumerator values to range of `int'" msgid "incremented enumerator value is too large for %" msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'" ! #: cp/decl.cc:17010 #, fuzzy, gcc-internal-format #| msgid "overflow in enumeration values at `%D'" msgid "overflow in enumeration values at %qD" msgstr "enum-værdier for store ved '%D'" ! #: cp/decl.cc:17030 #, fuzzy, gcc-internal-format #| msgid "array subscript is not an integer" msgid "enumerator value %qE is outside the range of underlying type %qT" msgstr "tabelindeks er ikke et heltal" ! #: cp/decl.cc:17129 cp/parser.cc:21161 #, gcc-internal-format msgid "multiple definition of %q#T" msgstr "flere definitioner af %q#T" ! #: cp/decl.cc:17203 #, fuzzy, gcc-internal-format #| msgid "return type `%#T' is incomplete" msgid "return type %q#T is incomplete" msgstr "returtype '%#T' er ufuldstændig" ! #: cp/decl.cc:17363 cp/typeck.cc:11114 #, fuzzy, gcc-internal-format #| msgid "`operator=' should return a reference to `*this'" msgid "% should return a reference to %<*this%>" msgstr "'operator=' bør returnere en reference til '*this'" ! #: cp/decl.cc:18176 #, fuzzy, gcc-internal-format #| msgid "no return statement in function returning non-void" msgid "no return statements in function returning %qT" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: cp/decl.cc:18178 cp/typeck.cc:10994 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" ! #: cp/decl.cc:18240 #, fuzzy, gcc-internal-format #| msgid "no return statement in function returning non-void" msgid "no return statement in % function returning non-void" msgstr "ingen return-sætning i en funktion der ikke returnerer void" ! #: cp/decl.cc:18433 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in class `%T'" msgid "%qD is already defined in class %qT" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl.cc:18821 #, fuzzy, gcc-internal-format #| msgid "error closing %s: %m" msgid "using %qs" msgstr "fejl ved lukning af %s: %m" ! #: cp/decl.cc:18833 #, gcc-internal-format msgid "use of %qD before deduction of %" msgstr "" *************** msgstr "for få skabelonsparameterlister *** 60554,60721 **** msgid "destructor %qD declared as member template" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: cp/decl2.cc:872 #, fuzzy, gcc-internal-format #| msgid "global declaration `%#D'" msgid "no declaration matches %q#D" msgstr "global erklæring '%#D'" ! #: cp/decl2.cc:877 #, gcc-internal-format msgid "no conversion operators declared" msgstr "" ! #: cp/decl2.cc:880 #, fuzzy, gcc-internal-format #| msgid "In function %qs" msgid "no functions named %qD" msgstr "I funktionen %qs" ! #: cp/decl2.cc:882 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%#qT defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/decl2.cc:942 #, fuzzy, gcc-internal-format #| msgid "local class `%#T' shall not have static data member `%#D'" msgid "local class %q#T shall not have static data member %q#D" msgstr "lokal klasse '%#T' må ikke have det statiske datamedlem '%#D'" ! #: cp/decl2.cc:951 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids static data member `%D' with same name as enclosing class" msgid "static data member %qD in unnamed class" msgstr "ISO C++ forbyder statisk datamedlem '%D' med samme navn som den omgivende klasse" ! #: cp/decl2.cc:953 #, gcc-internal-format msgid "unnamed class defined here" msgstr "" ! #: cp/decl2.cc:1034 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "explicit template argument list not allowed" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/decl2.cc:1076 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in `%T'" msgid "%qD is already defined in %qT" msgstr "'%D' er allerede defineret i '%T'" ! #: cp/decl2.cc:1105 cp/decl2.cc:1113 #, fuzzy, gcc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid initializer for member function %qD" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: cp/decl2.cc:1122 #, fuzzy, gcc-internal-format #| msgid "initializer specified for non-member function `%D'" msgid "initializer specified for friend function %qD" msgstr "startværdi angivet for ikke-medlemsfunktion '%D'" ! #: cp/decl2.cc:1125 #, fuzzy, gcc-internal-format #| msgid "initializer specified for non-member function `%D'" msgid "initializer specified for static member function %qD" msgstr "startværdi angivet for ikke-medlemsfunktion '%D'" ! #: cp/decl2.cc:1173 #, fuzzy, gcc-internal-format #| msgid "`asm' specifiers are not permitted on non-static data members" msgid "% specifiers are not permitted on non-static data members" msgstr "'asm'-angivelser er ikke tilladt på ikke-statiske datamedlemmer" ! #: cp/decl2.cc:1230 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "bit-field %qD with non-integral type %qT" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: cp/decl2.cc:1238 #, fuzzy, gcc-internal-format #| msgid "cannot declare `%D' to be a bit-field type" msgid "cannot declare %qD to be a bit-field type" msgstr "kan ikke erklære '%D' til at være en bitfeltstype" ! #: cp/decl2.cc:1249 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qD with function type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: cp/decl2.cc:1255 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qD with % type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: cp/decl2.cc:1262 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in the class %T" msgid "%qD is already defined in the class %qT" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl2.cc:1270 #, fuzzy, gcc-internal-format #| msgid "static member `%D' cannot be a bit-field" msgid "static member %qD cannot be a bit-field" msgstr "statisk medlem '%D' kan ikke være et bitfelt" ! #: cp/decl2.cc:1284 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "width of bit-field %qD has non-integral type %qT" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: cp/decl2.cc:1682 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.cc:1744 cp/name-lookup.cc:8336 #, fuzzy, gcc-internal-format msgid "% not allowed to be specified in this context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/decl2.cc:1813 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "anonym struct er ikke inden i en navngiven type" ! #: cp/decl2.cc:1829 #, fuzzy, gcc-internal-format #| msgid "`%#D' invalid; an anonymous union can only have non-static data members" msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer" ! #: cp/decl2.cc:1836 #, fuzzy, gcc-internal-format #| msgid "private member `%#D' in anonymous union" msgid "private member %q#D in anonymous union" msgstr "privat medlem '%#D' i en anonym union" ! #: cp/decl2.cc:1839 #, fuzzy, gcc-internal-format #| msgid "protected member `%#D' in anonymous union" msgid "protected member %q#D in anonymous union" msgstr "beskyttet medlem '%#D' i en anonym union" ! #: cp/decl2.cc:1904 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "anonyme variabler af sammensatte typer i navnerumsvirkefelt skal erklæres static" ! #: cp/decl2.cc:1913 #, fuzzy, gcc-internal-format msgid "anonymous union with no members" msgstr "anonym sammensat type uden medlemmer" ! #: cp/decl2.cc:1950 #, fuzzy, gcc-internal-format #| msgid "`operator new' must return type `%T'" msgid "% must return type %qT" --- 60583,60750 ---- msgid "destructor %qD declared as member template" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: cp/decl2.cc:877 #, fuzzy, gcc-internal-format #| msgid "global declaration `%#D'" msgid "no declaration matches %q#D" msgstr "global erklæring '%#D'" ! #: cp/decl2.cc:882 #, gcc-internal-format msgid "no conversion operators declared" msgstr "" ! #: cp/decl2.cc:885 #, fuzzy, gcc-internal-format #| msgid "In function %qs" msgid "no functions named %qD" msgstr "I funktionen %qs" ! #: cp/decl2.cc:887 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%#qT defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/decl2.cc:947 #, fuzzy, gcc-internal-format #| msgid "local class `%#T' shall not have static data member `%#D'" msgid "local class %q#T shall not have static data member %q#D" msgstr "lokal klasse '%#T' må ikke have det statiske datamedlem '%#D'" ! #: cp/decl2.cc:956 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids static data member `%D' with same name as enclosing class" msgid "static data member %qD in unnamed class" msgstr "ISO C++ forbyder statisk datamedlem '%D' med samme navn som den omgivende klasse" ! #: cp/decl2.cc:958 #, gcc-internal-format msgid "unnamed class defined here" msgstr "" ! #: cp/decl2.cc:1039 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "explicit template argument list not allowed" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/decl2.cc:1081 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in `%T'" msgid "%qD is already defined in %qT" msgstr "'%D' er allerede defineret i '%T'" ! #: cp/decl2.cc:1110 cp/decl2.cc:1118 #, fuzzy, gcc-internal-format #| msgid "invalid return type for member function `%#D'" msgid "invalid initializer for member function %qD" msgstr "ugyldig returtype for medlemsfunktionen '%#D'" ! #: cp/decl2.cc:1127 #, fuzzy, gcc-internal-format #| msgid "initializer specified for non-member function `%D'" msgid "initializer specified for friend function %qD" msgstr "startværdi angivet for ikke-medlemsfunktion '%D'" ! #: cp/decl2.cc:1130 #, fuzzy, gcc-internal-format #| msgid "initializer specified for non-member function `%D'" msgid "initializer specified for static member function %qD" msgstr "startværdi angivet for ikke-medlemsfunktion '%D'" ! #: cp/decl2.cc:1178 #, fuzzy, gcc-internal-format #| msgid "`asm' specifiers are not permitted on non-static data members" msgid "% specifiers are not permitted on non-static data members" msgstr "'asm'-angivelser er ikke tilladt på ikke-statiske datamedlemmer" ! #: cp/decl2.cc:1235 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "bit-field %qD with non-integral type %qT" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: cp/decl2.cc:1243 #, fuzzy, gcc-internal-format #| msgid "cannot declare `%D' to be a bit-field type" msgid "cannot declare %qD to be a bit-field type" msgstr "kan ikke erklære '%D' til at være en bitfeltstype" ! #: cp/decl2.cc:1254 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qD with function type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: cp/decl2.cc:1260 #, fuzzy, gcc-internal-format #| msgid "cannot declare bit-field `%D' with function type" msgid "cannot declare bit-field %qD with % type" msgstr "kan ikke erklære bitfelt '%D' med funktionstype" ! #: cp/decl2.cc:1267 #, fuzzy, gcc-internal-format #| msgid "`%D' is already defined in the class %T" msgid "%qD is already defined in the class %qT" msgstr "'%D' er allerede defineret i klassen '%T'" ! #: cp/decl2.cc:1275 #, fuzzy, gcc-internal-format #| msgid "static member `%D' cannot be a bit-field" msgid "static member %qD cannot be a bit-field" msgstr "statisk medlem '%D' kan ikke være et bitfelt" ! #: cp/decl2.cc:1289 #, fuzzy, gcc-internal-format #| msgid "bit-field `%#D' with non-integral type" msgid "width of bit-field %qD has non-integral type %qT" msgstr "bitfelt '%#D' med en ikke-heltalstype" ! #: cp/decl2.cc:1687 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.cc:1749 cp/name-lookup.cc:8373 #, fuzzy, gcc-internal-format msgid "% not allowed to be specified in this context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/decl2.cc:1818 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "anonym struct er ikke inden i en navngiven type" ! #: cp/decl2.cc:1834 #, fuzzy, gcc-internal-format #| msgid "`%#D' invalid; an anonymous union can only have non-static data members" msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer" ! #: cp/decl2.cc:1841 #, fuzzy, gcc-internal-format #| msgid "private member `%#D' in anonymous union" msgid "private member %q#D in anonymous union" msgstr "privat medlem '%#D' i en anonym union" ! #: cp/decl2.cc:1844 #, fuzzy, gcc-internal-format #| msgid "protected member `%#D' in anonymous union" msgid "protected member %q#D in anonymous union" msgstr "beskyttet medlem '%#D' i en anonym union" ! #: cp/decl2.cc:1909 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "anonyme variabler af sammensatte typer i navnerumsvirkefelt skal erklæres static" ! #: cp/decl2.cc:1918 #, fuzzy, gcc-internal-format msgid "anonymous union with no members" msgstr "anonym sammensat type uden medlemmer" ! #: cp/decl2.cc:1955 #, fuzzy, gcc-internal-format #| msgid "`operator new' must return type `%T'" msgid "% must return type %qT" *************** msgstr "'operator new' skal returnere ty *** 60725,60824 **** #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.cc:1962 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.cc:1978 #, fuzzy, gcc-internal-format #| msgid "`operator new' takes type `size_t' (`%T') as first parameter" msgid "% takes type % (%qT) as first parameter" msgstr "den første parameter til 'operator new' skal være af typen 'size_t' ('%T')" ! #: cp/decl2.cc:2008 #, fuzzy, gcc-internal-format #| msgid "`operator delete' must return type `%T'" msgid "% must return type %qT" msgstr "'operator delete' skal returnere typen '%T'" ! #: cp/decl2.cc:2023 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "destroying % must be a member function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/decl2.cc:2026 #, fuzzy, gcc-internal-format #| msgid "`operator delete' must return type `%T'" msgid "% cannot be a destroying delete" msgstr "'operator delete' skal returnere typen '%T'" ! #: cp/decl2.cc:2028 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "destroying % must be a usual deallocation function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/decl2.cc:2038 #, fuzzy, gcc-internal-format #| msgid "`operator delete' takes type `%T' as first parameter" msgid "% takes type %qT as first parameter" msgstr "den første parameter til 'operator delete' skal være af typen '%T'" ! #: cp/decl2.cc:3029 #, gcc-internal-format msgid "%qT has a field %q#D whose type has no linkage" msgstr "" ! #: cp/decl2.cc:3033 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3039 #, gcc-internal-format msgid "%qT has a field %q#D whose type has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3043 #, gcc-internal-format msgid "%qT has a field %q#D whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3051 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.cc:3070 #, gcc-internal-format msgid "%qT has a base %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3074 #, gcc-internal-format msgid "%qT has a base %qT which depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3080 #, gcc-internal-format msgid "%qT has a base %qT which has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3084 #, gcc-internal-format msgid "%qT has a base %qT which uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3091 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.cc:4566 #, fuzzy, gcc-internal-format #| msgid "%J'%F' declared `static' but never defined" msgid "%q#D, declared using unnamed type, is used but never defined" --- 60754,60853 ---- #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.cc:1967 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.cc:1983 #, fuzzy, gcc-internal-format #| msgid "`operator new' takes type `size_t' (`%T') as first parameter" msgid "% takes type % (%qT) as first parameter" msgstr "den første parameter til 'operator new' skal være af typen 'size_t' ('%T')" ! #: cp/decl2.cc:2013 #, fuzzy, gcc-internal-format #| msgid "`operator delete' must return type `%T'" msgid "% must return type %qT" msgstr "'operator delete' skal returnere typen '%T'" ! #: cp/decl2.cc:2028 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "destroying % must be a member function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/decl2.cc:2031 #, fuzzy, gcc-internal-format #| msgid "`operator delete' must return type `%T'" msgid "% cannot be a destroying delete" msgstr "'operator delete' skal returnere typen '%T'" ! #: cp/decl2.cc:2033 #, fuzzy, gcc-internal-format #| msgid "destructors must be member functions" msgid "destroying % must be a usual deallocation function" msgstr "destruktionsfunktioner skal være medlemmer" ! #: cp/decl2.cc:2043 #, fuzzy, gcc-internal-format #| msgid "`operator delete' takes type `%T' as first parameter" msgid "% takes type %qT as first parameter" msgstr "den første parameter til 'operator delete' skal være af typen '%T'" ! #: cp/decl2.cc:3034 #, gcc-internal-format msgid "%qT has a field %q#D whose type has no linkage" msgstr "" ! #: cp/decl2.cc:3038 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3044 #, gcc-internal-format msgid "%qT has a field %q#D whose type has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3048 #, gcc-internal-format msgid "%qT has a field %q#D whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3056 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.cc:3075 #, gcc-internal-format msgid "%qT has a base %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3079 #, gcc-internal-format msgid "%qT has a base %qT which depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.cc:3085 #, gcc-internal-format msgid "%qT has a base %qT which has internal linkage" msgstr "" #. In C++98 this can only happen with unnamed namespaces. ! #: cp/decl2.cc:3089 #, gcc-internal-format msgid "%qT has a base %qT which uses the anonymous namespace" msgstr "" ! #: cp/decl2.cc:3096 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.cc:4571 #, fuzzy, gcc-internal-format #| msgid "%J'%F' declared `static' but never defined" msgid "%q#D, declared using unnamed type, is used but never defined" *************** msgstr "%J'%F' erklæret 'static', men a *** 60828,60939 **** #. 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.cc:4575 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4579 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4583 #, fuzzy, gcc-internal-format #| msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage" msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "'%#D' refererer ikke til den ikkemodificerede type, so den bruges ikke til sammenkædning" ! #: cp/decl2.cc:4591 #, fuzzy, gcc-internal-format #| msgid "%J'%F' declared `static' but never defined" msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "%J'%F' erklæret 'static', men aldrig defineret" ! #: cp/decl2.cc:4595 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4598 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4795 #, fuzzy, gcc-internal-format msgid "mangling of %q#D as %qE conflicts with a previous mangle" msgstr "strider mod tidligere erklæring '%#D'" # hænger sammen med næste tekst ! #: cp/decl2.cc:4798 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous mangling %q#D" msgstr "tidligere erklæring '%D'" ! #: cp/decl2.cc:4800 #, gcc-internal-format msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/decl2.cc:4872 cp/decl2.cc:4875 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.cc:5209 #, fuzzy, gcc-internal-format #| msgid "inline function `%D' used but never defined" msgid "inline function %qD used but never defined" msgstr "indbygget funktion '%D' benyttet, men aldrig defineret" ! #: cp/decl2.cc:5436 #, fuzzy, gcc-internal-format #| msgid "default argument missing for parameter %P of `%+#D'" msgid "default argument missing for parameter %P of %q#D" msgstr "standardparameter mangler for parameter %P i '%+#D'" ! #: cp/decl2.cc:5441 #, fuzzy, gcc-internal-format #| msgid "`%D' cannot have default arguments" msgid "...following parameter %P which has a default argument" msgstr "'%D' kan ikke have standardparametre" ! #: cp/decl2.cc:5565 #, fuzzy, gcc-internal-format #| msgid "class %qE is deprecated" msgid "implicitly-declared %qD is deprecated" msgstr "klassen %qE er forældet" ! #: cp/decl2.cc:5569 #, gcc-internal-format msgid "because %qT has user-provided %qD" msgstr "" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.cc:5710 #, fuzzy, gcc-internal-format #| msgid "converting NULL to non-pointer type" msgid "converting lambda that uses %<...%> to function pointer" msgstr "konverterer NULL til en ikke-henvisningstype" ! #: cp/decl2.cc:5713 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "use of deleted function %qD" msgstr "sizeof benyttet på en funktionstype" ! #: cp/decl2.cc:5767 #, fuzzy, gcc-internal-format msgid "use of function %qD with unsatisfied constraints" msgstr "'%#D' omerklæret som en anden form for symbol" ! #: cp/decl2.cc:5797 #, fuzzy, gcc-internal-format #| msgid "use of template qualifier outside template" msgid "use of built-in parameter pack %qD outside of a template" --- 60857,60968 ---- #. 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.cc:4580 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4584 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4588 #, fuzzy, gcc-internal-format #| msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage" msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "'%#D' refererer ikke til den ikkemodificerede type, so den bruges ikke til sammenkædning" ! #: cp/decl2.cc:4596 #, fuzzy, gcc-internal-format #| msgid "%J'%F' declared `static' but never defined" msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "%J'%F' erklæret 'static', men aldrig defineret" ! #: cp/decl2.cc:4600 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.cc:4603 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%#D' with %L linkage" msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "tidligere erklæring af '%#D' med %L-kædning" ! #: cp/decl2.cc:4800 #, fuzzy, gcc-internal-format msgid "mangling of %q#D as %qE conflicts with a previous mangle" msgstr "strider mod tidligere erklæring '%#D'" # hænger sammen med næste tekst ! #: cp/decl2.cc:4803 #, fuzzy, gcc-internal-format #| msgid "previous declaration `%D'" msgid "previous mangling %q#D" msgstr "tidligere erklæring '%D'" ! #: cp/decl2.cc:4805 #, gcc-internal-format msgid "a later %<-fabi-version=%> (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/decl2.cc:4877 cp/decl2.cc:4880 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.cc:5214 #, fuzzy, gcc-internal-format #| msgid "inline function `%D' used but never defined" msgid "inline function %qD used but never defined" msgstr "indbygget funktion '%D' benyttet, men aldrig defineret" ! #: cp/decl2.cc:5441 #, fuzzy, gcc-internal-format #| msgid "default argument missing for parameter %P of `%+#D'" msgid "default argument missing for parameter %P of %q#D" msgstr "standardparameter mangler for parameter %P i '%+#D'" ! #: cp/decl2.cc:5446 #, fuzzy, gcc-internal-format #| msgid "`%D' cannot have default arguments" msgid "...following parameter %P which has a default argument" msgstr "'%D' kan ikke have standardparametre" ! #: cp/decl2.cc:5570 #, fuzzy, gcc-internal-format #| msgid "class %qE is deprecated" msgid "implicitly-declared %qD is deprecated" msgstr "klassen %qE er forældet" ! #: cp/decl2.cc:5574 #, gcc-internal-format msgid "because %qT has user-provided %qD" msgstr "" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.cc:5715 #, fuzzy, gcc-internal-format #| msgid "converting NULL to non-pointer type" msgid "converting lambda that uses %<...%> to function pointer" msgstr "konverterer NULL til en ikke-henvisningstype" ! #: cp/decl2.cc:5718 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "use of deleted function %qD" msgstr "sizeof benyttet på en funktionstype" ! #: cp/decl2.cc:5772 #, fuzzy, gcc-internal-format msgid "use of function %qD with unsatisfied constraints" msgstr "'%#D' omerklæret som en anden form for symbol" ! #: cp/decl2.cc:5802 #, fuzzy, gcc-internal-format #| msgid "use of template qualifier outside template" msgid "use of built-in parameter pack %qD outside of a template" *************** msgstr "'%T' er allerede en ven af '%T'" *** 61231,61685 **** msgid "friend declaration %qD may not have virt-specifiers" msgstr "friend-erklæringen er ikke i klassedefinitionen" ! #: cp/friend.cc:599 #, fuzzy, gcc-internal-format #| msgid "member `%D' declared as friend before type `%T' defined" msgid "member %qD declared as friend before type %qT defined" msgstr "medlemmet '%D' erklæret som friend før typen '%T' er defineret" ! #: cp/friend.cc:647 #, fuzzy, gcc-internal-format #| msgid "friend declaration `%#D' declares a non-template function" msgid "friend declaration %q#D declares a non-template function" msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion" ! #: cp/friend.cc:651 #, fuzzy, gcc-internal-format #| msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning" msgid "(if this is not what you intended, make sure the function template has already been declared and add %<<>%> after the function name here)" msgstr "(hvis dette er hvad du ønsker, så sikr dig at funktionsskabelonen allerede er blevet erklæret og tilføj <> efter funktionsnavnet her) -Wno-non-template-friend deaktiverer denne advarsel" ! #: cp/init.cc:391 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "value-initialization of incomplete type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/init.cc:474 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "cannot value-initialize array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/init.cc:513 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "value-initialization of function type %qT" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/init.cc:519 #, fuzzy, gcc-internal-format #| msgid "default-initialization of `%#D', which has reference type" msgid "value-initialization of reference type %qT" msgstr "standardklargøring af '%#D' som er af en referencetype" ! #: cp/init.cc:586 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "recursive instantiation of default member initializer for %qD" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/init.cc:675 #, gcc-internal-format msgid "default member initializer for %qD required before the end of its enclosing class" msgstr "" ! #: cp/init.cc:745 #, fuzzy, gcc-internal-format #| msgid "initialization of a flexible array member" msgid "initializer for flexible array member %q#D" msgstr "klargøring af fleksibelt tabelmedlem" ! #: cp/init.cc:810 #, gcc-internal-format msgid "initializing %qD from %qE does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:914 cp/init.cc:995 #, fuzzy, gcc-internal-format #| msgid "class `%T' is implicitly friends with itself" msgid "%qD is initialized with itself" msgstr "klassen '%T' er underforstået ven med sig selv" ! #: cp/init.cc:920 #, gcc-internal-format msgid "reference %qD is not yet bound to a value when used here" msgstr "" ! #: cp/init.cc:924 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD is used uninitialized" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/init.cc:972 #, fuzzy, gcc-internal-format #| msgid "`%D' should be initialized in the member initialization list" msgid "%qD should be initialized in the member initialization list" msgstr "'%D' bør blive klargjort i medlemsklargøringslisten" ! #: cp/init.cc:1116 #, fuzzy, gcc-internal-format #| msgid "invalid initializer for virtual method `%D'" msgid "invalid initializer for array member %q#D" msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'" ! #: cp/init.cc:1131 cp/init.cc:1157 cp/init.cc:2752 cp/method.cc:2450 #, fuzzy, gcc-internal-format #| msgid "uninitialized const member `%D'" msgid "uninitialized const member in %q#T" msgstr "konstant medlem '%D' uden startværdi" ! #: cp/init.cc:1133 cp/init.cc:1151 cp/init.cc:1159 cp/init.cc:2737 ! #: cp/init.cc:2765 cp/method.cc:2453 cp/method.cc:2464 #, fuzzy, gcc-internal-format #| msgid "`%D' will be initialized after" msgid "%q#D should be initialized" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1149 cp/init.cc:2724 cp/method.cc:2461 #, fuzzy, gcc-internal-format #| msgid "uninitialized reference member `%D'" msgid "uninitialized reference member in %q#T" msgstr "referencemedlem '%D' uden startværdi" ! #: cp/init.cc:1334 #, fuzzy, gcc-internal-format #| msgid "`%D' will be initialized after" msgid "%qD will be initialized after" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1337 #, fuzzy, gcc-internal-format #| msgid "base `%T' will be initialized after" msgid "base %qT will be initialized after" msgstr "stamklasse '%T' vil blive klargjort efter" ! #: cp/init.cc:1341 #, gcc-internal-format msgid " %q#D" msgstr "" ! #: cp/init.cc:1343 #, fuzzy, gcc-internal-format #| msgid " base `%T'" msgid " base %qT" msgstr " stamklasse '%T'" ! #: cp/init.cc:1345 #, fuzzy, gcc-internal-format msgid " when initialized here" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1362 #, fuzzy, gcc-internal-format #| msgid "multiple initializations given for `%D'" msgid "multiple initializations given for %qD" msgstr "flere startværdier angivet for '%D'" ! #: cp/init.cc:1366 #, fuzzy, gcc-internal-format #| msgid "multiple initializations given for base `%T'" msgid "multiple initializations given for base %qT" msgstr "flere startværdier angivet for stamklassen '%T'" ! #: cp/init.cc:1453 #, fuzzy, gcc-internal-format #| msgid "initializations for multiple members of `%T'" msgid "initializations for multiple members of %qT" msgstr "startværdier for flere medlemmer af '%T'" ! #: cp/init.cc:1562 #, fuzzy, gcc-internal-format #| msgid "base class `%#T' should be explicitly initialized in the copy constructor" msgid "base class %q#T should be explicitly initialized in the copy constructor" msgstr "stamklassen '%#T' bør eksplicit blive klargjort i kopikonstruktionsfunktionen" ! #: cp/init.cc:1798 cp/init.cc:1817 #, fuzzy, gcc-internal-format #| msgid "class `%T' does not have any field named `%D'" msgid "class %qT does not have any field named %qD" msgstr "klassen '%T' har ikke et felt ved navn '%D'" ! #: cp/init.cc:1804 #, fuzzy, gcc-internal-format msgid "%q#D is a static data member; it can only be initialized at its definition" msgstr "feltet '%#D' er statisk; det eneste sted det kan klargøres er ved dets definition" ! #: cp/init.cc:1811 #, fuzzy, gcc-internal-format msgid "%q#D is not a non-static data member of %qT" msgstr "'%#D' er ikke et statisk medlem af '%#T'" ! #: cp/init.cc:1850 #, fuzzy, gcc-internal-format #| msgid "unnamed initializer for `%T', which has no base classes" msgid "unnamed initializer for %qT, which has no base classes" msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser" ! #: cp/init.cc:1858 #, fuzzy, gcc-internal-format #| msgid "unnamed initializer for `%T', which uses multiple inheritance" msgid "unnamed initializer for %qT, which uses multiple inheritance" msgstr "unavngiven klargøring af '%T' som benytter multipel nedarvning" ! #: cp/init.cc:1905 #, fuzzy, gcc-internal-format msgid "%qD is both a direct base and an indirect virtual base" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/init.cc:1913 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct or virtual base of `%T'" msgid "type %qT is not a direct or virtual base of %qT" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/init.cc:1916 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct base of `%T'" msgid "type %qT is not a direct base of %qT" msgstr "typen '%D' er ikke en direkte stamklasse til '%T'" ! #: cp/init.cc:2028 cp/init.cc:4916 cp/typeck2.cc:1357 #, gcc-internal-format msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.cc:2349 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or union type" msgid "%qT is not a class type" msgstr "'%T' er ikke af en klasse- eller union-type" ! #: cp/init.cc:2407 #, fuzzy, gcc-internal-format #| msgid "incomplete type `%T' does not have member `%D'" msgid "incomplete type %qT does not have member %qD" msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'" ! #: cp/init.cc:2421 #, fuzzy, gcc-internal-format #| msgid "invalid pointer to bit-field `%D'" msgid "invalid pointer to bit-field %qD" msgstr "ugyldig henvisning til bitfeltet '%D'" ! #: cp/init.cc:2507 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 #, fuzzy, gcc-internal-format msgid "invalid use of non-static member function %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/init.cc:2514 cp/semantics.cc:2191 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/init.cc:2721 #, gcc-internal-format msgid "uninitialized reference member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2729 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2733 #, fuzzy, gcc-internal-format #| msgid "uninitialized reference member `%D'" msgid "uninitialized reference member in base %q#T of %q#T" msgstr "referencemedlem '%D' uden startværdi" ! #: cp/init.cc:2749 #, gcc-internal-format msgid "uninitialized const member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2757 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2761 #, fuzzy, gcc-internal-format #| msgid "uninitialized const in `new' of `%#T'" msgid "uninitialized const member in base %q#T of %q#T" msgstr "konstant uden startværdi i 'new' af '%#T'" ! #: cp/init.cc:2876 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2879 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2889 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2892 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2901 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2904 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2921 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "at offset %wi from %qD declared here" msgstr " '%#D' erklæret her" ! #: cp/init.cc:2925 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "at offset [%wi, %wi] from %qD declared here" msgstr " '%#D' erklæret her" ! #: cp/init.cc:3123 #, fuzzy, gcc-internal-format #| msgid "integer overflow in expression" msgid "integer overflow in array size" msgstr "heltalsoverløb i udtryk" ! #: cp/init.cc:3133 #, gcc-internal-format msgid "array size in new-expression must be constant" msgstr "" ! #: cp/init.cc:3151 #, fuzzy, gcc-internal-format #| msgid "double quoted strings not allowed in #if expressions" msgid "variably modified type not allowed in new-expression" msgstr "strenge med dobbelte anførselstegn er ikke tilladte i #if-udtryk" ! #: cp/init.cc:3167 #, gcc-internal-format msgid "non-constant array new length must be specified directly, not by %" msgstr "" ! #: cp/init.cc:3169 #, gcc-internal-format msgid "non-constant array new length must be specified without parentheses around the type-id" msgstr "" ! #: cp/init.cc:3179 #, fuzzy, gcc-internal-format #| msgid "invalid type `void' for new" msgid "invalid type % for %" msgstr "ugyldig type 'void' til new" ! #: cp/init.cc:3185 #, gcc-internal-format msgid "% of % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:3227 #, fuzzy, gcc-internal-format #| msgid "uninitialized const in `new' of `%#T'" msgid "uninitialized const in % of %q#T" msgstr "konstant uden startværdi i 'new' af '%#T'" ! #: cp/init.cc:3383 #, fuzzy, gcc-internal-format #| msgid "field '%s' not found in class" msgid "no suitable %qD found in class %qT" msgstr "feltet '%s' blev ikke fundet i klassen" ! #: cp/init.cc:3390 cp/search.cc:1200 #, fuzzy, gcc-internal-format #| msgid "request for member `%D' is ambiguous" msgid "request for member %qD is ambiguous" msgstr "forespørgsel efter medlemmet '%D' er tvetydigt" ! #: cp/init.cc:3471 #, gcc-internal-format msgid "% of type %qT with extended alignment %d" msgstr "" ! #: cp/init.cc:3474 #, fuzzy, gcc-internal-format #| msgid "class `%T' does not have any field named `%D'" msgid "uses %qD, which does not have an alignment parameter" msgstr "klassen '%T' har ikke et felt ved navn '%D'" ! #: cp/init.cc:3477 #, gcc-internal-format msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" msgstr "" ! #: cp/init.cc:3673 #, fuzzy, gcc-internal-format msgid "parenthesized initializer in array new" msgstr "egenskaber i parametertabelerklæring ignoreret" ! #: cp/init.cc:3949 #, gcc-internal-format msgid "size in array new must have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/init.cc:3978 #, gcc-internal-format msgid "new cannot be applied to a reference type" msgstr "new kan ikke bruges på en referencetype" ! #: cp/init.cc:3987 #, gcc-internal-format msgid "new cannot be applied to a function type" msgstr "new kan ikke bruges på en funktionstype" ! #: cp/init.cc:4107 #, gcc-internal-format msgid "possible problem detected in invocation of operator %" msgstr "" ! #: cp/init.cc:4111 #, gcc-internal-format msgid "neither the destructor nor the class-specific operator % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:4820 #, gcc-internal-format msgid "initializer ends prematurely" msgstr "startværdien slutter for tidligt" ! #: cp/init.cc:5116 #, gcc-internal-format msgid "unknown array size in delete" msgstr "ukendt tabelstørrelse i delete" ! #: cp/init.cc:5150 #, gcc-internal-format msgid "possible problem detected in invocation of %" msgstr "" ! #: cp/init.cc:5155 #, gcc-internal-format msgid "neither the destructor nor the class-specific % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:5170 #, gcc-internal-format msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior" msgstr "" ! #: cp/init.cc:5175 #, gcc-internal-format msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" msgstr "" ! #: cp/init.cc:5482 #, gcc-internal-format msgid "type to vector delete is neither pointer or array type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" --- 61260,61714 ---- msgid "friend declaration %qD may not have virt-specifiers" msgstr "friend-erklæringen er ikke i klassedefinitionen" ! #: cp/friend.cc:607 #, fuzzy, gcc-internal-format #| msgid "member `%D' declared as friend before type `%T' defined" msgid "member %qD declared as friend before type %qT defined" msgstr "medlemmet '%D' erklæret som friend før typen '%T' er defineret" ! #: cp/friend.cc:657 #, fuzzy, gcc-internal-format #| msgid "friend declaration `%#D' declares a non-template function" msgid "friend declaration %q#D declares a non-template function" msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion" ! #: cp/friend.cc:661 #, fuzzy, gcc-internal-format #| msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning" msgid "(if this is not what you intended, make sure the function template has already been declared and add %<<>%> after the function name here)" msgstr "(hvis dette er hvad du ønsker, så sikr dig at funktionsskabelonen allerede er blevet erklæret og tilføj <> efter funktionsnavnet her) -Wno-non-template-friend deaktiverer denne advarsel" ! #: cp/init.cc:398 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "value-initialization of incomplete type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/init.cc:481 #, fuzzy, gcc-internal-format #| msgid "parameter `%D' includes %s to array of unknown bound `%T'" msgid "cannot value-initialize array of unknown bound %qT" msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'" ! #: cp/init.cc:520 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "value-initialization of function type %qT" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/init.cc:526 #, fuzzy, gcc-internal-format #| msgid "default-initialization of `%#D', which has reference type" msgid "value-initialization of reference type %qT" msgstr "standardklargøring af '%#D' som er af en referencetype" ! #: cp/init.cc:597 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "recursive instantiation of default member initializer for %qD" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/init.cc:665 #, gcc-internal-format msgid "default member initializer for %qD required before the end of its enclosing class" msgstr "" ! #: cp/init.cc:735 #, fuzzy, gcc-internal-format #| msgid "initialization of a flexible array member" msgid "initializer for flexible array member %q#D" msgstr "klargøring af fleksibelt tabelmedlem" ! #: cp/init.cc:800 #, gcc-internal-format msgid "initializing %qD from %qE does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:904 cp/init.cc:985 #, fuzzy, gcc-internal-format #| msgid "class `%T' is implicitly friends with itself" msgid "%qD is initialized with itself" msgstr "klassen '%T' er underforstået ven med sig selv" ! #: cp/init.cc:910 #, gcc-internal-format msgid "reference %qD is not yet bound to a value when used here" msgstr "" ! #: cp/init.cc:914 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD is used uninitialized" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/init.cc:962 #, fuzzy, gcc-internal-format #| msgid "`%D' should be initialized in the member initialization list" msgid "%qD should be initialized in the member initialization list" msgstr "'%D' bør blive klargjort i medlemsklargøringslisten" ! #: cp/init.cc:1106 #, fuzzy, gcc-internal-format #| msgid "invalid initializer for virtual method `%D'" msgid "invalid initializer for array member %q#D" msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'" ! #: cp/init.cc:1121 cp/init.cc:1147 cp/init.cc:2742 cp/method.cc:2450 #, fuzzy, gcc-internal-format #| msgid "uninitialized const member `%D'" msgid "uninitialized const member in %q#T" msgstr "konstant medlem '%D' uden startværdi" ! #: cp/init.cc:1123 cp/init.cc:1141 cp/init.cc:1149 cp/init.cc:2727 ! #: cp/init.cc:2755 cp/method.cc:2453 cp/method.cc:2464 #, fuzzy, gcc-internal-format #| msgid "`%D' will be initialized after" msgid "%q#D should be initialized" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1139 cp/init.cc:2714 cp/method.cc:2461 #, fuzzy, gcc-internal-format #| msgid "uninitialized reference member `%D'" msgid "uninitialized reference member in %q#T" msgstr "referencemedlem '%D' uden startværdi" ! #: cp/init.cc:1324 #, fuzzy, gcc-internal-format #| msgid "`%D' will be initialized after" msgid "%qD will be initialized after" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1327 #, fuzzy, gcc-internal-format #| msgid "base `%T' will be initialized after" msgid "base %qT will be initialized after" msgstr "stamklasse '%T' vil blive klargjort efter" ! #: cp/init.cc:1331 #, gcc-internal-format msgid " %q#D" msgstr "" ! #: cp/init.cc:1333 #, fuzzy, gcc-internal-format #| msgid " base `%T'" msgid " base %qT" msgstr " stamklasse '%T'" ! #: cp/init.cc:1335 #, fuzzy, gcc-internal-format msgid " when initialized here" msgstr "'%D' vil blive klargjort efter" ! #: cp/init.cc:1352 #, fuzzy, gcc-internal-format #| msgid "multiple initializations given for `%D'" msgid "multiple initializations given for %qD" msgstr "flere startværdier angivet for '%D'" ! #: cp/init.cc:1356 #, fuzzy, gcc-internal-format #| msgid "multiple initializations given for base `%T'" msgid "multiple initializations given for base %qT" msgstr "flere startværdier angivet for stamklassen '%T'" ! #: cp/init.cc:1443 #, fuzzy, gcc-internal-format #| msgid "initializations for multiple members of `%T'" msgid "initializations for multiple members of %qT" msgstr "startværdier for flere medlemmer af '%T'" ! #: cp/init.cc:1552 #, fuzzy, gcc-internal-format #| msgid "base class `%#T' should be explicitly initialized in the copy constructor" msgid "base class %q#T should be explicitly initialized in the copy constructor" msgstr "stamklassen '%#T' bør eksplicit blive klargjort i kopikonstruktionsfunktionen" ! #: cp/init.cc:1788 cp/init.cc:1807 #, fuzzy, gcc-internal-format #| msgid "class `%T' does not have any field named `%D'" msgid "class %qT does not have any field named %qD" msgstr "klassen '%T' har ikke et felt ved navn '%D'" ! #: cp/init.cc:1794 #, fuzzy, gcc-internal-format msgid "%q#D is a static data member; it can only be initialized at its definition" msgstr "feltet '%#D' er statisk; det eneste sted det kan klargøres er ved dets definition" ! #: cp/init.cc:1801 #, fuzzy, gcc-internal-format msgid "%q#D is not a non-static data member of %qT" msgstr "'%#D' er ikke et statisk medlem af '%#T'" ! #: cp/init.cc:1840 #, fuzzy, gcc-internal-format #| msgid "unnamed initializer for `%T', which has no base classes" msgid "unnamed initializer for %qT, which has no base classes" msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser" ! #: cp/init.cc:1848 #, fuzzy, gcc-internal-format #| msgid "unnamed initializer for `%T', which uses multiple inheritance" msgid "unnamed initializer for %qT, which uses multiple inheritance" msgstr "unavngiven klargøring af '%T' som benytter multipel nedarvning" ! #: cp/init.cc:1895 #, fuzzy, gcc-internal-format msgid "%qD is both a direct base and an indirect virtual base" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/init.cc:1903 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct or virtual base of `%T'" msgid "type %qT is not a direct or virtual base of %qT" msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'" ! #: cp/init.cc:1906 #, fuzzy, gcc-internal-format #| msgid "type `%D' is not a direct base of `%T'" msgid "type %qT is not a direct base of %qT" msgstr "typen '%D' er ikke en direkte stamklasse til '%T'" ! #: cp/init.cc:2018 cp/init.cc:4906 cp/typeck2.cc:1375 #, gcc-internal-format msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.cc:2339 cp/semantics.cc:3825 rust/backend/rust-tree.cc:4120 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or union type" msgid "%qT is not a class type" msgstr "'%T' er ikke af en klasse- eller union-type" ! #: cp/init.cc:2397 #, fuzzy, gcc-internal-format #| msgid "incomplete type `%T' does not have member `%D'" msgid "incomplete type %qT does not have member %qD" msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'" ! #: cp/init.cc:2411 #, fuzzy, gcc-internal-format #| msgid "invalid pointer to bit-field `%D'" msgid "invalid pointer to bit-field %qD" msgstr "ugyldig henvisning til bitfeltet '%D'" ! #: cp/init.cc:2497 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3763 #, fuzzy, gcc-internal-format msgid "invalid use of non-static member function %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/init.cc:2504 cp/semantics.cc:2191 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/init.cc:2711 #, gcc-internal-format msgid "uninitialized reference member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2719 #, gcc-internal-format msgid "uninitialized reference member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2723 #, fuzzy, gcc-internal-format #| msgid "uninitialized reference member `%D'" msgid "uninitialized reference member in base %q#T of %q#T" msgstr "referencemedlem '%D' uden startværdi" ! #: cp/init.cc:2739 #, gcc-internal-format msgid "uninitialized const member in %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2747 #, gcc-internal-format msgid "uninitialized const member in base %q#T of %q#T using % without new-initializer" msgstr "" ! #: cp/init.cc:2751 #, fuzzy, gcc-internal-format #| msgid "uninitialized const in `new' of `%#T'" msgid "uninitialized const member in base %q#T of %q#T" msgstr "konstant uden startværdi i 'new' af '%#T'" ! #: cp/init.cc:2866 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2869 #, gcc-internal-format msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2879 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2882 #, gcc-internal-format msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2891 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi" msgstr "" ! #: cp/init.cc:2894 #, gcc-internal-format msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size at most %qwu" msgstr "" ! #: cp/init.cc:2911 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "at offset %wi from %qD declared here" msgstr " '%#D' erklæret her" ! #: cp/init.cc:2915 #, fuzzy, gcc-internal-format #| msgid " `%#D' declared here" msgid "at offset [%wi, %wi] from %qD declared here" msgstr " '%#D' erklæret her" ! #: cp/init.cc:3113 #, fuzzy, gcc-internal-format #| msgid "integer overflow in expression" msgid "integer overflow in array size" msgstr "heltalsoverløb i udtryk" ! #: cp/init.cc:3123 #, gcc-internal-format msgid "array size in new-expression must be constant" msgstr "" ! #: cp/init.cc:3141 #, fuzzy, gcc-internal-format #| msgid "double quoted strings not allowed in #if expressions" msgid "variably modified type not allowed in new-expression" msgstr "strenge med dobbelte anførselstegn er ikke tilladte i #if-udtryk" ! #: cp/init.cc:3157 #, gcc-internal-format msgid "non-constant array new length must be specified directly, not by %" msgstr "" ! #: cp/init.cc:3159 #, gcc-internal-format msgid "non-constant array new length must be specified without parentheses around the type-id" msgstr "" ! #: cp/init.cc:3169 #, fuzzy, gcc-internal-format #| msgid "invalid type `void' for new" msgid "invalid type % for %" msgstr "ugyldig type 'void' til new" ! #: cp/init.cc:3175 #, gcc-internal-format msgid "% of % does not extend the lifetime of the underlying array" msgstr "" ! #: cp/init.cc:3217 #, fuzzy, gcc-internal-format #| msgid "uninitialized const in `new' of `%#T'" msgid "uninitialized const in % of %q#T" msgstr "konstant uden startværdi i 'new' af '%#T'" ! #: cp/init.cc:3373 #, fuzzy, gcc-internal-format #| msgid "field '%s' not found in class" msgid "no suitable %qD found in class %qT" msgstr "feltet '%s' blev ikke fundet i klassen" ! #: cp/init.cc:3380 cp/search.cc:1200 #, fuzzy, gcc-internal-format #| msgid "request for member `%D' is ambiguous" msgid "request for member %qD is ambiguous" msgstr "forespørgsel efter medlemmet '%D' er tvetydigt" ! #: cp/init.cc:3461 #, gcc-internal-format msgid "% of type %qT with extended alignment %d" msgstr "" ! #: cp/init.cc:3464 #, fuzzy, gcc-internal-format #| msgid "class `%T' does not have any field named `%D'" msgid "uses %qD, which does not have an alignment parameter" msgstr "klassen '%T' har ikke et felt ved navn '%D'" ! #: cp/init.cc:3467 #, gcc-internal-format msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" msgstr "" ! #: cp/init.cc:3663 #, fuzzy, gcc-internal-format msgid "parenthesized initializer in array new" msgstr "egenskaber i parametertabelerklæring ignoreret" ! #: cp/init.cc:3939 #, gcc-internal-format msgid "size in array new must have integral type" msgstr "størrelse i tabel-new skal være en heltalstype" ! #: cp/init.cc:3968 #, gcc-internal-format msgid "new cannot be applied to a reference type" msgstr "new kan ikke bruges på en referencetype" ! #: cp/init.cc:3977 #, gcc-internal-format msgid "new cannot be applied to a function type" msgstr "new kan ikke bruges på en funktionstype" ! #: cp/init.cc:4097 #, gcc-internal-format msgid "possible problem detected in invocation of operator %" msgstr "" ! #: cp/init.cc:4101 #, gcc-internal-format msgid "neither the destructor nor the class-specific operator % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:4810 #, gcc-internal-format msgid "initializer ends prematurely" msgstr "startværdien slutter for tidligt" ! #: cp/init.cc:5106 #, gcc-internal-format msgid "unknown array size in delete" msgstr "ukendt tabelstørrelse i delete" ! #: cp/init.cc:5140 #, gcc-internal-format msgid "possible problem detected in invocation of %" msgstr "" ! #: cp/init.cc:5145 #, gcc-internal-format msgid "neither the destructor nor the class-specific % will be called, even if they are declared when the class is defined" msgstr "" ! #: cp/init.cc:5160 #, gcc-internal-format msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior" msgstr "" ! #: cp/init.cc:5165 #, gcc-internal-format msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" msgstr "" ! #: cp/init.cc:5472 #, gcc-internal-format msgid "type to vector delete is neither pointer or array type" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" *************** msgstr "" *** 61802,61852 **** msgid "use of built-in trait %qT in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3560 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3565 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.cc:3641 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.cc:4209 #, 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.cc:4255 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4261 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4533 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4538 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4543 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of the initialization guard variable for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" --- 61831,61881 ---- msgid "use of built-in trait %qT in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3561 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.cc:3566 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.cc:3642 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.cc:4210 #, 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.cc:4256 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4262 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4534 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4539 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC" ! #: cp/mangle.cc:4544 #, fuzzy, gcc-internal-format #| msgid "the mangled name of `%D' will change in a future version of GCC" msgid "the mangled name of the initialization guard variable for %qD changes between %<-fabi-version=%d%> and %<-fabi-version=%d%>" *************** msgstr "using-erklæring for ikke-medlem *** 62578,62584 **** msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/name-lookup.cc:5596 cp/pt.cc:18911 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qT is not a class, namespace, or enumeration" --- 62607,62613 ---- msgid "% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/name-lookup.cc:5596 cp/pt.cc:18928 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qT is not a class, namespace, or enumeration" *************** msgstr "" *** 62673,62679 **** msgid "ignoring %qD attribute on non-inline namespace" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: cp/name-lookup.cc:6065 cp/name-lookup.cc:8341 #, fuzzy, gcc-internal-format msgid "%qD attribute directive ignored" msgstr "egenskabsdirektivet '%s' ignoreret" --- 62702,62708 ---- msgid "ignoring %qD attribute on non-inline namespace" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: cp/name-lookup.cc:6065 cp/name-lookup.cc:8378 #, fuzzy, gcc-internal-format msgid "%qD attribute directive ignored" msgstr "egenskabsdirektivet '%s' ignoreret" *************** msgstr "'%s' tidligere defineret her" *** 62724,62787 **** msgid "declaration of % does not match %<#include %>, isn%'t a template" msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'" ! #: cp/name-lookup.cc:8325 #, fuzzy, gcc-internal-format #| msgid "switch \"%s\" is no longer supported" msgid "% using directive no longer supported" msgstr "tilvalget '%s' understøttes ikke længere" ! #: cp/name-lookup.cc:8328 #, fuzzy, gcc-internal-format msgid "you can use an inline namespace instead" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" #. We only allow depth 255. ! #: cp/name-lookup.cc:8427 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' was not declared in this scope" msgid "cannot nest more than %d namespaces" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/name-lookup.cc:8524 #, fuzzy, gcc-internal-format #| msgid "use of `%D' is ambiguous" msgid "% is ambiguous" msgstr "brug af '%D' er tvetydigt" ! #: cp/name-lookup.cc:8540 #, fuzzy, gcc-internal-format #| msgid "namespace alias `%D' not allowed here, assuming `%D'" msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "navnerumsalias '%D' er ikke tilladt her, antager '%D'" ! #: cp/name-lookup.cc:8627 #, fuzzy, gcc-internal-format msgid "inline namespace must be specified at initial definition" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/name-lookup.cc:8628 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%qD defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/name-lookup.cc:8677 #, fuzzy, gcc-internal-format #| msgid "`%#D' conflicts with previous using declaration `%#D'" msgid "%s namespace %qD conflicts with reachable definition" msgstr "'%#D' strider mod tidligere using-erklæring '%#D'" ! #: cp/name-lookup.cc:8679 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "reachable %s definition here" msgstr "tidligere definition her" ! #: cp/name-lookup.cc:8722 #, gcc-internal-format msgid "XXX entering %" msgstr "" ! #: cp/name-lookup.cc:8731 #, gcc-internal-format msgid "XXX leaving %" msgstr "" --- 62753,62816 ---- msgid "declaration of % does not match %<#include %>, isn%'t a template" msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'" ! #: cp/name-lookup.cc:8362 #, fuzzy, gcc-internal-format #| msgid "switch \"%s\" is no longer supported" msgid "% using directive no longer supported" msgstr "tilvalget '%s' understøttes ikke længere" ! #: cp/name-lookup.cc:8365 #, fuzzy, gcc-internal-format msgid "you can use an inline namespace instead" msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)" #. We only allow depth 255. ! #: cp/name-lookup.cc:8464 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' was not declared in this scope" msgid "cannot nest more than %d namespaces" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/name-lookup.cc:8561 #, fuzzy, gcc-internal-format #| msgid "use of `%D' is ambiguous" msgid "% is ambiguous" msgstr "brug af '%D' er tvetydigt" ! #: cp/name-lookup.cc:8577 #, fuzzy, gcc-internal-format #| msgid "namespace alias `%D' not allowed here, assuming `%D'" msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "navnerumsalias '%D' er ikke tilladt her, antager '%D'" ! #: cp/name-lookup.cc:8664 #, fuzzy, gcc-internal-format msgid "inline namespace must be specified at initial definition" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/name-lookup.cc:8665 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%qD defined here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/name-lookup.cc:8714 #, fuzzy, gcc-internal-format #| msgid "`%#D' conflicts with previous using declaration `%#D'" msgid "%s namespace %qD conflicts with reachable definition" msgstr "'%#D' strider mod tidligere using-erklæring '%#D'" ! #: cp/name-lookup.cc:8716 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "reachable %s definition here" msgstr "tidligere definition her" ! #: cp/name-lookup.cc:8759 #, gcc-internal-format msgid "XXX entering %" msgstr "" ! #: cp/name-lookup.cc:8768 #, gcc-internal-format msgid "XXX leaving %" msgstr "" *************** msgstr "kaldenavnet '%s' er i modstrid m *** 62807,62813 **** msgid "% is not set to true" msgstr "" ! #: cp/parser.cc:1531 cp/parser.cc:46297 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" --- 62836,62842 ---- msgid "% is not set to true" msgstr "" ! #: cp/parser.cc:1531 cp/parser.cc:46296 #, fuzzy, gcc-internal-format msgid "%<#pragma omp declare %s%> not immediately followed by function declaration or definition" msgstr "en global registervariabel følger en funktionsdefinition" *************** msgstr "skabelonsparameter %d er ugyldig *** 63076,63082 **** msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:3628 cp/parser.cc:30651 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" --- 63105,63111 ---- msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:3628 cp/parser.cc:30650 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% only available with %<-std=c++20%> or %<-fconcepts%>" *************** msgstr "new kan ikke bruges på en refer *** 63388,63394 **** msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/parser.cc:7573 cp/pt.cc:21227 #, fuzzy, gcc-internal-format #| msgid "wrong type argument to bit-complement" msgid "wrong number of arguments to %<__builtin_launder%>" --- 63417,63423 ---- msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/parser.cc:7573 cp/pt.cc:21257 #, fuzzy, gcc-internal-format #| msgid "wrong type argument to bit-complement" msgid "wrong number of arguments to %<__builtin_launder%>" *************** msgstr "ISO C++ tillader ikke % expressions" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:9196 cp/parser.cc:33272 #, fuzzy, gcc-internal-format #| msgid "types may not be defined in a new-expression" msgid "types may not be defined in %qs expressions" --- 63472,63478 ---- msgid "types may not be defined in % expressions" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:9196 cp/parser.cc:33271 #, fuzzy, gcc-internal-format #| msgid "types may not be defined in a new-expression" msgid "types may not be defined in %qs expressions" *************** msgstr "" *** 63676,63687 **** msgid "% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47103 #, gcc-internal-format msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement" msgstr "" ! #: cp/parser.cc:11930 cp/parser.cc:47085 #, gcc-internal-format msgid "unknown OpenMP directive name in % attribute argument" msgstr "" --- 63705,63716 ---- msgid "% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:11904 cp/parser.cc:12047 cp/parser.cc:47102 #, gcc-internal-format msgid "mixing OpenMP directives with attribute and pragma syntax on the same statement" msgstr "" ! #: cp/parser.cc:11930 cp/parser.cc:47084 #, gcc-internal-format msgid "unknown OpenMP directive name in % attribute argument" msgstr "" *************** msgstr "ugyldig venstreværdi i asm-sæt *** 63786,63792 **** msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:13369 cp/parser.cc:33781 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" --- 63815,63821 ---- msgid "init-statement in selection statements only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:13369 cp/parser.cc:33780 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" *************** msgstr "udtrykket er af en ufuldstændig *** 63855,63861 **** msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.cc:14247 cp/parser.cc:33784 #, fuzzy, gcc-internal-format msgid "expected iteration-statement" msgstr "uventet operand" --- 63884,63890 ---- msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.cc:14247 cp/parser.cc:33783 #, fuzzy, gcc-internal-format msgid "expected iteration-statement" msgstr "uventet operand" *************** msgstr "skabelonsparameter %d er ugyldig *** 63884,63890 **** msgid "ISO C++ forbids computed gotos" msgstr "ISO C++ forbyder beregnede goto'er" ! #: cp/parser.cc:14463 cp/parser.cc:33787 #, fuzzy, gcc-internal-format msgid "expected jump-statement" msgstr "uventet operand" --- 63913,63919 ---- msgid "ISO C++ forbids computed gotos" msgstr "ISO C++ forbyder beregnede goto'er" ! #: cp/parser.cc:14463 cp/parser.cc:33786 #, fuzzy, gcc-internal-format msgid "expected jump-statement" msgstr "uventet operand" *************** msgstr "kun konstruktionsfunktioner har *** 64166,64177 **** msgid "cannot expand initializer for member %qD" msgstr "manglende startværdi for medlemmet '%D'" ! #: cp/parser.cc:16950 cp/pt.cc:27456 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.cc:16962 cp/pt.cc:27468 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" --- 64195,64206 ---- msgid "cannot expand initializer for member %qD" msgstr "manglende startværdi for medlemmet '%D'" ! #: cp/parser.cc:16950 cp/pt.cc:27470 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.cc:16962 cp/pt.cc:27482 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" *************** msgstr "skabelonsparameter er påkrævet *** 64824,64830 **** msgid "%qT not permitted in template argument" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2472 #: rust/backend/rust-tree.cc:3861 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%T'" --- 64853,64859 ---- msgid "%qT not permitted in template argument" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:24463 cp/typeck2.cc:336 cp/typeck2.cc:383 cp/typeck2.cc:2490 #: rust/backend/rust-tree.cc:3861 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%T'" *************** msgstr "tidligere definition af '%#T'" *** 65003,65009 **** msgid "unexpanded parameter pack in local class in lambda" msgstr "" ! #: cp/parser.cc:27087 cp/parser.cc:33790 #, fuzzy, gcc-internal-format msgid "expected class-key" msgstr "uventet operand" --- 65032,65038 ---- msgid "unexpanded parameter pack in local class in lambda" msgstr "" ! #: cp/parser.cc:27087 cp/parser.cc:33789 #, fuzzy, gcc-internal-format msgid "expected class-key" msgstr "uventet operand" *************** msgstr "bruger 'typename' uden for en sk *** 65107,65271 **** msgid "keyword % not allowed in this context (the base class is implicitly a type)" msgstr "bruger 'typename' uden for en skabelon" ! #: cp/parser.cc:28298 cp/parser.cc:28392 #, fuzzy, gcc-internal-format msgid "types may not be defined in an exception-specification" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:28400 #, fuzzy, gcc-internal-format msgid "ISO C++17 does not allow dynamic exception specifications" msgstr "Generér ikke kode til at kontrollere undtagelsesspecifikationer" ! #: cp/parser.cc:28406 #, gcc-internal-format msgid "dynamic exception specifications are deprecated in C++11" msgstr "" ! #: cp/parser.cc:28450 #, gcc-internal-format msgid "invalid use of % in exception-specification" msgstr "ugyldig brug af % i undtagelsesspecifikation" ! #: cp/parser.cc:28491 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:28603 #, fuzzy, gcc-internal-format msgid "types may not be defined in exception-declarations" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:29161 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected OpenMP directive name" msgstr "forventet funktion" ! #: cp/parser.cc:29170 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "expected attribute argument as balanced token sequence" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: cp/parser.cc:29215 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: cp/parser.cc:29314 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "attribute using prefix used together with scoped attribute token" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: cp/parser.cc:29328 #, gcc-internal-format msgid "expected an identifier for the attribute name" msgstr "" ! #: cp/parser.cc:29383 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "% attribute requires argument" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" #. e.g. [[attr()]]. ! #: cp/parser.cc:29455 #, gcc-internal-format msgid "parentheses must be omitted if %qE attribute argument list is empty" msgstr "" ! #: cp/parser.cc:29490 #, fuzzy, gcc-internal-format msgid "attribute %qs specified multiple times" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/parser.cc:29532 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected attribute before %<...%>" msgstr "uventet operand" ! #: cp/parser.cc:29575 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected contract-role" msgstr "uventet operand" #. We got some other token other than a ':'. ! #: cp/parser.cc:29656 #, fuzzy, gcc-internal-format #| msgid "expected template-id for type" msgid "expected contract semantic or level" msgstr "forventet skabelon-id for typen" ! #: cp/parser.cc:29666 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected contract level: %, %, or %" msgstr "forventede %, %, eller %" ! #: cp/parser.cc:29676 #, fuzzy, gcc-internal-format msgid "invalid use of contract role for explicit semantic" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/parser.cc:29813 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids forward parameter declarations" msgid "contracts are only available with %<-fcontracts%>" msgstr "ISO C forbyder forhåndsparametererklæringer" ! #: cp/parser.cc:29968 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:30313 cp/parser.cc:30322 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "expression must be enclosed in parentheses" msgstr "udsagn skal være et kaldenavn" ! #: cp/parser.cc:30668 #, gcc-internal-format msgid "missing additional % to start a requires-expression" msgstr "" ! #: cp/parser.cc:30911 #, gcc-internal-format msgid "testing if a concept-id is a valid expression; add % to check satisfaction" msgstr "" ! #: cp/parser.cc:31049 #, fuzzy, gcc-internal-format #| msgid "asm template is not a string constant" msgid "result type is not a plain type-constraint" msgstr "asm-sætning er ikke en strengkonstant" ! #: cp/parser.cc:31057 #, fuzzy, gcc-internal-format #| msgid "requested alignment is not a constant" msgid "return-type-requirement is not a type-constraint" msgstr "angivet justering er ikke en konstant" ! #: cp/parser.cc:31569 #, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "" ! #: cp/parser.cc:31574 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "invalid declaration of %<%T::%E%>" msgstr "ugyldig omerklæring af '%D'" ! #: cp/parser.cc:31578 #, fuzzy, gcc-internal-format msgid "too few template-parameter-lists" msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'" --- 65136,65300 ---- msgid "keyword % not allowed in this context (the base class is implicitly a type)" msgstr "bruger 'typename' uden for en skabelon" ! #: cp/parser.cc:28297 cp/parser.cc:28391 #, fuzzy, gcc-internal-format msgid "types may not be defined in an exception-specification" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:28399 #, fuzzy, gcc-internal-format msgid "ISO C++17 does not allow dynamic exception specifications" msgstr "Generér ikke kode til at kontrollere undtagelsesspecifikationer" ! #: cp/parser.cc:28405 #, gcc-internal-format msgid "dynamic exception specifications are deprecated in C++11" msgstr "" ! #: cp/parser.cc:28449 #, gcc-internal-format msgid "invalid use of % in exception-specification" msgstr "ugyldig brug af % i undtagelsesspecifikation" ! #: cp/parser.cc:28490 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:28602 #, fuzzy, gcc-internal-format msgid "types may not be defined in exception-declarations" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:29160 #, fuzzy, gcc-internal-format #| msgid "expected function" msgid "expected OpenMP directive name" msgstr "forventet funktion" ! #: cp/parser.cc:29169 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute argument not a string constant" msgid "expected attribute argument as balanced token sequence" msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant" ! #: cp/parser.cc:29214 #, fuzzy, gcc-internal-format #| msgid "expected %<:%> or %<::%>" msgid "expected % or %" msgstr "forventede %<:%> or %<::%>" ! #: cp/parser.cc:29313 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute only applies to variables" msgid "attribute using prefix used together with scoped attribute token" msgstr "egenskaben '%s' kan kun anvendes på variabler" ! #: cp/parser.cc:29327 #, gcc-internal-format msgid "expected an identifier for the attribute name" msgstr "" ! #: cp/parser.cc:29382 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute requires an integer constant argument" msgid "% attribute requires argument" msgstr "egenskaben '%s' kræver en heltalskonstant som parameter" #. e.g. [[attr()]]. ! #: cp/parser.cc:29454 #, gcc-internal-format msgid "parentheses must be omitted if %qE attribute argument list is empty" msgstr "" ! #: cp/parser.cc:29489 #, fuzzy, gcc-internal-format msgid "attribute %qs specified multiple times" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/parser.cc:29531 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected attribute before %<...%>" msgstr "uventet operand" ! #: cp/parser.cc:29574 #, fuzzy, gcc-internal-format #| msgid "unexpected operand" msgid "expected contract-role" msgstr "uventet operand" #. We got some other token other than a ':'. ! #: cp/parser.cc:29655 #, fuzzy, gcc-internal-format #| msgid "expected template-id for type" msgid "expected contract semantic or level" msgstr "forventet skabelon-id for typen" ! #: cp/parser.cc:29665 #, fuzzy, gcc-internal-format #| msgid "expected %, %, or %" msgid "expected contract level: %, %, or %" msgstr "forventede %, %, eller %" ! #: cp/parser.cc:29675 #, fuzzy, gcc-internal-format msgid "invalid use of contract role for explicit semantic" msgstr "ugyldig brug af ikke-statisk felt '%D'" ! #: cp/parser.cc:29812 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids forward parameter declarations" msgid "contracts are only available with %<-fcontracts%>" msgstr "ISO C forbyder forhåndsparametererklæringer" ! #: cp/parser.cc:29967 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/parser.cc:30312 cp/parser.cc:30321 #, fuzzy, gcc-internal-format #| msgid "predicate must be an identifier" msgid "expression must be enclosed in parentheses" msgstr "udsagn skal være et kaldenavn" ! #: cp/parser.cc:30667 #, gcc-internal-format msgid "missing additional % to start a requires-expression" msgstr "" ! #: cp/parser.cc:30910 #, gcc-internal-format msgid "testing if a concept-id is a valid expression; add % to check satisfaction" msgstr "" ! #: cp/parser.cc:31048 #, fuzzy, gcc-internal-format #| msgid "asm template is not a string constant" msgid "result type is not a plain type-constraint" msgstr "asm-sætning er ikke en strengkonstant" ! #: cp/parser.cc:31056 #, fuzzy, gcc-internal-format #| msgid "requested alignment is not a constant" msgid "return-type-requirement is not a type-constraint" msgstr "angivet justering er ikke en konstant" ! #: cp/parser.cc:31568 #, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "" ! #: cp/parser.cc:31573 #, fuzzy, gcc-internal-format #| msgid "invalid redeclaration of `%D'" msgid "invalid declaration of %<%T::%E%>" msgstr "ugyldig omerklæring af '%D'" ! #: cp/parser.cc:31577 #, fuzzy, gcc-internal-format msgid "too few template-parameter-lists" msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'" *************** msgstr "for få skabelonsparameterlister *** 65274,65901 **** #. something like: #. #. template template void S::f(); ! #: cp/parser.cc:31585 #, fuzzy, gcc-internal-format msgid "too many template-parameter-lists" msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'" ! #: cp/parser.cc:31978 #, fuzzy, gcc-internal-format msgid "named return values are no longer supported" msgstr "--driver understøttes ikke længere" ! #: cp/parser.cc:32151 #, gcc-internal-format msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters" msgstr "" ! #: cp/parser.cc:32160 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%> or single non-type parameter of class type" msgstr "" ! #: cp/parser.cc:32166 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%>" msgstr "" ! #: cp/parser.cc:32273 #, gcc-internal-format msgid "template-introductions are not part of C++20 concepts; use %qs to enable" msgstr "" ! #: cp/parser.cc:32283 #, fuzzy, gcc-internal-format #| msgid "no matching template for `%D' found" msgid "no matching concept for template-introduction" msgstr "ingen passende skabelon for '%D' fundet" ! #: cp/parser.cc:32306 #, fuzzy, gcc-internal-format #| msgid "invalid declaration of member template `%#D' in local class" msgid "invalid declaration of member template in local class" msgstr "ugyldig erklæring af medlemsskabelon '%#D' i lokal klasse" ! #: cp/parser.cc:32315 #, gcc-internal-format msgid "template with C linkage" msgstr "skabelon med C-kædning" ! #: cp/parser.cc:32335 #, fuzzy, gcc-internal-format #| msgid "explicit specialization here" msgid "invalid explicit specialization" msgstr "eksplicit specialisering her" ! #: cp/parser.cc:32447 #, fuzzy, gcc-internal-format #| msgid "template declaration of `%#D'" msgid "template declaration of %" msgstr "skabelonserklæring af '%#D'" ! #: cp/parser.cc:32498 #, fuzzy, gcc-internal-format #| msgid "declaration does not declare anything" msgid "a class template declaration must not declare anything else" msgstr "erklæring erklærer ikke noget" ! #: cp/parser.cc:32550 #, fuzzy, gcc-internal-format #| msgid "explicit specialization here" msgid "explicit template specialization cannot have a storage class" msgstr "eksplicit specialisering her" ! #: cp/parser.cc:32857 #, fuzzy, gcc-internal-format msgid "%<>>%> should be %<> >%> within a nested template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:32870 #, fuzzy, gcc-internal-format msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:32901 #, fuzzy, gcc-internal-format msgid "%qs should be %qs to terminate a template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:33219 #, gcc-internal-format msgid "% argument must be surrounded by parentheses" msgstr "" ! #: cp/parser.cc:33396 #, fuzzy, gcc-internal-format #| msgid "invalid base-class specification" msgid "invalid use of %qD in linkage specification" msgstr "ugyldig stamklasseangivelse" ! #: cp/parser.cc:33407 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "duplicate %qD specifier" msgstr "mere end én 'virtual'-angivelse" ! #: cp/parser.cc:33410 #, fuzzy, gcc-internal-format #| msgid "section type conflict with %qD" msgid "%qD specifier conflicts with %qs" msgstr "afsnitstypekonflikt med %qD" ! #: cp/parser.cc:33422 #, gcc-internal-format msgid "%<__thread%> before %qD" msgstr "%<__thread%> før %qD" ! #: cp/parser.cc:33438 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qD specifier conflicts with %" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/parser.cc:33547 #, gcc-internal-format msgid "ISO C++ 1998 does not support %" msgstr "ISO C++ 1998 understøtter ikke %" ! #: cp/parser.cc:33558 #, gcc-internal-format msgid "both %<__thread%> and % specified" msgstr "" ! #: cp/parser.cc:33563 #, gcc-internal-format msgid "duplicate %qD" msgstr "duplikere %qD" ! #: cp/parser.cc:33589 #, gcc-internal-format msgid "duplicate %qs" msgstr "duplikere %qs" ! #: cp/parser.cc:33641 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33644 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33647 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33653 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33656 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33659 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33662 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33665 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33668 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33671 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33674 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33677 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33680 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33683 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33686 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33689 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33692 #, gcc-internal-format msgid "expected %<__label__%>" msgstr "forventede %<__label__%>" ! #: cp/parser.cc:33695 #, gcc-internal-format msgid "expected %<@try%>" msgstr "forventede %<@try%>" ! #: cp/parser.cc:33698 #, gcc-internal-format msgid "expected %<@synchronized%>" msgstr "forventede %<@synchronized%>" ! #: cp/parser.cc:33701 #, gcc-internal-format msgid "expected %<@throw%>" msgstr "forventede %<@throw%>" ! #: cp/parser.cc:33704 #, gcc-internal-format msgid "expected %<__transaction_atomic%>" msgstr "forventede %<__transaction_atomic%>" ! #: cp/parser.cc:33707 #, gcc-internal-format msgid "expected %<__transaction_relaxed%>" msgstr "forventede %<__transaction_relaxed%>" ! #: cp/parser.cc:33710 #, fuzzy, gcc-internal-format #| msgid "expected %<@end%>" msgid "expected %" msgstr "%<@end%> forventet" ! #: cp/parser.cc:33742 #, gcc-internal-format msgid "expected %<::%>" msgstr "forventede %<::%>" ! #: cp/parser.cc:33754 #, gcc-internal-format msgid "expected %<...%>" msgstr "forventede %<...%>" ! #: cp/parser.cc:33757 #, gcc-internal-format msgid "expected %<*%>" msgstr "forventede %<*%>" ! #: cp/parser.cc:33760 #, gcc-internal-format msgid "expected %<~%>" msgstr "forventede %<~%>" ! #: cp/parser.cc:33766 #, gcc-internal-format msgid "expected %<:%> or %<::%>" msgstr "forventede %<:%> or %<::%>" ! #: cp/parser.cc:33793 #, gcc-internal-format msgid "expected %, %, or %" msgstr "forventede %, %, eller %" ! #: cp/parser.cc:34128 #, gcc-internal-format msgid "redundant enum-key % in reference to %q#T" msgstr "" ! #: cp/parser.cc:34279 #, fuzzy, gcc-internal-format #| msgid "`%s' tag used in naming `%#T'" msgid "%qs tag used in naming %q#T" msgstr "'%s'-mærke benyttet i navngivning af '%#T'" ! #: cp/parser.cc:34284 #, gcc-internal-format msgid "%q#T was previously declared here" msgstr "%q#T var tidligere erklæret her" ! #: cp/parser.cc:34405 #, fuzzy, gcc-internal-format #| msgid "cannot declare reference to `%#T'" msgid "redundant class-key %qs in reference to %q#T" msgstr "kan ikke erklære reference til '%#T'" ! #: cp/parser.cc:34563 cp/parser.cc:34597 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qT declared with a mismatched class-key %qs" msgstr "'%D' ikke erklæret" ! #: cp/parser.cc:34570 cp/parser.cc:34603 #, gcc-internal-format msgid "remove the class-key or replace it with %qs" msgstr "" ! #: cp/parser.cc:34571 cp/parser.cc:34604 #, fuzzy, gcc-internal-format msgid "replace the class-key with %qs" msgstr "uventet operand" ! #: cp/parser.cc:34578 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%qT defined as %qs here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/parser.cc:34579 #, fuzzy, gcc-internal-format #| msgid " first declared as `%#D' here" msgid "%qT first declared as %qs here" msgstr " først erklæret som '%#D' her" ! #: cp/parser.cc:34661 #, gcc-internal-format msgid "%qD redeclared with different access" msgstr "%qD omerklæret med anden adgang" ! #: cp/parser.cc:34682 #, gcc-internal-format msgid "in C++98 % (as a disambiguator) is only allowed within templates" msgstr "" ! #: cp/parser.cc:34932 #, fuzzy, gcc-internal-format msgid "file ends in default argument" msgstr "%Hslutningen af filen læst inden i standardparameter" ! #: cp/parser.cc:35173 cp/parser.cc:36481 cp/parser.cc:36670 #, gcc-internal-format msgid "misplaced %<@%D%> Objective-C++ construct" msgstr "" ! #: cp/parser.cc:35244 #, gcc-internal-format msgid "objective-c++ message receiver expected" msgstr "" ! #: cp/parser.cc:35314 #, gcc-internal-format msgid "objective-c++ message argument(s) are expected" msgstr "" ! #: cp/parser.cc:35345 #, gcc-internal-format msgid "%<@encode%> must specify a type as an argument" msgstr "" ! #: cp/parser.cc:35749 #, gcc-internal-format msgid "invalid Objective-C++ selector name" msgstr "" ! #: cp/parser.cc:35824 cp/parser.cc:35842 #, fuzzy, gcc-internal-format #| msgid "Class or interface declaration expected" msgid "objective-c++ method declaration is expected" msgstr "Klasse- eller grænsefladeerklæring forventet" ! #: cp/parser.cc:35836 cp/parser.cc:35902 #, fuzzy, gcc-internal-format msgid "method attributes must be specified at the end" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/parser.cc:35945 #, gcc-internal-format msgid "stray %qs between Objective-C++ methods" msgstr "" ! #: cp/parser.cc:36142 cp/parser.cc:36149 cp/parser.cc:36156 #, fuzzy, gcc-internal-format #| msgid "invalid register name `%s' for register variable" msgid "invalid type for instance variable" msgstr "ugyldigt registernavn '%s' for registervariabel" ! #: cp/parser.cc:36273 #, fuzzy, gcc-internal-format #| msgid "Identifier expected" msgid "identifier expected after %<@protocol%>" msgstr "Kaldenavn forventet" ! #: cp/parser.cc:36446 #, gcc-internal-format msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" msgstr "" ! #: cp/parser.cc:36453 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored for `%s'" msgid "prefix attributes are ignored before %<@%D%>" msgstr "'%s'-egenskaben ignoreret for '%s'" ! #: cp/parser.cc:36733 cp/parser.cc:36740 cp/parser.cc:36747 #, fuzzy, gcc-internal-format #| msgid "invalid type argument" msgid "invalid type for property" msgstr "ugyldig typeparameter" ! #: cp/parser.cc:36909 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown property attribute %qE" msgstr "ukendt registernavn: %s" ! #: cp/parser.cc:38038 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected integer expression list" msgstr "uventet adresseudtryk" ! #: cp/parser.cc:38055 #, gcc-internal-format msgid "% expression must be integral" msgstr "" ! #: cp/parser.cc:39144 #, fuzzy, gcc-internal-format #| msgid "invalid identifier `%s'" msgid "invalid reduction-identifier" msgstr "ugyldigt kaldenavn '%s'" ! #: cp/parser.cc:40113 #, fuzzy, gcc-internal-format msgid "types may not be defined in iterator type" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:43019 #, gcc-internal-format msgid "parenthesized initialization is not allowed in OpenMP % loop" msgstr "" ! #: cp/parser.cc:43467 #, gcc-internal-format msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement" msgstr "" ! #: cp/parser.cc:43712 #, fuzzy, gcc-internal-format msgid "% clause with parameter on range-based % loop" msgstr "typedef-navn kan ikke klassemodificeres" ! #: cp/parser.cc:43799 cp/pt.cc:18559 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "iteration variable %qD should not be reduction" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: cp/parser.cc:43892 #, fuzzy, gcc-internal-format #| msgid "not enough type information" msgid "not enough for loops to collapse" msgstr "ikke tilstrækkelig information om typen" ! #: cp/parser.cc:46259 #, gcc-internal-format msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" msgstr "" ! #: cp/parser.cc:47094 #, gcc-internal-format msgid "OpenMP directive other than % or % appertains to a declaration" msgstr "" ! #: cp/parser.cc:47440 cp/parser.cc:47471 #, gcc-internal-format msgid "%qs in attribute syntax terminated with %qs in pragma syntax" msgstr "" ! #: cp/parser.cc:47447 cp/parser.cc:47476 #, fuzzy, gcc-internal-format #| msgid "argument to `%s' attribute larger than %d" msgid "%qs in pragma syntax terminated with %qs in attribute syntax" msgstr "parameter til egenskaben '%s' er større end %d" ! #: cp/parser.cc:47588 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid initializer clause" msgstr "ugyldig startværdi" ! #: cp/parser.cc:47618 #, fuzzy, gcc-internal-format #| msgid "unexpected side-effects in address" msgid "expected id-expression (arguments)" msgstr "uventede bivirkninger i adresse" ! #: cp/parser.cc:47630 #, gcc-internal-format msgid "one of the initializer call arguments should be % or %<&omp_priv%>" msgstr "" ! #: cp/parser.cc:47733 #, fuzzy, gcc-internal-format msgid "types may not be defined in declare reduction type list" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:47753 cp/semantics.cc:6128 #, gcc-internal-format msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47757 cp/semantics.cc:6136 #, gcc-internal-format msgid "function or array type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47760 cp/pt.cc:14473 cp/semantics.cc:6142 #, gcc-internal-format msgid "reference type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47763 cp/semantics.cc:6148 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: cp/parser.cc:48477 #, gcc-internal-format msgid "%<#pragma acc routine%> names a set of overloads" msgstr "" ! #: cp/parser.cc:48487 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qD does not refer to a namespace scope function" msgstr "'%D' er ikke en medlemsskabelonfunktion" #. cancel-and-throw is unimplemented. ! #: cp/parser.cc:48848 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/parser.cc:48895 cp/semantics.cc:11155 #, gcc-internal-format msgid "%<__transaction_relaxed%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:48897 cp/semantics.cc:11157 #, gcc-internal-format msgid "%<__transaction_atomic%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:49043 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:49046 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: cp/parser.cc:49093 #, fuzzy, gcc-internal-format #| msgid "malformed #pragma map, ignored" msgid "malformed %<#pragma GCC pch_preprocess%>" msgstr "forkert udformet '#pragma map' - ignoreret" ! #: cp/parser.cc:49391 #, fuzzy, gcc-internal-format msgid "%<#pragma omp requires%> may only be used at file or namespace scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49402 #, fuzzy, gcc-internal-format msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49457 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma GCC ivdep%> must be inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: cp/parser.cc:49489 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma GCC unroll%> must be inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: cp/parser.cc:49570 #, fuzzy, gcc-internal-format msgid "multi-source compilation not implemented for C++" msgstr "profilering understøttes ikke endnu" ! #: cp/parser.cc:49607 #, fuzzy, gcc-internal-format msgid "placeholder type not allowed in this context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49816 #, gcc-internal-format msgid "implicit templates may not be %" msgstr "" ! #: cp/parser.cc:49872 #, gcc-internal-format msgid "% linkage started here" msgstr "" --- 65303,65930 ---- #. something like: #. #. template template void S::f(); ! #: cp/parser.cc:31584 #, fuzzy, gcc-internal-format msgid "too many template-parameter-lists" msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'" ! #: cp/parser.cc:31977 #, fuzzy, gcc-internal-format msgid "named return values are no longer supported" msgstr "--driver understøttes ikke længere" ! #: cp/parser.cc:32150 #, gcc-internal-format msgid "ISO C++ did not adopt string literal operator templates taking an argument pack of characters" msgstr "" ! #: cp/parser.cc:32159 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%> or single non-type parameter of class type" msgstr "" ! #: cp/parser.cc:32165 #, gcc-internal-format msgid "literal operator template %qD has invalid parameter list; expected non-type template parameter pack %<%>" msgstr "" ! #: cp/parser.cc:32272 #, gcc-internal-format msgid "template-introductions are not part of C++20 concepts; use %qs to enable" msgstr "" ! #: cp/parser.cc:32282 #, fuzzy, gcc-internal-format #| msgid "no matching template for `%D' found" msgid "no matching concept for template-introduction" msgstr "ingen passende skabelon for '%D' fundet" ! #: cp/parser.cc:32305 #, fuzzy, gcc-internal-format #| msgid "invalid declaration of member template `%#D' in local class" msgid "invalid declaration of member template in local class" msgstr "ugyldig erklæring af medlemsskabelon '%#D' i lokal klasse" ! #: cp/parser.cc:32314 #, gcc-internal-format msgid "template with C linkage" msgstr "skabelon med C-kædning" ! #: cp/parser.cc:32334 #, fuzzy, gcc-internal-format #| msgid "explicit specialization here" msgid "invalid explicit specialization" msgstr "eksplicit specialisering her" ! #: cp/parser.cc:32446 #, fuzzy, gcc-internal-format #| msgid "template declaration of `%#D'" msgid "template declaration of %" msgstr "skabelonserklæring af '%#D'" ! #: cp/parser.cc:32497 #, fuzzy, gcc-internal-format #| msgid "declaration does not declare anything" msgid "a class template declaration must not declare anything else" msgstr "erklæring erklærer ikke noget" ! #: cp/parser.cc:32549 #, fuzzy, gcc-internal-format #| msgid "explicit specialization here" msgid "explicit template specialization cannot have a storage class" msgstr "eksplicit specialisering her" ! #: cp/parser.cc:32856 #, fuzzy, gcc-internal-format msgid "%<>>%> should be %<> >%> within a nested template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:32869 #, fuzzy, gcc-internal-format msgid "spurious %<>>%>, use %<>%> to terminate a template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:32900 #, fuzzy, gcc-internal-format msgid "%qs should be %qs to terminate a template argument list" msgstr "'>>' skulle have været '> >' i skabelonsklassenavn" ! #: cp/parser.cc:33218 #, gcc-internal-format msgid "% argument must be surrounded by parentheses" msgstr "" ! #: cp/parser.cc:33395 #, fuzzy, gcc-internal-format #| msgid "invalid base-class specification" msgid "invalid use of %qD in linkage specification" msgstr "ugyldig stamklasseangivelse" ! #: cp/parser.cc:33406 #, fuzzy, gcc-internal-format #| msgid "multiple `virtual' specifiers" msgid "duplicate %qD specifier" msgstr "mere end én 'virtual'-angivelse" ! #: cp/parser.cc:33409 #, fuzzy, gcc-internal-format #| msgid "section type conflict with %qD" msgid "%qD specifier conflicts with %qs" msgstr "afsnitstypekonflikt med %qD" ! #: cp/parser.cc:33421 #, gcc-internal-format msgid "%<__thread%> before %qD" msgstr "%<__thread%> før %qD" ! #: cp/parser.cc:33437 #, fuzzy, gcc-internal-format #| msgid "%s used with `%%%c' %s format" msgid "%qD specifier conflicts with %" msgstr "%s brugt med '%%%c' %s-formatering" ! #: cp/parser.cc:33546 #, gcc-internal-format msgid "ISO C++ 1998 does not support %" msgstr "ISO C++ 1998 understøtter ikke %" ! #: cp/parser.cc:33557 #, gcc-internal-format msgid "both %<__thread%> and % specified" msgstr "" ! #: cp/parser.cc:33562 #, gcc-internal-format msgid "duplicate %qD" msgstr "duplikere %qD" ! #: cp/parser.cc:33588 #, gcc-internal-format msgid "duplicate %qs" msgstr "duplikere %qs" ! #: cp/parser.cc:33640 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33643 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33646 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33652 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33655 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33658 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33661 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33664 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33667 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33670 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33673 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33676 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33679 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33682 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33685 #, gcc-internal-format msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33688 #, fuzzy, gcc-internal-format #| msgid "expected %" msgid "expected %" msgstr "forventede %" ! #: cp/parser.cc:33691 #, gcc-internal-format msgid "expected %<__label__%>" msgstr "forventede %<__label__%>" ! #: cp/parser.cc:33694 #, gcc-internal-format msgid "expected %<@try%>" msgstr "forventede %<@try%>" ! #: cp/parser.cc:33697 #, gcc-internal-format msgid "expected %<@synchronized%>" msgstr "forventede %<@synchronized%>" ! #: cp/parser.cc:33700 #, gcc-internal-format msgid "expected %<@throw%>" msgstr "forventede %<@throw%>" ! #: cp/parser.cc:33703 #, gcc-internal-format msgid "expected %<__transaction_atomic%>" msgstr "forventede %<__transaction_atomic%>" ! #: cp/parser.cc:33706 #, gcc-internal-format msgid "expected %<__transaction_relaxed%>" msgstr "forventede %<__transaction_relaxed%>" ! #: cp/parser.cc:33709 #, fuzzy, gcc-internal-format #| msgid "expected %<@end%>" msgid "expected %" msgstr "%<@end%> forventet" ! #: cp/parser.cc:33741 #, gcc-internal-format msgid "expected %<::%>" msgstr "forventede %<::%>" ! #: cp/parser.cc:33753 #, gcc-internal-format msgid "expected %<...%>" msgstr "forventede %<...%>" ! #: cp/parser.cc:33756 #, gcc-internal-format msgid "expected %<*%>" msgstr "forventede %<*%>" ! #: cp/parser.cc:33759 #, gcc-internal-format msgid "expected %<~%>" msgstr "forventede %<~%>" ! #: cp/parser.cc:33765 #, gcc-internal-format msgid "expected %<:%> or %<::%>" msgstr "forventede %<:%> or %<::%>" ! #: cp/parser.cc:33792 #, gcc-internal-format msgid "expected %, %, or %" msgstr "forventede %, %, eller %" ! #: cp/parser.cc:34127 #, gcc-internal-format msgid "redundant enum-key % in reference to %q#T" msgstr "" ! #: cp/parser.cc:34278 #, fuzzy, gcc-internal-format #| msgid "`%s' tag used in naming `%#T'" msgid "%qs tag used in naming %q#T" msgstr "'%s'-mærke benyttet i navngivning af '%#T'" ! #: cp/parser.cc:34283 #, gcc-internal-format msgid "%q#T was previously declared here" msgstr "%q#T var tidligere erklæret her" ! #: cp/parser.cc:34404 #, fuzzy, gcc-internal-format #| msgid "cannot declare reference to `%#T'" msgid "redundant class-key %qs in reference to %q#T" msgstr "kan ikke erklære reference til '%#T'" ! #: cp/parser.cc:34562 cp/parser.cc:34596 #, fuzzy, gcc-internal-format #| msgid "`%D' not declared" msgid "%qT declared with a mismatched class-key %qs" msgstr "'%D' ikke erklæret" ! #: cp/parser.cc:34569 cp/parser.cc:34602 #, gcc-internal-format msgid "remove the class-key or replace it with %qs" msgstr "" ! #: cp/parser.cc:34570 cp/parser.cc:34603 #, fuzzy, gcc-internal-format msgid "replace the class-key with %qs" msgstr "uventet operand" ! #: cp/parser.cc:34577 #, fuzzy, gcc-internal-format #| msgid "label `%D' defined but not used" msgid "%qT defined as %qs here" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: cp/parser.cc:34578 #, fuzzy, gcc-internal-format #| msgid " first declared as `%#D' here" msgid "%qT first declared as %qs here" msgstr " først erklæret som '%#D' her" ! #: cp/parser.cc:34660 #, gcc-internal-format msgid "%qD redeclared with different access" msgstr "%qD omerklæret med anden adgang" ! #: cp/parser.cc:34681 #, gcc-internal-format msgid "in C++98 % (as a disambiguator) is only allowed within templates" msgstr "" ! #: cp/parser.cc:34931 #, fuzzy, gcc-internal-format msgid "file ends in default argument" msgstr "%Hslutningen af filen læst inden i standardparameter" ! #: cp/parser.cc:35172 cp/parser.cc:36480 cp/parser.cc:36669 #, gcc-internal-format msgid "misplaced %<@%D%> Objective-C++ construct" msgstr "" ! #: cp/parser.cc:35243 #, gcc-internal-format msgid "objective-c++ message receiver expected" msgstr "" ! #: cp/parser.cc:35313 #, gcc-internal-format msgid "objective-c++ message argument(s) are expected" msgstr "" ! #: cp/parser.cc:35344 #, gcc-internal-format msgid "%<@encode%> must specify a type as an argument" msgstr "" ! #: cp/parser.cc:35748 #, gcc-internal-format msgid "invalid Objective-C++ selector name" msgstr "" ! #: cp/parser.cc:35823 cp/parser.cc:35841 #, fuzzy, gcc-internal-format #| msgid "Class or interface declaration expected" msgid "objective-c++ method declaration is expected" msgstr "Klasse- eller grænsefladeerklæring forventet" ! #: cp/parser.cc:35835 cp/parser.cc:35901 #, fuzzy, gcc-internal-format msgid "method attributes must be specified at the end" msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: cp/parser.cc:35944 #, gcc-internal-format msgid "stray %qs between Objective-C++ methods" msgstr "" ! #: cp/parser.cc:36141 cp/parser.cc:36148 cp/parser.cc:36155 #, fuzzy, gcc-internal-format #| msgid "invalid register name `%s' for register variable" msgid "invalid type for instance variable" msgstr "ugyldigt registernavn '%s' for registervariabel" ! #: cp/parser.cc:36272 #, fuzzy, gcc-internal-format #| msgid "Identifier expected" msgid "identifier expected after %<@protocol%>" msgstr "Kaldenavn forventet" ! #: cp/parser.cc:36445 #, gcc-internal-format msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" msgstr "" ! #: cp/parser.cc:36452 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored for `%s'" msgid "prefix attributes are ignored before %<@%D%>" msgstr "'%s'-egenskaben ignoreret for '%s'" ! #: cp/parser.cc:36732 cp/parser.cc:36739 cp/parser.cc:36746 #, fuzzy, gcc-internal-format #| msgid "invalid type argument" msgid "invalid type for property" msgstr "ugyldig typeparameter" ! #: cp/parser.cc:36908 #, fuzzy, gcc-internal-format #| msgid "unknown register name: %s" msgid "unknown property attribute %qE" msgstr "ukendt registernavn: %s" ! #: cp/parser.cc:38037 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "expected integer expression list" msgstr "uventet adresseudtryk" ! #: cp/parser.cc:38054 #, gcc-internal-format msgid "% expression must be integral" msgstr "" ! #: cp/parser.cc:39143 #, fuzzy, gcc-internal-format #| msgid "invalid identifier `%s'" msgid "invalid reduction-identifier" msgstr "ugyldigt kaldenavn '%s'" ! #: cp/parser.cc:40112 #, fuzzy, gcc-internal-format msgid "types may not be defined in iterator type" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:43018 #, gcc-internal-format msgid "parenthesized initialization is not allowed in OpenMP % loop" msgstr "" ! #: cp/parser.cc:43466 #, gcc-internal-format msgid "%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement" msgstr "" ! #: cp/parser.cc:43711 #, fuzzy, gcc-internal-format msgid "% clause with parameter on range-based % loop" msgstr "typedef-navn kan ikke klassemodificeres" ! #: cp/parser.cc:43798 cp/pt.cc:18576 #, fuzzy, gcc-internal-format #| msgid "register variable `%s' used in nested function" msgid "iteration variable %qD should not be reduction" msgstr "registervariabel '%s' benyttet i indlejret funktion" ! #: cp/parser.cc:43891 #, fuzzy, gcc-internal-format #| msgid "not enough type information" msgid "not enough for loops to collapse" msgstr "ikke tilstrækkelig information om typen" ! #: cp/parser.cc:46258 #, gcc-internal-format msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>" msgstr "" ! #: cp/parser.cc:47093 #, gcc-internal-format msgid "OpenMP directive other than % or % appertains to a declaration" msgstr "" ! #: cp/parser.cc:47439 cp/parser.cc:47470 #, gcc-internal-format msgid "%qs in attribute syntax terminated with %qs in pragma syntax" msgstr "" ! #: cp/parser.cc:47446 cp/parser.cc:47475 #, fuzzy, gcc-internal-format #| msgid "argument to `%s' attribute larger than %d" msgid "%qs in pragma syntax terminated with %qs in attribute syntax" msgstr "parameter til egenskaben '%s' er større end %d" ! #: cp/parser.cc:47587 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "invalid initializer clause" msgstr "ugyldig startværdi" ! #: cp/parser.cc:47617 #, fuzzy, gcc-internal-format #| msgid "unexpected side-effects in address" msgid "expected id-expression (arguments)" msgstr "uventede bivirkninger i adresse" ! #: cp/parser.cc:47629 #, gcc-internal-format msgid "one of the initializer call arguments should be % or %<&omp_priv%>" msgstr "" ! #: cp/parser.cc:47732 #, fuzzy, gcc-internal-format msgid "types may not be defined in declare reduction type list" msgstr "new kan ikke bruges på en referencetype" ! #: cp/parser.cc:47752 cp/semantics.cc:6128 #, gcc-internal-format msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47756 cp/semantics.cc:6136 #, gcc-internal-format msgid "function or array type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47759 cp/pt.cc:14486 cp/semantics.cc:6142 #, gcc-internal-format msgid "reference type %qT in %<#pragma omp declare reduction%>" msgstr "" ! #: cp/parser.cc:47762 cp/semantics.cc:6148 #, fuzzy, gcc-internal-format #| msgid "declaration of \"%s\" shadows a global declaration" msgid "%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>" msgstr "erklæring af '%s' skygger for en global erklæring" ! #: cp/parser.cc:48476 #, gcc-internal-format msgid "%<#pragma acc routine%> names a set of overloads" msgstr "" ! #: cp/parser.cc:48486 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member template function" msgid "%qD does not refer to a namespace scope function" msgstr "'%D' er ikke en medlemsskabelonfunktion" #. cancel-and-throw is unimplemented. ! #: cp/parser.cc:48847 #, gcc-internal-format msgid "%" msgstr "" ! #: cp/parser.cc:48894 cp/semantics.cc:11155 #, gcc-internal-format msgid "%<__transaction_relaxed%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:48896 cp/semantics.cc:11157 #, gcc-internal-format msgid "%<__transaction_atomic%> without transactional memory support enabled" msgstr "" ! #: cp/parser.cc:49042 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: cp/parser.cc:49045 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: cp/parser.cc:49092 #, fuzzy, gcc-internal-format #| msgid "malformed #pragma map, ignored" msgid "malformed %<#pragma GCC pch_preprocess%>" msgstr "forkert udformet '#pragma map' - ignoreret" ! #: cp/parser.cc:49390 #, fuzzy, gcc-internal-format msgid "%<#pragma omp requires%> may only be used at file or namespace scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49401 #, fuzzy, gcc-internal-format msgid "%<#pragma omp assumes%> may only be used at file or namespace scope" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49456 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma GCC ivdep%> must be inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: cp/parser.cc:49488 #, fuzzy, gcc-internal-format #| msgid "braced-group within expression allowed only inside a function" msgid "%<#pragma GCC unroll%> must be inside a function" msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion" ! #: cp/parser.cc:49569 #, fuzzy, gcc-internal-format msgid "multi-source compilation not implemented for C++" msgstr "profilering understøttes ikke endnu" ! #: cp/parser.cc:49606 #, fuzzy, gcc-internal-format msgid "placeholder type not allowed in this context" msgstr "'%D' blev ikke erklæret i dette virkefelt" ! #: cp/parser.cc:49815 #, gcc-internal-format msgid "implicit templates may not be %" msgstr "" ! #: cp/parser.cc:49871 #, gcc-internal-format msgid "% linkage started here" msgstr "" *************** msgstr " oprindelig definition er her" *** 66495,66501 **** msgid "redeclaration of %q#D with different constraints" msgstr "'%#D' omerklæret som en anden form for symbol" ! #: cp/pt.cc:6770 cp/pt.cc:6839 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT" --- 66524,66530 ---- msgid "redeclaration of %q#D with different constraints" msgstr "'%#D' omerklæret som en anden form for symbol" ! #: cp/pt.cc:6770 cp/pt.cc:6840 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT" *************** msgstr "den skal være adressen af en fu *** 66512,66940 **** msgid "it must be the name of a function with external linkage" msgstr "den skal være adressen af en funktion med ekstern kædning" ! #: cp/pt.cc:6789 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because %qD has no linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:6793 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:6842 #, fuzzy, gcc-internal-format #| msgid "it must be a pointer-to-member of the form `&X::Y'" msgid "it must be a pointer-to-member of the form %<&X::Y%>" msgstr "den skal være en henvisning til medlem på formen '&X::Y'" ! #: cp/pt.cc:6844 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member of `%T'" msgid "because it is a member of %qT" msgstr "'%D' er ikke et medlem af '%T'" ! #: cp/pt.cc:6913 #, fuzzy, gcc-internal-format #| msgid "got %d template parameters for `%#D'" msgid " couldn%'t deduce template parameter %qD" msgstr "modtog %d skabelonsparametre for '%#D'" ! #: cp/pt.cc:6922 #, gcc-internal-format msgid " types %qT and %qT have incompatible cv-qualifiers" msgstr "" ! #: cp/pt.cc:6931 #, fuzzy, gcc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid " mismatched types %qT and %qT" msgstr "sammenligning mellem typerne '%#T' og '%#T'" ! #: cp/pt.cc:6940 #, gcc-internal-format msgid " template parameter %qD is not a parameter pack, but argument %qD is" msgstr "" # flertalsform unødvendig ! #: cp/pt.cc:6951 #, fuzzy, gcc-internal-format #| msgid "template argument `%E' involves template parameter(s)" msgid " template argument %qE does not match pointer-to-member constant %qE" msgstr "skabelonsparameter '%E' involverer skabelonsparameter" ! #: cp/pt.cc:6961 #, gcc-internal-format msgid " %qE is not equivalent to %qE" msgstr "" ! #: cp/pt.cc:6970 #, gcc-internal-format msgid " inconsistent parameter pack deduction with %qT and %qT" msgstr "" ! #: cp/pt.cc:6982 #, gcc-internal-format msgid " deduced conflicting types for parameter %qT (%qT and %qT)" msgstr "" ! #: cp/pt.cc:6986 #, gcc-internal-format msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" msgstr "" ! #: cp/pt.cc:6997 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid " variable-sized array type %qT is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7008 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid " member function type %qT is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7051 #, fuzzy, gcc-internal-format #| msgid "cannot convert type `%T' to type `%T'" msgid " cannot convert %qE (type %qT) to type %qT" msgstr "kan ikke konvertere typen '%T' til typen '%T'" ! #: cp/pt.cc:7064 #, fuzzy, gcc-internal-format #| msgid "`%T' is an ambiguous base of `%T'" msgid " %qT is an ambiguous base class of %qT" msgstr "'%T' er en tvetydig stamklasse til '%T'" ! #: cp/pt.cc:7068 #, fuzzy, gcc-internal-format #| msgid "type `%T' is not derived from type `%T'" msgid " %qT is not derived from %qT" msgstr "typen '%T' er ikke nedarvet fra typen '%T'" ! #: cp/pt.cc:7079 #, gcc-internal-format msgid " template parameters of a template template argument are inconsistent with other deduced template arguments" msgstr "" ! #: cp/pt.cc:7089 #, fuzzy, gcc-internal-format #| msgid "cannot %s a pointer to incomplete type `%T'" msgid " cannot deduce a template for %qT from non-template type %qT" msgstr "kan ikke %s en henvisning til en ufuldstændig type '%T'" ! #: cp/pt.cc:7099 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid " template argument %qE does not match %qE" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:7150 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT because %qE is not a variable or function" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7159 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7169 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT because %qD has no linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7184 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "the address of %qD is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7194 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "the address of the %qT subobject of %qD is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7201 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "the address of %qD is not a valid template argument because it does not have static storage duration" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7219 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7227 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for %qT because it is not the address of a variable" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7348 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because string literals can never be used in this context" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7513 #, fuzzy, gcc-internal-format msgid "in template argument for type %qT" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:7527 #, fuzzy, gcc-internal-format msgid "template argument %qE for type %qT not a compile-time constant" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:7613 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification" msgstr "" ! #: cp/pt.cc:7621 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because it is not an lvalue" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7639 #, gcc-internal-format msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address" msgstr "" ! #: cp/pt.cc:7698 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT because it is a pointer" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7700 #, gcc-internal-format msgid "try using %qE instead" msgstr "" ! #: cp/pt.cc:7754 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT because it is of type %qT" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:8312 #, gcc-internal-format msgid "ignoring attributes on template argument %qT" msgstr "" ! #: cp/pt.cc:8328 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "ignoring attributes in template argument %qE" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/pt.cc:8464 #, fuzzy, gcc-internal-format msgid "injected-class-name %qD used as template template argument" msgstr "ugyldig standardparameter i skabelon" ! #: cp/pt.cc:8493 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qE as a type" msgstr "ugyldig brug af 'restrict'" ! #: cp/pt.cc:8498 #, fuzzy, gcc-internal-format #| msgid "to refer to a type member of a template parameter, use `typename %E'" msgid "to refer to a type member of a template parameter, use %" msgstr "benyt 'typename %E' for at referere til et typemedlem af en skabelonsparameter" ! #: cp/pt.cc:8514 cp/pt.cc:8548 cp/pt.cc:8598 #, fuzzy, gcc-internal-format #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" msgid "type/value mismatch at argument %d in template parameter list for %qD" msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" ! #: cp/pt.cc:8522 #, fuzzy, gcc-internal-format #| msgid " expected a constant of type `%T', got `%T'" msgid " expected a constant of type %qT, got %qT" msgstr " forventede en konstant af typen '%T', modtog '%T'" ! #: cp/pt.cc:8530 #, fuzzy, gcc-internal-format #| msgid "default argument for parameter of type `%T' has type `%T'" msgid " ambiguous template argument for non-type template parameter is treated as function type" msgstr "standardparameter for parameter af typen '%T' har typen '%T'" ! #: cp/pt.cc:8536 #, fuzzy, gcc-internal-format msgid " expected a class template, got %qE" msgstr " forventede en klasseskabelon, modtog '%T'" ! #: cp/pt.cc:8539 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%E'" msgid " expected a type, got %qE" msgstr " forventede en type, modtog '%E'" ! #: cp/pt.cc:8553 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%T'" msgid " expected a type, got %qT" msgstr " forventede en type, modtog '%T'" ! #: cp/pt.cc:8556 #, fuzzy, gcc-internal-format #| msgid " expected a class template, got `%T'" msgid " expected a class template, got %qT" msgstr " forventede en klasseskabelon, modtog '%T'" ! #: cp/pt.cc:8602 #, fuzzy, gcc-internal-format #| msgid " expected a template of type `%D', got `%D'" msgid " expected a template of type %qD, got %qT" msgstr " forventede en skabelon af typen '%D', modtog '%D'" ! #: cp/pt.cc:8616 #, fuzzy, gcc-internal-format #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" msgid "constraint mismatch at argument %d in template parameter list for %qD" msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" ! #: cp/pt.cc:8619 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%E'" msgid " expected %qD but got %qD" msgstr " forventede en type, modtog '%E'" ! #: cp/pt.cc:8692 #, fuzzy, gcc-internal-format #| msgid "could not convert template argument `%E' to `%T'" msgid "could not convert template argument %qE from %qT to %qT" msgstr "kunne ikke konvertere skabelonsparameteren '%E' til '%T'" ! #: cp/pt.cc:8830 cp/pt.cc:9156 #, gcc-internal-format, gfc-internal-format msgid "template argument %d is invalid" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:8845 cp/pt.cc:8990 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be %d)" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/pt.cc:8986 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "wrong number of template arguments (%d, should be %d)" msgid "wrong number of template arguments (%d, should be at least %d)" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/pt.cc:8995 #, fuzzy, gcc-internal-format #| msgid "provided for `%D'" msgid "provided for %qD" msgstr "angivet for '%D'" ! #: cp/pt.cc:9020 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of alias template %qD" msgstr "" ! #: cp/pt.cc:9024 #, fuzzy, gcc-internal-format #| msgid "default argument given for parameter %d of `%#D'" msgid "pack expansion argument for non-pack parameter %qD of concept %qD" msgstr "standardparameter givet til %d. parameter for '%#D'" ! #: cp/pt.cc:9122 #, gcc-internal-format msgid "so any instantiation with a non-empty parameter pack would be ill-formed" msgstr "" ! #: cp/pt.cc:9685 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function template" msgid "%q#D is not a function template" msgstr "'%D' er ikke en funktionsskabelon" ! #: cp/pt.cc:9848 #, fuzzy, gcc-internal-format #| msgid "non-template type `%T' used as a template" msgid "non-template type %qT used as a template" msgstr "ikke-skabelonstype '%T' benyttet som skabelon" ! #: cp/pt.cc:9850 #, fuzzy, gcc-internal-format #| msgid "for template declaration `%D'" msgid "for template declaration %q+D" msgstr "til skabelonserklæring '%D'" ! #: cp/pt.cc:9983 cp/pt.cc:22188 #, fuzzy, gcc-internal-format #| msgid "internal gcc abort" msgid "template constraint failure for %qD" msgstr "intern GCC-afbrydelse" ! #: cp/pt.cc:10368 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "use of invalid variable template %qE" msgstr "'%T' er ikke en skabelon" ! #: cp/pt.cc:11103 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/pt.cc:12436 #, fuzzy, gcc-internal-format msgid "flexible array member %qD in union" msgstr "fleksibelt tabelmedlem i union" ! #: cp/pt.cc:12926 #, gcc-internal-format msgid "fold of empty expansion over %O" msgstr "" ! #: cp/pt.cc:13380 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not the entire pattern of the pack expansion" msgstr "'%s' er ikke ved begyndelsen af erklæringen" ! #: cp/pt.cc:13468 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qT" msgstr "" ! #: cp/pt.cc:13471 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qE" msgstr "" ! #: cp/pt.cc:14150 #, fuzzy, gcc-internal-format #| msgid "redefinition of default argument for `%#D'" msgid " when instantiating default argument for call to %qD" msgstr "omdefinering af standardparameter for '%#D'" ! #: cp/pt.cc:14246 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member function of non-class type `%T'" msgid "creating pointer to member function of non-class type %qT" msgstr "opretter henvisning til medlemsfunktion af typen '%T' der ikke er en klasse" ! #: cp/pt.cc:15140 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid "mismatched argument pack lengths (%d vs %d)" --- 66541,66969 ---- msgid "it must be the name of a function with external linkage" msgstr "den skal være adressen af en funktion med ekstern kædning" ! #: cp/pt.cc:6790 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because %qD has no linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:6794 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:6843 #, fuzzy, gcc-internal-format #| msgid "it must be a pointer-to-member of the form `&X::Y'" msgid "it must be a pointer-to-member of the form %<&X::Y%>" msgstr "den skal være en henvisning til medlem på formen '&X::Y'" ! #: cp/pt.cc:6845 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a member of `%T'" msgid "because it is a member of %qT" msgstr "'%D' er ikke et medlem af '%T'" ! #: cp/pt.cc:6914 #, fuzzy, gcc-internal-format #| msgid "got %d template parameters for `%#D'" msgid " couldn%'t deduce template parameter %qD" msgstr "modtog %d skabelonsparametre for '%#D'" ! #: cp/pt.cc:6923 #, gcc-internal-format msgid " types %qT and %qT have incompatible cv-qualifiers" msgstr "" ! #: cp/pt.cc:6932 #, fuzzy, gcc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid " mismatched types %qT and %qT" msgstr "sammenligning mellem typerne '%#T' og '%#T'" ! #: cp/pt.cc:6941 #, gcc-internal-format msgid " template parameter %qD is not a parameter pack, but argument %qD is" msgstr "" # flertalsform unødvendig ! #: cp/pt.cc:6952 #, fuzzy, gcc-internal-format #| msgid "template argument `%E' involves template parameter(s)" msgid " template argument %qE does not match pointer-to-member constant %qE" msgstr "skabelonsparameter '%E' involverer skabelonsparameter" ! #: cp/pt.cc:6962 #, gcc-internal-format msgid " %qE is not equivalent to %qE" msgstr "" ! #: cp/pt.cc:6971 #, gcc-internal-format msgid " inconsistent parameter pack deduction with %qT and %qT" msgstr "" ! #: cp/pt.cc:6983 #, gcc-internal-format msgid " deduced conflicting types for parameter %qT (%qT and %qT)" msgstr "" ! #: cp/pt.cc:6987 #, gcc-internal-format msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" msgstr "" ! #: cp/pt.cc:6998 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid " variable-sized array type %qT is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7009 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid " member function type %qT is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7052 #, fuzzy, gcc-internal-format #| msgid "cannot convert type `%T' to type `%T'" msgid " cannot convert %qE (type %qT) to type %qT" msgstr "kan ikke konvertere typen '%T' til typen '%T'" ! #: cp/pt.cc:7065 #, fuzzy, gcc-internal-format #| msgid "`%T' is an ambiguous base of `%T'" msgid " %qT is an ambiguous base class of %qT" msgstr "'%T' er en tvetydig stamklasse til '%T'" ! #: cp/pt.cc:7069 #, fuzzy, gcc-internal-format #| msgid "type `%T' is not derived from type `%T'" msgid " %qT is not derived from %qT" msgstr "typen '%T' er ikke nedarvet fra typen '%T'" ! #: cp/pt.cc:7080 #, gcc-internal-format msgid " template parameters of a template template argument are inconsistent with other deduced template arguments" msgstr "" ! #: cp/pt.cc:7090 #, fuzzy, gcc-internal-format #| msgid "cannot %s a pointer to incomplete type `%T'" msgid " cannot deduce a template for %qT from non-template type %qT" msgstr "kan ikke %s en henvisning til en ufuldstændig type '%T'" ! #: cp/pt.cc:7100 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid " template argument %qE does not match %qE" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:7151 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT because %qE is not a variable or function" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7160 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7170 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument of type %qT because %qD has no linkage" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7185 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "the address of %qD is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7195 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "the address of the %qT subobject of %qD is not a valid template argument" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7202 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "the address of %qD is not a valid template argument because it does not have static storage duration" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7220 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7228 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for %qT because it is not the address of a variable" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7349 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because string literals can never be used in this context" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7514 #, fuzzy, gcc-internal-format msgid "in template argument for type %qT" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:7528 #, fuzzy, gcc-internal-format msgid "template argument %qE for type %qT not a compile-time constant" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:7614 #, gcc-internal-format msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification" msgstr "" ! #: cp/pt.cc:7622 #, fuzzy, gcc-internal-format #| msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage" msgid "%qE is not a valid template argument for type %qT because it is not an lvalue" msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning" ! #: cp/pt.cc:7640 #, gcc-internal-format msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address" msgstr "" ! #: cp/pt.cc:7699 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT because it is a pointer" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:7701 #, gcc-internal-format msgid "try using %qE instead" msgstr "" ! #: cp/pt.cc:7755 #, fuzzy, gcc-internal-format #| msgid "`%E' is not a valid template argument" msgid "%qE is not a valid template argument for type %qT because it is of type %qT" msgstr "'%E' er ikke en gyldig skabelonsparameter" ! #: cp/pt.cc:8314 #, gcc-internal-format msgid "ignoring attributes on template argument %qT" msgstr "" ! #: cp/pt.cc:8330 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "ignoring attributes in template argument %qE" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/pt.cc:8466 #, fuzzy, gcc-internal-format msgid "injected-class-name %qD used as template template argument" msgstr "ugyldig standardparameter i skabelon" ! #: cp/pt.cc:8495 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qE as a type" msgstr "ugyldig brug af 'restrict'" ! #: cp/pt.cc:8500 #, fuzzy, gcc-internal-format #| msgid "to refer to a type member of a template parameter, use `typename %E'" msgid "to refer to a type member of a template parameter, use %" msgstr "benyt 'typename %E' for at referere til et typemedlem af en skabelonsparameter" ! #: cp/pt.cc:8516 cp/pt.cc:8550 cp/pt.cc:8600 #, fuzzy, gcc-internal-format #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" msgid "type/value mismatch at argument %d in template parameter list for %qD" msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" ! #: cp/pt.cc:8524 #, fuzzy, gcc-internal-format #| msgid " expected a constant of type `%T', got `%T'" msgid " expected a constant of type %qT, got %qT" msgstr " forventede en konstant af typen '%T', modtog '%T'" ! #: cp/pt.cc:8532 #, fuzzy, gcc-internal-format #| msgid "default argument for parameter of type `%T' has type `%T'" msgid " ambiguous template argument for non-type template parameter is treated as function type" msgstr "standardparameter for parameter af typen '%T' har typen '%T'" ! #: cp/pt.cc:8538 #, fuzzy, gcc-internal-format msgid " expected a class template, got %qE" msgstr " forventede en klasseskabelon, modtog '%T'" ! #: cp/pt.cc:8541 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%E'" msgid " expected a type, got %qE" msgstr " forventede en type, modtog '%E'" ! #: cp/pt.cc:8555 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%T'" msgid " expected a type, got %qT" msgstr " forventede en type, modtog '%T'" ! #: cp/pt.cc:8558 #, fuzzy, gcc-internal-format #| msgid " expected a class template, got `%T'" msgid " expected a class template, got %qT" msgstr " forventede en klasseskabelon, modtog '%T'" ! #: cp/pt.cc:8604 #, fuzzy, gcc-internal-format #| msgid " expected a template of type `%D', got `%D'" msgid " expected a template of type %qD, got %qT" msgstr " forventede en skabelon af typen '%D', modtog '%D'" ! #: cp/pt.cc:8618 #, fuzzy, gcc-internal-format #| msgid "type/value mismatch at argument %d in template parameter list for `%D'" msgid "constraint mismatch at argument %d in template parameter list for %qD" msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'" ! #: cp/pt.cc:8621 #, fuzzy, gcc-internal-format #| msgid " expected a type, got `%E'" msgid " expected %qD but got %qD" msgstr " forventede en type, modtog '%E'" ! #: cp/pt.cc:8694 #, fuzzy, gcc-internal-format #| msgid "could not convert template argument `%E' to `%T'" msgid "could not convert template argument %qE from %qT to %qT" msgstr "kunne ikke konvertere skabelonsparameteren '%E' til '%T'" ! #: cp/pt.cc:8832 cp/pt.cc:9158 #, gcc-internal-format, gfc-internal-format msgid "template argument %d is invalid" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:8847 cp/pt.cc:8992 #, gcc-internal-format, gfc-internal-format msgid "wrong number of template arguments (%d, should be %d)" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/pt.cc:8988 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "wrong number of template arguments (%d, should be %d)" msgid "wrong number of template arguments (%d, should be at least %d)" msgstr "forkert antal skabelonsparametre (%d, skulle være %d)" ! #: cp/pt.cc:8997 #, fuzzy, gcc-internal-format #| msgid "provided for `%D'" msgid "provided for %qD" msgstr "angivet for '%D'" ! #: cp/pt.cc:9022 #, gcc-internal-format msgid "pack expansion argument for non-pack parameter %qD of alias template %qD" msgstr "" ! #: cp/pt.cc:9026 #, fuzzy, gcc-internal-format #| msgid "default argument given for parameter %d of `%#D'" msgid "pack expansion argument for non-pack parameter %qD of concept %qD" msgstr "standardparameter givet til %d. parameter for '%#D'" ! #: cp/pt.cc:9124 #, gcc-internal-format msgid "so any instantiation with a non-empty parameter pack would be ill-formed" msgstr "" ! #: cp/pt.cc:9687 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function template" msgid "%q#D is not a function template" msgstr "'%D' er ikke en funktionsskabelon" ! #: cp/pt.cc:9850 #, fuzzy, gcc-internal-format #| msgid "non-template type `%T' used as a template" msgid "non-template type %qT used as a template" msgstr "ikke-skabelonstype '%T' benyttet som skabelon" ! #: cp/pt.cc:9852 #, fuzzy, gcc-internal-format #| msgid "for template declaration `%D'" msgid "for template declaration %q+D" msgstr "til skabelonserklæring '%D'" ! #: cp/pt.cc:9996 cp/pt.cc:22218 #, fuzzy, gcc-internal-format #| msgid "internal gcc abort" msgid "template constraint failure for %qD" msgstr "intern GCC-afbrydelse" ! #: cp/pt.cc:10381 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a template" msgid "use of invalid variable template %qE" msgstr "'%T' er ikke en skabelon" ! #: cp/pt.cc:11116 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/pt.cc:12449 #, fuzzy, gcc-internal-format msgid "flexible array member %qD in union" msgstr "fleksibelt tabelmedlem i union" ! #: cp/pt.cc:12939 #, gcc-internal-format msgid "fold of empty expansion over %O" msgstr "" ! #: cp/pt.cc:13393 #, fuzzy, gcc-internal-format #| msgid "`%s' is not at beginning of declaration" msgid "%qE is not the entire pattern of the pack expansion" msgstr "'%s' er ikke ved begyndelsen af erklæringen" ! #: cp/pt.cc:13481 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qT" msgstr "" ! #: cp/pt.cc:13484 #, gcc-internal-format msgid "mismatched argument pack lengths while expanding %qE" msgstr "" ! #: cp/pt.cc:14163 #, fuzzy, gcc-internal-format #| msgid "redefinition of default argument for `%#D'" msgid " when instantiating default argument for call to %qD" msgstr "omdefinering af standardparameter for '%#D'" ! #: cp/pt.cc:14259 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member function of non-class type `%T'" msgid "creating pointer to member function of non-class type %qT" msgstr "opretter henvisning til medlemsfunktion af typen '%T' der ikke er en klasse" ! #: cp/pt.cc:15157 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "comparison between types `%#T' and `%#T'" msgid "mismatched argument pack lengths (%d vs %d)" *************** msgstr "sammenligning mellem typerne '%# *** 66953,67298 **** #. #. is an attempt to declare a variable with function #. type. ! #: cp/pt.cc:15333 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "variable %qD has function type" msgstr "sizeof benyttet på en funktionstype" ! #: cp/pt.cc:15532 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid parameter type %qT" msgstr "ugyldig parametertype '%T'" ! #: cp/pt.cc:15534 #, fuzzy, gcc-internal-format #| msgid "in declaration `%D'" msgid "in declaration %q+D" msgstr "i erklæringen '%D'" ! #: cp/pt.cc:15661 #, fuzzy, gcc-internal-format #| msgid "function returns an aggregate" msgid "function returning an array" msgstr "funktion returnerer en værdi af en sammensat type" ! #: cp/pt.cc:15663 #, fuzzy, gcc-internal-format #| msgid "`%s' declared as function returning a function" msgid "function returning a function" msgstr "'%s' er erklæret som en funktion der returnerer en funktion" ! #: cp/pt.cc:16363 #, gcc-internal-format msgid "forming reference to void" msgstr "danner reference til void" ! #: cp/pt.cc:16365 #, fuzzy, gcc-internal-format #| msgid "forming %s to reference type `%T'" msgid "forming pointer to reference type %qT" msgstr "danner %s til referencetypen '%T'" ! #: cp/pt.cc:16367 #, fuzzy, gcc-internal-format #| msgid "forming %s to reference type `%T'" msgid "forming reference to reference type %qT" msgstr "danner %s til referencetypen '%T'" ! #: cp/pt.cc:16380 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "forming pointer to qualified function type %qT" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: cp/pt.cc:16383 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "forming reference to qualified function type %qT" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: cp/pt.cc:16431 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "creating pointer to member of non-class type %qT" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/pt.cc:16437 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member reference type `%T'" msgid "creating pointer to member reference type %qT" msgstr "opretter henvisning til medlemsreference af typen '%T'" ! #: cp/pt.cc:16443 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member reference type `%T'" msgid "creating pointer to member of type void" msgstr "opretter henvisning til medlemsreference af typen '%T'" ! #: cp/pt.cc:16509 #, fuzzy, gcc-internal-format #| msgid "creating array of `%T'" msgid "creating array of %qT" msgstr "opretter tabel af '%T'" ! #: cp/pt.cc:16546 #, gcc-internal-format msgid "%qD is instantiated for an empty pack" msgstr "" ! #: cp/pt.cc:16567 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class, struct, or union type" msgid "%qT is not a class, struct, or union type" msgstr "'%T' er ikke en class-, struct- eller union-type" ! #: cp/pt.cc:16607 #, gcc-internal-format msgid "%qT resolves to %qT, which is not an enumeration type" msgstr "" ! #: cp/pt.cc:16615 #, fuzzy, gcc-internal-format msgid "%qT resolves to %qT, which is not a class type" msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser" ! #: cp/pt.cc:16728 #, fuzzy, gcc-internal-format #| msgid "use of `%s' in template" msgid "use of %qs in template" msgstr "brug af '%s' i skabelon" ! #: cp/pt.cc:17038 #, fuzzy, gcc-internal-format #| msgid "qualified type `%T' does not match destructor name `~%T'" msgid "qualifying type %qT does not match destructor name ~%qT" msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'" ! #: cp/pt.cc:17053 #, fuzzy, gcc-internal-format msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" msgstr "'%D' benyttes som en type, men er ikke defineret som en type" ! #: cp/pt.cc:17055 #, fuzzy, gcc-internal-format msgid "say % if a type is meant" msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)" ! #: cp/pt.cc:17148 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "initializer for %q#D expands to an empty list of expressions" msgstr "startværdielement er ikke en konstant" ! #: cp/pt.cc:17339 #, fuzzy, gcc-internal-format #| msgid "missing static field `%s'" msgid "using invalid field %qD" msgstr "manglende statisk felt '%s'" ! #: cp/pt.cc:17872 cp/pt.cc:19859 #, fuzzy, gcc-internal-format #| msgid "invalid use of void expression" msgid "invalid use of pack expansion expression" msgstr "ugyldig brug af void-udtryk" ! #: cp/pt.cc:17876 cp/pt.cc:19863 #, gcc-internal-format msgid "use %<...%> to expand argument pack" msgstr "" ! #: cp/pt.cc:20000 #, fuzzy, gcc-internal-format #| msgid "non-empty initializer for array of empty elements" msgid "empty initializer in lambda init-capture" msgstr "en startværdi der ikke er tom, tildeles til en tabel med tomme elementer" ! #: cp/pt.cc:21142 #, gcc-internal-format msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" msgstr "" ! #: cp/pt.cc:21177 #, gcc-internal-format msgid "declarations in dependent base %qT are not found by unqualified lookup" msgstr "" ! #: cp/pt.cc:21182 #, gcc-internal-format msgid "use %%D%> instead" msgstr "" ! #: cp/pt.cc:21185 #, gcc-internal-format msgid "use %<%T::%D%> instead" msgstr "" ! #: cp/pt.cc:21190 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qD declared here, later in the translation unit" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: cp/pt.cc:21241 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "wrong number of arguments to %<__builtin_convertvector%>" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: cp/pt.cc:21268 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to % attribute" msgstr "forkert antal parametre angivet til egenskaben '%s'" ! #: cp/pt.cc:21504 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qT is not a class or namespace" msgstr "'%T' er ikke en klasse eller et navnerum" ! #: cp/pt.cc:21507 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qD is not a class or namespace" msgstr "'%T' er ikke en klasse eller et navnerum" ! #: cp/pt.cc:21857 #, fuzzy, gcc-internal-format msgid "%qT is/uses unnamed type" msgstr "skabelonsparameter '%T' benytter anonym type" ! #: cp/pt.cc:21859 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "template argument for %qD uses local type %qT" msgstr "standardparameter for '%#D' har typen '%T'" ! #: cp/pt.cc:21869 #, fuzzy, gcc-internal-format msgid "%qT is a variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: cp/pt.cc:21884 #, fuzzy, gcc-internal-format msgid "integral expression %qE is not constant" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: cp/pt.cc:21902 #, fuzzy, gcc-internal-format #| msgid " trying to instantiate `%D'" msgid " trying to instantiate %qD" msgstr " ved forsøg på at instantiere '%D'" ! #: cp/pt.cc:26135 #, fuzzy, gcc-internal-format #| msgid "ambiguous class template instantiation for `%#T'" msgid "ambiguous template instantiation for %q#T" msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" ! #: cp/pt.cc:26137 #, fuzzy, gcc-internal-format #| msgid "ambiguous class template instantiation for `%#T'" msgid "ambiguous template instantiation for %q#D" msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" ! #: cp/pt.cc:26143 #, fuzzy #| msgid "%s %+#D" msgid "%s %#qS" msgstr "%s %+#D" ! #: cp/pt.cc:26167 cp/pt.cc:26262 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template `%#D'" msgid "explicit instantiation of non-template %q#D" msgstr "eksplicit instantiering af ikke-skabelon '%#D'" ! #: cp/pt.cc:26173 #, fuzzy, gcc-internal-format #| msgid "declaration of template `%#D'" msgid "explicit instantiation of variable concept %q#D" msgstr "erklæring af skabelon '%#D'" ! #: cp/pt.cc:26175 #, fuzzy, gcc-internal-format #| msgid "explicit specialization of non-template `%T'" msgid "explicit instantiation of function concept %q#D" msgstr "eksplicit specialisering af '%T' der ikke er en skabelon" ! #: cp/pt.cc:26194 #, fuzzy, gcc-internal-format msgid "%qD is not a static data member of a class template" msgstr "'%#D' er ikke et statisk medlem af '%#T'" ! #: cp/pt.cc:26200 cp/pt.cc:26257 #, fuzzy, gcc-internal-format #| msgid "no matching template for `%D' found" msgid "no matching template for %qD found" msgstr "ingen passende skabelon for '%D' fundet" ! #: cp/pt.cc:26205 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "type %qT for explicit instantiation %qD does not match declared type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/pt.cc:26213 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%#D'" msgid "explicit instantiation of %q#D" msgstr "eksplicit instantiering af '%#D'" ! #: cp/pt.cc:26249 #, fuzzy, gcc-internal-format #| msgid "duplicate explicit instantiation of `%#D'" msgid "duplicate explicit instantiation of %q#D" msgstr "'%#D' er blevet eksplicit instantieret mere end én gang" ! #: cp/pt.cc:26272 cp/pt.cc:26339 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids the use of `extern' on explicit instantiations" msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer" ! #: cp/pt.cc:26277 cp/pt.cc:26354 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "storage class %qD applied to template instantiation" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/pt.cc:26311 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template `%#D'" msgid "explicit instantiation of non-class template %qD" msgstr "eksplicit instantiering af ikke-skabelon '%#D'" ! #: cp/pt.cc:26314 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "explicit instantiation of non-template type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/pt.cc:26323 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%#T' before definition of template" msgid "explicit instantiation of %q#T before definition of template" msgstr "eksplicit instantiering af '%T' før definering af skabelonen" ! #: cp/pt.cc:26344 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids the use of `%s' on explicit instantiations" msgid "ISO C++ forbids the use of %qE on explicit instantiations" msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer" ! #: cp/pt.cc:26384 #, fuzzy, gcc-internal-format #| msgid "duplicate explicit instantiation of `%#T'" msgid "duplicate explicit instantiation of %q#T" msgstr "'%#T' er blevet eksplicit instantieret mere end én gang" ! #: cp/pt.cc:26694 #, fuzzy, gcc-internal-format #| msgid "explicit specialization of %D after first use" msgid "exception specification of %qD depends on itself" --- 66982,67327 ---- #. #. is an attempt to declare a variable with function #. type. ! #: cp/pt.cc:15350 #, fuzzy, gcc-internal-format #| msgid "sizeof applied to a function type" msgid "variable %qD has function type" msgstr "sizeof benyttet på en funktionstype" ! #: cp/pt.cc:15549 #, fuzzy, gcc-internal-format #| msgid "invalid parameter type `%T'" msgid "invalid parameter type %qT" msgstr "ugyldig parametertype '%T'" ! #: cp/pt.cc:15551 #, fuzzy, gcc-internal-format #| msgid "in declaration `%D'" msgid "in declaration %q+D" msgstr "i erklæringen '%D'" ! #: cp/pt.cc:15678 #, fuzzy, gcc-internal-format #| msgid "function returns an aggregate" msgid "function returning an array" msgstr "funktion returnerer en værdi af en sammensat type" ! #: cp/pt.cc:15680 #, fuzzy, gcc-internal-format #| msgid "`%s' declared as function returning a function" msgid "function returning a function" msgstr "'%s' er erklæret som en funktion der returnerer en funktion" ! #: cp/pt.cc:16380 #, gcc-internal-format msgid "forming reference to void" msgstr "danner reference til void" ! #: cp/pt.cc:16382 #, fuzzy, gcc-internal-format #| msgid "forming %s to reference type `%T'" msgid "forming pointer to reference type %qT" msgstr "danner %s til referencetypen '%T'" ! #: cp/pt.cc:16384 #, fuzzy, gcc-internal-format #| msgid "forming %s to reference type `%T'" msgid "forming reference to reference type %qT" msgstr "danner %s til referencetypen '%T'" ! #: cp/pt.cc:16397 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "forming pointer to qualified function type %qT" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: cp/pt.cc:16400 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "forming reference to qualified function type %qT" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: cp/pt.cc:16448 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member of non-class type `%T'" msgid "creating pointer to member of non-class type %qT" msgstr "opretter henvisning til medlem af typen '%T' der ikke er en klasse" ! #: cp/pt.cc:16454 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member reference type `%T'" msgid "creating pointer to member reference type %qT" msgstr "opretter henvisning til medlemsreference af typen '%T'" ! #: cp/pt.cc:16460 #, fuzzy, gcc-internal-format #| msgid "creating pointer to member reference type `%T'" msgid "creating pointer to member of type void" msgstr "opretter henvisning til medlemsreference af typen '%T'" ! #: cp/pt.cc:16526 #, fuzzy, gcc-internal-format #| msgid "creating array of `%T'" msgid "creating array of %qT" msgstr "opretter tabel af '%T'" ! #: cp/pt.cc:16563 #, gcc-internal-format msgid "%qD is instantiated for an empty pack" msgstr "" ! #: cp/pt.cc:16584 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class, struct, or union type" msgid "%qT is not a class, struct, or union type" msgstr "'%T' er ikke en class-, struct- eller union-type" ! #: cp/pt.cc:16624 #, gcc-internal-format msgid "%qT resolves to %qT, which is not an enumeration type" msgstr "" ! #: cp/pt.cc:16632 #, fuzzy, gcc-internal-format msgid "%qT resolves to %qT, which is not a class type" msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser" ! #: cp/pt.cc:16745 #, fuzzy, gcc-internal-format #| msgid "use of `%s' in template" msgid "use of %qs in template" msgstr "brug af '%s' i skabelon" ! #: cp/pt.cc:17055 #, fuzzy, gcc-internal-format #| msgid "qualified type `%T' does not match destructor name `~%T'" msgid "qualifying type %qT does not match destructor name ~%qT" msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'" ! #: cp/pt.cc:17070 #, fuzzy, gcc-internal-format msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type" msgstr "'%D' benyttes som en type, men er ikke defineret som en type" ! #: cp/pt.cc:17072 #, fuzzy, gcc-internal-format msgid "say % if a type is meant" msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)" ! #: cp/pt.cc:17165 #, fuzzy, gcc-internal-format #| msgid "initializer element is not constant" msgid "initializer for %q#D expands to an empty list of expressions" msgstr "startværdielement er ikke en konstant" ! #: cp/pt.cc:17356 #, fuzzy, gcc-internal-format #| msgid "missing static field `%s'" msgid "using invalid field %qD" msgstr "manglende statisk felt '%s'" ! #: cp/pt.cc:17889 cp/pt.cc:19876 #, fuzzy, gcc-internal-format #| msgid "invalid use of void expression" msgid "invalid use of pack expansion expression" msgstr "ugyldig brug af void-udtryk" ! #: cp/pt.cc:17893 cp/pt.cc:19880 #, gcc-internal-format msgid "use %<...%> to expand argument pack" msgstr "" ! #: cp/pt.cc:20017 #, fuzzy, gcc-internal-format #| msgid "non-empty initializer for array of empty elements" msgid "empty initializer in lambda init-capture" msgstr "en startværdi der ikke er tom, tildeles til en tabel med tomme elementer" ! #: cp/pt.cc:21172 #, gcc-internal-format msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" msgstr "" ! #: cp/pt.cc:21207 #, gcc-internal-format msgid "declarations in dependent base %qT are not found by unqualified lookup" msgstr "" ! #: cp/pt.cc:21212 #, gcc-internal-format msgid "use %%D%> instead" msgstr "" ! #: cp/pt.cc:21215 #, gcc-internal-format msgid "use %<%T::%D%> instead" msgstr "" ! #: cp/pt.cc:21220 #, fuzzy, gcc-internal-format #| msgid "`%s' undeclared here (not in a function)" msgid "%qD declared here, later in the translation unit" msgstr "'%s' ikke erklæret her (ikke i en funktion)" ! #: cp/pt.cc:21271 #, fuzzy, gcc-internal-format #| msgid "first argument to __builtin_choose_expr not a constant" msgid "wrong number of arguments to %<__builtin_convertvector%>" msgstr "første parameter til '__builtin_choose_expr' skal være en konstant" ! #: cp/pt.cc:21298 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to % attribute" msgstr "forkert antal parametre angivet til egenskaben '%s'" ! #: cp/pt.cc:21534 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qT is not a class or namespace" msgstr "'%T' er ikke en klasse eller et navnerum" ! #: cp/pt.cc:21537 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a class or namespace" msgid "%qD is not a class or namespace" msgstr "'%T' er ikke en klasse eller et navnerum" ! #: cp/pt.cc:21887 #, fuzzy, gcc-internal-format msgid "%qT is/uses unnamed type" msgstr "skabelonsparameter '%T' benytter anonym type" ! #: cp/pt.cc:21889 #, fuzzy, gcc-internal-format #| msgid "default argument for `%#D' has type `%T'" msgid "template argument for %qD uses local type %qT" msgstr "standardparameter for '%#D' har typen '%T'" ! #: cp/pt.cc:21899 #, fuzzy, gcc-internal-format msgid "%qT is a variably modified type" msgstr "skabelonsparameter '%T' er en variabelt ændret type" ! #: cp/pt.cc:21914 #, fuzzy, gcc-internal-format msgid "integral expression %qE is not constant" msgstr "størrelsen af medlemmet '%D' er ikke konstant" ! #: cp/pt.cc:21932 #, fuzzy, gcc-internal-format #| msgid " trying to instantiate `%D'" msgid " trying to instantiate %qD" msgstr " ved forsøg på at instantiere '%D'" ! #: cp/pt.cc:26165 #, fuzzy, gcc-internal-format #| msgid "ambiguous class template instantiation for `%#T'" msgid "ambiguous template instantiation for %q#T" msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" ! #: cp/pt.cc:26167 #, fuzzy, gcc-internal-format #| msgid "ambiguous class template instantiation for `%#T'" msgid "ambiguous template instantiation for %q#D" msgstr "tvetydig klasseskabelonsinstantiering for '%#T'" ! #: cp/pt.cc:26173 #, fuzzy #| msgid "%s %+#D" msgid "%s %#qS" msgstr "%s %+#D" ! #: cp/pt.cc:26197 cp/pt.cc:26292 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template `%#D'" msgid "explicit instantiation of non-template %q#D" msgstr "eksplicit instantiering af ikke-skabelon '%#D'" ! #: cp/pt.cc:26203 #, fuzzy, gcc-internal-format #| msgid "declaration of template `%#D'" msgid "explicit instantiation of variable concept %q#D" msgstr "erklæring af skabelon '%#D'" ! #: cp/pt.cc:26205 #, fuzzy, gcc-internal-format #| msgid "explicit specialization of non-template `%T'" msgid "explicit instantiation of function concept %q#D" msgstr "eksplicit specialisering af '%T' der ikke er en skabelon" ! #: cp/pt.cc:26224 #, fuzzy, gcc-internal-format msgid "%qD is not a static data member of a class template" msgstr "'%#D' er ikke et statisk medlem af '%#T'" ! #: cp/pt.cc:26230 cp/pt.cc:26287 #, fuzzy, gcc-internal-format #| msgid "no matching template for `%D' found" msgid "no matching template for %qD found" msgstr "ingen passende skabelon for '%D' fundet" ! #: cp/pt.cc:26235 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "type %qT for explicit instantiation %qD does not match declared type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/pt.cc:26243 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%#D'" msgid "explicit instantiation of %q#D" msgstr "eksplicit instantiering af '%#D'" ! #: cp/pt.cc:26279 #, fuzzy, gcc-internal-format #| msgid "duplicate explicit instantiation of `%#D'" msgid "duplicate explicit instantiation of %q#D" msgstr "'%#D' er blevet eksplicit instantieret mere end én gang" ! #: cp/pt.cc:26302 cp/pt.cc:26369 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids the use of `extern' on explicit instantiations" msgid "ISO C++ 1998 forbids the use of % on explicit instantiations" msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer" ! #: cp/pt.cc:26307 cp/pt.cc:26384 #, fuzzy, gcc-internal-format #| msgid "storage class `%D' applied to template instantiation" msgid "storage class %qD applied to template instantiation" msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering" ! #: cp/pt.cc:26341 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template `%#D'" msgid "explicit instantiation of non-class template %qD" msgstr "eksplicit instantiering af ikke-skabelon '%#D'" ! #: cp/pt.cc:26344 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of non-template type `%T'" msgid "explicit instantiation of non-template type %qT" msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype" ! #: cp/pt.cc:26353 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%#T' before definition of template" msgid "explicit instantiation of %q#T before definition of template" msgstr "eksplicit instantiering af '%T' før definering af skabelonen" ! #: cp/pt.cc:26374 #, fuzzy, gcc-internal-format #| msgid "ISO C++ forbids the use of `%s' on explicit instantiations" msgid "ISO C++ forbids the use of %qE on explicit instantiations" msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer" ! #: cp/pt.cc:26414 #, fuzzy, gcc-internal-format #| msgid "duplicate explicit instantiation of `%#T'" msgid "duplicate explicit instantiation of %q#T" msgstr "'%#T' er blevet eksplicit instantieret mere end én gang" ! #: cp/pt.cc:26724 #, fuzzy, gcc-internal-format #| msgid "explicit specialization of %D after first use" msgid "exception specification of %qD depends on itself" *************** msgstr "eksplicit specialisering af %D e *** 67305,67488 **** #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. ! #: cp/pt.cc:27186 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%D' but no definition available" msgid "explicit instantiation of %qD but no definition available" msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig" ! #: cp/pt.cc:27233 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/pt.cc:27603 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:27633 #, fuzzy, gcc-internal-format #| msgid "`%#T' is not a valid type for a template constant parameter" msgid "%qT is not a valid type for a template non-type parameter because it is not structural" msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " ! #: cp/pt.cc:27642 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:27650 #, fuzzy, gcc-internal-format #| msgid "invalid catch parameter" msgid "invalid template non-type parameter" msgstr "ugyldig catch-parameter" ! #: cp/pt.cc:27652 #, fuzzy, gcc-internal-format #| msgid "`%#T' is not a valid type for a template constant parameter" msgid "%q#T is not a valid type for a template non-type parameter" msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " ! #: cp/pt.cc:29080 #, fuzzy, gcc-internal-format msgid "keyword % not allowed in declarator-id" msgstr "bruger 'typename' uden for en skabelon" ! #: cp/pt.cc:29370 #, fuzzy, gcc-internal-format #| msgid "constructor cannot be static member function" msgid "a concept cannot be constrained" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: cp/pt.cc:29379 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a namespace" msgid "concept %qE not in namespace scope" msgstr "'%T' er ikke et navnerum" ! #: cp/pt.cc:29385 #, fuzzy, gcc-internal-format #| msgid "definition of `%#T' inside template parameter list" msgid "concept %qE has multiple template parameter lists" msgstr "definition af '%#T' inden i skabelonsparameterliste" ! #: cp/pt.cc:29416 #, fuzzy, gcc-internal-format #| msgid "brace-enclosed initializer used to initialize `%T'" msgid "deducing from brace-enclosed initializer list requires %<#include %>" msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'" ! #: cp/pt.cc:30564 #, fuzzy, gcc-internal-format msgid "non-deducible template %qT used without template arguments" msgstr "ikke-skabelon benyttet som skabelon" ! #: cp/pt.cc:30576 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30582 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "use %qD directly instead" msgstr "#include indlejret for dybt" ! #: cp/pt.cc:30693 #, gcc-internal-format msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" msgstr "" ! #: cp/pt.cc:30700 #, fuzzy, gcc-internal-format msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:30712 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "class template argument deduction failed:" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30715 #, fuzzy, gcc-internal-format #| msgid "function not considered for inlining" msgid "explicit deduction guides not considered for copy-initialization" msgstr "funktion overvejes ikke for indbygning" #. TODO: Pass down location from cp_finish_decl. ! #: cp/pt.cc:30729 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30733 #, fuzzy, gcc-internal-format msgid "explicit deduction guide declared here" msgstr "Ugyldig erklæring" ! #: cp/pt.cc:30747 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "%qT may not intend to support class template argument deduction" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30749 #, gcc-internal-format msgid "add a deduction guide to suppress this warning" msgstr "" ! #: cp/pt.cc:30860 #, gcc-internal-format msgid "direct-list-initialization of % requires exactly one element" msgstr "" ! #: cp/pt.cc:30863 #, gcc-internal-format msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" msgstr "" ! #: cp/pt.cc:30942 #, fuzzy, gcc-internal-format #| msgid "Invalid method declaration, return type required" msgid "unable to deduce lambda return type from %qE" msgstr "Ugyldig metodeerklæring, returtype påkrævet" ! #: cp/pt.cc:30945 #, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "" ! #: cp/pt.cc:31020 #, gcc-internal-format msgid "placeholder constraints not satisfied" msgstr "" ! #: cp/pt.cc:31024 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced initializer does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31028 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced return type does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31032 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced expression type does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31172 #, fuzzy, gcc-internal-format msgid "invalid use of %qT in template argument" msgstr "ugyldig standardparameter i skabelon" --- 67334,67517 ---- #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. ! #: cp/pt.cc:27200 #, fuzzy, gcc-internal-format #| msgid "explicit instantiation of `%D' but no definition available" msgid "explicit instantiation of %qD but no definition available" msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig" ! #: cp/pt.cc:27247 #, fuzzy, gcc-internal-format #| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'" msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use %<-ftemplate-depth=%> to increase the maximum)" msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'" ! #: cp/pt.cc:27617 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "non-type template parameters of deduced class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:27647 #, fuzzy, gcc-internal-format #| msgid "`%#T' is not a valid type for a template constant parameter" msgid "%qT is not a valid type for a template non-type parameter because it is not structural" msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " ! #: cp/pt.cc:27656 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "non-type template parameters of class type only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:27664 #, fuzzy, gcc-internal-format #| msgid "invalid catch parameter" msgid "invalid template non-type parameter" msgstr "ugyldig catch-parameter" ! #: cp/pt.cc:27666 #, fuzzy, gcc-internal-format #| msgid "`%#T' is not a valid type for a template constant parameter" msgid "%q#T is not a valid type for a template non-type parameter" msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant " ! #: cp/pt.cc:29094 #, fuzzy, gcc-internal-format msgid "keyword % not allowed in declarator-id" msgstr "bruger 'typename' uden for en skabelon" ! #: cp/pt.cc:29384 #, fuzzy, gcc-internal-format #| msgid "constructor cannot be static member function" msgid "a concept cannot be constrained" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: cp/pt.cc:29393 #, fuzzy, gcc-internal-format #| msgid "`%T' is not a namespace" msgid "concept %qE not in namespace scope" msgstr "'%T' er ikke et navnerum" ! #: cp/pt.cc:29399 #, fuzzy, gcc-internal-format #| msgid "definition of `%#T' inside template parameter list" msgid "concept %qE has multiple template parameter lists" msgstr "definition af '%#T' inden i skabelonsparameterliste" ! #: cp/pt.cc:29430 #, fuzzy, gcc-internal-format #| msgid "brace-enclosed initializer used to initialize `%T'" msgid "deducing from brace-enclosed initializer list requires %<#include %>" msgstr "startværdi i krøllede paranteser benyttet til at klargøre '%T'" ! #: cp/pt.cc:30578 #, fuzzy, gcc-internal-format msgid "non-deducible template %qT used without template arguments" msgstr "ikke-skabelon benyttet som skabelon" ! #: cp/pt.cc:30590 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "alias template deduction only available with %<-std=c++20%> or %<-std=gnu++20%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30596 #, fuzzy, gcc-internal-format #| msgid "#include nested too deeply" msgid "use %qD directly instead" msgstr "#include indlejret for dybt" ! #: cp/pt.cc:30707 #, gcc-internal-format msgid "cannot deduce template arguments for copy-initialization of %qT, as it has no non-explicit deduction guides or user-declared constructors" msgstr "" ! #: cp/pt.cc:30714 #, fuzzy, gcc-internal-format msgid "cannot deduce template arguments of %qT, as it has no viable deduction guides" msgstr "skabelonsparameter er påkrævet for '%T'" ! #: cp/pt.cc:30726 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "class template argument deduction failed:" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30729 #, fuzzy, gcc-internal-format #| msgid "function not considered for inlining" msgid "explicit deduction guides not considered for copy-initialization" msgstr "funktion overvejes ikke for indbygning" #. TODO: Pass down location from cp_finish_decl. ! #: cp/pt.cc:30743 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "class template argument deduction for %qT failed: explicit deduction guide selected in copy-list-initialization" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30747 #, fuzzy, gcc-internal-format msgid "explicit deduction guide declared here" msgstr "Ugyldig erklæring" ! #: cp/pt.cc:30761 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "%qT may not intend to support class template argument deduction" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/pt.cc:30763 #, gcc-internal-format msgid "add a deduction guide to suppress this warning" msgstr "" ! #: cp/pt.cc:30874 #, gcc-internal-format msgid "direct-list-initialization of % requires exactly one element" msgstr "" ! #: cp/pt.cc:30877 #, gcc-internal-format msgid "for deduction to %, use copy-list-initialization (i.e. add %<=%> before the %<{%>)" msgstr "" ! #: cp/pt.cc:30956 #, fuzzy, gcc-internal-format #| msgid "Invalid method declaration, return type required" msgid "unable to deduce lambda return type from %qE" msgstr "Ugyldig metodeerklæring, returtype påkrævet" ! #: cp/pt.cc:30959 #, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "" ! #: cp/pt.cc:31034 #, gcc-internal-format msgid "placeholder constraints not satisfied" msgstr "" ! #: cp/pt.cc:31038 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced initializer does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31042 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced return type does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31046 #, fuzzy, gcc-internal-format #| msgid "insn does not satisfy its constraints:" msgid "deduced expression type does not satisfy placeholder constraints" msgstr "instruktion tilfredsstiller ikke sine begrænsninger:" ! #: cp/pt.cc:31186 #, fuzzy, gcc-internal-format msgid "invalid use of %qT in template argument" msgstr "ugyldig standardparameter i skabelon" *************** msgstr "flertydig funktion uden kontekst *** 69809,69991 **** msgid "insufficient contextual information to determine type" msgstr "utilstrækkelige kontekstuelle oplysninger til at afgøre typen" ! #: cp/typeck2.cc:812 #, fuzzy, gcc-internal-format #| msgid "constructor syntax used, but no constructor declared for type `%T'" msgid "constructor syntax used, but no constructor declared for type %qT" msgstr "konstruktionsfunktionsyntaks benyttet, men ingen konstruktionsfunktion er erklæret for typen '%T'" ! #: cp/typeck2.cc:885 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "% variable %qD does not have a constant initializer" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/typeck2.cc:1064 #, fuzzy #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" ! #: cp/typeck2.cc:1076 cp/typeck2.cc:1090 #, fuzzy #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" msgid "narrowing conversion of %qE from %qH to %qI" msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" ! #: cp/typeck2.cc:1079 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid " the expression has a constant value but is not a C++ constant-expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/typeck2.cc:1254 #, fuzzy, gcc-internal-format #| msgid "initializer-string for array of chars is too long" msgid "initializer-string for %qT is too long" msgstr "startværdistrengen til char-tabellen er for lang" ! #: cp/typeck2.cc:1317 #, gcc-internal-format msgid "initializing a base class of type %qT results in object slicing" msgstr "" ! #: cp/typeck2.cc:1319 #, fuzzy, gcc-internal-format #| msgid "braces around scalar initializer" msgid "remove %<{ }%> around initializer" msgstr "krøllede paranteser omkring skalarstartværdi" ! #: cp/typeck2.cc:1339 #, gcc-internal-format msgid "cannot initialize aggregate of type %qT with a compound literal" msgstr "" ! #: cp/typeck2.cc:1823 cp/typeck2.cc:1853 #, fuzzy, gcc-internal-format #| msgid "missing initializer for member `%D'" msgid "missing initializer for member %qD" msgstr "manglende startværdi for medlemmet '%D'" ! #: cp/typeck2.cc:1830 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD is uninitialized reference" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/typeck2.cc:1837 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD with uninitialized reference fields" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/typeck2.cc:1922 #, fuzzy, gcc-internal-format #| msgid "template-id `%D' for `%+D' does not match any template declaration" msgid "designator order for field %qD does not match declaration order in %qT" msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring" ! #: cp/typeck2.cc:1995 #, fuzzy, gcc-internal-format #| msgid "no field `%D' in union being initialized" msgid "no field %qD found in union being initialized" msgstr "intet felt '%D' i union der tildeles startværdi" ! #: cp/typeck2.cc:2006 #, gcc-internal-format msgid "index value instead of field name in union initializer" msgstr "indeksværdi i stedet for feltnavn i union-startværdi" ! #: cp/typeck2.cc:2222 #, gcc-internal-format msgid "circular pointer delegation detected" msgstr "fundet en henvisningsefterfølgelse der går i ring" ! #: cp/typeck2.cc:2236 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' has non-pointer type `%T'" msgid "base operand of %<->%> has non-pointer type %qT" msgstr "grundoperanden til '->' har en ikke-henvisningstype '%T'" ! #: cp/typeck2.cc:2266 #, fuzzy, gcc-internal-format #| msgid "result of `operator->()' yields non-pointer result" msgid "result of %()%> yields non-pointer result" msgstr "resultatet af 'operator->()' er ikke en henvisning" ! #: cp/typeck2.cc:2268 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' is not a pointer" msgid "base operand of %<->%> is not a pointer" msgstr "grundoperanden til '->' er ikke en henvisning" ! #: cp/typeck2.cc:2295 #, fuzzy, gcc-internal-format #| msgid "`%E' cannot be used as a member pointer, since it is of type `%T'" msgid "%qE cannot be used as a member pointer, since it is of type %qT" msgstr "'%E' kan ikke bruges som en medlemshenvisning eftersom udtrykkets type er '%T'" ! #: cp/typeck2.cc:2304 #, fuzzy, gcc-internal-format #| msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'" msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" msgstr "kan ikke anvende medlemshenvisning '%E' på '%E' som er af den ikke-sammensatte type '%T'" ! #: cp/typeck2.cc:2326 #, fuzzy, gcc-internal-format #| msgid "member type `%T::' incompatible with object type `%T'" msgid "pointer to member type %qT incompatible with object type %qT" msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'" ! #: cp/typeck2.cc:2384 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an rvalue" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2395 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an lvalue" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2403 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an lvalue before C++20" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2444 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "functional cast to array type %qT" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/typeck2.cc:2461 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "% cannot be constrained" msgstr "funktion kan ikke indbygges" ! #: cp/typeck2.cc:2466 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/typeck2.cc:2491 #, fuzzy, gcc-internal-format #| msgid "default-initialization of `%#D', which has reference type" msgid "invalid value-initialization of reference type" msgstr "standardklargøring af '%#D' som er af en referencetype" ! #: cp/typeck2.cc:2732 #, fuzzy, gcc-internal-format #| msgid "call to function `%D' which throws incomplete type `%#T'" msgid "call to function %qD which throws incomplete type %q#T" msgstr "kald af en funktion '%D' som kaster en ufuldstændig type '%#T'" ! #: cp/typeck2.cc:2735 #, fuzzy, gcc-internal-format #| msgid "call to function which throws incomplete type `%#T'" msgid "call to function which throws incomplete type %q#T" --- 69838,70020 ---- msgid "insufficient contextual information to determine type" msgstr "utilstrækkelige kontekstuelle oplysninger til at afgøre typen" ! #: cp/typeck2.cc:833 #, fuzzy, gcc-internal-format #| msgid "constructor syntax used, but no constructor declared for type `%T'" msgid "constructor syntax used, but no constructor declared for type %qT" msgstr "konstruktionsfunktionsyntaks benyttet, men ingen konstruktionsfunktion er erklæret for typen '%T'" ! #: cp/typeck2.cc:903 #, fuzzy, gcc-internal-format #| msgid "invalid in-class initialization of static data member of non-integral type `%T'" msgid "% variable %qD does not have a constant initializer" msgstr "ugyldig tildeling af startværdi i klasse til statisk datamedlem af en ikke-heltalstype '%T'" ! #: cp/typeck2.cc:1082 #, fuzzy #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" msgid "narrowing conversion of %qE from %qH to %qI is ill-formed in C++11" msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" ! #: cp/typeck2.cc:1094 cp/typeck2.cc:1108 #, fuzzy #| msgid "conversion of `%E' from `%T' to `%T' is ambiguous" msgid "narrowing conversion of %qE from %qH to %qI" msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt" ! #: cp/typeck2.cc:1097 #, fuzzy, gcc-internal-format #| msgid "size of array is not an integral constant-expression" msgid " the expression has a constant value but is not a C++ constant-expression" msgstr "størrelsen af tabel er ikke af et heltalligt konstantudtryk" ! #: cp/typeck2.cc:1272 #, fuzzy, gcc-internal-format #| msgid "initializer-string for array of chars is too long" msgid "initializer-string for %qT is too long" msgstr "startværdistrengen til char-tabellen er for lang" ! #: cp/typeck2.cc:1335 #, gcc-internal-format msgid "initializing a base class of type %qT results in object slicing" msgstr "" ! #: cp/typeck2.cc:1337 #, fuzzy, gcc-internal-format #| msgid "braces around scalar initializer" msgid "remove %<{ }%> around initializer" msgstr "krøllede paranteser omkring skalarstartværdi" ! #: cp/typeck2.cc:1357 #, gcc-internal-format msgid "cannot initialize aggregate of type %qT with a compound literal" msgstr "" ! #: cp/typeck2.cc:1841 cp/typeck2.cc:1871 #, fuzzy, gcc-internal-format #| msgid "missing initializer for member `%D'" msgid "missing initializer for member %qD" msgstr "manglende startværdi for medlemmet '%D'" ! #: cp/typeck2.cc:1848 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD is uninitialized reference" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/typeck2.cc:1855 #, fuzzy, gcc-internal-format #| msgid "member `%D' is uninitialized reference" msgid "member %qD with uninitialized reference fields" msgstr "medlemmet '%D' er en reference uden startværdi" ! #: cp/typeck2.cc:1940 #, fuzzy, gcc-internal-format #| msgid "template-id `%D' for `%+D' does not match any template declaration" msgid "designator order for field %qD does not match declaration order in %qT" msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring" ! #: cp/typeck2.cc:2013 #, fuzzy, gcc-internal-format #| msgid "no field `%D' in union being initialized" msgid "no field %qD found in union being initialized" msgstr "intet felt '%D' i union der tildeles startværdi" ! #: cp/typeck2.cc:2024 #, gcc-internal-format msgid "index value instead of field name in union initializer" msgstr "indeksværdi i stedet for feltnavn i union-startværdi" ! #: cp/typeck2.cc:2240 #, gcc-internal-format msgid "circular pointer delegation detected" msgstr "fundet en henvisningsefterfølgelse der går i ring" ! #: cp/typeck2.cc:2254 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' has non-pointer type `%T'" msgid "base operand of %<->%> has non-pointer type %qT" msgstr "grundoperanden til '->' har en ikke-henvisningstype '%T'" ! #: cp/typeck2.cc:2284 #, fuzzy, gcc-internal-format #| msgid "result of `operator->()' yields non-pointer result" msgid "result of %()%> yields non-pointer result" msgstr "resultatet af 'operator->()' er ikke en henvisning" ! #: cp/typeck2.cc:2286 #, fuzzy, gcc-internal-format #| msgid "base operand of `->' is not a pointer" msgid "base operand of %<->%> is not a pointer" msgstr "grundoperanden til '->' er ikke en henvisning" ! #: cp/typeck2.cc:2313 #, fuzzy, gcc-internal-format #| msgid "`%E' cannot be used as a member pointer, since it is of type `%T'" msgid "%qE cannot be used as a member pointer, since it is of type %qT" msgstr "'%E' kan ikke bruges som en medlemshenvisning eftersom udtrykkets type er '%T'" ! #: cp/typeck2.cc:2322 #, fuzzy, gcc-internal-format #| msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'" msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT" msgstr "kan ikke anvende medlemshenvisning '%E' på '%E' som er af den ikke-sammensatte type '%T'" ! #: cp/typeck2.cc:2344 #, fuzzy, gcc-internal-format #| msgid "member type `%T::' incompatible with object type `%T'" msgid "pointer to member type %qT incompatible with object type %qT" msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'" ! #: cp/typeck2.cc:2402 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an rvalue" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2413 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an lvalue" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2421 #, fuzzy, gcc-internal-format #| msgid "pointer to member function used in arithmetic" msgid "pointer-to-member-function type %qT requires an lvalue before C++20" msgstr "henvisning til en medlemsfunktion benyttet i udregning" ! #: cp/typeck2.cc:2462 #, fuzzy, gcc-internal-format #| msgid "invalid cast to function type `%T'" msgid "functional cast to array type %qT" msgstr "ugyldig omtvingelse til funktionstypen '%T'" ! #: cp/typeck2.cc:2479 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "% cannot be constrained" msgstr "funktion kan ikke indbygges" ! #: cp/typeck2.cc:2484 #, fuzzy, gcc-internal-format #| msgid "template argument %d is invalid" msgid "% only available with %<-std=c++2b%> or %<-std=gnu++2b%>" msgstr "skabelonsparameter %d er ugyldig" ! #: cp/typeck2.cc:2509 #, fuzzy, gcc-internal-format #| msgid "default-initialization of `%#D', which has reference type" msgid "invalid value-initialization of reference type" msgstr "standardklargøring af '%#D' som er af en referencetype" ! #: cp/typeck2.cc:2750 #, fuzzy, gcc-internal-format #| msgid "call to function `%D' which throws incomplete type `%#T'" msgid "call to function %qD which throws incomplete type %q#T" msgstr "kald af en funktion '%D' som kaster en ufuldstændig type '%#T'" ! #: cp/typeck2.cc:2753 #, fuzzy, gcc-internal-format #| msgid "call to function which throws incomplete type `%#T'" msgid "call to function which throws incomplete type %q#T" *************** msgstr "'%s' er erklæret inline efter a *** 70022,70028 **** msgid "only % and % flags are allowed for % attribute" msgstr "" ! #: d/d-builtins.cc:816 #, fuzzy, gcc-internal-format msgid "conflicting types for built-in function %qs; expected %qs" msgstr "modstridende typer for den indbyggede funktion '%s'" --- 70051,70057 ---- msgid "only % and % flags are allowed for % attribute" msgstr "" ! #: d/d-builtins.cc:819 #, fuzzy, gcc-internal-format msgid "conflicting types for built-in function %qs; expected %qs" msgstr "modstridende typer for den indbyggede funktion '%s'" *************** msgstr "" *** 70234,70258 **** msgid "size is too large" msgstr "%s=%s er for stor" ! #: d/decl.cc:1374 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "function requires a dual-context, which is not yet supported by GDC" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: d/decl.cc:1551 #, fuzzy, gcc-internal-format #| msgid "address of register variable `%s' requested" msgid "explicit register variable %qs declared %" msgstr "forespørgsel efter adressen af registervariablen '%s'" ! #: d/decl.cc:1554 #, fuzzy, gcc-internal-format #| msgid "address of register variable `%s' requested" msgid "explicit register variable %qs declared thread local" msgstr "forespørgsel efter adressen af registervariablen '%s'" ! #: d/decl.cc:1767 #, gcc-internal-format msgid "mismatch between declaration %qE size (%wd) and its initializer size (%wd)" msgstr "" --- 70263,70287 ---- msgid "size is too large" msgstr "%s=%s er for stor" ! #: d/decl.cc:1394 #, fuzzy, gcc-internal-format #| msgid "Profiling is not supported on this target." msgid "function requires a dual-context, which is not yet supported by GDC" msgstr "Profilering er ikke understøttet på målarkitekturen." ! #: d/decl.cc:1571 #, fuzzy, gcc-internal-format #| msgid "address of register variable `%s' requested" msgid "explicit register variable %qs declared %" msgstr "forespørgsel efter adressen af registervariablen '%s'" ! #: d/decl.cc:1574 #, fuzzy, gcc-internal-format #| msgid "address of register variable `%s' requested" msgid "explicit register variable %qs declared thread local" msgstr "forespørgsel efter adressen af registervariablen '%s'" ! #: d/decl.cc:1787 #, gcc-internal-format msgid "mismatch between declaration %qE size (%wd) and its initializer size (%wd)" msgstr "" *************** msgstr "%s understøtter ikke %s" *** 70303,70321 **** msgid "recursive reference %qs" msgstr "kan ikke erklære reference til '%#T'" ! #: d/expr.cc:2180 d/expr.cc:3075 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "non-constant expression %qs" msgstr "overløb i konstant udtryk" ! #: d/expr.cc:3042 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "%qs is not an expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: d/expr.cc:3049 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "type %qs is not an expression" --- 70332,70350 ---- msgid "recursive reference %qs" msgstr "kan ikke erklære reference til '%#T'" ! #: d/expr.cc:2180 d/expr.cc:3079 #, fuzzy, gcc-internal-format #| msgid "overflow in constant expression" msgid "non-constant expression %qs" msgstr "overløb i konstant udtryk" ! #: d/expr.cc:3046 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "%qs is not an expression" msgstr "Manglende eller ugyldigt konstant udtryk" ! #: d/expr.cc:3053 #, fuzzy, gcc-internal-format #| msgid "Missing or invalid constant expression" msgid "type %qs is not an expression" *************** msgstr "" *** 70426,70437 **** msgid "missing or corrupt object.d" msgstr "" ! #: d/types.cc:871 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid expression for output modifier '%c'" msgid "invalid expression for static array dimension: %s" msgstr "ugyldig udtryk til uddataændringen »%c«" #: fortran/arith.cc:47 #, gcc-internal-format, gfc-internal-format msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER" --- 70455,70472 ---- msgid "missing or corrupt object.d" msgstr "" ! #: d/types.cc:902 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid expression for output modifier '%c'" msgid "invalid expression for static array dimension: %s" msgstr "ugyldig udtryk til uddataændringen »%c«" + #: d/types.cc:1110 + #, fuzzy, gcc-internal-format + #| msgid "template-id `%D' for `%+D' does not match any template declaration" + msgid "size of %qs (%wd) differ from its declared size (%wd)" + msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring" + #: fortran/arith.cc:47 #, gcc-internal-format, gfc-internal-format msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER" *************** msgstr "Nul-længde tegnkonstant ved %0" *** 70485,70491 **** msgid "Invalid type in arithmetic operation at %L" msgstr "Nul-længde tegnkonstant ved %0" ! #: fortran/arith.cc:126 fortran/arith.cc:2060 #, gcc-internal-format msgid "gfc_arith_error(): Bad error code" msgstr "" --- 70520,70526 ---- msgid "Invalid type in arithmetic operation at %L" msgstr "Nul-længde tegnkonstant ved %0" ! #: fortran/arith.cc:126 fortran/arith.cc:2071 #, gcc-internal-format msgid "gfc_arith_error(): Bad error code" msgstr "" *************** msgstr "ia64_print_operand: ukendt kode" *** 70568,70652 **** msgid "compare_real(): Bad operator" msgstr "" ! #: fortran/arith.cc:1124 #, gcc-internal-format msgid "gfc_compare_expr(): Bad basic type" msgstr "" ! #: fortran/arith.cc:1707 #, gcc-internal-format msgid "eval_intrinsic(): Bad operator" msgstr "" ! #: fortran/arith.cc:1766 #, gcc-internal-format msgid "eval_type_intrinsic0(): op NULL" msgstr "" ! #: fortran/arith.cc:2028 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Arithmetic OK converting %s to %s at %L" msgstr "kunne ikke konvertere '%E' til '%T'" ! #: fortran/arith.cc:2032 #, gcc-internal-format msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2037 #, gcc-internal-format msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2042 #, gcc-internal-format msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2047 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "division by zero in `%E %% 0'" msgid "Division by zero converting %s to %s at %L" msgstr "division med nul i '%E %% 0'" ! #: fortran/arith.cc:2051 #, gcc-internal-format, gfc-internal-format msgid "Array operands are incommensurate converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2055 #, gcc-internal-format, gfc-internal-format msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2145 fortran/arith.cc:2264 fortran/arith.cc:2327 ! #: fortran/arith.cc:2382 fortran/arith.cc:2445 fortran/arith.cc:2517 ! #: fortran/arith.cc:2587 #, fuzzy, gcc-internal-format #| msgid "conversion from NaN to int" msgid "Conversion from %qs to %qs at %L" msgstr "konvertering fra NaN til int" ! #: fortran/arith.cc:2177 fortran/arith.cc:2213 fortran/arith.cc:2255 ! #: fortran/arith.cc:2317 fortran/arith.cc:2372 fortran/arith.cc:2435 ! #: fortran/arith.cc:2507 fortran/arith.cc:2579 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "Change of value in conversion from %qs to %qs at %L" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: fortran/arith.cc:2421 fortran/arith.cc:2493 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: fortran/arith.cc:2672 #, gcc-internal-format msgid "The Hollerith constant at %L is truncated in conversion to %qs" msgstr "" ! #: fortran/arith.cc:2701 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Character constant at %0 has no closing apostrophe at %1" msgid "The character constant at %L is truncated in conversion to %s" --- 70603,70687 ---- msgid "compare_real(): Bad operator" msgstr "" ! #: fortran/arith.cc:1129 #, gcc-internal-format msgid "gfc_compare_expr(): Bad basic type" msgstr "" ! #: fortran/arith.cc:1718 #, gcc-internal-format msgid "eval_intrinsic(): Bad operator" msgstr "" ! #: fortran/arith.cc:1777 #, gcc-internal-format msgid "eval_type_intrinsic0(): op NULL" msgstr "" ! #: fortran/arith.cc:2039 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Arithmetic OK converting %s to %s at %L" msgstr "kunne ikke konvertere '%E' til '%T'" ! #: fortran/arith.cc:2043 #, gcc-internal-format msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2048 #, gcc-internal-format msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2053 #, gcc-internal-format msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "" ! #: fortran/arith.cc:2058 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "division by zero in `%E %% 0'" msgid "Division by zero converting %s to %s at %L" msgstr "division med nul i '%E %% 0'" ! #: fortran/arith.cc:2062 #, gcc-internal-format, gfc-internal-format msgid "Array operands are incommensurate converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2066 #, gcc-internal-format, gfc-internal-format msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L" msgstr "" ! #: fortran/arith.cc:2156 fortran/arith.cc:2275 fortran/arith.cc:2338 ! #: fortran/arith.cc:2393 fortran/arith.cc:2456 fortran/arith.cc:2528 ! #: fortran/arith.cc:2598 #, fuzzy, gcc-internal-format #| msgid "conversion from NaN to int" msgid "Conversion from %qs to %qs at %L" msgstr "konvertering fra NaN til int" ! #: fortran/arith.cc:2188 fortran/arith.cc:2224 fortran/arith.cc:2266 ! #: fortran/arith.cc:2328 fortran/arith.cc:2383 fortran/arith.cc:2446 ! #: fortran/arith.cc:2518 fortran/arith.cc:2590 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "Change of value in conversion from %qs to %qs at %L" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: fortran/arith.cc:2432 fortran/arith.cc:2504 #, fuzzy, gcc-internal-format #| msgid "invalid conversion from `%T' to `%T'" msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L" msgstr "ugyldig konvertering fra '%T' til '%T'" ! #: fortran/arith.cc:2683 #, gcc-internal-format msgid "The Hollerith constant at %L is truncated in conversion to %qs" msgstr "" ! #: fortran/arith.cc:2712 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Character constant at %0 has no closing apostrophe at %1" msgid "The character constant at %L is truncated in conversion to %s" *************** msgstr "datamedlem '%D' kan ikke være e *** 70998,71004 **** msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" msgstr "1. parameter til __builtin_spe_predicate skal være en konstant" ! #: fortran/check.cc:123 fortran/resolve.cc:11164 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid suffix on integer constant" msgid "Invalid use of BOZ literal constant at %L" --- 71033,71039 ---- msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants" msgstr "1. parameter til __builtin_spe_predicate skal være en konstant" ! #: fortran/check.cc:123 fortran/resolve.cc:11196 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid suffix on integer constant" msgid "Invalid use of BOZ literal constant at %L" *************** msgstr "" *** 72139,72150 **** msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" msgstr "" ! #: fortran/data.cc:188 fortran/resolve.cc:5236 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L is less than one" msgstr "" ! #: fortran/data.cc:194 fortran/resolve.cc:5266 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L exceeds the string length" msgstr "" --- 72174,72185 ---- msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)" msgstr "" ! #: fortran/data.cc:188 fortran/resolve.cc:5258 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L is less than one" msgstr "" ! #: fortran/data.cc:194 fortran/resolve.cc:5288 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L exceeds the string length" msgstr "" *************** msgstr "" *** 72339,72345 **** msgid "deferred type parameter at %C" msgstr "" ! #: fortran/decl.cc:1159 fortran/resolve.cc:12952 #, gcc-internal-format, gfc-internal-format msgid "Scalar INTEGER expression expected at %L" msgstr "" --- 72374,72380 ---- msgid "deferred type parameter at %C" msgstr "" ! #: fortran/decl.cc:1159 fortran/resolve.cc:12984 #, gcc-internal-format, gfc-internal-format msgid "Scalar INTEGER expression expected at %L" msgstr "" *************** msgstr "" *** 75235,75246 **** msgid "Second argument of defined assignment at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:998 fortran/resolve.cc:17775 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:1005 fortran/resolve.cc:17793 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L must be INTENT(IN)" msgstr "" --- 75270,75281 ---- msgid "Second argument of defined assignment at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:998 fortran/resolve.cc:17810 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L must be INTENT(IN)" msgstr "" ! #: fortran/interface.cc:1005 fortran/resolve.cc:17828 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L must be INTENT(IN)" msgstr "" *************** msgstr "konvertering fra NaN til int" *** 76128,76134 **** #. Use of -fdec-char-conversions allows assignment of character data #. to non-character variables. This not permited for nonconstant #. strings. ! #: fortran/intrinsic.cc:5406 fortran/resolve.cc:11139 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot convert %s to %s at %L" msgstr "kunne ikke konvertere '%E' til '%T'" --- 76163,76169 ---- #. Use of -fdec-char-conversions allows assignment of character data #. to non-character variables. This not permited for nonconstant #. strings. ! #: fortran/intrinsic.cc:5406 fortran/resolve.cc:11171 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot convert %s to %s at %L" msgstr "kunne ikke konvertere '%E' til '%T'" *************** msgstr "" *** 76725,76731 **** msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" msgstr "" ! #: fortran/io.cc:3431 fortran/resolve.cc:15623 #, gcc-internal-format msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" msgstr "" --- 76760,76766 ---- msgid "NAMELIST object %qs in namelist %qs at %L is polymorphic and requires a defined input/output procedure" msgstr "" ! #: fortran/io.cc:3431 fortran/resolve.cc:15658 #, gcc-internal-format msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components" msgstr "" *************** msgstr "" *** 77334,77340 **** msgid "STOP code at %L must be default integer KIND=%d" msgstr "" ! #: fortran/match.cc:3208 fortran/resolve.cc:12278 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "QUIET specifier at %L must be a scalar LOGICAL" --- 77369,77375 ---- msgid "STOP code at %L must be default integer KIND=%d" msgstr "" ! #: fortran/match.cc:3208 fortran/resolve.cc:12310 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "QUIET specifier at %L must be a scalar LOGICAL" *************** msgstr "" *** 78792,78798 **** msgid "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator" msgstr "" ! #: fortran/openmp.cc:4578 fortran/openmp.cc:8355 #, gcc-internal-format, gfc-internal-format msgid "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression" msgstr "" --- 78827,78833 ---- msgid "DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator" msgstr "" ! #: fortran/openmp.cc:4578 fortran/openmp.cc:8371 #, gcc-internal-format, gfc-internal-format msgid "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression" msgstr "" *************** msgstr "" *** 78827,78838 **** msgid "Unexpected junk after $OMP FLUSH statement at %C" msgstr "" ! #: fortran/openmp.cc:5055 fortran/openmp.cc:10302 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:5059 fortran/openmp.cc:10306 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L" msgstr "" --- 78862,78873 ---- msgid "Unexpected junk after $OMP FLUSH statement at %C" msgstr "" ! #: fortran/openmp.cc:5055 fortran/openmp.cc:10318 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:5059 fortran/openmp.cc:10322 #, gcc-internal-format, gfc-internal-format msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L" msgstr "" *************** msgstr "%s understøttes ikke af denne k *** 79224,79230 **** msgid "Cray pointee object %qs of derived type in %s clause at %L" msgstr "%s understøttes ikke af denne konfiguration" ! #: fortran/openmp.cc:6746 fortran/openmp.cc:8223 #, gcc-internal-format msgid "POINTER object %qs of polymorphic type in %s clause at %L" msgstr "" --- 79259,79265 ---- msgid "Cray pointee object %qs of derived type in %s clause at %L" msgstr "%s understøttes ikke af denne konfiguration" ! #: fortran/openmp.cc:6746 fortran/openmp.cc:8239 #, gcc-internal-format msgid "POINTER object %qs of polymorphic type in %s clause at %L" msgstr "" *************** msgstr "%s understøttes ikke af denne k *** 79239,79245 **** msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" msgstr "%s understøttes ikke af denne konfiguration" ! #: fortran/openmp.cc:6766 fortran/openmp.cc:7790 fortran/openmp.cc:7985 #, gcc-internal-format msgid "Assumed size array %qs in %s clause at %L" msgstr "" --- 79274,79280 ---- msgid "Cray pointee object %qs of polymorphic type in %s clause at %L" msgstr "%s understøttes ikke af denne konfiguration" ! #: fortran/openmp.cc:6766 fortran/openmp.cc:7806 fortran/openmp.cc:8001 #, gcc-internal-format msgid "Assumed size array %qs in %s clause at %L" msgstr "" *************** msgstr "" *** 79249,79270 **** msgid "Assumed rank array %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:6785 fortran/openmp.cc:7972 #, gcc-internal-format msgid "POINTER object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6790 fortran/openmp.cc:8227 #, gcc-internal-format msgid "Cray pointer object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6795 fortran/openmp.cc:8230 #, gcc-internal-format msgid "Cray pointee object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6800 fortran/openmp.cc:8218 #, gcc-internal-format msgid "ALLOCATABLE object %qs in %s clause at %L" msgstr "" --- 79284,79305 ---- msgid "Assumed rank array %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:6785 fortran/openmp.cc:7988 #, gcc-internal-format msgid "POINTER object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6790 fortran/openmp.cc:8243 #, gcc-internal-format msgid "Cray pointer object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6795 fortran/openmp.cc:8246 #, gcc-internal-format msgid "Cray pointee object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:6800 fortran/openmp.cc:8234 #, gcc-internal-format msgid "ALLOCATABLE object %qs in %s clause at %L" msgstr "" *************** msgstr "" *** 79300,79307 **** msgid "ORDER clause must not be used together ORDERED at %L" msgstr "" ! #: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10950 ! #: fortran/resolve.cc:12506 #, gcc-internal-format, gfc-internal-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "" --- 79335,79342 ---- msgid "ORDER clause must not be used together ORDERED at %L" msgstr "" ! #: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10982 ! #: fortran/resolve.cc:12538 #, gcc-internal-format, gfc-internal-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "" *************** msgstr "" *** 79361,79367 **** msgid "Object %qs is not a variable at %L; parameters cannot be and need not be mapped" msgstr "" ! #: fortran/openmp.cc:7209 fortran/openmp.cc:10006 #, gcc-internal-format msgid "Object %qs is not a variable at %L" msgstr "" --- 79396,79402 ---- msgid "Object %qs is not a variable at %L; parameters cannot be and need not be mapped" msgstr "" ! #: fortran/openmp.cc:7209 fortran/openmp.cc:10022 #, gcc-internal-format msgid "Object %qs is not a variable at %L" msgstr "" *************** msgstr "" *** 79374,79380 **** #: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282 #: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325 #: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369 ! #: fortran/openmp.cc:7474 fortran/openmp.cc:10030 #, gcc-internal-format msgid "Symbol %qs present on multiple clauses at %L" msgstr "" --- 79409,79415 ---- #: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282 #: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325 #: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369 ! #: fortran/openmp.cc:7474 fortran/openmp.cc:10046 #, gcc-internal-format msgid "Symbol %qs present on multiple clauses at %L" msgstr "" *************** msgstr "" *** 79526,80069 **** msgid "Array is not contiguous at %L" msgstr "overløb i konstant udtryk" ! #: fortran/openmp.cc:7721 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "conflicts with function declaration `%#D'" msgid "Unexpected substring reference in %s clause at %L" msgstr "strider mod funktionserklæring '%#D'" ! #: fortran/openmp.cc:7729 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected complex-parts designator reference in %s clause at %L" msgstr "objekt mangler i brug af '%E'" ! #: fortran/openmp.cc:7738 fortran/openmp.cc:7756 #, gcc-internal-format msgid "%qs in %s clause at %L is not a proper array section" msgstr "" ! #: fortran/openmp.cc:7748 #, gcc-internal-format, gfc-internal-format msgid "Stride should not be specified for array section in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7770 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qs in %s clause at %L is a zero size array section" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: fortran/openmp.cc:7796 #, gcc-internal-format msgid "List item %qs with allocatable components is not permitted in map clause at %L" msgstr "" ! #: fortran/openmp.cc:7815 #, gcc-internal-format, gfc-internal-format msgid "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7837 #, gcc-internal-format, gfc-internal-format msgid "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7858 #, gcc-internal-format, gfc-internal-format msgid "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7874 fortran/openmp.cc:7956 #, gcc-internal-format msgid "THREADPRIVATE object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7877 fortran/openmp.cc:7959 #, gcc-internal-format msgid "Cray pointee %qs in %s clause at %L" msgstr "" #. Non-TARGET (i.e. DISPATCH) requires a C_PTR. ! #: fortran/openmp.cc:7889 #, gcc-internal-format msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)" msgstr "" ! #: fortran/openmp.cc:7950 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% and non-% % clauses on the same construct at %L" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: fortran/openmp.cc:7962 #, fuzzy, gcc-internal-format msgid "Associate name %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:7969 #, gcc-internal-format msgid "Procedure pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7975 #, gcc-internal-format msgid "Cray pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7988 #, gcc-internal-format msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" msgstr "" #. case OMP_LIST_REDUCTION: ! #: fortran/openmp.cc:7998 #, gcc-internal-format msgid "INTENT(IN) POINTER %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8009 #, fuzzy, gcc-internal-format msgid "DETACH event handle %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:8033 #, gcc-internal-format, gfc-internal-format msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:8126 #, gcc-internal-format, gfc-internal-format msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L" msgstr "" ! #: fortran/openmp.cc:8154 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8160 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8168 #, gcc-internal-format msgid "LINEAR variable %qs must be INTEGER at %L" msgstr "" ! #: fortran/openmp.cc:8173 #, gcc-internal-format msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L" msgstr "" ! #: fortran/openmp.cc:8184 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a scalar integer linear-step expression" msgstr "" ! #: fortran/openmp.cc:8201 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause" msgstr "" ! #: fortran/openmp.cc:8235 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%s clause variable %qs at %L is neither a POINTER nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: fortran/openmp.cc:8295 #, gcc-internal-format, gfc-internal-format msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L" msgstr "" ! #: fortran/openmp.cc:8308 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "Value of HINT clause at %L shall be a valid constant hint expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: fortran/openmp.cc:8318 #, gcc-internal-format, gfc-internal-format msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgstr "" ! #: fortran/openmp.cc:8348 #, gcc-internal-format, gfc-internal-format msgid "Incompatible use of TILE and COLLAPSE at %L" msgstr "" ! #: fortran/openmp.cc:8372 #, gcc-internal-format, gfc-internal-format msgid "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or USE_DEVICE_ADDR clause at %L" msgstr "" ! #: fortran/openmp.cc:8375 #, gcc-internal-format, gfc-internal-format msgid "%s must contain at least one MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:8385 #, gcc-internal-format msgid "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)" msgstr "" ! #: fortran/openmp.cc:8390 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "environment variable DJGPP not defined" msgid "The event handle at %L must not be an array element" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: fortran/openmp.cc:8394 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "environment variable DJGPP not defined" msgid "The event handle at %L must not be part of a derived type or class" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: fortran/openmp.cc:8398 #, gcc-internal-format msgid "% clause at %L must not be used together with % clause" msgstr "" ! #: fortran/openmp.cc:8553 #, gcc-internal-format, gfc-internal-format msgid "Expected IF at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8561 #, gcc-internal-format, gfc-internal-format msgid "Expected ELSE at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8673 #, gcc-internal-format msgid "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L" msgstr "" ! #: fortran/openmp.cc:8679 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic variable at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8687 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Expected scalar intrinsic expression at %L in atomic comparison" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/openmp.cc:8695 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8704 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8711 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" msgstr "" ! #: fortran/openmp.cc:8728 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8733 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8745 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8753 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8763 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8779 #, gcc-internal-format msgid "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the variable %qs that the update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8787 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8805 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure" msgstr "" ! #: fortran/openmp.cc:8832 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L" msgstr "" ! #: fortran/openmp.cc:8880 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L" msgstr "" ! #: fortran/openmp.cc:8894 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L" msgstr "" ! #: fortran/openmp.cc:8927 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8951 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L" msgstr "" ! #: fortran/openmp.cc:8958 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L" msgstr "" ! #: fortran/openmp.cc:8981 #, gcc-internal-format msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" msgstr "" ! #: fortran/openmp.cc:8988 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L" msgstr "" ! #: fortran/openmp.cc:8996 #, gcc-internal-format msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" msgstr "" ! #: fortran/openmp.cc:9014 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L" msgstr "" ! #: fortran/openmp.cc:9019 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Expected binary operator between expressions at %0 and at %1" msgid "unexpected !$OMP ATOMIC expression at %L" msgstr "Forventede binær operator mellem udtryk ved %0 og ved %1" ! #: fortran/openmp.cc:9065 #, gcc-internal-format msgid "ORDERED clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9068 #, gcc-internal-format msgid "SCHEDULE clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9076 #, gcc-internal-format, gfc-internal-format msgid "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-block-sequences" msgstr "" ! #: fortran/openmp.cc:9483 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9489 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9495 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must not be THREADPRIVATE at %L" msgstr "" ! #: fortran/openmp.cc:9512 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE at %L" msgstr "" ! #: fortran/openmp.cc:9516 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR at %L" msgstr "" ! #: fortran/openmp.cc:9523 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%s iteration variable used in more than one loop at %L" msgstr "instansvariablen '%s' er erklæret privat" ! #: fortran/openmp.cc:9531 #, gcc-internal-format, gfc-internal-format msgid "%s loop start expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9539 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Invalid token at %0 in expression or subexpression at %1" msgid "%s loop end expression not in canonical form at %L" msgstr "Ugyldigt symbol ved %0 i udtryk eller underudtryk ved %1" ! #: fortran/openmp.cc:9545 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "%s loop bounds reference different iteration variables at %L" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: fortran/openmp.cc:9551 #, gcc-internal-format, gfc-internal-format msgid "%s loop increment not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9561 #, gcc-internal-format, gfc-internal-format msgid "collapsed %s loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9570 fortran/openmp.cc:9578 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for collapsed %s at %L" msgstr "" ! #: fortran/openmp.cc:9785 fortran/openmp.cc:9798 #, gcc-internal-format, gfc-internal-format msgid "The %s directive cannot be specified within a %s region at %L" msgstr "" ! #: fortran/openmp.cc:9817 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9823 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9829 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9845 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" msgstr "" ! #: fortran/openmp.cc:9857 #, gcc-internal-format, gfc-internal-format msgid "%s !$ACC LOOP loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9867 fortran/openmp.cc:9876 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for %s !$ACC LOOP at %L" msgstr "" ! #: fortran/openmp.cc:9892 #, gcc-internal-format, gfc-internal-format msgid "Tiled loop cannot be parallelized across gangs, workers and vectors at the same time at %L" msgstr "" ! #: fortran/openmp.cc:9913 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "overflow in constant expression" msgid "TILE requires constant expression at %L" msgstr "overløb i konstant udtryk" ! #: fortran/openmp.cc:10013 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" msgstr "ugyldig parameter til egenskaben '%s'" ! #: fortran/openmp.cc:10060 #, fuzzy, gcc-internal-format #| msgid "data member `%D' cannot be a member template" msgid "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE ( NAME ) at %L" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: fortran/openmp.cc:10066 #, gcc-internal-format msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10191 #, gcc-internal-format, gfc-internal-format msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause" msgstr "" ! #: fortran/openmp.cc:10205 #, gcc-internal-format, gfc-internal-format msgid "OMP CRITICAL at %L with HINT clause requires a NAME, except when omp_sync_hint_none is used" msgstr "" ! #: fortran/openmp.cc:10211 #, gcc-internal-format msgid "Unexpected !$OMP SCAN at %L outside loop construct with % REDUCTION clause" msgstr "" ! #: fortran/openmp.cc:10232 #, gcc-internal-format msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L" msgstr "" ! #: fortran/openmp.cc:10256 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10264 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10293 #, gcc-internal-format, gfc-internal-format msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L" msgstr "" ! #: fortran/openmp.cc:10315 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L" msgstr "" ! #: fortran/openmp.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10346 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10356 #, gcc-internal-format, gfc-internal-format msgid "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE REDUCTION must be OMP_PRIV at %L" msgstr "" ! #: fortran/openmp.cc:10364 #, gcc-internal-format, gfc-internal-format msgid "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type without default initializer at %L" msgstr "" --- 79561,80109 ---- msgid "Array is not contiguous at %L" msgstr "overløb i konstant udtryk" ! #: fortran/openmp.cc:7725 ! #, gcc-internal-format ! msgid "%qs clause argument must be ALLOCATABLE or a POINTER at %L" ! msgstr "" ! ! #: fortran/openmp.cc:7737 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "conflicts with function declaration `%#D'" msgid "Unexpected substring reference in %s clause at %L" msgstr "strider mod funktionserklæring '%#D'" ! #: fortran/openmp.cc:7745 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected complex-parts designator reference in %s clause at %L" msgstr "objekt mangler i brug af '%E'" ! #: fortran/openmp.cc:7754 fortran/openmp.cc:7772 #, gcc-internal-format msgid "%qs in %s clause at %L is not a proper array section" msgstr "" ! #: fortran/openmp.cc:7764 #, gcc-internal-format, gfc-internal-format msgid "Stride should not be specified for array section in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7786 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%qs in %s clause at %L is a zero size array section" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: fortran/openmp.cc:7812 #, gcc-internal-format msgid "List item %qs with allocatable components is not permitted in map clause at %L" msgstr "" ! #: fortran/openmp.cc:7831 #, gcc-internal-format, gfc-internal-format msgid "TARGET%s with map-type other than TO, FROM, TOFROM, or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7853 #, gcc-internal-format, gfc-internal-format msgid "TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7874 #, gcc-internal-format, gfc-internal-format msgid "TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE on MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:7890 fortran/openmp.cc:7972 #, gcc-internal-format msgid "THREADPRIVATE object %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7893 fortran/openmp.cc:7975 #, gcc-internal-format msgid "Cray pointee %qs in %s clause at %L" msgstr "" #. Non-TARGET (i.e. DISPATCH) requires a C_PTR. ! #: fortran/openmp.cc:7905 #, gcc-internal-format msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)" msgstr "" ! #: fortran/openmp.cc:7966 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids qualified function types" msgid "% and non-% % clauses on the same construct at %L" msgstr "ISO C forbyder funktionsreturtype med modifikationer" ! #: fortran/openmp.cc:7978 #, fuzzy, gcc-internal-format msgid "Associate name %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:7985 #, gcc-internal-format msgid "Procedure pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:7991 #, gcc-internal-format msgid "Cray pointer %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8004 #, gcc-internal-format msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" msgstr "" #. case OMP_LIST_REDUCTION: ! #: fortran/openmp.cc:8014 #, gcc-internal-format msgid "INTENT(IN) POINTER %qs in %s clause at %L" msgstr "" ! #: fortran/openmp.cc:8025 #, fuzzy, gcc-internal-format msgid "DETACH event handle %qs in %s clause at %L" msgstr "Intern oversætterfejl i %s ved %s:%d." ! #: fortran/openmp.cc:8049 #, gcc-internal-format, gfc-internal-format msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:8142 #, gcc-internal-format, gfc-internal-format msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L" msgstr "" ! #: fortran/openmp.cc:8170 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8176 #, gcc-internal-format, gfc-internal-format msgid "LINEAR clause modifier other than VAL used on DO or SIMD construct at %L" msgstr "" ! #: fortran/openmp.cc:8184 #, gcc-internal-format msgid "LINEAR variable %qs must be INTEGER at %L" msgstr "" ! #: fortran/openmp.cc:8189 #, gcc-internal-format msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L" msgstr "" ! #: fortran/openmp.cc:8200 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a scalar integer linear-step expression" msgstr "" ! #: fortran/openmp.cc:8217 #, gcc-internal-format msgid "%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause" msgstr "" ! #: fortran/openmp.cc:8251 #, fuzzy, gcc-internal-format #| msgid "type to vector delete is neither pointer or array type" msgid "%s clause variable %qs at %L is neither a POINTER nor an array" msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype" ! #: fortran/openmp.cc:8311 #, gcc-internal-format, gfc-internal-format msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L" msgstr "" ! #: fortran/openmp.cc:8324 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "size of array `%D' is not an integral constant-expression" msgid "Value of HINT clause at %L shall be a valid constant hint expression" msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk" ! #: fortran/openmp.cc:8334 #, gcc-internal-format, gfc-internal-format msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgstr "" ! #: fortran/openmp.cc:8364 #, gcc-internal-format, gfc-internal-format msgid "Incompatible use of TILE and COLLAPSE at %L" msgstr "" ! #: fortran/openmp.cc:8388 #, gcc-internal-format, gfc-internal-format msgid "TARGET DATA must contain at least one MAP, USE_DEVICE_PTR, or USE_DEVICE_ADDR clause at %L" msgstr "" ! #: fortran/openmp.cc:8391 #, gcc-internal-format, gfc-internal-format msgid "%s must contain at least one MAP clause at %L" msgstr "" ! #: fortran/openmp.cc:8401 #, gcc-internal-format msgid "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)" msgstr "" ! #: fortran/openmp.cc:8406 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "environment variable DJGPP not defined" msgid "The event handle at %L must not be an array element" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: fortran/openmp.cc:8410 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "environment variable DJGPP not defined" msgid "The event handle at %L must not be part of a derived type or class" msgstr "miljøvariablen DJGPP er ikke defineret" ! #: fortran/openmp.cc:8414 #, gcc-internal-format msgid "% clause at %L must not be used together with % clause" msgstr "" ! #: fortran/openmp.cc:8569 #, gcc-internal-format, gfc-internal-format msgid "Expected IF at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8577 #, gcc-internal-format, gfc-internal-format msgid "Expected ELSE at %L in atomic compare capture" msgstr "" ! #: fortran/openmp.cc:8689 #, gcc-internal-format msgid "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L" msgstr "" ! #: fortran/openmp.cc:8695 #, gcc-internal-format, gfc-internal-format msgid "Expected scalar intrinsic variable at %L in atomic comparison" msgstr "" ! #: fortran/openmp.cc:8703 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Expected scalar intrinsic expression at %L in atomic comparison" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/openmp.cc:8711 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8720 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8727 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" msgstr "" ! #: fortran/openmp.cc:8744 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8749 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8761 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8769 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L" msgstr "" ! #: fortran/openmp.cc:8779 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8795 #, gcc-internal-format msgid "For !$OMP ATOMIC COMPARE, the first operand in comparison at %L must be the variable %qs that the update statement writes into at %L" msgstr "" ! #: fortran/openmp.cc:8803 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC COMPARE assignment var = expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8821 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure" msgstr "" ! #: fortran/openmp.cc:8848 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L" msgstr "" ! #: fortran/openmp.cc:8896 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L" msgstr "" ! #: fortran/openmp.cc:8910 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L" msgstr "" ! #: fortran/openmp.cc:8943 #, gcc-internal-format, gfc-internal-format msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L" msgstr "" ! #: fortran/openmp.cc:8967 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L" msgstr "" ! #: fortran/openmp.cc:8974 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L" msgstr "" ! #: fortran/openmp.cc:8997 #, gcc-internal-format msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" msgstr "" ! #: fortran/openmp.cc:9004 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L" msgstr "" ! #: fortran/openmp.cc:9012 #, gcc-internal-format msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" msgstr "" ! #: fortran/openmp.cc:9030 #, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L" msgstr "" ! #: fortran/openmp.cc:9035 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Expected binary operator between expressions at %0 and at %1" msgid "unexpected !$OMP ATOMIC expression at %L" msgstr "Forventede binær operator mellem udtryk ved %0 og ved %1" ! #: fortran/openmp.cc:9081 #, gcc-internal-format msgid "ORDERED clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9084 #, gcc-internal-format msgid "SCHEDULE clause specified together with % REDUCTION clause at %L" msgstr "" ! #: fortran/openmp.cc:9092 #, gcc-internal-format, gfc-internal-format msgid "With INSCAN at %L, expected loop body with !$OMP SCAN between two structured-block-sequences" msgstr "" ! #: fortran/openmp.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9505 #, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9511 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9515 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable must not be THREADPRIVATE at %L" msgstr "" ! #: fortran/openmp.cc:9528 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE or ALLOCATE at %L" msgstr "" ! #: fortran/openmp.cc:9532 #, gcc-internal-format, gfc-internal-format msgid "%s iteration variable present on clause other than PRIVATE, LASTPRIVATE, ALLOCATE or LINEAR at %L" msgstr "" ! #: fortran/openmp.cc:9539 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "instance variable `%s' is declared private" msgid "%s iteration variable used in more than one loop at %L" msgstr "instansvariablen '%s' er erklæret privat" ! #: fortran/openmp.cc:9547 #, gcc-internal-format, gfc-internal-format msgid "%s loop start expression not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9555 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Invalid token at %0 in expression or subexpression at %1" msgid "%s loop end expression not in canonical form at %L" msgstr "Ugyldigt symbol ved %0 i udtryk eller underudtryk ved %1" ! #: fortran/openmp.cc:9561 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid vector type for attribute `%s'" msgid "%s loop bounds reference different iteration variables at %L" msgstr "ugyldig vektortype for egenskaben '%s'" ! #: fortran/openmp.cc:9567 #, gcc-internal-format, gfc-internal-format msgid "%s loop increment not in canonical form at %L" msgstr "" ! #: fortran/openmp.cc:9577 #, gcc-internal-format, gfc-internal-format msgid "collapsed %s loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9586 fortran/openmp.cc:9594 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for collapsed %s at %L" msgstr "" ! #: fortran/openmp.cc:9801 fortran/openmp.cc:9814 #, gcc-internal-format, gfc-internal-format msgid "The %s directive cannot be specified within a %s region at %L" msgstr "" ! #: fortran/openmp.cc:9833 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" msgstr "" ! #: fortran/openmp.cc:9839 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L" msgstr "" ! #: fortran/openmp.cc:9845 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP iteration variable must be of type integer at %L" msgstr "" ! #: fortran/openmp.cc:9861 #, gcc-internal-format, gfc-internal-format msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" msgstr "" ! #: fortran/openmp.cc:9873 #, gcc-internal-format, gfc-internal-format msgid "%s !$ACC LOOP loops not perfectly nested at %L" msgstr "" ! #: fortran/openmp.cc:9883 fortran/openmp.cc:9892 #, gcc-internal-format, gfc-internal-format msgid "not enough DO loops for %s !$ACC LOOP at %L" msgstr "" ! #: fortran/openmp.cc:9908 #, gcc-internal-format, gfc-internal-format msgid "Tiled loop cannot be parallelized across gangs, workers and vectors at the same time at %L" msgstr "" ! #: fortran/openmp.cc:9929 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "overflow in constant expression" msgid "TILE requires constant expression at %L" msgstr "overløb i konstant udtryk" ! #: fortran/openmp.cc:10029 #, fuzzy, gcc-internal-format #| msgid "invalid argument of `%s' attribute" msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L" msgstr "ugyldig parameter til egenskaben '%s'" ! #: fortran/openmp.cc:10076 #, fuzzy, gcc-internal-format #| msgid "data member `%D' cannot be a member template" msgid "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE ( NAME ) at %L" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: fortran/openmp.cc:10082 #, gcc-internal-format msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L" msgstr "" ! #: fortran/openmp.cc:10207 #, gcc-internal-format, gfc-internal-format msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause" msgstr "" ! #: fortran/openmp.cc:10221 #, gcc-internal-format, gfc-internal-format msgid "OMP CRITICAL at %L with HINT clause requires a NAME, except when omp_sync_hint_none is used" msgstr "" ! #: fortran/openmp.cc:10227 #, gcc-internal-format msgid "Unexpected !$OMP SCAN at %L outside loop construct with % REDUCTION clause" msgstr "" ! #: fortran/openmp.cc:10248 #, gcc-internal-format msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L" msgstr "" ! #: fortran/openmp.cc:10272 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_PRIV or OMP_ORIG used in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10280 #, gcc-internal-format, gfc-internal-format msgid "Variable other than OMP_OUT or OMP_IN used in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10309 #, gcc-internal-format, gfc-internal-format msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L" msgstr "" ! #: fortran/openmp.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L" msgstr "" ! #: fortran/openmp.cc:10347 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in combiner of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10362 #, gcc-internal-format, gfc-internal-format msgid "Subroutine call with alternate returns in INITIALIZER clause of !$OMP DECLARE REDUCTION at %L" msgstr "" ! #: fortran/openmp.cc:10372 #, gcc-internal-format, gfc-internal-format msgid "One of actual subroutine arguments in INITIALIZER clause of !$OMP DECLARE REDUCTION must be OMP_PRIV at %L" msgstr "" ! #: fortran/openmp.cc:10380 #, gcc-internal-format, gfc-internal-format msgid "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type without default initializer at %L" msgstr "" *************** msgstr "" *** 81095,81187 **** msgid "Too many components in structure constructor at %L" msgstr "for mange parametre til %s '%+#D'" ! #: fortran/primary.cc:3223 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L" msgstr "" ! #: fortran/primary.cc:3241 #, fuzzy, gcc-internal-format #| msgid "Label %A already defined at %1 when redefined at %0" msgid "Component %qs is initialized twice in the structure constructor at %L" msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0" ! #: fortran/primary.cc:3253 #, gcc-internal-format msgid "Coindexed expression to pointer component %qs in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3307 #, gcc-internal-format msgid "component %qs at %L has already been set by a parent derived type constructor" msgstr "" ! #: fortran/primary.cc:3472 #, gcc-internal-format, gfc-internal-format msgid "%%LOC() as an rvalue at %C" msgstr "" ! #: fortran/primary.cc:3531 #, gcc-internal-format msgid "%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "" ! #: fortran/primary.cc:3562 fortran/primary.cc:3964 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "floating point overflow in expression" msgid "Symbol at %C is not appropriate for an expression" msgstr "kommatalsoverløb i udtryk" ! #: fortran/primary.cc:3667 #, gcc-internal-format msgid "Unexpected use of subroutine name %qs at %C" msgstr "" ! #: fortran/primary.cc:3699 #, fuzzy, gcc-internal-format #| msgid "Statement function `%A' defined at %0 is not used" msgid "Statement function %qs requires argument list at %C" msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt" ! #: fortran/primary.cc:3702 #, fuzzy, gcc-internal-format #| msgid "%s: option `%s' requires an argument\n" msgid "Function %qs requires an argument list at %C" msgstr "%s: tilvalget '%s' skal have en parameter\n" ! #: fortran/primary.cc:3752 #, fuzzy, gcc-internal-format msgid "Missing argument to %qs at %C" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: fortran/primary.cc:3765 #, gcc-internal-format, gfc-internal-format msgid "The leftmost part-ref in a data-ref cannot be a function reference at %C" msgstr "" ! #: fortran/primary.cc:3920 #, fuzzy, gcc-internal-format msgid "Missing argument list in function %qs at %C" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: fortran/primary.cc:4034 #, fuzzy, gcc-internal-format #| msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" msgid "Derived type %qs cannot be used as a variable at %C" msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++" ! #: fortran/primary.cc:4075 #, gcc-internal-format, gfc-internal-format msgid "Named constant at %C in an EQUIVALENCE" msgstr "" ! #: fortran/primary.cc:4080 #, fuzzy, gcc-internal-format #| msgid "Spurious sign in FORMAT statement at %0" msgid "PARAMETER %qs shall not appear in a DATA statement at %C" msgstr "Mystisk fortegn i FORMAT-sætning ved %0" ! #: fortran/primary.cc:4116 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not a valid filename" msgid "%qs at %C is not a variable" --- 81135,81227 ---- msgid "Too many components in structure constructor at %L" msgstr "for mange parametre til %s '%+#D'" ! #: fortran/primary.cc:3224 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L" msgstr "" ! #: fortran/primary.cc:3242 #, fuzzy, gcc-internal-format #| msgid "Label %A already defined at %1 when redefined at %0" msgid "Component %qs is initialized twice in the structure constructor at %L" msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0" ! #: fortran/primary.cc:3254 #, gcc-internal-format msgid "Coindexed expression to pointer component %qs in structure constructor at %L" msgstr "" ! #: fortran/primary.cc:3308 #, gcc-internal-format msgid "component %qs at %L has already been set by a parent derived type constructor" msgstr "" ! #: fortran/primary.cc:3473 #, gcc-internal-format, gfc-internal-format msgid "%%LOC() as an rvalue at %C" msgstr "" ! #: fortran/primary.cc:3532 #, gcc-internal-format msgid "%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "" ! #: fortran/primary.cc:3563 fortran/primary.cc:3965 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "floating point overflow in expression" msgid "Symbol at %C is not appropriate for an expression" msgstr "kommatalsoverløb i udtryk" ! #: fortran/primary.cc:3668 #, gcc-internal-format msgid "Unexpected use of subroutine name %qs at %C" msgstr "" ! #: fortran/primary.cc:3700 #, fuzzy, gcc-internal-format #| msgid "Statement function `%A' defined at %0 is not used" msgid "Statement function %qs requires argument list at %C" msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt" ! #: fortran/primary.cc:3703 #, fuzzy, gcc-internal-format #| msgid "%s: option `%s' requires an argument\n" msgid "Function %qs requires an argument list at %C" msgstr "%s: tilvalget '%s' skal have en parameter\n" ! #: fortran/primary.cc:3753 #, fuzzy, gcc-internal-format msgid "Missing argument to %qs at %C" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: fortran/primary.cc:3766 #, gcc-internal-format, gfc-internal-format msgid "The leftmost part-ref in a data-ref cannot be a function reference at %C" msgstr "" ! #: fortran/primary.cc:3921 #, fuzzy, gcc-internal-format msgid "Missing argument list in function %qs at %C" msgstr "der mangler en parameter til tilvalget '-%s'" ! #: fortran/primary.cc:4035 #, fuzzy, gcc-internal-format #| msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" msgid "Derived type %qs cannot be used as a variable at %C" msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++" ! #: fortran/primary.cc:4076 #, gcc-internal-format, gfc-internal-format msgid "Named constant at %C in an EQUIVALENCE" msgstr "" ! #: fortran/primary.cc:4081 #, fuzzy, gcc-internal-format #| msgid "Spurious sign in FORMAT statement at %0" msgid "PARAMETER %qs shall not appear in a DATA statement at %C" msgstr "Mystisk fortegn i FORMAT-sætning ved %0" ! #: fortran/primary.cc:4117 #, fuzzy, gcc-internal-format #| msgid "\"%s\" is not a valid filename" msgid "%qs at %C is not a variable" *************** msgstr "" *** 81588,81594 **** msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" msgstr "" ! #: fortran/resolve.cc:2014 fortran/resolve.cc:10464 fortran/resolve.cc:12433 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Label %A already defined at %1 when redefined at %0" msgid "Label %d referenced at %L is never defined" --- 81628,81634 ---- msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" msgstr "" ! #: fortran/resolve.cc:2014 fortran/resolve.cc:10496 fortran/resolve.cc:12465 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Label %A already defined at %1 when redefined at %0" msgid "Label %d referenced at %L is never defined" *************** msgstr "" *** 81715,81721 **** msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" msgstr "'%D' erklærer ikke en skabelonstype" ! #: fortran/resolve.cc:3063 fortran/resolve.cc:17705 #, gcc-internal-format msgid "Function %qs at %L has no IMPLICIT type" msgstr "" --- 81755,81761 ---- msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?" msgstr "'%D' erklærer ikke en skabelonstype" ! #: fortran/resolve.cc:3063 fortran/resolve.cc:17740 #, gcc-internal-format msgid "Function %qs at %L has no IMPLICIT type" msgstr "" *************** msgstr "" *** 81890,82094 **** msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" msgstr "" ! #: fortran/resolve.cc:4339 fortran/resolve.cc:4354 #, gcc-internal-format, gfc-internal-format msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" msgstr "" ! #: fortran/resolve.cc:4393 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Equality comparison for %s at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:4395 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Inequality comparison for %s at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:4455 #, gcc-internal-format msgid "resolve_operator(): Bad intrinsic" msgstr "" ! #: fortran/resolve.cc:4741 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4746 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4756 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4761 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4782 #, gcc-internal-format, gfc-internal-format msgid "Illegal stride of zero at %L" msgstr "" ! #: fortran/resolve.cc:4799 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4807 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4823 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4832 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4848 #, fuzzy, gcc-internal-format #| msgid "subscript missing in array reference" msgid "check_dimension(): Bad array reference" msgstr "indeks mangler i tabelopslag" ! #: fortran/resolve.cc:4871 #, gcc-internal-format, gfc-internal-format msgid "Rightmost upper bound of assumed size array section not specified at %L" msgstr "" ! #: fortran/resolve.cc:4881 #, gcc-internal-format, gfc-internal-format msgid "Rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4889 #, gcc-internal-format, gfc-internal-format msgid "Coindex rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4905 #, gcc-internal-format, gfc-internal-format msgid "Coindex of codimension %d must be a scalar at %L" msgstr "" ! #: fortran/resolve.cc:4933 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:4939 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:4945 #, gcc-internal-format, gfc-internal-format msgid "REAL array index at %L" msgstr "" ! #: fortran/resolve.cc:4984 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "Argument dim at %L must be scalar" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:4991 #, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be of INTEGER type" msgstr "" ! #: fortran/resolve.cc:5051 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Null element at %0 for array reference at %1" msgid "Invalid array reference of a non-array entity at %L" msgstr "Nulelement ved %0 for tabelreference ved %1" ! #: fortran/resolve.cc:5065 #, gcc-internal-format msgid "find_array_spec(): unused as(1)" msgstr "" ! #: fortran/resolve.cc:5077 #, gcc-internal-format msgid "find_array_spec(): unused as(2)" msgstr "" ! #: fortran/resolve.cc:5122 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array `%A' at %0 is too large to handle" msgid "Array index at %L is an array of rank %d" msgstr "Tabellen '%A' ved %0 er for stor til at håndtere" ! #: fortran/resolve.cc:5220 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5227 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5249 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5256 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Substring begin/end point at %0 out of defined range" msgid "Substring end index at %L must be scalar" msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval" ! #: fortran/resolve.cc:5276 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "requested alignment is too large" msgid "Substring end index at %L is too large" msgstr "angivet justering er for stor" ! #: fortran/resolve.cc:5467 #, gcc-internal-format msgid "resolve_ref(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:5481 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" msgstr "" ! #: fortran/resolve.cc:5491 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" msgstr "" ! #: fortran/resolve.cc:5537 #, gcc-internal-format, gfc-internal-format msgid "Two or more part references with nonzero rank must not be specified at %L" msgstr "" ! #: fortran/resolve.cc:5629 #, gcc-internal-format msgid "gfc_expression_rank(): Two array specs" msgstr "" ! #: fortran/resolve.cc:5711 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" msgstr "" ! #: fortran/resolve.cc:5721 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may only be used as actual argument" msgstr "" --- 81930,82134 ---- msgid "Operands at %L and %L cannot appear as operands of binary operator %qs" msgstr "" ! #: fortran/resolve.cc:4350 fortran/resolve.cc:4365 #, gcc-internal-format, gfc-internal-format msgid "BOZ literal constant near %L cannot appear as an operand of a relational operator" msgstr "" ! #: fortran/resolve.cc:4415 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Equality comparison for %s at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:4417 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Inequality comparison for %s at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:4477 #, gcc-internal-format msgid "resolve_operator(): Bad intrinsic" msgstr "" ! #: fortran/resolve.cc:4763 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4768 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4778 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4783 #, gcc-internal-format, gfc-internal-format msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d" msgstr "" ! #: fortran/resolve.cc:4804 #, gcc-internal-format, gfc-internal-format msgid "Illegal stride of zero at %L" msgstr "" ! #: fortran/resolve.cc:4821 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4829 #, gcc-internal-format, gfc-internal-format msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4845 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4854 #, gcc-internal-format, gfc-internal-format msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d" msgstr "" ! #: fortran/resolve.cc:4870 #, fuzzy, gcc-internal-format #| msgid "subscript missing in array reference" msgid "check_dimension(): Bad array reference" msgstr "indeks mangler i tabelopslag" ! #: fortran/resolve.cc:4893 #, gcc-internal-format, gfc-internal-format msgid "Rightmost upper bound of assumed size array section not specified at %L" msgstr "" ! #: fortran/resolve.cc:4903 #, gcc-internal-format, gfc-internal-format msgid "Rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4911 #, gcc-internal-format, gfc-internal-format msgid "Coindex rank mismatch in array reference at %L (%d/%d)" msgstr "" ! #: fortran/resolve.cc:4927 #, gcc-internal-format, gfc-internal-format msgid "Coindex of codimension %d must be a scalar at %L" msgstr "" ! #: fortran/resolve.cc:4955 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:4961 #, gcc-internal-format, gfc-internal-format msgid "Array index at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:4967 #, gcc-internal-format, gfc-internal-format msgid "REAL array index at %L" msgstr "" ! #: fortran/resolve.cc:5006 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "Argument dim at %L must be scalar" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:5013 #, gcc-internal-format, gfc-internal-format msgid "Argument dim at %L must be of INTEGER type" msgstr "" ! #: fortran/resolve.cc:5073 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Null element at %0 for array reference at %1" msgid "Invalid array reference of a non-array entity at %L" msgstr "Nulelement ved %0 for tabelreference ved %1" ! #: fortran/resolve.cc:5087 #, gcc-internal-format msgid "find_array_spec(): unused as(1)" msgstr "" ! #: fortran/resolve.cc:5099 #, gcc-internal-format msgid "find_array_spec(): unused as(2)" msgstr "" ! #: fortran/resolve.cc:5144 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array `%A' at %0 is too large to handle" msgid "Array index at %L is an array of rank %d" msgstr "Tabellen '%A' ved %0 er for stor til at håndtere" ! #: fortran/resolve.cc:5242 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5249 #, gcc-internal-format, gfc-internal-format msgid "Substring start index at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:5271 #, gcc-internal-format, gfc-internal-format msgid "Substring end index at %L must be of type INTEGER" msgstr "" ! #: fortran/resolve.cc:5278 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Substring begin/end point at %0 out of defined range" msgid "Substring end index at %L must be scalar" msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval" ! #: fortran/resolve.cc:5298 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "requested alignment is too large" msgid "Substring end index at %L is too large" msgstr "angivet justering er for stor" ! #: fortran/resolve.cc:5489 #, gcc-internal-format msgid "resolve_ref(): Bad array reference" msgstr "" ! #: fortran/resolve.cc:5503 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L" msgstr "" ! #: fortran/resolve.cc:5513 #, gcc-internal-format, gfc-internal-format msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L" msgstr "" ! #: fortran/resolve.cc:5559 #, gcc-internal-format, gfc-internal-format msgid "Two or more part references with nonzero rank must not be specified at %L" msgstr "" ! #: fortran/resolve.cc:5651 #, gcc-internal-format msgid "gfc_expression_rank(): Two array specs" msgstr "" ! #: fortran/resolve.cc:5748 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" msgstr "" ! #: fortran/resolve.cc:5758 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may only be used as actual argument" msgstr "" *************** msgstr "" *** 82097,82108 **** #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5731 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5750 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L may only be used as actual argument" msgstr "" --- 82137,82148 ---- #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5768 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5787 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L may only be used as actual argument" msgstr "" *************** msgstr "" *** 82111,82412 **** #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5760 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5771 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5780 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5796 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5978 #, gcc-internal-format msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:5983 #, gcc-internal-format msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6053 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic subobject of coindexed object at %L" msgstr "" ! #: fortran/resolve.cc:6066 #, gcc-internal-format, gfc-internal-format msgid "Coindexed object with polymorphic allocatable subcomponent at %L" msgstr "" ! #: fortran/resolve.cc:6082 #, fuzzy, gcc-internal-format #| msgid "`%s' is deprecated" msgid "Using variable %qs at %L is deprecated" msgstr "'%s' er forældet" ! #: fortran/resolve.cc:6172 #, gcc-internal-format msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" msgstr "" ! #: fortran/resolve.cc:6350 fortran/resolve.cc:6502 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "duplicate initialization of %D" msgid "Error in typebound call at %L" msgstr "%D tildelt startværdi mere end én gang" ! #: fortran/resolve.cc:6466 #, gcc-internal-format, gfc-internal-format msgid "Passed-object at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:6473 #, gcc-internal-format msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6512 #, gcc-internal-format msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6521 #, gcc-internal-format, gfc-internal-format msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" msgstr "" #. Nothing matching found! ! #: fortran/resolve.cc:6709 #, gcc-internal-format msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:6743 #, gcc-internal-format msgid "%qs at %L should be a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:6795 #, gcc-internal-format msgid "%qs at %L should be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:7330 #, gcc-internal-format msgid "gfc_resolve_expr(): Bad expression type" msgstr "" ! #: fortran/resolve.cc:7363 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be a scalar" msgstr "" ! #: fortran/resolve.cc:7373 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "\"%s\" after # is not a positive integer" msgid "%s at %L must be integer" msgstr "\"%s\" efter # er ikke et positivt heltal" ! #: fortran/resolve.cc:7377 fortran/resolve.cc:7384 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be INTEGER" msgstr "" ! #: fortran/resolve.cc:7439 #, gcc-internal-format, gfc-internal-format msgid "Step expression in DO loop at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7462 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L will be executed zero times" msgstr "" ! #: fortran/resolve.cc:7479 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it overflows" msgstr "" ! #: fortran/resolve.cc:7485 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it underflows" msgstr "" ! #: fortran/resolve.cc:7546 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7551 #, gcc-internal-format, gfc-internal-format msgid "FORALL start expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7558 #, gcc-internal-format, gfc-internal-format msgid "FORALL end expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7566 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L must be a scalar %s" msgstr "" ! #: fortran/resolve.cc:7571 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7584 #, gcc-internal-format msgid "FORALL index %qs may not appear in triplet specification at %L" msgstr "" ! #: fortran/resolve.cc:7689 fortran/resolve.cc:7987 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" msgstr "" ! #: fortran/resolve.cc:7697 fortran/resolve.cc:7950 #, gcc-internal-format, gfc-internal-format msgid "Coindexed allocatable object at %L" msgstr "" ! #: fortran/resolve.cc:7807 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" msgstr "" ! #: fortran/resolve.cc:7838 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L and allocate-object at %L must have the same shape" msgstr "" ! #: fortran/resolve.cc:7998 #, gcc-internal-format, gfc-internal-format msgid "Type of entity at %L is type incompatible with source-expr at %L" msgstr "" ! #: fortran/resolve.cc:8010 #, gcc-internal-format, gfc-internal-format msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" msgstr "" ! #: fortran/resolve.cc:8024 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8039 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8052 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" msgstr "" ! #: fortran/resolve.cc:8070 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" msgstr "" ! #: fortran/resolve.cc:8154 fortran/resolve.cc:8169 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Array specification required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8161 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8186 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Coarray specification required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8196 fortran/resolve.cc:8298 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Bad coarray specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8202 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound at %L" msgstr "" ! #: fortran/resolve.cc:8214 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound of 1 at %L" msgstr "" ! #: fortran/resolve.cc:8225 fortran/resolve.cc:8253 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Bad array specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8272 #, gcc-internal-format msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgstr "" ! #: fortran/resolve.cc:8287 #, fuzzy, gcc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8329 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:8358 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8371 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG at %L is useless without a STAT tag" msgstr "" ! #: fortran/resolve.cc:8385 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:8414 #, gcc-internal-format, gfc-internal-format msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8446 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "" ! #: fortran/resolve.cc:8452 fortran/resolve.cc:8458 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L is subobject of object at %L" msgstr "" --- 82151,82452 ---- #. for all inquiry functions in resolve_function; the reason is #. that the function-name resolution happens too late in that #. function. ! #: fortran/resolve.cc:5797 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L as actual argument to an inquiry function shall be the first argument" msgstr "" ! #: fortran/resolve.cc:5808 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5817 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:5833 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank variable %s at %L shall not have a subobject reference" msgstr "" ! #: fortran/resolve.cc:6015 #, gcc-internal-format msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6020 #, gcc-internal-format msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" msgstr "" ! #: fortran/resolve.cc:6090 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic subobject of coindexed object at %L" msgstr "" ! #: fortran/resolve.cc:6103 #, gcc-internal-format, gfc-internal-format msgid "Coindexed object with polymorphic allocatable subcomponent at %L" msgstr "" ! #: fortran/resolve.cc:6119 #, fuzzy, gcc-internal-format #| msgid "`%s' is deprecated" msgid "Using variable %qs at %L is deprecated" msgstr "'%s' er forældet" ! #: fortran/resolve.cc:6209 #, gcc-internal-format msgid "%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name" msgstr "" ! #: fortran/resolve.cc:6387 fortran/resolve.cc:6539 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "duplicate initialization of %D" msgid "Error in typebound call at %L" msgstr "%D tildelt startværdi mere end én gang" ! #: fortran/resolve.cc:6503 #, gcc-internal-format, gfc-internal-format msgid "Passed-object at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:6510 #, gcc-internal-format msgid "Base object for procedure-pointer component call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6549 #, gcc-internal-format msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" msgstr "" ! #: fortran/resolve.cc:6558 #, gcc-internal-format, gfc-internal-format msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" msgstr "" #. Nothing matching found! ! #: fortran/resolve.cc:6746 #, gcc-internal-format msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:6780 #, gcc-internal-format msgid "%qs at %L should be a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:6832 #, gcc-internal-format msgid "%qs at %L should be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:7367 #, gcc-internal-format msgid "gfc_resolve_expr(): Bad expression type" msgstr "" ! #: fortran/resolve.cc:7400 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be a scalar" msgstr "" ! #: fortran/resolve.cc:7410 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "\"%s\" after # is not a positive integer" msgid "%s at %L must be integer" msgstr "\"%s\" efter # er ikke et positivt heltal" ! #: fortran/resolve.cc:7414 fortran/resolve.cc:7421 #, gcc-internal-format, gfc-internal-format msgid "%s at %L must be INTEGER" msgstr "" ! #: fortran/resolve.cc:7476 #, gcc-internal-format, gfc-internal-format msgid "Step expression in DO loop at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7499 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L will be executed zero times" msgstr "" ! #: fortran/resolve.cc:7516 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it overflows" msgstr "" ! #: fortran/resolve.cc:7522 #, gcc-internal-format, gfc-internal-format msgid "DO loop at %L is undefined as it underflows" msgstr "" ! #: fortran/resolve.cc:7583 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7588 #, gcc-internal-format, gfc-internal-format msgid "FORALL start expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7595 #, gcc-internal-format, gfc-internal-format msgid "FORALL end expression at %L must be a scalar INTEGER" msgstr "" ! #: fortran/resolve.cc:7603 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L must be a scalar %s" msgstr "" ! #: fortran/resolve.cc:7608 #, gcc-internal-format, gfc-internal-format msgid "FORALL stride expression at %L cannot be zero" msgstr "" ! #: fortran/resolve.cc:7621 #, gcc-internal-format msgid "FORALL index %qs may not appear in triplet specification at %L" msgstr "" ! #: fortran/resolve.cc:7726 fortran/resolve.cc:8024 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER" msgstr "" ! #: fortran/resolve.cc:7734 fortran/resolve.cc:7987 #, gcc-internal-format, gfc-internal-format msgid "Coindexed allocatable object at %L" msgstr "" ! #: fortran/resolve.cc:7844 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L" msgstr "" ! #: fortran/resolve.cc:7875 #, gcc-internal-format, gfc-internal-format msgid "Source-expr at %L and allocate-object at %L must have the same shape" msgstr "" ! #: fortran/resolve.cc:8035 #, gcc-internal-format, gfc-internal-format msgid "Type of entity at %L is type incompatible with source-expr at %L" msgstr "" ! #: fortran/resolve.cc:8047 #, gcc-internal-format, gfc-internal-format msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter" msgstr "" ! #: fortran/resolve.cc:8061 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8076 #, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type EVENT_TYPE nor have a EVENT_TYPE component if allocate-object at %L is a coarray" msgstr "" ! #: fortran/resolve.cc:8089 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source-expr" msgstr "" ! #: fortran/resolve.cc:8107 #, gcc-internal-format, gfc-internal-format msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" msgstr "" ! #: fortran/resolve.cc:8191 fortran/resolve.cc:8206 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Array specification required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8198 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Array specification or array-valued SOURCE= expression required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8223 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Array or substring specification for `%A' out of range in statement at %0" msgid "Coarray specification required in ALLOCATE statement at %L" msgstr "Tabel- eller understrengsangivelse for '%A' er uden for det gyldige interval i sætning ved %0" ! #: fortran/resolve.cc:8233 fortran/resolve.cc:8335 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Bad coarray specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8239 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound at %L" msgstr "" ! #: fortran/resolve.cc:8251 #, gcc-internal-format, gfc-internal-format msgid "Upper cobound is less than lower cobound of 1 at %L" msgstr "" ! #: fortran/resolve.cc:8262 fortran/resolve.cc:8290 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Bad array specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8309 #, gcc-internal-format msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgstr "" ! #: fortran/resolve.cc:8324 #, fuzzy, gcc-internal-format #| msgid "No label definition for FORMAT statement at %0" msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L" msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0" ! #: fortran/resolve.cc:8366 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:8395 #, gcc-internal-format, gfc-internal-format msgid "Stat-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8408 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG at %L is useless without a STAT tag" msgstr "" ! #: fortran/resolve.cc:8422 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:8451 #, gcc-internal-format, gfc-internal-format msgid "Errmsg-variable at %L shall not be %sd within the same %s statement" msgstr "" ! #: fortran/resolve.cc:8483 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "" ! #: fortran/resolve.cc:8489 fortran/resolve.cc:8495 #, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L is subobject of object at %L" msgstr "" *************** msgstr "" *** 82415,82705 **** #. element in the list. Either way, we must #. issue an error and get the next case from P. #. FIXME: Sort P and Q by line number. ! #: fortran/resolve.cc:8686 #, gcc-internal-format, gfc-internal-format msgid "CASE label at %L overlaps with CASE label at %L" msgstr "" ! #: fortran/resolve.cc:8737 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Expression in CASE statement at %L must be of type %s" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:8748 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of kind %d" msgstr "" ! #: fortran/resolve.cc:8761 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:8807 #, gcc-internal-format, gfc-internal-format msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" msgstr "" ! #: fortran/resolve.cc:8826 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L cannot be %s" msgstr "" ! #: fortran/resolve.cc:8836 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L must be a scalar expression" msgstr "" ! #: fortran/resolve.cc:8854 fortran/resolve.cc:8862 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L is not in the range of %s" msgstr "" ! #: fortran/resolve.cc:8924 fortran/resolve.cc:9592 #, gcc-internal-format, gfc-internal-format msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" msgstr "" ! #: fortran/resolve.cc:8950 #, gcc-internal-format, gfc-internal-format msgid "Logical range in CASE statement at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:8963 #, gcc-internal-format, gfc-internal-format msgid "Constant logical value in CASE statement is repeated at %L" msgstr "" ! #: fortran/resolve.cc:8978 #, gcc-internal-format, gfc-internal-format msgid "Range specification at %L can never be matched" msgstr "" ! #: fortran/resolve.cc:9081 #, gcc-internal-format, gfc-internal-format msgid "Logical SELECT CASE block at %L has more that two cases" msgstr "" ! #: fortran/resolve.cc:9143 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure pointer" msgstr "" ! #: fortran/resolve.cc:9152 #, fuzzy, gcc-internal-format #| msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" msgid "Derived type %qs cannot be used as a variable at %L" msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++" ! #: fortran/resolve.cc:9169 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure name" msgstr "" ! #: fortran/resolve.cc:9185 #, gcc-internal-format, gfc-internal-format msgid "Associating selector-expression at %L yields a procedure" msgstr "" ! #: fortran/resolve.cc:9192 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Selector at %L cannot be NULL()" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:9197 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter `%s' has incomplete type" msgid "Selector at %L has no type" msgstr "parameteren '%s' er af en ufuldstændig type" ! #: fortran/resolve.cc:9220 #, gcc-internal-format msgid "Associate-name %qs at %L is used as array" msgstr "" ! #: fortran/resolve.cc:9230 #, gcc-internal-format, gfc-internal-format msgid "CLASS selector at %L needs a temporary which is not yet implemented" msgstr "" ! #: fortran/resolve.cc:9462 #, gcc-internal-format, gfc-internal-format msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9500 fortran/resolve.cc:9512 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L must not be coindexed" msgstr "" ! #: fortran/resolve.cc:9541 #, gcc-internal-format, gfc-internal-format msgid "TYPE IS at %L overlaps with TYPE IS at %L" msgstr "" ! #: fortran/resolve.cc:9554 #, gcc-internal-format msgid "Derived type %qs at %L must be extensible" msgstr "" ! #: fortran/resolve.cc:9567 #, gcc-internal-format msgid "Derived type %qs at %L must be an extension of %qs" msgstr "" ! #: fortran/resolve.cc:9570 #, gcc-internal-format msgid "Unexpected intrinsic type %qs at %L" msgstr "" ! #: fortran/resolve.cc:9580 #, gcc-internal-format, gfc-internal-format msgid "The type-spec at %L shall specify that each length type parameter is assumed" msgstr "" ! #: fortran/resolve.cc:9827 #, gcc-internal-format, gfc-internal-format msgid "Double CLASS IS block in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9961 #, gcc-internal-format, gfc-internal-format msgid "RANK DEFAULT at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9970 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9973 #, gcc-internal-format, gfc-internal-format msgid "RANK (%i) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9983 fortran/resolve.cc:9988 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" msgstr "" ! #: fortran/resolve.cc:10097 #, gcc-internal-format, gfc-internal-format msgid "Invalid context for NULL () intrinsic at %L" msgstr "" ! #: fortran/resolve.cc:10151 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "DTIO %s procedure at %L must be recursive" msgstr "'%s' skal tage mod én parameter" ! #: fortran/resolve.cc:10161 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10174 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10183 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have procedure pointer components" msgstr "" ! #: fortran/resolve.cc:10190 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10201 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components" msgstr "" ! #: fortran/resolve.cc:10207 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10225 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" msgstr "" ! #: fortran/resolve.cc:10282 #, gcc-internal-format, gfc-internal-format msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" msgstr "" ! #: fortran/resolve.cc:10292 #, gcc-internal-format, gfc-internal-format msgid "Event variable at %L must be a scalar of type EVENT_TYPE" msgstr "" ! #: fortran/resolve.cc:10296 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray or coindexed" msgstr "" ! #: fortran/resolve.cc:10299 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray but not coindexed" msgstr "" ! #: fortran/resolve.cc:10306 fortran/resolve.cc:10428 #, gcc-internal-format, gfc-internal-format msgid "STAT= argument at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:10318 fortran/resolve.cc:10440 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:10330 #, gcc-internal-format, gfc-internal-format msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" msgstr "" ! #: fortran/resolve.cc:10343 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "use of class template `%T' as expression" msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:10404 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10408 fortran/resolve.cc:10418 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must between 1 and num_images()" msgstr "" ! #: fortran/resolve.cc:10471 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Statement at %0 invalid in context established by statement at %1" msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" ! #: fortran/resolve.cc:10481 #, gcc-internal-format, gfc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "" #. Note: A label at END CRITICAL does not leave the CRITICAL #. construct as END CRITICAL is still part of it. ! #: fortran/resolve.cc:10498 fortran/resolve.cc:10521 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" msgstr "" ! #: fortran/resolve.cc:10502 fortran/resolve.cc:10527 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" msgstr "" --- 82455,82745 ---- #. element in the list. Either way, we must #. issue an error and get the next case from P. #. FIXME: Sort P and Q by line number. ! #: fortran/resolve.cc:8723 #, gcc-internal-format, gfc-internal-format msgid "CASE label at %L overlaps with CASE label at %L" msgstr "" ! #: fortran/resolve.cc:8774 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Expression in CASE statement at %L must be of type %s" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:8785 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be of kind %d" msgstr "" ! #: fortran/resolve.cc:8798 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:8844 #, gcc-internal-format, gfc-internal-format msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression" msgstr "" ! #: fortran/resolve.cc:8863 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L cannot be %s" msgstr "" ! #: fortran/resolve.cc:8873 #, gcc-internal-format, gfc-internal-format msgid "Argument of SELECT statement at %L must be a scalar expression" msgstr "" ! #: fortran/resolve.cc:8891 fortran/resolve.cc:8899 #, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L is not in the range of %s" msgstr "" ! #: fortran/resolve.cc:8961 fortran/resolve.cc:9629 #, gcc-internal-format, gfc-internal-format msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L" msgstr "" ! #: fortran/resolve.cc:8987 #, gcc-internal-format, gfc-internal-format msgid "Logical range in CASE statement at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:9000 #, gcc-internal-format, gfc-internal-format msgid "Constant logical value in CASE statement is repeated at %L" msgstr "" ! #: fortran/resolve.cc:9015 #, gcc-internal-format, gfc-internal-format msgid "Range specification at %L can never be matched" msgstr "" ! #: fortran/resolve.cc:9118 #, gcc-internal-format, gfc-internal-format msgid "Logical SELECT CASE block at %L has more that two cases" msgstr "" ! #: fortran/resolve.cc:9180 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure pointer" msgstr "" ! #: fortran/resolve.cc:9189 #, fuzzy, gcc-internal-format #| msgid "\"%s\" cannot be used as a macro name as it is an operator in C++" msgid "Derived type %qs cannot be used as a variable at %L" msgstr "\"%s\" kan ikke bruges som et makronavn da det er en operator i C++" ! #: fortran/resolve.cc:9206 #, gcc-internal-format msgid "Associating entity %qs at %L is a procedure name" msgstr "" ! #: fortran/resolve.cc:9222 #, gcc-internal-format, gfc-internal-format msgid "Associating selector-expression at %L yields a procedure" msgstr "" ! #: fortran/resolve.cc:9229 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Selector at %L cannot be NULL()" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:9234 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "parameter `%s' has incomplete type" msgid "Selector at %L has no type" msgstr "parameteren '%s' er af en ufuldstændig type" ! #: fortran/resolve.cc:9257 #, gcc-internal-format msgid "Associate-name %qs at %L is used as array" msgstr "" ! #: fortran/resolve.cc:9267 #, gcc-internal-format, gfc-internal-format msgid "CLASS selector at %L needs a temporary which is not yet implemented" msgstr "" ! #: fortran/resolve.cc:9499 #, gcc-internal-format, gfc-internal-format msgid "Selector shall be polymorphic in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9537 fortran/resolve.cc:9549 #, gcc-internal-format, gfc-internal-format msgid "Selector at %L must not be coindexed" msgstr "" ! #: fortran/resolve.cc:9578 #, gcc-internal-format, gfc-internal-format msgid "TYPE IS at %L overlaps with TYPE IS at %L" msgstr "" ! #: fortran/resolve.cc:9591 #, gcc-internal-format msgid "Derived type %qs at %L must be extensible" msgstr "" ! #: fortran/resolve.cc:9604 #, gcc-internal-format msgid "Derived type %qs at %L must be an extension of %qs" msgstr "" ! #: fortran/resolve.cc:9607 #, gcc-internal-format msgid "Unexpected intrinsic type %qs at %L" msgstr "" ! #: fortran/resolve.cc:9617 #, gcc-internal-format, gfc-internal-format msgid "The type-spec at %L shall specify that each length type parameter is assumed" msgstr "" ! #: fortran/resolve.cc:9864 #, gcc-internal-format, gfc-internal-format msgid "Double CLASS IS block in SELECT TYPE statement at %L" msgstr "" ! #: fortran/resolve.cc:9998 #, gcc-internal-format, gfc-internal-format msgid "RANK DEFAULT at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10007 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10010 #, gcc-internal-format, gfc-internal-format msgid "RANK (%i) at %L is repeated at %L" msgstr "" ! #: fortran/resolve.cc:10020 #, gcc-internal-format, gfc-internal-format msgid "RANK (*) at %L cannot be used with the pointer or allocatable selector at %L" msgstr "" ! #: fortran/resolve.cc:10129 #, gcc-internal-format, gfc-internal-format msgid "Invalid context for NULL () intrinsic at %L" msgstr "" ! #: fortran/resolve.cc:10183 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "DTIO %s procedure at %L must be recursive" msgstr "'%s' skal tage mod én parameter" ! #: fortran/resolve.cc:10193 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10206 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10215 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have procedure pointer components" msgstr "" ! #: fortran/resolve.cc:10222 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10233 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components" msgstr "" ! #: fortran/resolve.cc:10239 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have PRIVATE components unless it is processed by a defined input/output procedure" msgstr "" ! #: fortran/resolve.cc:10257 #, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be a full reference to an assumed-size array" msgstr "" ! #: fortran/resolve.cc:10314 #, gcc-internal-format, gfc-internal-format msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" msgstr "" ! #: fortran/resolve.cc:10324 #, gcc-internal-format, gfc-internal-format msgid "Event variable at %L must be a scalar of type EVENT_TYPE" msgstr "" ! #: fortran/resolve.cc:10328 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray or coindexed" msgstr "" ! #: fortran/resolve.cc:10331 #, gcc-internal-format, gfc-internal-format msgid "Event variable argument at %L must be a coarray but not coindexed" msgstr "" ! #: fortran/resolve.cc:10338 fortran/resolve.cc:10460 #, gcc-internal-format, gfc-internal-format msgid "STAT= argument at %L must be a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:10350 fortran/resolve.cc:10472 #, gcc-internal-format, gfc-internal-format msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable" msgstr "" ! #: fortran/resolve.cc:10362 #, gcc-internal-format, gfc-internal-format msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable" msgstr "" ! #: fortran/resolve.cc:10375 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "use of class template `%T' as expression" msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:10436 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression" msgstr "" ! #: fortran/resolve.cc:10440 fortran/resolve.cc:10450 #, gcc-internal-format, gfc-internal-format msgid "Imageset argument at %L must between 1 and num_images()" msgstr "" ! #: fortran/resolve.cc:10503 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Statement at %0 invalid in context established by statement at %1" msgid "Statement at %L is not a valid branch target statement for the branch statement at %L" msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" ! #: fortran/resolve.cc:10513 #, gcc-internal-format, gfc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "" #. Note: A label at END CRITICAL does not leave the CRITICAL #. construct as END CRITICAL is still part of it. ! #: fortran/resolve.cc:10530 fortran/resolve.cc:10553 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" msgstr "" ! #: fortran/resolve.cc:10534 fortran/resolve.cc:10559 #, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L" msgstr "" *************** msgstr "" *** 82707,82922 **** #. The label is not in an enclosing block, so illegal. This was #. allowed in Fortran 66, so we allow it as extension. No #. further checks are necessary in this case. ! #: fortran/resolve.cc:10542 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Statement at %0 invalid in context established by statement at %1" msgid "Label at %L is not in the same block as the GOTO statement at %L" msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" ! #: fortran/resolve.cc:10614 #, gcc-internal-format, gfc-internal-format msgid "WHERE mask at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10630 #, gcc-internal-format, gfc-internal-format msgid "WHERE assignment target at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10643 fortran/resolve.cc:10735 #, gcc-internal-format, gfc-internal-format msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10653 fortran/resolve.cc:10745 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Unsupported VXT statement at %0" msgid "Unsupported statement inside WHERE at %L" msgstr "Ikke-understøttet VXT-sætning ved %0" ! #: fortran/resolve.cc:10684 #, gcc-internal-format, gfc-internal-format msgid "Assignment to a FORALL index variable at %L" msgstr "" ! #: fortran/resolve.cc:10693 #, gcc-internal-format msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgstr "" ! #: fortran/resolve.cc:10850 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "In construct" msgid "FORALL construct at %L" msgstr "I konstruktionen" ! #: fortran/resolve.cc:10871 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar variable of type integer" msgstr "" ! #: fortran/resolve.cc:10881 #, gcc-internal-format, gfc-internal-format msgid "An outer FORALL construct already has an index with this name %L" msgstr "" ! #: fortran/resolve.cc:10958 #, gcc-internal-format, gfc-internal-format msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" msgstr "" ! #: fortran/resolve.cc:11074 #, gcc-internal-format msgid "gfc_resolve_blocks(): Bad block type" msgstr "" ! #: fortran/resolve.cc:11187 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" msgstr "" ! #: fortran/resolve.cc:11219 #, gcc-internal-format, gfc-internal-format msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" msgstr "" #. F2008, C1283 (4). ! #: fortran/resolve.cc:11225 #, gcc-internal-format, gfc-internal-format msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." msgstr "" ! #: fortran/resolve.cc:11237 #, gcc-internal-format, gfc-internal-format msgid "Assignment to coindexed variable at %L in a PURE procedure" msgstr "" ! #: fortran/resolve.cc:11269 #, gcc-internal-format, gfc-internal-format msgid "Assignment to polymorphic coarray at %L is not permitted" msgstr "" ! #: fortran/resolve.cc:11273 #, gcc-internal-format, gfc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L" msgstr "" ! #: fortran/resolve.cc:11278 #, gcc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" msgstr "" ! #: fortran/resolve.cc:11285 #, gcc-internal-format msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" msgstr "" ! #: fortran/resolve.cc:11296 #, gcc-internal-format, gfc-internal-format msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" msgstr "" ! #: fortran/resolve.cc:11719 #, gcc-internal-format, gfc-internal-format msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." msgstr "" #. Even if standard does not support this feature, continue to build #. the two statements to avoid upsetting frontend_passes.c. ! #: fortran/resolve.cc:12023 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid lvalue in assignment" msgid "Pointer procedure assignment at %L" msgstr "ugyldig venstreværdi i tildeling" ! #: fortran/resolve.cc:12035 #, gcc-internal-format, gfc-internal-format msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." msgstr "" ! #: fortran/resolve.cc:12120 #, fuzzy, gcc-internal-format #| msgid "use of class template `%T' as expression" msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:12311 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "use of class template `%T' as expression" msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:12347 #, gcc-internal-format, gfc-internal-format msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12351 #, gcc-internal-format msgid "Variable %qs has not been assigned a target label at %L" msgstr "" ! #: fortran/resolve.cc:12362 #, gcc-internal-format, gfc-internal-format msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" msgstr "" ! #: fortran/resolve.cc:12400 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/resolve.cc:12442 #, gcc-internal-format, gfc-internal-format msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12489 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Invalid NULL at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:12493 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" msgstr "" ! #: fortran/resolve.cc:12554 #, gcc-internal-format msgid "gfc_resolve_code(): No expression on DO WHILE" msgstr "" ! #: fortran/resolve.cc:12559 #, gcc-internal-format, gfc-internal-format msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12643 #, gcc-internal-format, gfc-internal-format msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12745 #, gcc-internal-format msgid "gfc_resolve_code(): Bad statement code" msgstr "" ! #: fortran/resolve.cc:12766 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' declared void" msgid "Using parameter %qs declared at %L is deprecated" msgstr "parameteren '%s' erklæret void" ! #: fortran/resolve.cc:12860 #, gcc-internal-format msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" #. This can only happen if the variable is defined in a module - if it #. isn't the same module, reject it. ! #: fortran/resolve.cc:12874 #, gcc-internal-format msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" msgstr "" --- 82747,82962 ---- #. The label is not in an enclosing block, so illegal. This was #. allowed in Fortran 66, so we allow it as extension. No #. further checks are necessary in this case. ! #: fortran/resolve.cc:10574 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Statement at %0 invalid in context established by statement at %1" msgid "Label at %L is not in the same block as the GOTO statement at %L" msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1" ! #: fortran/resolve.cc:10646 #, gcc-internal-format, gfc-internal-format msgid "WHERE mask at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10662 #, gcc-internal-format, gfc-internal-format msgid "WHERE assignment target at %L has inconsistent shape" msgstr "" ! #: fortran/resolve.cc:10675 fortran/resolve.cc:10767 #, gcc-internal-format, gfc-internal-format msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L" msgstr "" ! #: fortran/resolve.cc:10685 fortran/resolve.cc:10777 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Unsupported VXT statement at %0" msgid "Unsupported statement inside WHERE at %L" msgstr "Ikke-understøttet VXT-sætning ved %0" ! #: fortran/resolve.cc:10716 #, gcc-internal-format, gfc-internal-format msgid "Assignment to a FORALL index variable at %L" msgstr "" ! #: fortran/resolve.cc:10725 #, gcc-internal-format msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgstr "" ! #: fortran/resolve.cc:10882 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "In construct" msgid "FORALL construct at %L" msgstr "I konstruktionen" ! #: fortran/resolve.cc:10903 #, gcc-internal-format, gfc-internal-format msgid "FORALL index-name at %L must be a scalar variable of type integer" msgstr "" ! #: fortran/resolve.cc:10913 #, gcc-internal-format, gfc-internal-format msgid "An outer FORALL construct already has an index with this name %L" msgstr "" ! #: fortran/resolve.cc:10990 #, gcc-internal-format, gfc-internal-format msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array" msgstr "" ! #: fortran/resolve.cc:11106 #, gcc-internal-format msgid "gfc_resolve_blocks(): Bad block type" msgstr "" ! #: fortran/resolve.cc:11219 #, gcc-internal-format, gfc-internal-format msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L" msgstr "" ! #: fortran/resolve.cc:11251 #, gcc-internal-format, gfc-internal-format msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" msgstr "" #. F2008, C1283 (4). ! #: fortran/resolve.cc:11257 #, gcc-internal-format, gfc-internal-format msgid "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the expr at %L of an intrinsic assignment statement in which the variable is of a derived type if the derived type has a pointer component at any level of component selection." msgstr "" ! #: fortran/resolve.cc:11269 #, gcc-internal-format, gfc-internal-format msgid "Assignment to coindexed variable at %L in a PURE procedure" msgstr "" ! #: fortran/resolve.cc:11301 #, gcc-internal-format, gfc-internal-format msgid "Assignment to polymorphic coarray at %L is not permitted" msgstr "" ! #: fortran/resolve.cc:11305 #, gcc-internal-format, gfc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L" msgstr "" ! #: fortran/resolve.cc:11310 #, gcc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-lhs%>" msgstr "" ! #: fortran/resolve.cc:11317 #, gcc-internal-format msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for %<=%> operator" msgstr "" ! #: fortran/resolve.cc:11328 #, gcc-internal-format, gfc-internal-format msgid "Coindexed variable must not have an allocatable ultimate component in assignment at %L" msgstr "" ! #: fortran/resolve.cc:11751 #, gcc-internal-format, gfc-internal-format msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions." msgstr "" #. Even if standard does not support this feature, continue to build #. the two statements to avoid upsetting frontend_passes.c. ! #: fortran/resolve.cc:12055 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid lvalue in assignment" msgid "Pointer procedure assignment at %L" msgstr "ugyldig venstreværdi i tildeling" ! #: fortran/resolve.cc:12067 #, gcc-internal-format, gfc-internal-format msgid "The function result on the lhs of the assignment at %L must have the pointer attribute." msgstr "" ! #: fortran/resolve.cc:12152 #, fuzzy, gcc-internal-format #| msgid "use of class template `%T' as expression" msgid "TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:12343 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "use of class template `%T' as expression" msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER" msgstr "brug af klasseskabelonen '%T' som udtryk" ! #: fortran/resolve.cc:12379 #, gcc-internal-format, gfc-internal-format msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12383 #, gcc-internal-format msgid "Variable %qs has not been assigned a target label at %L" msgstr "" ! #: fortran/resolve.cc:12394 #, gcc-internal-format, gfc-internal-format msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier" msgstr "" ! #: fortran/resolve.cc:12432 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Expected intrinsic assignment in OMP WORKSHARE at %L" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/resolve.cc:12474 #, gcc-internal-format, gfc-internal-format msgid "ASSIGN statement at %L requires a scalar default INTEGER variable" msgstr "" ! #: fortran/resolve.cc:12521 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "invalid string constant `%E'" msgid "Invalid NULL at %L" msgstr "ugyldig strengkonstant '%E'" ! #: fortran/resolve.cc:12525 #, gcc-internal-format, gfc-internal-format msgid "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression" msgstr "" ! #: fortran/resolve.cc:12586 #, gcc-internal-format msgid "gfc_resolve_code(): No expression on DO WHILE" msgstr "" ! #: fortran/resolve.cc:12591 #, gcc-internal-format, gfc-internal-format msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12675 #, gcc-internal-format, gfc-internal-format msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" msgstr "" ! #: fortran/resolve.cc:12777 #, gcc-internal-format msgid "gfc_resolve_code(): Bad statement code" msgstr "" ! #: fortran/resolve.cc:12798 #, fuzzy, gcc-internal-format #| msgid "parameter `%s' declared void" msgid "Using parameter %qs declared at %L is deprecated" msgstr "parameteren '%s' erklæret void" ! #: fortran/resolve.cc:12892 #, gcc-internal-format msgid "Variable %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" #. This can only happen if the variable is defined in a module - if it #. isn't the same module, reject it. ! #: fortran/resolve.cc:12906 #, gcc-internal-format msgid "Variable %qs from module %qs with binding label %qs at %L uses the same global identifier as entity at %L from module %qs" msgstr "" *************** msgstr "" *** 82924,83925 **** #. Print an error if the procedure is defined multiple times; we have to #. exclude references to the same procedure via module association or #. multiple checks for the same procedure. ! #: fortran/resolve.cc:12893 #, gcc-internal-format msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" ! #: fortran/resolve.cc:12979 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Integer at %0 too large" msgid "String length at %L is too large" msgstr "Heltal ved %0 for stort" ! #: fortran/resolve.cc:13214 #, gcc-internal-format msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13218 #, gcc-internal-format msgid "Scalar object %qs at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:13226 #, gcc-internal-format msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13237 #, gcc-internal-format msgid "Array %qs at %L cannot have a deferred shape" msgstr "" ! #: fortran/resolve.cc:13254 #, gcc-internal-format msgid "Type %qs of CLASS variable %qs at %L is not extensible" msgstr "" ! #: fortran/resolve.cc:13266 #, gcc-internal-format msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" msgstr "" ! #: fortran/resolve.cc:13299 #, gcc-internal-format msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" msgstr "" ! #: fortran/resolve.cc:13321 #, gcc-internal-format msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" msgstr "" ! #: fortran/resolve.cc:13354 #, gcc-internal-format msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" msgstr "" #. F08:C541. The shape of an array defined in a main program or module #. * needs to be constant. ! #: fortran/resolve.cc:13390 #, gcc-internal-format msgid "The module or main program array %qs at %L must have constant shape" msgstr "" ! #: fortran/resolve.cc:13415 #, gcc-internal-format, gfc-internal-format msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" msgstr "" ! #: fortran/resolve.cc:13436 #, gcc-internal-format msgid "%qs at %L must have constant character length in this context" msgstr "" ! #: fortran/resolve.cc:13443 #, gcc-internal-format msgid "COMMON variable %qs at %L must have constant character length" msgstr "" ! #: fortran/resolve.cc:13490 #, fuzzy, gcc-internal-format msgid "Allocatable %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13493 #, fuzzy, gcc-internal-format msgid "External %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13496 #, fuzzy, gcc-internal-format msgid "Dummy %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13499 #, fuzzy, gcc-internal-format msgid "Intrinsic %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13502 #, fuzzy, gcc-internal-format msgid "Function result %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13505 #, gcc-internal-format msgid "Automatic array %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13547 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "fstat %s" msgid "%s at %L" msgstr "fejl ved egenskabsundersøgelse af filen %s" ! #: fortran/resolve.cc:13579 #, gcc-internal-format msgid "Character-valued statement function %qs at %L must have constant length" msgstr "" ! #: fortran/resolve.cc:13602 #, gcc-internal-format msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:13624 #, gcc-internal-format msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" msgstr "" ! #: fortran/resolve.cc:13642 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "Function %qs at %L cannot have an initializer" msgstr "funktion kan ikke indbygges" ! #: fortran/resolve.cc:13654 #, fuzzy, gcc-internal-format #| msgid "variable-sized object of type `%T' may not be initialized" msgid "External object %qs at %L may not have an initializer" msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" ! #: fortran/resolve.cc:13664 #, gcc-internal-format msgid "ELEMENTAL function %qs at %L must have a scalar result" msgstr "" ! #: fortran/resolve.cc:13674 #, gcc-internal-format msgid "Statement function %qs at %L may not have pointer or allocatable attribute" msgstr "" ! #: fortran/resolve.cc:13693 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be array-valued" msgstr "" ! #: fortran/resolve.cc:13697 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" msgstr "" ! #: fortran/resolve.cc:13701 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pure" msgstr "" ! #: fortran/resolve.cc:13705 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be recursive" msgstr "" ! #: fortran/resolve.cc:13718 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L" msgstr "" ! #: fortran/resolve.cc:13729 #, gcc-internal-format msgid "Procedure pointer %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13735 #, gcc-internal-format msgid "Dummy procedure %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13755 #, gcc-internal-format msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" msgstr "" ! #: fortran/resolve.cc:13812 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13818 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13824 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13832 #, gcc-internal-format msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13838 #, gcc-internal-format msgid "Procedure pointer result %qs at %L is missing the pointer attribute" msgstr "" ! #: fortran/resolve.cc:13881 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13889 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13897 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13906 #, gcc-internal-format msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" msgstr "" ! #: fortran/resolve.cc:13930 #, fuzzy, gcc-internal-format #| msgid "constructor cannot be static member function" msgid "Interface of %qs at %L must be explicit" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: fortran/resolve.cc:14000 #, gcc-internal-format msgid "FINAL procedure %qs at %L is not a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:14009 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "FINAL procedure at %L must have exactly one argument" msgstr "'%s' skal tage mod én parameter" ! #: fortran/resolve.cc:14017 fortran/resolve.cc:14034 #, gcc-internal-format msgid "Argument of FINAL procedure at %L must be of type %qs" msgstr "" ! #: fortran/resolve.cc:14025 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" msgstr "" ! #: fortran/resolve.cc:14042 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be a POINTER" msgstr "" ! #: fortran/resolve.cc:14048 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14054 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be OPTIONAL" msgstr "" ! #: fortran/resolve.cc:14062 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:14071 #, gcc-internal-format, gfc-internal-format msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" msgstr "" ! #: fortran/resolve.cc:14093 #, gcc-internal-format msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" msgstr "" ! #: fortran/resolve.cc:14130 #, gcc-internal-format msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" msgstr "" ! #: fortran/resolve.cc:14171 #, gcc-internal-format msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14207 #, gcc-internal-format msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" msgstr "" ! #: fortran/resolve.cc:14266 #, gcc-internal-format msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14278 #, gcc-internal-format msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" msgstr "" ! #: fortran/resolve.cc:14306 #, gcc-internal-format msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" msgstr "" ! #: fortran/resolve.cc:14362 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Type-bound operator at %L cannot be NOPASS" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:14574 #, gcc-internal-format msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" msgstr "" ! #: fortran/resolve.cc:14617 #, gcc-internal-format msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:14631 #, gcc-internal-format msgid "Procedure %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:14645 fortran/resolve.cc:15133 #, gcc-internal-format msgid "Non-polymorphic passed-object dummy argument of %qs at %L" msgstr "" ! #: fortran/resolve.cc:14653 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" msgstr "" ! #: fortran/resolve.cc:14662 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:14668 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14674 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be POINTER" msgstr "" ! #: fortran/resolve.cc:14703 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as a component of %qs" msgstr "" ! #: fortran/resolve.cc:14713 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as an inherited component of %qs" msgstr "" ! #: fortran/resolve.cc:14808 #, gcc-internal-format msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" msgstr "" ! #: fortran/resolve.cc:14913 #, gcc-internal-format msgid "Coarray component %qs at %L must be allocatable with deferred shape" msgstr "" ! #: fortran/resolve.cc:14922 #, gcc-internal-format msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:14932 #, gcc-internal-format msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" msgstr "" ! #: fortran/resolve.cc:14957 #, gcc-internal-format msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" msgstr "" ! #: fortran/resolve.cc:14968 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "Component %qs of BIND(C) type at %L must have length one" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:15066 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:15080 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:15096 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" msgstr "" ! #: fortran/resolve.cc:15106 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:15115 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" msgstr "" ! #: fortran/resolve.cc:15124 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15166 #, gcc-internal-format msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" msgstr "" ! #: fortran/resolve.cc:15179 #, gcc-internal-format msgid "Character length of component %qs needs to be a constant specification expression at %L" msgstr "" ! #: fortran/resolve.cc:15190 #, gcc-internal-format msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:15203 #, gcc-internal-format msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15236 #, gcc-internal-format msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:15244 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" msgstr "" ! #: fortran/resolve.cc:15253 #, gcc-internal-format, gfc-internal-format msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" msgstr "" ! #: fortran/resolve.cc:15339 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Conflicting initializers in union at %L and %L" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/resolve.cc:15384 #, gcc-internal-format msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" msgstr "" ! #: fortran/resolve.cc:15397 #, gcc-internal-format msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" msgstr "" ! #: fortran/resolve.cc:15461 #, gcc-internal-format msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" msgstr "" ! #: fortran/resolve.cc:15494 #, gcc-internal-format msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" msgstr "" ! #: fortran/resolve.cc:15508 #, fuzzy, gcc-internal-format msgid "Derived type %qs at %L has not been declared" msgstr "'%#D' kan ikke erklæres" ! #: fortran/resolve.cc:15576 #, gcc-internal-format msgid "Assumed size array %qs in namelist %qs at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:15582 #, gcc-internal-format msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15588 #, gcc-internal-format msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15596 #, gcc-internal-format msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15613 #, gcc-internal-format msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15635 #, gcc-internal-format msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15646 #, gcc-internal-format msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15673 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:15692 #, gcc-internal-format msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" msgstr "" ! #: fortran/resolve.cc:15708 #, gcc-internal-format msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:15719 #, gcc-internal-format, gfc-internal-format msgid "Incompatible derived type in PARAMETER at %L" msgstr "uforenelig afledt type i PARAMETER ved %L" ! #: fortran/resolve.cc:15727 #, gcc-internal-format msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" ! #: fortran/resolve.cc:15778 #, gcc-internal-format msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" msgstr "" ! #: fortran/resolve.cc:15789 #, gcc-internal-format msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" msgstr "" ! #: fortran/resolve.cc:15796 #, gcc-internal-format msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" msgstr "" ! #: fortran/resolve.cc:15836 #, gcc-internal-format, gfc-internal-format msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" msgstr "" ! #: fortran/resolve.cc:15849 #, gcc-internal-format msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" msgstr "" ! #: fortran/resolve.cc:15907 #, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" msgstr "" ! #: fortran/resolve.cc:15910 #, gcc-internal-format, gfc-internal-format msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" msgstr "" ! #: fortran/resolve.cc:16010 #, gcc-internal-format msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" msgstr "" ! #: fortran/resolve.cc:16031 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No specification for implied-DO iterator `%A' at %0" msgid "Bad specification for assumed size array at %L" msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0" ! #: fortran/resolve.cc:16044 #, gcc-internal-format, gfc-internal-format msgid "Assumed size array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16047 #, gcc-internal-format, gfc-internal-format msgid "Assumed shape array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16057 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16064 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" msgstr "" ! #: fortran/resolve.cc:16077 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %L is not a DUMMY variable" msgstr "" ! #: fortran/resolve.cc:16083 #, gcc-internal-format msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "" ! #: fortran/resolve.cc:16093 #, gcc-internal-format msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" msgstr "" ! #: fortran/resolve.cc:16102 #, gcc-internal-format msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" msgstr "" ! #: fortran/resolve.cc:16115 fortran/resolve.cc:16292 #, gcc-internal-format msgid "The derived type %qs at %L is of type %qs, which has not been defined" msgstr "" ! #: fortran/resolve.cc:16129 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16138 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" msgstr "" ! #: fortran/resolve.cc:16147 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16155 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16162 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" msgstr "" ! #: fortran/resolve.cc:16182 #, gcc-internal-format, gfc-internal-format msgid "Assumed type of variable %s at %L is only permitted for dummy variables" msgstr "" ! #: fortran/resolve.cc:16189 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16196 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16203 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" msgstr "" ! #: fortran/resolve.cc:16229 #, gcc-internal-format msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgstr "" ! #: fortran/resolve.cc:16239 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "BIND(C) Variable %qs at %L must have length one" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:16318 #, gcc-internal-format msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" msgstr "" ! #: fortran/resolve.cc:16333 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16346 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16364 #, gcc-internal-format msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" msgstr "" ! #: fortran/resolve.cc:16376 #, gcc-internal-format msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16385 #, gcc-internal-format msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16398 #, gcc-internal-format msgid "Function result %qs at %L shall not be a coarray or have a coarray component" msgstr "" ! #: fortran/resolve.cc:16407 #, gcc-internal-format msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:16420 #, gcc-internal-format msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" msgstr "" ! #: fortran/resolve.cc:16436 #, gcc-internal-format msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" msgstr "" ! #: fortran/resolve.cc:16444 #, gcc-internal-format msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" msgstr "" ! #: fortran/resolve.cc:16451 #, gcc-internal-format msgid "Allocatable coarray variable %qs at %L must have deferred shape" msgstr "" ! #: fortran/resolve.cc:16464 #, gcc-internal-format msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" msgstr "" ! #: fortran/resolve.cc:16473 #, gcc-internal-format msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16489 #, gcc-internal-format msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16495 #, gcc-internal-format msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16520 #, fuzzy, gcc-internal-format #| msgid "data member `%D' cannot be a member template" msgid "Namelist %qs cannot be an argument to subroutine or function at %L" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: fortran/resolve.cc:16591 #, gcc-internal-format, gfc-internal-format msgid "Threadprivate at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16603 #, gcc-internal-format msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16719 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Extraneous comma in FORMAT statement at %0" msgid "Expecting definable entity near %L" msgstr "Ekstra komma i FORMAT-sætning ved %0" ! #: fortran/resolve.cc:16727 #, gcc-internal-format msgid "BLOCK DATA element %qs at %L must be in COMMON" msgstr "" ! #: fortran/resolve.cc:16734 #, gcc-internal-format msgid "DATA array %qs at %L must be specified in a previous declaration" msgstr "" ! #: fortran/resolve.cc:16741 #, gcc-internal-format msgid "DATA element %qs at %L cannot have a coindex" msgstr "" ! #: fortran/resolve.cc:16757 #, gcc-internal-format msgid "DATA element %qs at %L is a pointer and so must be a full array" msgstr "" ! #: fortran/resolve.cc:16764 #, gcc-internal-format, gfc-internal-format msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" msgstr "" ! #: fortran/resolve.cc:16773 #, fuzzy, gcc-internal-format #| msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" ! #: fortran/resolve.cc:16819 #, gcc-internal-format, gfc-internal-format msgid "Nonconstant array section at %L in DATA statement" msgstr "" ! #: fortran/resolve.cc:16832 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more variables than values" msgstr "" ! #: fortran/resolve.cc:16931 #, gcc-internal-format, gfc-internal-format msgid "start of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16939 #, gcc-internal-format, gfc-internal-format msgid "end of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16947 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16954 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "step of implied-do loop at %L shall not be zero" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:17079 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more values than variables" msgstr "" ! #: fortran/resolve.cc:17245 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%D' defined but not used" msgid "Label %d at %L defined but not used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: fortran/resolve.cc:17251 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%D' defined but not used" msgid "Label %d at %L defined but cannot be used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: fortran/resolve.cc:17335 #, gcc-internal-format msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17344 #, gcc-internal-format msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17352 #, gcc-internal-format msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgstr "" ! #: fortran/resolve.cc:17368 #, gcc-internal-format msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17471 #, gcc-internal-format, gfc-internal-format msgid "Syntax error in EQUIVALENCE statement at %L" msgstr "" ! #: fortran/resolve.cc:17486 #, gcc-internal-format, gfc-internal-format msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" msgstr "" ! #: fortran/resolve.cc:17511 #, gcc-internal-format msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" msgstr "" ! #: fortran/resolve.cc:17520 #, gcc-internal-format msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17595 #, gcc-internal-format msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17606 #, gcc-internal-format msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17617 #, gcc-internal-format, gfc-internal-format msgid "Substring at %L has length zero" msgstr "" ! #: fortran/resolve.cc:17648 #, fuzzy, gcc-internal-format #| msgid "parse error in method specification" msgid "Self reference in character length expression for %qs at %L" msgstr "tolkningsfejl i medlemsfunktionsangivelsen" ! #: fortran/resolve.cc:17715 #, gcc-internal-format msgid "PUBLIC function %qs at %L of PRIVATE type %qs" msgstr "" ! #: fortran/resolve.cc:17728 #, gcc-internal-format msgid "ENTRY %qs at %L has no IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:17750 #, gcc-internal-format msgid "User operator procedure %qs at %L must be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:17760 #, gcc-internal-format msgid "User operator procedure %qs at %L cannot be assumed character length" msgstr "" ! #: fortran/resolve.cc:17768 #, gcc-internal-format msgid "User operator procedure %qs at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:17782 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17800 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17807 #, gcc-internal-format, gfc-internal-format msgid "Operator interface at %L must have, at most, two arguments" msgstr "" ! #: fortran/resolve.cc:17886 #, gcc-internal-format msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" msgstr "" --- 82964,83965 ---- #. Print an error if the procedure is defined multiple times; we have to #. exclude references to the same procedure via module association or #. multiple checks for the same procedure. ! #: fortran/resolve.cc:12925 #, gcc-internal-format msgid "Procedure %qs with binding label %qs at %L uses the same global identifier as entity at %L" msgstr "" ! #: fortran/resolve.cc:13011 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Integer at %0 too large" msgid "String length at %L is too large" msgstr "Heltal ved %0 for stort" ! #: fortran/resolve.cc:13249 #, gcc-internal-format msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13253 #, gcc-internal-format msgid "Scalar object %qs at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:13261 #, gcc-internal-format msgid "Array pointer %qs at %L must have a deferred shape or assumed rank" msgstr "" ! #: fortran/resolve.cc:13272 #, gcc-internal-format msgid "Array %qs at %L cannot have a deferred shape" msgstr "" ! #: fortran/resolve.cc:13289 #, gcc-internal-format msgid "Type %qs of CLASS variable %qs at %L is not extensible" msgstr "" ! #: fortran/resolve.cc:13301 #, gcc-internal-format msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" msgstr "" ! #: fortran/resolve.cc:13334 #, gcc-internal-format msgid "The type %qs cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L" msgstr "" ! #: fortran/resolve.cc:13356 #, gcc-internal-format msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization" msgstr "" ! #: fortran/resolve.cc:13389 #, gcc-internal-format msgid "Entity %qs at %L has a deferred type parameter and requires either the POINTER or ALLOCATABLE attribute" msgstr "" #. F08:C541. The shape of an array defined in a main program or module #. * needs to be constant. ! #: fortran/resolve.cc:13425 #, gcc-internal-format msgid "The module or main program array %qs at %L must have constant shape" msgstr "" ! #: fortran/resolve.cc:13450 #, gcc-internal-format, gfc-internal-format msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER" msgstr "" ! #: fortran/resolve.cc:13471 #, gcc-internal-format msgid "%qs at %L must have constant character length in this context" msgstr "" ! #: fortran/resolve.cc:13478 #, gcc-internal-format msgid "COMMON variable %qs at %L must have constant character length" msgstr "" ! #: fortran/resolve.cc:13525 #, fuzzy, gcc-internal-format msgid "Allocatable %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13528 #, fuzzy, gcc-internal-format msgid "External %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13531 #, fuzzy, gcc-internal-format msgid "Dummy %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13534 #, fuzzy, gcc-internal-format msgid "Intrinsic %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13537 #, fuzzy, gcc-internal-format msgid "Function result %qs at %L cannot have an initializer" msgstr "slutfeltet '%s' bliver måske ikke klargjort" ! #: fortran/resolve.cc:13540 #, gcc-internal-format msgid "Automatic array %qs at %L cannot have an initializer" msgstr "" ! #: fortran/resolve.cc:13582 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "fstat %s" msgid "%s at %L" msgstr "fejl ved egenskabsundersøgelse af filen %s" ! #: fortran/resolve.cc:13614 #, gcc-internal-format msgid "Character-valued statement function %qs at %L must have constant length" msgstr "" ! #: fortran/resolve.cc:13637 #, gcc-internal-format msgid "%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:13659 #, gcc-internal-format msgid "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs which is PRIVATE" msgstr "" ! #: fortran/resolve.cc:13677 #, fuzzy, gcc-internal-format #| msgid "function cannot be inline" msgid "Function %qs at %L cannot have an initializer" msgstr "funktion kan ikke indbygges" ! #: fortran/resolve.cc:13689 #, fuzzy, gcc-internal-format #| msgid "variable-sized object of type `%T' may not be initialized" msgid "External object %qs at %L may not have an initializer" msgstr "objekt af typen '%T' med variabel størrelse må ikke tildeles en startværdi" ! #: fortran/resolve.cc:13699 #, gcc-internal-format msgid "ELEMENTAL function %qs at %L must have a scalar result" msgstr "" ! #: fortran/resolve.cc:13709 #, gcc-internal-format msgid "Statement function %qs at %L may not have pointer or allocatable attribute" msgstr "" ! #: fortran/resolve.cc:13728 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be array-valued" msgstr "" ! #: fortran/resolve.cc:13732 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" msgstr "" ! #: fortran/resolve.cc:13736 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be pure" msgstr "" ! #: fortran/resolve.cc:13740 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L cannot be recursive" msgstr "" ! #: fortran/resolve.cc:13753 #, gcc-internal-format msgid "CHARACTER(*) function %qs at %L" msgstr "" ! #: fortran/resolve.cc:13764 #, gcc-internal-format msgid "Procedure pointer %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13770 #, gcc-internal-format msgid "Dummy procedure %qs at %L shall not be elemental" msgstr "" ! #: fortran/resolve.cc:13790 #, gcc-internal-format msgid "Function result variable %qs at %L of elemental function %qs shall not have an ALLOCATABLE or POINTER attribute" msgstr "" ! #: fortran/resolve.cc:13847 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13853 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13859 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13867 #, gcc-internal-format msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:13873 #, gcc-internal-format msgid "Procedure pointer result %qs at %L is missing the pointer attribute" msgstr "" ! #: fortran/resolve.cc:13916 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13924 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13932 #, gcc-internal-format, gfc-internal-format msgid "Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its interface in %s" msgstr "" ! #: fortran/resolve.cc:13941 #, gcc-internal-format msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs" msgstr "" ! #: fortran/resolve.cc:13965 #, fuzzy, gcc-internal-format #| msgid "constructor cannot be static member function" msgid "Interface of %qs at %L must be explicit" msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion" ! #: fortran/resolve.cc:14035 #, gcc-internal-format msgid "FINAL procedure %qs at %L is not a SUBROUTINE" msgstr "" ! #: fortran/resolve.cc:14044 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "FINAL procedure at %L must have exactly one argument" msgstr "'%s' skal tage mod én parameter" ! #: fortran/resolve.cc:14052 fortran/resolve.cc:14069 #, gcc-internal-format msgid "Argument of FINAL procedure at %L must be of type %qs" msgstr "" ! #: fortran/resolve.cc:14060 #, gcc-internal-format, gfc-internal-format msgid "FINAL procedure at %L with assumed rank argument must be the only finalizer with the same kind/type (F2018: C790)" msgstr "" ! #: fortran/resolve.cc:14077 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be a POINTER" msgstr "" ! #: fortran/resolve.cc:14083 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14089 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be OPTIONAL" msgstr "" ! #: fortran/resolve.cc:14097 #, gcc-internal-format, gfc-internal-format msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:14106 #, gcc-internal-format, gfc-internal-format msgid "Non-scalar FINAL procedure at %L should have assumed shape argument" msgstr "" ! #: fortran/resolve.cc:14128 #, gcc-internal-format msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" msgstr "" ! #: fortran/resolve.cc:14165 #, gcc-internal-format msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one unless an assumed rank finalizer has been declared" msgstr "" ! #: fortran/resolve.cc:14206 #, gcc-internal-format msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14242 #, gcc-internal-format msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" msgstr "" ! #: fortran/resolve.cc:14301 #, gcc-internal-format msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" msgstr "" ! #: fortran/resolve.cc:14313 #, gcc-internal-format msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" msgstr "" ! #: fortran/resolve.cc:14341 #, gcc-internal-format msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name" msgstr "" ! #: fortran/resolve.cc:14397 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "expression statement has incomplete type" msgid "Type-bound operator at %L cannot be NOPASS" msgstr "udtrykket er af en ufuldstændig type" ! #: fortran/resolve.cc:14609 #, gcc-internal-format msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" msgstr "" ! #: fortran/resolve.cc:14652 #, gcc-internal-format msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:14666 #, gcc-internal-format msgid "Procedure %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:14680 fortran/resolve.cc:15168 #, gcc-internal-format msgid "Non-polymorphic passed-object dummy argument of %qs at %L" msgstr "" ! #: fortran/resolve.cc:14688 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" msgstr "" ! #: fortran/resolve.cc:14697 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:14703 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:14709 #, gcc-internal-format msgid "Passed-object dummy argument of %qs at %L must not be POINTER" msgstr "" ! #: fortran/resolve.cc:14738 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as a component of %qs" msgstr "" ! #: fortran/resolve.cc:14748 #, gcc-internal-format msgid "Procedure %qs at %L has the same name as an inherited component of %qs" msgstr "" ! #: fortran/resolve.cc:14843 #, gcc-internal-format msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" msgstr "" ! #: fortran/resolve.cc:14948 #, gcc-internal-format msgid "Coarray component %qs at %L must be allocatable with deferred shape" msgstr "" ! #: fortran/resolve.cc:14957 #, gcc-internal-format msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:14967 #, gcc-internal-format msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" msgstr "" ! #: fortran/resolve.cc:14992 #, gcc-internal-format msgid "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer" msgstr "" ! #: fortran/resolve.cc:15003 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "Component %qs of BIND(C) type at %L must have length one" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:15101 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" msgstr "" ! #: fortran/resolve.cc:15115 #, gcc-internal-format msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:15131 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" msgstr "" ! #: fortran/resolve.cc:15141 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" msgstr "" ! #: fortran/resolve.cc:15150 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" msgstr "" ! #: fortran/resolve.cc:15159 #, gcc-internal-format msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15201 #, gcc-internal-format msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" msgstr "" ! #: fortran/resolve.cc:15214 #, gcc-internal-format msgid "Character length of component %qs needs to be a constant specification expression at %L" msgstr "" ! #: fortran/resolve.cc:15225 #, gcc-internal-format msgid "Character length expression of component %qs at %L must be of INTEGER type, found %s" msgstr "" ! #: fortran/resolve.cc:15238 #, gcc-internal-format msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" msgstr "" ! #: fortran/resolve.cc:15271 #, gcc-internal-format msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, which is PUBLIC at %L" msgstr "" ! #: fortran/resolve.cc:15279 #, gcc-internal-format, gfc-internal-format msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" msgstr "" ! #: fortran/resolve.cc:15288 #, gcc-internal-format, gfc-internal-format msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute" msgstr "" ! #: fortran/resolve.cc:15374 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "initialization of new expression with `='" msgid "Conflicting initializers in union at %L and %L" msgstr "tildeling af startværdi til new-udtryk med '='" ! #: fortran/resolve.cc:15419 #, gcc-internal-format msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" msgstr "" ! #: fortran/resolve.cc:15432 #, gcc-internal-format msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" msgstr "" ! #: fortran/resolve.cc:15496 #, gcc-internal-format msgid "Parameterized type %qs does not have a component corresponding to parameter %qs at %L" msgstr "" ! #: fortran/resolve.cc:15529 #, gcc-internal-format msgid "Generic name %qs of function %qs at %L being the same name as derived type at %L" msgstr "" ! #: fortran/resolve.cc:15543 #, fuzzy, gcc-internal-format msgid "Derived type %qs at %L has not been declared" msgstr "'%#D' kan ikke erklæres" ! #: fortran/resolve.cc:15611 #, gcc-internal-format msgid "Assumed size array %qs in namelist %qs at %L is not allowed" msgstr "" ! #: fortran/resolve.cc:15617 #, gcc-internal-format msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15623 #, gcc-internal-format msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15631 #, gcc-internal-format msgid "NAMELIST object %qs with nonconstant character length in namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15648 #, gcc-internal-format msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15670 #, gcc-internal-format msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15681 #, gcc-internal-format msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" msgstr "" ! #: fortran/resolve.cc:15708 #, gcc-internal-format msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" msgstr "" ! #: fortran/resolve.cc:15727 #, gcc-internal-format msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" msgstr "" ! #: fortran/resolve.cc:15743 #, gcc-internal-format msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:15754 #, gcc-internal-format, gfc-internal-format msgid "Incompatible derived type in PARAMETER at %L" msgstr "uforenelig afledt type i PARAMETER ved %L" ! #: fortran/resolve.cc:15762 #, gcc-internal-format msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" ! #: fortran/resolve.cc:15813 #, gcc-internal-format msgid "The object %qs at %L has a deferred LEN parameter %qs and is neither allocatable nor a pointer" msgstr "" ! #: fortran/resolve.cc:15824 #, gcc-internal-format msgid "The AUTOMATIC object %qs at %L must not have the SAVE attribute or be a variable declared in the main program, a module or a submodule(F08/C513)" msgstr "" ! #: fortran/resolve.cc:15831 #, gcc-internal-format msgid "The object %qs at %L with ASSUMED type parameters must be a dummy or a SELECT TYPE selector(F08/4.2)" msgstr "" ! #: fortran/resolve.cc:15871 #, gcc-internal-format, gfc-internal-format msgid "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays at %L are unsupported" msgstr "" ! #: fortran/resolve.cc:15884 #, gcc-internal-format msgid "%, declared at %L, may only be used in the OpenMP DEPEND clause" msgstr "" ! #: fortran/resolve.cc:15942 #, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" msgstr "" ! #: fortran/resolve.cc:15945 #, gcc-internal-format, gfc-internal-format msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" msgstr "" ! #: fortran/resolve.cc:16045 #, gcc-internal-format msgid "%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array" msgstr "" ! #: fortran/resolve.cc:16066 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "No specification for implied-DO iterator `%A' at %0" msgid "Bad specification for assumed size array at %L" msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0" ! #: fortran/resolve.cc:16079 #, gcc-internal-format, gfc-internal-format msgid "Assumed size array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16082 #, gcc-internal-format, gfc-internal-format msgid "Assumed shape array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16092 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L must be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16099 #, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute" msgstr "" ! #: fortran/resolve.cc:16112 #, gcc-internal-format, gfc-internal-format msgid "Symbol at %L is not a DUMMY variable" msgstr "" ! #: fortran/resolve.cc:16118 #, gcc-internal-format msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "" ! #: fortran/resolve.cc:16128 #, gcc-internal-format msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" msgstr "" ! #: fortran/resolve.cc:16137 #, gcc-internal-format msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" msgstr "" ! #: fortran/resolve.cc:16150 fortran/resolve.cc:16327 #, gcc-internal-format msgid "The derived type %qs at %L is of type %qs, which has not been defined" msgstr "" ! #: fortran/resolve.cc:16164 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument" msgstr "" ! #: fortran/resolve.cc:16173 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be of type TYPE(*) or of an numeric intrinsic type" msgstr "" ! #: fortran/resolve.cc:16182 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16190 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16197 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute shall either be a scalar or an assumed-size array" msgstr "" ! #: fortran/resolve.cc:16217 #, gcc-internal-format, gfc-internal-format msgid "Assumed type of variable %s at %L is only permitted for dummy variables" msgstr "" ! #: fortran/resolve.cc:16224 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" msgstr "" ! #: fortran/resolve.cc:16231 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute" msgstr "" ! #: fortran/resolve.cc:16238 #, gcc-internal-format, gfc-internal-format msgid "Assumed-type variable %s at %L shall not be an explicit-shape array" msgstr "" ! #: fortran/resolve.cc:16264 #, gcc-internal-format msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgstr "" ! #: fortran/resolve.cc:16274 #, fuzzy, gcc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "BIND(C) Variable %qs at %L must have length one" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:16353 #, gcc-internal-format msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" msgstr "" ! #: fortran/resolve.cc:16368 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16381 #, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type EVENT_TYPE or with subcomponent of type EVENT_TYPE must be a coarray" msgstr "" ! #: fortran/resolve.cc:16399 #, gcc-internal-format msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" msgstr "" ! #: fortran/resolve.cc:16411 #, gcc-internal-format msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16420 #, gcc-internal-format msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)" msgstr "" ! #: fortran/resolve.cc:16433 #, gcc-internal-format msgid "Function result %qs at %L shall not be a coarray or have a coarray component" msgstr "" ! #: fortran/resolve.cc:16442 #, gcc-internal-format msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" msgstr "" ! #: fortran/resolve.cc:16455 #, gcc-internal-format msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" msgstr "" ! #: fortran/resolve.cc:16471 #, gcc-internal-format msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" msgstr "" ! #: fortran/resolve.cc:16479 #, gcc-internal-format msgid "Coarray variable %qs at %L shall not have codimensions with deferred shape" msgstr "" ! #: fortran/resolve.cc:16486 #, gcc-internal-format msgid "Allocatable coarray variable %qs at %L must have deferred shape" msgstr "" ! #: fortran/resolve.cc:16499 #, gcc-internal-format msgid "Variable %qs at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components" msgstr "" ! #: fortran/resolve.cc:16508 #, gcc-internal-format msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16524 #, gcc-internal-format msgid "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16530 #, gcc-internal-format msgid "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure %qs" msgstr "" ! #: fortran/resolve.cc:16555 #, fuzzy, gcc-internal-format #| msgid "data member `%D' cannot be a member template" msgid "Namelist %qs cannot be an argument to subroutine or function at %L" msgstr "datamedlem '%D' kan ikke være en medlemsskabelon" ! #: fortran/resolve.cc:16626 #, gcc-internal-format, gfc-internal-format msgid "Threadprivate at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16638 #, gcc-internal-format msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd" msgstr "" ! #: fortran/resolve.cc:16754 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Extraneous comma in FORMAT statement at %0" msgid "Expecting definable entity near %L" msgstr "Ekstra komma i FORMAT-sætning ved %0" ! #: fortran/resolve.cc:16762 #, gcc-internal-format msgid "BLOCK DATA element %qs at %L must be in COMMON" msgstr "" ! #: fortran/resolve.cc:16769 #, gcc-internal-format msgid "DATA array %qs at %L must be specified in a previous declaration" msgstr "" ! #: fortran/resolve.cc:16776 #, gcc-internal-format msgid "DATA element %qs at %L cannot have a coindex" msgstr "" ! #: fortran/resolve.cc:16792 #, gcc-internal-format msgid "DATA element %qs at %L is a pointer and so must be a full array" msgstr "" ! #: fortran/resolve.cc:16799 #, gcc-internal-format, gfc-internal-format msgid "DATA object near %L has the pointer attribute and the corresponding DATA value is not a valid initial-data-target" msgstr "" ! #: fortran/resolve.cc:16808 #, fuzzy, gcc-internal-format #| msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute" msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute" msgstr "CLASS-variablen %qs ved %L kan ikke have PARAMETER-attributten" ! #: fortran/resolve.cc:16854 #, gcc-internal-format, gfc-internal-format msgid "Nonconstant array section at %L in DATA statement" msgstr "" ! #: fortran/resolve.cc:16867 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more variables than values" msgstr "" ! #: fortran/resolve.cc:16966 #, gcc-internal-format, gfc-internal-format msgid "start of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16974 #, gcc-internal-format, gfc-internal-format msgid "end of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16982 #, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L could not be simplified to a constant value" msgstr "" ! #: fortran/resolve.cc:16989 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument 3 of `%s' must be a 2-bit literal" msgid "step of implied-do loop at %L shall not be zero" msgstr "parameter til '%s' skal være en 2 bit-konstant" ! #: fortran/resolve.cc:17114 #, gcc-internal-format, gfc-internal-format msgid "DATA statement at %L has more values than variables" msgstr "" ! #: fortran/resolve.cc:17280 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%D' defined but not used" msgid "Label %d at %L defined but not used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: fortran/resolve.cc:17286 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "label `%D' defined but not used" msgid "Label %d at %L defined but cannot be used" msgstr "etiketten '%D' er defineret, men ikke benyttet" ! #: fortran/resolve.cc:17370 #, gcc-internal-format msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17379 #, gcc-internal-format msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17387 #, gcc-internal-format msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgstr "" ! #: fortran/resolve.cc:17403 #, gcc-internal-format msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17506 #, gcc-internal-format, gfc-internal-format msgid "Syntax error in EQUIVALENCE statement at %L" msgstr "" ! #: fortran/resolve.cc:17521 #, gcc-internal-format, gfc-internal-format msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute" msgstr "" ! #: fortran/resolve.cc:17546 #, gcc-internal-format msgid "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" msgstr "" ! #: fortran/resolve.cc:17555 #, gcc-internal-format msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17630 #, gcc-internal-format msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17641 #, gcc-internal-format msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" msgstr "" ! #: fortran/resolve.cc:17652 #, gcc-internal-format, gfc-internal-format msgid "Substring at %L has length zero" msgstr "" ! #: fortran/resolve.cc:17683 #, fuzzy, gcc-internal-format #| msgid "parse error in method specification" msgid "Self reference in character length expression for %qs at %L" msgstr "tolkningsfejl i medlemsfunktionsangivelsen" ! #: fortran/resolve.cc:17750 #, gcc-internal-format msgid "PUBLIC function %qs at %L of PRIVATE type %qs" msgstr "" ! #: fortran/resolve.cc:17763 #, gcc-internal-format msgid "ENTRY %qs at %L has no IMPLICIT type" msgstr "" ! #: fortran/resolve.cc:17785 #, gcc-internal-format msgid "User operator procedure %qs at %L must be a FUNCTION" msgstr "" ! #: fortran/resolve.cc:17795 #, gcc-internal-format msgid "User operator procedure %qs at %L cannot be assumed character length" msgstr "" ! #: fortran/resolve.cc:17803 #, gcc-internal-format msgid "User operator procedure %qs at %L must have at least one argument" msgstr "" ! #: fortran/resolve.cc:17817 #, gcc-internal-format, gfc-internal-format msgid "First argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17835 #, gcc-internal-format, gfc-internal-format msgid "Second argument of operator interface at %L cannot be optional" msgstr "" ! #: fortran/resolve.cc:17842 #, gcc-internal-format, gfc-internal-format msgid "Operator interface at %L must have, at most, two arguments" msgstr "" ! #: fortran/resolve.cc:17921 #, gcc-internal-format msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" msgstr "" *************** msgstr "" *** 84815,84821 **** msgid "Derived type %qs at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgstr "" ! #: fortran/symbol.cc:5069 fortran/symbol.cc:5074 #, gcc-internal-format msgid "Symbol %qs is used before it is typed at %L" msgstr "" --- 84855,84861 ---- msgid "Derived type %qs at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgstr "" ! #: fortran/symbol.cc:5076 fortran/symbol.cc:5081 #, gcc-internal-format msgid "Symbol %qs is used before it is typed at %L" msgstr "" *************** msgstr "" *** 84848,84854 **** msgid "Overlapping unequal initializers in EQUIVALENCE at %C" msgstr "" ! #: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9505 #, gcc-internal-format, gfc-internal-format msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." msgstr "" --- 84888,84894 ---- msgid "Overlapping unequal initializers in EQUIVALENCE at %C" msgstr "" ! #: fortran/trans-array.cc:2318 fortran/trans-expr.cc:9510 #, gcc-internal-format, gfc-internal-format msgid "The structure constructor at %C has been finalized. This feature was removed by f08/0011. Use -std=f2018 or -std=gnu to eliminate the finalization." msgstr "" *************** msgstr "ukendt instruktionstilstand" *** 85083,85089 **** msgid "Unknown argument list function at %L" msgstr "for få parametre til funktionen '%s'" ! #: fortran/trans-expr.cc:10077 #, gcc-internal-format, gfc-internal-format msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" msgstr "" --- 85123,85129 ---- msgid "Unknown argument list function at %L" msgstr "for få parametre til funktionen '%s'" ! #: fortran/trans-expr.cc:10082 #, gcc-internal-format, gfc-internal-format msgid "If bounds remapping is specified at %L, the pointer target shall not be NULL" msgstr "" *************** msgstr "Ingen angivelse af underforståe *** 85138,85223 **** msgid "optional class parameter" msgstr "ingen parametre" ! #: fortran/trans-openmp.cc:3449 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unhandled expression type" msgstr "uventet adresseudtryk" ! #: fortran/trans-openmp.cc:3603 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unhandled expression" msgstr "uventet adresseudtryk" ! #: fortran/trans-openmp.cc:5154 fortran/trans-openmp.cc:5174 #, gcc-internal-format msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs" msgstr "" ! #: fortran/trans-openmp.cc:5176 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "Used here" msgstr "'%s' tidligere defineret her" ! #: fortran/trans-openmp.cc:6693 #, gcc-internal-format msgid "%qs specified in 'allocate' clause at %L but not in an explicit privatization clause" msgstr "" ! #: fortran/trans-openmp.cc:7590 #, gcc-internal-format msgid "gfc_trans_omp_workshare(): Bad statement code" msgstr "" ! #: fortran/trans-openmp.cc:7890 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The base name for 'declare variant' must be specified at %L " msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: fortran/trans-openmp.cc:7900 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The base name at %L does not match the name of the current procedure" msgstr "Planlæg ikke begyndelsen og slutningen af proceduren" ! #: fortran/trans-openmp.cc:7903 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be an entry name" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7906 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be a generic name" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7909 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be a procedure pointer" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7912 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "The base procedure at %L must have an explicit interface" msgstr "'%s' skal tage mod én parameter" ! #: fortran/trans-openmp.cc:8009 #, fuzzy, gcc-internal-format #| msgid "failed to find class '%s'" msgid "Cannot find symbol %qs" msgstr "kunne ikke finde klassen '%s'" ! #: fortran/trans-openmp.cc:8020 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qs at %L is not a function or subroutine" msgstr "'%s' er ikke en funktion," ! #: fortran/trans-openmp.cc:8032 #, fuzzy, gcc-internal-format #| msgid "-f%s and -msdata=%s are incompatible" msgid "variant %qs and base %qs at %L have incompatible types: %s" --- 85178,85263 ---- msgid "optional class parameter" msgstr "ingen parametre" ! #: fortran/trans-openmp.cc:3462 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unhandled expression type" msgstr "uventet adresseudtryk" ! #: fortran/trans-openmp.cc:3637 #, fuzzy, gcc-internal-format #| msgid "unexpected address expression" msgid "unhandled expression" msgstr "uventet adresseudtryk" ! #: fortran/trans-openmp.cc:5188 fortran/trans-openmp.cc:5208 #, gcc-internal-format msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs" msgstr "" ! #: fortran/trans-openmp.cc:5210 #, fuzzy, gcc-internal-format #| msgid "`%s' previously defined here" msgid "Used here" msgstr "'%s' tidligere defineret her" ! #: fortran/trans-openmp.cc:6727 #, gcc-internal-format msgid "%qs specified in 'allocate' clause at %L but not in an explicit privatization clause" msgstr "" ! #: fortran/trans-openmp.cc:7624 #, gcc-internal-format msgid "gfc_trans_omp_workshare(): Bad statement code" msgstr "" ! #: fortran/trans-openmp.cc:7924 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The base name for 'declare variant' must be specified at %L " msgstr "sektionsegenskaben kan ikke angives for lokale variabler" ! #: fortran/trans-openmp.cc:7934 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "The base name at %L does not match the name of the current procedure" msgstr "Planlæg ikke begyndelsen og slutningen af proceduren" ! #: fortran/trans-openmp.cc:7937 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be an entry name" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7940 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be a generic name" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7943 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "argument to `%s' must be a 2-bit unsigned literal" msgid "The base name at %L must not be a procedure pointer" msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn" ! #: fortran/trans-openmp.cc:7946 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "`%D' must take exactly one argument" msgid "The base procedure at %L must have an explicit interface" msgstr "'%s' skal tage mod én parameter" ! #: fortran/trans-openmp.cc:8043 #, fuzzy, gcc-internal-format #| msgid "failed to find class '%s'" msgid "Cannot find symbol %qs" msgstr "kunne ikke finde klassen '%s'" ! #: fortran/trans-openmp.cc:8054 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "variant %qs at %L is not a function or subroutine" msgstr "'%s' er ikke en funktion," ! #: fortran/trans-openmp.cc:8066 #, fuzzy, gcc-internal-format #| msgid "-f%s and -msdata=%s are incompatible" msgid "variant %qs and base %qs at %L have incompatible types: %s" diff -Nrcpad gcc-13.2.0/gcc/po/de.gmo gcc-13.3.0/gcc/po/de.gmo *** gcc-13.2.0/gcc/po/de.gmo Thu Jul 27 08:33:20 2023 --- gcc-13.3.0/gcc/po/de.gmo Tue May 21 08:05:48 2024 *************** *** 1,1719 **** ! =TCR##-#1## $1$E$+!%0M%K~%% % ! %% &<&BS&R&>&@('9i'C'F'5.(Id(((!($(!)!6)$X) })")+)))-)#)*M**++('+1P+A+'++,,4,O,k,[,],E-a-v----$- .#&.!J."l..'.(.+.)*/$T/'y/*/1//*0-F0&t0)00,0#1F61Q}151]2wc2r2AN3K3,3N 4@X4B4O4L,5Ry5;586>A6I6I6B7~W7?7D8E[8@8E87(9C`9=9B9E%:~k:6:{!;B;?; <9<P<C5=Fy=s=E4>Cz>Q>N?_?G?8@O@RAChAQANAFMB9B=B= C4JCPCMCEDBdDGDIDH9EBE=E7F6;G*rGIGG HY%HoH-HEI ! cI'nI8I>IJ( J/IJyJ+JZJl K+vK=KmK0NL)L LL;LEM\M#uM#MM M7M8-NfN)NNN$N$O*3O*^OOO OO OP#P;P8RPP!P;PEP@QQ5QE'R%mR1R.RR0SLCS6S7SlSGlT$TTJT*CUEnU2UEUl-VV3V@V+W5CWyWW W&WJW8,XUeX!X:XY+Y->YlYI{YY@Y/ Z@j-8kJfk2k8k/l&Ml6tl,lPlH)m8rm-m0mx ! nenBn?,oFlo3o9o2!p-Tp0p_pVqZjqEqA rMr*erCrHrFsJds@sGsE8tA~tgts(uiuAvQHvwv[wbnwYwi+xox<yBy[yOzDnz^zN{;a{o{p |J~|l|I6}{}R}kO~Y~K?aQM_AIB7.9f&9ǁ769p <(ۂ*:/:j#WɃG!YiZÄ\{(^nTfÇv*eu\}lډJG:L͊WxgЌ_8o^ngU֎e,)%|_FVCN^MH]DT9 !7ѓF  P&q4͔-#0.T .07!Ufw4ޖ=LQN@-.(\,& ٘0*H[S?_8=[֚<2o/#:ۛ]$t&-?6.4e42ϝ-50fP'@3h?851P5*ӠRjQ&&% ! *0O[>76";Y9;ϣ@ 9L<5äB;<+xB7FFf1?ߦ;R[04ߧ1=F>;èp!p%A9'4+\5T)?=(}0>׫<USPH.C;rgC<-"GP/ȯ887Rp@ðTEYUEM;*'8ܲZ4p&v̳lCmB9a=7ٵZNl8@A5?wh& 5Gm}Q8=8v34)1B9t?źh;nH\!P<r65,4I:~;!:6R=5Ǿj'hQ:<0Z4,4,"<O5!*;6K*6=X"4{,0,=;3y:T+=4i4>0-CFqE3/2/b@))'AF[E<3%KY!!--CE.F8,U@B>$fcE!!2'T"|;'B5F9|@Bj:(31:41o.85 ;?/{/// +;*gJ1DL**/M3e1@0 @=?~:;85&n-;',''T(|)W"'#JBn251L)c1=?D=EDE 2S_):8K/"*I4LCH3B-ZC:2=:x1$2 @WUv-.7)3a??1bG1:0+HAt.*2%C2i109192k1+,3).]D7$ +.NZ;6U5K8;'9ca9B9B|0@B;A-`'D7+3$_0*A6"3Y$6*.9C},05,1.^0%7&CC:N/.6^C@%B@$K*'=e'0"? Z#{0(.*(,S13H+/"[1~>4)$4N$/915D<zEM@KD1PTV4.EcG9K+VwL/1KE}63@.eo?/=EiLC:5~X< CJ307+EB2++>-R><ER<;EFW6IX7xW.>78vTm \r 2 ] ! 1` ! B ! c ! i9 5 ' + ,- @Z * X 4 )T 6~ 9 * *6E*|F?X.@!*%;@MoE3V5()0MD !B!B:F}8g`eKU;h./8<@W,RVQoU9)QQ{la:A42ZFPit\"M<BB=GKHn`/d-=9VV4?U" 8x 3  2!99!4s!W!&"$'""L"%o""":"G");#Xe#/##) $B7$1z$Q$.$N-%E|%K%&H-&Fv&E&8'H<'1','"'8(=@(@~(?(2(32)"f)&)I)1)#,*CP*e*&*/!+4Q+.+&+++:,C,EU,/, ,,& ! -'1-(Y-#-+-&-7-B1.Ht.(.Y.%@/=f/)/$/%/:07T0$0G0,0G&1*n1,181<1.<2k2N212J 3EW3033lO424j4IZ5O555@*6.k6+6B64 7(>7fg7k7|:8>828M)9'w9"9&9)9<:+P:#|:::_:^?;M;E;82<-k<G<<,<T,=.=*=F=K">Mn>)>!>@?$I?9n?$?&?5?>*@Ki@@'XA7A5A?AL.BF{BJBP C^CnC(C5C3CiD%D?DDDE6E4QEEE/E;ELFBkF6F=F^#GbGGHzIYIEI-J EJ$fJ4J(J'J:KJLK/K+K,K) L,JLDwL1L9LA(M3jM8MMJMK@NN/6OHfOOKOSP.iPJP@P!$QBFQ8Q3QRQ(IR#rR-R/RWRJLSZS?SH2T-{TXTKUSNUU07VEhV.V:V?W3XW2W<W,Wk)X*X1XwX^jYCYG ZoUZ5Z0Z;,[(h[3[([+[2\,M\'z\D\5\)](G]%p]2]o]I9^)^!^X^((_Q_+p_J_)_:`3L`=`!`9`/a$Ja%oa+aEa\b2db[b[b-Oc(}cc"c/c%d68d/od#d<d.e0/e7`e$e5e3e9'f=afGff*g%2gXgsg'g@gghhl.h,h*h/h,#iPi ! li#wi*i.ii#jJ,jwjjj+jFjMBkJkjkNFl(ll+lp ! m{m#m%m4m nn8nVn+sn,nn>n<&ovcooFoS>p/p-ppq@,qmq qq:q9q9.r"hr3r!rr)r*$s0Os9s#s$sAtEt"_t#t-t3t/u,8u<euFuu*v./v+^v4v7vSvGKw:w%w!w*xAx]x,zx-x5x yyJSzKzz{XL|f|K }LX}}Z~\d`<ǀdlR=ӂ(1:2l5*Ճ2)3,]/ok*0XDž] a~$W%-}#EχF4\F/؈D.M$|*=7 O!p 1DE* pD{֋0R6)#'"0&Sz#'"6 -@n0"/Ԏ]5bc0&KW'/ː.*'J r0Zđ5<U&3OF=#Ɠ 8$Y:~0B;-?i?64I`~ߖ$##A'e6 "4J%i%$Ę !!Cb-ʙ-%9.U3š +]=+,ݛ/ ! #:0^/#,/C,b<̝6ޝA+W+žٞ-.!6P=Pş!4*V-.6ޠ=.S/7>R)\|c٢9==w!ӣ(LHk5))">#a.ϥKߥS+YJ٦@$qeק+G">j@Y{թ]Rq2īT,L-y5<ݬ$(?=h.խ;(+T.oM=N*.y+2ԯ5-=5k80ڰ5 @AKNα78U;3ʲ;>:6yG@P9Ub4C7xCF(; dC#'(K0t5۸""#}F5Ĺ2 -6N4FغGOg^~V?O,Q|MνN3k>K޾9*EdG8P+C|J1 2=5p*)Cf?_1%Wq<"62'1Z357'.IV-46):&d$JNPJ>[@6%w5E,1F%xGQA8)z#!0,%H.n12GKJ,M,;>Xz=<ONZ<.65e8<*<)\%))3<O30G9O3488+d+"Q1#AUU(,C/b*EB7F/~K'@"-c-3.("(K*t@+8 .E)t1GKJd3,&,7"d=,'1>L#'90'B3j-50/3c(}1)*3-6a 02-1K }?+. ! -9+g \/A'q+,5 1A+s**' $4*Y(];%_a0) 2=Ep)<"'@hY-+ 7Iv_;FYq- SRPZOGN$X1<\nLIMbKZkWKZdj+,/(#X0|/#-,/&\<.3+QI} ;H$Hm780p?,-E)b"4(f t+J;$DCi<5* .KzF- ""iE+>'-:U5#=Y)0 0>o.11,6ACx-003$d&G2'+SEr-'54D.y<K#1U.q+A M"m-)9)Y #Vk$2?&[.5_'v,9"&Fc-A""9GVD)E "S /v 8 G ' ! !B ! d ! " ! 1 ! 6 ! $ 85 8n d O =\ C H ,' BT . 7 3 @2;sHW;P5AW6\9;T 4^64L8L<=>??ZIA$=f66:4M@I< NJ?Q8+BdKu5iOI89<rF:F1GxGI=Rf/.'AVDHB&WbU/LA5=wl" 9 i!r!!#!%!)!5"HQ""="S"EJ#:#<#>$:G$>$=$O$@O%E%*%& &HA&S&&&B'BW':'''0'6.(2e(*(*(G(K6)>).)2):#*9^*1*(*.*#"+"F+;i+(+++%+) ,=J,0,,B,H-Rd-G-t-,t.0./../"1/+T/-/+/~/Y0!0 1W,1I1 1 1%2+62'b2#2$22+213/Q33;3 ! 3I3A24"t414"4F4d35U5P5 ?6'K6s663646\7O]757{7K_8<886989<I9P9?91:'I:#q:O:+:&;'8;8`;m;4<(<<<e<(<<*<-=@5=v=:=3=$=>89>0r>->C>'?R=?N?D?F$@Bk@J@H@>BA@A<A8A8BOBmB?BDB'C@6C wC@C C-C(DHD+aDDDaD$,E#QE3uE*E-E#F&F.DF-sFFUFG,*G&WGB~G"G+G+Hw^^/^_2_*K_.v_)_&_'_&`&E`%l`#`'`%`(a -a$Na sa"a,a2ab7b*Vb,b.b$b*cA-c1occc)cc+d^Kd?d?d)*e3Te5eYeaf6zf<f2f-!g4Og-g4g/gh27hLjh/h6hij.j8Nj0j3j7j>$k$ck5k,k.k,l1Gl3yl2ll6l13m$em0mm7mmn6n#Jnnn n+nnnnoo,oDo`oooo:o)oJ"pCmppp(p,qT?qqq,q ! qqqr(/r:Xrr7r(rs#1s5Usss)s/st'tGt6at t!t t't u02ucu ~u uuuuu vv-:v"hv!v)vCvPwlwnwwww$w3www.x1Mx:x>xxy yyy!&yHy dyqy zyyyyyyyyAyBz~YzzL{g{>|{^|g|B}U}-%~GS~~6~n~<a5, #^r o *<F.΂5 !/(I+r.+̈́-c'^jkQֆ|(n3AHk5',7T.538%.^[W&c~GJ*Gu+g1JŎ5:F$+Voϐ)?i4NR.>В<eL;:'OEwW>STYLLO??@QbBuQE ! OPsqeaPNPSl/V!<x=|d}AKƢ<0O-8LQ4BGɤQHcIZZQLVHPDJާ?)=iBClD76-Ad*GѪMKg;?E/5uHbJWbY9_1BˮrNS96ܰZ9ni]XpEɲQ@a2FճbU[մ1Ma@iV;=F;C`M".@QW9P$lu\B?TP\IFN>HG۾~#yL`i:b@hSR>P:d'/*WC/AL86RECUB_6<+s?@= :^ACG2g7?BZU@+;+YIC)M=77+A'Ji**, ! (77`1=O&*v%Iu,;TO3 HD52[hKBQS?8u;Li=h:$A7H3,!#J'-r+,UOsqwqopyWZVY #cBUZ {2#Jn#6[>>}4U 3 (0I4g!" ! ! (3B Vcz!   2M ` mz    ! %#XIZ[[YJN"O7rO'6"6YUJ31Fe9[3w@B6?y-05,N{?3l5s0)5:+J0vH$+:A|A@%<Vs-PSwcC'7G5?=73:kAG.0)_:" /H8J'>|E;yP/y =1qog.0U7=-UkOgeyVW6WEB,Jo):)|Il3LB/7r)# "7'Lt$+#@/`%(h%H4J$0oFd?LmlIgHCH> G B O ! (b ! K ! 2 ! 6 ! lA e M 8b ? U m1 3 2 *41Qf#+1':5bVm{]@n+*'&&'M@u9S#D!hJ>Z.oL% D/Kt;:^UK?@;`0$</K$iF%662)iVNG94t@+:l9F/H#x21H>Jh1/$UT>JG4G|6+.' hV O K!8[!C!S!d,"Q";"B#Ib#X#\$4b$9$C$=%CS%6%1%7&H8&3&=&O&0C'0t'*'!'<'*/()Z(P(6(/ )0<)/m)/)0)8)57*9m*9*6*7+.P+9+-+:+<",/_,>,+,(,.#-+R-8~-B-:-5.JS..i./'1/Y/ns//o/,m0M0 0H2-?37m373>3G44d4O44;5(A53j5 55m5'K6;s6B6960,7D]7B7D7B*8Gm8G8?8=9[9bx9P96,:5c:5:C:*;[>;8;{;O<X<%Q=w=$=G=)>8,>;e>R>+>9 ?)Z?7?R?:@AJ@8@%@)@)At?A0A3A8B.RB9BKB%C-C&IC1pC7C?C%D%@D$fDTD2D*E1>EKpEDEAF+CF&oF%F$F?F/!GQGJmG#G.G1 Hz=HtHH-I9vI[I< JGIJ*J)JXJ<?K#|K(K/KNK)HLNrL2LML)BM2lM;M;M1NIN0\NGNYN_/OkO:OM6PPHP1PdQB}QCQ{RRRNR1"SyTSVS=%TScTZTdUdwUEUB"VCeVCVV@V ?W&MW3tWJW1W>%X<dXBX1X6Y'MY8uY3Y8Y7Z+SZ,Z4ZSZ>5[t['[,[;[4 \BU\k\2]:7]*r]/]%]]! ^.^J^f^+^^ ^/^_ 9_:G_G_F_@`R`&j``.``8`6*a2aaDa:aFbE[bCb@b=&cJdc>cEc4dQdAe`He'ee;e,f;k<6l&sl<l5l= mKmBkm$m[mA/n_qncnD5oMzoGo_p8pp+p.pq q2qDq5Uq"q"qq>q6(r._r\r9rK%sRqs2s5s;-t8itJtItD7uM|uGuAvJTv.v\v>+wHjw9w0w/x,Nx8{x4xxy7!yDYyEyAy)&zPz6pz8z.z3{6C{Cz{{<{>|,P|3}|>|<|-}F}]f}Y}Y~Tx~9~51=5o6F!#EYXW= ! +H+t/?ЁARmMo9X=>Ѓ8H-g,„<ۄA@Z><څ58M<Æ@܆+.I:x72 (<e.!҈++ /L(|2@؉!07REЊ  '<1Z1!!"AfP(# #1D v%%(ύ30H*y)>Ύ` 6n?GH-ZvѐTQ֑T(f}oVTWSGWFG$.#S%w*>ȕ*H/a)8C81R7E:J=55?B4"w06˙vWyUњL'4tt?"^nL@=T~+ӝVYV0 8!P:r_ * Gh9M֠($Mcz !ҡ!##:-^)֢X]YZ,9?*y41٤v rLKBWBk)EQۧ8-=fFQ/9Aijf3}2.<P?dK(+EE.*ϭ!67S#cO7c#7#9%U9{%K۰7'9_%K_ QkeO#cs)׳<)>)h'B*'E'm>IԵ":AG|HĶF ;T1B·2M8C+ʸ' -57c Klk:2G?41t9?1 1R[!#O&)v J0 ;=#y'*:>+#jO%?*D:o><>0W.#/%+U7@,<'?dq96P733%'M-_2(5?=_=&LQOR*.#NPr<&&'LN*+):LP9%)6<*s8.,-3-a6**$;3`O*Ol_yuF:uDm'S{:)]Y4I)`Z3#=JN"""  #$D$i$""),#)P'z9O,,*Y2)33RI4lL>Kd?<W|90=?4}:^XLnYWn\J#[nDEvU#$#!91[@u:@2:R+8MS@kM:i^ROV-CFg_f^.PX(7=`M  8)?bB'*8cZPR"8D D2eV3$#7H;.% 1K*b:*q8e.D9"LJo9,<2U59:*3 ^!!6D4?,t*;6C3z.$?-B,p9a<9=ve:HU,-X.R$* - F@ 4 4  #  - )E 'o & & + C (U "~ ( ( ) ) *G *r * * * * *I *t * * * *  (K (t ( ( ( ( )A (k ( ( ( * *: *e * ( ( (  (6 (_ ( ( ( ( (, )U ) ' ( ( )# ! )M ! (w ! ( ! ( ! ( ! + 'G 'o ( ' ' 3 4D 4y 3 " B ?H % B 7 3J 6~ 4 F {1 : '  @, #m  6 . 4 )G q *z . + 7 c8 ? > A ] 2  vS L L Ld 9 0 H @e = > !# _E I F N6 ? " T = \ Av : > 2 M (n ) "   & ID 8 *  & &6 ] 0~ - (  & +F 'r !  ! ! -  (N "w " ) ,  ,5 +b # $ ' * )* 2T  + 3 Q! U! "! A" 1V" -" )" :" F# 6b# P# ?# T*$ $ :% =I% 5% )% % +& -,& "Z& N}& P& $' :B' 8}' 7' 9' (( <>( 7{( ?( 5( 9)) 3c) 4) 9) <* 6C* 8z* A* ;* 71+ Gi+ %+ + )+ ,, 5H, "~, ., , ", - *- G- X- Bh- :- - . . 2. MM. 0. .. .. $*/ O/ A]/ a/ +0 m-0 R0 m0 ^\1 c1 B2 b2 |2 02 02 02 6,3 c3 ~3 i3 *4 )04 1Z4 -4 /4 )4 L5 ,a5 b5 E5 (76 d`6 o6 B57 x7 19 *9 *9 I: ]: >}: ?: : >; Z; 2; 0< 7I< 6< 7< -< ]= 0|= = = ,= & > )2> $\> > > > 7> %? (?? %h? (? ? '? !? @ %A@ /g@ 1@ @ &@ !A ($A :MA -A A 2A $B (-B VB >vB !B /B C % C .FC 8uC 5C C /C $D BD *cD "D 8D (D !E 75E )mE %E %E E E +F "KF nF #F -F *F $ ! G )/G /YG G 'G G (G CH \H xH ?H !H 0H $%I JI ,aI #I ;I 3I +"J NJ vdJ ^J e:K MK K ; L 2IL *|L L )L &L M 83M !lM :M M M /M <-N 7jN 'N N 1N (O 7EO }O >O ?O $P 

Q )hQ wQ ! R xR S S tGT WT U U V V wqW (W X U2X 0X .X 3X 1Y LNY 2Y -Y OY )LZ OvZ KZ $[ =7[ %u[ [ 0[ .[ \ 8\ U\ o\ \ \ F\ "] ='] $e] !] &] ;] (^ 78^ #p^ /^ N^ _ 1_ K_ #i_ 2_ 1_ _ + ` 5` )K` #u` 3` !` *` &a Aa 1_a Va a < b Fb \b 2yb ,b b (b ,#c 7Pc #c 0c c c cd 4*e 6_e e 89f ,rf 7f f f +g ;g >g 9h vi <i 7i dj fj =j -j 'j (k cDk .k tk Ll !l 3l ;,m 1hm 0m $m 'm "n ;n Vn 6wn !n !n 6n ")o )Lo vo o lo ;p 9Up @p Yp &*q Qq -rq rq Qr ;er (r r Er :*s (es s .s gs 4:t <ot Rt +t +u ?Lu u u Cu  v v =*v hv +v %v v v  ! w "*w -Mw {w w 9w Mw Bx AHx <x 8x Ky ILy !y Xy Ez Wz jz }z z z z .z C{ `{ u{ ({ { .{ | I| `| /v| $| ,| E| 4>} 0s} } -} 2} "~ +?~ Jk~ ,~ ~ 0~ F0 ]w 1 3 9; 8u * Nـ 4( <] ; Nց ~% C # + 38 0l ' Ń % + 57 m  % τ   ! & G *c 1 0 + C a " f . -; 1i . %ʇ 0 )! 0K | : 2Ј  ( 0F w ! K \ S 4k ) ʊ ` $E j 1x " ͋ &  /$ ?T = $Ҍ  ' ?/ o B ҍ  3 $@ /e < 1Ҏ   &4 5[  " &Ϗ * )! ;K Y K -- 7[ : 3Α - 10 2b  . 0 < 5R 5 1 ; ), qV OȔ . $G ?l - )ڕ 5 V: % Y  $, +Q 7} / F -, @Z 4 qИ !B d z 4 >ƙ 0 A6 =x 6 - 2 N !h 8 6Û - E( n [ ; ! 99 Hs : 7 :/ 7j < 6ߞ = ;T : <˟ F *O z + *à & 6! $X O} =͡ = ?I  ( Jʢ > 2T A ;ɣ ; 5A &w ? mޤ %L r U CM 9 ;˦  s \ (  1 2ҩ 2 F8 0 3 6 * 'F ?n 8 + > ?R 3 RƬ ! x; D 9 I3 9}  !ծ 3 H9 ' / Gگ -" 'P :x G  M _i ,ɱ B >9 Nx Dz 4۲ . >? L~ S˳ o / > K JJ ~ G F\ E 7 ?! Za " Z߷ \: #  и F޸ E% 4k  @ @ 08 i :x I > C< 2 , @ D! Cf 9 J 8/ h   )   - D Z &v 4 4Ҿ 4 %< 0b 0 0Ŀ F +< Fh 0 $ B .H w &      )" L ` t -   6  , ? \ p        4 T k   L : D= B E / L; 8 4 / -& HT I M 5 #  - G a $| 4 & / 2- ;`  &  * <" M_ 0 0 , < Z !y      ! $ > ^ y   8  8 W r   !    .5 d   # , 4 ;> z # * ) A 2R ' " " ; 0/ ` " ! ! $ $ 92 6l = A /# -S 1 E : 04 ne 5 0 ! <; Ex , 3 > 4^ : 4 ; ? '] # ' = # (3 9\ ) 6 - >% 2d 0 0 + /% /U / , $  ]%  6 1 A @F  @ ; D" #g > A 7 :D 2 5 2  K7 N    *) -T 6 '  Q O 'j   - ( , ,L ,y )  , 6 'O Lw L < <N B )  1 .I .x L k ` 6 J X# (| '  ) @ 4S I U C( &l V  P PJ U ! + A? 9 7 = 91 1k B? # : } <_ G :  C N, j{   8 N ;m    4 L3 M  D "% DH  :  D L; > 5 : 68 Io C E +C +o L ) 2 KE J J '' /O  + " F (% 6N = = 9 5; (q 9 4 % 0/ ,` 8 ( R CB ' F . $ DB ' @ . 0 ! !P ! <r ! F ! 6 ! .- ! C\ ! C ! 1 ! , ! 2C ! Dv !  ! 1 !  ! =- ! :k ! P ! & ! < ! 8[ ! F ! - !   ! !' ! 1I ! 9{ ! @ ! N ! +E ! Eq ! ? ! ] ! 9U ! 2 ! 2 ! 2 ! >( ! >g ! , ! E ! H ! Eb ! 0 ! 6 ! , ! 6= ! Ut ! ! !  ! a ! Um ! 3 ! / ! 2' ! $Z ! " ! ) ! & ! F ! 2: ! $m ! N ! A ! ?# ! 5c ! t !  ! 9 ! c ! GD ! ? ! : ! 8 ! %@ ! )f !  ! # ! # ! - ! & ! = ! 9 ! 3( ! 2\ ! % ! & ! ; ! : ! &S ! Uz !  ! & ! & ! /; ! 2k ! / ! 8 ! 4 ! !< ! +^ ! 2 ! - ! % ! ) ! %; ! &a !  ! 2 ! / !  ! &# ! ,J ! .w ! a !  ! L ! S ! T6 ! j ! 4 ! '+ ! S ! s !  ! Q ! l ! 0u ! 2 ! . ! ' ! %0 ! V ! 2u !  ! - ! 2 ! 7& ! 2^ ! = ! 8 ! 8 ! =A ! 8 ! 6 ! ; ! 4+ ! 9` ! 4 ! 9 ! 4 ! ! E>! ! 7! ! S! ! ." ! 1?" ! q" ! #" ! 2" ! ." ! F# ! KV# ! I# ! I# ! E6$ ! G|$ ! $ ! HD% ! T% ! % ! j% ! 0g& ! ,& ! c& ! F)' ! p' ! /( ! P( ! ) ! D * ! R* ! e* ! }* ! * ! * ! * ! * ! * ! * ! + ! + ! &+ ! D+ ! '^+ ! @+ ! ,+ ! [+ ! 0P, ! *, ! L, ! -, ! +'- ! @S- ! >- ! 5- ! . . ! 8. ! XQ. ! <. ! ,. ! r/ ! s/ ! T/ ! sP0 ! t0 ! 91 ! )1 ! F ! 2 ! "Q2 ! 8t2 ! 72 ! 12 ! <3 ! BT3 ! T3 ! C3 ! G04 ! Nx4 ! .4 ! 4 ! =5 ! mN5 ! /5 ! /5 ! N6 ! #k6 ! a6 ! 66 ! Y(7 ! Z7 ! @7 ! _8 ! /~8 ! (8 ! k8 ! -C9 ! .q9 ! M9 ! I9 ! 28: ! Fk: ! E: ! 8: ! C1; ! yu; ! r; ! 0b< ! !< ! +< ! +< ! + = ! +9= ! ,e= ! ,= ! -= ! -= ! -> ! -I> ! -w> ! -> ! -> ! -? ! -/? ! -]? ! -? ! -? ! +? ! +@ ! +?@ ! +k@ ! +@ ! +@ ! ,@ ! +A ! +HA ! +tA ! +A ! -A ! -A ! -(B ! -VB ! +B ! +B ! +B ! +C ! +4C ! +`C ! +C ! +C ! +C ! +D ! ,I ! 3I ! &J ! $/J ! YTJ ! 3J ! 4J ! QK ! <iK ! 6K ! 'K ! )L ! /L ! !IL ! "kL ! GL ! KL ! 7"M ! )ZM ! *M ! $M ! $M ! #M ! $N ! $BN ! #gN ! N ! :O ! 8RO ! JO ! ;O ! P ! .0P ! >_P ! 8P ! 4P ! W Q ! *dQ ! MQ ! :Q ! vR ! ?R ! 5R ! @S ! 6FS ! >}S ! rS ! a/T ! fT ! 4T ! --U ! :[U ! BU ! @U ! "V ! 0=V ! nV ! $V ! 3V ! V ! NV ! ,JW ! wW ! W ! /W ! 1W ! 8X ! -OX ! +}X ! )X ! <X ! &Y ! '7Y ! -_Y ! 0Y ! aY ! ' Z ! 4HZ ! %}Z ! 'Z ! &Z ! ^Z ! .Q[ ! 3[ ! ,[ ! [ ! C[ ! A?\ ! 5\ ! \ ! *\ ! ] ! !] ! +<] ! <h] ! *] ! ] ! )] ! 0^ ! (C^ ! /l^ ! C^ ! <^ ! "_ ! ,@_ ! $m_ ! _ ! _ ! _ ! _ ! / ` ! 39` ! m` ! .` ! )` ! ?` ! a ! C.a ! Mra ! =a ! 2a ! E1b ! Dwb ! Vb ! ,c ! '@c ! Yhc ! 4c ! ,c ! 0$d ! 0Ud ! =d ! 0d ! :d ! 10e ! 9be ! 2e ! 1e ! ;f ! 1=f ! 3of ! 5f ! 1f ! 2 g ! @>g ! 1g ! ?g ! Jg ! 6.i ! =mi ! 3i ! :i ! Rj ! Cmj ! 7j ! :j ! ;$k ! 6`k ! 1k ! Ek ! Al ! QQl ! _l ! Wm ! O[m ! Hm ! m ! 8n ! 8Nn ! -n ! (n ! /n ! o ! !o ! H:o ! 9o ! Eo ! )p ! -p ! 4Bp ! 3wp ! Np ! 1p ! O,q ! 6|q ! 3q ! 2q ! 0r ! /Kr ! ){r ! #r ! *r ! -r ! *"s ! -Ms ! @{s ! !s ! s ! <s ! 6t ! -Ht ! 2vt ! ?t ! .t ! u ! '7u ! (_u ! (u ! u ! v ! 4[w ! 5w ! w ! w ! !w ! ;x ! :Rx ! Cx ! 5x ! y ! -y ! &Hy ! oy ! y ! 'y ! *y ! %z ! *(z ! $Sz ! Axz ! Cz ! z ! <{ ! %[{ ! 3{ ! /{ ! [{ ! 7A| ! Ny| ! &| ! I| ! +9} ! ]e} ! c} ! _'~ ! 6~ ! 7~ ! 4~ ! 6+ ! )b ! 3 ! 3 ! I ! > ! %S ! y ! ! ' ! -Ȁ ! & !  ! O= ! H ! Hց !  ! . ! N= ! 9 ! HƂ ! H ! JX ! H !  ! * ! ,. ! [ ! 1{ ! ) ! -ׄ ! , ! ,2 ! <_ ! 9 ! &օ ! / ! =- ! &k ! % ! 7 ! 5 ! <& ! "c !  ! F ! $ !  ! . ! 0D ! Wu ! ͈ ! =݈ !  ! 98 ! Or ! ‰ ! މ ! ! ] ! !| ! + ! ʊ ! : ! T! ! !v !  !  ! %͋ !  ! $ ! 8 ! uT ! gʌ ! D2 ! :w ! ! ! *ԍ ! - ! - ! #M ! !q ! 0 ! <Ď ! < ! &> ! <e ! R ! ; ! >1 ! tp ! @ ! 8& ! l_ ! 9̑ ! 3 ! U: ! 9 ! Bʒ ! c ! mq ! ?ߓ ! G ! Xg ! 3 ! G ! J< ! T ! Eܕ ! ;" ! D^ ! Y ! p ! "n ! ! 3 ! ?Q ! 8 ! Kʘ ! @ ! GW ! ; ! Eۙ ! G! ! Yi ! ?Ú ! ? ! jC ! K ! [ ! lV ! 4Ü ! O ! EH ! O ! iޝ ! [H ! M ! ' ! s ! : ! 8ɟ ! F ! aI ! ! K- ! Sy ! W͡ ! 2% ! FX ! 8 ! آ ! e ! ! ~ ! H ! NN ! = ! iۥ ! 7E ! Y} ! uצ ! vM ! )ħ ! ) ! < ! IU ! 9 ! ٨ ! , !  ! 5 ! ?T ! ^ ! = ! ]1 ! @ ! dЪ ! C5 ! Jy ! 'ī ! _ ! L ! )ڬ ! V ! @[ ! Q ! V ! UE ! = ! Vٮ ! a0 ! 3 ! )Ư ! $ ! ) ! ?? ! . ! ( ! %װ ! h ! *f ! 0 ! .± ! 6 ! ;( ! +d !  ! : ! 8 ! )" ! -L ! 'z !  ! % ! %ܳ ! O ! IR ! % ! ´ ! &ݴ ! 4 ! #9 ! 2] !  ! 7 ! ? ! /% ! 1U !  ! ( ! ж ! Z߶ ! Z: ! F ! #ܷ ! ! O ! 9ڸ ! $ ! .9 ! h ! & ! ? ! . ! S ! 0l ! 8 ! 5ֺ ! B ! rO ! B» ! F ! ^L ! d !  ! f ! P ! ZK ! K !  ! ; ! ! BF ! 5 ! + ! 4 ! - ! <N !  ! 3 ! H ! * ! J ! 2b ! ( ! - ! 1 ! @ ! 9_ ! > ! I ! ?" ! +b ! 6 ! ) ! L ! E< !  ! ' !  ! ! V ! 1= ! 8o ! < ! & ! ( ! B5 ! <x ! R ! 8 ! SA !  ! 2 !  ! 3 ! +2 ! ^ ! k ! u !  !  !  ! U ! I! ! k ! 4 ! 4 ! 6 ! 5! ! vW ! 3 ! = ! <@ ! !} ! / ! 7 ! ; ! (C ! :l ! . ! 9 ! C ! @T ! A ! E !  ! ! ! ! ! ! ! 3 ! + ! 1 ! != ! 9_ ! 4 ! 5 ! , ! ;1 ! Um ! 1 ! \ ! /R ! * ! ( ! ! ! ; ! .4 ! c ! \u ! ; ! L ! )[ ! 1 ! 4 ! 3 ! 4 ! 1U ! > ! B ! [ ! Ze ! c ! J$ ! Ao ! \ ! e ! ?t ! 8 ! 2 ! 0 ! -Q ! ; ! 4 ! ; ! 4, ! Ha ! " ! O ! O ! 8m !  ! ( ! $ ! ! * ! 4I ! &~ ! ; ! ) ! j ! Fv ! ! $Q ! 8v ! 8 ! % ! ) ! L8 ! V !  !  ! . ! 0/ ! M` ! H ! N ! OF ! c ! ! D ! x ! jR ! ! _E ! [ ! H ! IJ ! A ! & ! 7 ! .5 ! Fd ! = ! 9 ! 6# ! :Z ! 3 ! ; ! : ! :@ ! H{ ! 2 !  ! < ! 2F ! %y ! ; !  ! & ! ! ! #; ! _ ! *} ! 8 ! ! be ! ! ` ! `3 !  ! : ! B ! 1' ! OY ! 7 ! $ ! 4 ! ; ! 5U ! 5 !  ! A ! $ ! =E ! 8 ! ) ! * !  ! . ! D ! _ ! v ! ! + ! ' ! * ! -! ! O ! +f ! > ! B !  ! 1 ! ;P ! ( ! ( ! C ! %" ! 9H ! F ! 5 ! 8 ! 88 ! 2q ! W !  !  ! $ ! 77 ! #o ! # ! M ! 7 ! 9= ! 7w ! 8 ! . ! @ ! BX ! < ! @ ! > ! X ! m ! 6 ! > !  ! ; ! S ! >m ! U ! / ! -2 ! L` ! * ! : !  ! .+ ! 7Z ! k ! g ! jf ! B ! - UB " " ) . 7 ;O "  85 An = P J? z P 8V N M {, \ $ E* -p - E @ 0S ) * 3 6  .D @s F F BB A . #  ! L2 ! 3 ! W ! 0 < 'W 5 - ( + ,8 0e % 9   %$ 5J   Z ) G9 G % C )3 2]  0 . H 4Z  $ , ) :& &a / A 4 >/ <n 3 ( ) &2 %Y ; S ; K ES 4 7 _ =f 0 5 D  `P  > 7 @ BC ; + - " {?   4 % =@ ;~ / 7 4" .W @ : + (. JW  6% \ Ox g 50 zf J 1, <^ & 5  ? 4 "!! )D! ,n! 4! B! *" 0>" Po" I" , ! # 07# ;h# F# 1# I$ 5g$ H$ 5$ [% 3x% F% <% O0& Y& =& 5' ZN' S' 2' (0( Y( ^q( G( ?) OX) G) !) L* C_* * %+ s@+ $+ O+ L), 8v, \,  - $%- J- 5f- #- 1- - v. . $/ / #/ B/ $,0 %Q0 6w0 0 "0 [0 0L1 ;}1 01 -1 .2 G2 %e2 !2 L2 2 $3 @3 X3 j3 ?3 >3 >4 >?4 ?~4 >4 <4 =:5 <x5 -5 A5 @%6 ?f6 g6 :7 =I7 &7 &7 D7 F8 Ja8 N8 @8 F<9 89 P9 H : EV: 2: ": : .; 'A; 6i; ;; .; [ < Zg< Z< 9= 8W= 8= .= 8= T1> )> K> ?> A 8[A 9A 4A ,B Y0B -B 8B ;B D-C 1rC C 'C C  D +D LD %kD #D &D @D 9E >WE 1E eE d.F DF EF G .G MG 9(H &bH ^H aH JI .dI -I -I I *I &)J *PJ >{J /J ,J 1K /IK $yK ;K 6K !L @3L 2tL &L ,L >L 1:M 6lM 2M 3M 0 ! N >;N zN 4N NN ?O :]O 1O O %O & ! P !1P SP (rP 6P P >P .2Q DaQ "Q 1Q %Q 4!R 2VR <R NR 7S *MS ,xS "S S S 7T G;T 3T &T &T :U B@U AU )U U <U 3:V InV GV W -W >JW <W .W :W #0X OTX =X >X 7!Y %YY (Y >Y :Y "Z @>Z Z 2Z 8Z Z  [ .[ J[ 2^[ [ -[ 3[ '\ %6\ 7\\ 5\ #\ \ 6\ 3] N] -n] "] (] X] QA^ 1^ /^ 8^ ._ M_ Ei_ I_ 9_ .3` 'b` ` ` ^` )a Ba Pa B\a a a a )a %b C,b :pb (b 3b c 8%c 6^c 7c .c -c *d cd "e ?e ;Se ,e 3e 'e >f >Wf >f f f rg /ug !g $g 9g &h 2Ah th %h h Yh !i Ai $\i Ki <i ! j Oj ;j 2+k 1^k -k -k -k l </l ll 8}l Il (m H)m Arm Dm 7m *1n .\n 3n Dn 4o 9o Ro io !o o ,o o |p E ! q Pq =jq 4q 2q 2r 1Cr eur 3r 3s 3Cs gws >s |t Ut (t u ! u v Ov 1,w 1^w 0w 0w #w Mx dx 0~x 4x 3x 0y /Iy $yy *y @y A ! z 9Lz %z 8z :z  { 25{ h{ ={ =)| g| N| 2| = ! } "H} k} <O~ `~ T~ QB G < E D_ # Ȁ D S. 4 ? ? -7 Ne ` D PZ W ) $- bR  1ʄ D hA  6ą  * 6 T Uu +ˆ V )N Hx 2 6 + cK > > 1- )_ ? Pɉ [ @v ^ W 9n  /Ƌ # ) BD 7 @  (Í # 3 >D ( # #Ў , <! >^ 3 7я S A]   א 2 + 1I ${ ' @ȑ C 5M 0 Nݓ 5, <b Q ! " ?6 &v J 4 , AJ < ɖ 5 A U] 9 A J/ Gz 3˜  : %J p C 5ҙ 2 '; Bc =  / ;/ k e} *  $( 0M ?~ _  C? . =Ӟ ; 0M @~ * A I, (v ? 8ߠ 2 IK ] S G 5g 3 &Ѣ 1 (* )S ,} 3 *ޣ _ gi QѤ A# Pe " 3٥ 8 ;F 8 8 8 :- Bh ) 3է 4 /> 8n Ȩ 6 6 4P 4 8 ( 4 6Q ' 2 3 4 ;L  A G N2 N VЬ ^' c i hT  =  = ? A r v4  + ~- - s1 x s u 9 7B Az C 6 77 3o 9 ݺ ; 78 6p 5 5ݻ  3/ 9c 3 ?Ѽ 3 $E 8j 5 4ٽ : 7I 8 6 3 &% L i ( $ 5տ H 2T - - . A YT / u ST  6 / / (H \q 0 : *: 0e [ E 8 EK G ' & ( !D .f 1 % 0 M -l  . 2 - #H Ll 7 0 %" 8H ? ?  K ?k 4 . R .b + 6 4 5) ,_ G I 3 bR 1 $ B O i  ( , H /3 .c 0 + . , ,K "x 2 , ) (% +N ,z & * + +% %Q "w " # & 7 -@ 6n * * ) )% (O $x & ) - + %H (n 5 # ' 4 'N &v +  2 4< 0q 1 ? ; ZP R ^ P] @ K H;  + / ' ( < \ (a : 4K ) # s B ` $ [0 K  1  ; Z u  * p 4[ = V :% ?` Y1 H g < N [ Yl < < >@ a A @# Jd @ y Cj H ? X7 i T :O O M J( as [ W1 > V = 9] R D ./ 3^ - < 8 G6 =~ j p' ) h >+ cj f 5 =} E  X : iO a J Sf D 3 B3 /v . * ( 8) 4b ) 7 + (% +N -z ]  n h gi ? h Wz He L Z CV  O 2 4$ QY o = AY 7  5Z t - ;3 0o v N Lf a T Gj , v BV ] 5 S- T 8 - ! 2= ! Ip ! N ! \ f V ZE y D Z_ N C  YM O ? :7 ?r < J J: 0 >  2 f _' D  A c ix / J I] I v Xh Y  T ?  bL K C C? 7   aN \  [   & k :# ^ 7$! K\! ^! d" Gl" F" " # )$ ]$ % ;% gV% % ~% R& & &  ' 1#' /U' >' 4' ' ( }) :) ) Ai* O* q* |m+ 1+ V, Js, P, V- Lf- {- ./. f^. S. B/ Y\/ `/ "0 R:0 Q0 70 91 \Q1 A1 1 2 ,2 2 ]3 &~3 M3 /3 ;#4 8_4 4 4 <4 U5 ]5 ?|5 ?5 75 ;46 "p6 Z6 B6 +17 %]7 "7 $7 .7 37 '.8 V8 /u8 28 (8 49 ,69 3c9 N9 79 E: Cd: : I: ; /0; /`; *; .; H; !3< -U< 1< 2< << ,%= 'R= 6z= == "= > 20> ,c> l> ]> .[? )? ? I? P@ :n@ 6@ C@ 6$A ;[A NA 4A ;B \WB B 9B @C 7PC YC :C *D HD 8cD ?D D 9D 3/E 3cE &E NE : F -HF vF ?F )F IF AG /[G G 1G 3G "H +(H &TH %{H H =H SH zRI )I /I R'J SzJ 8J /K +7K cK /K +K 1K -L 0=L 'nL ,L L 6L M 9M ZM .iM M M ?M "N >;N +zN 2N #N @N >O UXO -O O 6O 1P #JP 2nP )P 3P 0P &0Q 2WQ =Q 3Q 0Q 1-R 2_R R )R -R , ! S 07S hS -~S 1S S +S (%T &NT &uT *T $T 5T "U ':U bU wU 8U U cU VV -qV ,V 5V W &W !BW (dW !W =W /W 1X OX CoX CX #X =Y "YY H|Y HY 9Z .HZ 3wZ /Z Z 'Z 5 [ 2V[ [ G[ :[ -\ K\ X\ /] H] X] h] >x] $] ] =] $8^ ]^ Fw^ (^ (^ _ _ *_ >:_ $y_ _ _ _ _ ` "` <` DR` *` /` ` -` B*a ma $a 0a *a b !b G?b Fb Gb 5c )Lc vc c *c .c Cd Kd $ad d d d "d Id IIe -e ;e Ie !Gf 8if 1f 0f 7g &=g ,dg &g g 6g h 8'h 1`h h h -h -h ,%i 8Ri =i =i =j =Ej j j )j %j )j 2)k \k 1tk k k Wcl :l 1l 6(m -_m 9m m m 2m 1n n 1`o o 7o Co )p Ip =hp p op 2%q 1Xq q @q "q #r (+r &Tr -{r \r :s 1As ;ss /s s %s 0!t 'Rt "zt /t t t  u /u Ku ju u fu v ''v Ov lv v /v 4v )v 4'w \w @yw w /w "w "x 2Ax Dtx !x +x ,y 4y 4Sy y >y 4y #z +4z 9`z *z cz ){ !G{ :i{ { { '{ ?| @| T| u| | Z| Z} yj} z} %_~ >~ ~ .~ !  H. !w 3 + 1 C+ Co 2Ԁ 3 #; _ Gx m j.  : "  2$ 4W (  $҃  P 9X ! 5 , - AE 0 م   7 J ] ?{ B ' (& 1O   5 E 9 >W > 2Ո 5 6> ?u * > 4 T *o 1 ̊ 3 : B 2 -H 5v ) %֌  9 0R 9 YǍ s! P : D! 4f A "ݏ , -- [ &r 0 (ʐ &  D  * #$ H ^ t @ Β & ( 7 $T y ) , (  71 +i D Bڔ J ph Jٕ i$ F 7Ֆ { 3 g Q% bw ژ xi P F3 fz h JJ m o Ks L G nT XÝ 2 yO 7ɞ = O? u _ ke WѠ W) * P N YL { ^" \ sޣ TR Q G fA _ R &[ 6 . [ 3D Wx dЧ ,5 ub ب % 9 <S . @ 9 $: 6_ 2 4ɪ ' 5& 3\ # G < G9 V Vج V/ V Wݭ U5 D RЮ D# Dh D D F7 L~ 1˰ 6 64 :k & ;ͱ 4 > W] S 5 ]? H g N ) R 3k 5 1յ * 02 5c V A >2 Nq ? \ 5] > gҸ ;: Ev d Y! H{ Gĺ g Xt Pͻ H Ig : > L+ Tx _ͽ F- lt ^ >@ I Pɿ F Ra N r `v S C+ Io J : Z? A ? A 8^ . : 1 =3 )q  q E' ;m N 1} 5D 8z ( > @ F\ C C C+ 1o 0 1 % `* ~ X ! 'c I J K Ml I E :J / - 9 ! *? )j N d &H $o @ 0 + =2 Ap 3 5 S >p 1 0  %1 4W I # 9 i4 G . - 5C 8y = 2 R# 0v < 7 5 7R ( a I A_ P j ;] ( J 2 8@ 2y ' Q Q& /x 3 +  n - b( ` / E 8b 5 Z Q, +~ " P _ *~ 7 - . > }_ & 3 "8 6[  @ < 9* Ed . N !( CJ 9 3 H E e ? , 4 Y& H O ; $U z , ;* ;f < E 1% :W & N , h5 i x 7 ^ G E` 7 N O- (} D B V. Y G ;' (c B R +" 2N 7 E B JB q Q OQ , / ' %& GL E % 4! PV ; 3 F E^ A O 26 Bi U 4 47 il  $ # 5: p % I E -D Or V . =H C B K OY % T 0$ UU 3  : =: )x 2  9 3, 0` P c ;F > ? @ GB 3 k &* 4Q 3  : 7 ]M R > (= 0f + / > 02 Fc L S JK @ \ I4 2~ A 4 9( Zb b @  Ca % / K >G K ! N^ ! > ! g ! (T V} % * % B- Dp z Qf D    GN T T A@ I +  } 0 @  : 6 J R *r # ! I \- g $ ^ 'v .  " ! !2 "T "w 3 " ) 4 4P N K U  v % J Q! ;m! 0! +! ;" :B" 2}" /" )" ! # "# !;# 8]# g# 9# x8$ )$ )$ 6% U<% % $% % % % % ! % &  ! & O & \& 0t& >& b& ;G' 7' %' ' #( 8%( ^( 7y( N( B) 6C) (z) )) L) <* 7W* N* E* 8$+ .]+ 4+ -+ "+ W, Ij, ?, G, <- 3[- 3- B- ?. =F. 9. B. M/ FO/ G/ A/ S 0 +t0 (0 (0 .0 &!1 H1 {^1 +1 i2 (p2 )2 12 M2 1C3 -u3 B3 83 14 1Q4 g4 %4 "5 E45 %z5 #5 %5 t5 ._6 *6 26 H6 D57 %z7 7 z7 )68 8`8 88 18 59 <:9 3w9 19 9 &9 B": .e: *: : ;: 9; HS; 9; 2; * < \4< 8< B< 1 = 5?= 8u= 2= = 2= 5> ON> Z> > #? '6? &^? .? B? ;? 43@ 5h@ 8@ /@ %A $-A %RA /xA (A )A #A )B )IB -sB 1B B B B LC )^C C /C !C #C KD (^D *D D D $D )E )1E .[E @E AE c F AqF 9F 4F X"G ;{G 3G 8G N$H HsH DH >I G@I 3I 7I [I <PJ J J .J $J J ?K iEK 1K &K "L +L MKL 1L -L !L 7M (SM 8|M :M 9M H*N 'sN 7N /N 2O >6O <uO )O 9O <P ?SP 6P 2P ?P @=Q !~Q FQ cQ 9KR &R @R 4R !"S DS eS <S S .S %T ,T +9T eT rT 4T -T 0T /%U /UU ?U 8U ?U >>V A}V VV =W (TW 4}W :W AW =/X 3mX ,X :X 4 Y >Y nY <4Z AqZ ,Z QZ 2[ 1K[ 6}[ ;[ <[ !-\ $O\ It\ 3\ 6\ >)] Ah] ] ] ,] "^ *6^ a^ ;z^ ^ $^ T^ :P_ !_ $_ 2_ 5` R;` 2` <` =` E IG / J Y f !  =Ǫ  -& T p ) ) ګ  / .D @s - - . )? Li 3  ( Y- F ,ή ( N$ #s $ $ * , B9 | ; Ȱ .հ  G% Zm .ȱ ( D 1e 6 3β 3 56 =l J * " 0C t  8  : )8 ,b " * *ݵ O EX  P O -\ / 6 2 $ &B i 9  ͸ 7 7 3W % ) ۹  @ -N >| > D <? D| 3 M EC * μ !  < $D "i 9 %ƽ * . )F )p 7 2Ҿ ` 3f . /ɿ , 0& 3W ; P F _ A I K #X F|  > M #n + .  , 1: )l . @ & !- 8O ; < , ,. [ !u  - ' - +5 #a + N H ;I C S L .j i b f # - ' VC # 1 * & &B Ci E ( ) 2F >y / > 4' +\ 4 9 8 30 d % 5 T 7U 6 7  I H_ ? \ ZE / ( - ' *G +r 1 MZ 8 - , +< h % = 3 -! TO ' ' $ 9 3S $ $ .   (2 <[  '     1 Q "n ; =  6! )X < ( ' / 1@ r #  - ' )* #T 'x 1 M ? K`  ' > 3 L 9f @ 8 # > ^ m   5 % % !2 T o  !  i 3R )  "  $ !$ F d 1 1 / F E` h ) 39 2m #  G '+ .S 0 - >  5 $P 8u B *  5 NN " " )  ;$ *` * < ( 0 -M '{ & " - E Ea ( & 0 3( A\ &  2  * @ :Z $  6  ( &H o ; Q , 1F 0x ( / 4 *7 b %{ ) ) 8 8. Ag 4 @ $ D -a < . 4 00 a { I M $0 MU 6 . 1 /; Tk '  8% P^ 0   (5 0^ 6 L l ' & I * D +c N N $- %R &x  ! $  1 G _ z + + - 5 -O D} 5 - )& oP [  69 p " 8  ! ) H a { @ (  * /9 (i  ' < -$Bg/|!58=`]>6>4!s8)815j.3 $BCL&614O$1<;0.lBA5 1VMMF$1kLL<7 <t >  > ! CC !  ! . ! / !  ! = U q q . 2 BO $ 9 / +! LM H E A)kM""1'I5q,"C 0Q..1"0S*h'53K8NX]`]4mQ/8:($c0*(%**P+{499(P+y /$:AU$:9c12.3a2O"8[4u><D&&k%)12G3a)1E7'Q,y6+2)U\(G># Ab + $ % !&0!$W!2|!/!1!+",="Ej"E"("4#BT#L##$.!$=P$'$4$$3%8:%7s%+%6%-&P<&&&.&.&1':D':'9'+'. (<O()((C(')@@)D)@)L*5T*B*a*(/+;X+D+L+[&,X,I,#%-wI-F-&./.7J.<.9.7.:1/Jl/,/N/+30<_0I0B0<)1f1}1+11,1L2Pc2;2c2 T3,u3 3*3-3/4%L47r4/446415&J51q55"5.5#6 76+X66)6)667/7O7-d7 7#7-7 8 8- 81N8+8\8$ 94.9*c9595909+:6A:"x:::/:;9;0U;';-;,;7 <hA<<'<8<#'=4K=<=5==,>11>/c>+>3>N>0B?s??#?+?9?'@/-@"]@ ! @@G@H@4$A&YA%A)A"A%A3BHMB=BJBjC'C*C<C5D&PD6wD'DD/D/E1JEJ|E>EDF!KF/mF(F)F#F#Ga8G"GG4G>H5QH.H/H*H&I+8I(dI$IaI"J 7J6XJFJ.JZKC`KFKBKA.L.pL*LFL.M @MNMdM|M!MM0MN+!N.MN#|N!N-N$N$O#:O.^O@O<O< PJHP&PVPQ=1Q4oQ1Q6Q/ RT=RR,R?R/S0MS1~S/S5SVT<mTQT0Ta-UUUkUEQVJV?V$"WGWFgWPW0W"0XDSXVX1X@!Y6bYLY0Y-Z;EZcZZ [[+![7M[:[1[8[&+\7R\*\1\:\ "]@C]3]1]"]' ^%5^$[^;^.^+^N_2f_5____`/`iD`m`Ka1ha"aa aa#bC:bB~bbbDb:9cFtc!c!c,c.,dT[d8dDd.e*e+e*f*7}v}}}$}+}$~*=~h~5~J~T]x W8"Lo+5Hd ?C;$/`3AĂ3*QC|<97+Q&}*2τ!@$3eH3>)U5088XX$4և& 525h&'-/]u+}*ԉR;f;'ފ'7.0f-$ŋ%%$6%[ $nj1.1`)(H+WŎڎOQ`xڏ(@Z8s%ː&%+>j9#ۑ$B:W.>!<Pbq!"[ܓ#8'\3ɔ1۔a *o"1+BCHϖ*4 *A#l5&x)!ؘ(F.cՙ >&Fm?4.t1=0'0X;Ŝ.#9L]3KZo5Ӟ("'K3s3۟ 00-^o+-֠-2'M6u!$Ρ !:Vl?̢ %4<=q#ӣ!6*V0Ť(<#Vzץ "$G[u%̦+3D `*0ݧ!<%Qwר&&9+JvAǩ@ Jg%! %@[p"«(@R\1D8& _/8xFbPT&O@vկ<91UkT/0F+w//ӱ<<@9},@2%4X6,ij2.$DSU/++J<vf94T`^_I:+Q'b^C0-D^.Aҹ=AR*Hۺ($MQd&>ݻB5Bx ۼ.'U>$*Խ./,^6¾&%:W#r%"߿!<$^&/0- "9#\8:#QQj?0/G/w402)2\3  />#N"r! -&$6K 3Ii82014b3 ; W*x(@P+:|4=B\l:B44AH=/&I4i",7&*E&p#*"D#@h54&I;)G $8,@ejF,&sB4)`G @#3NGU3)@!<3^769<;+x).%0A'r!/5E6{@8*,0W;26$.$S/x! )))?-i$wS0  <8]E@34Q*VM :nCIG7 ,,#!PFrF^F_@Qc9fWA\9TJ-Hx0+:#Y#}+o>=P|AF6V-!%-M'm<9% )2(\ /2( $2[W--Oh_$5#:?X;8C d'8!*@k441,EQr=/32<fkh!x 01 ! 1B<D);a*U^:\"('" !.!P r!"+%)*$T#y+0/3"c&"#7&K/r&$'$C#h$&-'1.`#}#!$>$c-+!!#0E)v(:-:.h0/C-R46*6#N#r17."LJo@+;'4c66(/544j*T #@ d.)$$'(POhb/\K-6e(X?='-e.<=,= ,j 2 4 N (N ! Ew ! D ! E IH F D > h] = 3 C8 S| , , "*Mh'$@6KFCEKGhL/7-PeHLLLR6>#Hb>&!@>b <:U>5:O@HE#OCHE$"7GSYZ-cDb1*)#/ ;=%y88*V= + )<B98,[/WKA/Aq4/2 -K "y  & 5 +!?!)W!!!!!!! "!3" U"!v" "!"""#4;#p#!###E#F#$Bj$!$+$+$'% G%:h%v%1&PL&@&:&1'aK'('(''#((C(l()(.('( );')<c)?)E))&*&P*,w*1* **J+%[+0+=+*+,,.H,=w,H,,)-'B-j----'-&-.').Q.%q.-.+.5.6'/!^//0//+/.0#F0!j0-0$0$0#16(1?_131,1262M2+i2:2B2-3.A35p3)3/3U4[V4\4e5Fu5d5a!6g6h6qT7R7p8Y8889.99Nh9 9]9"6:>Y:-:9:I;EJ;H;H;8"<D[<R<)<C=;a=O=G=F5>+|>>/>%>-?0J?2{?#??7?+'@*S@*~@S@<@:A*ZA*A9A<A''B6OB!B-B1B4C&=CNdCQC?D:ED,D$D&D DEI:E=E/E"E(F'>F*fF8FHFKG3_GG#G,G5H#6H;ZH)H%H7H!I@I/^I3I3I/I5&J\J-uJ"J&JJ;K4BKwK5K.KDK$0L)UL&L)L0L1M3MNM;MI N5WN?N7N<O8BO{O)OO=O9P-UP'P?P8P#$Q<HQDQQ&Q* R'4R\R>vRR>R S;2S:nSS1S-S( T[IT3T.T@UEIUUU(U*V9VIV]VoVVVVVVVVWW(W9WKW]WoWWWWWWWWXX'X9XKX_XqXXXXXXXXYY&Y8YNY`YrYY/YYYYCZCJZZZ0Z;Z +[1L[~[S[h[][\h\"]>]N]m]]]#]$]b](^^^^^#^ ^/_6E_!|__K_ `'`'A`'i`````1`5*a3`a0a4a/a)*bGTb1b7b4c-;c#icc+cc!c!d8dWd%od(ddd0d4!eVeoe ee*ee ! f&*f&Qf&xf<f'f!g(&gOg/eg&g%g&g" h*,h+Wh)h&h3hi%i/6i)fi"i.i0i"j6jJj:jj3jj#j"k.>k.mk+k!k&k!l,3l,`l)l,l&l' m3m%Om!um5mm:m.n(Jnsn1nnn8n&#o-Jo,xo0o/o*p1p"Qp#tp+p$p%p)q9q1Yqq!q+q1q2)r(\r-r,rMrL.s{s%ss.s&t-6t dttt.ttJtRHu3uuu(u("v2Kv$~vNvv$wT4wKwwwx)!x+Kx6wx x.x#x-y=y$[y#yy+y#yz #z0z'Iz qz z'zz;z:/{;j{1{({"|"$|NG|:||| }}5}M}g} } } } } ~ '~ H~ i~ ~ ~ ~~ #""Fi*))/Yỳ7SoÁ#߁ 0$$U%z%3Ƃ0/`r +փ7/+["v ӄ' <SS%…%0+?4k.2φ$'A)^%͇)6 ! %Ag=},$) 7"M#p&##߉#'FZAq<!8$K p*+27/S$*"ӌ'=={!4HP5,)Ɏ-&!'Hp4,%8+N/z.4ِ2,A_nqΑ!@AbA)$,*Q.|82+*7V'ɔ>ߔ6DU2,͕(.B.q(2ɖ=!:'\'$7ї# %-6S99Ę3@23s)Ǚ)-5I!(ʚO(9(b&3ϛ.*2A]9ٜ5L#/p!C1%/W.(ߞ%'&Mt)Ο+/,\.mQH47:l7ߡ 7'>1f..Ǣ(1+Q.}+%أ21$Lq!\E)H<r9"+>P"n'-)'%9 _#"$",O&o'+(!5%U%{%(ǩ&''?'g%0373R1fV5v#Ь(')P*z,+ҭ"Y!5{aR2fIN52KhK,]-_;<'d'*Dz'C3^:"ͳ<--[v_L,AHn1 !+;g3Hն127d !'$,Ly5&ָ6H4H}Oƹ'->=lF9W+q27+40`-߽12O5*ؾ+//$_;.>#.?R#!01 &;/b4228-/fH>.LM/&$C4Z:3)@(&i$$-&$/BT-1"$?\.x!". ! 39(m)/% 2,P}$$&0$&U8|)B'"$J/o7/#!+!M.o*B !AE^h-  ;8G. 9,W-/56/O8?)*"2M9)* 2K9~*+3:C(~<6@2\M??1]9=h=p55% @Na.60)G)qP%2+Eq1I&)+?U6@. 3<,p)(0:!.\&<"J,CwKKfS*D>*Fi+44,F,s4&$!8)K"u=.006g`{z4Wq.>-"l-AHHJ`!)%%<b&v !  (&Gn/2(1"Z8}9!!77K64!*=h%&!%xGY$5 Z({18QOa9G&3AZ0|{JD #(<ev2)$/AZq NM<0B A>/00K!^""%%(Njfw1`%2(+0+\&+)-0K|%0 D,q1'.2!E#g/4$E4[(j2$)W@BQ"KtB 5$<Z+2 3$+XB""O D]=/)6>.u1# 01P$ /''/WNt8=-:Zh7QSM"$#!'E0m()9+?Sg-y8'G' o ! % -   ! ', !  T ! a ! 8 !  ! $ ! # ! # 4 !D  f .   5 " > 1M 5 -    / CO 5  , "/'-W.+4;2+n*3"&C^^*## "0"Sv'(#@:2{.&#"(-K,y/,(<5e7'2 H$i+9*1,\,4"C&R8yA'%:.`/@$A%Kg5''!OLqVE+[,MB,a:7;5=3s4.B Nj.+0"97IqI. *4 -_ 0 1 5 &&!'M!(u!/!4!)",-"-Z"G"'"("&!#H#W#=g#(#;#D ! $FO$'$4$Z$9N%4%8%H%!?&(a&E&E&'(')F'1p'2'a'i7(S((()&;):b)@)R)N1*+*3*#**++/+*[+++ +!++/,0I,/z,-,.,$-,-1-8-Q- d-q-K-C-.50.,f.<.1.z/1}/P/e0*f02090L0HK1111"1\23^272*2.2'$3,L3y3"3<3134%4 Z4+h4 4454#4-5D5P\5L5[55V666B6:79=7.w7=7M7928ol8R8N/9;~9Z9&:D<:B:>:O;*S;N~;;:;P"<@s<E<l<5g=1=)==2>"I>l>>!>>>>?"?$=?/b?/?/?/?3"@8V@3@8@+@3(A+\A3AAA@A:?B9zB9B;B;*C3fC3CHC&D>D%ZD6D3DYD<EE8EE3EF F*TF.F!FQF%"GDHG}G, H-8HYfHYH<IWIJ=J2KF6K'}K)K+K6K62LiLLL,LLELAAM4M9M;M/.N=^N/NnN;O#QOuO"OO.O!O P!9P[P"qP"PP=P Q'Q>Q.RQHQwQ!BRBdRFRQRS@S>S2S TB'T3jT<T*T U'U)GU+qU%U%U0UV.VJV?jVDVV%W(4W']W)W4W*W7XGXcXXYX,XH!YAjYZYHZ-PZ6~Z5ZZ( ['4[ \[7j[[$[+[%\"6\-Y\%\!\<\> ],K]x],]]@]'"^!J^ l^^p^q_n_o_j`1`5`*`7a=QaEa1aLbLTb-b*bBb>=c=|c=cgci`d_d9*e"de"e#eJeCf?]fMf8fB$g&gg*g*g%gU ! h`h i7i.ij8j3j4k :k_[k=k4k .l_OlJl?lK:mFm4m4n;7nPsnWn?oA\oAoAoX"pL{pLpVqVlqEqL rNVrQrHrB@sCs]s]%tEtBtP uB]u.uOuBvKbvJvKvKEwJwKw5(x7^xJxJx9,y9fyAyEyQ(zDzzDz@{E{:{^|#p|-||| |+|l}Jt}+} } }%~,'~nT~v~m:udl8:);d;:܁L%d&;>,!4Vq<҃!-.@*o(8<BWFBZ$():҆N (\1<R/Gw/6c6YC6ԉ7 )C;mB;&=0d\>AO*(2A>Z#-4 ">Qa@B174i'' ".DQ@א.#,@1m)"ɑ*5Mdyh˒4Q k11 .*Kv %ϔ)*T3t&Ε# 0zJbŖ+((T0}#1җ"+'Sl̘& R!/t:)ߙ? II)26 6D { 7.BJT.1@@ZQ֝,(>UD=ٞ(K@$̟8!7>ONMݠ3+@_Ρ)(@A%+Ԣ2++I$u6ѣ5<#<`47Ҥ ! /)5YA7ѥ% >/Pna%!BGç%-+46`-.Ũ-(")K1u8*`.>EΪ$91Hz=˫߫,Aa:1٬ 4!0V8J% %1/W&C&&@ ZD{ޯLAS ԰*0[z08ȱ,2. a"?,E2!x(8ó,,)$V{(7޴!8#X=|AG2]$W, ;:>v>D99-s3Bո46)k!ѹ3+Da(w5D =P]#C,T<6;61nh>׽*6A4xI%'.E t$-!& !  1Rfz7(%90_!"'(>&:e5:4EF*);6+T1=.!N7p!102)c)189=0w?\ \iJ$#6ZfuO ,]M,*+/ LMm-Ih32!",$Q4o* O@FZ=$$8C^|((.-%\73C124d!J&5-c5:=/1*aSC%$2J8}#)'$-LNz<47;^sV6)R`8<1u##B @N09&4!$V3{6.&H+o15;0?p:))((F#o&=%)>,h(-+ 5V+v" ! -Ee$).$(%(Nw(63:*?e4 %' ! -25`!1)2#D5h8+81<%n&.8'-`'*4$1(V5#))*-!X"z". ! !%GfH/@WleY&Cj "S6S'p)./Nm?G?%*e!# *)1,[4)$= 'J<r=.1)N1x4,' 34Bh47/:H24.#0>3o?B4&[B&;UbE544)i)-"@8O"9!F$N*s+-')6`E|MUFf0&5';5cb 7p0uAO9J07G3&-(  I&j -V/P0'#)9MM!''9G34;M&6t/22,AIn/313E/y373I)i)+/2$L-q%J @O $ ! ) # !  % ! 0F ! 4w ! H ! ( !  5 N 'c   ) ( Z Bj + "   & 9B | 2 6 T ,K7xH3/-*]60J8;t%,$.97(q(~4B9w7=3'/[4..4.S.,999R:9:9<9vWW.`77<4Fq9$!"9&\).**,U 0#=6<Q.)5*H+h! -OU!n<-*$&7K.(.- ! 81H7z./F 3X ' " + 3!@7!Dx!%!!+"3/"c"}""">"- #(;#<d######$($$fM$$V%$o%%6&MR&:&6&6'/I'%y'-'<'5 ! (&@(7g(A(G())@A)$)2)&)H*J* ^*:****U*OR+A+7+=,DZ,;,$,3-54-0j-6-@-?.DS.@.;.;/Q/e/z/////// 0020H0\0r0000000 1121E19]11L2h2 3V3M3QE4D414(5(75"`535d536)P6%z6=6H6C'7>k7?7(7B8HV8788Z8`P9Y9_ :Pk:B:B:[B;8;\;b4<\<X<KM=N=Q=J:>8>G>2?$9?N^?)?1? @-(@iV@>@?@F?A+A+A4A0B0DB1uB9B%B!C+)C+UC+C,C+C+D,2D,_D*DD,D&EK)EKuEUEaF{yFAF77G`oG4G]H&cH"HOHOHOMI'I)I)I)JFCJHJWJ&+K/RK K)KPKXLGwL@LAM-BM.pM9MAM7NiSNlN5*O;`O9OUO5,PQbPP!=Q?_Q5Q?Q=RDSR7R-R"RA!S=cS%S1S2S.,T2[TWTT.U5U<GU2U-U-UV3V VV2V(2WE[WEW$WM X0ZX.XHXGYKY3kY>YXY27ZBjZZFZ![/([!X['z[)[7[%\*\*H\"s\!\)\ \]6"] Y]Rz]/](]"&^I^#g^^"^1^9^7_)O_(y___(_ _`2`R`1p`+`/`/`(.a8Wa&aa#a"ab*8b!cb bb*b6b* cKc2kc$ccccd1d)Fd,pd0d7d!e#(e0Le&}e#eFe;f/KfA{f@f3f/2g(bg8g!gMg64h8kh.h3h-iM5i4i@iJiKDj,jAjHj>HkUk&k'lL,lHylUlFmC_m@m=m8"nO[n-nn6n0+o3\o/oo8o0pD@p1p$p<p+q2EqFxqEq0r6rYrnsTsKsN(tOwt7tIt,Iu0vuu.u.u8!v'Zv&v+v%v>vY:wbw#wHx(dx$x/xx4x-yy-yCyCAz-zz-z!z !{ B{&c{{{-{5{%,|.R|%||||'| }!}09}0j}}}}"}'~:~HX~(~3~1~305d/F(H)q18̀+)2A\+/ʁ61.+0 =(X)*-փ*,/\z" ݄ ! A% gE#΅ 7,K(x4ֆ(//I.yLJ%44=+r30҈3,7)d76Ɖ!&7F%~2.׊)+0.\6‹4݋,0]"s/?ƌ+B22u6ߍ4F4%{724 >U51ʏ"1.Q&!Ð^x3%ȑ0J1j2(ϒ+ETr7'ӓ'(#$L>q=)E^!v1ԕ"&Id%}6<ږ,F,a&"Hؗ3!/UU&ۘL3OY8ݙ34J Ț&* ! &5*\,.!9:Ct%)ޜ%.H"_F4<1R.*:ޞ :Wu.,П5.Kz/0ʠ 7-D"r-,á8Mg*Ȣ)4R!o/*)O5*!Ȥ$$4#Os$ɥ"A Z{I8ߦ !$#F&j5̧(@ABAŨ ( H-i<!ԩ1(Hd!P6<)"f.G׫G'g-3 (/%X1~#5ԭ* ! '5$]'3Jޮ>)%h+ "Ư!A EbD'x0}Eò#ز2:/Mj/87!'Y(?.K2e$Z8#Qu%̶7&*,Q-~! η6&+Eqɸ! ! #BJ`=2=2ZB7к=<FAŻ&-A&o!ؼBU"r945#Y$m!.G2+$^ %!&)+Ur-&%%:`uh>1JPa91*>I?z#C-gD>1Kd}!/% U6vNf.K_]A.92<;;xG( ! %'0 ! Xc]z&1D1=vE<078hKK'9?a-0$EA0)&'!:\\%(bGk9/.4)c) 4&'+N*z(F0LF4'U)U6)6 *!L0l1UN%!t2]d:]UdSUNU]+ *#/N+~/ P/L/|,&9:*R-}@-@8[K8Ke1+.(-VTj22%43O )+*5%[1d$!,< ! UG!F:A0`u#+=I7CTZX[dEtco9#!:,:g[#"=B/%1IHCD%[A!MM-G{IK ?Y#%42IK0:1M(&/+-++Y@<85<6r,2?B7B,/'\6++6?J)27/Od!v'(Q;-[=#!5 )C%m./0.#6R#36+J'v) A"+(Nw - A1:QO'&#J?j%L;Qo0Jm[Zu&%#BACKVvkR;EK*MF*Z$*"<85 n$"&*7b5|.048GA628,2e281<62s>5> )Z 0 "    ! %) ! "O !  r !  ! - ! " ! ! ' %A %g k k ke R $ ' 4 J!]X('/ W+x!*G[5o-   r  ! 12R2  KLZl=I;OKX=0Pn$'=$T'y&&.%*,+W2RX&r24(*A_vjl; :%V-|**; %< 0b 7 ; ;!/C!Ks!K!3 "$?">d"3"6"3#B#C`#)#Z#})$9$\$>%v%A8&Qz&1&&B~'L'`(]o(d(>2);q)B)M)Q>*P**Ea+A+R+9<,Nv,5,M,7I-B-E- ! .9..F^/>//9q00F.1Mu1x1F<2F2N2Q3k3S 4`4O5MS5[5^5O\6I6A6>87>w7@7|7St8K8T9Fi9M9P9:O:G:4::<5B<Zx<(<&<c#={=8>N<> >+>8>C>@?)T?0~? ?9?\?rP@;@J@nJA/A8A)"BLBG^BQBB$C$7C\C*tCICIC 3D6TD%DD(D(D/ E2PE"E"E EE ! FF$#FHF8aF F(F@FJG]GG=HO[H,H;H;IPI6pIVIDIBCJvJOJ*MK'xKFK)KHL8ZL>LtLGM9gMMM&M>NUN^N"vN'NKN< OrJO#OAO#P5P6GP~P[PPOP8AQIzQ>Q1R\5RvRZ SldS=SVTfT>TV/UPUXUV0VlVFV7;W\sWZWh+X>XVXR*Ya}Y,Y0 Z@=ZO~ZIZP[i[7\\]`^^v_@`U`l`,|`,``>`)a!Gaiaa?aBabq4b*b2b3c98ckrc*c dKd>ddAd=d8#eD\e8eYe94fBnf9f-f@g1ZgJgWgB/h7rh9hhgfiHiGjN_j8j=j=%kGck<klk]UldlLmNemm5mknWnnVnFoJdoVoUpK\plpxqvqAr\Grr_2shscsr_tyt]Lu}uc(vWvlvoQwWwBxy\xsxPJyoyO z~[zZzn5{[{F|KG|L|Y|n:}]}\~Ed~?~/~C>^<" @ 0L5}HF)CemQӁs%n{q~7}؈VXD>fs&q#p(FB4Nh_Ufm]ԓn2K\"J#mer!j.;2B%`-!֗15 >V(w<6>sT[?c-+њ-5+a+=ÛM]OA`@P^?09J&Af TFu8?:58p8619K\*{5+ܢJBS!>!U0oRq*e-,+_BwA8C5AyCJ=JF7ϨL?T8Rͩ; L\V<B=?b6#:Z<;Ҭ@=Ou"&&CMA(Ӯ,@)Xj+ïH988rBCZ2WS39@mq HM1ERw0ʴ!!>?C~lµH/XxLѶZQyG˷1.E:tc? StstjIߺ:)>d=aYC8IּJ Gkp'$:LrjHe?><-/j:L"I>{DdIx+'JST78+Gd?@%-<SHOG)q3XL=A6%9\292C6:z"3L HY18D ^R9187VC?DdW19:(Kc45JIeC77+Oc0-1JNIE7)Pa2%3 1?Sq2MF<c4CE8G~oT6))/4ED9MB?UCEs)>MEJ53IFDLDDDbD30 !QCs!7Q.c.9]5Y7K.JBG@@=W(/E941n,..W+('?87M:;2CIJUV.UV42hg4GEM2+.R!5tLJ7B!z:GJ8jC19,Y9$\2X048M*Ox3b;_>,-?51u(8, 265i4<52G5z*9/0EBv>#*MG9>eXxTT>TOT8SS85nJIY91&-KTPD=6ItCZO]L=O8CGR8gEIN0EGI >WP0MEf"W;'Kcb\&oC%*N+,z('4.-\"wC#'4*/_7'/.3NK*#2CP8-=#9 /] C ? 9 ! 7K ! B ! R ! C E] : \ ; ` ;) Qe R > ! TIaT7U,JC>IIiD<:FsNwS@Z[EKBH9AM 5n34L *ZDB`ZEB_Da>SEe?q?:DF1Qxk[7lAlNltjK/+#[#L:j+ : 0 @!<C!0!/!L!5."Wd"E"\#@_#'#.#'#$@9$z$$M%F`%F%;%.*&@Y&V&$&,'HC','H'P(CS(r(q ! )`|)l)5J*5*6*<*!*+IL+F+U+Z3,T,Z,?>-,~-]-v .i.E.F0/3w/d/W0xh00#r1R1G1M12G2O2P3h331w474F4(5=H5e5>5D+6fp6B637!N73p7:777W8(o8*8&8'8%9G89\929]:8n:$:(:F:1<;Kn;,;`;QH<Q<"<R=Pb=S=A>XI>4>4> ?C,?Op?F?N@=V@9@&@0@O&A7vA#AKApB,B3B6B5'C(]C.CHCCQD;bD,D)D.D+$E2PE#E1E.ECFKLFNF*FlG$GBG0G(H*AH;lH3H&HMI5QILI2I4J9GV.VLVW/"WjRW3W+WRXQpXPX1Y#EYKiY(YEY($Z*MZAxZNZY [c['\9C\=}\I\R]MX]U]]]Z^j^-^6^=^~)_*_@_`#`B`]`=x```<`FaVfaOa9 bIGblbqbpc)ddx\ePe&f>f"]f9f/f'f?gPRg0g/g?h,Dh+qhBh5h8iJOi4i;i% jP1j^jj:kNk.lPLl]l2lP.m@m$mLm?2n6rn]n/o'7oG_o/owodOpWp= q[Jq%q^qV+r^rr1ysCs?sE/tHutBt0u:2u1musu0vCDvvj wJtwLw xDx8xJy3hy>y6y2z;Ez.z+zJz;'{0c{+{1{@{3|P|. }(8}ka}-}"}1~CP~/~E~9 ! >D$D0(*G,rJn=Ymm4s,Ղ"5/G;w?(B2_5=Ȅ&=-8kAEC,)p4,φ+()FEp͇6p4@܈8 V ! w*13߉(\G9ފ#) OJO^zIHČ- ;/[m+-=KkɎ"! &.;U QWr\ ϐKY<27ɑ!#JC(͒JF/Bv%4ߓ!"6+Y89A':,bKە(7#/[96Ŗ.@+Ql%6F&b89˜\PYG0 #8D(}8Ú9C6zA[\tѝzk\q]Π,hf'Iأfbdɥ.>7-2.`2&§6, *M,x69afTv62%i`2%#LIW?[.:Uŭ04L)/ۮJ >,_& 8ԯV Hd.Oܰ,6DZ</;'k,&,"&7+^%<5#8;6t5k;Mq#92Xl&Ŷ.-I)d8h>ND1Ҹ:U?L$'/ Kl ,,׺E7J@7ûGGC޼Dj=&-Ͻ '+F rI!ݾ##4&I*p32'@%X~..%%T z1$;Kah-.?1n*21%0"V,yE@%f:V24Dy.HI'SqYX,x/?ABWLRB:C}MSgcwCFC ! !N(p1i[5C0/"6$Y~0hqL{e:Cx(]1KCIHsq]d5\12F<yB$)JH2?.&U5raQ ! Y\@9L1K~M\[u]K/]{dt>IRQPSbaYcZAza_l~L\8\l4_,MI#6/Z*,6F`z+7J5 :,7gde ojauFdWSXWY: ! DE]CM,OzIXGmY-6=1t-%@};]67#n \:<K96?>9Jx5O7I8B*/(1XehjYU}[1=&Od'.& F2VyF1 I"j@;' ! 029c:VY/1[-FEnLEH^_IM5>@ DM/ /2'F.nG@68w=8 ! 1C4u??*,J#w^BL=f/4! !V Dx F ] ! Mb ! F ! ; ! U3 7 R 2 ,G 5t ; - + 6@ =w 2 8 ,!4N6YWYl=8+=2iI9,@5mL0+!@M1'=5&L\87?4?t01::R%95F#@j,H;!;];7 #%Ibf.#+6.b2?/44!i)2).-Aod6Z&7( 3E7.}=)/$Dgi'.(9N:] i '  4  c!V!_!V9"P""",#X5#4#X#P$Lm$M$M%aV%%P<&h&a&*X'.'1'*'2(1B(%t(2(,()($)H@)) ):),)H,* u*K*d*XG++++,+0,>P,4,G,# -/0-`-#|-,-%-7-8+.od.&.7.S3/B/-/I/DB0;0%090#1^>171#1%122:2Q27I3K3334%4D4b4?x4>474/5F5d54525595B86I{6@6A7KH7 787A7F085w848D83'9=[9*9P9/:-E:=s:3:3:F;U`;';;1;50<&f<&<O<!=,&=S='o==G=/=#'>+K>w>*>>>>]?"l?'??2? @a(@/@@@8@8 AxYA9A' B34B?hBB(B/B#C8)CLbC%C%CCNDNjD-DTD9NAN<;OSxOEOIPI\PJPGPc9QQQFQI6RBR?RES;ISNS]SG2TMzTLT]UBsULU[Vw_VEVXWdvWAWBXP`XCXMXQCYLYZYV=ZmZ3[,6[=c[[L[P \]\-]j6]x]7^MR^;^K^c(___j``a""a#Ea.ia6aJa"bD=b\bTbG4cK|cIcCdKVdKd^dUMeMe2e$$f&IfMpf\f g25hT.،--5Cc!/ɍ/,)<V_8E,'r!z)75a)?ܐ =[\&)ߑI 9S9)ے2>“7. f72/+"7N6:&?<|=C֖K]fdėt)( ǘ#(,hUh.'Vu:#,5J/)ڛ* 6Q(l6L̜!;U6q'2Н' +}9/2y=̟ ! 66QIIҠ<0m.t@ @ :>F]]TA+A£ K%RqUĤ R$w'ͥY4O;<<:gP0C2-;`=ڨ1(3A;u?:7,8d77ժ6 4D8y691#5U13=C/0s/1ԭ39:#t4MͮHd!/%֯6V399İ362:i_gFlUD :N>4ȳ=B;*~6JD+9p&Ѷ!@4R==ŷ=$A5f86ո3 8@:y9> <J+2 4)%)Oy#)ӻ86=*P{ ۼ%=?,}IPE*b30^QX7_ !  ÿ޿.S)-}F:/-*]N0 /:j8s*G )-)W3)E-%S$d# 10(b3;ZXV,7M*m52==?}'  3EXj| QQ){Ou(#[`2Q)#{D:lB=(>GivS#]1>> A%b7 ! TZ* -40b-/ma_kP[qL NYD0-u>::NXD-&}ASTn[OVmq6=T?g@18** U#v6"Y>VZ8N<9rvG1C2/hn}PU=hZSW0EPvTrQgTI`ipipeKQT&AcL@E'hJK[1E6< ! PGWRKCL[M8ZbaDMiO^EOFD<EMOG:DE3 YAQMA;E}E8 PBWMs9dD9W=MU:6b @x v p0 ! l ! Z Qi H ? WD c b kc  TkFS\[KK;!T]F#WduBJhrAfbGVcdef1I5GZZ[7C`H8WVG0Cxq+.3ZF8VXe>MTKOBd3 F 5 D!PZ!`!J "VW"X"O#?W#7#E#?$U$E$/%EN%5%F%<&+N&Kz&B&P ',Z'R'V'01(0b(2(.(B(.8)Cg)A)g)0U*$*&*S*&+M+b+`\,",K,X,-9-^-W.Kv.Y.G/+d/O//Qm0b0D"1^g1,1J14>23s272/2(3n83834394pO4456637[R8l8c9\9\9/9:Bi:d:e;w;O<#o<<&<7<^ =Dj===?> >?? D?.P?*?C?0?K@6k@4@@@.@ +A7AGA \AjAAAA)AAAA ABB2BNBjB {B BBBBB BB CC6C PC\C*oCsCqDaDmDrPEeE&)F>PFYF+F8G8NGqGbGD\HYHHLIfI_I<IJ!6JXJElJDJDJ=LL9JM4M+M>M$N-4N2bNYN%N@ODVOOHOFO-CPqPPP4PUPZRQQL/R*|R;R<RC SDdS8S;SETQdT5T:TQ'U8yU6UIUH3VJ|V(VVOwXXSZYYdZWZ<J[[K\9g\\#]:]7]g^~^I-_aw_]_w7`u`_%abata[]bVbXc?icNc6c/dud&*eQeVGfUf:f4/gdg{gg%g8g.h5hmkQkvkKullDmQmPnNhnJnRoLUoQo,oQ!p7sp=ppyiq^q9Br>|r[r~s/s/s4s2+t`^t)t6t6 u'Wu2uNu|v~vVwnmw=w+x5Fx4|x6x7xC yPdysy&)z$PzPuz>zA{%G{Om{2{ {N|^`||H|J&}iq}]}L9~(~D~5~0*C[,4Z.z8?-"WPqL6gC$Ih08V1s-Mӄ?!naSЅg$67ÆUDQIHH):r00ވqQMӉ=!K_TlWm@ŋFMM\[:TAFэEI^<6=OZ;FN-8|4*$F:4+YD<6776(7_95ѓ>>F;91H-0v@B7+Dc++Ԗ1.2AaP2!'VIC3X7S3MdN0f==՞AOU+Tџ&GC)4!& w3(FԡH<d8LڢL'LtLZZi?Ĥ).bNK=4;3pE1^@{Ad%P!v%X+FCF[Ѫ(-GV-4̫P@RN9'+D4p{1!3S<4Į0h*5'ɯ/I!AkL19,8f<!J^MYWQ^>(G<p,@ڴa}V+25P!FGh=MO2D2wV=?#^7[1XH<[޻4:=oKK@E8Jսs q}HXͿ&OF<nVBP]sX=*hPMYoilnL]TOJO Q ."DQY8U)Ih42;g+94 B>?.0>!Z`Q 8*2cWAF0{w7M+0yG>11:c441D:612#?@NXNA7y-1:%D`<^GA_^QHMJ[3OQ1VYm4 &HGE#:<TY@*Gk@6/+:[ .& '/=W?A8#PtQPNU NKI`K8@/2p< F5He~V;_LRU~U0-C3w6((.'W:7._!@SaFx<G@DSRL,VyLJSh1lP[M792;lN:92l6CEHa* <>35r9=R s>F/5@JvJ !+rMWnu>;<;x;;W,'eY&=>795JoB4VIB#FfG>$42Y1NK'OsJM9\9[!,QNSWOLL+55K0>/.!9P:48F3Uz)=H8T)0"17T%6?C).m:*3 6W54 /B -r @  / /& ! BV ! , ! 2 ! 3 ! --  [ <| g F! Uh N Q a_  [WYYry&_WVXNIHH)(,=]O6"Q*qJL44O:G?RG>>LNe'6<Pc`9Y<1J* 4MHcN-_r@B) >6(u@[;[%{#Yf9 -     !!6!"X!"{!$!$!0!"7"U"2r"r"k#_#6#=$/Y$>$9$w%sz%K%P:&g&M&vA'G'[(<\(A(()O>*1*L*g +cu+9+4,7H,L,,J,J0-8{-2-Z-B.=X.(.&.D.J+/0v/w/_0J000J00F1Hw121H12<2]o2G2H32^3b3}3ir44ga552L6A626260'7KX77;7%7%$8EJ8T8'8B 9QP9R9Q9ZG:6:Y:53;Pi;F;4<6<>)>(>B'?j? F@g@t@9@5A\ BCiB>BLBO9C1C5C}C&oD5DYD0&E2WEOE?EBF(]F,F/FHFD,G$qGQG*GHH+\HDH@HIB&IiI8I5II( J6J)KJ?uJ5J@JD,K1qK@KRK7L?LBL8=M2vM2M,M N/N4KN/NFNSNFKOFO-OYP]aPYP1Q5KQ.QYQH ! R)SR)}RYRS6 S6WS,SSNSG"TjT,T*T9T/U<BU2U/U/U4V>GVV2V4V.W<=W^zW*WcXzhXXlYEY7ZLZ [<[[$\]u^F_FJ`;alaN:bSb:brc=c(ccWd"_d"d"d d d$ ! e$/e$Te"ye"e)e4e1f/PfCfUf2g4Mg>g1gDgD8hZ}h7hwiPiOiw)jHj[jGFk8k@k:lCClmlal~Wm]md4nanXnoToLoMp_p(p( q(6q(_q7qqrQs?sG't ot7t-t8tZ/uWupuSvPqvGvn ! wbyw`w<=xNzxIx{ynyfybez`z-){WW{^{'|$6|E[|T|J|A}^}*x}2}}px~g~)Q?{N$ ! :/`j,ˀ1JCe30݁,9G=;4{)QڃD,-qXIB/b=;=(Af-$ֆ  J=F?χ'17-i*Aˆ9.>2m(Mɉ)-A9oq@H\nASV=1d=#4<S qV81:+l++ď4,%*R!},P̐..L.{./ّ/ 090j00̒00.0_0000#0T.....A.p/.ϕ..-.\0000.O.~..ܗ. .:.i..ǘ./%/U-..//A.q..Ϛ.,--Z-.4,<GE5ʜ5)6J`J26)H`=AF);pC:CР$S9("5١88H1 252)@\pDCSL7JeM[CZ3MҧC ?d?1aMxJƩGBY$`)"!L[nGʫH%[*;2)&E1l0YϭH)Lr$ܮ& (0I-z(ѯ'+'?!g !!̰-&"C"f),%36: q$)+) 57m+4`KEBX>:ڵKWa>X@QWI=˸> 0Hy'1#[`m(κC>;;zBIDZPFJ7CFƽJ MXFIU7KCٿM%k.-6 #@3d# )*H:@T55/,$BGQg+d-qdc@Y& >?!6a6$'1/9-A9o7t7VfO.EtiUen=*2h0^&+SRY,?-m3/BFrF<8=vFBV/v0*'**U!u7+-+)KU)! $-8R8'*41Af7-@*O3z'P%'FM%<?IP@$';='y<V+5Da2.. 7+X4,%& >34r)3>/D-t,1TV sM#?1Fx2#KB7*zkFz_-#SH/N#~5,E%(k;+%="M`=)$4;0p@KLN/!"9LJ`))"rLx[uctjp3'0tXC5?G9\=;\b2d.T$J 3X%N8(:!cCN",qM5/"9RQ1;0L8}]"%7#]"B;#A>3(5#0/T.%=c*{D- A7;y-59AS.2.&q .>9'44;p%9=> I| Z 4! ! HV ! 3 ! ( ! ) ! q& . | D * I N^ ; > -(1V/'2Q.e',+1'Gos;8?@xj,$'Q?yqa+M%AK_1>v1>A\),'D!  BSc%K$08U&!(93:,n(.F:SL8kNU(IdrV.DZy 0IJ `-+KT0k)4QAM =  5 @!%`!3!W!:"M"3i"T"d">W#7#>#D $7R$]$?$>(%Hg%P%&B&'&*&0#'*T'+'%','('3'([(y((("(( )+).H)3w)6) )G*"K*'n*g*7*76+@n+3+$+/,(8,/a,,<,8,-(8-2a-- -G-q..F././e-/%/ /0//0*30^01v0F0D0)41^1't1M1 1D 2P2o252$2/2B31\33 3$3;3#4%<4)b4*4+4=4p!5M585C6E]6=6>6: 73[7 74717=8:U83828A8+99ze9X929:%l:F:4:*;;9;tu;(;h<|<'<8<><9<=`v=.=M>3T>z> ?$?;?4S?D?2?2@E3@8y@2@3@A&4AD[A1A;AJB(YBrB?B5C9NCYC=C= D=^D=DKD:&EFaEAE>EE)FroF*F& G+4G,`GG'G@G* HY8HIHEHS"IvI.IYIEJ9]JPJBJ++K5WK7K;KL!LLxBMHMCNKHNFNOggP PP>QLQ7$Re\RPR&SK:S:S SLS</T0lTBTDT:%UW`U!UyUITV:VJV;$W"`W!W W8WNW,;X0hXUX4X+$Y<PY[Y"YU ZrbZ0ZH[IO[h[\=\4Y\G\W\\.]y]=^IC^W^V^~<_V_P`Vc`;`X`iOa:abadWb/bbcScSocIc dE$d@jd:ddBdN:eGeLe9f'Xf@fDfCg;JgUg9gh/hJh+`hhh@hii$8i5]i5i5i(i4(j7]j2jPj:k_Tk4k(kKl5^ll1lll m!m5m/Jmzmmm1mmn9nOnbnunnnnnn!o"o!9o[o!roooooFo7>plvpkpGOq0q]qN&r>ur:r'rKsUcs\sttttu-u,Cu>pu.u5u(vG=vv'vv,v=w\Nw0w0w+ x9x!Xx"zxxxxxy9yXywyyyy1yz17zizzzz z ! {"{={5\{{{{&{1|6H|J|&|/|+!},M}Jz}0})}# ~#D~Bh~1~ ~$~&#&J)q)A2N:K-Հ--1N_54~A>ڂ8LR<6܃8:L=@ńK1R7./:$V){A/?3WF;҇::I5999.6h.ΉkV3n6CيM$k83ɋO MCnCAA8<z<?4mK;XuC9֏93J~q#-Q g5044$4Y11ܒ;(JVs[ʓ<&AcD'+*>-i8UЕ&#$җ3R+n~#3E![E}<Ù^o_FϚ&H=_aeW'5J?fFMA;6}Zn$ɟ?.R͠y >gKZ ug!ݣA"P[sϤ ;$Y`]H+%tAܦB7^NBP7A>y8QHCJ2ש( ! U3+3iLSR.9"\0t,[Ҭ$.@S??ԭ=1R.38" :C0~8&XMh+<1QIq%A=#Ba.<ӲJ;[3E˳I=[37ʹG#M2q)IεDZ],>G$Ol5&*2D;wG_-[T9޹uH4׺9 7F>~@/R.QNӼL"<o,8ٽW+j"[XEn.6..I,x(\4+,`ZWJ@CpH>x>Q?OI(+,T(,!0*:;I>4'(EvT(WL+k*8844IiE+2%CX7)-',(T}84 ! *%5P7{:\Z2Z8n3. ! '\ ! J@U<1-%3!Y5{%-9>?8~D>C;HB= AI;@;@D:KE cR.3354i4SU'^}PQ-WO^X'B>x.KGr)cH[t ! !#E4aK5j4/Q1:7l=:N;l1]287k4\&K/K7)999!G[K_OO\W3TDz6e>X;4kp?z]NhD.3*EWjhWZ+NJX ~y}:v$66 6D6{778"8[8888?8x888#8\8666<6s6676P6668,8e8866G6~666#6Z666767n5667J7666(6_9556<&sLhDPy((WQ\F3M!H;2( +[ ] : = ! ^^ ! F ! @ /E 1u  $ ! J PS B ' / *? *j ) * * )?KA%RgA,9)Ec@@j+,UD^RH<I=I W{qaG1>MGF(9D~/6!]/}"/8 AY=-.F6'}'-0],,='+'Ibq6C 1OEN;4)p1#+G;4#5@ -S O J =!+Z!7!+!!'"%/"'U"=}"=""2#-I#Cw##H#^$[x$<$M%R_%a%8&5M&n&:&2-'6`'6'D'6(@J(;(@(7)7@)Ax)7)9);,*7h*8*F*7 +FX+V+<+C3,?w,B,H,CC-<-C-].Hf.<.?.<,/<i/7/G/C&0Wj0l0h/1U1Z1%I2Go2G212,135^333V3K4Gf4,44645(5N^555Q5D569z63616/7;J7/7;747-'80U8B8$88C 9P93b9@9R9M*:*x:.:/:(;+;F<FD=>===(>:1>9l>E>:>'?5>?'t?!??(?+@&3@+Z@$@F@N@+AAHmA6A?A7-BeB<B]%C0CYC.D`=DoDoE3~E;E<ED+F4pFAF<FM$GrG,GGG/G9H/LH!|HUHSHSHIIIXI>J]RJ]J_KVnKK'K9L0>L3oL9L0L0M/?MMoMJM&N-/N@]N"N"N;N< OI]O#OORO)4P^P;pP?PePRQQbQQFQdR }R2R.R]S&^S:SSHS[)T T'TT+T%U,>U&kUU}.VLVLV?FW;W<W-W1-X+_XIXTX_*Y5YAYiZMlZHZ[D[>[x\?\R\(]E^NF^v^z _F_G_a`6x`I`V`PakaDdUd95eWoeKeNfHbfkf^gvgFhRMhfhOicWivi72jijjFjlkkm"lZl(lmGmBmG9nonnWorojYpDpY q7cqq!rr/sRso!tDtptRGu`uuv9 w.CwCrwnwC%x9ixHx!x(yj7yyU$zrzzUzhC{B{X{%H|fn||4}^}F~Y]~^~lELg4~*%ހ*E/&u**ǁp+c/6II@-"7ۃ8+L4x"Є- ^6K%,$9Q.?7RQ0-Շ)"LW]WJ $X}Y=b5C֊4)OEy5\;R=>̌A vMEčE ! hPx2nW.mJ?C\OH79Eq>RI4_X1=<,z5JݔG(KpNS C_)6͖-\2Lܗ2' <nI9?B2(u.`͙K.fzAn#<$K1\ ɜ* h)[E <R?6Ϟ7]П`.)8OGB)H3K1M}DˢD<U Ij|1ʨ(@%+fC6֩8 -F;t_;hL2,+)A>k1ܬvNebAFYCE@*8k@Kb1`lNbJbn_Hβ24J6*?E!Ig=f$Vh{kPP49 $$E>j,Wַ*.nYSȸ=@1Gr)-OYbӻ65!TWSiYjsĽ8G߾'v,gb+STM7*A5_(H==BM;N7ASf63KH7-O J+k''%1 7?w ! xwHG86Ro?+B.#q??"P8+MA.E.t!  -9:$t.3+F?H$#E+^0G';+IgHGGB6n0J-\<**K;i=BN&=uFHBCFD)CDEA*JEe7..J]8;-2J`|,nJ9cX$$+@0l%;..NU'Q}V[&_TvmI9S 2aQ0/FGO;18L<HA KMLCE*Cp;)^9BW=3!q*?6353i2:, M8!"5M#O!sj,O-Q}+S*O>zA642Xg=!' -H*v@%2@;.|;=4%.Z4#'H ! SlBLJ63Z:]-/?o6P:B4DwA/-.&\"36(j?D7@P>6C:K3.B,Fk$e=4_27O(5G8-=I5GO'U<}ZU2k6FM;jSGXBAl;JL<M ^^ ? 6 o4 ! Q ! 3 ! '* R ii R A& Ph G   Q" Et  Z}y0^(c1]{1a'FAnI'"^.K3zB,i=4G@$5e=#4'2aZ&*)<DSCCC DdCAB/Ar/OU4@u?A=(-UWl[_ QWI*atYV0 4 $ - 0!'@!;h!G!,!Y"Xs"X"=%#<c#<#0#J$_Y$2$U$KB%"%1%!%4&-:&-h&A&A& '#;'7_'(''$'=(?C(8()(x(/_)>)E)J*8_*!*.*'*)++;+%g+,+*+=+L#,Ep,I,B-hC-i-V.Nm...S/>03@0tt0}0g1918181125H21~202L2;.39j383?324UP4=4'4F 5;S50565H5=@6?~6)6(637;E7 7E7O7H88F8A8 ! 9/)9/Y9&9#9297:,?:Ml:;:J:0A;>r;-;>;8<@W<S<J<37=/k='=>=#>A&>Th>>>9>06?Qg?O?M @<W@ @G@6@]!APAAEA83B<lB3B>B%CXBCLCLCJ5D,D0DHDI'EqEJEEAE<0FmF|F0F$F2FG32G?fG*G+G;G<9H,vH H<HH& I53I(iI*IgII%J5oJ6J@J!K?K^\KWKHL0\L'LLLeL2LMMMKMMN(N7>N'vNEN?N)$O9NO OBO@OM-P6{P-PPQ"&RIR6eR$R=R*RA*SJlSFS*S)T@T;T)U51ULgUU2UV*"V&MV\tV&VV+WVCW<WW[vX8X: Y+FY1rY1Y1YZH#ZlZ7ZhZ3%[XY[V[Y \Vc\2\6\G$]Kl]@]-]'^"E^'h^ ^'^^zZ_I_`E7`<}`=`=`<6agsaCaCb@cbgbH c~Uc]c+2d^d!e9f\OfJfJfIBgIg3gZ ! h(eh3h9hAhH>iHi,i(iA&jVhjBj.kL1kG~k%k<k)lKlDm.JmNymCmX n,ennOopohYpdpc'qIqUqS+r'r#rLr`s;ysDsBs0=tWntt<NuWu\u&@vgvavv2vY.wwx?$x dx3qx)x6xUy0\y^y3yc z7z8z zo{I{I{I|,d|D|o|kF}G}z}_u~>~"474l K:MI_:s!8Ё: ,Dq#3͂=7?YwPу:"]v3(,%)R?|BAA؆Ln3WQG26̈O6SZ@0&KWI7 KENAG"QjL5 ?FY&ǍE8-9f*>ˎ: ! E:dF.5' ! 02Mcc'R=3'ē?>,3kM(EZ\1LA6?xZia}'ߗLHT2<И6 ED>@ə: ! jE^CSW+N:zDGDBDD̝FNX2?ڞ@>[D!ߟ=BZ;@٠?*Z@Bơ5 >??~?G(FMoSZZlbǤj*out{y(~<>ʬWo~~ECaIK=;Cy:@9BY>B۴A<`:G?=G}:Ŷ+D,Aq@FC;DBĸ?(Gp*/ع=HF4/ĺ/0$DUb0.d$!;F7/ٽh ;rO/;.cjWο&X?K)(7$U;z2)3ZG3 4:,4g)_B&5i):DFI OO7Q1a39Q;JK0^JZB5[x+&O'w.1N#5r01, /8-h-#3-*J)u,-()#,M,z&#""'8=`-=, ! ,7*d*)%' ! *2.],&)4 ! $?&d+-(0._:;:01IbEgVZaSIgRO&T-{1)%"H(MvI 8j1.-1]`F75O )$ !  /@9}zNSGs=@MZ,QySYeFbBURGmC^@\O@}TRcGczbs@QUNL7rc`[@eDc>PA84z20C@WCk`q&>geEau ;_E`@kE_X`jM=eW1-).G<v;*:,U(53|-=QqWcNeR?^B^P]Q<C@@Fo/[BE_^ R` X A ! 1N !  ! E J B X ks D 7$ :\ \ S ZHX2^lWWaRHd`N7]W=K+lw^=CSC|gFQX>Y|p%LMFG[,pXRHLIkFLI 5!e "Z""tv##z$ %%G&f&;>'bz'd'kB(V(@)F))*jB+++]+@,`,----:-6(.Z_.=../20G01R1^2wb225h3f3J4MP4m4Z 5g5@5u(6f6G7]M7d7,8h=8W8A8C@9h9=9+::6:; ;.;Z <<{<H<E=G=$Z=A=o=1>dP>[>C?IU?3?k?Q?@>@6@&A1.A4`A5A+A!A3B2MB*B4B/B1C\BCHC_CZHD%D\D$&E9KE8E;E9Eo4F(F6FG:G@G5H16H@hHKH+H+!I5MIHInIs;JCJ1J"%KZHKaK6L;_<_8_:_?:`(z`3`:`6a6Iaa4a>ab9*b9db&b&b5b("c9Kcc/cc%c<d#Tdwxdd- ! e*8e;cee.e+e-f/>fLnf,f1f$gP?gKg,gD h*NhRyhRhBi5bi;i1ij(&jIOjFj'jJkISk&kkO|lllmmD-m$rm/m@m.n7nKTn.n2noo(oD>o$o/ooop#1pUpppRp3p9qPq:`qiqr/%rDUr4r$r4rR)sO|sLsCt/]tt!t-t1t8/uhu+uu!uu2vJ7vJv6vGwWLw&w9w6x3V&T-{K~ ! QHۄ $KE)(%0 ! ,;jhBӆ>:U7#ȇBG/=w-7)$Ej;()'n8,3Ԋ&0/%`13%,%?Ee%0ь(.+4Z@+Ѝ431+e9ˎPG9;6D=9w)"C;f;ؑU j&$#גvvr}~g-L!a-"]ԕ)2K\,;Ֆ`Nr#=;#)_o{ E<*%NӚ3"(V*ɛUO8&<7@$ae2ǝ&(!&JqMٞ?'7g?*ߟ ! &CAP*֠JJL+6á8w37D?(%h:6ɣ<ƤFPJ"5M=B($HΦ:NR{y,_LRSAL15>g?0/GG0/M'%D[vKۭ/,%!R)t".1-"P?o5S[9QWgoS/6>:ry\rIaUI8 NmJQKJu^^44tFXIn׼vF`_*~T\o[|˿gH[x V^I;sgTa-@3%YY8doQ,u&d*OL@SF@+=H8/&9OP)s8>Qwgg1gfphrWL_WW\WW cdcC,Ap@C+7Kc;$lE};T]1bLDM5B6x:=h(ID\ K}dN.X}VkSkfh^Rt=NKYMHC{4X} XpfQJX^\Xd[yrHbP.SOD#^hEE FS>/< ?F;(t KKVoOU4G&.nKkFURRRBE33,CcpGX+PQRoTPJh:/2AQ$-*Xsj+% ! L0<}A=L:IDa>x9J"</_5V)CFl]3U2DDMF=e48@m;AC,.p\ O}Rt I.O;^E8@hZV6DQ$nU4ngh7q<z>ia`.+Cja>6 9B0|#,d < . A %? ! Te ! J ! G JM = a *8 Tc @ H HB $ . V =6Bt~c6ZG)=g6 ACAO\AtK?]BEkRGwmS-WC_f}/R`g_K(QtJ7QInC ! CNKJE)]omb_70Lh:(ONi:(4 pQ Q 7!\L!N!8!Z1";"E"h#7w#>#o#+^$&$)$H$!$%/F%Wv%g%?6&hv&i&4I'[~'P'K+(kw(o(:S)i)0)_)*C*,*E*L@+9+H+/,F@,B,:,c-fi-R-C#.1g.I.d.CH/q/8/G70C000A0=61dt1d1O>242G29 3;E3A3B3H4UO4i4Z5Oj5o5^*6;6N6W7Il7T7w 8_8[8*?9;j9J9P9B:@:B,;Lo;d;*!<TL<(</<<`=Xc==>}?I @VABB.QDtFtFGJGVH+hHHDI;J=JJ<K]LPoL&L4L+M*HMNsMsMn6N%N\N((O(QOzO OOO O P-;P'iP*P0P0P^Q]}QcQ?R SSarUCU3V5LVBVAV6W;>W*zWW$W%WTXZXTX:Y:Y.Z>7ZevZZ&Z [[.[ ! N[Y[i[y[Z|[[B[G7\}\@\D>]+],]+]D^"M^Mp^h^X'_E_5_/_W,`=`7`i`QdaQa?bDHb8b0bebV]cIcGc(FdKod>dPdJKeBe<e\fdsf]f\6gYgsg:ah5h6h? i7Iiii3=jkqj9j:kDRkSk7k4#lVXlJl5l50mqfm*m)nM-n'{n&n+nnLo/o@pOApOp:p+qHq4qBr=Vr7r8rDs.Js.ys/s/sEtPNt.t!tAtA2uStuBu= v4Ivf~vFv=,w?jw=wBw<+xhxAnxDxUx`Kyy3y1y01z8bzHzBz?'{9g{A{2{&|'=|(e|1|*|+|&}.>}0m}0}8}~~5~fM~&~~7~**&U]|%*+F.d--1D!GfiWDp@cIZCFb/dWAO]@H0lyF -;%K'q"@|Bz4!^/>8͉!S(6|I432Gf1E3&6Z=Eό,BBCFɍ;7LPWՎ-PMsB(UI~:Ȑ $DE^ 2ő' <- j w=3֒1 ! 0<0m@<ߓ75TAY̔F&2m9HڕF#>j;0@=Wz2DG.:Xi#™5FDcC4+!=M:4ƛE?A":œ$0"SKp#%Z>a) ʞ=@)\j<ǟELJGKߠ=+_i=ɡ%-.L1{r sz{{|tuv}D4UT5߫L2b.%Ĭ-(9Af{J,-0ZU5*>B157Z/78±,C(AlƲTJIJ ߳''()P0zB&C3w4'7V.sE009JB3Ƿ)@%6f;!ٸX?Td 9)A8k73ܺ+EH_23ۻ7UGJ463T;=ĽH<?.ž/)$#NGr",ݿ3 ! >,Z[, 0*7[%=9{P#*7E4}/?0".S.b^-0=U"Q/t?|@&qhVz:ty2c ! %/0@`+<0 ! A;.}50A&*h<@W/i789 ! CD/#RZ/f4,&0S53-YkvJu-U]IW\DKC#5*2ARt_.'4V>:92?\r-+/)(YUR8+;d!.8*/E0u<@!$F"V!y#-0'6,^-)3K+Z,;0;9;u=;;+;g;;/8K/-,(>(g>H* COQ(2+))6S2+.4*M+x63,1I;{,u!DJ $TDy0',-D5r6<@8]91<%?,e /3Q51Z?<TA'5 &B&i!4<!^*y)\+l4C' "+'N"v67sK!<JV,D[2o\j@j>?J*.u<> 2_ "65 JC.56,*LW.$0s)p<AKc34%4Z@6NV^l@%MBT*-G>;<<;<>x=G-=$k0>%;>a:1, 6:1qhQ ^m_\0C1t>< "+CoL"<<N87:*7bM?M M[ ] D ! TL ! > ! t ! XU >     $ . S? ; 9 K DU H 9 66TP@{D;?<Z@IL"qoa3CIwZ\9y^2LEV::$<_.?F 9RA_?.0nQOPA<<( ,5*b@7>=E7:b^YQO ! hZl=0~n5p-42 8<:u`/ <A 4~ . 0 N!Kb!5!/!="HR"9"H"A#6`#I#L#F.$Au$,$4$I%.c%h%K%JG&E&!&X&US'M'}'su(A(7+)?c),)=)5*BD**_8+L+B+>(,=g,7,4,V-Hi-?-i-6\.6.3.O.>N/-/6/E/%80)^0=0L0)1B=1"1!11-1.2+A2<m2Y2D3%I39o3=3S38;48t4B4847)55a5.5<5<69@6?z6@6?6a;7S7e7*W838R8& 9'09UX9Q9Q:6R:1:":0:";"2;OU;>;>;7#<+[<9<*<.<-=vI=>=5= 5>2V>'>0>,>,?7[TR[B:9م1BE>"džJ;52qO$:5T$<A9.ah1ʉNLKJ;01P+1̋2A11s6=܌PTk3DV9j/9Fi):ڏ317e:4ؐ/ 1=Lo821(9Z>>ӒG0Z4H) '3G[*MΔOKlT: CHl+@%NfUb _nRΘ'!IE*4_E{F==FBWǛ.wN/ƜF^=PI'70_<#͞8Z*WFݟ^$2K/:2Em>4C'Dk0<%8D?}4#;4R1I-<18n+'ӥ)#%3I}2=ͦ  A#Oe1X&@6g1=Ш=:L=(!  +3LE:0.N9}Crn<[ʬ8&W_K<@2RFC̮/<@\}2گ' %5-[3> 8"A ! doXYڱD48y'!ڲ)&0DWu?ͳU mc+Ѵ2G09x.A/#S8h8AڶK@hO#3,Q,~'#Ӹj&b!6A7$7\72̺.F.,u'kʻ&6%]@Jļ3cCPUNNJ3.WK9ݿ! /)I&s?;947n2B31P19HK7IR/ fP%Q;/9k@7g"2G5$@Z108[7=[6-idit8VNOS/)PTN>8Q[m9<=@U~3.H7o**>CMC25G+}@2-EK(C;3:$n-(,O2g;R=)?g$/(.rWYN9($ )0#Z)~PG#A#esKWI-. f;CS:.4#@X7"80-M^K/0(*Y%"2(/(X7  ;+Z#?YmDC')6)`<([CL$R0HM**5"+>*j&18B':j++@7>$v-###6Z*n  ' >L0g 'IZv'\**Ep <2#Vi&PXpC0!1$S5x).9FAV c;d0@D8W2<< I]s8#T$x73 ! 3>r%r*A<<~E@B \&h:5#L$ q&)0,2-_)<UsJ bD|' !/0F`\)"BLHB17MKLC:\~=S&m459I9+\5 _B5=@TW3;;HX%7'3'4[!A40L<j&=0FeYCC#:g-S2$ 8W . / 0 / ! /P ! 1 ! ( !  !  !  )1 2[ 2     +*  V w ,      ' Q6       <K\k:'(>%g-= %4Zi9x<>PD!,"N]q%)@0q2a.GZ$m2DK806,%+QgB{(wq#*H29l"@(%NdwK"0n3?2'2Z=0+ATe$3IcrA"1'P%x5C.3?3s$: *9 *d  ( 8  ! !((!Q!%l!)!!!$!"%":"U"Aj"""3"=#%T#z#####"#/ $;$O$(m$C$"$$%#%-<%j%%%% %)% &&"&I&]&x&&&-&4'8'Q'c'&}'4'2' ()(B(W(%s(*((((/)4)M)%_)#))<))!*7*HM*G***+'.+*V++++++,,7,#M,*q,,,,,,j-?-I-E.1W.-.C..W}/]/W3040W0.1!G1>i1B1`1iL232821#33U333:3:3734/k4W494:-5Dh545N5816Fj6j6371P7-7B7q7Ie8888uu9v94b:(:\:1;cO;D;4;F-<4t<R<J<RG=4==T=+B>n>Y>/>:?!J?Tl?H?0 ! @;@EO@=@k@/?A+oA3A)AA7B>IB>B$B)B*C"AC.dC%C#C%C2D-6D6dD)D(D+D<ECWEAE8E,F9CFS}FXF1*GZ\GZGUHhHA~H@H@IBI5^I4I6I6J77JoJ J/J>J2K'8K'`K K#K7K2L\8LLL ! LLLM#MAM)SM)}MKM(MN6]C]>4^Cs^6^%^-_9B_'|_;_)_# ! `.`K`!i``/`I`NaXfa8a*a0#b;TbCbGb(c(Ec5nc%c$c,c,d,Id0vd'd#dde=Rff fCfCgLUg>g9gh-7hZehPhCiLUi\iZiZjvj#j+j1j;k#SkJwkUkslTlblUDmomx ! nXnUnC2obvoXo\2pCp0p>q&Cq*jq7qqJUrVrDrRs>s! t*/t)Zt1t't&tKu>Qu(u,u+u#v.6v:ev>v/vwHw4w`xpwx0xCy#]y&yAy=y(zE;zSz$z2z;-{i{{2{8{|=0|0n|7|M|1%}eW}A}:}N:~P~~~{Y&.4+3` ! MO9PKցb\oڂ=J"4'"!+!M o!"<Մ6)I$s#+A*G/c"&Ն3#07T&/&)$Ch5#$ވ&-*'X1#ω#4S!n$$-ڊ+4!S!u0(ȋ(6:S-.@?GY4C8Z(5((.DYs?͏9 )GJq@9G7DHđG (U~C>ǒ:mA#-ӓ$.&7U//&o,s=N< #BDqcC]G5:;Z<GәAP]RU2WJI՛FNfGI?GqBC<TZ՞202c,*ß"54GG|LĠgPyPʡVTrbǢD*Lo]TXoTȤZHxPSf&I!@7xͧ "-<PJBب>ZZcJ%dZSJ9&8Xi=joOoҭ9B2|'@׮P&i.?ӯ#I7<=B  N(oB۱U<B7c]TyAγKC\>=ߴ7,U <G8(a,}#Ŷ"  = ]!~ ! !&Ff>&Ÿ  (_;`e bCCǺ) -5>c.&VUBB62mi.׽*'1%Y*");1')Q:p>HC31w.-A!HjS'7N5-33JYe*37P.a&)'"'B2j44I)Q#{?8934m/?0.C.r5>?7V1$<C@Q<D8X/@VgYhm*MmcTtu-zZzycXCu0M#8d\"=+";N?Vg!e7D'\l.JHCOPJ-/x#65;94u<*<22o11NBU'-2A!Dc5A, 6M;=2t1aHDQ-$71!0SFR93X767I3O}QD,d4=F/KR{2,E.2t1@DD_@F!,>N((%G>ME:M -n2*24-.b>:Zy:SHcR998U!954 'UN}K-PFF*/",RED&@;g@?5=.sY@>=I|GXAg'*BWo-BWl/D\q1F[t5/FJF1AD"2'^~cdoG!)@&`7z4:o"!''7#>['$_G1Z11 -N9m;63<N01M;<9x6/4!N+p"&&$ 2-P4~'48%^.x)$0''+O-{0,H-P)~.1&".I4x%79 5E ({ =   ! > ! 4W ! & ! 4 ! = ! && M #i F ?  %. $T +y / , & -) $W *| . + ,.//^5%? ! JBa62:+ f=(= ! 3H8|63( 'I%q0/03)$]> $47<4t.54UCU%*42_*2%01P$[nDr//6G+~l(4_]P")$L1q3A6-+d6&&$ :-[()'#'K3sBABF2/%* U= <  ! !"'!J! f!!!+!+!+"+-"+Y"+"+"+"+ #+5#+a#$##+#(#/"$!R$t$%$5$4$4"%%W%!}%!%!%%!&"&%?&!e&!&!&!&!&!')1'%[';'*'('+(<=("z((9("()$1)0V)')K)6)2*,O*|*"*'*4*(+A+R^+ +$+/+8',2`,>,6,D -)N-x- -2-"-* .8.)V.<.7..M ! /5X/+/+//30+50+a0)0&0-0! 1.1E1Rb1M1%2F)2-p222 2#253&M3-t3;3$3*4&.4BU4 424<4Q)5X{5*55(6,C6*p6%6"6+6N7:_717 767:$89_8>8;869gK9v9,*:LW:L:&::;6S;8;<;A<>B<<;<G<#=1A="s=P=F=X.>A>7>.?30?:d?G?3??@K[@/@1@1 A0;ABlA1A3A9BMOBMBEBA1CCsC/C=C<%D>bDFD-D3E*JEbuE:E:F8NF)F?FHF9:GVtGEGH>+HYjH>H-I(1IAZIGI7I/J*LJwJJJ'J(JK48KmKKK0K3K&L.=LalLYL:(M<cM9MMM6 ! N.AN8pN1N-N- O87O3pO1O/O-P:4PoP/PP2PjQTnQ,QEQP6RR*RRR$R) S.JS4yS0S.S,T';T&cT&T*T)T+U)2U&\U-U.U2U/V(CV&lV,V,V,V/W-JW.xW.W.W.X=4XErXAXIXEDY|YbZBjZ+Z*Z*[/[9H[:[;[0[>*\$i\q\=]>]c]5"^IX^\^8^M8_N_)_a_ia`9`1a67a4naa/a,aCb@]bKb+bEcB\c!c&cdc]Md4dSd44eie"ze&e0eef42fKgff=f5gFgag$ug#g%g4g4hNh=`hh2h9h`+iZi^i:Fj5jFjWjCVkfkyl{l !mDBmm?m+m3nDGn(n'n.n; o?Hoo@o(o+p:=p*xpRp9pH0q+yqCq#q/ rA=rBr7r@rE;sCsCsI t@St[tWt4Hug}u@u7&v5^vPvDv<*w?gw;wLw,0x.]x+x8x4x,&yASyEy=y%z(?zhz4z?z'z* {/K{7{{={/{0!|<R|"|.|$|4}!;},]}!}-}-}=~/F~@v~6~O~4>-s8@=1Y("6׀2HA/+́QhJ;I,K"x7 /,M-z5?ބ?5^BEׅIJgTU?]=BۇCMbSC4H>}T04B<w@4J*Du?3@.RonŒC1DuG-70Nh-982X2Q-<>0{8̐L4R/A2K,2x6/5/H3x;;%$VJ" ĔhUNXXvV4͖ONRQ16%6\++6("%Kq+$ș>3,9`9Ԛd}U5ӛy ?MÜ*0<AmMG/a.76?/o+"ϟ#,,@&m$3ؠ !A:4|&@ءA"[~<; 6D\7n#Cʣ'(&Pw!!Ӥ]wե#$(95bSZ`GDX*FZq1̨Ys!(֪#" "0FS.)ɫFi: YŬT!t4L˭/bHLSALR%(%0!V(x%+ǰy(;4*p80'#<K,2(-,?3l)<$',LTyε4+.E&t"#== ;^SK-:h?0.J_#fιZ5TX>7]F6ܻ>.mK.ټE-N7|g\Qy(˾1&?=2}7,+K7j2+(@4[41h<`^Bj?HYbM.+-&,T5954'B\?8-#f+V $-2R3%1*+:Af"(,)!K(_&(E]}49//%Kq@@IRBo4S1;!m62;B52x27)+@lp)#'#K#o#$!&/%.Um= 8I4()3 ! 6>0u8;>8=w#H8"$[&150<@J}-;=2=pE0D%3jDE()'R'z67P0bB\@3$t$)$\ Tj\3,P}XX0MG~H=?M455R.&4583%lBKK!?m(<;=OM(62;=nC70(7YS-.,Bo>,DaFU4<3lpA=8]^)-IMI .<E2hvR!( ! -3KaQb^bA/ 3,T48$+*/V<=BC^?< '3G _"kpHH;`/M4O6Zll08 ! JCTP4N#g*l2#<V+-,*E%^K?@Q6c "8<B=[YgU@!C6Rz>1 L>]/z]YFL`)OJnEd1dWGxVSN#r?5P4 E,"&O)v::) *@ #k 3 , : :+ ! :f ! 9 ! > ! = >X C 4 > 4O > B S AZ @ @ EEd;;Q")t-7469spI9.h>n26.i*_,#RP-16_ggGftH:1N025+h@@&=Q:m*iu=CCH;0</y"#'(#%:I'"'11CuO @7Yx(f ] Z rH!x!A4"5v"#"@"7#:I#.#*##(#0&$.W$&$<$$$ %A9%H{%%'%/ &,<&3i&S&-&6'V'v''^'=(TR(M(_(RU)6)@)? *`*)*(**?*-$++R+3~+++(+0,!8,(Z,D,F,5-E-5e---?-. ."8.'[..l.p /u}/z/!n090;0%13,1@`1?121K2K`2.2.2X ! 3Sc3R3R ! 4]44mo5P54.6)c606\6V7Tr7]7G%8Hm8,8,809%A9Yg99:5;1P;;=<DY<N< <_=Tn=B=&>q->T>L>]A?T?A?E6@J|@c@v+AMARAKCBcBkBo_CeCs5DuDYEnyEeEhNFdFPGQmGxG|8H]HVI[jISI6JXQJKJVJTMKVKWKTQLWLPLKOMOMPM>{NUNVOigOhOh:PLPPNQz$R0R>RS S#S.2SaSPS03T dTqT*T2TvT}UUsUzGVjVq-WFW:WD!XEfXFXNX3BY5vYIYNYEZ2LZ"ZZFZZ.[,7[3d[3[+["[)\3E\7y\P\V]YY]o]+#^1O^D^V^/_:M_8_M_+`;`3Z`6`y`<?aC|a<a5a+3b:_bAbbRb$Dc.icrc d=,d@jd9d(d6eOEeMe.e0f8Cf"|f,fQf@gA_g7g:g"h'7h'_h hh-hKhF*iqi%i#i.i8j/:j3jj,j:jkk4k'Sk{kuk l*l"El4hl4l"llm)3m]m&{mm%mmn)n%Hn4nnnn(nn%o6oOoho,Cp,pp2p#p3p"(q0Kq|qqqqqq'r:rrRr?rCs.IsGxsTs-t9Ct#}t@t7t-uHuBWu7uuXZv"v6v9 wCGwJw"w w\x:wxXx_ yPky+y_y,Hzuz"z<zz"{A({Vj{S{8|EN|||'|5|4'}U\},}0}:~YK~?~=~(#;L=DG'<o=.W6qNH)@Gj_s+K  %@"f;=ńM?Q==υ2 3@=tCdž %%zKBƇI 'S{4ˆCֈ8"O.rFۉ"2@sB=͊@ OL#/<(-DV*(ƌ!"L4!NՍQ$vz͎. (I-g<5ҏ?*H-s@!>NC,/T7D5|&ْ,/&4V/-'PQb?Д7+Hqt:A!FcFJ><;{7VF7f.*͘/(`CC-,/CsU$NBW_(H#1lGGH.@wNC8G˞9ZM),ҟ1"1*T1"&Ԡ%!7 K=U&ա,60T!"'ʢ0G#Ck>B:1<l2+ܤH4Q<6åM#H$l+6ݦ&";^7y6+.C4b;;Ө8H_Gv>V,"B)e|^ 1kuP;d5+֭.^15TƮn5#ү'1 P5q0"ذSOboVұ) H iIaԲ+69b?5ܳH=[QD;0,ld/<.!kX:=!,_*U<\AH1*z1#׹915RgE9A:b|b߻9BX|ռD^<((  2VSUAEB+?/9$A^!1+C2o8H2$W=w*0/4A*v*>F /R:=,5(5^((4!:#\""!.7f:?5959o/9D3XHQL' t%'3@&D@k"5)KD;5;<>-{*"3!+@M9-/7&^5x1?. -O9}6*+&E8l-' $3 XJy2PH\qr^0Ct!(YNm./* +6+b++MPTH=6,c0| -+0(QY-&D*EBpDBA;C}RQSf0?D+HpGIWKY?1=#oBRR)b|- F.`#B>=.D.s5(JAL#?.U!&w;<;-1i1NV8SF6*0aA.CG&e*o8G3PI9^:3Dn:% ! 302d+1"*.^Y9 $$81]1.A\2)-2??ZABd7366'B^_=B?$737(;`8++*J.u4&3&4[#{NF+5&a.*%8<A\~4,J3d$84kEQ438l#A AE[aKXO^DGL4D= TL B " 0 78 p 4 8 ( 6$ [ D L, Jy a b& 1 0 0 0 0N & 0 % 5 53 Mi 5 4 5" 4X 4 _ _" 0  " F F; C C H ! $S ! )x ! $ ! % ! - ! * !F h 7| @ 4 '* <R ( I + J. ?y 4 F *5 !` / * ) 5 v= $ / J  ?T ? % : )5 *_ 5 @  9 =H - . [ :? +z " - ; E3 Fy 8 ' *! 0L #}   ! G 3? *s I  / #2 V .s x   % 4 = N :H 6 = 4 1- 0_ A ; / <> D{ U  =- (k 3 - b Y (m D  , t! S Q =< Dz H H! Q! .r! 6! 1! 2 ! " K=" H" S" @&# 7g# S# # $ .$ K$ j$ $ $ $ $ $ % 7% V% s% % % % % & "& @& _& ~& & & C& ' T' ! ( ( ^) [) Y@* M* 7* $ + $E+ j+ 7+ a+ 4%, (Z, $, I, K, K>- K- A- .. KG. M. :. #/ a@/ d/ `0 ch0 V0 E#1 Ei1 d1 A2 sV2 t2 k?3 g3 S4 Pg4 b4 W5 Bs5 N5 +6 )16 [[6 .6 ,6 /7 /C7 ps7 B7 E'8 Nm8 38 68 8'9 2`9 29 29 M9 'G: )o: 1: 1: 1: 2/; 1b; 1; 1; 1; **< 'U< /}< &< [< U0= _= m= T> O> C+? po? 4? p@ &@ '@ i@ i?A iA (B 2 2# =V I 5ށ 4 :I ~ & +* 3V 3 A B CC F C΄ E 6X 7 ;Dž ! .% /T 3 M & I- )w & Oȇ 9 1R 9 # G N* By 4  , 2: @m @ : A* Dl F > =7 Cu C 7 35 ?i 1 =ۍ : 3T 6 ; I #E Gi ) :ۏ  $5 AZ M ? ^* > Mȑ 0 ;G R 8֒ ! D1 ?v A Y GR D 0ߔ - *> %i 5 $ŕ   p) ) AĖ : IA \ B 8+ ,d   И  % ) ;? { ( ! 4ܙ $ A6 Bx ) g (M $v   ě 8ݛ 0 $G l  ' <ɜ A H _ "z 8 2֝ 0 [: A ?؞ j - X < ! gG G 6 7. +f   "ʡ ) 2 .J 4y 6 6 # ,@ m 5 A : -= 0k   +֤ ' O* >z 1  7 4> 2s B , % < \ u 8 4ǧ ( =% 7c + 3Ǩ / "+ N l 8} / ; *" M g .  Ǫ   &7 .^ , 6 % 58 3n 2 $լ e ` .| - ,٭ , 3 )T $~  " '  %& "L o # % Uկ ;+ g .y ) )Ұ $ ! 9A { ) _ a ` $ # $* 1O H *ʳ B &8 _ &z + jʹ ?8 Dx > 6 23 Xf X 5 )N 4x 4η = 9A S{ Cϸ R Hf C = @1 Nr _ N! <p ;  2 - #C ?g O B ): d $  4 4ο ; M? 1 B B $E 'j = 1 I 5L ' i : O p   % 7 &! -H .v   ;  := "x % )  ! ! , *D -o Y J AB J A Q Hc R C LC  % & . 9, .f ' ) # & \2 ! & & H AH <  0 + >A O > / ? (_ 1 - > '' O h /   +  ( 1D "v ! v J2 &} ^ C$ Bh 6 g UJ .- ;\ T [ @I "   " $ $1 $V ({ Q < O3 p  2 rA b k j 9 A( =j D H P6 -  .   ! v) 3 = a Et N E :O G ~ ~Q 0 C &E 3l A 1 V Bk 6 5 < X 0v o : 5R ~ ^ If % A @ .Y , #  4 '. 0V 6 4 P 8D S} :  6$ q[ 8 I 8P I  < (# GL ; } N , K M i  { w w #  : -, :Z 1 E ( c6 Q J <7 /t A  - ,0 >] , > 4 F= 4 F $ 6% /\  0 /  ^% 0 8  8 %S *y 2 ) 2 4 <= *z ' 7 E SK # K < L ;j  && *M Fx : Q [L l m r R rI _D!*!)!&!H !Ai!m!.!*H!Ks!5!,!0"!!S!Mu!O!R!?f!-!r!$G!+l!`![!KU!S!U!EK!*!+!?!@(!Mi!!6!$ !- !FM !A !, !/ ! !43 ! !,h ! !) ! !, ! !A ! !7. !3f !9 !A ! !2 !:N !8 !? !* !(- !HV !S != !81!Gj!<!<!G,!Pt!:!C!HD!@!!!'!."!+Q!d}!,!=!NM!#!!!A!3$!%X!0~!3!A!@%!>f!/!!$!8!?I!;!0!:!,1!S^!(!,!! !B*!m! !@!!2!M!)c![!3!5!"S!Nv!&!(!R!h!'!*!4! !!!p!&!j!&Z!%!#!e!f1!p!l !v! !v !> !T !,)!!WV!!!!)!!,!!9#"!;]"!M"!I"!%1#!+W#!&#!?#!'#!%$!98$!r$!<$!3$!6%!:7%!>r%!F%!;%!74&!>l&!8&!7&!='!CZ'!A'!7'!O(!9h(!D(!:(!4")!;W)!)!)!")!*)!' *!+H*!+t*!5*!)*!(+!")+!-L+!)z+!p+!o,!o,!h,!^-!9-!@8.!cy.!(.!f/!+m/!/!/!*/!+/!.0!$K0!p0!0!0!0!&0!0!1!641!Bk1!1! 1! d .&22 ! R&S -]/v93M5G7.( ! 3j )9o:/, JB!t:D7 Z /+, 017~G<L-&9)76''$Dv8<< #y!+F+06 '22p91* "47H:.!8+@%e$<F 8\!]"*fj ! #5 ! %/% +I-%}s ! @'6H1<#,`m""/&"4u!M')4.:1 <O3) !$0+! /!98.5)+L;!"E ! 7.(%n!!H7"3 >9' x0P <*"w 7,;/5'.14?4/*3<}(!48 x< (n&q"S4  ! 6<L a/ t4" *-_)Q #s2+z633l-?5 " :'!=8N"/n.&-!. ! }1`#,$3C-i,^:*) 7/k8/:^/05e5q :& <F(q0&~)S%-> 1- !  /&+t2!Q <7(4/7!N# RI/"(@7j-;:: A6d$%2{+B425 -24Y ! Q1+8 /,-. ' 3%49./!RY:(s~2/f! (&&2G)i'#YC E"w*&)y+Y =6/0'Q%?7#0 YU%[)w0! ! #: =g5Y $_%#v,6: zA='7,'M. 9F9!4 (%-m5((e.+=[: Q y;9{9m* # ,W29)()x*tD),+:-(*!-<2?,s03Q"t[")<- ! > 2l <\<R **6&:*V 5+YdG+65 Y46)fu40 T:ew",;+, 17*"7 =2  _:+\*J`:?s7<4U"z,_-%\J,+<R4Y6B2} 6""?"& <B,i 614 /3*r#% 4+C *m9~<352g0t <"8 &O91V#/11 3A<6! 'c ! .$9?3 ! Q ! ;L5K%%,+*,/3~/5/ ! ! l4# i00%Y-;37#N!=':5S([#z# ,|_$ ! .!:=..4KD 2+&7;(S9)9[ -&$!8h5< X/; ;9-k9&"$69 '+6*Q-@5\7(;\$3& )F8 W@-+B3"(<<;%/I!o ! ,/5za<&2'{k  ! ?*.9P`Z:!! 77)5v.?,qV z'\-<""+-88(a;21*j!,"9$ /*.!; D#.c;I,|3Zn97eR(9,0$' {3:> ! :#G3 ! ?`. $ ! ! u! C/6&l92 (86 Cl8(l ! .93,  2?.%,"$&Bk&2 s&7:#( $JF#W$4!22_;#( -' s*z-/ )e$&%}+"1<% | -M,!np,X#J;C:,*'/q7h.,: H5 53/(&o. v-12>6 V ! `6+ q9L08*7L| 9l2%:c ! - u$ /5<:.-.8 ! up%+S.79.+6*., ! a 8S(5r(.)3 2M&0b'8)6&#67 e+.3B4R,:v{;# 0$9pU6<%o"380  ! i/-^ $7N08<1!c/y< ! 2 &<(0Z 7.rJ0-4<\%bd 4&+9 ! 35c K9W/y/,</`9'5-+Q;: .r!0v ! y47+x 8.. ! ( X5 ! 1+4 ` ?(;h3>,{ ! "&Z*W ! M+S '88&82f)+V)x!5,q. h O$'7S= um4:9i,P.4b}gt*"I 2 {'"3Pn$4g :l; j0.OK#/(y/M&,t= ! 1 2-<-h < S &.f1r&Hz3z:.2NV,0-1Qw2029;$\m51 ; ! ;@ &2<4 0X9<"T4G5 ! .3~,n/ %&*y-X9*j$_=C68"V1w22}=q/L/'("6 ;*4( ,9S'R"+iey)=E _-5<($G}3a &^)!g3.~.9': 0=*,5`.w$", !J4 Q30t &ca%# g) %S ! +7+j8=*'g!1$9f,1d(4#6* %2K v7'y*$~0 ~ +A%#"#-P2%\-a#'&4]0.#4W5& &)'=90 % ~&[ 4y + X &39(;D.Z+/#;!757 $<+,Z')2B98j&- &15'3a6q :z )6)8 $3 5 4)- ! 1 - 8O  ! 8%=3IAKW+ i;}5F 2'#B5 / &08q*G"y H5" "4.7 4$ rZ,/p [*<8\S %o,v L)Eu2& f'9! 7Ed!35N2V4S#f0l*3R y(*y 1 m7O#3k7!"25/6227c))) #5P /*")q 5.'; x5&u5d%1H"9'l#!K/ Z z/0+*$ ! :'8/(1Y;&7; "%w ! (+:' ! <69.v+ ! Z&83/5O m -P5(/))*; 9B7,%"% Z*5s- [7 H#0H7](/:&d*03z$"&X;i.09~'[ ! 44=m%:D29/<36c# y46 ! $G/4!#t ! V"4);L1 .Bn'm.u0.N;,&n )g#).]W#&P-7k6:6;0y =,7X-5U*c1!b(:|*z0!]1,; 5/7% 1y93w05;=/! ! 08#$!9%- 1<.X)89 5[9;3&6;@2~8B8 ! {j#<:6.)078vO7Q< Y89= 6=s/*F;74"U=n*'+"('!"72KV5"565.)?,C)%8w ! lt ' ! M+;6M-1v0#55W"8#%y+\.8+:\/a:$_'; ! #}*O.[.2W6(&T ! R ;O)&0 ,r2 , :Q ! V*;)Et5!Jme'o'  ! "C ! N'( 9G-2L57-.H+" ~ 0:o|$~(%4O4,#u9?J5 s80*X\ j57A ! :[ 1r+$/!J #.%(U;0"C*/+]9R;,5 k ! '7!(}G0r h{ v9;c!8w8.6Q5i;| ! 5: 2X*Li ! ?$4a*!+2'v<i%K<'72!=* ! Y&/8' $0W +^it"(##ZR& G]j%~cT&9 g8&Bb&;80 ! 6 9`= <',2! 1*?I5[! : 1U2%#;}%,x,Z6?+0 %' O7H37!I $,+c0G5 m (Z ! 6W3)p3^20H  =-+6"53 K1/ %[%5$M#)} H/( .,%B.+<7cX8A k2VI98I >%4:."P9A196 2T0qj1$)-*/f&:<T92;.,5$ }4 <{:#`$)/' ! 4%.376? *d4,( ( ! ! ,:.#W,00&j o<74d1. il-K (48 f--i9,h2Y ! ?<0 3r3, 5'6K0w:x#:1"&(7&d&,4.-9$Z@'D=0 C"8 P+I%"4_4$n#05-1i6P o85"'.P% %0<73q2'+7C <$8 > ! ,;"1@=,m/"L4y'*(&^ 6f %(-"T+# ! E3^3l E%,,4M*'4>' #WX% P-9;j*w:|  5 &(63E("4 b  5 ]n$8!$-3"$z _!r4.0 Z!#i ;g`o1:c.1", W ""l7%=<&N*D4Z$9;K<4# |!1J+ !a;4 q3&*0;)Y')fH,J)f *9U.6E!h;>+1OE'((' ! (- u,a0q6''F%Vo#)/}80 %,U13r<G+%Sj 2"a$K":3Z-,'o{5 "I]`, }j6 ::V'P:4;&%S*00"YL._ *0$s5J8B)v,4m 4+5v#g*k#4(;2e-;j"%;3*+;/97d-@6T5=/n3 .^9i"D1* 0$1y,E4}9 @&$>N7= ,0, :=h7q7 6!2OF?3g  2#/59 -!v ! ( 30 ( I$24% : B&X '94.hfG4r-+%7b2g _o,4(K(%F#'hl&1##h,k %-2*#c(h"u#&&hUH3!H5$%.3#=> 0I Y 3X2,5(6 ! %:O3(|'$-P)%39 <6(1= 4 _<l% (5@,!0k1X4J1%;(x B.?6A47h"%=kk;^o 96$;s;4-2t7<\. ! B-|9 x&"<5+ ;o2!0M";4U"#:9.e 2:*=] ! .5 ! ! f/^: u*u.9.g6$ QZ5Tx,!{&i7n,+~9</&yb6/ ?2'<#u]d:nT29 "+&#<$ Z; -W( .!'1#61G' # 4Tn/ e#o4|/2:?&_(l<:6bS5 @;6a:"8b,&=1W']: H 0/~V):9.:a88!$ 3- 5<;U%  #'c-f=;l)6H34, "a*%1: (\=`<3465 %s*l4 :"+/8=>;~#5*$<'1 ;#.,\8'286O' $ 8+0 > ! 6}c |+$0G%%0:h-1"/L$N&Ie&14 &o8,M0A5>++1(Q9,]f&6(33Q3)#'(<9182U&-2:t(.$9-`<w<#H ,mp5 ! O *"6$~bz% *54:W=+tuu0[-= ! / . "u+_ 0j 78E ! * ! !,s #+3\ y:*(80X7P*i$?a U<:$9&;K, /!R=~*y."-v!H !C ! :4[4<6%2F)d ;N7SK)\E/ 5i-::0%%%a" H^167!mM -0`231r4&$s`1)}b+ 98*'.Z75;iv/;X<P16-3*;,/><!, 1"0'" 8{(6&NE)e'==3I6y!M& ! 1 5 ! :' ,q:-$'^('.&3! - m'<(/*,K_& N !5!;*q &R.l(./-6># ! 11dYb ? 86 %/P ! \2 s&Y%7Hw$6h27 )@;'.0fe*R+'($sg ! 8%| +%_% ! (&;K Q<+:.!$I ! -`*T$U'5F\:7m M.5!t 6/5l$16(z=+8%R*' 7"{%2 $ }b!cn" 84z;"j @)2|=0 i *;z1)4\I(y{ '(8.w3w(|>9!V2p5 ( U W 5S+, 9%x1=2n g&{0h9!87[l 4:]#2"0"B*6 #O "UR-q.$(y$/['b)3$4,5 7- 1&Mj6p*v=h07j2D3.9$/= !  ! r6Q7 o ,+' 5%! ! R9/"7U%{`4  "6075.J*87Y)0c",1#=`9i/'(m". $)O"f0 n71Jb;-887 ! :(2-."2,$ q(+1R5)-s140{[;8& H (V 45+<%_2l:/f9t;6"11.2%#4F/@+%! x S)66N() N ='`,(2&rx \ :1 ./S +42 ! %7$jr5p=y0wb#7 ! *3$#7;M2+=F I2%# &B /1/%L6C#2":#!3IX:$ ! -)h !  )?;9_;1`&C, x'$)66.0L<<70(%5 r9<'%j+$7)98.d{.A0i,)(0 ]?#7"y M86;  ! )-,;,R&Zk5,5=g<6*^%"9&*"5>W r.5+235 < &) )5s.t<+w )`(+9%!!1=$0D0c8hY11(5y ! 'W;%* 31&2T;**4 1! "TA &+d|V( =R!;1^H ! (2# ! # N BY-L+P'/ U2&'m/ ' #"#28/'){7 |-W9I0';v*9#Mf$p"% )A;09;E,92II"906a r:b<2iq#)y"h9-g4&< 59:;5P7, \%'m) 9H-2  W!'4}50/93& |7c b!0_ ="L%g$[5%'"~ t"4>&7 ;#|8h* +v  ML| .6d -U30h=7#%+7dd" ! O01D;Z 7&*Ru84"* ! ,7RP]'p4g# ) ! ~! +8{2; $ 83<2(  e3B<4 ! _C<F%-M7-I+8377(d2.$ -" 8.<-#., 52T=:a9M%8 +@/8-l4 ! 6'u" &#&':9@^& ~" =Q$O ! 84i# 44""%P'l[04; M/ 0]} 2)\9  < 885=L8 (m$Y.W1(**( .&,_27 o--&+ ! b+K3;1O$+ (3635H ! ^%N3!: wr)% L!AT90 ! C2$*a ! c* J f0(s)j2,) ! " 8<w)2D;C4$(%%b{ ! efC, A;Pt6b4h(k*NY -,#$\C(W!!T0'=d ; ! +7" 3=0$ a2 ! ,l'& +<6( ]= ! 621 s <<01H;8B6*|W9I6[y.,'7h %83-/70/ )*:I5]4 "s80-*.50+>2Z<*R5p-$$0[&1/%i ! + ,&*XU 06$MV%&=+4 _/J74c8[_:P1 1?{-70"`7 M;<*6@3#&."'' 5068m6i8r1S$E&: 6/=ry ! +oba*E:!&!#$ ! ']#6+;!/2J-3+'9 8 T7;lr$4O)$ C=e1Cg&$,N<[5%X,$Cx40*+y! ! 1 9=>-5. 8&$ ! 7,8%)= r Hf T@ !1z8G ! P2c7}* oK7a47K, 4C$ !R>)@ >7%5. /@,$)9#9E6S *9)-*3//$#1C2)T%]7,; ! /K& O+B"*N*q= 'B/ x1 5#+ ! +xz:g:%%"3;_q,[v*)|6[/5 p6W4)=(.88, <v-4 D; ! 2%1'}/)= ! T.< T ! d_86R ! ] ! ;"G.J<G t73-.49v\ 5%0W6#2> ;: )15 6)%<,<@3b ` *V/, ! /=z3 '7";&+8d69jk;  ( ',C!t3&5#?2/q "-F")x6)s7.K84;!38H<+L@9../ &(? g"(= 7&6B;/;5LJ0t\< ! V9"1 '38/; _< 20h))9o6N.3si ! !$+4%8_ 'F=B6)/63v&#aB G:*63 3=;1 g*3Z< Y*:W*n6qJ))9G8(m+A%976g;h%%(: #r7 Y214U! Q9 ","!(k /y>(%" 0%&kx)G'0<e ` u:) P4 59ff:1 5(!((4&+Nx8%W:  +-lY3+6 4C'$1D$#*5 <X;#*" &32.O, ! }#4-H0!,&w%<*#p7=4=6' ! 4$cD(-J4)k1' ! ;q ! e, = 8*|+T/. #=08)c(J9b'O *FO)768Iu,( E +!, X3J6: &4$3,*f# 9. 2k, #&6x.187+p3q!&4Xc% ! -Ta<0 1-;%u&(5'!x^_;d %S;:.)z ! {"#p4D&y3!U .|j; ! ! '8YS<.A,6'n;9< 2&_"+M /7&=;RE>,N)& !  ;!_ -\# U7 R6DX-` ! ):' ! %,l9;`U}.- -%* *("!+ N6E0 S T)"S 4*f:d0= 3 Q  W7&4Y&2$b u{ 083W>6$(1"[m/#*|"/ + F ! =u Ae6!N ! '*4O;+'2P B*!*R 4K27BI<#) ; .0H; *:~ >0 r*}?%R<h D 1e:8 '^8$P8%.%#/ &<~4.;;F'n&3M]$j+8%"E8EN9 1"5j ;"Eu7G%+!]9= $b G,%'7%, 54(#e!(A6Q ! D`48 v *n#9A,\9Gm6D,!X=)427!27WZLR7 !a'q ! !54Ex,e8:2:$ 1 (#+R 7$O%7 ' /&G, 2)7(=#'R<5,6s+p ~#-588m= ! : Q298.<+a !#x4/ *x#[ ! c)6Ik<l8|(-Y!+1 ! .#!"&&/ !v|:S'2w/'Z7@06  #.<-*d-71 =*j".57 /5=k=A8@" M ! ;Uz/5< ! 2<-)*`]5+ 1*:4K&BkOJZ+<*H):2}&(0<95&43,q F.m3 "70"'0c6v6P#-N1; # 9& {/%6W e0 !h4A5>*.(HB=".2 7<3 ! ,U#4v# : ! {..Q4;/4&%";n :6=6969;-!S $Y-k9.)g/Xl<"9&D ! \)+r  '[<-1t4n2P/*%;pV' ! ej0L*<").n(O0F7_]q8Um- )>9$7/x-21;7^4$}7s)4*Y)Y,)04< ! 1=7C/#c,;w"m<$)2~' +)-7,--I&!#7!&=0 3%0-R{#%H2 x b9M40" L ,4 ! (("1n-%E &K=0p (x7 Z2U "]3s(m:$'<m.r2Vj<(56:"!+&8G*C,+H 13b:_A3J= /8 4 ;3,@#m2c<y V!r >50 nj},"n G&':78&C)7j f6s(\+ 81wL3s ,-{r)K+L).Q.` Z ;\3A)Gd885P(^!<7 ! "tCA *.)*+<^$ ;a3(-R ! <G2)3')98s<'c<* , ! 7'7<1:2]X6L R"6&-_e9X"9-/0 $.E*++@i3O5,,c- + -'n< <%41X  D%7B:4~sJ ! i+8N+697/K0X0c|&_+8T3/a"  8D!"!6# EvE7#s% 8,]+$ =/;(35i1+7#J3$66< /+oT20l '%U8% ! <N+Z Y^; ,S/&/T-#l$) 5;f6/ ! .h8w$V6F,0n< 'xr5*710P-*$!5-< -$o%)%6,.n[r').\:*':u&0]z"?:Ou)/Q/ATM10F\5:66'/7S:!Y0Qk/=9   ! ~6+s= RJ.66"$*4!u<$F(/ o9t2 ! {:D:; F6#* ! H=(<3+}::0 +84% :`T!.&B8/(a*1&,<K-p.x-!(/"&' w9<}:D ! b 2/$v' 5%/:7<,%3N{7fY:/6'9 6.c< ! !u/#+,8O71%;-.X%t)<&H(<|0,V&9< 9 ! m 8'9o)ET1"p80~0s6o~ % n,->w6{*= 2I:;d3 ! !t5 $)#S3&#( .%& /6  - Q63 = &u<-139(E9  6"m1L'# R*6[ :b.i2g<*'%F .0wT %.KJ;8<7=!'m98(T#d#`;<3$-:)#,.]@5M6 O'9D" 6 $;G!1<#* ,#np/ *t < /gI91=/<+7l! 2C+<2m(% K'V -2:&!!"6#]e3k.|P= ! ! ;6a o<6c2r%I'1>')`5*%P5 4(:~3}" b*<[8+<e:!F"3Yj&: 1Sb$zE.! K \( $a1m!)v g32/$/5,7 ! ,5Do7h/}) 5-;A!31$I*v1t;r/&bc:]8m8Bf%"M.d;%5u66 ! &d 70 ! (:;U4<54UA,-:#77N8 \}!9n)$ T! ;'P"6,4' (8 --: 21| , ! 4q.1&Z(.  ! [3J8N$gDxo#-: i09%K;#<<O0) :*!/66 )\!0,\Q< 60<33I*j=l1W-N ! H;!"i3J')*!78< r 4: 6@8M< 9(w+X$2X-'8e%l,9p)~2ze0$)T,Yb_#&7 :8;4)kP0"&d 9% 5f$ !   3 ! ;@O$/W.< 'p:q12Iy8A:-:E6u1w,5[ *" %)+)/";b7~m05 !pC38j2;+P -[26* -S *?4</!+3I *L*/c+ ! ,o-}0*= 1 &#3e !#=?%;2 ! 0,+;=27C5+#2e;:q&#N/X >=15!+<kZ.s<>8%74&!c$]5#9, r)2!(0#Q)E + ! I 49 ! h#_ ! T  T/*E~4o J c5!1#(+wuk!mr3=#!Ca+&  (B% 64| 8'K.&.o&7:U"3.L'$2 |#%@!F O*0=0 w F;,5;L3)*0)@4f5t+:3^-&= ..(7.;8034 ! L*6 ! |*RY+,:E7 24(!;5/(p!:.)FtV.&P%. 34$<28(K$4.4];r ! ! D/G$ f;:11#%9#  6 :3%<8Nz2$b8K&,7 9%7 4? '4i$,F<0X:6{ Y/s ! 42  ! 9(-)'R16/&h&6-P+|.V)j&!)Y8 " u' (,w7,Y X S ! ##'3*u%r1&4a,+7(*c$)!4$*l#1k;,&a):03w"*;-+ #_1T8Y#!}$9Y !N *#5!/312#-R) ! //##+q%Dw1  20  d^"Y?9]&6B :N4%9#[0G ! 2;:441k#.q$@P<8+.l 0"Df 4 5*X7?022 6 $&^*"<;=3 1{ (5%  !+48 <)C#2h/)l u25 7'dN_=  [ 5$G=W#,p2[ ; <"h: !  8 6+53c93(z ';$77*_(a7 ! 0B+Tj/. h W< M:@.8%)k.;6 ! o55| .k4;+^268o (=&>8(#3J9u(0'#77U ! I Jh$:N,V K37*}:#'"W &S7 6-RQ'%..&(3Ux;83x:80ia , b4%-$w q<&5%x/ E;C7s ! 69%653":9)o=F= M3;8-*:U(84v2$:)I+)i*-p# L(%!/:I;H<G6%% ! M 6:(4 mU: ./:" ==1<1<1;;x (), # l6f2q ( . =`,'4/07 4g2)[5E <7Js';n//<ta],,3 O:#9,)r R*o C$.\ 0!]<*Z93 CGh1#- O23 6 ! i!N-9'4S8v57,-^}79-)J  N=<C19 >$ =:5(0@:Q9)6H61 ! i5 K ! /_o94d=)$W/{=0:-5,: ! 7^ 4<"--r p 8H4(+26)7 ! '#:u;o/# z G 13 ! ! (<:5S;o'-* "n5,Q ! 3 ! 9&'8$g(H04b50"+*:R20<,0#x5''p'(!aR3 2m:3s=!.82d))17\'*((+- +2:Q#g=39),z. $1`-$6i)H2 ( (8 $M/S,D$z' 9:U3 "$8dW0? +"<-,e/e+*C0^$_@$|F0!&@/*8 #%N8,= o.!6): ! w-3, .9;LZ/u3/!Z%S%0{1&1&/D'l<=**-<6 W8>,83:3:5 -+,B ?/,A7d910.%|#-J&p%*0'u% |316L=8$ ($~'51,\ %$ ! *&m ! {*!\& 2<):5;$ !*))T(!  =#x''0, 9!84 1p -]2,L!o*8`"2+f g7 `8 8 B1%<2 K* #&D!6'Y7(g1y0#$$.(tY"84b47+FcI)4213 ! k"2 -A9+3<wj3l^ a4R69;&@*E"1O1l7 46-'! ! {|<17=1O(8se7v0% ! }<j ! c!8%b ! ~5CA-1, 23"! $:9FI3O $M01  10c3x3*i F9X5 ' Bx34),'<*n74{ ~1  89 ! : ! L2#%0 27)2\6,'! 5.-(!;B'=QP6q'[6&'/F<#=!uL<Hk$1$ ".*$+9]68+}sr ! <G%.*30 XZ4(33!6;  5 {5W.% d<( ! ';J=x+h+;7556y'%;-23/4mF19-:< ! ?8 K8Ks $EA2);P1/!=j#D ><3&$,]#<xs/ |1.0Qf ! c'-".&%7[=P &2 }7}!0g/SW"+Q` ; ,2&$o![! 17z+7:!4'[)F!94:A*O;qa'-F(M f ,;759/!'@52E10)b=^ v< %&7t#2 a#zB',~W/ ! V3 -3n;+"2y%&,v2#n034;{8i4L;%&7: *28& #1Q0:3 H!*M8%r"&, ! !h7&'(.r8A$6 9,3iV;% $z @ '3%V =(>b5!f(^'y6%82`"4A0_0m'$]-f !|7$+/9] "%w)6t+$10=5!(,.8[ kbo4XK*5#. l?%S"$Hs=+#.(0"M :F*^O-z*k+g (g 7; h'v15G*5&7)/ ! *!/5"l: Y(3:*GT! /?="( #!!ps89 %)9 +%(h<|2^<")%?V=w,2 {%%9S$ . ! o3&.6**2-5\ ! /$7*! 10m9</2_:w'7% %8'* !  w 6 y .o72 n),=04d6411~1$e%  90 ''30.f %8 |&&$<;'936.o8!<qu*U,Z2i=8h6p /#& b^;l&7E2$ /]  \*+4'e9w.}!*o$.0.%49936I7W*5Z"o(e8A6:66 ' .n;#,*&1-3v";;[03.X!#O\;X$639a :+:5 :G6${:k:9.6%4#/4G(D-g'b!:)B098? ~-~ p29<$/:7mI#?':^W%2?5 P3m;b(002}'(j7$#v7&N- (,K &O%/^88o,,6#<71(?L JM ! ;%Ga5=,ow3 ) 8_4t,}-$5*/ ! -@,vT/C;CZ @.+#w&w!:&(cr"a=@J8#'5N;J*.<6 ! !3t .7'J < '3W+S(48"e,5'(f8=3 / '' k :)9*,YD6/z9"<i)")$I44^r0tW5=7%!%<< `%_1 0%j( -8=4%9& 5,w1$*#HgA%!7#0;g++[[$3"/UB#(->."/62+3Z:IW09V ;w'&+K:w4e3n80( $c6p! j)= 3$.^6x7n'%dRWA/ 0q-jJ'+[1' '@ ! H&;#: 2)(W!.j;02M89h$f40_84rk+ 58%k2,(f%!AQ2F32$x*P&:4/;2 ! .6e_ A(*%$"29] >7# KH9L -+q9!2!0z58= 5 xL<8 b o* S9"<4-4 2+=L:9G1j>:L=U*B+8p1  ( ! =-Q=z(512- H;^,=5. &z0!3i."v7e{)f" 57W7Q 4"4+ ! Q8g%:"=##0)C h<)3l(Z=e2V^ > (1L/#9;;c .&'## |;$L&; :6Dppb( ;<9T*M5-* 77 ,"&s3E3z *"d=<7 )4.,^5- ! ="! ! <#1<!0\,n%}47Kb2$2/6}v-f6K z/5`1D<p+!)**350$,/ep$m 7 ! M^(6:=) ! y6H!v;# ! ]!Be)# P '*--]'2 3`)On*#C-)T'.&65 82;,#`p*  b1m > ! [1)md |B.~$+#$1< ! |)3 d&-`3 A<;$g)+!&`6 ! " u64>#.h ! 5A"  7o+G#?-- 0<+z1o8cN:)"z773)Z!/> T9<%] ! e_98 =a/*q4x4:/QT  # A -> I&4r"} <C8)34}+02T'/: t.=8 p ~+.u&3( C:I{1 49+.|,7)"2= /'6K!;R6 12'Z080(_.C0 ;s;#,5 iI#d)2,;M.96B7Kn-, 5`o' G:p8$ &&)6e7a  <P6+0} 2815 2 8 )3.9K7' "CHp8444z)n1 0(53Uun :<!37<38:Nk/ 8)-$U+R' ! %7*F$cP!5r c0$L-y/l5+!/d'/#`S ! 28-,2g9 ! W3>X2)39)/97l0K4)60-;{=!9GJv </(i .&*05<6$b%'&V:1:/3P $|:j nM5+:m]D6z\'9Ex "9 6 ]*J"7(* =76D".u 9M9 k %%-;(6:p81 5 y"B/)];-0&V q+ { v3 ';*7s9Q*!/- 612 +D*Ztg-/$"0G;Q&9S 2^7K,,854# 7-/Q,P;s!-7[,L0=-O-@5- ~\4 V &<@Gq3" /1$%l..# 6:&z?<_36`n+ <$8 X T6- ?0-5~ $Z0#<122))G < ( 3k4? 3 ,%n4E9C9D2 0V9+@1 f S6[5'h&00+7 N=.,4X6)b3<t!n-o0+4$ 9+;x%a ~='$uz#48"<S2)6D5p<B T O< ; ^ ! F!%+r d ! )J2 Y .n5z616~.5!3-=@ir$/ ! 4g3+-<"D 4#0,W&R u 7F6,^#+)& )X ! < D.X-:;+!9fN:1p %6Q+ -8Usk%F#P;16 1M$9.*1L,tv4 r7I33 ! ? TxI ;kH'8 /k0p;. J(1<,p(v / *0%/9 +24{$;Z2/A( 0"'c= ! 1' T(x2~(<V4")-"#X&:9- F(O<q |kK_72q $=b0Gn80t%3m#(x9;5! a-b"9937`i<H/g16)::1:*Tz<\Kd28L ! {;%;2x 1)*^=5[- ! Q.3:#9$ph! f;><TM+U(%'{# +) # }R ! 172G"U.D< \"=$ R '26k*g/ ! ;Kz&x(..!26/ =WNSM7(e"{4=# >1-8*#J 865+ ;r _7,X("7d,  ' +%g'$]% `]<# 4!1CV1*<7-")O/ +).#84252/j-C&W&$-3s,~/D&37="+ :p(%f-=%C "ou=%r=(<jE-571:-(y:+s$)g20 % .<~")"*5:B-o %1 F&V E89 0+}6Wb,q0{0V  L :(8YPP$/ZN( #Q(j'T".Q4X9P F<8d1%E320 (: ,e=f./(50C!E +0z45:+#X 4#;<& ! $[?!J98&2:"f%7n81('%5,V$7-71/"K-iL7$4$]:25'"eE5|5G!6#1t-:>/GH8-< ^. ! )(/%?)='*B, ! ! }2Z ! k %2{ ! %6Ai4h&Vqd(!1p.b/,;3 $3$D .$ !  1X0 ! @*;- ! "-8j,M &/ Z88:,f3;/}/,+66U Z2P,1%~6*y37'l=`6 ;$U)V979v5 Y=S(k71! )9,R:> "~7k35j ~5(*t/58R#(_6* %M $N ! +f<z5/&(=;A###dD 5-&)"V+7'P^* ! h# )< (4m,""F(5*5C#N5f7q2 H.;" ! X *94 *E$0 ;8:5q L)3E#A 6 ,$Z68+l!^g"#13[=i1A,w ! ! ;a ^+*`;(F |%*9yS '1X 2d5 $=)'+4=?1-o2 ! 6+'VM,DU7x8F1d/=+8&,h % 3b1k[&*hF:+u 1 } ! ;+:&*347*{ <'1Z#$-4+>"I=&7 - '1 ^:"&0Y!rAi(+`Uj9,1.]-s:9@7).# G 4#k9:b&$q5+a&%S&>3^))*,$/Or%+(, ! 291$~%:!;9 +j0 !$/ I809'6[+{! (!*' ^6,0<DG9)N2])$i; ! $V<u &u-!< )4$h1L9:D+),~""033&4-w;9@ ! 77D9t&);;.H$q&z(/.28U0 $:!U/<a.+<6Q:4u78 ! I1/.*e4. _ZG)? +a!;F-`!3%$Q 7s#-^$|/8c "7. 2)m&E! y2'(&)_1t=<3@*!%/u|^#:"9'! 1(15*R)0U  ut$# >4$5[(2r, v(* 7433 5Y<2. 292J3Z4:!"4e694J:w0-)*5 /O85.3b :z!@(V0W ,=%'eE<Sg,D7f* ; (s*/S'c=q3&J%<#~<Q1 J!!;`/  |4$.+" G"n=X) /9. ! =!i 5 C1'_* p ! a_ -S)ck)$p&#/\$=M(,s"c{+.^)/\y#'+h="(3'-O=&X';R/" )v))8'Y ;Bn ! =U4'=<{&l*1 C 5;,:}$ /" (t3(k9.:@ ! F"%/t0* $A+1; =7E#~* ]3J1;Z1#a.&0u X&3QL) ! _5'A.(h7y*e#q:h$B:61"[u1-(($<E2(+sg(M<!.. ! ;*#!v62> #m[/ # !   ";=2= -P.V8I2P| /=11(-1\!-D 4,K5!Y2*1#M= !  ! ' 03(#&j8!N./2*7378O&-<1(*] I)<s A'R2"!z ! m+A6$)&#Yp1+$#T" .? ! ! 2"j.V(;:=(! [ :1J$ ! / {9&f9/g 9&'Z3 ".iy=k'c4N%97 -6+O-(i&+<l `.++& ! x4 2E2 .j o;H962u)6( *#.% ))*A5 250;+0 +9< ! 4$">a49$&+u ! 9'`(9!m*<=,n:7%/p /.0"   9! ! \ y/-,1X+C.<G84l2- = ) a<P68%",6^0)*d ! B!.<2:3$3I8a49U5F4*3x=411(86-4;B',- oi#(6::'1p0v):};+ &T 0_,*|} .\ &*Y9>! D8< *! 5$U$,*V- \B ! 38/<\w-N8(. <"33 4-L(#&t, 1:mY,<<dK -,t%@s 1Y$+xQ )gt-{<;0(r&3 1{6#] d7 For bug reporting instructions, please see: --- 1,1721 ---- ! =CR$ $- $19$k$ $$$+%0%K%:& P& ! \&g&}&<&B&R'>Y'@'9'C(FW(5(I()5)!J)$l))!)$) )"*+1*]*d*-k*#**R+r+x+(+1+A+'4,\,t,,,,,[,]W----..;.$P. u.#.!."..'/(E/+n/)/$/'/*01<0n0*0-0&0) 151,U1#1F1Q15?2]u2w2rK3A3K4,L4Ny4@4B 5OL5L5R5;<68x6>6I6I:7B7~7?F8D8E8@9ER979C9=:BR:E:~:6Z;{;B <?P<<9=PT=C=F=s0>E>C>Q.?N??G`@@O5ARACAQBNnBFB9C=>C=|C4CPCM@DEDBDGEI_EHEBE=5F7sF6G*GI HWH tHYHoH-_IEI ! I'I8J>?J~J(J/JJ+JZKlyK+K=LmPL0L)L M:M;JMEMM#M# N-N DN7eN8NN)NO>O$YO$~O*O*OOP /PPP jPvP#PP8PP! Q;.QEjQQBR5aRER%R1S.5SdS0SLS6T77TloTGT$$UIUJhU*UEU2$VEWVlV ! W3&W@ZWW5WWW X&*XJQX8XUX!+Y:MYYY-YYIY5Z@;Z/|Z@Z;Z#)[ZM[c[O \l\\8\T]wW]9]Q ^K[^L^S^^H_D_4_Q!`Qs`H`5aHDaIaYa,1b*^b6bAb3cL6cc(ddVperei:fcf=gFg\g#lg#gg.gg h4hGh9Yh;hhVh#Ai,ei"i"iniGjaj-pj6j3j/ k/9k>ik-kJk2!l8Tl/l&l6l,mPHmHm8m-n0InxznenBYo?oFo3#p9Wp2p-p0p_#qVqZqE5rA{rr*rCsHDsFsJs@tG`tEtAtg0usui vAvvQvw ! w[wbwYAxixoy<uyy[2zOzDz^#{N{;{o |p}|J|l9}I}{}Rl~k~Y+K?QMc_IB[79ց&977q6 <(K*t::ڃ#W9GYلZ3\^enćf3veuw\lJJ:L=)Wg@_o^xn׎UFe)%,|RϐFlVN ! ^YM]DdT !7AFy &4=-V#.ĕ .-0\7!Ŗf4N=LN@]-(̘,&" Ij0H˙S?h_=[F<ߛ/#':K]$& -0?^64՝4 ! 2?-r5֞P_'3؟ ?,8l15 *CRnj&,&S%z*Oˢ>7Z6;ɣ9;?@{9<53Bi;+B7WFF֦1?O;R˧04O1=>;3po!%A(9j'+̪5T.)?(0>G<UìPHj.;gC<U-G/8S8n8R@3TtEɱUEeM*'$8LZ4&v<lm B9ѵ= 7IZNܶ8+@dA?h'&5mQ[8834S)19?5hu;޻H\c!<65V,4:;)!e:6¾=57jm'ؿQ:R<04,04],<5!2*T;6*6=TX4, 0M,~=3:TX+44>C0-FE(3n//@)C)mFE<X3K!!7-Y-C.F(o8,@BQ>fE:!!'";'KBs59@&Bgj(3>1r:1.8@5y;///K/{+*J!l1D**,/WM31 @;0|@?:.;i8&-;3'o,'()W?"#B2!5T1)1=/?mDED8E}2_)V:8/"$*GIr4CH53~-C:<2w=19$X2}U-<.j73??E1b1:L0+A.&*U2%21 0>9o121+@,l3.D7A$y+N;6UUKG8^;9a 9oBB0/`@B2;u-'D&7k+$0*%AP63$6"*Y.9, 0:5k,.0%.7T&C:2NO/6C@I%B$K6*''0L"g? #0(@.i*,13"HV+"1> 4_)4$/9H15s<EM,@zD1P2V4]EG9 KZVL/J1zE63)@]e?/D=tiLCi5X<<Cy307"ZEq2++>B-> ,<DE<;E@F6IXN7W.7 >f 8 T m3 ! \ ! 2 ! ]1 1 B c ih 5 ' +0 ,\ @ * X 4N)69**I6t*F?X]@!*%Dj@|oE?35()0BMs !B!GBiF8g,`KUA;./82k@,RVGQU9F)QlaiA4 2BZuPi!t"M#<qB=G/Kwn`2/-=/ 9K V 4 ?!UQ!8!3! "25"9h"4"W"&/#$V#"{#%#"#:#G"$)j$X$/$%)<%Bf%1%Q%.-&N\&E&K&='H\'F'E'82(Hk(1(,(")86)=o)@)?)2.*3a*"*&*I*1)+#[+C+e+&),/P,4,.,&,+ -:7-r-E-/- -.&9.'`.(.#.+.&/7(/B`/H/(/Y0%o0=0)0$0%"1:H171$1G1,(2GU2*2,282<.3.k33N31 4J;4E4044l~525j6I6O65#7@Y7.7+7B7488(m8f8k8|i9>92%:MX:':":&:);<B;+;#;;;_<^n<M<E=8a=-=G=>,.>T[>.>*>F ! ?KQ?M?)?!@@7@$x@9@$@&@5#A>YAKAA'B7B5B?CL]CFCJCPp<Upvp qF&qSmq/q-qr=r@[rr rr:r9#s9]s"s3s!st))t*St0~t9t#t$ uA2utu"u#u-u3v/7v,gv<vFvw*3w.^w+w4w7wS&xGzx:x%x!#y*Eypyy,y-y5z:zzJ{K{||X{}f}K;~L~~\2d<1dl=(@1i25΄*2/)b,/okY0ņX]Oa$4WT-#ڈEFD4F/D7.|$Њ*=(f ~! 1DEY D{06)#'7"_&#Ɏ'"68-o0"/]35cǐ+D0UK'ґ/.*Y'y 0’Z5N<&3OFl#є1I g$:0B;\??ؖ1Ge4x`$-R#p'6ۘ 0Qcy%%͙$8!Pr-˚-%Bh.ћ3%;Z]lʜ+, /9#i0/#,1^r,<6 AD++ޟ-".P6=PE!c*-.ޡ6 =D./7>RX\c9l=!($LMH5))C"m#.ϦKSZYJ@Sq+%GQ>@ةY]R2T&,{-5֭< $I(n=.ծ;(Z.Mͯ=NY.+װ256-l58б0 5:@pKN7L8;3;->i6Gߴ@'PhUb4r7C߶F#(j 7CӸ6#V(z05Թ !  "/"R}u52) \6}4FGNO^~EVĽ?O[QMNK3>οK 9YEG8!PZCJ1:2l5*)C*fn_51T<"62V1357%']I-462)i&$JN*Py>[ @e%5E,H1u%GQAg)#!0,J%w.12G1Ky,M,@;mX=<@O}Z<(.e58<*@k)%))/Hb<~30 G69~348!8Z+"Q1RAU(,Er/*EB27u/K')@Q--3."(Q(z*@+8;.t)1GKGJ3,&?,f"=,'!1I>{#'90@'q3-501/b(1)*13\6 02-L1z ?+ .9-h+ \/p'+, 5:1p+**';$c*(];T_0)! K2lE)<"L'oY- +:fxv;FA- ! S+RZO-G}$X1k\LIGMKZ+kKZ>d+,*/W#0/# -0,^&<.3L+I ;HSH)G7g0?,/\t)"4(f<+J;7$sC<5*O.zF- ! 8"Qit+>'\: &@5R=)!0<0m.11,C6pC-010b$&G2''ZE-'5=4s.<K#`.+A:|"-)>h) #(VC$21?J&.5_E',9QUu-A"" "E h G D ) ! E< ! " ! / ! 8 ! G V !q  " 1 6 $? 8d 8 d O; = C H ,VB.73-@a;HW';5AW369;T8464L.8{<=>/?nZI AS=66 ! :A4|@I<<Ny?Q8ZBKu"5OI8h<F:%F`GGI7=f/&.VADH(q&W,b/L Ad = l Q!h!i7"""#"%") #5J#H##=#S%$Ey$:$<$>7%:v%>%=%O.&@~&E&*'0' O'Hp'S' (-(BC(B(:(')0,)6])2)*)*)G*Ke*>*.*2+:R+9+1+(+.",#Q,"u,;,(,+,%)-:O-)-=-0-#.BB.H.R.G!/ti/,/0 0/<0.l0"0+0-0+1~D11!S2 u2W2I2 83 Y3%z3+3'3#3$4=4+]414/44; 5 ! G5IR5A5"516"36FV6d6U7PX7 7'77738458\j8O859{M9K9<:R:6k::<:P:?A;1;';#;O;+O<&{<'<8<m=4q=(=<=( >5>*F>-q>@>>:>3-?$a??8?0?- @C;@'@R@N@DIAFABAJBHcB>B@B<,C8iCCCC?CD3D'xD@D D@E CE-dEEE+EEFa4F$F#F3F*G->G#lGG.G-G HU$HzH,H&HBH"+I+NI+zII-IXI+KJ5wJ#JJpJ\K'|KK#K'K L"LO>L!L"LGL9MUM%iMMoM&N5ANwNN-NN7N,O+LO'xO"O!O5O$P@P<\PP7P,P5Q@OQKQNQ#+ROR!oR%R#RVRT2S/SSSS# T00TaT(wT)TTTUU!,UNUdU.U:UQU;VYVoV1V#V0V&W ;WaIW.WWdW1PXXXX.XXX2X2 YM>YMYY0YZ(&Z,OZ |ZZZZ2ZKZK7[C[[9[\28\9k\<\\9\%]>]X]#q]O].]5^9J^5^^f^'6_8^_!_4_>_-`/H`x`2`*`.`)a&Fa'ma&a&a%a# b'-b%Ub({b b$b b" c,.c2[ccc*c,c.%d$Td*ydAd1de0e)Leve+e^e?!f?af)f3f5fY5gag6g<(h2eh-h4h-h4)i/^ii2iLi/.j6^jjkk8k0k3/l7cl>l$l5l,5m.bm,m1m3m2$nWn6sn1n$n0o2o79oqooo#oo p+&pRpYpjp~pppppp ! qq:4q)oqJqCq(r@r(`r,rTr ss,s ! FsQspss(s:s ! t7't(_tt#t5tuu)3u/]uu'uu6u v!v ?v'`v v0vv v w$w;wQwjwww-w"w!x)$xCNxPxxxxx$y3%yYyuy.y1y:y>1zpzyzzzz!zz zz zz{{{"{>{G{AK{B{~{O|L}gM}}{}gQ~~UF-G62ni<؀5,Kx ^$rof *<.)E5b '-(+.+D-pc^ajQM|n3Ak5m'7ˊ.523h8.Ջ[ |WcGYJG4+ޏ1 ! J<5:$+͑-oF)4Nɓ.>G<eÔ;)e:2'ƖEW4>S˗YLyLƘ?@Q7bBQ/EOǛsqeacPŝPʞlV<=,j|d}}AK=<0Ƥ-8%L^QBG@QHڦI#ZmZȧL#VpHǨDJU?=BaCD'7l6A۫*GHMKެ;*?fE5H"bkJήbY|9֯1BBrWNʱ96SZ9i]XE@Q@ش2FLbU[LM0a~@V!;xFs;`MW"@ȺW 9aPl\YBT~PӽI$FnNH GR~yL`:Ab|@S Rt>:dA'*C/=AmL6R3ECB_S6+?@V=:ACRG27?IBZ@'+h;+ICF)M77:+rAJ*+*V,(71-=_O*%3IYu;TUO HDd5[K;BQ?\8yuL(iu=:$XA}73,+!X#zJ-+,CUpszq`oyWWV)Y#BUAZ##6"[Y> 4 3  A(Mv04!"5X q!} !   ! 7AQ `l   ( ; ERbr  ! %XZ[t[J,Nw"7O!'q66UJ]3F#9@z[3";X@lB?-00^5,? 3Il}50 )Q5{+0H$g+:A ! @L%-P5SwCR'75?,=l7:AG_.):"; ^/HJ'Ck>2EyP/Ry=1:qlo.N0}U=UO8geVVWWE]BJ)1:[)|l=B7)!#Ko' $"G+g#/%-K(eh%H4fJ0Fd^?m lq I H( ! Cq ! H ! G ! BF O ( K 2N 6 l e% M 8 ?URm32J*}4Q#/+S1'5Vmf{@Pn+,*J'u&'@9-Sg#!J>LZ.Lb%DK7;U:^K+?w;0$D<i($ F.%u66) V3NG4!tV@: G9gF/#2<1oH>h)1/U>J J G G!6d!+!.!h!O_"K"8"C4#Sx#d#Q1$;$B$I%XL%\%4&97&Cq&=&C&67'1n'7'H'3!(=U(O(0(0)*E)!p)<)*)))P$*6u*/*0*/ +/=+0m+8+5+9 ,9G,6,7,.,9--Y-:-<-/->/.+n.(...+.8/BW/://J/>0iS00'00n11o1, 2M:2 2H4-47 57E5>}5G546O966;6(63 ! 7 >7_7m}7'7;8BO89808D8BB9D9B9G :GU:?:::b;P{;6;5<59<Co<*<[<8:={s==X>%>?$5?GZ?)?8?;@RA@+@9@)@7$AR\A:AAA8,B%eB)B)BtB0TC3C8C.C9!DK[D%DD&D1E7BE?zE%E%E$FT+F2F*F1FKGD\GAG+G&H%6H$\H?H/HHJ I#XI.|I1IzItXJHJ9K[PK<KGK*1L)\LXL<L#M(@M/iMNM)MNN2aNMN)N2 O;?O;{O1OO0OG-PYuP_Pk/Q:QMQ$RH=R1RdRBSC`S{SR TNsT1TyTVnU=USVZWVdVdWE|WBWCXCIXX@X X&X3YJHY1Y>Y<ZBAZ1Z6Z'Z8[3N[8[7[+[,\4L\S\>\]'/],W];]4]B]k8^2^:^*_/=_%m__!___`+`K` i`/`` `:`G"aFja@aa& ! b1b.Lb{b8b6b2cD4c:ycFcEcCAd@d=dJe>OeEeeQTfAf`f'Igqg;gg;gh)h8hWh.lhhhIh<i5Vi5i3i(i5jUj*qj#jj jj.j.$k0Sk8kkkkElN_lGllFm@Vm>m<m&n<:n5wn=nnB o$No[soAo_pcqpDpMqGhq_q8r+Ir.urrrrr5r"+s"Nsqs>s6s.s\.t9tKtRu2du5u;u8 vJBvIvDvMwGjwAwJw.?x\nx>xH ! y9Sy0y/y,y8z4Tzzz7zDzE>{A{){{6|8G|.|3|6|C}^}<t}>},}3~>Q~<~~~]YdYT9m51݀56EF|!ÁYWR=++/@?pA (M:o9=2>p8-,5b<{A@>;<z58<&c@|+.:7S2(܉.%T!r++/(2E@x!Ћ7E*p  nj܌11,!^!"f(W# Î1 %#%I(o30*)D>n`6?EGH͑ZqT!QvTȓfoVWKSGF?G$Ζ#%*=>h*/)18[Cؘ17$E\:Jݙ5(5^?BԚ"0:6kvWUqLǜ4tI?"n!L@ݞT+sVY0P 8!:_Mʡ '9<Mv(Ģ1 Q!r!##ڣ-,C])vX]ZW,9ߥ*4D1yvr"LKW.BkɨE5Q{8ͩ=DQ/٫A jKf32Q.<?KD(+E+.@*o!67#+cOO7#;7_#9%9%UK{7Dz9%9K__Q e]Oôc)w<)޵)'2BZ*'' >5It":GHdF;10Bb2MعC&+j'-ռ7;  k+:ҾG?Կ19F?11[$!#O) @Ja0;#'=*e:># ! O.%~?*:>J<0.(W#s/+7!@Y,<?qD967'3_3%-2-(`5?===&{LQRA*.#P<c&&L;*Y+)L9=w%)6*8>.w,--6/f**$3O4*Olylu:\uD R'U.)Y'4I)Z*3#J"9"\"  $$ $."S"v),)'9BO|,*2$)W33R4<lqLK+dw?W9t0=4:R^XnEYW\fJ[DjEv#l$#!1-=@:V@:+-8YMSk4M: ^DRO-FCtFgfg^P-X~(=M> 8?BB'*ZP"C8fD 2V83$7 ;@.|%*:-*hq8.>Dm9"J9Z,25(9^:* !!A6cD4,*Al;63.N$}?-,9=aw<=eT:H,> -k X . ! $> *c    F 4' 4\  #  ) ' &7 &^ + C ( " (A (j ) ) * * *= *h * * * * *? *j * * ( ( (= (f ( ( ) (  (4 (] ( * * * *0 ([ ( ( ( ( (( ! (Q ! (z ! ( ! ( ! ) ! ) 'I (q ( ) ) ( (@ (i ( + ' ' (7 '` ' 3 4 4 3N " B ? %( N Bo 7 3 6 4U F { :M '  @ #  1 6L . 4 )  * .E +t 7 c ?< >| A  2 v Lj L L 9Q 0 H @ =F > ! _ IE F N ?% "e T   A :X >   ( )7 "a   & I 8. *g  & &  0 -O (}  & + ' !: \ !| ! - ( " ": )] , , +! #.! $R! 'w! *! )! 2! '" +C" 3o" Q" " "# A# 1# -($ )V$ :$ F$ 6% P9% ?% T% & :& =& 5'' )]' ' +' -' "' N( Pl( $( :( 8) 7V) 9) ) <) 7* ?S* 5* 9* 3+ 47+ 9l+ <+ 6+ 8, AS, ;, 7, G - %Q- w- )- ,- 5- ". .A. p. ". . *. . . B/ :K/ / / / / M/ 0;0 .l0 .0 $0 0 A0 a?1 +1 m1 R;2 m2 ^2 c[3 B3 4 4 094 0j4 04 64 5 5 i;5 *5 )5 15 -,6 /Z6 )6 L6 ,7 b.7 E7 (7 d8 oe8 B8 9 1+; *]; *; I; ; >< ?\< < >< < 2= 0= 7= 6!> 7X> -> ]> 0? M? _? ,~? &? )? $? !@ @@ `@ 7@ %@ (@ %A (.A WA 'vA !A A %A /B 17B iB &{B !B (B :B -(C VC 2uC $C (C C >D !UD /wD D %D .D 8E 5NE E /E E E *F ".F 8QF (F !F 7F ) G %7G %]G G G +G "G H #-H -QH *H $H )H /H )I 'II qI (I CI I J ?2J !rJ 0J $J J ,K #.K ;RK 3K +K K vL ^{L eL M@M M ;M 2M *N GN )aN &N N 8N ! O :.O iO O /O <O 7 ! P 'BP jP 1P (P 7P Q >8Q ?wQ $Q Q Q 8R EOR HR )R )S w2S S xBT T gU tU W\V V 7W W dX wY (Y Y UY 0(Z .YZ 3Z 1Z LZ 2;[ -n[ O[ )[ O\ Kf\ $\ =\ %] ;] 0Y] .] ] ] ] ^ *^ B^ F]^ "^ =^ $_ !*_ &L_ ;s_ (_ 7_ #` /4` Nd` ` ` ` # a 2-a 1`a a +a a )a #b 39b !mb *b &b b 1b V1c c <c c c 2d ,Ld yd (d ,d 7d #(e 0Le }e e cff 4f 6f 6g 8g ,h 7?h wh h +h h >i i vj <,k 7ik dk l ='l -el 'l (l cl .Hm twm m !vn 3n ;n 1o 0:o $ko 'o "o o o 6p !Np !pp 6p "p )p q 5q lLq ;q 9q @/r Ypr &r r -s r@s Qs ;t (At jt Et :t (u .u .Cu gru 4u <v RLv +v v ?v ,w Iw Cew w w =w x +!x %Mx sx x x "x -x y :y 9Zy My y Ay <*z 8gz Kz Iz !6{ XX{ E{ {  ! | | ;| Z| o| .| C| } } (3} \} .q} } I} ~ /~ $F~ ,k~ E~ 4~ 0 D -[ 2 " + J ,V  0 FЀ ] 1u 3 9ہ 8 *N Ny 4Ȃ < ;: Nv ~Ń CD # + 3؄ 0 '= e % + 5ׅ  * %I o   Ɔ  * 1. 0` + C  "" fE . -ۈ 1 .; %j 0 ) 0  :5 2p  ( 0  !( KJ \  4 )@ j ` $ ! 1 "J m &  /č ? =4 $r  ' ?ώ  B/ r  3 $ / <5 1r   &Ԑ 5 1 "L &o * ) ; Y' K -͒ 7 :3 3n - 1Г 2 5 .U 0 < 5 5( 1^ ; )̕ q Oh . $ ? -L )z 5 Vڗ %1 YW  $̘ + 7 /U F -̙ @ 4; qp !   41 >f 0 A֛ = 6V - 2  ! 8* 6c - Eȝ  [) ;  9ٞ H :\ 7 :ϟ 7 ! <B 6 = ; :0 <k F *  +7 *c & 6 $ O =m = ? ) (A Jj > 2 A' ;i ; 5 & ?> m~ %  U C 91 ;k  s \, ( 1@ 2r 2 Fث 0 3P 6 * ' ? 8N + > ? 32 Rf ! xۮ DT 9 Iӯ 9 W !u 3 Hٰ '" /J Gz -± ' : GS  M _ ,i B >ٳ N g 4{ . >ߴ L Sk o // >_ K J ~5 G F EC 7 ? Z "\ Z \ڹ #7 [ p F~ Eź 4 @ @V @ 0ػ  : IS > Cܼ 2 ,S @ D C 9J J 8Ͼ  & @ )V   -   & 4= 4r 4 % 0 03 0d F + F 0O $ B .  &0 W n    )    -* X m 6      # 7 S f       ( < LU : D B" Ee / L 8( 4a / - H I= M #     $ 4A &v / 2 ; < &V } * < M 0M 0~ ,   ! ; [ v       4 O 8j  8   - H !c    .   < #X ,| 4 ;  #7 *[ ) A 2 '% "M "p ; 0 "! !D !f $ $ 9 6 =C A / - 1! ES : 0 n 5t 0 < E ,^ 3 > 4 :3 4n ;  ' #% 'I =q # ( 9 )6 6` - > 2 07 0h + / / /% ,U $  ] # 6; 1r A @ ' @E ; D # >+ Aj 7 : 2 5R 2  K N# r   * - 6" 'Y  Q  ' ! 2 M -h ( , , , )F p , 6 ' L Ld < < B+ )n  1 . . LG k  6A Jx X ( 'E m ) @ 4 I( Ur C & V3  P P U; ! + A 9! 7[ = 9 1 = B #" :F } < G< :4 o C N j   8  ; I f  4 L M n D " D - :D  D L >( 5g : 6 I CY E + + L; ) 2 K J1 J| ' /  +/ "[ F~ ( 6 =% =c 9 5 ( 9: 4t % 0 , 8- (f R C '& ! FN ! . !  ! D ! '' ! @O ! . ! 0 ! ! ! < ! FO ! 6 ! . ! C ! C@ ! 1 ! , ! 2 ! D ! [ ! 1| !  ! = ! :  ! PF ! & ! < ! 8 ! F4 ! -{ !  ! ! ! 1 ! 9 ! @U ! N ! + ! E ! ?W ! ] ! 9 ! 2/ ! 2b ! 2 ! > ! > ! ,F ! Es ! H ! E ! 0H ! 6y ! , ! 6 ! U ! !j !  ! a ! U ! 3c ! / ! 2 ! $ ! " ! )B ! &l ! F ! 2 ! $  ! N2 ! A ! ? ! 5 ! t9 !  ! 9F ! c ! G ! ?, ! :l ! 8 ! % ! ) ! 0 ! #P ! #t ! - !  ! =P ! 9 ! 3 ! 2 ! %/ ! &U ! ;| ! : ! & ! U ! p ! & ! & ! / ! 2  ! /> ! 8n ! 4 ! ! ! + ! 2* ! -] ! % ! ) ! % ! & ! ( ! 2E ! /x !  ! & ! , ! . ! aF !  ! L5 ! S ! T ! j+ ! 4 ! ' !  !  !  ! Q !   ! 0 ! 2F ! .y ! ' ! % !  ! 2 ! H ! -e ! 2 ! 7 ! 2 ! =1 ! 8o ! 8 ! = ! 8! ! 6X! ! ;! ! 4! ! 9" ! 4:" ! 9o" ! 4" ! E" ! 7$# ! S\# ! .# ! 1# ! $ ! #)$ ! 2M$ ! .$ ! F$ ! K$ ! IB% ! I% ! E% ! G& ! d& ! H& ! T-' ! ' ! j' ! 0( ! ,8( ! ce( ! F( ! ) ! ) ! Pe* ! * ! D+ ! + ! , ! , ! /, ! E, ! U, ! e, ! x, ! , ! , ! , ! , ! , ! ', ! @&- ! ,g- ! [- ! 0- ! *!. ! LL. ! -. ! +. ! @. ! >4/ ! 5s/ ! ./ ! / ! X/ ! <J0 ! ,0 ! r0 ! s'1 ! T1 ! s1 ! td2 ! 2 ! )3 ! F3 ! "3 ! 84 ! 7M4 ! 14 ! <4 ! B4 ! T75 ! C5 ! G5 ! N6 ! .g6 ! 6 ! =6 ! m6 ! /\7 ! /7 ! N7 ! # 8 ! a/8 ! 68 ! Y8 ! Z"9 ! @}9 ! _9 ! /: ! (N: ! kw: ! -: ! .; ! M@; ! I; ! 2; ! F < ! ER< ! 8< ! C< ! y= ! r= ! 0> ! !3> ! +U> ! +> ! +> ! +> ! ,? ! ,2? ! -_? ! -? ! -? ! -? ! -@ ! -E@ ! -s@ ! -@ ! -@ ! -@ ! -+A ! -YA ! +A ! +A ! +A ! + B ! +7B ! +cB ! ,B ! +B ! +B ! +C ! +@C ! -lC ! -C ! -C ! -C ! +$D ! +PD ! +|D ! +D ! +D ! +E ! +,E ! +XE ! +E ! +E ! ,E ! , F ! *6F ! +aF ! +F ! ,F ! ,F ! +G ! +?G ! +kG ! +G ! .G ! *G ! *H ! +HH ! #tH ! AH ! UH ! B0I ! csI ! I ! +I ! KJ ! MgJ ! 9J ! +J ! K ! >5K ! 3tK ! &K ! $K ! YK ! 3NL ! 4L ! QL ! < M ! 6FM ! '}M ! )M ! M ! !M ! " N ! G.N ! KvN ! 7N ! )N ! *$O ! $OO ! $tO ! #O ! $O ! $O ! #P ! +P ! :P ! 8P ! J+Q ! ;vQ ! Q ! .Q ! >Q ! 8>R ! 4wR ! WR ! *S ! M/S ! :}S ! vS ! ?/T ! 5oT ! @T ! 6T ! >U ! r\U ! aU ! f1V ! 4V ! -V ! :V ! B6W ! @yW ! "W ! 0W ! X ! $!X ! 3FX ! zX ! NX ! ,X ! Y ! 4Y ! /TY ! 1Y ! 8Y ! -Y ! +Z ! )IZ ! <sZ ! &Z ! 'Z ! -Z ! 0-[ ! a^[ ! '[ ! 4[ ! %\ ! 'C\ ! &k\ ! ^\ ! .\ ! 3 ] ! ,T] ! ] ! C] ! A] ! 5!^ ! W^ ! *x^ ! ^ ! ^ ! +^ ! <_ ! *E_ ! p_ ! )_ ! 0_ ! (_ ! / ` ! C<` ! <` ! "` ! ,` ! $ a ! 2a ! Ha ! ia ! a ! /a ! 3a !  b ! .!b ! )Pb ! ?zb ! b ! Cb ! Mc ! =`c ! 2c ! Ec ! Dd ! V\d ! ,d ! 'd ! Ye ! 4be ! ,e ! 0e ! 0e ! =&f ! 0df ! :f ! 1f ! 9g ! 2j ! = k ! 3Kk ! :k ! Rk ! C l ! 7Ql ! :l ! ;l ! 6m ! 17m ! Eim ! Am ! Qm ! _Cn ! Wn ! On ! HKo ! o ! 8o ! 8o ! -'p ! (Up ! /~p ! p ! p ! Hp ! 9#q ! E]q ! )q ! q ! 4q ! 3r ! NKr ! 1r ! Or ! 6s ! 3Ss ! 2s ! 0s ! /s ! )t ! #Et ! *it ! -t ! *t ! -t ! @u ! !\u ! ~u ! <u ! u ! -u ! 2v ! ?Iv ! .v ! v ! 'v ! (v ! ((w ! Qw ! *x ! 4x ! 50y ! fy ! {y ! !y ! ;y ! :y ! C-z ! 5qz ! z ! -z ! &z ! { ! 0{ ! 'O{ ! *w{ ! %{ ! *{ ! ${ ! A| ! CZ| ! | ! <| ! %| ! 3!} ! /U} ! [} ! 7} ! N~ ! &h~ ! I~ ! +~ ! ] ! cc ! _ ! 6' ! 7^ ! 4 ! 6ˀ ! ) ! 3, ! 3` ! I ! ށ ! % !  ! 2 ! '@ ! -h ! & !  ! O݂ ! H- ! Hv !  ! ΃ ! N݃ ! 9, ! Hf ! H ! J ! HC !  ! * ! ,΅ !  ! 1 ! )M ! -w ! , ! ,҆ ! < ! 9< ! &v ! / ! =͇ ! & ! %2 ! 7X ! 5 ! <ƈ ! " ! & ! F: ! $ !  ! . ! 0 ! W ! m ! =} !  ! 9؊ ! O ! b ! ~ ! ! ] ! ! ! +> ! j ! : ! T ! ! ! 8 ! R ! %m !  ! $ ! ؍ ! u ! gj ! DҎ ! : ! !R ! *t ! - ! ͏ ! # ! ! ! 03 ! <d ! < ! &ސ ! < ! RB ! ; ! >ё ! t ! @ ! 8ƒ ! l ! 9l ! 3 ! Uړ ! 90 ! Bj ! c ! m ! ? ! G ! X ! 3` ! G ! Jܖ ! T' ! E| ! ;— ! D ! YC ! p ! " ! 1 ! 3 ! ? ! 81 ! Kj ! @ ! G ! ;? ! E{ ! G ! Y ! ?c ! ? ! j ! KN ! [ ! l ! 4c ! O ! E ! O. ! i~ ! [ ! MD ! ' ! s ! :. ! 8i ! F ! a ! K ! K͢ ! S ! Wm ! 2ţ ! F ! 8? ! x !  ! !  ! H ! N ! == ! i{ ! 7 ! Y ! uw ! v ! )d ! ) ! < ! I ! 9? ! y ! , !  ! ժ ! ? ! ^4 ! = ! ]ѫ ! @/ ! dp ! Cլ ! J ! 'd ! _ ! ! )z ! V ! @ ! Q< ! V ! U ! =; ! Vy ! aа ! 32 ! )f ! $ ! ) ! ?߱ ! . ! (N ! %w ! h ! * ! 01 ! .b ! 6 ! ;ȳ ! + ! 0 ! :N ! 8 ! )´ ! - ! ' ! B ! %V ! %| ! O ! I ! %< ! b ! &} ! 4 ! #ٶ ! 2 ! 0 ! 7M ! ? ! /ŷ ! 1 ! ' ! (G ! p ! Z ! Zڸ ! F5 ! #| ! ! O* ! 9z ! $ ! .ٺ !  ! &" ! ?I ! . ! S ! 0 ! 8= ! 5v ! B ! r ! Bb ! F ! ^ ! dK ! ! f3 ! P ! Z ! KF !  ! ; ! B ! 5) ! +_ ! 4 ! - ! < ! + ! 3B ! Hv ! * !  ! 2 ! (5 ! -^ ! 1 ! @ ! 9 ! >9 ! Ix ! ? ! + ! 6. ! )e ! L ! E ! " ! '9 ! a ! x ! V ! 1 ! 8 ! <H ! & ! ( ! B ! < ! RU ! 8 ! S ! 5 ! 2O !  ! 3 ! + ! ! !  ! ( ! < ! V ! Uk ! I !  ! 4 ! 4U ! 6 ! 5 ! v ! 3n ! = ! < ! ! ! /? ! 7o ! ; ! ( ! : ! .G ! 9v ! C ! @ ! A5 ! Ew ! ! S ! Q ! @ ! < ! !) ! 3K ! + ! 1 ! ! ! 9 ! 49 ! 5n ! , ! ; ! U ! 1c ! \ ! / ! *" ! (M ! !v ! ; ! . !  ! \ ! ;r ! L ! ) ! 1% ! 4W ! 3 ! 4 ! 1 ! >' ! Bf ! [ ! Z ! c` ! J ! A ! \Q ! e ! ? ! 8T ! 2 ! 0 ! - ! ; ! 4[ ! ; ! 4 ! H ! "J ! Om ! O ! 8 ! F ! ([ ! $ ! !  ! 4 ! & ! ;E ! ) ! j ! F ! ] ! $ ! 8 ! 8O ! % ! ) ! L ! V% ! | !  ! . ! 0 ! M ! HN ! N ! O ! c6 ! ! D4 ! xy ! j ! ] ! _ ! [E ! H ! I ! A4 ! &v ! 7 ! . ! F ! =K ! 9 ! 6 ! : ! 35 ! ;i ! : ! : ! H ! 2d !  ! < ! 2 ! % ! ;? ! { ! & ! ! ! # !  ! * ! 8H ! ! b ! h ! `r ! ` ! 4 ! :I ! B ! 1 ! O ! 7I ! $ ! 4 !  ! 5 ! 5+ ! a ! A~ ! $ ! = ! 8# ! )\ ! * !  !  !  !  !  ! 6 ! +B ! 'n ! * ! - !  ! + ! >2 ! Bq !  !  ! ; ! (, ! (U ! C~ ! % ! 9 ! F" ! 5i ! 8 ! 8 ! 2 ! WD !  ! ! $ ! 7 ! # ! #3 ! MW ! 7 ! 9 ! 7 ! 8O ! . ! @ ! B ! <; ! @x ! > !  !  ! 6' ! >^ !  ! ; !  ! > ! UL ! / ! - ! L ! *M ! :x !  ! . ! 7 ! k2 g j Bq - U "8 "[ )~ .  ; "+ N 8 A =P P J z* P 8 N/ M~ { \H $ E - -> El @ 0 )$ *N 3y 6 . @ ! FT ! F ! B ! A% .g #  L 3 WS 0  ' 5 -U ( + , 0 %6 9\   % 5   : ZT ) G G! %i C ) 2 0 0Q . H 4 / $J ,o ) : & /( AX 4 > < 3K ( ) & % ; S[ ;  E 49 7n _ = 0D 5u D ` Q  7j @ B ;& +b - " { [ p 4 % = ; /Z 7 4 . @& :g + ( J B 6  O gh 5 z J 1 < &;! 5b! ! ?L" 4" "" )" ,# 4;# Bp# *# 0# P$ I`$ ,$ 0$ ;% FD% 1% I% 5& H=& 5& [& 3' FL' <' O' Y ( =z( 5( Z( SI) 2) () ) ^* Gp* ?* O* GH+ !+ L+ C+ C, , s, $T- Oy- L- 8. \O. . $. . 5/ #a5 >5 >5 ?6 >^6 <6 =6 <7 -U7 A7 @7 ?8 gF8 :8 =8 &'9 &N9 Du9 F9 J: NL: @: F: 8#; P\; H; E; 2<< "o< < .< '< 6 = ;@= .|= [= Z> Zb> 9> 8> 80? .i? 8? T? )&@ KP@ ?@ @ +@ &A .=A &lA 'A ;A ;A 3B "NB .qB B B B 8B 94C 4nC ,C YC -*D 8XD ;D DD 1E DE 'cE E E E E % F #1F &UF @|F 9F >F 16G ehG dG D3H ExH H H MzI 9I &J ^)J aJ J .K -3K -aK K *K &K *K >L /ZL ,L 1L /L $M ;>M 6zM !M @M 2N &GN ,nN >N 1N 6 O 2CO 3vO 0O >O P 49P NnP ?P :P 18Q jQ %Q &Q !Q Q (R 6;R rR >R .R DS "FS 1iS %S 4S 2S <)T NfT 7T *T ,U "EU hU U 7U GU 3#V &WV &~V :V BV A#W )eW W <W 3W IX GXX X -X >X <)Y .fY :Y #Y OY =DZ >Z 7Z %Z ([ >H[ :[ [ @[ \ 20\ 8c\ \ \ .\ \ 2\ 1] -L] 3z] '] %] 7] 54^ #j^ ^ 6^ ^ ^ -_ "<_ (__ X_ Q_ 13` /e` 8` ` ` E a IOa 9a .a 'b *b Db ^Yb )b b b Bb ?c Mc [c )|c %c Cc :d (Kd 3td d 8d 6d 75e .me -e e c^f f f ;f ,/g 3\g 'g >g >g >6h uh h rh /i !Ei $gi 9i i 2i j %(j Nj Ygj j j $j K!k <mk k O?l ;l 2l 1l -0m -^m -m m <m  n 8n IVn (n Hn Ao DTo 7o *o .o 3+p D_p 4p p p  q !$q Fq ,aq q r Er r = ! s 4Hs 2}s 2s 1s et 3{t 3t 3t gu >u |u U;v (v v ! Xw cx O|x 1x 1x 00y 0ay #y My z 0z 4Oz 3z 0z /z ${ *>{ @i{ A{ 9{ %&| 8L| :| | 2| } =} =} ~ N(~ 2w~ =~ "~  < `, T Q G4 <| E D #D h D S΂ 4" ?W ? -׃ N `T D P WK ) $ͅ b U 1j D h J 6d  * և U +k V ) H 2a 6 ˉ c >O > 1͊ ) ?) Pi [ @ ^W W 9 H /f # ) B 7' @_ K (c # 3 > (# #L #p , < > 3= 7q S A ? W w 2 ˒ 1 $ '@ @h C 5 # Д N} 5̕ < Q? ! " ?֖ & J= 4 , A <, i 5 A U 9S A Jϙ G 3b  : %  C. 5r 2 'ۛ B =F  / ;Ϝ e *  $Ȟ 0 ? _^ Cߟ .# R =s ; 0 @ *_ A I̡ ( ?? 8 2 I ]5 S  5 3= &q 1 (ʤ ) , 3J *~ _ g Qq Aæ P "V 3y 8 ; 8" 8[ 8 :ͨ B )K 3u 4 /ީ 8 G h 6 6 4 4% 8Z ( 4 6 '( 2P 3 4 ; ( AH G Nҭ N! Vp ^Ǯ c& i h ] ݰ ] ݱ ] ߲ _  ra vԴ K ˵ L ~Ͷ L ͷ M sѸ xE s u2 9 7 A C\ 6 7׻ 3 9C } ; 7ؼ 6 5G 5}  3Ͻ 9 3= ?q 3 $ 8 ! 5C 4y : 7 8! 6Z 3 &   (' $P 5u H 2 -' -U . A Y /N u~ S H 6h /  ( \ 0n : * 0 [6 E  E G1 'y &  ! . 15 %g 0 M - : .X 2 - # L 7Y 0 % 8 ?! ?a  K ? 4K . R . +1 6] 4 5 , G, It 3 b 1U $ B    (4 ,] H / . 02 +c . , , " 2; ,n ) ( + , &G *n + + % " ": #] & 7 - 6 *E *p ) ) ( $ &= )d - + % ( 57 #m ' 4 ' & = +^  2 4 0 1B ?t ; Z RK ^ P @N K H $ +D /p '    ( * : 4 ) #J sn   $ [ K, x 1     4 S *_ p 4 =0 Vn : ? @ Y H+ gt Na [ Y <f < > a A @ J @O y C ! HN ? X i0 T : O* Mz J a [u W >) Vh = 9 R7 D . 3 -2 <` 8 G = j\ p )8 hb > c ! fn U = E[ X[ : i aY J S DZ 3 B / .F *u ( 8 4 )7 7a + ( + - ]H n1 h g ?q h W r H H LN Z C :  OA 2 4 Q oK = A 7; s 5 t0 - ; 0 v@ N L aS T G ! ,R v B ]9 ! 5 ! S ! T! 8v - 2 I NZ \  V Z y@ D Z NZ C Y OG ? : ? <R J J 0% >V  2- f` _ D' l Ar c i / J I IG v X Ya  TW ? b KO C C 7# [ % a \P  [E  4 kW! :! ! 7" K" ^H# d# G $ FT$ $ :% % ]\& & & g& ^' ~s' ' |( ( ( 1( /( >%) 4d) ) <* }* ::+ u+ A , OK, q, | - 1- V- J. P^. V. L/ {S/ ./ f/ Se0 B0 Y0 `V1 "1 R1 Q-2 72 92 \2 AN3 3 )4 ,>4 k4 4 &5 ME5 /5 ;5 85 86 J6 <j6 U6 6 ?7 ?\7 77 ;7 "8 Z38 B8 +8 %8 "#9 $F9 .k9 39 '9 9 /: 2E: (x: 4: ,: 3; N7; 7; E; C< H< Ih< < /< /= *0= .[= H= != -= 1#> 2U> <> ,> '> 6? =Q? "? ? 2? ,@ l0@ ]@ .@ )*A TA IsA PA :B 6IB CB 6B ;B N7C 4C ;C \C TD 9uD @D 7D Y(E :E *E E 8F ?O +P 2FP #yP @P P UP -NQ |Q 6Q Q #Q 2R )AR 3kR 0R &R 2R =*S 3hS 0S 1S 2S 2T )RT -|T ,T 0T U -U 1LU ~U +U (U &U &V *_ $W_ |_ =_ $_ _ F` (^` (` ` ` ` >` $a >a \a ta a a a a Da *7b /bb b -b Bb  c $ c 0Ec *vc c !c Gc F'd Gnd 5d )d e 1e *Me .xe Ce e $f &f @f af "|f If If -3g ;ag Ig !g 8 h 1Bh 0th 7h &h ,i &1i Xi 6xi i 8i 1j 2j Nj -ij -j ,j 8j =+k =ik =k =k #l /l )Ol %yl )l 2l l 1m Fm ^m Wn :[n 1n 6n -n 9-o go o 2o o ]p 1q 2q 7Mq Cq q q =r Fr oUr 2r 1r *s @Cs "s #s (s &s -t \It :t 1t ;u /Ou u %u 0u 'u "v /=v mv v v /v v  ! w "w f?w w 'w w  x 'x /8x 4hx )x 4x x @y Zy /ky "y "y 2y Dz !Yz +{z ,z z 4z ({ ><{ 4{{ #{ +{ 9| *:| ce| | !| : } D} \} 'x} ?} } } ~ 5~ ZT~ Z~ y !  z % >% d .} ! H΀ ! 39 +m 1 Cˁ C S 2t 3 #ۂ  G m` j΃ 9 :O "  2Ą 4 (, U $r  P 9 !2 5T , - A 0' X y   ׇ   ? B[ ' (ƈ 1 ! A 5] E ى > >6 2u 5 6ފ ? *U > 4  * 1: l 3 :T B ҍ - 5 )L %v  9 0 9# ] Yg s P5 : D 4 A; "} , -͑  & 09 (j & D>  * #ē    @- n & ( ה $  )7 ,a (  7ѕ + D5 Bz J p Jy iė F. 7u { 3) g] Qř b z x P Fӛ f h J m5 o K L_ G n Xc 2 y 7i = Oߠ u/ _ k Wq Wɢ *! PL N Y {F ^¤ \! s~ T QG G f _H R & 6" .Y [ 3 W dp ,թ u x % 9 < .0 @_ 9 $ګ 6 26 4i ' 5Ƭ 3 #0 GT < G٭ V! Vx VϮ V& W} Uկ D+ Rp Dð D DM D Fױ L 1k 6 6Բ : &F ;m 4 ޳ W SU 5 ]ߴ H= g ) R 3 5? 1u * 0ҷ 5 V9 A >Ҹ N ?` \ 5 >3 gr ;ں E d\ Y H Gd g X Pm H I :Q > L˾ T _m FͿ l ^ > I Pi F R NT r ` Sw C I JY : Z A: ?| A 8 .7 :f 1 = ) ; qU E ; NI 1 O 5 8 (S >| @ F CC C C 1 0A 1r % ` ~+ X ' I+ Ju K M IZ E : /% -U 9 ! * ) ! N4 d & $ @4 0u + = A 3R 5 S > 1O 0  % 4 I, #v 9 i G> . - 5 8 =R 2 R 0 <G 7 5 7 (* aS I A PA j ; (9 Jb 2 8 2 'L Qt Q / 3H +| n+ - b `+ / E 8 5; Zq Q + "J Pm _ * 7I - . } &} 3 " 6 2 @L < 9 E .J Ny ! C 9. 3h H   ?$ ,d 4 Y H Oi ; $  , ; ; <B E 1 : &2 NY , h i> x 7! ^Y G E 7F N~ O ( DF B V Y% G ; ( B, Ro + 2 7! EY B J q- Q O ,A /n ' % G E4 %z 4 P ;G 3 F E AD O 2 B UL 4 4 i v $ # 5  %. IT E - O Vb . = C& Bj K O %I To 0 U 3K  : = ) 2B u 9 3 0 P1 c ; >" ?a @ G 3* >^ k &  40 3e  : 7 ], R > ( 0E +v / > 0 FB L S J* @u \ I 2] A 4 9 ZA b @ C@ ! % ! / ! K ! >& e K N= > g (3 V\ % *  B  DO  Y QE D   a G- Tu T A Ia +  \ 0   :t 6 J 1 *Q #| ! I \  gi $ ^ 'U .}  " ! ! "3 "V 3y " ) 4 4/ Nd K U U ! J! Q" ;L# 0# +# ;# :!$ 2\$ /$ )$ $ "$ !% 8<% gu% 9% x& )& )& 6& U' q' $w' ' ' ' ' ! ' ' ' O' ;( 0S( >( b( ;&) 7b) %) ) #) 8* =* 7X* N* B* 6"+ (Y+ )+ L+ <+ 76, Nn, E, 8- .<- 4k- -- "- W- II. ?. G. / 3:/ 3n/ B/ ?/ =%0 9c0 B0 M0 F.1 Gu1 A1 S1 +S2 (2 (2 .2 &3 '3 {=3 +3 i3 (O4 )x4 14 M4 1"5 -T5 B5 85 15 106 gb6 %6 "6 E7 %Y7 #7 %7 t7 .>8 *m8 28 H8 D9 %Y9 9 z9 ): 8?: 8x: 1: 5: <; 3V; 1; ; &; B< .D< *s< < ;< 9< H2= 9{= 2= *= \> 8p> B> 1> 5? 8T? 2? ? 2? 5? O-@ Z}@ @ #@ 'A &=A .dA BA ;A 4B 5GB 8}B /B %B $ C %1C /WC (C )C #C )C )(D -RD 1D D D D LD )=E gE /{E !E #E KE (=F *fF F F $F )F )G .:G @iG AG cG APH 9H 4H XI ;ZI 3I 8I NJ HRJ DJ >J GK 3gK 7K [K </L lL xL .L $L L ?L i$M 1M &M "M  ! N M*N 1xN -N !N 7N (2O 8[O :O 9O H P 'RP 7zP /P 2P >Q <TQ )Q 9Q <Q ?2R 6rR 2R ?R @S !]S FS cS 9*T &dT @T 4T !U #U DU <^U U .U %U V +V DV QV 4pV -V 0V /W /4W ?dW 8W ?W >X A\X VX =X (3Y 4\Y :Y AY =Z 3LZ ,Z :Z 4Z [ n[ <\ AP\ ,\ Q\ ] 1*] 6\] ;] <] ! ^ $.^ IS^ 3^ 6^ >_ AG_ _ _ ,_ "_ *` @` ;Y` ` $` T` :/a !ja $a 2a 5a Rb 2mb <b =b Ec ?ac *c Tc 7!d #Yd }d 'd .d md yae se nOf zf t9g og {h uh hi tyi ni y]j vj wNk xk q?l ?l 2l O$m :tm Gm )m (!n !Jn (ln &n 0n Sn :Ao '|o !o Ao .p )7p 2ap yp wq (q *q ,q Ir 3Qr 0r 'r =r =s Zs rs s Hs Qs Q7t *t %t %t +u +,u )Xu &u u 9u u 1 v &>v &ev @v -v <v '8w '`w /w @w .w $(x 5Mx 4x 4x x ; y <Iy Dy y 7y (z -9z *gz -z z z z A{ /Q{ /{ 1{ M{ N1| 0| 2| 0| 7} 9M} !} !} H} A~ *V~ ~ !~ ~ ?~ & *C "n  $ N ! ./ ! ^ .i : )Ӏ 5 c3 E A݁  @ ,[ $ " .Ђ % %% $K p D D̃ 4 @F N (ք / / E \ 2r L  T Lf [ U We \ C ^ t 3~ @ ' 4 .P ; $ + $ 9? (y 7 ;ڊ E 2\ , * 0 ; #T x E Rٌ V, 2 ) % & )- $W =| [ 6 VM N L L@ V C L( &u  .  ( 0 MM @ /ܒ : 2G 3z - 4ܓ Q ,c ) 0  H MT / 2ҕ - 3 'Q y / %Ė 8 3# W u   %ܗ  % !: &\ ' # Ϙ     $& K %\ / % ,ؙ , .2 ,a , , , * &@ /g   ( %ܛ " % D c 7p @   H K +j $ " /ޝ + &: 'a - # $۞ / /0 ` x (  ٟ # " 5Ǡ H F :c / 'Ρ  0 $C %h + / ' ( ; +\  !  ݣ 4 -2 8` / Wɤ 9! 4[  8 )ۥ , '2 (Z    +ܦ 6 ? ,Y + O  C 9O   Ĩ ި  8 T 0թ ; B )] = !Ū > I& /p J Y E !d  = - 3 O )e )  ح / .# @R - - . ) LH 3 ɯ ( Y Ff , (ڰ N #R $v $ * , B [ ;k . G ZL . (ֳ D 1D 6v 3 3 5 =K J *Ե " 0" S n 8  :ܶ ) ,A "n * * O E7 }  P O -; /i 6 2й  &! H 9a   7ƺ 7 36 %j )  Ի @ -- >[ > Dټ < D[ 3 MԽ E" *h  ! ˾ ־ < $# "H 9k % *˿ . )% )O 7y 2 ` 3E .y / , 0 36 ;j P F > A_ I K #7 F[  > M #M +q .  , 1 )K .u @ & ! 8. ;g < , , : !T v - ' - + #@ +d N H ;( Cd S L .I ix b E f # - ' V" #y 1 * & &! CH E ( ) 2% >X / > 4 +; 4g 9 8 3 C %b 5 T 74 6l 7  I H> ? \ Z$ / ( -  *& +Q 1} M9 8 - , + G %h = 3 - T. ' ' $ 9 32 $f $ .   ( <: w '      0 "M ;p =  6 )7 <a ( ' / 1 Q #q  - ' ) #3 'W 1 M ? K?  ' >  + 9E @ 8 #  = L k ~ 5 % % ! 3 N o !  i 31 )e  "  $ ! % C 1d 1 / F E? h ) 3 2L #  G ' ! .2 0a - >   $/ 8T B *   N- "| " )  ; *? *j < ( 0 -, 'Z & " - E E@ ( & 0 3 A; &}  2    :9 $t  6   &' N ;j Q , 1% 0W ( / 4 * A %Z ) ) 8 8 AF 4 @ $ # -@ <n . 4 0 @ Z Iw M $ M4 6 . 1 / TJ '  8 P= 0   ( 0= 6n L l '_ & I * # +B Nn N $ %1 &W ~ ! $  1 & > Y +r + - 5 -. D\ 5 - ) o/ [  6 O "o 8  ! '@Z@k(*/(Hq'<-$!F/[!58`<>6>!R8t)85I.3 B"Le&64.$c1<;.KBzA515 Mg M F ! 1J ! L| ! L ! < <S >  > C" f .~ /  = 4 P qp . B.$q9/+L,HyEAJMb""1'(5P,"C00.a.1"2*Gr'53*8^NX]?]4m0/8:$Bg0*(% */+Z499(/+X /$A4$v:9ct2 3@2tO":4T><D&J%q)12&3@)t1E '0 ,X  6 + 2!U;!(!G!>"AA"+"$"%""&#$6#2[#/#1#+#,$EI$E$($4$B3%Lv%%%.&=/&'m&4&&3&8'7R'+'6'-'P(&l(.(.(1(:#):^)9)+).)<.*)k**C*'*@+D`+@+L+53,Bi,a,(-;7-Ds-L-[.Xa.I.#/w(/F/&/07)0<a09070:1JK1,1N1+2<>2I{2B2<3E3\3+|33,3L3PB4;4c4 35,T5 5*5-5/5%+67Q6/66667&)71P77"7.7#7 8+78c8)8)8889.9-C9 q9#9-9 9 9-91-:+_:\:$:4 ;*B;5m;5;0; ! <6 <"W<z<</<<9<04='e=-=,=7=h >>'>8>#?4*?<_?5??,?1@/B@+r@3@N@0!ARAaA#|A+A9AB/ B"GDG!*H/LH(|H)H#H#HaI"yII4I>I50J.fJ/J*J&J+K(CK$lKaK"K L67LFnL.LZLC?MFMBMA N.ON*~NFN.N O-OCO[O!sOO0OO+P.,P#[P!P-P$P$P#Q.=Q@lQ<Q<QJ'R&rRVRR=S4NS1S6S/STTqT,T?T/T0,U1]U/U5UVU<LVQV0Va WUnWkWE0XJvX?X$Y&YFFYPY0Y"ZD2ZVwZ1Z@[6A[Lx[0[-[;$\c`\\ \\+]7,]:d]1]8]& ! ^71^*i^1^:^ _@"_3c_1_"_'_%`$:`;_`.`+`N`2Ea5xaaaaabi#bmbKb1Gc"ycc cc#cCdB]dddDd:eFSe!e!e,e. fT:f8fDf g*g+g*g*hFh1fh'hFh=i#Ei$ii#iiii#i( j(Ij rj9jjjk"k;k&Rkyk4kFkQlCYll(l*lm6(m _mMm@m#nT3nn-n,nn*o/9oio$ooo)o1p;Ap,}p0pp/p&*q)Qq{qq+q"qqr/r*Crnrr rr rr#r ss%1sWswss&s?s ! t&t(CtOlt(t(tu%uEu \u7}u-uuuv-vJCvVvvvEw(`ww!w$w&w" x.x8NxFxRx!yP;y*y0y/y3z,Lzyz!z0z(zM{HR{0{{${|4+|`|+t|+|| |M}U}9g}:}E}<"~_~ ! u~ ~)~(~!~>Ur$+$*G5fJT<W lzW8"+N_q+5ĂHC ^?C;/?3oA3*0C[<9܅+0&\*2!@3DHx3>)45^08ň8X7$4&55G}&'-<T+\*ҋR;E;''7 0E-v$%ɍ%$%: `$Ž܎1 1?q)ݏ'+6bwѐO0?Wqؑ98R%&В%+I9a#ޓ$!:6.q>ߔ/AP_!v"[#';c3t1a*Ny"1— ! B"He*4* #Ko5&ϙx!(ҚF.Bq ś>&%Lbu?.S1=ȝ007;h.Ӟ+<ȟ۟*9Nm5|Р('*3R3 Ρ0ۡ0 =N+m--',6T!$ң5K_p?4=P#ɥޥ!*5`t0զ#5Ytӧ"&:Tq%+Ѩ# ?*`0٩%0Vk̪&ު+)UtA@)F^%y!Ԭ:Om"ĭܭR;1D8 >/_8xȯFAPTٰ&.@U<ӱ9UJT/0%+V//<<9\,@ô2476l,2е.D2Uw/Ͷ++)<Uf943`h^ɸ_(:+ùQ'A^iCȺ0 D=.A=A1*sH(,QC&>BBW .ƾ'U$s*޿.,=6j&6#Q%u"!$=&b/0-"#;8_:#QQI?0/&/V4022;3n  />#-"Q!t -&6*a{ (H8h204A3v  6*W(@P ! :[4=!;K:`B4A'=i/&I4H"},7*$&Ov#*"D@G54&I)dG 8 @DjF &RBy4`& @#3-G43|)@!3=7q69<+W).%0 'Qy!/5$6Z@8* 06;g26$ $2/W! )))-H$vw20 8<Eu@340e*}VM:MCIG^v ,,!/FQF^F>@Qcf|WA;9}TJ HW0+:#8#\+o>P[AF65-l!%-,'L<t9%)(; d/2($[6--Oh>$5?7;w8CC'b8!*J4h41,$QQ=/3<Ekh!W y01 ! BD^);a Uk^:;"v('"! !/ Q!r"+%) $3#X+|0/"Be&"#7&*/Q&$$"#G$k&-'1 ?#\#!$$B-g+!!0$)U(:-.Gv0/C-14_6*6#-#Q1u7."+JN@+;4B6w6(54I*~T # C.d)$$'/OGb/\*-6e Xm ? = ! -D ! .r ! < ! = ! , ,I 2v 4 N (- EV D E I' Fq D > h<=3CS[,," ,G'`$@6K%CqEKGGL/7 PDHLL+Rx6>HA>!>A:4>o5:OHoE#O"HrE$7&S^YZ cgDb*s)#/;%X~88*5=` + )<!^9n8,[ Wj K A!AP!4!/!2!-*""X"{"&"5"+"#)6#`#w##### #!$ 4$!U$ w$!$$$$4%O%!m%%%E%F&BI&!&+&+&' &':G'v'1'P+(@|(:(1(a*)()())#)("*K*)j*.*'**;+<B+?+E+),&/,,V,1, ,,J,%:-0`-=-*-,-.'.=V.H..).'!/I/`/-p/'/&//'000%P0-v0+05061!=1_1011+1.1#%2!I2-k2$2$2#263?>33~3,3363,4+H4:t4B4-4. 55O5)5/5U5[56\6e6FT7d7a8gb8h8q39R9p9Yi::8:.;NG; ;];"<>8<-w<9<I<E)=Ho=H=8>D:>R>)>C>;@?O|?G?F@+[@@/@%@-@0)A2ZA#AA7A+B*2B*]BSB<BC*9C*dC9C<C'D6.D!eD-D1D4D&ENCEQE?E:$F,_F$F&F FFIG=cG/G"G(G'H*EH8pHHHKH3>IrI#I,I5I#J;9J)uJ%J7J!JK/=K3mK3K/K5L;L-TL"L&LL;L4!MVM5eM.MDM$N)4N&^N)N0N1NO-O;OIO56P?lP7P<P8!QZQ)sQQ=Q9Q-4R'bR?R8R#S<'SDdSS&S*S'T;T>UTT>T T;U:MUU1U-U(U[(V3V.V@VE(WUnW(W*WX(XZPZbZsZZZZZZZZ[[-[?[Q[c[/u[[[[C[C)\m\\0\;\ ! ]1+]]]S}]h]]:^h^__-_L_b_v_#_$_b_(=`f```#` `/`6$a![a}aKaa'a' b'Hbpbbbb1b5 c3?c0sc4c/c) dG3d1{d7d4d-e#Hele+ee!e!ef6f%Nf(tfff0f4g5gNg lgg*ggg& h&0h&Wh<~h'h!h(i.i/Di&ti%i&i"i* j+6j)bj&j3jjk/k)Ek"ok.k0k"kl)l:Il3ll#l"l.m.Lm+{m!m&m!m,n,?n)ln,n&n'no%.o!To5voo:o.o()pRp1fppp8p&q-)q,Wq0q/q*qr"0r#Sr+wr$r%r)rs18sjs!s+s1s2t(;t-dt,tMtL uZu%yuu.u&u-v Cvdvyv.vvJvR'w3zwww(w(x2*x$]xNxx$xTyKhyyyy)z+*z6Vz z.z#z-z{$:{#_{{+{#{{ ||'(| P| q|'||;|:};I}1}(}"}"~N&~:u~~~~~,F a      ' H i  ̀#"%Hh*))8XtÂ߂2Nj# 0$4%Y%3ل0?Q h+7҅/ ! :"Ux '҆ S2%%LJ0+4J.2$ )=g%)6% F=\,$NJ)",#O&s###%9AP<!ό8$* O*p+2Ǎ7/2$b*"'Վ=Z!t4HˏP,e)-Ґ&''Oo4,đ%+-/Y.42, _Mq!AAAŔ)$ *0.[82Õ+ 75m'>6D42y,ٗ(.!.P(2=ۘ!';'c$7#% 629i93ݚ@3R))Л-5(!^(OȜ((A&j3.*A<9~5̞L/O!C1/6.f(֠%&,S)n¡+ߡ/ ;.LQ{H͢4:K7 أ7'1E.w.(դ1+0.\+%2ݥ$+P!b\E)'<Q9ȧ" ! /"M'p-)ƨ'% >_#"é$" .&N'u+(ɪ!%4%Z%(&ϫ'''F%n03Ŭ7311efV5U#Ϯ()/*Y,+"ݯY5ZaR2EIxN±5KGK,߲] _j;ʳ<C'c*'ѴC3=:q"<ϵ- :U_sLӶ, HM1ȷ ׷!+Fc3H17C{ !',+X5g&6ܺHH\O'-=KF9мW ! qbԽq2ľ7۾+0?-p޿12.a5*+/$>;c.># ?1#q!01&/A4q228 /EHu>.L,/y&$C49:n3)@&H$o$-&$B3-v1"$;.W!".3(L)u/%,/\$w$&0&48[)B'$)/N7~/#! ! !,.N*}B! E=h- 8&_. ,6-c/56/.8^?)*2,9_)*2*9]*+3:"(]<6@2;Mn??1<9n=h=O55% N@.60)&)PPz%2+$P1gI&) ! ?46t@.3,O)|(0:.;&j<"J CVKKf2*D> FH+44,%,R4&$)*"T=w.00F`Zz46qk.> "K-nAH'J?!)%%A&U| ! (&&Ma/|2("98\9!7*6b4*G%^&!x&Y$ 9(Z18QO@9G&A90{|{)D(DUn2)$/ ZP NMi0B A/_00K!="_"%%-If`w1?%q2(++;&g+)-0*[%u0 D P1h'.2!$#F/j4$E4:(oj2)6@`BQKSB 5<9+v23+7Bc""OD<=/6.T1# 1/a$p /''6NS8=-ZG7QS,"$# '$ 0L (} ) 9  !  ! 2 ! F ! -X ! 8 !  ! ' ! G N !g % -   '  3 @ 8_  $ #   !#  E .f   5 1,5^-/C.5r ,"/-6d.+4;+M*y3"&"^=*##""2Uu'(@2Z.&#"-*,X/,(5Dz7' '$Hm+9*,;,h4"C&18XA'%.?/n@$AKF5'!.LPVE+:,fMB,@:m7;53R4.B- I .g + 0 " 9!IP!I!.!*"->"0l"1"5"&#',#(T#/}#4#)#, $-9$Gg$'$($&%'%6%=F%(%;%D%F.&'u&4&Z&9-'4g'8'H'!((@(Ei(E(())%)1O)2)a)i*S**(*&+:A+@|+R+N,+_,3,#,*,+-*:-e-z- -!--/-0(./Y.-...$. ///0/ C/P/Ki/C//50,E0<r010z01\1P1e1*E22p292L2H*3s333"3\33=47q4*4.4'5,+5X5"r5<51546 96+G6 s6}656#6-6#7P;7L7[7558k88B8:899.V9=9M99:oK:R:N;;];Z;&;D<B`<><O<*2=N]==:=P>@R>E>l>5F?1|?)??2?"(@K@^@!q@@@@@A$A/AA/qA/A/A3B85B3nB8B+B3C+;C3gCAC@C:D9YD9D;D; E3EE3yEHE&EF%9F6_F3FYF<$G8aGG3GFG*3H.^H!HQH%ID'I}lI,I-JYEJYJ<J6KK=L2LFM'\M)M+M6M6NHNhNzN,NNENA O4bO9O;O/ P==P/{PnPQ#0QTQ"qQQ.Q!QQ!R:R"PR"sRR=RRSS.1SH`SwS!!TBCTFTQTSU>sU2U UBV3IV<}V*V VW)&W+PW%|W%W0WW X)X?IXDXX%X(Y' _,J_w_,__@_'!`!I` k``p`qanaoaib1b5b*b7c=PcEc1cLdLSd-d*dBd>+!3Up<х!-.?*n(8<BVFBZ#(~):шN ([1<R/Fv/6c6XC6Ӌ7 ! )B;lB;&<0c\>AN*(2A>Y#-4"=Q`@B164h'' "-DP@֒.",?1l)"ȓ*5Lcxhʔ3P j11 -*Ju %Ζ ))S3s&͗# /zIbĘ+'(S0|#1љ"+&Rk˚&R /s:)ޛ?IH)26 6C z 7.BJS.1@@YQ՟,'>TD=ؠ(K?$ˡ8 6>NNMܢ3*@^ͣ)(@@%+Ӥ2++H$t6Х5<"<_47Ѧ /(5XA7Ч%>.Pma% BF©%ߩ-+36_-.Ī-(!)J1t8*`->Eͬ$81Gy=ʭޭ,@`:1خ ! 4 0U8J% ! %0/V&C&&? YDzݱLAR Ӳ*/Zy08dz,2- `"?,E1!w(8µ,,($Uz(7ݶ!7#W={AG2\$W, ;9>u>D98-r3BԺ45)j!л3+C`(v5D ! =O]#C,S<6;60ng>ֿ*6@4wI%'.D s$-!&  0Qey7(%80^!"'(>%:d5:4EE*);6+S1=-!M7o!101)b)189<0v?\ \hJ$#5YftO +]L,*+. KMl-Ih22!",#P4n* O?FY=$$8B^{((.,%[73C114c!J&5,b5:=/0*`SC%#2I8|#)'#-KNy<47:^rV6(R_8;1t##B ! @M09&4 $U3z6-&G+n15;0>o:))((E#n&=%)=,g(-+ 4U+u" ! ,Dd$).$($(Mv(63:)?d4 %' -15_!1)1#C5g85+ 881q%&.=8\-'*4K$f(5#))8*b!"".$?!Z|H/@KeY&x "Sk').Ed?G?Z*!# *;)f,4)$=A'<=."1Q)14,'A3iB47/M:}24. #O0s3?B4[B-&pUE534i))-" @C8"9!F<$*+-'C)kEMUEF0&5:'p5%bB70uA9J0K7|3&-'(U ~& -V./0'6#^9M! ! ','T9|34;M[6/22C,vI/3Qf3z/37 3J ~ ) ) + / ! 2N ! $ ! - ! % !  !  J9 @ $ ! ) #6  Z 0{ 4 H (* S j  '   ) (ZDB+"1E[9w26T+,7H3./b*60J%8p%,$.=9l((~4w97=3\/4..$4S..,99M9:9:69q9WW=.771<iF9$'!L"n&).0*_, 0# =-k<.)5*R}+! - O:!<- *0 $[ 7 . ( .!-?!m!1}!7!.!/"FF"3"'"""+ #38#@l#D#%#$+8$3d$$$$$>%-B%(p%<%%#%#&<&(Y&f&&'$''6P(M(:(6)6G)/~)%)-)<*5?*&u*7*A*G+^+@v+$+2+&,H6,, ,:,,*-U1-O-A-7.=Q.D.;.$/35/5i/0/6/@0?H0D0@0;1;J111111122)2>2R2g2}22222223(3>3T3g3z3933LP44>5V5M,6Qz6D617(C7(l7"737d73Q8)8%8=8H9C\9>9?9(:BH:H:7: ;Z*;`;Y;_@<P<B<B4=[w=8=\ >bi>\>X)?K?N?Q@Jo@8@G@2;A$nANA)A1 B>B-]BiB>B?4CFtC+C+C4D0HD0yD1D9D%E![X\2l\B\\F\!;]/]]!]'])]7^%9^_^*}^"^!^)^ _8_6W_ _R_/`(2`"[`~`#``"`1a92ala)a(aaa( ! b 3bTbgbb1b+b/c/3c(cc8c&cc# d"/dRd*md!d dd*d6e*Uee2e$eef+fHfff){f,f0f7g!;g#]g0g&g#gFg;Dh/hAh@h33i/gi(i8i!iMj6ij8j.j3k-}mUm&n'9nLanHnUnFMoCo@o=p8WpOp-pq6)q0`q3q/qq8 r0DrDur1r$r<s+Ns2zsFsEs0:tktYtnMuTuKvN]vOv7vI4w,~w0ww.w.'x8Vx'x&x+x% ! y>0yYoyby#,zHPz(z$z/z{4-{b{{-|C2|Cv|-||-}!4} V} w}&}}}-}5+~%a~.~%~~~'BV0n0"$'GoH(ր3133e5ρ/F6(})1Ђ8+;)gA+Ӄ/6/f.+0Ar()*- *9,d"Ά (?AZ E# '7H,(4ֈ (%/N/~.݉%4=4r+3ӊ038,l)7Ë6!2&T7{%2ٌ. );+e.64G,e"/ˎ?+;Bg26ݏ44Fi%֐72"4U>5ɑ1"11T.&ђ!6^N3ɓ%0#JT12є(-L`z7''0(X$>=)#EM!͗ߗ1 ;"[~%6ؘ<La{,&Ù"H 3V/U&L73Y83K4 ՜&*?&j*,.6V9oC%)%=c}"Fן4Sq1.*: No.֡,25J./Ϣ00O l-y"-ʣ,%=OmȤ*)(4R!/ƥ*)!KOj*Ҧ!$$Di#ǧ$#=Wv Iʨ8 M!Y#{&Ʃ57(M@vBA <] }-<̫! 1+]}!P֬6'<^".G GT'-Į3 &G(d%1#5 *?'j$'3߰J>^%+ñ "!3AUEDݲ'"Jxe޳}z# 21:dM/87V'(?߶.KN2$ͷZ8M#Ƹ%7'&_,-! 6$[+zĺ!?#SwJ=2=Q2B¼7==<{A3&O-v&˾! )BG"ʿ94#5X$!.G2`$ %!&9)`-&#JZ%oh>'fP91!*S>~?z#x-D>1N!8/Z 65NgyfK_L]. ! 992s<;G(g ! ' ! ]&C1jD=E<e08K KX'? -(0V$E0#)A&k!\%$(JbsG9X/o.)) "C4]&+*(F90L43'BUj)6)!6K *01U:N!24]Gd] ! UhdU#NyU6+Kw*/+/ EPf//,&D9k*-@-W@8K8KK1+!M.i(T2*2]3 )+9*e51$!&,H<uU!F*:q0u#r=7C*TnZ[dzEc%o9#3!Wy::[ #i=/%Aa1ICDA%[!*MJMGI.Kx?#%(4N2I0E_:}1(&/:+j-+@<18n560,M2z?7BW,'6+&+R6~?)27R/!'(+QT-=#2!V5x)%./-0].6#+3J6~+')  3AT"( -. =AG:O'f&?%3LY0).m4Z&;%b#BCK3VvMR];K*8Mc*$*"@<c8 $"&Bi*5.0L4}8A6- 2d 8 2 2 ! 86 ! 1o ! < ! 2 ! > 5P > ) 0 " C ] x % "   - "M !p  % % k kdkR<' 4HJ}!X(Cl|' +!1B`}5- > J Vdf#  ! -182jR  5K>LZ=2Ip;KXB=P*D$['$'& &3.Z*+2&247(l j; l !0! O!p!!!%!-!*"*@";k"%"0"7";6#;r#/#K#K*$3v$$$>$3%6B%3y%%C%)&Z9&}&9'\L''v,(A(Q(17)i)B)L,*`y*]*d8+>+;+B,M[,Q,P,L-E-A.RT.9.N.50/Mf/7/B/E/0u09061F1>2O2923F3M3x.4F4F4N55Q55Sw66On7M7[ 8^h8O8I9Aa9>9>9@!:|b:S:K3;T;F;M<Pi<:<G<4==:r>5>Z>(>?&g?c?{?8n@N@ @+A8.ACgAA)A0A B9$B\^BrB;.CJjCnC/$D8TD)DDGDQEcE$}E$EE*EI ! FITF F6F%FG(9G(bG/G2G"G"H 4HUH ! oHzH$HH8H I(I@Nt=OO9OM P&ZP>PPP"P'QK,Q<xQrQ#(RALRRR6RR[RVSO\S8SIS>/T1nT\TvTZtUlU=[WVWPWXBXVXlXF_Y7Y\YZ;ZhZ>ZV>[R[a[,J\0w\@\O\I9]P]]^Y_C``davb@bbb,b,cAc>Ucc!ccc?dBBddqd*e2fAg=Pg8gDg8 hYEh9hBh9i-Vi@i1iJiWBjBj7j9kOkgkH9lGlNl8m=Rm=mGm<nlSn]ndoLoNop57pkmpWpV1qFqJqVrUqrKrlsxsvsApt\tu_uhucfvrvy=w]w}xcxWxlOyoyW,zBzyzsA{P{o|Ov|~|ZE}n}[~Fk~K~L~YKn]\rEπ?/UC>Ɂ<"E h@v05HFg)e؃Q>sn{s܆l~}}CXPDfU(sq p"FB\(NӔ_"Ufؕ]?nK \X"#ؗerb!՘.;&b2z%˙-!A1Y5>(w)<>ޛT[r?Μ-+<-h5̝+=.Ml]A`Z@^?[9&AfX F8'?`:8ۢ86M19\*5+GJsB!>#!bU0ڦR q^*Ч-,)+V_BA%8gCAC&Jj=F7:Lr?8R8;LǬV<kB?b+6:Ů<;=@y=u"n&CA(>,g@Xձ+.HZ98ݲBCYZWSP3@شqHMb1R05!f!>Cl-HXL<ZQG61~.:ߺc?~ ߻satռIJ:>Ͻ=aLY8IAJGֿp':rjeH?>Y</:L@I{Dodx+JT 7^8G?@W%<HODG3X=AN692942nC:" 3CLwH1 8?Dx^91V87C?=D}d1'9Y:K45OJIC7^7O0-O}JIEN7P2%P3v1S20Mc<4 @C_EGo1T)) /J4zE9M/B}?CEDs)>(MgE531IeFLDCDDD3W0!C!"7DQ|..9,]f57K2.~JG@@@=(/)EY91, .8.gW('??87:+;E2CJUCVUVF4h4;GpE2+1.]R5LJb7!:GBJ8CR1r,9+$A\f204'8\MO33bg;>,E-r?1(8;,t254 ! <?5|25*9F/0B>$#c*M9>:ye}X<TTTTOSTSSL8JyI9H1f&KP D\=IC)ZmOL=eOCG7R8E IQNEG0Ix>P0RME"W:;Kb\}&C%E*kN,(';4c."C#I'm4/7'2 /Z . 3 K *9 ! #d ! 2 ! C ! 8 ! -8 =f # / C ?< | 9T 7 B R C\E:\!~` ;lQR>MTaTC7,JCH>IiD:FsFNS @]ZEK?B9AJMc534LP*D )EBZ`EBD_a>ISe?Bq:D/FtQ k7 ! lB A N l@!t!K""/n"#"#"L":3#jn#:#0$@E$<$0$/$L$%5q%W%E%\E&@&'&. '':'b'@|'''MU(F(F(;1).m)@)V)$4*,Y*H*,*H*PE+C+r+qM,`,l -5-5-6-<0.!m.I.F.U /Zv/T/Z&0?0,0]0vL1i1E-2Fs232d2WS3x3$4#4R4G,5Mt5G5O ! 6PZ66971777F$8k8=8e8>/9Dn9f9B:3]:!:3:::7";WZ;(;*;&<'-<%U<G{<\<2 =]S=8=$=(>F8>1>K>,>`*?Q?Q?"/@RR@P@S@AJAXA4A4BOBCoBOBFCNJC=C9C&D08DOiD7D#DKEpaE,E3E63F5jF(F.FHFAGQSG;G,G)H.8H+gH2H#H1H.ICKIKINI**JlUJ$JBJ0*K([K*K;K3K&LMFL5LLL2M4JM9MGM4N 6NSWN4N`NRAO1OOHP3PsPkrQQQI0RQzR0R4RR2S7S(S{SbTTMU8UcV.sV)V'V-V@"W,cW'WW%WeWcXQXP9Y>Y.YLYEZ/eZjZ3[+4[R`[Q[P\1V\#\K\(\E!](g]*]A]N]YL^^'^_9_=_I_RH`M`U`]?aaa-a6a=.b~lb*b@cWcfccc=ccd<%dFbdVdOe9PeIeleqAfflg hxhPiiii"i9i/i'-j?UjPj0j/k?Gk,k+kBk5#l8YlJl4l;m%NmPtm^m$n:nN"oqoPo]o2>pPqp@p$qL(q?uq6q]q/Jr'zrGr/rwsdsWs=Ot[t%t^uVnu^u$v1vCv?2wErwHwBx0Dx:ux1xsx0VyCyyjLzJzL{O{D{8'|J`|3|>|6}2U};}.}+}J~;j~0~+~1@5vP.L({k-">1aC/ׁE9M>$ƂD00(a*,Jn-=mڄmH4,"15T/;?(6B_25Շ= &I=p8AE)Co)4݉,+?k)E-64@8`  ! *Ō13"Vk\9!#?)cOOݎ^-zH-P~/mΐ<+T-K ",!O&q; ԒQWGr K3Y2ٔ7 !DfJѕ(J'FrB%4"!W"y+8ȗ9A;'},KҘ(=7f/9Ι6.?@nQ%6'F^&8̛9\?PG05 f8(89?Cy[[\z)\]oDhfjIѦfd q>7=-u.2Ҫ&6,,c*,y9a5fv6u%`Ү23%fLWٯ?1[q:ͰU0^4)ı/J6 ,&ϲ 8VPH.Oo6 ! <A/~',ֵ&,*"W&z+%Ͷ<50f8~65k$;q̸#>b9uX&./-^)Ѻ8h(>Dл1:GULؼ$%'Jr  ̽,,EG7@ž7G>Gο!D;j&- @'a+ I! #Bfw&*32('[%.K.h% 1$-;Rh=-T.1*21A%s",E"@h:V2T4.H!IjSYXb,/?AXBLR*B}CMSRgwFCM!(1i[xC0/I"y$0h&q{e}Cx'(1KCGIs(d_5\1W2<B$<)aJ2 ?).i5aQMY@9:LtKM \[[]Kr]dtIR@QSb9acZbAa_alL.\{\l54,I/#y/*,6%F\+73J5 N:o7decoj9u1FWSFXY:MD]C+MoOI XWGY-R61-%@=}~]Z6z# \:S<96?<>|J5O<78B*@/k1eh3jU}][17=iO'.&NFuVF1Z "@;'M0u9:VYr1[-ZFnL>E^_0I5>@OD/ /&2V'.G1@y8= 8M 1 4 ? ?- ! m ! , ! # ! ^ ! B= L f /4 4d ! D F ]G M F ;:Uv7R2W,5;-)+W6=28+,d46YWWY= 8G+2I9I,5L03+d@1'=+5iL87%]?w?01(:Z:%950Ff@,H;d;;7P#hb. #;_+y.2?/G4w!)2)+.U-d62Zi7( % 3F Ez . = )-!/W!$!g!'".<"k"|"":#]N##'##4 $A$ca$V$_%V|%P%$&:&,K&Xx&4&X'P_'L'M'MK(a((P)h)a9***.*1**'+2R+1+%+2+,,)=,g,H,, ,:-,B-Ho- -K-d%.X.../,5/0b/>/4/G0#O0/s00#0,0%17618n1o1&27>2Sv2B2- 3I;3D3;3%49,4f4^474#5%<5b55:5Q:676K67+7K7h777?7>77:8r8884828-99A9B{9I9@:AI:K: :8:A1;Fs;5;4;D%<3j<=<*<P=/X=-===3=3(>F\>U>'>!?1A?5s?&?&?O?!G@,i@@'@@G@/:A#jA+AA*AB!B7B]QB"B'BB2C JCakC/CCD8*D8cDxD9E'OE3wE?EE(E/F#HF8lFLF%F%G>GN^GNG-GT*H9H3H=HX+I&I2I$I+J</J:lJ6JDJA#KleKWKD*LZoLQL2MLOM6M?M?NKSNENPNb6OEO?OOP\oPBPFQFVQ_Q>QAy-cy4y4y!y=z[zTnzPz'{2<{*o{N{d{YN|X| }2 }@}R}Ec}9}s}TW~8~~XV2<LVLB>6/#k /x*+ӂKK;̓0 S:3„7քASP;D56l?;ˆ=WE*nȇP7AEʈCMTG:<%:b9׊"\,H+ҋB"ADd$*Ό+/#[6s+*+V=3:+/#[>2T .a--C!0/R/,<ߑ_8|E'!#zE)5 );?e Ɣ[&A)hI9ܕ9*)d2>K7 72H/{+7ט6:F&?ř=!C_K]dMt(' Pq#(hޜhG.ߝ"1:T#,5/)Fp*̟(6+Lb!Ѡ6'>2f' }ϡ/M}2BEI=b66IIh<Ƥ. ! @9 z@ Х>ܥ]]yTצ+,AX KRUZ R )D'cY4;<V<Ъg0NC2ë;=2p13׬; ?G:7­8737k64ڮ86H9151!3S=CŰ0 /:1j39б# ! 4.McH!/<%l6Vɳ9 9Z36ȴ:_:gFUID:>4^=Bѷ*6?JvD9&@g!@4==[=$׻5826k38ּ:9J><+2I |4))%#E)i8̿ӿ*$;T q=,I@P*3#0W^7 ! - 8Yt.S-FA:/*Nm0/8 *BGm ))3)KEu-$>\r#1(3!;UZXEHZl,~7*5.2d==%7I['m $ 6WiQmQOnu#4Xu`+2Q#D5z:B==iv`#1'>Y> %7 ! Va*-0-)/WmaWk[Rq0LN>D- >9:x:ND=-&}UTnO`Vmu63=jT?@=1~8* # 06>V8GN<r GC/zhnPUh)ZSA0P T]rQ%gwT`4ipppeQGTgWcrLE#i"hwK{[E#6i<PW.RKL%[rMZbwaM<iOEDOF<!E^M2OGDE]3YQ1MAEEY8PW)MsdC D 9 =' ! e ! f M :9 6t b @ vO p l7ZQHQ?Wc2bkeTFVS\KNKk;TFH#Wd BpJrA>bV@cdf`IG]Zr[C)`mHWVoGC qR + 3 F$!8k!V!X!>T"M"T"O6#B#d#F.$5u$D$P$`A%J%V%XD&O&?&7-'Ee'?''En(/(E(5*)F`)<)+)K*B\*P*,*R+Vp+0+0+2),.\,B,.,C,AA-g-0-$.&A.Sh..MA/b/`/"S0Kv0X091^U1W1K 2YX2G2+2O&3v3Q4bU4D4^4,\5J5453 67=6/u6(6n68=74v797p7V8$99)::[;lD<c<\=\r=/=B=dB>e> ??#@)@&B@7i@^@DAEA[A?NB B?B B.B*CC@C0CKC6D48DmDD.D DDD DEE*E2E);EeEmE~E EEEEEF F F*F;FNFkF FFFFF FF*Gs0GqGaHmxHrHeYI&I>IY%J+J8J8JqKbKDKY7LLLLL_M<uMM!MMENDHNDN=N6OAGO/OOEO>PUP9P4Q+OQ>{QQ-Q2QY+R%R@RDR1SHISFS-ST"T?T4]TUTZTCULU*V;=V<yVCVDV8?W;xWEWQW5LX:XQX8Y6HYIYHYJZ(]ZZO \]\S\D]]W^<^_K_9_7``:9a7tagabIba c]ocwcuEd_dbet~e[eVOfXf?fN?g6gguJh&hhViU4j:j4jjk'k%=k8ck.kkk.k%l-?l&ml/lAl+m2mPm&nmqm(nR0n4nJn>oQBovoK pWppQ[qPqNqJMrRrLrQ8s,sQs7 t=Attyt^yu9u>v[Qv~v/,w/\w4w2w`w)Ux6x6x'x2yNHy|yzVzn{=r{+{5{4|6G|7~|C|P|sK}&}$}P ~>\~A~%~O2S N^UHsJi]qLρ(DE50C5FS,4ǃZ.W8?-W-qL6D{CIE08V1P-M?n>Sg6i7U؊D.IsHH:O00qQ^M=K<TlݎWJ@FM*\x[Ր:1AlFEI;<6’=O7;FÓN ! 8Y4*ǔ$F4^+YD6^77͖67<9t5>>#;b91ؘH ! 0S@Bř7D@++1ݚ.A>P2ћ!V&} 35i03MAN0C=t=AO2+TG )h4!Ǥ&w(FH<A8~LLLQLZZF?) b+K=ک43ME1Ǫ^@XdȬ%-!S%uX+F Fg[( ! G3-{4Pޯ@/Np9'+!4M{130<d40ֲh5p'/γIAHL1״9 8C|<J;MYԶW.^>($<M,@aZVw+ι25-cFGһhMOѼ2!2TV=޽#;7_[1X%<~[4=LKK@"c8yJsqq}HaXO#<snVPv]PX=EPM6oil^nL:TOJ, wQ.D.Ys8UI\h4;D+94B?^.0>Z=Q82@WsAF {T7M0VG>1:@4{41D6\12#@+XlNAV-o1:D=<^G_f^Q%MwJ[OlQVYJ4 H$mE}#<1nY@GH@6/:8 s.&' =4?rA8#-QoQPN2 NKI=K8@ 2M< F5%e[V_)RU~20-CTs6(( '4:\7._@^SaFU<G@!SbRL VVLJSE1lP8M79;IN:9I`6}CEH>* <>5O9=RP>gF/5JSJ!r*Wnud>;;U;;W 'aeY=]>79JLBV&}BFCG>$261iNKOPJM999s[! Q+S}WO)Ly+55(0^>/.9-:g48FUW)=H T^ ) 0 " ! 71 ! %i ! 6 ! ? ! C .J :y * 3   4 5 4 / -O @}  / /B3,v23- !  8<YgFUENQa<[WY6ry_}WV5NIH%)n(,=],6"Q*NJyL4,:aG?R$>w>LNB'6<-c`Yw<J*MHc+ - _ r!B!)!!>"(R"@{"["#8#%X##~##Y#f$-}$$$$ $!%"5%"X%${%$%0%%&2&2O&r&k&_a'6'='/6(>f(9(w(sW)K)P*gh*M*v+G+[+<9,Av,,j-O.1k.L.g.cR/9/4/7%0L]00J0J 18X121Z12=52(s2&2D2J30S3w3_3J\404J40#5HT525H526]L6G6H62;7bn7}7iO88g>992):A\:2:2:0;K5;;;;%;%<E'<Tm<'<B<Q-=R=Q=Z$>6>Y>5?PF?F?4?@B)B(BBCGC #DDDtcD9DE\ECFF>FLFOG1fG5G}G&LH5sHYH0I24IOgI?IBI(:J,cJ/JHJD K$NKQsK*KHK+9LDeL@LLBMFM8_M5MM(MN)(N?RN5N@ND O1NO@OROP?PBP8Q2SQ2Q,QQ/Q4(R/]RFRSRF(SFoS-SYS]>TYT1T5(U.^UYUHU)0V)ZVYVV6V64W,kWWNWGWGX,]X*X9X/X<Y2\Y/Y/Y4Y>$ZcZ2Z4Z.Z<[^W[*[c[zE\\I]E]^L^^<__$`aRb#cF'd;neleNfSff:frf=hg(ggWg"_k1kDkDlZZl7lwlPemOmwnH~n[nG#o8ko@o:oC pmdpap~4q]qdravrXro1sLsMsx:KW>>Xպ@.WoǻI^=>0%V'p1#ʽ[`J(CԾ>;WBֿID7P|FJC_FJM5FIUKjCM%Hn.-6#3Au# )H@`T5g/,$G.gv+d ! qodmc@6&w >?6>6u$'1/9-9L7t73fkO."QiUBn=2E0x^&S/Y,? ! J3/FOF<8SF3/S0*'*2!R7t+-+K2~)! $ ! 8/8h'*4AC7-@*,3W'P%F*q%<?I-w@$';'V<~V+D>2.. +54a,%&>4O)3>/!-Q,1T3 PMq#?1#U2q#KB*Wk#z_ ! #jSH/+#[5,E(H;q+%=M==)$40M@~KL+/x!"9L'`t))r)x8mucntGM3' t5C5?$9d\=;9bu2d Tp$J35%iN8(!@bCN,NM{5/9/Qi1;0)8Z]"%#:"^B;A]3z(5# /1.a%=c*XD-A;V-59A0.r2.q.o>9 ' 4 4 ! M ! %i !  ! 9]   = IY Z 4 H33|()q.u|!*IN;;>-13/e'2Q.B'q,+1'$Lsl;8@Uj,'.?VqaMj%AK<1>v>A\,c'D! S@%K$ 82&k!(93,K(x.FSL8HNU(& dO V  !!!7!V!u! !0!I!'" ="-^""+""K"1#0H#)y#4#Q#A*$=l$$5$@$%=%3c%W%:%*&3F&Tz&d&>4'7s'>'D'7/(]g(?(>)HD)P))Bj*'***0+*1++\+%+,+(+3,8,V,q,,",,,-.%-3T-6- -G-"(.'K.gs.7.7/@K/3/$///(0/>0n0<0800(12>1q1 1G1q1^2F|2/22e ! 3%p3 30333*4;41S4F4D4)5;5'Q5My5 5D5-6L65k6$6/6B6197k7 ~7$7;78%8)?8*i8+8=8p8Mo989C9E::=:>:::38; l;4;1;=;:2<3m<2<A<+=zB=X=2>%I>Fo>4>*>;?tR?(?h?Y@'y@8@>@9A`SA.AMA31BzeB BCC40CDeC2C2CED8VD2D3DD&ED8E1}E;EJE(6Fr_F?FG9+GYeG=G=G=;H=yHKH:IF>IAI>IEJrLJ*J&J+K,=KjK'K@K*KYLIoLELSLSM.kMYMEM9:NPtNBN+O54O7jO;OO!lPPxQHQCQK%RFqRSgDT TT>uULU7Ve9VPV&VKW:cW WLW< X0IXBzXDX:YW=Y!YyYI1Z:{ZJZ;["=[!`[ [8[N[,\0E\Uv\4\+]<-][j]"]U]r?^0^H^I,_hv__=_46`Gk`W`\ ayha=aI bWjbVb~cVcPcV@d;dXdi,e:ebed4f/fffSfSLgIggEh@Gh:hhBhNiGfiLi9i'5j@]jDjCj;'kUck9kk l'l+=lill@lll$m5:m5pm5m(m4n7:n2rnPn:n_1o4o(oKo5;pqp1pppppq/'qWqlqq1qqq9q,r?rRrqrrrrr!rr!s8s!OsqssssFs7tlStktG,u0tu]uNv>Rv:v'vKvU@w\wwxxxx ! y, y>My.y5y(yGzbz'}zz,z=z\+{0{0{+{|!5|"W|z|||||}5}T}n}}}1}}1~F~f~~~ ~~~59o&16%J\&/΀+,*JW0)Ӂ##!BE1 $ۂ&&')N)xA2NKf---N<54~Au>8L/<|68:)=d@K1/7a./ȉ:$3)XA/Ċ?34Fh;::&5a99ь9 6E.|kǍ33K6CM$H8m3Oڏ *CKCAӐA<W<?ёm(5RCo993'[qz# ! . D5e04̕4461k1;('VP[<A@D'ǘ+*-F8tU#$3ԛRn[#ʜ3"!8EZ<^ݝo<F&Hc_raҟe4'5 J?CFMʡA6ZZK$?ˣ Ryw>DKZuD!ܧA"-[Pɨ;Y=]H%QAwBѪ^+BPͫ7>V8QάH Ji2(U+f3iƮL0R}.Я990Q,[$ @0?q?=1/.a38IJ": 0[8&ųXME+<1.IN%A=B>.<J;83tEI=83v7G#*2N)IDZ:,>ºGOI5&ϻ*2!;TG_ؼ-8Tf9uHk497#>[@/ۿR Q^NL<L,8W+G"s[XEK.6..&,U(\4,=ZjWJChMHxd>QOnI(,1(^,!0:;I4e'(Ev1(W)+H*t884IFE+2C57y)-' (1Z8y4*5-7c{\ZZj8K3.'\ ! '@2<s1-%!65X%-9>8[D>CH\B=A&;h@;@!:bKEc/.334F4{SU^ZPQ ! W\O;XB>x KGO)c%8Qc}!"4>Ks5j4`/Q17I=:N;I1]27H\(/K)`999G8K_O,\|W31eDz6B>yX;kM?z]tNh!.3*|EWjEWZNcJX~V}:S$666!6X778888q8888U888898r6666P6676-6d668 8B8{866$6[666676n6677K5667'7_6666<9s556 &P Lw h D- ! yr !  ! ( W. \ F 3* !^ H ; 2 +8 ]d : = ^;F@/"1R$!JP0B'/**G)r**)KARDA,9E@@@j,sUD;RHIb=I4{q>G1>*GiF(9![/s6!]/Z"/8A6=x-.F'Z'-0] ,g='+'& bN 6 C 1,!^!E|!N!;")M"1w"#""+"G#4`###5#@#-0$O^$J$=$+7%7c%+%%'%% &'2&=Z&=&&2&-&'CT''H'^'[U(<(M(R<)a)8)5**n`*:*2 ! +6=+6t+D+6+@',;h,@,7,7-AU-7-9-; .7E.8}.F.7.F5/V|/</C0?T0B0H0C 1<d1C1]1HC2<2?2< 3<F373G3C4WG4l4h 5Uu5Z5%&6GL6G616,75;7q77V7K7GC8,886859N;959Q9D:9W:3:1:/:;';/c;;;4;-<02<Bc<$<<C<-=3?=@s=R=M>*U>.>/>(>?#@F!A>hAAA(A:B9IBEB:BC5C'QC!yCC(C+C&D+7D$cDFDND+EHJE6E?E7 ! FBF<F]G0`GYG.G`Ho{HoH3[I;I<IDJ4MJAJ<JMKOK,iKKK/K9K/)L!YLU{LSLS%MyMMXM>M]/N]N_NVKOO'O9O0P3LP9P0P0P/QMLQJQ&Q- R@:R"{R"R;R<RI:S#SSRS)T;T;MT?TeT/UQ?UUFUdU ZV2{V.V]V&;W:bWWHW[X bX'XX+X%X,Y&HYoY} ZLZLZ?#[;c[<[-[1 ! \+<\Ih\T\_]5g]A]i]MI^H^^Du_>_x_?r`R`aEaN#bvrbzbFdcGcac6UdIdVd-ekeDfW^f`fg%gg>}hUh9iWLiKiNiH?jkj^jSkFkR*lf}lOlc4mvm7niGnFnlneomoZmp(ppGqBqGro^rrWksrsj6tDtYt7@uxuuv wRwowDnxpxR$y`wyy]z9z. {CO{n{C|9F|H|!|(|j}}U~rW~U~h BX%%fK4_^FY:^lE`Lg4[*%*E &R*y*pυ+@/l6IӆI-g"78+)4U"-Ĉ ^Kr%,9..h?׊7R.0-))W:WJ$5ZY=?5}C4),EV5\ҏ;/=k>Av*EEh-xnW mcJєC9O}H͕7EN>RӖ&4<Xq1ʗ=,W5JGKMNSC<)6-\Ll2ћ n&9?ϜB(R.{`K fWAno<$ȟK19 ky*h[oˡE</?l67u]` )l8OϤG)gH3ڥKMZDD<2o &GYx1(٬@+CCo68-#;Q_;h)2,ů+)>H1v˰NBbAF6C}E@8H@K³b`qlҴN?Jbٵn<H24'6\*?EID=f̸$3hXkP-~49Ǻ $">G,W* n6S=н@GO)-OY?6ǿ5T4SiYGsGv gbSkTM*bA5_He==B*;mN7A0fr6K%7q-O '+H't'%17T ! hxswdHG8RL?+B #N?r?"P+fMA.".Q! ! 9$Q.v3+FHc$#E+;0gG';IDHGG6gn '-9<g**K;F=BN=RFHB FcDC!EeAJ"em7. J:8;-J=| nJ9@Xz$$+0I%z;. NUQZV[__TSmI`S2>Qq0/F$Ok;18)<bHAK*LvCECM;)^BuW=!N*p?633F2z:,M!c"5M#,!Pjr,O ! QZ+S*,>WA64XD=!'-%*S@~%2@.Y;=4.74f#'H0lL'6t3Z::-u/?o-:BDTA/- &9`3(G?pD7@->n6C:(3c.B Fkem=_27,(d5Gw8-=&5dGO'2<ZZU2H 6{ F M ;G ! S ! G ! X Ax l ;' Lc < M ^; ? 6 oQ3'/iFRAPEG QEQ7}V0^cd1]X1ra'#AK&'^"^.(3WB,i4G@5B=x#4'a7&*D0CuCCDACAB AO/OU@gu? =^ ( - U WI![!_!Q]"W"I#aQ#Y#V $4d$$$-$0$'%;E%G%,%Y%XP&X&='<@'<}'0'J'_6(2(U(K)"k)1)!)4)-*-E*As*A* *#+7<+(t++$+=+? ,8`,),x,/<->l-E-J-8<.!u...'.).+/%D/,j/*/=/L0EM0I0B0h 1i1V1NJ222S3>334tQ4}4D59b5858565%61[606L6; 79G787?727U-8=8'8F8;090l969H9=:?[:):(:3:;"; ^;E;O;H<F^<A<</=/6=&f=#=2=7=,>MI>;>J>0?>O?-?>?8?@4@Su@J@3A/HA'xA>A#AABTEB>B9B0CQDCOCMC<4D qDGD6D]DP\EEEE8F<IF3F>F%FXGLxGLGJH,]H0HHHIINIJlIIAI< JJJYJ0kJ$J2JJ3K?CK*K+K;K<L,SL L<LL&L5M(FM*oMgMIN5LN6N@N!NO^9OWOHO09P'jPPPeP2)Q\QoQKQQQ(Q7R'SRE{R?R)S9+S eSBS@SM ! T6XT-TTU"V&V6BV$yV=V*VAWJIWFW*WXX;X)X5YLDYY2YY*Y&*Z\QZ&ZZ+ZV [<w[[[S\8\:\+#]1O]1]1]]H^I^7a^h^3_X6_V_Y_V@`2`6`GaKIa@a-ab""b'Eb mb'bbz7cIccEd<Zd=d=d<egPeCeCe@@fgfHf~2g]g+h;h!hj\,jJjJjIkIik3kZk(Bl3kl9lAlHmHdm,m(mAnVEnBn.nLoG[o%o<opKpDp.'qNVqCqXq,BrorOuspsh6tdtcuIhuUuSv'\v#vLv`v;VwDwBw0xWKxx<+yWhy\y&zDzaazz2zY {e{{?| A|3N|)|6|U|09}^j}3}c}7a~8~ ~o~IcII,ADnok#Gzׁ_R>"44I ~K:M&t<:P!8:,!Nj#3=ކ7YTP::Ss3(و,)/?YBA܉LK3W̋Q$2v6O60Zg@0K4Iʎ7K"NnAGQGL5F6&}Eđ8 ! 9C*}>:":AF|Ód 5ɕ'0M@c'R3m'?ɗ> 3HM|(ʘEZ91LƙA?UZiaZ'LH12z<6E!>g@:j"^ SWӟ++:WDGנDDdDFN52?@>8Dw!ޣ=B7;z@?*7@bB5>?[?Gۦ(#MLSZZIbjorutXͪV߫h|~4Lٲe~t~wEC>IK̶=CV:@շB6>yBA<=z:Gҹ?GZ:+ݺD AN@FѻCD\B?($Mk*/=H#4l//Ѿ0D2bw0ڿ d$;#7_/h;OO/; cGWXKu)($2;W2)3Z$3 4: 4D)y_B5F)|:DF& mOO7.1fa39.;hJK0;JlZB[U+&OTq.1N5O01,/-E-s#3-*')R,|-(),*,W&#""'==-{=,,*A*l)%'*.:,i&)4$&A+h-(0 <:\;:0I?EgV7aSIDRO&1-X1)%%(*SI8G1.-j1:`lF5,b )$ @}WNS$sx=@*kZ Qdy0Ye#bBU/GmC;@\O}mTR@Gcz?s@.UoNLrac`8@eD@>PA4W20C@4uCk=q&gBEaRd;<Ex`@k"_X`GM=e41-).$<S;*:,2(_53|o ! QqWbc|Ne/?v^^~P].< @] @  F ! o ! /8 Bh E  _~ ^ R= X A 1+]E'BXkPD7:9\tSZ%X^hlW4aRHA`N7:Wr=KlT^= S^Cb|g#QX>6|up%cLMF$k[ peX!R%"x"L"IH#F#L#&$%e%Zc&&tS''W((u)G)C*;+bW+d+k,V,@,#--q.j///]/0=00t111:162Z<2=2234G44R5^5w?665E7f{7J7M-8m{8Z8D9@9u:f{:G:]*;d;,;h<W<A<C=ha===>>6>> ?.?Z?<X@H@E@$A$7AA\AoABd-B[BCBI2C3|CkCQD>nD6D&D1 E4=E5rE+E!E3E2*F*]F4F/F1F\GH|G_GZ%H%H\H$I9(I8bI;I9IoJ(J6JJ:aK@K5K1L@ELKL+L+L5*MH`MnMsNCN1N"OZ%OaO6O;PFUP;P@PKQAeQHQbQ!SRIuRFR?S^FSDS4STIee9f9Af&{f&f5f(f9(gbg/~gg%g<g#1hwUhh-h*i;@i|i.i+i-i/jLKj,j1j$jPkKmk,kDk*+lRVlRlBl5?m;um1mm(nI,nFvn'nJnI0o&zooOYpppppD ! q$Oq/tq@q.qrK1r.}r2rrrsDs$`s/ssss#t2tMtRlt3t9t-u:=uixuu/vD2v4wv$v4vRwOYwLwCw/:xjx!x-x1x8 yEy+\yy!yy2yJzJ_z6zGzW){&{9{6{3|3M|'|.|'|!};"}^}Cw}?}}~=8~<v~*~M~H,HuHHP$b('8؀8$JEo$ځsC6WG1փI$RwEڄ{<7&t>Vچ&1-XK҇~QfH K")n(%0,jEB>:27m#BɋG =T-7)$"G;^()Í'n,3&0 %=1c3%ɏ,%EB%0(ߐ.47@l+4ّ3+B9nPŒG;^6Dѓ=T)" ;C;U G&h$#vؖvO}Ɨ~D-ØL!>-`"])K9,;`NO#=›;)<fo{E*_%N3(3\*{UO&e<7ɠ@aB2&ס(&'NmM?7D?|*CPb*JޤJ)+t68ץw7D?%E:k6ݧ<FP'"x5Mѩ=(]$H:N/~{y _LR0ALŭ1>D?0î/G$0l/ͯMo'Ӱ%!8SKl/ұ,!/)Q"{.1Ͳ--?L5S³[QrĴWDoS 6`>rV\ɷr&>UI_NrJJݼQ(JzuŽ^;4Ͼ4QFXͿ&nv#`_*[T\o8|g%[xVb^IsbgT>-@3Y68do.,u&A*hOL@0Fq@+=%8c/&9O-)}s8QTgggvfpErW)_WW9WWcAcC AM@C+K@;$lEZ;Te:1b)DM56U:=hInD\KZdN XZVHSkf_h^/tNKY*HC{X}Xdpf.JX^9Xd[Vr%bP S\OD^EEEF0>w/<?#;c(tK]KVLO24G.KKzkF2RyRREr33, cMG5+}PQRLTPJE:/2A.$p-*XsG+%L <ZA=LIdDa>U9J"/<5lV)C#lg]322fDDM#=qe4@J;AC .M|\OZRtIr.O;;Ew8@h7V6D.$sn24ngE7q<W > i a= ! . ! + ! C ! j> > 6 9 0Y #  ,A <n . A %TBJGJ*=ua*T@@HH$h.V=BQ~cZwG)D6A AbO\AQK?]E}k/GTmS ! W^C_fZ/R`D_KQQJ7Q&nxCC+KoJE ]L  m?!_!7 "LE":"("O"NF#:#(#4#p.$Q$7$\)%N%8%Z&;i&E&h&7T'>'o'+;(&g()(H(!)/#)WS)g)?*hS*i*4&+[[+P+K,kT,o,:0-ik-0-_.Cf.,.E.L/9j/H///F0Bd0:0c0fF1R1C21D2Iv2d2C%3Ri3q38.4Gg4C404A$5=f5d5d 6On646G69;7;u7A7B7H68U8i8Z?9O9o9^Z:;:N:WD;I;T;w;<_<[=*o=;=J=P!>r>@?B\?L?d?*Q@T|@(@/@*A`2AXAAB}CIg^e^ _&_9_N_^_ ! ~____Z_`B$`Gg`}`@-aDna+a,a+ bD8b"}bMbhbXWcEc5c/,dW\d=d7di*eQeQe?8fDxf8f0fe'gVgIgG.h(vhKh>hP*iJ{iBi< j\Fjdj]k\fkYksl:l5l6m?9m7ymmm3mnkn9 o:GoDoSo7p4SpVpJp5*q5`qqq*r)3rM]r'r&r+r&sLs/t@0tOqtOt:u+Luxu4vBCv=v7v8vD5w.zw.w/w/xE8xP~x.x!xA yAbySyBy=;z4yzfzF{=\{?{={B|<[||A|D|U%}`{}}3}1/~0a~8~H~B?W9A2&F'm(1*+&G.n00΁88Oef}& 7"*Z&]% ! *0[v.-Ä-1DQGiޅWHD@c&ICԇFb_dˆW'A]@H`lF ]k%{'"ɋ@|-B4!"D^_>8!6SX6I4-3bG1ޏE3V6=E,EBrCF;@7|PW]P}sΓBB(I: 3TtE ԕ2'( P<]  =Ȗ31:0l0@Η<7L5AYFV29ЙH ! FS>;ٚ0@F=śzbDݜG".jX#5FLDC؞4+Q=}:4E+?q"Ԡ:$-0RK#%Z6>)Т =@Y\<E4LzGǤK=[_=%7].|1rݦPsѧzE{I{ũA|˪tHu@v-5D@4T5LE2.Ű%-(H9qfJ,]0U5*G>r5157'Z_78,+CXA޶T$JyJķ '0'X)0B۸&ECc4'7VL.EҺ00I9zB3)+@U6;ͼ! X+?dĽ )97)q87Ծ3 @[uH2ؿ3 7?UwJ46M3;=2NHl?./$)T#~G", 3:n,[,# P0Z7%='9P#6Z7u4/?0R..b^]0=U+"/?0|p&qhzjtybc@ ! U/`@+<0:Ak.50%AV*<@WA/789:Ct/#R Z_f4!,V053-YLkJu]U])I\D.Ks#5.*F2qR_.W4>:952o\-+-/Y(UR8[;!.8!Z/u0<@!Tv"!#-05'f,-)-Hc{+,;08;i;=;;[;;;/K8{/-,A(n(>HZ sO(2+-)Y62+.4H*}+63 ?\1y;,!DJ9$D0',G-t56<@L891<2%o, /31Qe1Z?D<A'5<&r&!4<Q*)\[ldC'="['~"67K!'<IJ,D2\j/@>?JZ.<1>P2 "65=Js.56#,ZL.$0(sYp<>A{c3!4U4@6N7^@ %LMrT*-@Gn;<</;l>=G%-m$0>,%k>:1 ,=6j1hQ<_\ 0s 1 > < !  R ! +s !  ! L !  ! " <A <~ 8 7 :, *g  M ? M= M ] D7T|>tX>  )5 T^So;9K9DH96M6P@ {MD;?J<@ILRqa3sIZ\L9^2BLuV::T<.?F;9A_?^0QO!Pq<<(<,e*@7>6=u7:b&^QO: h l =`!~!"5"-"4#29#8l#:#`#/A$<q$4$.$0%NC%K%5%/&=D&H&9&H'AN'6'I'L(F^(A(,(4)II).)h)K+*Jw*E*!+X*+U+M+}',s,A-7[-?-,-=.5>.Bt.._h/L/B0>X0=0704 1VB1H1?1i"2626232O.3>~3-363E"4%h4)4=4L4)C5Bm5"5!55-6.B6+q6<6Y6D47%y797=7S88k888B88 97Y959.9<9<3:9p:?:@:?+;ak;S;e!<*<3<R<&9='`=U=Q=Q0>6>1>">0?"??"b?O?>?>@7S@+@9@*@.A-KAvyA>A5/B eB2B'B0B,C,?C7lC9CBCE!DSgD\DtE=EIEIF6_F,FVF8GBSGDGAGRHpH/H:HUHMNI!I)I)I^J8qJ8J6J'KLBK:K:KQL8WLRLBL?&M?fM7MFMS%NSyN<N: ! ODEONOSO*-P-XPJP$P'P+QXJQ<Q'QER9NR9R0R R:SYOS5S0S3T1DT.vT/T+T)U&+U*RU<}UAUHUEEV;VHV3WDW1cWGW7W9X3OX!X%XFXNY-aYNY:Y6ZBPZ9ZVZ#$[4H[(}[<[Z[4>\%s\1\/\9\A5]9w]V]s^8|^&^I^*&_Q_+p_N_N_$:`%_`$``'`%`a9,afa~aa#a1a0b9Eb;bMb= c3Gc4{ccc6d!dDd(e)*eBTe ee<e<e,3f-`ffWf%fg59g6og3gg+gA"hDdh9hh1h/*iFZiIi#iejIuj@jIk0JkR{k)kk(l<>l9{l6l:l 'mHmUgmjm&(n"Onrn4n(nn1oM8oKo9oH pGUp@p=pIqIfqVq0r`8rjrEsDJsgssGtCVtt/t0tuE.u"tu&uu6?v!vvPv,vRw.iw1wPwLxJhxFxxiy*y.yFy2 z9Sz4zz1zJ {6W{/{0{ {3|@D| |H||5}"E}h}6}1}H}Y9~l~RRS2F];?* %K@q5.+/C6s@GG33{7*7/J(z$`Ȅ7)LaKkfw1&1X1Y)/@p>TʈR[r:Ή9 1CBu>"J;e2Oԋ$$:I5$<ߌA9^a1N,L{JȎ;0O1+Џ12.Aa16Ր= PJT3D$Vij+K/iF): ! E3a7:͔4/=1mL82%1X9>Ė>GB04H)9'cG*ӘMOLKT:=Cxl+)@UNUb;_R'QyE*dEF=8=vBW.Ow~/F&^mP̡I'g0<#8!ZZWF ^T2K/2:bE>4"CWD0<%N8t?4#";F41I-3<a8+ש')+#U3y2ʪ= ; GASO1X&p61ά==>:|=ҭ(!9 [3|E̮:0M.~9Cr+<[8VWK<3p2FC/@<p\2 ! '=%e-3> ,88"q ! XY ! Dd8'! ! ),V0tW?U=m+2-G`9.A/S88ѺA ! KL@Oٻ#)3M,,'ۼ#j'&!6۽A7T77ľ2./F^,'ҿk&f%@J3?csPU(N~J3.LW{9 !=_)y&? ! ;(9d72B 3L119HKgIR/Pf%Q ;_9@7gN"2G 5T@108.[g=[6]iithVN4O/)P-T~>8QK[9<3=pU3.8Hgo* KZ>sMC2D5w+@2-ME{(C;.3j$-(,OG2;R=Y?$/D(^rY~9($;)`#)PG)#q#sK-Wy-.<fkCSj.$4S@7"8$0]MK/(0X*%" 2,(_(7  ! * Jk+#?YmtC&'>)f)<([ C|$R80LH}**5R+n*&18BW:++@-7n$-##B#f*  !/'F n|0 'I@'\*J*u <2S&PXGC0L!a$5).97FqV c0;0@DB82<<PIs8K#$7 3:3n%rZAl<E@1r &:5#0LT &)01,b-)<U$sz (bID'*<Q/`F\4)RB|HB1K7}KLCj\= SI&459/Ii+\5<_r5=@FT3;;LH%7'/ 3W 4  ! A 4+ ! ` ! | ! < ! & !  ! = 0E v  Y C CS : - S 2T 8 . / 0/P/1( +G)a22  <+Z ,'=WQf1 Kl{:'7'F(n%-= C%d9<>5Pt'6E!\"~]%)%O@`2a.Hw$2 D#Kh06,.%[B(w)#*H 2i"@(U~KR03?2W2= 0* [ q   .!A!T!c!y!!!!!A!"%"H"a"'"%"5"C#H#^#3o#3##$#:$M$*i$*$$($8%:%(X%%%%)%% &$!&F&U&j&&A&&&3'=F'%''''#'"(/;(k((((C(" ! )-)A)S)-l))))) ))*=*&R*y*****-+43+h+++&+4+2 ,<,Y,r,,%,*,,--/4-d-}-%-#--<-&.!E.g.H}.G./)/A/'^/*////0040I0g0#}0*00001.1jL1?1I1EA212-2C2+3W3]4Wc444W4.H5!w5>5B5`6i|636871S73737:7:(87c8/8W89#9:]9D949N:8a:F:j:3L;1;-;B;q#<I<8<=u=v>4>(>\>1M?c?D?4(@F]@4@R@J,ARwA4AATB+rBBYB/C:?C!zCTCHC0:DkDED=DkE/oE+E3E)E)F7AF>yF>F$F)G*FG"qG.G%G#G% H23H-fH6H)H(H+I<JICIAI8 J,FJ9sJSJXK1ZKZKZKUBLLAL@L@1MrM5M4M6M60N7gNN N/N>N25O'hO'O O#O7O25P\hPPP ! PPQ6QSQqQ)Q)QKQ(#RLR6lRGRKR:7S rSSSSS#S7T VT,wTOTVTBKU9U0UHUBV_VuVCVKV?W%]W:W6W9W//XI_X3X#X1Y?3YsY/Y7Y$Y* Z:KZ(Z;Z7Z7#[6[[4[R[:\&U\M|\ \\V\D7]|]u]M^$`^C^8^__g9_ _O_'_6&`]`Rd`8`,`Xa*va?a>aC b>dbCb6b%c-Dc9rc'c;c)d#:d^d{d!dd/dIdNGeXe8e*(f0Sf;fCfGg(Lg(ug5g%g$g,h,Lh,yh0h'h#h#ii=jj jCjCAkLk>k9lKl-glZlPlCAmLm\mZ/nnn#n+n1o;Go#oJoUosHpTpbqUtqoqx:rXrU sCbsbsX t\btCt0u>4u&su*u7uuJvVvD'wRlw>w>w!=x*_x)x1x'x&yK5y>y(y,y+z#Bz.fz:z>z/{?{H{4|`F|p|0}CI}#}&}A}=~X~Ek~S~$2*;]28A=`07πM1UeA:/NjP~ ! {&.,4[3Ą ! ׄMO09Kbo ! =z"4ۇ'"8![!} !"<6B)y$#ȉ+AZw/"Ê&3,#`7&/&2Y$s5#$&3-Z'1###Gd!$$- ! +8d!!0Ǐ((!Jf:-.@6?wY4CF8(Ò5("(K.tY?9=)wJ@9-GgDHG=(C>:6mq#ߗ-$1.V7//&Do\s̙=@~< SBtqc)CGќ5:O;<ƝGAKPRޞU12JIFONGI-?wqB)ClTZ2`2,ƣ*"5A4wGLgAPPVKTbDZL]TJXTZMHPSB&Iݪ'!E@gȫݫ="]<JB>KZcJI%ZSJi&8ۯXimjװoBOo9r2'߲@PH&.Գ?#CIg<=,B; ~(Bȵ U<r7c]KTAK@C>и=7M, <ӹG8X,ں#"<Pm ! л! !4Vv>& =X_k`˽e, CC);-e>ҿ.VVBB6bm.*6'a%*")1''Y:>HCc1.-A6!xS'7-Ne-33JJY*33g.&)'*R'r244I7)#?8*9c4/?0B.s.5>?F71$<3CpQ<DC8/@V2ghmZMmctu]zZNzc$C0M#hd"=+R;~?VgQe7DW\.J(HsOP J]/#653;i4<*B<b211N6B'-2AQD5A,P6};=2.taaH8D-$71Q0FR9N3767+IcOQDO,4=F4/{R2,1E^21@ DJD@F!\>~((%G5>}E:MP-2*2*4].>jZ:S?HR9/i8!954P'NK-HPvF*'/R,ED+&p;@?-5m.Y@,>mIGX>A'-BZr 3H]r2J_t ! 4Iav5/D_FzF%1BAt"2' ^4~dow!?Yp&7z4j"!''+7S>'$_w111 > ]~9;63J<~01M;l96/4I!~+"&&$=b-4' 4 8U  . ) $ ! 0& ! 'W ! + ! - ! 0 ! , ! H7 - ) .  1 &R .y 4 % 7 9; 5u ( =  3>H4&4=&V}#F?D%^$+/,&2-Y$*.+,2._/5%?:zB62 >:[ =(=:3x863(P'y%0/0(3Y$> $477l4.54>UsU%>*d2*2% F`1$[n3D//G6w+lG(d_P>"Y$|13A I 6] + 6 & &!$E! j!-!(!!! "))"'S"'{"3""B"A4#Bv#2#/#%$*B$Um$<$ %!!%C%"W%z% %!%+%+&+1&+]&+&+&+&+ '+9'+e'+'$''+'()(/R(!((%(5(4)4R)%)!)!)!)*!0*R*%o*!*!*!*!*!+!?+)a+%+;+*+(,+A,<m,",,9,"$-G-$a-0-'-K-6+.b.,..".'.4/(H/q/R/ /$0/'08W020>061D91)~11 121"2*=2h2)2<272%3M:353+3+34314+e4+4)4&4-5!<5^5u5R5M5%36FY6-666 7##75G7&}7-7;7$8*38&^8B8 828<9QY9X9*:/:(J:,s:*:%:":+;N@;:;1; ;6<:T<9<><;=6D=g{=v=,Z>L>L>&!?:H?6?8?<?A0@>r@@;@G ASA1qA"APAFBX^BAB7B.1C3`C:CGC3D?KDKD/D1E19E0kEBE1E3F9EFMFMFEGAaGCG/G=H<UH>HFH-I3FI*zIbI:J:CJ8~J)J?JH!K9jKVKEKAL>[LYL>L-3M(aMAMGM7N/LN*|NNNN'N(!OJO4hOOOO0O3"PVP.mPaPYP:XQ<Q9Q ! R*R6:R.qR8R1R- S-9S8gS3S1S/T-6T:dTT/TT2Uj3UTU,UE VPfVV*VWW$+W)PW.zW4W0W.X,>X'kX&X&X*X) Y+6Y)bY&Y-Y.Y2Z/CZ(sZ&Z,Z,Z,[/J[-z[.[.[.\.5\=d\E\A\I*]Et]|]b7^B^+^* _*4___9x_:_;_0)`>Z`$`q`=0anaca5RbIb\b8/cMhcNc)da/did9d15e6ge4ee/e,fCIf@fKf+gEFgBg!g&gdh]}h4hSi4dii"i&i0i%jEj4bjKjj=k5@kvkk$k#k%k4l4Il~l=ll2l9!m`[mZm^n:vn5nFnW.oCofoy1pp QqDrqq?q+r3CrDwr(r'r. s;Hq/̅+Q(hz;I1,{"ˇ7  >_,}-5؈??N5BĉEIMJTU7?=͋B CNMSC44x>T0A4r<@4%JZD?3*@^RnCaDG-27`N-98O22Q-@<n0ܔ8L54/A2)K\26ۖ/5B/x3;ܗ;%TVz"ј hU~XԙX-v4O2NQћ1#6U6+Ü+6(R%{+̝$>3\99ʞd }5y9?M*A0lAMߡ-GI/.76(?_+"#"F\,p&$Ĥ3<QAj4&@AI"٦<;* ft7#֧C>'X&¨!!%]# $D(i5SȪZ`wDثX*vZ1.YI!(ݮ#"="`F.ʯ)F#ij ԰YTO!4ƱL/HbxL۲S(A|R%(7%`!(%Ѵ+#AyXҵ;d*˶80"'S<{,2(-A,o3и)<$W,|T4+I.u&"˺#==P;SʻK-j?0^J#ڽfZeTXn7Fſ6 C>^K. E8-~7g\LQ(1$V?m27,E[{7b+(!@J441h'<^B,joHY#b}.+*-V,595!4WB ?8]#+V=$]23%1(Z+jA"(,$)Q{(&('EG49//_%{@@I8B4S1k!62;)Be227)F+pp)-#W#{##$! &./U.m=;8y4()3:6n08;,>h=#H 8R$&15 0?<pJ-;&=b=E0$DU3DE(Y''67 PA0B\@c$$)$\=T\3L,XX$0}GH=??}455(R^&45-8c%BKKQ?(<;C=M( 642k=C7 0X7S-.C,r>,D1avU4.<clA =O8^)%-OI}I %.F<u2hvNR!(:-cKQb/^A/3 c,48$5+Z/<= BKC?<O Wcw "pH/x;/M4J6 ! ZAl0 8:JsTPd~#*l2S<+-,*Ju%K?@@6 "8<0Bm[Y+g@.!DCfR>1<Ln]/zI]Y"F|`)$ONJEd/1W G> x S NS !  ! ?@ 5 4  E ,R & ) : : )F *p # 3 , : :[:9> =J>C4 >@4>BS6A@@ ENE;;QR)-7446isI9^>n2f.*_,SR-a6gg.GHj1N042e+@@&Fm:*iumCC'Hk0</" yR  # '!(,!#U!:y!'!"!'!'"1A"1s""O" #3#L#@g#Y#$($]$Z%rx%x%Ad&5&#&@'7A':y'.'*'((-(0V(.(&(<().) H)Ai)H))'*/<*,l*3*S*-!+6O++++^+=D,T,M,_%-#-R-6-@3.?t..).(.'/?8/-x/+/3/+0(200[0!0(0D0F15c1151-1?2.]2"2'22l2p`3u3zG4!494;5%Z535@5?5256Kh6K6.7./7X^7S7R 8R^88C9m9P1:4:):0:\;Vo;T;]<Gy<H<, ! =,7=0d=%=Y=>>5n?1??=o@D@N@ AA_bATABB&ZBqBTBLHC]CTCAHDEDJDcEvEMERDFKFcFkGGoGe#HsHuHYsInIeR>RUSVdSiSh%ThTLTDUN)VzxV0V>$WcW jWwW.WWP6X0X XX*X2Xv2Y}Ys'ZzZj[q[F[::\Du\E\F]NG]3]5]I^NJ^^2^"^^F_L_.\_,_3_3_+ `"L`)o`3`7`PaVVaYaob+wb1bDbVc/qc:c8cMd+cdd3d6dye<eCe<f5Qf+f:fAf0gREg$g.grg _h=h@h9h(9i6biOiMi.7j0fj8j"j,jQ k@rkAk7k:-l"hl'l'l ll-mK2mF~mm%m#n.&n8Un/n3n,n:oZoroo'oouo_p~p"p4p4p"&qIqhq)qq&qq%r:rTr)rr%r4rr s(*sSs%dsssh.t,t,t2t#$u3Hu"|u0uuuuv1vHv'fvvrv?wCYw.wGwTx-ix9x#x@x76y-nyyBy7y&zXz"{6*{9a{C{J{"*| M|\n|:|X}__}P}+~_<~,~~"~<D"YA|VS8iE'5E4{U,03:dY?=9(w;܃=D6G{<Ä=.>Wm6ŅNHK)G_sf+ڇK R s%";݈=MW?==#2a3=ȊC_%yzBI]'ό4C*n".ƍF/v2ǎBގ=!@_O#/<D(D*(!C"eL!ՑN)QxʒΒ !7.M |-<5&?\*-ǔ@!6>XN,/TC75Ж&-,M/z4/ߗ-'=PeQ?$7d+qș::AuFFJE>;ϛ7 VC7.*!/L|`C-<,j/ǞU$7N\B_(NHw1GG:H@ˡ N8G9gZ),&1S"*1Ӥ"&(%Ou =&),D6q0!٦"'0FGwC>BB:<2+0H\4<ک6MN#$+61&h"7ͫ6+<.h4;;'8cGʭV,i")|^`1uPg;5+*.V^5Tno5޳#&'J1r 5Ŵ0",SObõV&}  I޶a(+9?50Hf=QD?;,d/R<!X::=u,* U\ACH*ν1#+9O1RE9TAbпb39X)D<(4(] VUATE+?/H9xA ! (!C1e+28H/2x=* 04/e4**> F_/:=,O5|5((04Y!#""&I!i.:?5S99/9-Dg3HQ)L{ %'3#@W&@"5#Y)nK;K 5l;<-*I"t3!@9.-h/751N?.-96W*+&8 Ea-}'$ J2dPq^0!+M(kY .-/\*+++.+ZMPHE=60 M-n+0Q-K&yD*BDSBACRaQS0Z?DHGYIWYC?1#B3RvRb-FM.`B$>g=..5B(xJA#.?R.U&;><z;1 1;mNVS/F60A2.tC&*,Wow83 TP9:^t:DS:o%32+71c"*^9X $$11/.aA\)/-Y2??A:B|d7$3\66B_A=B"$77\37;8<u++*.4D&y3&#N?F+&.(*W%8<\4{38$R8w4kQQ 4 3   , #F Aj  A E aA K X ^H D G 44 Di = T BA " 0 7  4- 8b ( 6  D L J ad b 1) 0[ 0 0 0 & ! 0F ! %w ! 5 ! 5 ! M 5W 4 5 4 4- _b _ 0" S "q F F C" Cf H $ ) $B %g - * !  7 @T 4 ' < (/ IX + J ? 4Y F * ! /" *R )} 5 v $T /y J ? ?4 %t : ) * 5* @`  9 = -& .T [ : + "F -i ; E F 8` ' * 0 # A Y !u G 3 * I>  / #  . xB   %  =[ N : 6# =Z 4 1 0 A0 ;r / < D! U`! ! =! ( " 34" -h" b" " ( # D6# {# ,# t# S6$ Q$ =$ D% H_% H% % .& 6A& 1x& 2& K& H)' Sr' @' 7( S?( ( ( ( (  ! ) ') C) a) ~) ) ) ) ) * 2* R* o* * * * * * + :+ V+ Cu+ + TU, , n- ^%. [. Y. M:/ 7/ $/ $/ ! 0 7+0 ac0 40 (0 $#1 IH1 K1 K1 K*2 Av2 .2 K2 M33 :3 #3 a3 dB4 `4 c5 Vl5 E5 E 6 dO6 A6 s6 tj7 k7 gK8 S8 P9 bX9 W9 B: NV: +: ): [: .W; ,; /; /; p< B< E< N = 3\= 6= 8= 2> 23> 2f> M> '> )? 19? 1k? 1? 2? 1@ 14@ 1f@ 1@ *@ '@ /A &MA [tA UA _&B mB B O{C CC pD 4D pD &&E 'ME iuE iE iIF (F 2F 2G 2BG MuG OG jH ,~H 0H 'H +I T0I jI `I CQJ NJ .J 6K ;JK @K <K `L eL @L E)M DoM bM 9N XQN N &3O DZO :O DO BP KbP GP AP &8Q K_Q HQ %Q 7R 5RR 2R =R iR cS :S S ?S 5T 1JT 1|T #T T "|U +U 0U .U I+V IuV $V TV 29W ;lW MW RW IX 3jX AX pX =QY PY "Y VZ !ZZ /|Z !Z +Z -Z =([ )f[ ![ %[ &[ %[ -%\ %S\ "y\ 8\ !\ R\ ?J] (] "] ] '] ^ &?^ 2f^ @^ ^ -^ *!_ L_ j_ -_ _ _ _ ` 5"` ;X` *` 1` *` @a (]a a %a $a a ,b $ 2Å = I4 5~ 4 : ~$ & +ʇ 3 3* A^ B C F' Cn E 6 7/ ;g ! .Ŋ / 3$ MX & I͋ ) &A Oh 9 1 9$ #^ G Nʍ B 4\  , 2ڎ @ @N : Aʏ D FQ > =א C CY 7 3Ց ? 1I ={ : 3 6( ;_ I # G )Q :{  $Ք A M< ? ^ʕ >) Mh 0 ; R# 8v ! Dї ? AV Y G D: 0 - *ޙ % 5/ $e   pɚ ): Ad : I \+ B 8˜ , 1 Q p  % ɝ ;ߝ  (1 !Z 4| $ A֞ B )[ g ( $ ; O d 8} 0 $  ( 'A <i A   " 8= 2v 0 [ڢ A6 ?x j -# XQ < g GO 6 7Υ + 2 Q "j ) 2 . 4 6N 6 # ,  5* A` : -ݨ 0 < \ +v ' Oʩ > 1Y  7 4ު 2 BF , % ܫ   8. 4g ( =Ŭ 7 +; 3g / "˭   8 /V ; *®   . O g   &ׯ . ,- 6Z % 5ذ 3 2B $u e  . -K ,y , Ӳ ) $ C "^ '  %Ƴ "  #+ %O Uu ;˴  . )H )r $  9  )4 _^ a ` $ # $ʷ 1 H! *j B &ظ  & +A jm ?ع D >] 6 2Ӻ X X_ 5 ) 4 M 4n = 9 S Co R H CO = @Ѿ N _a N < ;M  2  # ? OG B )  ! & 49 4n ; M 1- B_ B $ ' ! =2 1p I 5 '" iJ :  0 K %c 7 & - . E e ;  : " %; )a  !  * - Y= J A J$ Ao Q H RL C L 0 %P &v . 9 . '5 )] # & \ !/ &Q &x H A <* g 0 + > O >p /  ( 1( -Z > '   /& V m +   1 " !9 v[ J & D ^e C B 6K g U @ . ; T8 [ @ "* M k " $ $ $ ( QD < O A# pe  2 r# b k je 9 A ! =L D H P -i  .   v 3 = a EV N E :1 Gl ~ ~3 0 C &' 3N A 1 V BM 6 5 < : 0X o : 54 ~j ^ IH % A @ .; ,j #  4 ' 08 6i 4 P 8& S_ :  6 q= 8 I 82 Ik  < ( G. ;v } 0 , K / K d q { w~ w #n  : - :< 1w E ( c Q| J < /V A  - , >? ,~ > 4 F 4f F $ 6 /> n 0 /  ^ 0f 8  8 %5 *[ 2 ) 2  < *\ ' 7 E S- # K < .!;L!!&!*/!FZ!:!Q![.!l!m!re!R!r+!!_&!*!)!&!H!AK!m!.!**!KU!5!,!0!!5!MW!O!R!?H !- !r !$) ! !+N ! !`z ! ![ ! !K7 !S !U !E- !*s !+ !? !@ ! !MK ! !6 !$ !!F/!Av!,!/!4!,J!)w!,!A!7!3H!9|!A!!!:0!8k!?!*!(!H8!S!=!8!GL!<!<!G!PV!:!C!H&!@o!!!'!.!+3!d_!,!=!N/!#~!!!A!3!%:!0`!3!A!@!>H!/!!$!8!?+!;k!0!:!,!S@!(!,!! !B !O! c!@m!!2!M!)E![o!3!5!"5!NX!&!(!R!J!'e!*!4!!!} !p !!!j!!&<"!%c"!#"!e"!f#!pz#!l#!X$!$!v%!>w%!T%!, &!W8&!&!)&!,&!9'!;?'!M{'!I'!%(!+9(!&e(!?(!'(!%(!9)!T)!<q)!3)!6)!:*!>T*!F*!;*!7+!>N+!8+!7+!=+!C<,!A,!7,!O,!9J-!D-!:-!4.!;9.!u.!.!".!*.!'/!+*/!+V/!5/!)/!(/!" 0!-.0!)\0!p0!o0!og1!h1!@2!92!@3!c[3!(3!f3!+O4!{4!4!*4!+4!.4!$-5!R5!e5!5!5!&5!5!5!66!BM6!6! 6! d .&24 ! R&V -a/y93R5L72( ! 4k )9u:/- ME!z:G9 ] 2.. 417N<P-,9)7:''$E|8=> #|!+J+18 '22v95*"57N:1!<+D%h$<H 8_! `"*fk ! #5 )/% +M-%v ! D'6L1<##,`p""/)"4x!Q')44:1 ?O3, !(0+!/!98.9),R;! "H ! ;.(%q!!M7"3 A9' |0S @*"z ;,;09'. 17C4/*3<(%48 < (o &t""W4  ! =<O e/ u7"*-c)T #w2+663p-B5" :'!C8Q"/r.*- ! !1 ! 1d#,$3F-l,^:*) 8/q8/:b/05j5s :&<I(t0&)V)-A 1/ !  / &+w2!T A7 (8/ ! 7!R# UM/.%(E7k-A:< A6h$)2+E428 -24Y ! U1+8 2,-. '3%7<./!U_:(v2/i!(*&2K)m'#\E H"{*&,|+[ B6/3*U%D7#2 ZY%^"){0$#: =l5Y$$b%#y16: }D =*7,'P1 9L9!4 (&-p5)(i.+=a: T ;9~9q* # /[29)(,|* ! wH),1:-(*!-@2B,w03T"w^")@- ! A 2o <c<U */6&:*X 5+\eJ+67 ]4 6)iy42 Z:fz#,;+/ 17-"9 A2 b>+`*Mf:Bx7@4X"~,c-%]N,1<V4^6F2 6""B"( <F,k :16 33*v#% 4+E *p9@392k0u <"8&U91Z#314" 3D<6!'f ! .$ 9C3 ! T;Q5O%),+*//3/60 ! ! o7# m04%]-#;67#Q!='=5T(_#~#,c$" ! .$:A.24NF 6+&=;)Y9/9] 1&$'8m5< \/; A9-n9)&$<9 '+6-U-E5a7.;_$"3')L8 XD-+F3"(<<;%/L!r,25zh<&2'~n  ! C*49S c] :"! 77.5z.B,tY ~']-"<""+38<(g;61*m!,(9$ /*.!> H#.i;M,3[t97hV(900$' 3:> ! :#K3 ! Bc0 ' # x! F /6&m92 (86Cl 8+n ! .97, 2C.%/"(&Eo&3v&7:$+ $JI#[$ 4!62_;'( -' v*~-/ )i$&%+"1?%  -Q,!qt,\#K;D>,*'/t7l. ,= K5 57/  (&o. y"-52C6 X ! `6- t9P0<*7O~ 9p2%:e ! - y$/5":2-48 ! xt%+W.79/+7*2, ! d 8V(5v(1*3 2P&0f'8):&#67 f+.3F4V,:y;% 0*9sZ6<&r" 3<0 ! m/-` )7R08<1!g/z<2&@( ! 0\ 71uN014?`%bg 8&+; ! 38f Q9X/|3,</c<*81+W;< .u!0x ! }47,{ 8./ ! ( Y7 ! 1+4 c C(;l3A,~ ! "&^*Y ! P+V '>8 ,8"2j)+V){&5-u.  ! k R''7Z= xq4:9m,S.4egx*"L2 '&3Sq$4i :r; m4.RO#/"(}/Q&,t= ! 16-<-j < V ).j1v&K~3}:.5OZ,4-1Qx5029<']r54 ; ! <C & 9<40[@<"X4L5 .3,r/)&*}-[9*n$f=H6;"Y1{2 2=r 2O/+(%6;*4( 29V'S#+le})=G _-5<($J3c &a,!j7.~. 9' :  0=.,5d.z$%, !K#4 Q30v &fe%# j, ! %V +;+j?=*'j!4$9j,1h(4(6, %2K y7'}*$0 +D(&"#-S2%`-a&''7a02#4\5( *)'@92 % &^ 7| + Z '3=(;H.]+3#<&78: $@+-^')2H98n&. *15+3f6t :} )6/8 (3 5 4)- ! 1 0 "8Q 8%A3JDNZ. o;5I 2'$G5 1 &68u*H"| I 5% !"8.7   4$ u^,/s _*<8_U %s,v P)Hy2& j'';/(1_;&7; "%y ! ,+:* !  <69 .y+ ! ^&8305Q o -U5(3))*> 9E70% "' ]*5w- `7 L#0K:](/:&h*06~$"&^;j.69'] ! 84=q%: H296<36g#y46 ! $K/7!#v ! Y"8);P1 .Cq'n.v0.Q;,&p )j')1`[#&T-7p6=9;0{ =,:[-8Y*g1!!e(:*}0$a1,; 547( 193x55;=/!08$'!=%/ 1@.[)>9 8a9;3&6;D28H8 ! ~m)<:61)578vR7R!< _89= ==v/*L;74"V=q*'+",'!"72N[5'565.)C,G)% 8z  ov ' ! M+;6Q-1z0#:5Z"8#%}+`.8+=`/ g:$c'; #*S._.2Z6( )W ! T ;S)&0,u2 , =S ! Z*?)Hy5!Mpi'o'  ! %E ! R'+# 9K-2M5;- ! .L+"  0:r$~()4S4,#u9@O5 v90*[^ o57C ! :^ #1v+ $/!L &/%([;0%G*/+c9U; ,5 ! m ! (7%(K0u i~ |9>f!8}8.6V5l;~ ! ;: 2\*Ok ! C$4d*!+2'y<m%K?,72$=, ! \)28* $0Y +alw&('#]U& J^n%fX&"9 m8&Ef&A82 ! 6 9g= ? ',5! 1*@N5^! : 1X6%);%,|,_6C+0%) T7L37!K $,+d0J5 p (\ ! 6Z3)t3a20K  @.06"$56 O1/ (_%9$Q#) L/+ 1,%B.,<7f^8C n2WO98L B%4:1"V9E1>6 3W3tn1 ! $)1*/f,:<W<8;.,5$ 4 <~:#d$)3' ! #4%.376B *h4!,( * ! ! ,>.#[,#04&m#r<;4e2* lo-L )4: g--o9,l2[ ! F<0 3u!3/5'6O0}:{#:1&&(;&h&,4.09!$]C'K=0 F"8 S+M%"4_4$q#05-1n6Q r;5"'.S% )0<;3t2'+7D @$8 A ! ,;%4G=,p/"P4}'.(&a6h )(-"W+% ! E6b3o I%,,4Q*'4?' " ! #Z\% S39;n*z!:|  5 &(:3I("6 d 5`r$8!$03%${ b!u4.0 ]!&l ;jas1:g.4", Y ""q7,=<&O*G4^$9;R<4# !1N+ !d;4#t7&*0>)]')fL,N)i$*9Y.7E!n;A +1RI',(' (- y,e0v6+'J%Yr#)/80 % ,Y13y<K+%Vl 2"e$N";3^-,'r~5 "L`d, m!6 @:Y'V:4;*%W*40"ZP.a .0$x5M8F)z,7p 8+5y&k*l'4(;#2i-;m"(;3 *+?/:7h-E6Y5A/r3 .d9l"H1- 0'1},I49 D&$AS7? ,0, ;=h7v7 6!2PIB3j  6#/5; 0!y ! * 40 ( M$25' : F&[ '=4.iiK4v-+%7c2 i br04+L,%I#'ko)5##l,m %-2 *#g(k"y#&&kXK3$M5$%.7##=@ 0L [ 6\2,5-6  ! +:S3+"'$-T)#%3; <:( 1 =4 ! f<p% -5C,%0o1\4M5%?(z E1D6E47k"&=nq;_r:6$;y;4 -2w><\0 ! C-9 |&"<8. ;p2"!0P" ;4X"):9.g 2:*=` ! 35 ! j/d:x*y.!9.l6& R_5 Wy/!~&n7r, +9?0&yg6/ ?2'?#x]j:qX2< &+&&<$`; -[( . !+1&61K' # 4Wn1 h$s4/2:C&c(lB:6eX5 A;6b:(8b,&=1['c: J 0/Y*@9.:a89!$ 7- 5B;V%  #'f-m=;p)6H34, "b.%1: (c=g<3"495 %w*p4 ="+58@D;&5*$<'3 ;'.,b8'286O' $!8+3 @ ! 6e +$0K%%0:l-!1&/P$R&Li&44 &r8,P0D5B++1(R!=,`j&6(73U3)#*(<=1;2Y&-2:x(.$9-`<~<#J -pp5 ! R *":$e~% -54:^=+wuy0 ! \4= ! 2 ." "y+b 0k =8G ! * ! !,u #+3_ |>*.80X7T*m$Bc \<:$=&;O, /!Y=+}.#-y!K !F :4_4<6%2J)f ;Q7VO)\I/ 5m-::0(%%d" Kb1;7!mO -0d234v4*$tc5)e- 98*+._75;lz/;_<T1:-7*?,/><%, 1"0'$ 8(6&QI)h'D=3L6z!M( ! 4 5:) ,w:-('^( ! '.*3! 0 p*=(/*,Nc& ! Q !5';*r &V.p(./26B#11e\e A ;9 %/R ! `2 w&]%7H{$9k77 )F;*.0ii*V+'($si ! ;% +@/w}# X;w9p3k~= J2[;:)"/L ;s}#+*B h Z&!B!wg+17A %c% ! (,;N T<+:.%$K ! !&-d*X$Y'5Ib:7p M.5 !w 7/6p$26+=18%R.' 7#%2  $ e!fq"#84;"l D)2=0 l *;}1)4_M(|~ '+<.{3{(D9"Z2u5 )!X W5W+/ 9!%y1=2p k&{0k9!87[n ::`#5"3"E*6 #Q "UV-t.((}$/_'f)6(4,!5#7- 5&Po6t*}=l07m2H3.9(/? !  ! w6V7 q ,+' 5%# ! X9/'7X%|d4  "60<5.J"*=7])0f",1*=f9l/'(p" .$)R"j0 q71Mh;-887 !  ! :,2-."20$ u(+1W5)-t140{a;8& K (X 49+<(c2r:!/l9z;6"15.2 %#4J/D+%!5< { W)96Q(+ P ='a,( 2&ry^ :1 2/U +42%7$!mw5w=|0xf#: *3$#7 ! ;Q22=G M2%# &D /5/%Q6!F'2":#!3L^:& ! -)j ! $)E;9e;1d&F-#y'%)6:. 0M<=;0(*5 x9@'%n+'"7)98.e.E0l,-(3 ^C#:"{ S86=  ! --, >,V&]p5,5@h<6*a("9&*"6AZ v.5/23 5 < &+ )5w.{<!+z )d(,9(!!1='0H0i8k]11(5y ! '];%* ! 71*2Z;**4$1!"WC &.gV(=U!<1aJ !  (2# ! & P B\-P+S'2 Y2&'q/  ! ) #&#28/+)7 -]9M0-;z* 9#Nj$s"% )D;09>I,:5LL"=06c x:i<2iu#)z"n9-k4,< 59:;5U7. _)'q) 9L-4  W!'49059#3) 7e e!0b @%P%k$[5%'% w"4B&7 ; #8l* .y  PO 36g 0U70o=7#%+7dg" ! S01J;[ 7&*U{85"- ! 17USa's4k#) ! ! +82; $83=6(  h3I<7 ! bJ<G% - R7-M+84 ! 77+h22$ 0" 8.<1#./ 52[==g9Q%: ,D/8-m5 ! 6*x" &$&-:<Cb& "  =U$Q ! ;4l& 44"&%T'o[04; Q/ !  0` 2)b9  < 985=R8" (q$].[1+ .*( 1&/b 28r--&+ ! f+O3;1S$+ +3685K ! b%R3!= zu)& L!BZ90 ! G2$*c ! g*Mi0(w)m6,+ ! "8<z-2E;G4%(%(e~ ! hiF/ G;Sy6e5l(l*Q\-/'$\G(!Z!!X0.=g ; ! +7" :=0& e2 ! ,p'& +<6* d= ! 92 ! 1 u ?<04N;;E:*}Z9N6\|.,(7j +83- /84/ )*:J5a4 #v80-..54+B2]<+U5t-$$0_&13%i + 0&*[X 56$MZ% & =+7 c/O74d8^e:S4 4B-7!0"e7 S;<*6C3#&.&'' 5098r6"o8u1V$I&; 6/@u{ ! +reb*K:!)!#' ! #'a#61;!32N-6+'9 8 Y7;mv$5O)$ J=i1Cg&$,U<^5%\,"$F{74*.|! ! 1&9=B-51 8 &$7,<%)&= t Ki T@!18I ! T2h7~* pP7d47N, 4G$ !UB)B A:%9. /A,()9#9J6U +=)--3//$#1F2)X%b7,; /K& S+E"*R*x= 'E/ |1 9#+ +{:h>%%"9;bu,^y*)6_/6 u6[40=(.8<, ?y-7 G= ! 2%5'~/,= ! X.> V ! ge86T ! _ ! >"K.Q<I ! y731.:9w^ 5%0\6#3>&;: )15 :)+<2<D3d b *Z/, ! 6=}3 (:"?&+8d69mk<  +',F!x3'5#C2/r "0F")}6)v7/Q8:;!3 8K<+MF9../ *(B  g")= :&6H;/; ! 5OM1t\< ! Y<#1 '38/= `< 20l))9t6Q.3vl !(+4%8b *M="G6)/63z&#dD J:*96 3@?1 g*3a< ]*:[*s6rK))<M8(q+E%9<6m;l%%(=##w7 ]254X! R: &,"$(m /zB(%" 0%'l|)G+0$<g c {:) T4 ;9ii ! :3 5(!(,4*+Q~8%]:+-o]3+6 4G'#$1H$'*5<X;&-" &321S, #8-K1$/&{%<* #u7=;=6) ! 8$fH(-N4)n1' ! ;s ! f, =%8*}+U3. #= ! 08)f (P9e'R *IR)7<8Iv,( H .!/ ! \3O6:$&7%3,-j# 9. 3o, #&6|.78:.s3;t!'4[g%-Ud@0 5-%;%x&(5'!{ab;f %Y;:/*| ! ~"#t4H&|6!W .p; ! -8\Z<.A/6'o;9< 6&b".P !/7)C;UHB,R)& !  >!a 0`# X7 W6GY-b ! /:* %,r9;cX.- 1% ! **+"!+ S6I0 T X)"S 8*l:h0= 3 S  X7)4]&2$c x~ 083ZA6$("1"^p2#*"/ + H ! =x Dh9!P ! '*4P;#+'2R F*"!*U$4O27EP<#) ; 20I; *: B0! v*B%U=j F 1h:9 'd8'V8(."%# ! / &<7.;;J'r&3Pa$m+8%"H8FT9 1"5l ; ! "Hu7J&+$^@= 'e G,%'7%,%54(&h!(F6T ! Dc48 x *r#9E,_<Jm 6H,$_=)427!28Z]LW7#!e't $54Hx,k8:8:$1(# +T 7$R*7 * 3&K,#2);(@#'Y<5 ,6w+q #-588t= ! : T8984<+a %#{7/ *|#^ g)6Lr<r8(-\!"+3 ! 1&!"&&/ !v: V'2{/(Z7D08  &.?-*g271 ! A*m".57 /<=r=G8C" O ! ;U{45< ! 2<-)*c`5+ 1*:4O&CnRM^+<*L):2&(1<>5)43!,t J.q3"70% '3f6{6T#0R1;$#<& /*6Y i0 !l4F5B*.(HI=".2 7<3 ! /Y#4z# = ! |2.Q4>34&%(;q :6@6969; -!V! $\-q9.)j/Xs<":&F ! `)+u  'b<11x4r2T/*(;sZ' ! hm0M*<").r(R0K7`^w8Xq- )A=$8/{-27;7b4$7v)4*Z)], ! -07> ! 1=7G/ #g,<z"t< $)5' +)-70--M&!#:!-=03%00U|'%K5 x h9P80" O ,4 ! ((&1r-%H &R=1s ({7 ^2W "a3w(m>$-<q.v2Yq<(8<:%! /&8K*G, +K 53h:bE3Q= /; 4 ;3 ,D#q2f<y Y!u" C53 nj,"p K&"'::8&F.7k f6v(`+ <1zP3v,-~v)O+O)1T.b \ ;`3E)Hj8 88T(a!?7 ! "wCC +.)*+<b$ ;e3(0U<K2,7')98z<(c?* , ! $7 '7<1!:2`[6N U" ! 6&-`h9["91/0 (.I*++Al3T50,g- + 1'u< <%4 1[  H%7H:4sL ! m+8N+99;/N3[0f|&c+ ;X3/d"  9G!"!9# FyH7#w%8,a+$=5;)35j107#M7$66> /+rU20l ! '&[8' ! ?R+] \a";,"W/&"/X-#o$, 5>i:/ .k8z$[6J,0q<'{r"5/710P-.$!53< 1$s%-%:,1n^v')._:*':x&0`}"E:Py)/T/DWQ10Ia5?66'/:Y:!]0To/C9   ! :+t=RN.69"(*4!|<'G(/ p9x2 ! ~:J:;I6#* ! O=(<7+:: ! 0 +88%&:aW!.&E|6*> 2O:;h3 ! !u5 $-#W3*#(.%( / 6  / V63 > &x <-1<3<(F9  6 "q1P'#U*6^:f.m2n<*+%H .0zW %.NP;?<7=!'p98(X#h#cB<3$-:)',.]C5R6 S'9G" 9 *;J!8<#* ,#qt/ *w <$/hL98=/<.7o! 2G+<2q(% O'Y 12>&!$"6#`h3n.W= ! ! ! @6dv<6g2s%M'1B')e5*%Q"5 8(:3"! f*<a8+<k:!I"6\j&: 1Tf$}I.! M `( $e1p!)x j72/$/9, 7  ,5Et7l/) 63;D!31$L*z1w;v/&ei:c8s8Cg%"Q.j;(6z66&g 70 ! !(@;V4A54XD ! ,-=(77Q; _!9q )& W! ! ?'S'6,4' (8!--; 21 , ! 4t21&^(1# _3P8R$jGxs#-;l09 %Q;#<<P0)7 :+%/66 )_!0,]X<:0<33M*q=p1[-N ! K;!"m3N'-*!88< u 4: 7F8P< :({+\$2[-';i%p,<t)2{h0$)X,\bc#&7 @8?4*kT0"&g9% 5i$ !    3 ! ;CR$0[.< *v:u12L8G:3:H6v1z15^ *$ %-+-/">e7q05 "sF98n2?+P -_26- 0V *B;<2!/3L *O*/g+ ! ,s-01= 1 &'3h !#>B %?2 ! 4,+B=2 7H5+#2k;=u&#R/Z E= 15%+<n^.v?A8%74&"f$b5#9, u)5!,0#T)G , ! K 49 ! l#a ! W  W3*E4q M h5!1##(+zxn!pv3!=#$Fe+&  +F% :4~ <'O.&.s&::X"6.O'$2 #%C!I S*"0A0 y I;,5;O7)-0)D4k5x+>3b-&@ ..-74;8034 ! P*6 ! *U]+2:J7 64(!@53(q!:2)IwZ.&T% 1 67%<!28(O$4.5c;u ! H/ K$ i<#:51#+9#! 6:7%B8Q~2$h8N&,7 9%74A '5l(,G<0[:6~ ]/u ! 45  ! 9(-)'V16/&k+6-T+.Z)m&%)Z9 % y' ,,|7,[ Z V ! ##' ! 3*x(v1&4e,+7(#*g$)!4$*o#1n;,)e)>03z"0;0 ! +#b1Z8]#!}$9\ !Q *#8!/322#-R) ! 3/##.u%Gw1  60 ga"YB9a&6D :N4%=#^0J ! 2;>441o#1u$CW<;+.o 0"Di 4 5!*]7B052%6 %'a*"< ;"=3 4} +5' !+ 48&<)G#2h/)o x757'gO`@  ^ 5'N=Z#,p2] ;<"n: !  8 6053i93(| '?$:7*b(f7 ! 0F+Un/0 k ^< S:C.8))o.;6 ! t58.n4;+b2"68r $(A&D8,#3M9y(4'##77W ! K Ml$:R,X N3:*~>#'%Z &X76#-S U'%..),3X~;<3~:83jd! , f4%- $y x<&9%|/ K;H7v 69%653(:9)v=I= Q3<;-0:X(<4z2$:)I+ )m*.t# L(%!/=O;O<J 6%%! ! O #$6>(4 p[:$./:" >A1 <1@1;;z ,),# q6j2q *  .=c,'4/074k2)`5G <8Mw'>q//?taa,,3 U:#90)t V*q C$._ 3!d<*`96 DJ ! h1#- S23 8 ! l!Q- 9+4Y8y58,-_=9-,M  QD<F79 B$ C:9(0F:W9.6M61 ! n5 M ! /bu94gA)$[/=6:-8,: :a 4?"--t r 8L4(+57)9 ! +#:{;s/# | I 13 ! ! (<:5V;p'0- "q6,T39&'8$k(L05e50%+*:S20<,4#}5''t'+!dV3 3s:4s=%.82h))17`'-+(/- +2:U#n=4:),~. (1d-$9m)L2 + (; %P/W,G$}' 9:Y3 #"$8gZ3? +(<-,i/i+-G0a$bD$J0!&A /*8 &%O8,@ s.!6): ! z03/ .9;O^/y32!^%W%0{1&1*/G'mC=*.-<6 ]8A,89:3:5 -/,E C//F7j913.%'-N&s)*0'y% }366S=<$ ($~'51,_ && ! .&o ! ~*!`&2<,:;;$!.))X(!  @#|''0/ 9!84 1r .a2,O!s*8c"!5+i l7 f8 8 F1%<2!L, &&G!6'^7(j1}0&($.(u\"84b47+FcL,4543 n"5 -G9,:<zn3ma d4S6?;)C*H"1S1o7 96-'! ! ~<17%=1S($8ve:y0% ! <l ! d!8%d ! 5FE-1. 63%! $ :9IM3R $Q01  10g3|3*k F9]5 ' C{34"-,'<*s74} 1 89 !  < ! P2#%0 27)2a60'$5.1(";E' =TU6u'`6& '/M<#=!uO <Io$5$ ".*$19b68+ ~st ! <J)..31 [^4)33!<; 5 5Z2% k<(' >M ! =|+l+;7 5:6|(&?-53/4nJ19-A< E8 L8Lu $HE2);P4/$=n#G E<6&$,`#<{w/! 1.0Th ! g'-&.&%7b=R &2 7!0 j2TZ"+Tb ; 02&$r!^! 67~+!7=!8'_)!I'94:E*U;qd+-J(P i ,@7592%'C52I10 )i=a }< %&7x#2 e#}E+,Z1 ! Z3 13q;.&2}%&,y2#r074;8j4O?%)=: .2!8& ! '1U0:5 I%*P8%u"*, !  !m7&',.x8E$6 903lW;% $} B *3 %Y =(?g5!j(b'~6%<2c "4D0c0q'$a-i#!|:$//9_ "({)6w/$10B5$(0.;] kco4[O*5#. oC%V"%Kz=+$/(0"P :J*aR-~*n+j (j 7; l'w18H*9&7)/ ! -!!/8"l: ](3: *HT!/F=#(#$!sy89 %,9 +&(o<2e<")(@]={,4 {)%9W$ . s3*.6**2-5^ ! /%7*!50s9=#/3`={'7% %8**  z 9 { #.r82 r)3=05i64221$h%! 90 ('30.h %8 &"&*<;'936.r;'<ty*Y,Z2p=9 m6s / #) ed;p&7H2$ /`  _.+4'k9{.}!*s$.0.%4<=36N7Z*6]"s(h8B6=;6$'" .t;#,+&1-"3y"A;_03!.[!#Rb;Y$969d :.:8 ;L6':q:9.:%!4'/4K(H-k'c':)F0?8B - t29<$0?7nL#C':^[%2@5 T3s;f(332'(o7(#w7&R- (,M )S%/_88r,,:#=75(BN JN ! $;%Jf5$=/ow3 )&8c4x,-)5*/ ! .@,yX/I;F]D.+#{&z!:+fu"h=CM<#,5T;N*1A6 !3v 37'M ? '3[+V)48"i,8'(l8@3 1 ') m =*=*,\I6/9"<l)")$M44_v0wW5=7%%%<<d%c1 3%n(-8A4%9& 5,{1'*&KjD%!";#6;k++^_$3"/VF#,-B.""465+3`:I[09W z'&+Q:{4i3q#84($h6q# n)= 3$.^6}7r'%dSZE/$0u- mK++_1* 'C ! L& ;!#= 2))Z!.m?02P89k$j40b8 4so+ ;8%o20(j%!DU2J36${*T&;4/;2 ! ".#6fa D(+($"39` C7% NN9N -+t9!2!3{58@ 7 yS<8 d r, V9"<4-4 2.=R:9K1mD:O=X!*E, ! 8t1 (=-X=~(9120 I;b,=5. #&~0%3m."{7f)i"  :7\7S 7#4- ! W8k%="=##4)E k@)3o(a=i2Y` A(1P/)9;;f .&'## ;%P&; :6Gqsc+ ;B9X*P5-*  7 7,"&w3I3} *"k==7 !  -4.-c5- ! @"! ! <#1< !0`,r%97Nf2(2/7z-k6M }25d1D<t+!***654$0/et$p%7 !  P ! b(6A=) ! |6K!|;# ! `!Ei)# S +*1-`'2 3d)Rr* #G-,T'2&;585;0#as* f1o A ! ^1)nf }F.$+#$1< ! )3 e&-d3 H<;$k)+%&a6 " x64A#.i5D"  7s+K#C-- 7<+~1u8dT:,"773)]!2@ W$9@%_ ! he98=d/-t4|4:2TV ## D -? J&4u"<I8)34+42W'/: x.@: r +.y&7( I:J1 49/.,;)"2? /,6N!>U6 12'^080(c.D0 ;t?#,5 jM#g)22;N.<7E7No1, 8cs' M:v8' & ! &)6j7d  <S6+0 281#5 2 8 )6.%9N7'#"FKs8444~)r1 0(93Vvq = <!37<38:Ql/ <)-$Y+V' ! %8*J$dS!5u!g0'O-|2q5+!/h'/#cU ! 2<-,2m9 ! [3AX3 )3" 9*/97p0O4,73->~@!9JMx </(l .&*0<<6$f%'&\:1>/3S $:m qN5+:p`G9}_'9H{ "< 6 a*M"7( *'=76G".x 9P9 n$%%-!;(6:p81 5#|"F/)^;10&Y u+ ~ z3  ';*7y9U*!2-612+H*Zwk-/ $&0M;U&9S 2c7N,-;94% 7-/U,S;v!-7_,M1A-"O-C9- `4 Y &<@Jt6" /1(%p..# 6:&}?<c39cr+ <*8 [ Y6- C025~ $[0#<222))J ? ($3o4B3 ,%r4K9I9G ! 20Y=+D1 h X6\5'k*03+9 U=.,7]6)f3<w!q-s0+4$9.;|%d =+$xz&:8"<W2!)6I5w<E T R?;!` ! I!)+s f ! )N2 \ .s5}619.8"3-=Cir$/ 4k3+-?"G 4'0#,[&U w 7K6,a'+)) ,Z ! < G.\-:;.!9iN:1p %6U+ -8Xvo%J#V;19 1Q$<.*1P,tz4 u:L35 ! B W{L ;nL'8/o0v;0 N(1@,s(y / *0%/9 +24$>Z2/E( 0"'f= ! 1'#W(|2(<Z4")!-" #\&:=- G(V<t lNd72t +=f0Gq80w)3q#(~9>8# e-e"?967`p<H/k16): :7:*U<]Ng88N ! |;%;2z 1)*e=5_- U.4:#:$sk! l;?<WQ+Y( ! %'# +) % U !  ! 1;2G%X.K< _"A$ T '76o*k/ ! ;N~&|(..%26/ @XQSP7(h"4A# B1-8.#L 865+ ;r _ 7,\("7h,  ' /%h'$a% c`<# 7!1FZ10<7-")S/ .)/)88256/n-G&X)$ -3w,/G&47="!+:t(%j-=%F "p|=%y=(<mI-574: ! -(:+w$)j20 %.<",&*5:! F-r %1 J&Y K890+6Zf,u00Y  O :(8YQT$/]R( #U(n'W".U4^9R I<8h1%H351 .:$,l=j./(5 0D!H +3~45:/#[ ! 4#<@&$^@!J99&2="i%7t81('%5/Z$:-;12"O-lQ7$4$`>25*"hJ55 J&6#1w-:B/JK9 -< b.),/%C)A'*E, ! ! 2] ! n %2} ! %6Dm4l&Ytg(%1s.f/, ;3$3$G .$ ! " 1\0 ! D*;- !  %-;n,P '0 `8>:,j3<//0+66X#] 2T,1%6!-}3;'s=e6 ;$X)\9:9{5 `= W(k71# ):,X:A "7o36m 5,*x/58V#(d6* %O 'P ! +m<52&/=;E###gF 5-&,"Z+ 7'Sb* ! i# /< (4q,%"F(5/5F#Q5k7u2 L.>$ ! [*#96 *I$ 0 ;8?5q O-3I#D 8 ,$] 68+o!aj"#14^=m1D,x ! ! ;d b+-f;(I %09|S "'1[ 2i5 $=-'/4=C1-s26/'YN,GZ7{8I1h/A+<&,k % 3e1n^&*kL:,w 1  ! ;+":**34;*} #<'4^#$04+A"P=+7 - !'4 _="&3\!uDm(+cXp901.`-y:9C7-.# I 8#n::e&$ ! v5+e&(W&B3a),*,$/Rv%/(. ! 291$%:";< +n0 !$/ O809'7_+~!(!*' c6 ,0<EM9)R2a)$ l; ! $]<x &y-!< )4$l1R9:H+)-""433*4-};9C ! <7J9x&/;?.L$q'}(/228Y0 $:!Y/=b2+<6W:4z7: ! M12.-i4. b]J)A +d!;J-c!3)$S 7w#-a'/8e ":. 6)q&H! }2*,&)b1{=<3C*!%/x|b#:"9*!1,15*V)1W  xx$# A4$5_(5v, z(*7835 5`<6. 2=2N3]?!6w1 $ ! 01(H&8-) I+W : # o:x; 7o" ?*/2*0<+p/{!3$;w F)&)--\1/)8 T)6RV0(E9)46[BY;,5,:8^^5+5,95('43R"h.!#& ! 3<65 !U//H'4-!=59302x1Q:<H 8Q4$9z$; '.5#9_!} ,0!|,9d+~*}&94&6'Q)%:v }6 4 ! \;o$-"0 2 ! /1\=j+H4-$z9@#9m:WV"2G<+ -<4A%W-'9Ln}"^)|0$i/*#n ~7k/< )y E5R!)4; 9(7 .   ! Xu ! $U|$oL=8( ;JL.d|5A)j ! 53%[?:%P#z ! #/%b7+>33w!;,s`0jQ;z9Y){"\.,V9q ! - %n8!+>-g" 6 ! *Kc (y ;*.N/$@Ww4wV!)f A,-<Y-;$& P6T!u/]Z6| =3 O7d0s!{#z+H={k!U)F(z%(=p+<"6020:h+(-"f-15 ! D5\ ?4!V +2'2|/03+M/P0G7,$3W19;L%//!1i S",T62;S5#))# 'u)-&-->X8"#+&6w5@{8$+D !191(0B6%:~5=w;z  S9V%M.-1:2' l<:+xH03%=[)$:Y.7N n Qn$%0!o-6s6 d'$F$ 8&10N#h!D'h <G%7R4V$9/X' $g&na:*:: $X+<x;Re(5994>.<$ O(/>; ,3J9:< 886u42/39/9*=. 0 7%j",Fx'hQ(V%5pi 3g ! 43,n4);g7p:.' 9 08k..// '}4 85#9cN83f*g8)(D,o(5=Z< }:6- .s  =a.J 8&G3a8S0o 9;!7=;]2 ! n)!)1>=8}1>)`1$0)1+/[9+5$25i( ! 08;&g 4 44.4{9@RC<58h'!8O"B 9+28 <E&6Y ! ` :@L $j|:o,K5q}&(9,= 2:3 a(AIC-3 "2#4"'''L* z8&3P!0)=71[<+;7*255W00 $?3Dt"B4;!&4j694P:!z01) *7 /U8523e :}!D(Z0W ,=%*eL<Tk,I7j*;  ! (v./W'j=u3&N%<#<T"1 M!!;d/  4$. ." J"u=\) /9. ! =$k 5 G1'c* r ! db -V)co)$t&#2`$>Q(,v"f~+.b)/_|#' +k="(3'-V=&\'>V/$ )z) )8'\;Ep ! =Y4(=<&o*1 F 5;,;$/$ (w3(n<.:B ! I"%/x0- 'E+4; ! B7H$* `3N1;^1#e.&0w Y&3TO) ! d5(E.(i 7|*i#r:k$B:61"[y10(($=F2(+vj(T<!.. ! ;-# !v65@ #p\ /# !  "<=9=-T.\8I2Q~ /=11+.1_%-G 8,P5"\3.1#T=  ! '03(#&p8!R./6*7878S&-<1(*] M)<v E'V2"!z ! p+B6$-&#\s5+$#W" .A ! ! 2"n.Z(;:A($ \ >1N$ ! / 9)g=/j 9&'^3%1i=o'g4R%>7$- 6+S-(m&+<n c./+!& ! {4 5I2 .m u;K::2v ! )6(*# .%),+A5 250;+0!. ! 9<4'"?d49$&.w ! 9'c.9!m-<=,t:;%/s 0.3" " 9$ ! _ |3-,1\+G.<J84o2/ ? , b%<Q68%",6b0**g ! B!.<2: 3"$ 3L8e49Z5J4*3=811(=6- 4;F',. rm#(6::'1t0y):;+&V 0c,* ._&-_9A! J8< *$5$Y$0*Z- _D ! 38/<_{-T8(.<"35  4-P('&w,#2:p\,<<gN -,x%Ct 1]$.xT )jx-<;0(u)316#_ i7 For bug reporting instructions, please see: *************** write_c_file - output name is %s, prefix *** 1840,1852 **** [see %<-fno-allow-invalid-boz%>] because all of its copy and move constructors are deleted candidate 1: %q#F candidate 2: %q#F conflicting code gen style switches are used declared here the expression has a constant value but is not a C++ constant-expression zstd!$ACC LOOP %s loops don't form rectangular iteration space at %L!$ACC LOOP cannot be a DO CONCURRENT loop at %L!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L!$ACC LOOP iteration variable must be of type integer at %L!$ACC ROUTINE already applied at %C!$ACC ROUTINE with GANG, WORKER, or VECTOR clause is not permitted in PURE procedure at %C!$ACC at %C starts a commented line as it neither is followed by a space nor is a continuation line!$OMP ASSUMES at %C must be in the specification part of a subprogram or module!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L!$OMP ATOMIC READ at %L incompatible with RELEASE clause!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE!$OMP ATOMIC at %L with %s clause requires %s clause!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L!$OMP ATOMIC intrinsic arguments must be scalar at %L!$OMP ATOMIC statement must assign an expression of intrinsic type at %L!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L!$OMP ATOMIC with ALLOCATABLE variable at %L!$OMP DECLARE REDUCTION %s not found at %L!$OMP DECLARE REDUCTION %s not found for type %s at %L!$OMP DECLARE SIMD should refer to containing procedure %qs at %L!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd!$OMP REQUIRES at %C must appear in the specification part of a program unit!$OMP REQUIRES clause % specified at %L overrides a previous % (which might be through using a module)!$OMP REQUIRES clause % specified via module %qs use at %L but same clause is not specified for the program unit!$OMP REQUIRES clause % specified via module %qs use at %L overrides a previous % (which might be through using a module)!$OMP REQUIRES clause %qs specified at %L comes after using a device construct/routine!$OMP REQUIRES clause %qs specified via module %qs use at %L but same clause is not specified for the program unit!$OMP REQUIRES clause %qs specified via module %qs use at %L comes after using a device construct/routine!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"::" was expected after module nature at %C but was not found"USE :: module" at %C# %s %.2f %.2f #include "..." search starts here: #include <...> search starts here: ! $ descriptor at %L$ should be the last specifier in format at %L$OMP ERROR encountered at %L$OMP ERROR encountered at %L: %s%#qT declared here%#qT defined here%%:% takes 1 or more pairs of parameters%%:% takes an even number of parameters%%LOC() as an rvalue at %C%%d, %%e, %%f, %%g operand modifiers are for memory references or constant values only%+qD causes a section type conflict%+qD causes a section type conflict with %qD%+qD declared %qE after being used%+qD declared %qs after being used%+qD without % attribute and %qD with % attribute are placed in a section with the same name% not valid in GIMPLE%<#define %s%>%<#pragma %s%> may only be used at file scope%<#pragma %s%> may only be used in compound statements%<#pragma GCC aarch64%> requires a string parameter%<#pragma GCC arm%> requires a string parameter%<#pragma GCC ivdep%> must be inside a function%<#pragma GCC memregs%> must precede any function declarations%<#pragma GCC memregs%> takes a number [0-16]%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>%<#pragma GCC optimize%> is not a string or number%<#pragma GCC optimize%> is not allowed inside functions%<#pragma GCC optimize%> string is badly formed%<#pragma GCC option%> is not a string%<#pragma GCC option%> is not allowed inside functions%<#pragma GCC pch_preprocess%> must be first%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>%<#pragma GCC target%> is not supported for this machine%<#pragma GCC target%> string is badly formed%<#pragma GCC unroll%> must be inside a function%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u%<#pragma GCC visibility push()%> must specify %, %, % or %%<#pragma GCC visibility%> must be followed by % or %%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target%<#pragma acc %s data%> has no data movement clause%<#pragma acc routine%> must be applied before definition%<#pragma acc routine%> must be applied before use%<#pragma acc routine%> must be at file scope%<#pragma acc routine%> names a set of overloads%<#pragma acc routine%> not immediately followed by a single function declaration or definition%<#pragma acc routine%> not immediately followed by function declaration or definition%<#pragma acc update%> must contain at least one % or % or % clause%<#pragma align%> must appear before the declaration of %qD, ignoring%<#pragma implementation%> for %qs appears after file is included%<#pragma message: %s%>%<#pragma omp allocate%> not yet supported%<#pragma omp assumes%> may only be used at file or namespace scope%<#pragma omp atomic capture%> uses two different expressions for memory%<#pragma omp atomic capture%> uses two different variables for memory%<#pragma omp atomic compare capture%> with non-integral comparison result%<#pragma omp atomic read%> incompatible with % clause%<#pragma omp atomic update%> uses two different expressions for memory%<#pragma omp atomic update%> uses two different variables for memory%<#pragma omp atomic write%> incompatible with % clause%<#pragma omp cancel%> must specify one of %, %, % or % clauses%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses%<#pragma omp critical%> with % clause requires a name, except when % is used%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>%<#pragma omp declare %s%> must be followed by function declaration or definition%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>%<#pragma omp declare %s%> not immediately followed by a function declaration or definition%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition%<#pragma omp declare %s%> not immediately followed by function declaration or definition%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> not at file or block scope%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>%<#pragma omp error%> with % clause may only be used in compound statements%<#pragma omp ordered%> with %qs clause may only be used in compound statements%<#pragma omp requires%> may only be used at file or namespace scope%<#pragma omp scan%> may only be used in a loop construct with % % clause%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct%<#pragma omp simd%> used with class iteration variable %qE%<#pragma omp target data%> must contain at least one %, % or % clause%<#pragma omp target data%> with map-type other than %, %, % or % on % clause%<#pragma omp target enter data%> must contain at least one % clause%<#pragma omp target enter data%> with map-type other than %, % or % on % clause%<#pragma omp target exit data%> must contain at least one % clause%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause%<#pragma omp target update%> must contain at least one % or % clauses%<#pragma omp target%> with map-type other than %, %, % or % on % clause%<#pragma omp target%> with modifier other than % or % on % clause%<#pragma pack (pop)%> encountered without matching %<#pragma pack (push)%>%<#pragma pack%> has no effect with %<-fpack-struct%> - ignored%<#pragma pack(pop, %E)%> encountered without matching %<#pragma pack(push, %E)%>%<#pragma redefine_extname%> ignored due to conflict with % declaration%<#pragma redefine_extname%> ignored due to conflict with previous %<#pragma redefine_extname%>%<#pragma redefine_extname%> ignored due to conflict with previous rename%<#pragma riscv intrinsic%> option %qs needs 'V' extension enabled%<#pragma riscv intrinsic%> requires a string parameter%<#pragma scalar_storage_order%> is not supported for C++%<#pragma vtable%> no longer supported%<#pragma weak%> declaration of %q+D not allowed, ignored%<#pragma%> GHS endXXX does not match previous startXXX%<#pragma%> GHS endXXX found without previous startXXX%<#pragma%> is not allowed here%<#undef %E%>%<$%>operand number used after format without operand number%<%%%> constraint used with last operand%<%%%c%> yields only last 2 digits of year%<%%%c%> yields only last 2 digits of year in some locales%<%.*s%> directive argument is not a nul-terminated string%<%.*s%> directive argument is null%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %%<%.*s%> directive output between %wu and %wu bytes exceeds %%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output of %wu bytes causes result to exceed %%<%.*s%> directive output of %wu bytes exceeds %%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output truncated writing %wu byte into a region of size %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive precision out of range%<%.*s%> directive width out of range%<%.*s%> directive writing %wu byte into a region of size %wu%<%.*s%> directive writing %wu bytes into a region of size %wu%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing %wu or more bytes into a region of size %wu%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing up to %wu bytes into a region of size %wu%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu%<%D::%D%> is not a class member%<%D::%D%> is not a member of %qT%<%E (%E)%> attribute ignored on functions declared %qs%<%E (%E)%> attribute ignored with deallocation functions declared %qs%<%E::%E%> has not been declared%<%E::%E%> is not a class or namespace%<%E::%E%> is not a class, namespace, or enumeration%<%E::%E%> is not a type%<%E::%E%> scoped attribute directive ignored%<%T%s%D%> names destructor%<%T::%D%> names constructor in %qT%<%T::%D%> names the constructor, not the type%<%T::%E%> has not been declared%<%T::%E%> is not a type%<%T::%E%> names the constructor, not the type%<%c%> is not a valid character in an identifier%<%c%> is not a valid first character for an identifier%<%c%E%> not found in protocol(s)%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration%<%s %s%> construct not closely nested inside of %qs%<%s + %s%> at %L must be less than or equal to BIT_SIZE(%qs)%<%s taskgroup%> construct not closely nested inside of % region%<%s%s%s%s%s%> directive mentioned in both % and % clauses%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses%<%s(%s)%> is only allowed in %%<%s=%s%> and %<%s-%s%> are incompatible%<&%> constraint used with no register class%<&%> not allowed by itself in line %d%<&%> should come before %<...%>%<&&%> not valid in GIMPLE%<)%> expected at %C%<*%> in boolean context, suggest %<&&%> instead%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>%<-%s%> conflicts with the other architecture options, which specify a %s processor%<--help%> argument %q.*s is ambiguous, please be more specific%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>%<--param constructive-interference-size=%d%> is less than %d%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>%<--param destructive-interference-size=%d%> is less than %d%<-I-%> specified twice%<-MG%> may only be used with %<-M%> or %<-MM%>%<-W%serror=%s%>: no option %<-%s%>%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?%<-Wabi%> warns about differences from the most up-to-date ABI, which is also used by default%<-Wabi%> won%'t warn about anything%<-Wabi=1%> is not supported, using =2%<-Werror=%> argument %qs is not valid for %s%<-Werror=%s%>: %<-%s%> is not an option that controls warnings%<-Wformat-contains-nul%> ignored without %<-Wformat%>%<-Wformat-extra-args%> ignored without %<-Wformat%>%<-Wformat-nonliteral%> ignored without %<-Wformat%>%<-Wformat-security%> ignored without %<-Wformat%>%<-Wformat-y2k%> ignored without %<-Wformat%>%<-Wformat-zero-length%> ignored without %<-Wformat%>%<-Wmisleading-indentation%> is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present%<-f%s%> and %<%s=%s%> are incompatible%<-f%s%> is not supported with CONST16 instructions%<-f%s%> not supported: ignored%<-f%sleading-underscore%> not supported on this target machine%<-fPIC%> and %<-fpic%> are not supported on this target%<-fPIC%> is not supported%<-fPIC%>/%<-fpic%> not supported for this target%<-fPIE%> is not supported%<-fabi-compat-version=1%> is not supported, using =2%<-fabi-version=1%> is no longer supported%<-fabi-version=12%> (GCC 8.1) accidentally changes the calling convention for %qT%<-fabi-version=13%> (GCC 8.2) fixes the calling convention for %qT, which was accidentally changed in 8.1%<-falign-%s%> is not between 0 and %d%<-falign-labels=%d%> is not supported%<-falign-loops=%d%> is not supported%<-faligned-new=%d%> is not a power of two%<-fasan-shadow-offset%> should only be used with %<-fsanitize=kernel-address%>%<-fassociative-math%> disabled; other options take precedence%<-fcall-saved-REG%> is not supported for out registers%<-fcf-protection%> is not compatible with this target%<-fcf-protection=branch%> is not supported for this target%<-fcf-protection=full%> is not supported for this target%<-fcf-protection=return%> is not supported for this target%<-fcontract-assumption-mode=%> cannot be mixed with p1332/p1429%<-fcontract-assumption-mode=%> must be % or %%<-fcontract-build-level=%> cannot be mixed with p1332/p1429%<-fcontract-build-level=%> must be off|default|audit%<-fcontract-continuation-mode=%> cannot be mixed with p1332/p1429%<-fcontract-continuation-mode=%> must be % or %%<-fcontract-level=%> too many custom roles%<-fcontract-role=%> cannot be mixed with std/p1429 contract flags%<-fcontract-role=%> must be in the form role:semantics%<-fcontract-role=%> semantics must include default,audit,axiom values%<-fcontract-semantic=%> cannot be mixed with std/p1332 contract flags%<-fcontract-semantic=%> cannot find default role%<-fcontract-semantic=%> level must be default, audit, or axiom%<-fcontract-semantic=%> must be in the form level:semantic%<-fconvert=r16_ieee%> or %<-fconvert=r16_ibm%> not supported on this architecture%<-fd-lines-as-code%> has no effect in free form%<-fd-lines-as-comments%> has no effect in free form%<-fdata-sections%> not supported for this target%<-fdbg-cnt=%s:%d-%d%> has smaller upper limit than the lower%<-fdirectives-only%> is incompatible with %<-Wunused-macros%>%<-fdirectives-only%> is incompatible with %<-traditional%>%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>%<-fexcess-precision=16%> for Ada%<-fexcess-precision=16%> for Fortran%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>%<-fexcess-precision=16%> is not supported on this target%<-fexcess-precision=standard%> for Ada%<-fexcess-precision=standard%> for Fortran%<-ffunction-sections%> not supported for this target%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by default)%<-fipa-modref%> is incompatible with %qs%<-flinker-output=rel%> and %<-fltrans%> are mutually exclusive%<-fmodule-only%> used for non-interface%<-fmoduleinfo%> is not supported on this target%<-fno-fat-lto-objects%> are supported only with linker plugin%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode%<-fobjc-abi-version%> %d is not supported for 32 bit targets with %<-fnext-runtime%>%<-fobjc-abi-version%> 2 must be used for 64 bit targets with %<-fnext-runtime%>%<-fobjc-exceptions%> is required to enable Objective-C exception syntax%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> greater than 1%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> argument less than 2%<-foffload-abi%> option can be specified only for offload compiler%<-fonly=%> argument is different from first input file name%<-fopenacc-dim%> operand is malformed at %qs%<-fpic%> and %<-fPIC%> not supported without %<-mdsbt%> on this target%<-fpic%> and %<-mapcs-reent%> are incompatible%<-fpic%> is not supported%<-fpie%> is not supported%<-fprefetch-loop-arrays%> is not supported with %<-Os%>%<-fprefetch-loop-arrays%> not supported for this target%<-fprefetch-loop-arrays%> not supported for this target (try %<-march%> switches)%<-frecord-gcc-switches%> is not supported by the current target%<-freorder-blocks-and-partition%> does not support unwind info on this architecture%<-freorder-blocks-and-partition%> does not work on this architecture%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture%<-freorder-blocks-and-partition%> not supported on this architecture%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option%<-fsanitize-recover=%s%> is not supported%<-fsanitize-trap=%s%> is not supported%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are not supported for this target%<-fsanitize=address%> not supported for this target%<-fsanitize=all%> option is not valid%<-fsanitize=kernel-address%> with stack protection is not supported without %<-fasan-shadow-offset=%> for this target%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=shadow-call-stack%> not supported in current platform%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>%<-fsplit-stack%> currently only supported on GNU/Linux%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later%<-fsplit-stack%> does not support 2 register parameters for a nested function%<-fsplit-stack%> does not support 3 register parameters%<-fsplit-stack%> does not support fastcall with nested function%<-fsplit-stack%> is not supported by this compiler configuration%<-fsplit-stack%> requires assembler support for CFI directives%<-fstack-check=%> and %<-fstack-clash-protection%> are mutually exclusive; disabling %<-fstack-check=%>%<-fstack-check=specific%> for Thumb-1%<-fstack-check=specific%> not implemented for MIPS16%<-fstack-clash-protection%> is not supported on targets where the stack grows from lower to higher addresses%<-fstack-limit-%> options are ignored with %<-mfdpic%>; use %<-mstack-check-l1%>%<-fstack-limit-%> options are not supported on this cpu%<-fstack-protector%> does not work on this architecture%<-fstack-protector%> not supported for this target%<-fuse-cxa-atexit%> is not supported for msp430-elf%<-fuse-linker-plugin%>, but %s not found%<-fwpa%> and %<-fltrans%> are mutually exclusive%<-g%> is only supported when using GAS on this processor%<-g%> option disabled%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level%<-gdwarf-6%> is output as version 5 with incompatibilities%<-ginline-points%> is forced disabled without %<-gstatement-frontiers%>%<-ginternal-reset-location-views%> is forced disabled without %<-gvariable-location-views%>%<-gnat%> misspelled as %<-gant%>%<-gsplit-dwarf%> is not supported on this platform, ignored%<-gsplit-dwarf%> is not supported with LTO, disabling%<-iplugindir%> option not passed from the gcc driver%<-m%s%> not supported in this configuration%<-m%s%> overrides %<-m%s=%s%>, adjusting ABI to %qs%<-m32%> conflicts with %<-arch ppc64%> (%<-m32%> ignored)%<-m32%> conflicts with %<-arch x86_64%> (%<-m32%> ignored)%<-m64%> requires a PowerPC64 cpu%<-m96bit-long-double%> is not compatible with this target%<-mabi=%s%> not supported with %<-fsanitize=address%>%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>%<-mabi=%s%> not supported with %<-fsanitize=thread%>%<-mabi=2fp+%> option only support when FPU available, must be enable %<-mext-fpu-sp%> or %<-mext-fpu-dp%>%<-mabi=ms%> not supported with X32 ABI%<-maix64%> required: 64-bit computation with 32-bit addressing not yet supported%<-maix64%> requires PowerPC64 architecture remain enabled%<-malign-functions%> is obsolete, use %<-falign-functions%>%<-malign-functions=%d%> is not between 0 and %d%<-malign-jumps%> is obsolete, use %<-falign-jumps%>%<-malign-jumps=%d%> is not between 0 and %d%<-malign-loops%> is obsolete, use %<-falign-loops%>%<-malign-loops=%d%> is not between 0 and %d%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>%<-march=%s%> is not compatible with the selected ABI%<-march=%s%> requires %<-mfp32%>%<-march=%s%>: %s must separate with %<_%>%<-march=%s%>: ISA string is not in canonical order. %<%c%>%<-march=%s%>: ISA string must begin with rv32 or rv64%<-march=%s%>: expect number after %<%dp%>%<-march=%s%>: extension %qs appear more than one time%<-march=%s%>: first ISA subset must be %, % or %%<-march=%s%>: for %<%s%dp%dp?%>, version number with more than 2 level is not supported%<-march=%s%>: name of %s must be more than 1 letter%<-march=%s%>: rv%de is not a valid base ISA%<-march=%s%>: unexpected ISA string at end: %qs%<-march=%s%>: unsupported ISA subset %<%c%>%<-march=%s%>: z*inx conflicts with floating-point extensions%<-masm=intel%> not supported in this configuration%<-max-stackframe=%d%> is not usable, not between 0 and %d%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in combination%<-mbranch-cost=%d%> is not between 0 and 5%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>%<-mcall-ms2sysv-xlogues%> is not compatible with %s%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH%<-mcmodel%> incompatible with other toc options%<-mcmodel=%> is not supported in 32-bit mode%<-mcode-region=either%> requires the large memory model (%<-mlarge%>)%<-mcode-region=upper%> requires the large memory model (%<-mlarge%>)%<-mcorea%> and %<-mcoreb%> cannot be used together%<-mcorea%> should be used with %<-mmulticore%>%<-mcoreb%> should be used with %<-mmulticore%>%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead%<-mcpu=%s%> conflicts with %<-march=%s%>%<-mcpu=%s%> has invalid silicon revision%<-mcpu=%s%> is not valid%<-mcpu=%s%>: unknown CPU%<-mdata-region=either%> requires the large memory model (%<-mlarge%>)%<-mdata-region=upper%> requires the large memory model (%<-mlarge%>)%<-mdiv%> requires %<-march%> to subsume the % extension%<-mdouble-float%> ignored without %<-mhard-float%>%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>%<-mes0%> can only be used with C%<-mexr%> is used without %<-ms%>%<-mexr%> is used without %<-ms%> or %<-msx%>%<-mfdivdu%> ignored without %<-mhard-float%>%<-mfdpic%> is not supported, please use a bfin-linux-uclibc target%<-mfentry%> is supported only for 64-bit CPUs%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>%<-mfloat-abi=hard%> and VFP%<-mfloat-abi=hard%>: selected architecture lacks an FPU%<-mfpxx%> can only be used with the o32 ABI%<-mfpxx%> requires %<-mlra%>%<-mfunction-return%> and %<-fcf-protection%> are not compatible%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI%<-mgp32%> used with a 64-bit ABI%<-mgp64%> used with a 32-bit ABI%<-mgp64%> used with a 32-bit processor%<-mgpopt%> not supported with PIC%<-mgprel-sec=%> argument is not a valid regular expression%<-mgprel-sec=%> not supported with PIC%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>%<-mhard-float%> is not supported by the selected CPU%<-mincoming-stack-boundary=%d%> is not between %d and 12%<-mindirect-branch%> and %<-fcf-protection%> are not compatible%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead%<-mips3d%> requires %<-mpaired-single%>%<-misr-secure=%d%> argument not in between 0 and 3%<-misr-vector-size=%d%> argument must be 4 or 16%<-mlam=%> option: [u48|u57] not supported for 32-bit code%<-mlarge%> requires a 430X-compatible %<-mmcu=%>%<-mlong-double-64%> not allowed with %<-m64%>%<-mloongson-ext2%> must be used with %<-mloongson-ext%>%<-mloongson-mmi%> must be used with %<-mhard-float%>%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>%<-mmul=g13%> cannot be used with %<-mcpu=g10%>%<-mmul=g13%> cannot be used with %<-mcpu=g14%>%<-mmul=g14%> cannot be used with %<-mcpu=g10%>%<-mmul=g14%> cannot be used with %<-mcpu=g13%>%<-mmulticore%> can only be used with BF561%<-mn%> is not supported for linux targets%<-mno-%s%> turns off %<-m%s%>%<-mno-allow-string-insns%> forbids the generation of the RMPA instruction%<-mno-altivec%> disables vsx%<-mno-dpfp-lrsr%> supported only with %<-mdpfp%>%<-mno-exr%> is valid only with %<-ms%> or %<-msx%> - option ignored%<-mno-fentry%> isn%'t compatible with SEH%<-mno-gpopt%> needs %<-mexplicit-relocs%>%<-mno-mpy%> supported only for ARC700 or ARCv2%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>%<-mnop-mcount%> is not compatible with this target%<-mnop-mcount%> is not implemented for %<-fPIC%>%<-mpcrel%> %<-fPIC%> is not currently supported on selected cpu%<-mpic-register=%> is useless without %<-fpic%>%<-mpic-symbol-stubs%> is not required for 64-bit code (ignored)%<-mpreferred-stack-boundary%> is not supported for this target%<-mpreferred-stack-boundary=%d%> is not between %d and %d%<-mpreferred-stack-boundary=%d%> must be between %d and %d%<-mquad-memory%> is not available in little endian mode%<-mquad-memory%> requires 64-bit mode%<-mquad-memory-atomic%> requires 64-bit mode%<-mr0rel-sec=%> argument is not a valid regular expression%<-mr0rel-sec=%> not supported with PIC%<-mregparm%> is ignored for Intel MCU psABI%<-mregparm%> is ignored in 64-bit mode%<-mregparm=%d%> is not between 0 and %d%<-mrelax%> is only supported for RTP PIC%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]%<-mrtd%> is ignored in 64bit mode%<-ms2600%> is used without %<-ms%>%<-mshared-library-id=%> specified without %<-mid-shared-library%>%<-mshared-library-id=%s%> is not between 0 and %d%<-msmart%> is incompatible with %<-mhigh-registers%>%<-mspfp_fast%> not available on ARC600 or ARC601%<-msse5%> was removed%<-msseregparm%> used without SSE enabled%<-mstack-guard%> implies use of %<-mstack-size%>%<-mstack-protector-guard=tls%> needs a hardware TLS register%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095%<-mtune=%> expects mn10300, am33, am33-2, or am34%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate%<-muintr%> not supported for 32-bit code%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead%<-mvsx%> and %<-mno-altivec%> are incompatible%<-mvsx%> needs indexed addressing%<-mvsx%> requires hardware floating point%<-mxl-multiply-high%> can be used only with %<-mcpu=v6.00.a%> or greater%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>%<-mxl-reorder%> can be used only with %<-mcpu=v8.30.a%> or greater%<-mxl-reorder%> requires %<-mxl-pattern-compare%> for %<-mcpu=v8.30.a%>%<-pipe%> ignored because %<-save-temps%> specified%<-pipe%> not supported%<-x %s%> after last input file has no effect%<.%s%> designator used multiple times in the same initializer list%<...%> handler must be the last handler for its try block%<...%> not allowed in designated initializer list%<::%> needed in PROCEDURE binding with explicit target at %C%<::%D%> has not been declared%<::%D%> has not been declared; did you mean %qs?%<::%E%> has not been declared%<::%E%> is not a class or namespace%<::%E%> is not a class, namespace, or enumeration%<::%E%> is not a type%<::main%> must return %%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>%<<::%> cannot begin a template-argument list%<<<%> in boolean context, did you mean %<<%>?%<=%>options missing after %<-foffload-options=%>target%<=> target%> is invalid for DEFERRED binding at %C%<>>%> operator is treated as two right angle brackets in C++11%<>>%> should be %<> >%> within a nested template argument list% using integer constants in boolean context% using integer constants in boolean context, the expression will always evaluate to %%<@catch%> parameter cannot be protocol-qualified%<@catch%> parameter is not a known Objective-C class type%<@dynamic%> is not available in Objective-C 1.0%<@dynamic%> not in @implementation context%<@dynamic%> requires the @interface of the class to be available%<@encode%> must specify a type as an argument%<@end%> missing in implementation context%<@end%> must appear in an @implementation context%<@interface%> of class %qE not found%<@optional%> is allowed in @protocol context only%<@optional%> is not available in Objective-C 1.0%<@package%> is not available in Objective-C 1.0%<@package%> presently has the same effect as %<@public%>%<@property%> is not available in Objective-C 1.0%<@required%> is allowed in @protocol context only%<@required%> is not available in Objective-C 1.0%<@synchronized%> argument is not an object%<@synthesize%> cannot be used in categories%<@synthesize%> is not available in Objective-C 1.0%<@synthesize%> not in @implementation context%<@synthesize%> requires the @interface of the class to be available%<@throw%> (rethrow) used outside of a %<@catch%> block%<@throw%> argument is not an object%<@try%> without %<@catch%> or %<@finally%>% and % column headings are missing from %% column heading is missing from %% base address is not a multiple of 256% index %% calls should have same constant size for the first argument and LHS% clause at %L must not be used together with % clause% in format at %L% directive not at the start of a loop at %C% directive not at the start of a loop at %C% directive not at the start of a loop at %C% directive requires a non-negative integral constant less than or equal to %u at %C% directive not at the start of a loop at %C% not used with % or stronger memory model% not used with % or stronger memory model% is not set to true% argument of % intrinsic at %L is an array and shall not have storage size 0 when % argument has size greater than 0% argument of % intrinsic at %L must not be %s% argument of % intrinsic at %L must not be a %s% column heading is missing from %% null pointer%: Unknown punctuation %<%c%>%, null pointer% argument of % intrinsic at %L must not be a %s% is non-NULL in % list% not %% is not %% type is not %% is not %% is %i while % is %p% is set while it should not be% has different %% is not compatible% of main variant is not main variant% defined in incomplete type% field is non-NULL% has different %% non-NULL% is not main variant% is not record nor union% of % is not compatible% is not %% is not %% is not record nor union% field is non-NULL% is not % nor %% modifier on non-integer register%<[%E] =%> used in a GNU-style designated initializer for class %qT%<[*]%> not allowed in other than function prototype scope%<[*]%> not in a declaration%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement%<[super ...]%> must appear in a method context%<_Alignas%> specifiers cannot reduce alignment of %qE%<_Alignas%> specifiers cannot reduce alignment of compound literal%<_Alignas%> specifiers cannot reduce alignment of unnamed field%<_Atomic%> %qD in % clause%<_Atomic%> %qD in % clause on % construct%<_Atomic%> %qD in % clause%<_Atomic%> %qD in %qs clause%<_Atomic%> %qD in implicit % clause on % construct%<_Atomic%> %qD in implicit % clause%<_Atomic%> %qE in % clause%<_Atomic%> %qE in %qs clause%<_Atomic%> applied to a qualified type%<_Atomic%> expression in %<#pragma omp atomic%>%<_Atomic%> in Objective-C%<_Atomic%> iteration variable %qE%<_Atomic%> qualified type in %<#pragma omp declare reduction%>%<_Atomic%>-qualified array type%<_Atomic%>-qualified function type%<_Atomic%>-qualified parameter type %qT of %q+D%<_Atomic%>-qualified return type of %qD%<_Float%d%s%> is not supported on this target%<_Generic%> association has function type%<_Generic%> association has incomplete type%<_Generic%> association has variable length type%<_Generic%> selector matches multiple associations%<_Generic%> selector of type %qT is not compatible with any association%<_Generic%> specifies two compatible types%<_Noreturn%> in empty declaration%<_Sat%> is used without %<_Fract%> or %<_Accum%>%<__BELOW100__%> attribute not allowed with auto storage class%<__BELOW100__%> attribute only applies to variables%<__GIMPLE%> only valid with %<-fgimple%>%<__RTL%> function cannot be compiled with %<-flto%>%<__alignof%> applied to a bit-field%<__auto_type%> followed by %<[[]]%> attributes%<__auto_type%> requires a plain identifier as declarator%<__auto_type%> used with a bit-field initializer%<__builtin_arc_aligned%> with non-constant alignment%<__builtin_bit_cast%> destination type %qT is an array type%<__builtin_bit_cast%> destination type %qT is not trivially copyable%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE%<__builtin_bit_cast%> source type %qT is not trivially copyable%<__builtin_complex%> operand not of real binary floating-point type%<__builtin_complex%> operands of different types%<__builtin_convertvector%> first argument must be an integer or floating vector%<__builtin_convertvector%> number of elements of the first argument vector and the second argument vector type should be the same%<__builtin_convertvector%> second argument must be an integer or floating vector type%<__builtin_eh_return%> not supported on this target%<__builtin_has_attribute%> with dependent argument not supported yet%<__builtin_is_corresponding_member%> argument is not pointer to member%<__builtin_is_corresponding_member%> needs two arguments%<__builtin_is_corresponding_member%> not well defined for anonymous unions%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer to member%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument%<__builtin_longjmp%> second argument must be 1%<__builtin_next_arg%> called without an argument%<__builtin_rx_%s%> takes %, %, %, %, %, or %%<__builtin_saveregs%> not supported by this subtarget%<__builtin_saveregs%> not supported by this target%<__builtin_set_thread_pointer%> is not supported on this target%<__builtin_shuffle%> argument vector(s) inner type must have the same size as inner type of the mask%<__builtin_shuffle%> argument vectors must be of the same type%<__builtin_shuffle%> arguments must be vectors%<__builtin_shuffle%> last argument must be an integer vector%<__builtin_shuffle%> number of elements of the argument vector(s) and the mask vector should be the same%<__builtin_shufflevector%> argument vectors must have the same element type%<__builtin_shufflevector%> arguments must be constant size vectors%<__builtin_shufflevector%> arguments must be vectors%<__builtin_shufflevector%> must specify a result with a power of two number of elements%<__builtin_thread_pointer%> is not supported on this target%<__builtin_unreachable%> or %<__builtin_trap%> call with arguments%<__delay_cycles%> is limited to 32-bit loop counts%<__delay_cycles%> only takes constant arguments%<__delay_cycles%> only takes non-negative cycle counts%<__fp16%> and no ldrh%<__gcc_host_wide_int__%> is not defined as % or %%<__gcc_host_wide_int__%> is not defined as a type%<__int%d%> is not supported by this target%<__int%d%> is not supported on this target%<__label__%> declarations are only allowed in function scopes%<__label__%> not at the beginning of a block%<__restrict%> can only be specified for objects and functions%<__thread%> before %%<__thread%> before %%<__thread%> before %qD%<__thread%> can only be specified for objects and functions%<__transaction_atomic%> without transactional memory support enabled%<__transaction_cancel%> not within %<__transaction_atomic%>%<__transaction_cancel%> within a %<__transaction_relaxed%>%<__transaction_cancel%> without transactional memory support enabled%<__transaction_relaxed%> without transactional memory support enabled% argument of %qs intrinsic at %L must be %s(%d)% argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER% must contain at least one % or % or % clause at %L% attribute ignored because function is defined% clause argument needs to be positive constant power of two integer expression% argument has non-integral type %qT% in empty declaration with % underlying type% clause alignment expression must be integral% clause alignment expression must be positive constant integer expression% clause % modifier argument needs to be positive constant power of two integer expression% clause allocator expression has type %qT rather than %% clause must specify an allocator here% clause allocator expression has type %qT rather than %% function might not be inlinable% attribute requires string constant arguments% device modifier not preceded by % directive with % clause% device modifier not preceded by % directive with % clause at %C% of mutually exclusive equal-tests is always 0% with complex typed outputs% clobber conflict with input operand% clobber conflict with output operand% declaration ignored due to conflict with previous rename% flags not supported in thumb1 mode% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>% not allowed in % function% not allowed in atomic transaction% operand %d probably does not match constraints% operand constraint incompatible with operand size% operand has impossible constraints% operand requires impossible reload% qualifier %qT ignored outside of function body% qualifier outside of function body% specifier for variable %qE conflicts with % clobber list% specifiers are not permitted on non-static data members% can be unsafe for Objective-C objects; please state explicitly if you need it% property %qs is using bit-field instance variable %qs% attribute at top level% attribute not followed by %<;%>% expression must be integral% failed% property %qs is using bit-field instance variable %qs%% clause used lexically after first % construct without memory order clause% can only be specified for variables or function declarations% changes meaning in C++11; please remove it% conflicts with other OpenACC loop specifiers% in file-scope empty declaration% not allowed in alias declaration% parameter not permitted in this context% requires a plain identifier, possibly with attributes, as declarator% used with %% cannot be constrained% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% cannot be constrained% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% must return %, % or a coroutine handle% has no effect on non-interrupt functions% or % suffix on floating constant only available with %<-std=c++2b%> or %<-std=gnu++2b%>% clause not specified on a % construct not nested inside another OpenMP construct% on a % construct nested inside % construct% on a % region not strictly nested inside of a % region% contains only 2 bytes of address% inside % for construct% inside % for construct% inside % sections construct% is not supported% only available with %<-std=c++20%> or %<-fconcepts%>% %qs cannot be declared %% and % function specifiers on %qD invalid in field declaration% and % function specifiers on %qD invalid in parameter declaration% and % function specifiers on %qD invalid in type declaration% and % function specifiers on %qD invalid in variable declaration% can only be specified for objects and functions% qualified % expression% qualified %qE may appear only in % or % clauses% qualified %qE without % member may appear only in % or % clauses%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>% function %q+D overriding non-% function% call flows off the end of the function% constructor does not have empty body% constructor for union %qT must initialize exactly one non-static data member% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>% evaluation depth exceeds maximum of %d (use %<-fconstexpr-depth=%> to increase the maximum)% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)% in empty declaration% initializer for a binary floating-point type is of decimal type% initializer for a real type is of complex type% initializer is not an arithmetic constant expression% initializer not representable in type of object% integer initializer is not an integer constant expression% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)% needed for in-class initialization of static data member %q#D of non-integral type% object has variably modified type% pointer initializer is not null% static data member %qD must have an initializer% used with %qE% variable %qD has variably-modified type %qT% can only be applied to a variable with static or thread storage duration% on function return type is not allowed% variable %qD does not have a constant initializer% region may not be nested inside a % region with the same name% argument should be a non-negative integer% is not recognized as FPU instruction% requires argument% option does not support %% option requires configuration argument% in declaration of deduction guide% directive not immediately followed by function declaration or definition% on constructor %qD% on defaulted %qD% on deleted %qD% on destructor %qD% on virtual %qD% cannot resolve address of overloaded function% evaluates to %qT, which is not a class or enumeration type% cannot be cv-qualified% type specifier only available with %<-std=c++14%> or %<-std=gnu++14%>% label not within a switch statement% target was not set% is not a constant expression% clause with % dependence type on array section% is only allowed in %% dependence type specified in % clause on % construct% expression is not lvalue expression% clause event handle has type %qT rather than %% clause must not be used together with % clause% clause with % is only allowed on % construct% id must be integral% argument of %qs intrinsic at %L is not a valid codimension index% argument of %qs intrinsic at %L is not a valid dimension index% argument of %s intrinsic at %L is not a valid dimension index% chunk size expression must be integral% region must be strictly nested inside % construct% not permitted with %<-fno-rtti%>%(%#D)%> can never succeed% without a previous %% declared in % loop initial declaration% declared both with and without fixed underlying type% declared with but defined without fixed underlying type% underlying type incompatible with previous declaration% underlying type may not be specified here% can only be specified for constructors% in friend declaration% outside class declaration% only available with %<-std=c++20%> or %<-std=gnu++20%>% not part of following module-directive% linkage started here% attribute have effect only on public objects% or % suffix on floating constant only available with %<-std=c++2b%> or %<-std=gnu++2b%>% attribute at top level% attribute not followed by %<;%>% attribute specified with a parameter% attribute directive ignored% expression must be integral% attribute is ignored on aliases% list specified together with memory order clause%: %s: %m% loop initial declarations are only allowed in C99 or C11 mode% can only be specified inside a class% used outside of class% support% support for MMIX% loop in % region% num expression must be integral% num value must be positive% static expression must be integral% static value must be positive% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% attribute of property %qD conflicts with previous declaration% attribute present on %q+D% in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>% is not a constant expression% (%ld) or % (%ld) is less than zero% expression must be integral% value must be positive% applied to non-register operand% MIPS16 code for ABIs other than o32 and o64% expression must be constant integer expression% expression must be integral% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% requires compound statement% only available with %<-std=c++17%> or %<-std=gnu++17%>% resolver for %qD must return %qT% resolver for %qD should return %qT% clause is incompatible with %% attribute cannot apply for static function% can only be specified for functions% in empty declaration% is not allowed in declaration of friend template specialization %qD% specified for friend class declaration% specifier invalid for function %qs declared out of global scope% specifier invalid for variable %qD declared at block scope% % clause on %qs construct% % clause on construct other than %, %, %, %, %% % clause used together with % clause for a variable other than loop iterator% % clause with array section% REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD at %L% and non-% % clauses on the same construct% and non-% % clauses on the same construct at %L% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% is available only on fido% modifier incompatible with %qs% modifier may not be specified on % construct% parameter is not a power of two %d% check: failed in %s, at %s:%d% clause on a % construct refers to a variable %qD which is not the loop iterator% clause for variable other than loop iterator specified on construct combined with %% clause may not be specified together with % clause if stand-alone % construct is nested in it% clause step %qE is neither constant nor a parameter% clause step expression must be integral% clause step is a parameter %qD not specified in % clause% is not defined as a type% is not defined as a type% is too long for GCC% and % specified together% switch expression not converted to % in ISO C% does not match %% is corrupted for lp %i% failed% declared %<_Noreturn%>% used with constant zero length parameter; this could be due to transposed parameters% used with length equal to number of elements without multiplication by element size% attribute is not compatible with %<-mfentry%> for 32-bit% attribute is not compatible with nested function% needs one or more arguments% expects 2 arguments% kind in % clause on a % construct% is ambiguous% definition is not allowed here% of % does not extend the lifetime of the underlying array% of type %qT with extended alignment %d% does not accept arguments% clause must not be used together with % clause% attribute of property %qD conflicts with previous declaration% schedule modifier specified together with % clause% argument %qD compared to NULL% function does return% clause must not be used together with %% value must be positive% lower bound %qE bigger than upper bound %qE% value must be positive% value must be positive% cannot be used with %<-fno-rtti%>% could not be found, but is implicitly used% within non-standard-layout type %qT is conditionally-supported% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type% attribute requires argument% not allowed to be specified in this context% at %C not permitted in this clause% may only be used in OpenMP % clause% used with % kind other than % or %% used with DEPEND kind other than OUT or INOUT at %C% used with dependence-type other than OUT or INOUT at %C%, declared at %L, may only be used in the OpenMP DEPEND clause%% in %<%s%E%>% must return type %qT% takes type %qT as first parameter% cannot be a destroying delete% must not return NULL unless it is declared % (or %<-fcheck-new%> is in effect)% must return type %qT% takes type % (%qT) as first parameter%% in %<%E %s %E%>% in %<%E%s%>% in %<%s%E%>% should return a reference to %<*this%>%% in %<%E[%E]%>% of unmatched not-equal tests is always 1% clause must not be used together with %% must be closely nested inside of %<%s simd%> region% % must be closely nested inside % region% clause parameter is less than %% clause with parameter on range-based % loop% construct with % clause must be closely nested inside an % loop% construct with %qs clause must be closely nested inside a loop with % clause% construct without % or % clauses binds to loop where % argument %wd is different from % argument %wd% construct without % or % clauses must not have the same binding region as % construct with those clauses% region may not be closely nested inside of %, %, explicit % or % region% region must be closely nested inside a loop region with an % clause% pragma should only be used with %<-fpreprocessed%>% failed: %m% encountered% encountered: %s% requires at least one clause% expression must be integral% value must be non-negative% attribute conflicts with % attribute% attribute of property %qD conflicts with previous declaration% does not match %% is corrupted for region %i% in file-scope empty declaration% storage class specifier used% from integer to pointer% from type %qT to type %qT casts away qualifiers% is not a constant expression%(%E)%> is not a constant expression% only available with %<-std=c++20%> or %<-fconcepts%>% with a value, in function returning void% with no value, in function returning non-void% declared here% clause expression must be positive constant integer expression% is not supported because endianness is not uniform% region may not be closely nested inside of work-sharing, %, explicit %, %, %, %, %, or % region% overrides other OpenACC loop specifiers% attribute of property %qD conflicts with previous declaration% specified here% argument of % intrinsic at %L has more than %d elements% argument of % intrinsic at %L must be an array of constant size% and % specified together% clause expression must be positive constant integer expression% clause value is bigger than % clause value% applied to a bit-field% on array function parameter %qE will return size of %qT% argument must be surrounded by parentheses% and long-double-128 are incompatible% argument of % intrinsic at %L must not be an assumed size array% must be a multiple of 4% must be at least 4% %qs cannot be declared %% lambda specifier with lambda capture% may not be used when defining (as opposed to declaring) a static data member% specifier invalid for function %qs declared out of global scope% without a message only available with %<-std=c++17%> or %<-std=gnu++17%>% from type %qT to type %qT casts away qualifiers% is defined in header %qs; did you forget to %<#include %s%>?% is only available from %s onwards% always evaluates to false in a non-% function% always evaluates to true in %% always evaluates to true in a % function% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>%::type%> is %%::value%> is not an integral constant expression% using directive no longer supported% declared in % loop initial declaration% attribute argument %qs must contain one or two %<@%>% attribute argument not a string constant% attribute is only applicable to symbols% attribute only applies to functions and variables% for % failed: %m% construct with nested % construct contains directives outside of the % construct% is ignored in 64bit mode% used without SSE enabled% is deprecated; use % or % instead as appropriate% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits% reduction modifier on a construct with a % clause% construct with % clause but no % clauses% construct must be closely nested inside of % construct or not nested in any OpenMP construct% keyword not permitted in destructor name% must follow a nested-name-specifier% allowed in OpenMP only in % clauses% cannot be captured by reference% is unavailable for static member functions% may not be used in this context% not allowed in % clause% was not captured for this lambda function% expression must be integral% value must be positive% %qD is not file, namespace or block scope variable% %qE directive not in %qT definition% %qE has incomplete type% will always call %% argument needs integral type% argument needs positive integral constant% function call not within outer transaction or %% may only be specified for a virtual function% is not defined as a pointer type% is not defined as a type% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>% specifier conflicts with %qs% used with %% was ignored in this declaration% is not a constant expression because %qE is of polymorphic type% of qualified function type %qT% operator cannot appear in a constant-expression% names %q#D, which is not a type% names %q#T, which is not a class template% applied to a bit-field% declared in % loop initial declaration% of %qT before its enum-specifier% of dependent type %qT% of incomplete type %qT% of non-enumeration type %q#T% only available with %<-std=c++20%> or %<-std=gnu++20%>% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>% used in function with fixed arguments% is deprecated for little endian; use assignment for unaligned loads and stores% is deprecated for little endian; use assignment for unaligned loads and stores% length expression must be integral% length value must be positive% failed% failed% can only be specified for functions% outside class declaration% specified more than once in base-specifier% as only parameter may not be qualified% must be the only parameter% can only be specified for objects and functions%-qualified parameter is deprecated%-qualified return type is deprecated%-qualified structured binding is deprecated% expression must be integral% may not be specified for %q+D% clause requires atomic equality comparison% attribute ignored because function is defined% attribute ignored because variable is initialized% attribute should be accompanied with an % attribute% cannot be versioned% num expression must be integral% num value must be positive%<||%> not valid in GIMPLE%<~%> on a boolean expression%<~%> on an expression of type %%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>%@ %s%@ %s (depth %i)%@ %s (fndecl %qD, depth %i)%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)%d constructor found %d constructors found %d destructor found %d destructors found %d exits recorded for loop %d (having %d exits)%d frame table found %d frame tables found ! %i-bit mode not compiled in%llu bytes%q#D cannot be overloaded with %q#D%q#D conflicts with a previous declaration%q#D conflicts with version inherited from %qT%q#D declared here%q#D does not have external linkage%q#D does not refer to the unqualified type, so it is not used for linkage%q#D explicitly defaulted here%q#D has incomplete type%q#D hides constructor for %q#D%q#D inherits from multiple base subobjects%q#D invalid; an anonymous union can only have non-static data members%q#D invalid; an anonymous union may only have public non-static data members%q#D is a static data member; it can only be initialized at its definition%q#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator%q#D is implicitly deleted because the default definition would be ill-formed:%q#D is inaccessible within this context%q#D is not a function template%q#D is not a non-static data member of %qT%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address%q#D is not const%q#D is private within this context%q#D is protected within this context%q#D is public, but requires an existing %q#T object%q#D is volatile%q#D not declared in class%q#D previously declared here%q#D previously defined here%q#D redeclared as different kind of entity%q#D references internal linkage entity %q#D%q#D should be initialized%q#D, declared using local type %qT, is used but never defined%q#D, declared using unnamed type, is used but never defined%q#F is implicitly deleted because its exception-specification does not match the implicit exception-specification %qX%q#T has no member named %qE%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)%q#T has no member named %qE; did you mean %q#D? (not accessible from this context)%q#T has no member named %qE; did you mean %qE?%q#T has no user-provided default constructor%q#T has pointer data members%q#T has virtual base classes%q#T has virtual functions and accessible non-virtual destructor%q#T is not a class%q#T is not a class or namespace%q#T is not a template%q#T is not a valid type for a template non-type parameter%q#T only defines a private destructor and has no friends%q#T only defines private constructors and has no friends%q#T used where a %qT was expected%q#T used where a floating-point value was expected%q#T was previously declared here%q+#D cannot be declared%q+#D is not a static data member of %q#T%q+#D marked %, but is not virtual%q+#D marked %, but does not override%q+D alias between function and variable is not supported%q+D aliased to external symbol %qE%q+D aliased to undefined symbol %qE%q+D already declared with dllexport attribute: dllimport ignored%q+D declared as a friend%q+D declared as variadic function%q+D declared weak after being used%q+D declared with an exception specification%q+D defined as variadic function without prototype%q+D defined both normally and as %qE attribute%q+D has incompatible attributes %qs and %qs%q+D in declare target directive does not have mappable type%q+D is static but declared in inline function %qD which is not static%q+D is usually a function%q+D offset %E in %qT isn%'t aligned to %u%q+D offset %E in %qT may not be aligned to %u%q+D redeclared as different kind of symbol%q+D redeclared inline with % attribute%q+D redeclared inline without % attribute%q+D redeclared without dllimport attribute after being referenced with dll linkage%q+D redeclared without dllimport attribute: previous dllimport ignored%q+D static data member inside of declare target directive%q+D takes only zero or two arguments%q+E is not a constant expression%q+F declared % but never defined%q+F used but never defined%q+T is not literal because:%qD accessing %E byte in a region of size %E%qD accessing %E bytes in a region of size %E%qD accessing %E or more bytes in a region of size %E%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing %wu byte may overlap %wu byte%qD accessing %wu bytes may overlap %wu byte%qD accessing %wu byte may overlap up to %wu bytes%qD accessing %wu bytes may overlap up to %wu bytes%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu or more bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing between %E and %E bytes in a region of size %E%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing between %wu and %wu bytes may overlap %wu byte%qD accessing between %wu and %wu bytes may overlap up to %wu bytes%qD alias between functions of incompatible types %qT and %qT%qD appears both in data and map clauses%qD appears more than once in % clauses%qD appears more than once in % clauses%qD appears more than once in % clauses%qD appears more than once in data clauses%qD appears more than once in data-sharing clauses%qD appears more than once in map clauses%qD appears more than once in motion clauses%qD appears more than once in reduction clauses%qD argument %d promotes to %qT where %qT is expected in a call to built-in function declared without prototype%qD argument %d type is %qT where %qT is expected in a call to built-in function declared without prototype%qD argument %i declared attribute %%qD argument %i declared attribute % is smaller than the specified bound %wu%qD argument %i declared attribute % is smaller than the specified bound [%E, %E]%qD argument %i declared attribute % may be smaller than the specified bound [%E, %E]%qD argument missing terminating nul%qD attribute directive ignored%qD attribute is meaningless since members of the anonymous namespace get local symbols%qD attribute requires a single NTBS argument%qD called in a constant expression%qD called in a constant expression before its definition is complete%qD called on a pointer passed to mismatched reallocation function %qD%qD called on a pointer to an unallocated object %qE%qD called on pointer %qE passed to mismatched allocation function %qD%qD called on pointer %qE with nonzero offset%s%qD called on pointer returned from a mismatched allocation function%qD called on pointer to an unallocated object%qD called on unallocated object %qD%qD can be marked override%qD cannot appear in a constant-expression%qD cannot be %qs%qD cannot be declared %, since it is always static%qD cannot be defaulted%qD cannot be used as a function%qD cannot have default arguments%qD changed semantics in GCC 4.4%qD clearing an object of non-trivial type %#qT%s%qD clearing an object of type %#qT containing a pointer-to-member%s%qD clearing an object of type %#qT with no trivial copy-assignment%s%qD conflicts with used function%qD copying an object of non-trivial type %#qT from an array of %#qT%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead%qD declared % in % context%qD declared % in % context%qD declared %%qD declared as a % field%qD declared as a % parameter%qD declared as a % type%qD declared as a % variable%qD declared as a non-parameter%qD declared as an % field%qD declared as an % parameter%qD declared as an % type%qD declared as array of template placeholder type %qT%qD declared as reference but not initialized%qD declared here%qD declared here, later in the translation unit%qD declared weak after being used%qD defined % in % context%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>%qD defined % in % context%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>%qD defined but not used%qD defined here%qD destination unchanged after copying no bytes%qD destination unchanged after copying no bytes from a string of length %E%qD does not have % type%qD does not have a mappable type in %qs clause%qD does not have integral or enumeration type%qD does not have integral type%qD does not name an enumeration in %qT%qD does not refer to a function%qD does not refer to a namespace scope function%qD expecting %E byte in a region of size %E%qD expecting %E bytes in a region of size %E%qD expecting %E or more bytes in a region of size %E%qD expecting between %E and %E bytes in a region of size %E%qD forming offset %s is out of bounds%qD forming offset %s is out of the bounds [0, %wu]%qD forming offset %s is out of the bounds [0, %wu] of object %qD with type %qT%qD forming offset %s is out of the bounds of object %qD with type %qT%qD has a non-structural type%qD has a previous declaration here%qD has already been defined%qD has an incomplete type %qT%qD has incomplete type%qD has invalid argument list%qD has not been declared in %qD%qD has not been declared within %qD%qD has the same name as the class in which it is declared%qD in % clause is a zero size array%qD inherits the %E ABI tag that %qT (used in its return type) has%qD inherits the %E ABI tag that %qT (used in its type) has%qD invalid in %q#T because of local member %q#D with same name%qD invalid in %q#T because of local method %q#D with same name%qD invalid in condition%qD invalid in lambda%qD is a function, not a type%qD is a namespace%qD is a usual (non-placement) deallocation function%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)%qD is already a friend of %qT%qD is already a friend of class %qT%qD is already defined in %qT%qD is already defined in class %qT%qD is already defined in the class %qT%qD is an enumeration template%qD is both a direct base and an indirect virtual base%qD is declared in header %qs%qD is defined with tls model %s%qD is deprecated%qD is deprecated: %s%qD is initialized with itself%qD is instantiated for an empty pack%qD is mutable%qD is normally a non-static function%qD is not a class or alias template%qD is not a class or namespace%qD is not a class type%qD is not a direct member of %qT%qD is not a function argument%qD is not a function template%qD is not a member of %qD%qD is not a member of %qD; did you mean %qs?%qD is not a member of %qT%qD is not a member of %qT; did you mean %qs?%qD is not a member template function%qD is not a namespace-name%qD is not a namespace-name; did you mean %qs?%qD is not a pointer variable%qD is not a static data member%qD is not a static data member of a class template%qD is not a template%qD is not a template function%qD is not a type%qD is not a valid template argument because %qD is a variable, not the address of a variable%qD is not a variable%qD is not a variable in % clause%qD is not a variable in % clause%qD is not a variable in % clause%qD is not a variable in %qs clause%qD is not a variable in clause %%qD is not a variable in clause %%qD is not a variable in clause %qs%qD is not a variable template%qD is not an argument in % clause%qD is not captured%qD is not compatible with %qD%qD is not defined outside of function scope%qD is not lvalue expression nor array section in %qs clause%qD is not public%qD is not usable as a % function because:%qD is static but used in inline function %qD which is not static%qD is threadprivate variable in %qs clause%qD is too small to hold all values of %q#T%qD is unavailable%qD is unavailable: %s%qD is used uninitialized%qD may access %E byte in a region of size %E%qD may access %E bytes in a region of size %E%qD may access %E or more bytes in a region of size %E%qD may access between %E and %E bytes in a region of size %E%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>%qD may be used uninitialized%qD may not be declared as static%qD may not be declared within a namespace%qD may read %E byte from a region of size %E%qD may read %E bytes from a region of size %E%qD may read %E or more bytes from a region of size %E%qD may read between %E and %E bytes from a region of size %E%qD may write %E byte into a region of size %E%qD may write %E bytes into a region of size %E%qD may write %E or more bytes into a region of size %E%qD may write between %E and %E bytes into a region of size %E%qD moving an object of non-trivial type %#qT and size %E into a region of size %E%qD moving an object of non-trivially copyable type %#qT; use % and % instead%qD moving an object of type %#qT with deleted copy constructor; use % and % instead%qD moving an object of type %#qT with deleted destructor%qD must be a global variable in %<#pragma acc declare link%>%qD must be a member function%qD must be a non-member function%qD must be a non-static member function%qD must be a variable declared in the same scope as %<#pragma acc declare%>%qD must be either a non-static member function or a non-member function%qD must have an argument of class or enumerated type%qD must have either one or two arguments%qD must have either zero or one argument%qD must have exactly one argument%qD must have exactly two arguments%qD must have no arguments%qD must not have variable number of arguments%qD not defined%qD of a string of length %wu and an array of size %wu evaluates to nonzero%qD of a string of length %wu or more and an array of size %wu evaluates to nonzero%qD of a string of length %wu, an array of size %wu and bound of %wu evaluates to nonzero%qD of strings of length %wu and %wu and bound of %wu evaluates to nonzero%qD offset %s from the object at %qE is out of the bounds of %qT%qD offset %s from the object at %qE is out of the bounds of referenced subobject %qD with type %qT at offset %wi%qD offset %s is out of bounds%qD offset %s is out of the bounds [0, %wu]%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT%qD offset %s is out of the bounds of object %qD with type %qT%qD only valid in lambda with %<-std=c++23%> or %<-std=gnu++23%>%qD output may be truncated copying %E byte from a string of length %wu%qD output may be truncated copying %E bytes from a string of length %wu%qD output may be truncated copying between %wu and %wu bytes from a string of length %wu%qD output truncated before terminating nul copying %E byte from a string of the same length%qD output truncated before terminating nul copying %E bytes from a string of the same length%qD output truncated before terminating nul copying as many bytes from a string as its length%qD output truncated copying %E byte from a string of length %wu%qD output truncated copying %E bytes from a string of length %wu%qD output truncated copying between %wu and %wu bytes from a string of length %wu%qD pointer overflow between offset %s and size %s%qD pointer overflow between offset %s and size %s accessing array %qD with type %qT%qD reading %E byte from a region of size %E%qD reading %E bytes from a region of size %E%qD reading %E or more bytes from a region of size %E%qD reading between %E and %E bytes from a region of size %E%qD redeclared with different access%qD redeclared with different visibility%qD referenced in target region does not have a mappable type%qD renamed after being referenced in assembly%qD should be initialized%qD should be initialized in the member initialization list%qD should have been declared inside %qD%qD should return by value%qD source argument is the same as destination%qD specified both in declare target % and % or % clauses%qD specified both in declare target % and %qs clauses%qD specified both in declare target % and implicitly in % clauses%qD specified bound %E equals destination size%qD specified bound %E equals source length%qD specified bound %E exceeds destination size %E%qD specified bound %E exceeds maximum object size %E%qD specified bound %E exceeds source size %E%qD specified bound %E may exceed destination size %E%qD specified bound %E may exceed maximum object size %E%qD specified bound %E may exceed source size %E%qD specified bound %s exceeds maximum object size %E%qD specified bound %s exceeds the size %E of unterminated array%qD specified bound %s exceeds the size of at most %E of unterminated array%qD specified bound %s may exceed the size of at most %E of unterminated array%qD specified bound %wu exceeds maximum object size %wu%qD specified bound [%E, %E] exceeds destination size %E%qD specified bound [%E, %E] exceeds maximum object size %E%qD specified bound [%E, %E] exceeds source size %E%qD specified bound [%E, %E] may exceed destination size %E%qD specified bound [%E, %E] may exceed maximum object size %E%qD specified bound [%E, %E] may exceed source size %E%qD specified bound between %wu and %wu exceeds maximum object size %wu%qD specified bound depends on the length of the source argument%qD specified in % clause but not in an explicit privatization clause%qD specified in % % clause but not in % directive clause%qD specified in %qs clause but not in % % clause on the containing construct%qD specified size %E exceeds maximum object size %E%qD specified size %E may exceed maximum object size %E%qD specified size between %E and %E exceeds maximum object size %E%qD specified size between %E and %E may exceed maximum object size %E%qD specifier conflicts with %%qD specifier conflicts with %qs%qD specifies less restrictive attribute than its target %qD: %s%qD specifies less restrictive attributes than its target %qD: %s%qD specifies more restrictive attribute than its target %qD: %s%qD specifies more restrictive attributes than its target %qD: %s%qD target declared here%qD used as a variant with incompatible % selector sets%qD used before its definition%qD used in its own initializer%qD used without template arguments%qD violates the C++ One Definition Rule%qD was declared % and later %%qD was declared %qs which implies default visibility%qD was declared here%qD was hidden%qD was not declared %%qD was not declared in this scope%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation%qD was not declared in this scope; did you mean %qs?%qD was not initialized with a constant expression%qD was previously declared here%qD was used with no declaration before its definition%qD was used with no prototype before its definition%qD will be initialized after%qD writing %E byte into a region of size %E overflows the destination%qD writing %E bytes into a region of size %E overflows the destination%qD writing %E or more bytes into a region of size %E overflows the destination%qD writing %wu byte into a region of size %wu%qD writing %wu bytes into a region of size %wu%qD writing %wu byte into a region of size between %wu and %wu%qD writing %wu bytes into a region of size between %wu and %wu%qD writing between %E and %E bytes into a region of size %E overflows the destination%qD writing between %wu and %wu bytes into a region of size %wu%qD writing between %wu and %wu bytes into a region of size between %wu and %wu%qD writing one too many bytes into a region of a size that depends on %%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged%qD writing to an object of non-trivial type %#qT%s%qD writing to an object of non-trivially copyable type %#qT%s%qD writing to an object of type %#qT containing a pointer to data member%s%qD writing to an object of type %#qT with %qs member %qD%qD writing to an object of type %#qT with no trivial copy-assignment%qD writing to an object of type %#qT with no trivial copy-assignment%s%qD writing to an object with a deleted copy constructor%qD: visibility attribute ignored because it conflicts with previous declaration%qE 2.95 vtable-compatibility attribute applies only to C++ classes%qE 2.95 vtable-compatibility attribute applies only when compiling a kext%qE appears more than once in % clauses%qE appears more than once in % clauses%qE appears more than once in % clauses%qE appears more than once in data clauses%qE appears more than once in map clauses%qE appears more than once on the same % directive%qE argument %Z may overlap destination object %qE%qE arguments %Z may overlap destination object %qE%qE argument %Z overlaps destination object %qE%qE arguments %Z overlap destination object %qE%qE argument is not a function%qE argument must be one of %qs, %qs, %qs, or %qs%qE argument not a string%qE argument not an identifier%qE arguments %Z and maybe %Z overlap destination object %qE%qE attribute address out of range%qE attribute allows only an integer constant argument%qE attribute applied to %qD with void return type%qE attribute applied to %qT after its definition%qE attribute applied to extern "C" declaration %qD%qE attribute applied to non-class, non-enum type %qT%qE attribute applied to non-function, non-variable %qD%qE attribute applies only to functions%qE attribute applies only to initialized variables with external linkage%qE attribute argument %E is not a power of 2%qE attribute argument %E is not an integer constant%qE attribute argument %E is not in the range [0, %wu]%qE attribute argument %E is not positive%qE attribute argument %i has type %qT%qE attribute argument %i is invalid%qE attribute argument %i value %qE does not refer to a function parameter%qE attribute argument %i value %qE does not refer to a variable argument list%qE attribute argument %i value %qE exceeds the number of function parameters %u%qE attribute argument %i value %qE is not an integer constant%qE attribute argument %i value %qE refers to a variadic function parameter of unknown type%qE attribute argument %i value %qE refers to parameter type %qT%qE attribute argument %qE exceeds %u%qE attribute argument %qE is not an integer constant%qE attribute argument %qE is not an integer constant between 0 and 3%qE attribute argument %qE is not recognised%qE attribute argument 1 does not name a function%qE attribute argument 1 is ambiguous%qE attribute argument 1 must take a pointer type as its first argument%qE attribute argument 1 must take a pointer type as its first argument; have %qT%qE attribute argument cannot be a constant arithmetic expression%qE attribute argument cannot be a string%qE attribute argument has type %qT%qE attribute argument is invalid%qE attribute argument must be a string constant%qE attribute argument not a string constant%qE attribute argument not an integer%qE attribute argument not an integer constant%qE attribute argument should be between 0 to 255%qE attribute argument should be between 18 to 255%qE attribute argument value %qE does not refer to a function parameter%qE attribute argument value %qE does not refer to a variable argument list%qE attribute argument value %qE exceeds %wu%qE attribute argument value %qE exceeds the number of function parameters %u%qE attribute argument value %qE is negative%qE attribute argument value %qE is not an integer constant%qE attribute argument value %qE refers to a variadic function parameter of unknown type%qE attribute argument value %qE refers to parameter type %qT%qE attribute can only be applied to functions or parameters%qE attribute can only be applied to functions or to class or enumeration types%qE attribute can only be applied to functions or to structure, union or enumeration types%qE attribute can only be applied to non-static data members%qE attribute cannot be applied to a bit-field%qE attribute cannot be specified for local variables%qE attribute cannot be specified for register variables%qE attribute cannot be specified for thread-local variables%qE attribute conflicts with %qE attribute%qE attribute directive ignored%qE attribute does not apply to functions%qE attribute does not apply to types%qE attribute does not take any arguments%qE attribute doesn%'t apply to functions%qE attribute duplicated%qE attribute follows %qE%qE attribute has no effect%qE attribute has no effect on functions with static linkage%qE attribute has no effect on unit local functions%qE attribute have effect only on public objects%qE attribute ignored%qE attribute ignored because %qD does not have thread storage duration%qE attribute ignored because %qD is not a local variable%qE attribute ignored because %qD is not a variable%qE attribute ignored because %qT is already defined%qE attribute ignored due to conflict with %qs attribute%qE attribute ignored due to conflict with attribute %qs%qE attribute ignored for %qE%qE attribute ignored for field of type %qT%qE attribute ignored for type %qT%qE attribute ignored on a declaration of a different kind than referenced symbol%qE attribute ignored on a function returning %qT%qE attribute ignored on a redeclaration of the referenced symbol%qE attribute ignored on functions returning %qT; valid only for pointer return types%qE attribute ignored on non-class types%qE attribute ignored on objects of type %qT%qE attribute ignored on types%qE attribute ignored without %<-mcmse%> option%qE attribute ignored without %<-mistack%>%qE attribute ignored. Large memory model (%<-mlarge%>) is required.%qE attribute ignored. Use %<-fcf-protection%> option to enable it%qE attribute ignored; field must be a function pointer%qE attribute ignored; valid only for functions%qE attribute ignored; valid only for functions and function pointer fields%qE attribute is for pointer types only%qE attribute is not supported because endianness is not uniform%qE attribute is not supported for R8C target%qE attribute is only applicable on functions%qE attribute is only valid for Objective-C objects%qE attribute is only valid on % type%qE attribute is specific to ELF targets%qE attribute is supported only for SH2A%qE attribute is used for non-class method%qE attribute may be put on a typedef only; attribute is ignored%qE attribute may not be specified for %q+D%qE attribute may not be specified for a non-array field%qE attribute must appear before %qs attribute%qE attribute must apply to a declaration%qE attribute not allowed with auto storage class%qE attribute not available to functions that return value on the stack%qE attribute not available to functions with arguments passed on the stack%qE attribute not available to functions with variable number of arguments%qE attribute on a function not returning a pointer%qE attribute on function returning %%qE attribute on non-volatile variable%qE attribute only affects top level objects%qE attribute only applies to SH2A%qE attribute only applies to base type of a function pointer%qE attribute only applies to function types%qE attribute only applies to functions%qE attribute only applies to interrupt functions%qE attribute only applies to structure, union and class types%qE attribute only applies to types%qE attribute only applies to variables%qE attribute only applies to variables in static storage%qE attribute only applies to variadic functions%qE attribute only available for 32-bit%qE attribute only supported for reduced Tiny cores%qE attribute only supported on boolean types%qE attribute only supported on non-mask vector types%qE attribute only valid for ARC EM architecture%qE attribute only valid for ARCv2 architecture%qE attribute requires %s%qE attribute requires a string argument%qE attribute requires a string constant argument%qE attribute requires a void return type%qE attribute requires an integer argument%qE attribute requires an integer constant argument%qE attribute requires prototypes with named arguments%qE attribute takes no arguments%qE attribute with unsupported boolean precision%qE attribute without arguments on a non-prototype%qE cannot be applied to non-pointer type %qT%qE cannot be introduced with an ellipsis %<...%>%qE cannot be used as a function%qE cannot be used as a member pointer, since it is of type %qT%qE cannot have both %qs and %qs attributes%qE declared % after first use%qE declared as function returning a function%qE declared as function returning an array%qE declared here%qE defined as wrong kind of tag%qE does not constrain a type%qE does not have % type in % clause with % dependence type%qE does not have a mappable type in %qs clause%qE does not have pointer or array type%qE does not name a type%qE does not name a type; did you mean %qs?%qE does not satisfy return-type-requirement%qE does not satisfy return-type-requirement, because%qE does not support 32-bit sign-extended offsets%qE does not support 32-bit vector type %qT%qE does not support sign-extended offsets%qE evaluates to false%qE fails to be a typedef or built in type%qE has both % and initializer%qE has const type for %%qE has invalid type for %%qE has no form that takes %qT arguments%qE has not been declared%qE implies default visibility, but %qD has already been declared with a different visibility%qE in % clause is neither a pointer nor an array%qE in % clause is neither a pointer nor an array nor a reference to pointer or array%qE in % clause is a zero size array%qE in %q#T does not name a template type%qE in %q#T does not name a type%qE in namespace %qE does not name a template type%qE in namespace %qE does not name a template type; did you mean %qs?%qE in namespace %qE does not name a type%qE in namespace %qE does not name a type; did you mean %qs?%qE incompatible attribute ignored%qE initialized and declared %%qE is a member of a union%qE is a pointer to pointer; did you mean to dereference it before applying %<->%> to it?%qE is a pointer; did you mean to use %<->%>?%qE is an unrecognized format function type%qE is deprecated%qE is deprecated: %s%qE is marked % or % but no usable % is provided by %qT%qE is neither a variable nor a function name in clause %qs%qE is neither function nor member function; cannot be declared friend%qE is not %%qE is not a class or namespace%qE is not a class template%qE is not a class, namespace, or enumeration%qE is not a constant expression%qE is not a constant expression because allocated storage has not been deallocated%qE is not a constant expression because it refers to a result of %%qE is not a constant expression because it refers to an incompletely initialized variable%qE is not a constant expression because it refers to mutable subobjects of %qT%qE is not a constant expression when the class %qT is still incomplete%qE is not a template%qE is not a type%qE is not a valid % qualifier%qE is not a valid template argument for %qT because it is not the address of a variable%qE is not a valid template argument for type %qT%qE is not a valid template argument for type %qT because %qD does not have external linkage%qE is not a valid template argument for type %qT because %qD has no linkage%qE is not a valid template argument for type %qT because it is a pointer%qE is not a valid template argument for type %qT because it is not an lvalue%qE is not a valid template argument for type %qT because it is of type %qT%qE is not a valid template argument for type %qT because of conflicts in cv-qualification%qE is not a valid template argument for type %qT because string literals can never be used in this context%qE is not a valid template argument of type %qT because %qD has no linkage%qE is not a valid template argument of type %qT because %qE is not a variable or function%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage%qE is not a variable in % clause%qE is not a variable in % clause%qE is not a variable in % clause%qE is not a variable in %qs clause%qE is not a variable in clause %%qE is not a variable in clause %%qE is not a variable in clause %qs%qE is not an Objective-C class name or alias%qE is not an argument in % clause%qE is not at beginning of declaration%qE is not initialized%qE is not lvalue expression nor array section in %qs clause%qE is not of type %qT%qE is not recognized as a module control-line%qE is not the entire pattern of the pack expansion%qE is only allowed in Objective-C dialects%qE is only applicable to Objective-C class interfaces, attribute ignored%qE is predetermined %qs for %qs%qE is provided by %qT but % cannot be found%qE is provided by %qT but %qE is not marked % or %%qE is provided by %qT but is not usable with the function signature %qD%qE is unavailable%qE is unavailable: %s%qE is used uninitialized%qE may be used uninitialized%qE may not respond to %<%c%E%>%qE may only occur after a module interface declaration%qE may only occur once in an export declaration%qE may write a terminating nul past the end of the destination%qE missing template arguments%qE must be % for %%qE needs isa option %s%qE needs unknown isa option%qE not specified in enclosing %%qE not specified in enclosing %qs%qE not specified in enclosing OpenACC %qs construct%qE output %wu byte%qE output %wu bytes%qE output %wu byte into a destination of size %wu%qE output %wu bytes into a destination of size %wu%qE output %wu or more bytes%qE output %wu or more bytes (assuming %wu)%qE output %wu or more bytes (assuming %wu) into a destination of size %wu%qE output %wu or more bytes into a destination of size %wu%qE output between %wu and %wu bytes%qE output between %wu and %wu bytes into a destination of size %wu%qE output may be truncated before the last format character%qE output truncated before the last format character%qE redeclared as different kind of symbol%qE redeclared with conflicting %qs attributes%qE requires %<-fgnu-tm%>%qE requires a % directive for use in a % function%qE requires a vector base and a scalar index%qE requires an argument%qE requires the SVE ISA extension%qE should not have % type in % clause with dependence type other than %%qE specified here%qE undeclared (first use in this function)%qE undeclared (first use in this function); did you mean %qs?%qE undeclared here (not in a function)%qE undeclared here (not in a function); did you mean %qs?%qE used with %%qE used with %%qE used with %%qE used with %%qE used with %%qE used with %qs%qE with % clause used in % function%qE writing a terminating nul past the end of the destination%qF declared % but never defined%qF requires %<-mvx%>%qF requires z14 or higher%qF requires z15 or higher%qT and %qT are in disjoint named address spaces%qT as type rather than plain %%qT declared here%qT declared in % compound literal%qT declared in underspecified object declaration%qT declared in underspecified object initializer%qT declared with a mismatched class-key %qs%qT declared with greater visibility than its base %qT%qT declared with greater visibility than the type of its field %qD%qT defined as %qs here%qT defined in % compound literal%qT defined in underspecified object declaration%qT defined in underspecified object initializer%qT defined with direct virtual base%qT defined with multiple direct bases%qT does not have the %E ABI tag that %qT (used in the type of %qD) has%qT does not have the %E ABI tag that base %qT has%qT does not match original declaration%qT first declared as %qs here%qT has a base %qT which depends on the type %qT which has no linkage%qT has a base %qT which has internal linkage%qT has a base %qT which has no linkage%qT has a base %qT which uses the anonymous namespace%qT has a field %q#D whose type has internal linkage%qT has a field %q#D whose type has no linkage%qT has a field %q#D whose type uses the anonymous namespace%qT has a field %qD whose type depends on the type %qT which has no linkage%qT has a previous declaration here%qT has no member named %qE%qT has no member named %qE; did you mean %qE?%qT has no non-static data member named %qD%qT is a variably modified type%qT is already a friend of %qT%qT is an ambiguous base class of dynamic type %qT of its operand%qT is an ambiguous base of %qT%qT is an inaccessible base of %qT%qT is not a base of %qT%qT is not a class or namespace%qT is not a class type%qT is not a class, namespace, or enumeration%qT is not a class, struct, or union type%qT is not a direct base of %qT%qT is not a member class template of %qT%qT is not a member of %qT%qT is not a nested class of %qT%qT is not a pointer-to-object type%qT is not a template%qT is not a template type%qT is not a valid type for a template non-type parameter because it is not structural%qT is not an % qualifier%qT is not an accessible base of %qT%qT is not an enumeration type%qT is promoted to %qT when passed through %<...%>%qT is/uses unnamed type%qT may not intend to support class template argument deduction%qT not permitted in template argument%qT referred to as %qs%qT referred to as enum%qT resolves to %qT, which is not a class type%qT resolves to %qT, which is not an enumeration type%qT%d%qE%dpassing single vector %qT to argument %d of %qE, which expects a tuple of %d vectors%qV qualifiers cannot be applied to %qT%qc conversion used unquoted%qc conversion used within a quoted sequence%qc directive redundant after prior occurence of the same%qs%qs LHS in assignment statement%qs LHS in clobber statement%qs RHS in assignment statement%qs accessing uninitialized byte at offset %d%qs already defined as specific binding for the generic %qs at %C%qs and %<%s-%s%> are incompatible%qs and %<%s=%s%> are incompatible%qs and %qs are incompatible%qs and %qs arguments of %qs intrinsic at %L must have identical shape.%qs and %qs arguments of %qs intrinsic at %L must have the same type%qs and %qs attributes are not compatible%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L%qs and %qs cannot both be enabled%qs and %qs for GENERIC %qs at %L are ambiguous%qs appears more than once in % clauses at %L%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix%qs applied to a void type%qs applied to an incomplete type%qs applied to non-SVE type %qT%qs applied to non-vector type %qT%qs applied to type %qT, which already has a size%qs argument has invalid operand number (argument %lu)%qs argument missing terminating nul%qs argument of %qs intrinsic at %L cannot be INTENT(IN)%qs argument of %qs intrinsic at %L cannot be of type %s%qs argument of %qs intrinsic at %L has invalid permutation of dimensions (dimension %qd duplicated)%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/%ld)%qs argument of %qs intrinsic at %L has negative element (%d)%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)%qs argument of %qs intrinsic at %L is empty%qs argument of %qs intrinsic at %L is not a valid dimension index%qs argument of %qs intrinsic at %L must be %s%qs argument of %qs intrinsic at %L must be ALLOCATABLE%qs argument of %qs intrinsic at %L must be INTEGER%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE%qs argument of %qs intrinsic at %L must be INTEGER or REAL%qs argument of %qs intrinsic at %L must be INTEGER or REAL or CHARACTER%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ literal constant%qs argument of %qs intrinsic at %L must be REAL or COMPLEX%qs argument of %qs intrinsic at %L must be a POINTER%qs argument of %qs intrinsic at %L must be a POINTER or a TARGET%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or procedure pointer%qs argument of %qs intrinsic at %L must be a constant%qs argument of %qs intrinsic at %L must be a data entity%qs argument of %qs intrinsic at %L must be a logical array%qs argument of %qs intrinsic at %L must be a pointer or target VARIABLE or FUNCTION%qs argument of %qs intrinsic at %L must be a scalar%qs argument of %qs intrinsic at %L must be a variable%qs argument of %qs intrinsic at %L must be an array%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s%qs argument of %qs intrinsic at %L must be default real%qs argument of %qs intrinsic at %L must be double precision%qs argument of %qs intrinsic at %L must be less than rank %d%qs argument of %qs intrinsic at %L must be numeric or LOGICAL%qs argument of %qs intrinsic at %L must be of a dummy variable%qs argument of %qs intrinsic at %L must be of a kind not wider than the default kind (%d)%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable%qs argument of %qs intrinsic at %L must be of an extensible type%qs argument of %qs intrinsic at %L must be of intrinsic type%qs argument of %qs intrinsic at %L must be of kind %d%qs argument of %qs intrinsic at %L must be of rank %d%qs argument of %qs intrinsic at %L must be of rank 1 or 2%qs argument of %qs intrinsic at %L must be positive%qs argument of %qs intrinsic at %L must be the same kind as %qs%qs argument of %qs intrinsic at %L must be the same type and kind as %qs%qs argument of %qs intrinsic at %L must have a numeric type%qs argument of %qs intrinsic at %L must have a type of either REAL or INTEGER%qs argument of %qs intrinsic at %L must have length at least 1%qs argument of %qs intrinsic at %L must have the same rank as %qs or be a scalar%qs argument of %qs intrinsic at %L must not be OPTIONAL%qs argument of %qs intrinsic at %L must not be a subobject of %qs%qs argument of %qs intrinsic at %L must not be present if % is COMPLEX%qs argument of %qs intrinsic at %L must provide at least as many elements as there are .TRUE. values in %qs (%ld/%d)%qs argument of %qs intrinsic at %L not yet supported%qs argument of %qs intrinsic at %L shall be of type integer, real or character%qs argument of %qs intrinsic at %L shall have the same type as %qs at %L%qs argument of %qs intrinsic at %L shall not be TYPE(*)%qs argument of %qs intrinsic at %L shall not be a procedure%qs argument of %qs intrinsic at %L shall not be an assumed-size array%qs argument of %qs intrinsic at %L shall not be coindexed%qs argument of %qs intrinsic at %L shall specify a valid integer kind%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar%qs argument references non-pointer operand (argument %lu, operand %lu)%qs argument with out-of-range operand number (argument %lu, operand %lu)%qs at %C is a DEC extension, enable with %<-fdec-structure%>%qs at %C is a redefinition of the declaration in the corresponding interface for MODULE PROCEDURE %qs%qs at %C is already defined as FINAL procedure%qs at %C is not a member of the %qs structure%qs at %C is not a member of the %qs structure; did you mean %qs?%qs at %C is not a variable%qs at %C is not an inquiry reference to an intrinsic type component%qs at %C is not an inquiry reference to an intrinsic type component %qs%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)%qs at %L already is initialized at %L%qs at %L associated to expression cannot be used in a variable definition context (%s)%qs at %L associated to vector-indexed target cannot be used in a variable definition context (%s)%qs at %L cannot appear in COMMON [F2008:C5100]%qs at %L cannot have the VALUE attribute because it is not a dummy argument%qs at %L has a type, which is not consistent with the CALL at %L%qs at %L has attributes specified outside its INTERFACE body%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array%qs at %L is ambiguous%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name%qs at %L is not a VALUE%qs at %L is not a function%qs at %L is not a module procedure%qs at %L is of the ABSTRACT type %qs%qs at %L must be less than BIT_SIZE(%qs)%qs at %L must be less than or equal to BIT_SIZE(%qs)%qs at %L must be less than or equal to the BIT_SIZE of INTEGER(KIND=%d)%qs at %L must be nonnegative%qs at %L must have constant character length in this context%qs at %L must have the same number of formal arguments as the overridden procedure%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding%qs at %L overrides a FUNCTION and must also be a FUNCTION%qs at %L overrides a NOPASS binding and must also be NOPASS%qs at %L overrides a PUBLIC procedure and must not be PRIVATE%qs at %L overrides a PURE procedure and must also be PURE%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE%qs at %L overrides a binding with PASS and must also be PASS%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either%qs at %L overrides a procedure binding declared NON_OVERRIDABLE%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL%qs at %L shall be an INTENT(OUT) variable%qs at %L should be a FUNCTION%qs at %L should be a SUBROUTINE%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)%qs attribute cannot be applied to a function that does not take variable arguments%qs attribute directive ignored%qs attribute ignored%qs attribute not supported for %qE in %<__builtin_has_attribute%>%qs attribute not supported for %qT in %<__builtin_has_attribute%>%qs attribute not supported in %<__builtin_has_attribute%>%qs attribute only applies to functions%qs attribute only applies to variadic functions%qs attribute requires prototypes with named arguments%qs attribute without arguments on a non-prototype%qs cannot appear in a constant-expression%qs cannot appear in a typedef declaration%qs cannot be constant evaluated because the argument cannot be encoded%qs cannot be constant evaluated because the argument cannot be interpreted%qs cannot be constant evaluated because the type is too large%qs cannot be constant evaluated on the target%qs cannot be extended at %C because it is BIND(C)%qs cannot be extended at %C because it is a SEQUENCE type%qs cannot be initialized with%<-ftrivial-auto-var_init%>%qs cannot be used for compiling a shared library%qs cannot be used for type declarations%qs cannot be used in a % function%qs cannot be used in a constructor%qs cannot be used in a destructor%qs cannot be used in a function with a deduced return type%qs cannot be used in a varargs function%qs cannot be used in the % function%qs cannot be used outside a function%qs clause at %L specified more than once%qs clause is incompatible with % or % clauses%qs clause may not appear on non-rectangular %qs%qs clause requires %qs clause%qs clause specified together with % % clause%qs clause used lexically after first target construct or offloading API%qs clause with % modifier refers to iteration never in the iteration space%qs clause with % modifier waiting for lexically later iteration%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct%qs combined with % qualifier for %qE%qs combined with % qualifier for %qE%qs conflicts with %<-arch i386%> (%qs ignored)%qs conflicts with %<-arch ppc%> (%qs ignored)%qs construct inside of %qs region%qs declared INTRINSIC at %L does not exist%qs declared as function returning a function%qs declared as function returning an array%qs declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL.%qs declared at %L may shadow the intrinsic of the same name. In order to call the intrinsic, explicit INTRINSIC declarations may be required.%qs declared in a non-class scope%qs defined in a non-class scope%qs directive mentioned both times in ABSENT and CONTAINS clauses in %s directive at %L%qs directive mentioned multiple times in %s clause in %s directive at %L%qs does not support MIPS16 code%qs does not support feature %qs%qs does not work on a cross compiler%qs entity cannot have an initializer at %C%qs entity cannot have attributes at %C%qs expects 1 argument but %d given%qs expects 2 arguments but %d given%qs expects a constant argument%qs expects a fixed-point value as argument%qs expects a fixed-point value as first argument%qs expects an integer value as second argument%qs expression must be integral%qs expression of %-qualified type is deprecated%qs failed%qs feature modifier is incompatible with the use of floating-point types%qs feature modifier is incompatible with the use of vector types%qs function cannot have arguments%qs function cannot have different interrupt type%qs function cannot return a value%qs function uses % type specifier without trailing return type%qs function with trailing return type has % as its type rather than plain %%qs function with trailing return type has %qT as its type rather than plain %%qs function with trailing return type not declared with % type specifier%qs has %qs%qs has both % and initializer%qs has overflowed%qs in %<%s %E%>%qs in %s clause at %L is a zero size array section%qs in %s clause at %L is not a proper array section%qs in ALIGNED clause at %L requires a scalar positive constant integer alignment expression%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at %L%qs in EXTENDS expression at %C is not a derived type%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause%qs in LINEAR clause at %L requires a scalar integer linear-step expression%qs in attribute syntax terminated with %qs in pragma syntax%qs in empty declaration%qs in empty declaration with % underlying type%qs in gimple IL%qs in pragma syntax terminated with %qs in attribute syntax%qs in the pointer assignment at %L cannot be an l-value since it is a procedure%qs in variable definition context (%s) at %L is not a variable%qs incompatible with explicitly disabled options%qs initialized and declared %%qs into non-mode-precision operand%qs intrinsic subprogram at %L has been removed. Use INT intrinsic subprogram.%qs intrinsic with CHARACTER argument at %L%qs intrinsic with KIND argument at %L%qs intrinsic with RADIX argument at %L%qs is a nested function and cannot be accessed from %qs%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro%qs is already IMPORTed from host scoping unit at %C%qs is an invalid argument to %<-mcpu=%>%qs is an opaque type, and you cannot set it to other values%qs is an unknown %<-save-temps%> option%qs is corrupted%qs is defined but could not be loaded: %s%qs is defined but plugin support is disabled%qs is defined in header %qs; did you forget to %<#include %s%>?%qs is deprecated%qs is deprecated and not recommended in any circumstances%qs is deprecated; use -fno-zero-initialized-in-bss%qs is deprecated; use -fstack-check%qs is incompatible with %qs%qs is incompatible with the use of floating-point types%qs is incompatible with the use of vector types%qs is loaded but symbol %qs is not found: %s%qs is mutually exclusive with %qs and cannot be specified together%qs is narrower than values of its type%qs is neither a defined operator nor a structure component in dotted string at %C%qs is not a constant expression because %qT contains a pointer to member type%qs is not a constant expression because %qT contains a pointer type%qs is not a constant expression because %qT contains a reference type%qs is not a constant expression because %qT contains a union type%qs is not a constant expression because %qT contains a volatile subobject%qs is not a constant expression because %qT is a pointer to member type%qs is not a constant expression because %qT is a pointer type%qs is not a constant expression because %qT is a reference type%qs is not a constant expression because %qT is a union type%qs is not a constant expression because %qT is volatile%qs is not a directory%qs is not a field, but a %qs%qs is not a gcov data file%qs is not a valid Modula-2 system library name or abbreviation%qs is not a valid base register in %<-mstack-protector-guard-reg=%>%qs is not a valid base register in %qs%qs is not a valid number in %<-mstack-protector-guard-offset=%>%qs is not a valid number in %qs%qs is not a valid offset in %<-mstack-protector-guard-offset=%>%qs is not a valid offset in %qs%qs is not a valid option to the preprocessor%qs is not an associative array%qs is not an expression%qs is not an option that controls warnings%qs is not defined as a type%qs is not supported by arch %s%qs is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries%qs is not supported for this target%qs is not supported in 32-bit mode%qs is not supported in this compiler configuration%qs is not supported in this configuration%qs is not supported on little endian systems%qs is not supported on this target%qs is not supported with %qs%qs is not supported, now cmodel is set to %qs%qs is not valid for %<-mmacosx-version-min%>%qs is not valid for %qs%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L%qs is used uninitialized%qs is version %q.*s, expected version %q.*s%qs length expression must be integral%qs length expression must be positive constant integer expression%qs matching variant is deprecated%qs matching variant requires z14 or higher%qs matching variant requires z15 or higher%qs may be used uninitialized%qs may only be used with a single declarator%qs must be a module procedure or an external procedure with an explicit interface at %L%qs must be by itself for %<-mharden-sls=%>%qs must be of same type and kind as %qs at %L in %qs%qs must be the first clause of %qs%qs must be used with %qs%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated%qs needs a valid base register%qs not allowed outside STRUCTURE at %C%qs not at element boundary%qs not supported by your assembler%qs not supported with %<-msoft-float%>%qs not yet supported%qs of %qs is PRIVATE at %L%qs of module %qs, imported at %C, is also the name of the current program unit%qs of non-mode-precision operand%qs only supported in OpenACC code%qs parameter inquiry for %qs in variable definition context (%s) at %L%qs plugin is not licensed under a GPL-compatible license%qs pointer is null%qs profile count data file not found%qs property cannot be set%qs region may not be closely nested inside of work-sharing, %, explicit % or % region%qs requires %<__ibm128%> type support%qs requires % to be IBM 128-bit format%qs requires %qs%qs requires %qs or %qs%qs requires PowerPC64 architecture, enabling%qs requires VSX support%qs requires a target that provides the %qs instruction%qs requires an initialized data declaration%qs requires an integer constant expression%qs requires branch-likely instructions%qs requires full ISA 2.06 support%qs requires full ISA 3.0 support%qs requires quad-precision floating-point arithmetic%qs requires the %qs and %qs options%qs requires the %qs option%qs requires the %qs option and either the %qs or %qs option%qs requires the ELFv2 ABI%qs should be %qs to terminate a template argument list%qs should be from a scalar to a like vector%qs specified bound %s exceeds maximum object size %E%qs specified bound %s exceeds the size %E of unterminated array%qs specified bound %s exceeds the size of at most %E of unterminated array%qs specified bound %s may exceed the size of at most %E of unterminated array%qs specified for auto variable %qE%qs specified for parameter %qE%qs specified for structure field%qs specified for structure field %qE%qs specified for unnamed parameter%qs specified in % clause at %L but not in an explicit privatization clause%qs specified in 'allocate' clause at %L but not in an explicit privatization clause%qs specified multiple times in the same option%qs specified with %%qs specified with %%qs specified with %qD%qs specified with %qT%qs specifies a conflicting level of parallelism%qs string ill-formed%qs symbol %q+D must have static linkage%qs symbol %q+D ultimately targets itself%qs tag used in naming %q#T%qs unsupported for this ABI%qs used with %%qs used with %qE%qs uses dynamic stack allocation%qs uses register r29%qs value must be positive%qs variable is neither a pointer nor an array%qs variable is neither a pointer nor reference to pointer%qs variable is neither a pointer, nor an array nor reference to pointer or array%qs variable is not a pointer%qs was declared here%qs without corresponding %qs%qs: [%u] bad % for empty chain (%u)%qs: [%u] bad % (%u)%qs: [%u] non-empty register in chain (%s %u %i)%qs: loop in % chain (%u)%r%s:%d:%R %r%s:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] %r%s:%d:%R in % expansion of %qs%r%s:%d:%d:%R %r%s:%d:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] %r%s:%d:%d:%R in % expansion of %qs%s%s %s Same as %s.%s !$ACC LOOP loops not perfectly nested at %L%s %#qD%s %#qS%s %<%s%.*s%> expects a matching %<%T%s%> argument%s %<%s%.*s%> expects a matching %<%s%s%> argument%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT%s %<%s%.*s%> expects argument of type %<%s%s%>, but argument %d has type %qT%s %<%s(%E)%> %p %d%s %qE does not fully implement the %qE protocol%s %qs%s %qs construct inside of %s %qs region%s %qs is an invalid argument to builtin %qs%s %s %p %d%s %s%s --- 1842,1854 ---- [see %<-fno-allow-invalid-boz%>] because all of its copy and move constructors are deleted candidate 1: %q#F candidate 2: %q#F conflicting code gen style switches are used declared here the expression has a constant value but is not a C++ constant-expression zstd!$ACC LOOP %s loops don't form rectangular iteration space at %L!$ACC LOOP cannot be a DO CONCURRENT loop at %L!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L!$ACC LOOP iteration variable must be of type integer at %L!$ACC ROUTINE already applied at %C!$ACC ROUTINE with GANG, WORKER, or VECTOR clause is not permitted in PURE procedure at %C!$ACC at %C starts a commented line as it neither is followed by a space nor is a continuation line!$OMP ASSUMES at %C must be in the specification part of a subprogram or module!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L!$OMP ATOMIC READ at %L incompatible with RELEASE clause!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE clause or using the intrinsic MIN/MAX procedure!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE!$OMP ATOMIC at %L with %s clause requires %s clause!$OMP ATOMIC capture-statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type at %L!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L!$OMP ATOMIC intrinsic arguments must be scalar at %L!$OMP ATOMIC statement must assign an expression of intrinsic type at %L!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L!$OMP ATOMIC with ALLOCATABLE variable at %L!$OMP DECLARE REDUCTION %s not found at %L!$OMP DECLARE REDUCTION %s not found for type %s at %L!$OMP DECLARE SIMD should refer to containing procedure %qs at %L!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd!$OMP REQUIRES at %C must appear in the specification part of a program unit!$OMP REQUIRES clause % specified at %L overrides a previous % (which might be through using a module)!$OMP REQUIRES clause % specified via module %qs use at %L but same clause is not specified for the program unit!$OMP REQUIRES clause % specified via module %qs use at %L overrides a previous % (which might be through using a module)!$OMP REQUIRES clause %qs specified at %L comes after using a device construct/routine!$OMP REQUIRES clause %qs specified via module %qs use at %L but same clause is not specified for the program unit!$OMP REQUIRES clause %qs specified via module %qs use at %L comes after using a device construct/routine!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"::" was expected after module nature at %C but was not found"USE :: module" at %C# %s %.2f %.2f #include "..." search starts here: #include <...> search starts here: ! $ descriptor at %L$ should be the last specifier in format at %L$OMP ERROR encountered at %L$OMP ERROR encountered at %L: %s%#qT declared here%#qT defined here%%:% takes 1 or more pairs of parameters%%:% takes an even number of parameters%%LOC() as an rvalue at %C%%d, %%e, %%f, %%g operand modifiers are for memory references or constant values only%+qD causes a section type conflict%+qD causes a section type conflict with %qD%+qD declared %qE after being used%+qD declared %qs after being used%+qD without % attribute and %qD with % attribute are placed in a section with the same name% not valid in GIMPLE%<#define %s%>%<#pragma %s%> may only be used at file scope%<#pragma %s%> may only be used in compound statements%<#pragma GCC aarch64%> requires a string parameter%<#pragma GCC arm%> requires a string parameter%<#pragma GCC ivdep%> must be inside a function%<#pragma GCC memregs%> must precede any function declarations%<#pragma GCC memregs%> takes a number [0-16]%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>%<#pragma GCC optimize%> is not a string or number%<#pragma GCC optimize%> is not allowed inside functions%<#pragma GCC optimize%> string is badly formed%<#pragma GCC option%> is not a string%<#pragma GCC option%> is not allowed inside functions%<#pragma GCC pch_preprocess%> must be first%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>%<#pragma GCC target%> is not supported for this machine%<#pragma GCC target%> string is badly formed%<#pragma GCC unroll%> must be inside a function%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u%<#pragma GCC visibility push()%> must specify %, %, % or %%<#pragma GCC visibility%> must be followed by % or %%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target%<#pragma acc %s data%> has no data movement clause%<#pragma acc routine%> must be applied before definition%<#pragma acc routine%> must be applied before use%<#pragma acc routine%> must be at file scope%<#pragma acc routine%> names a set of overloads%<#pragma acc routine%> not immediately followed by a single function declaration or definition%<#pragma acc routine%> not immediately followed by function declaration or definition%<#pragma acc update%> must contain at least one % or % or % clause%<#pragma align%> must appear before the declaration of %qD, ignoring%<#pragma implementation%> for %qs appears after file is included%<#pragma message: %s%>%<#pragma omp allocate%> not yet supported%<#pragma omp assumes%> may only be used at file or namespace scope%<#pragma omp atomic capture%> uses two different expressions for memory%<#pragma omp atomic capture%> uses two different variables for memory%<#pragma omp atomic compare capture%> with non-integral comparison result%<#pragma omp atomic read%> incompatible with % clause%<#pragma omp atomic update%> uses two different expressions for memory%<#pragma omp atomic update%> uses two different variables for memory%<#pragma omp atomic write%> incompatible with % clause%<#pragma omp cancel%> must specify one of %, %, % or % clauses%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses%<#pragma omp critical%> with % clause requires a name, except when % is used%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>%<#pragma omp declare %s%> must be followed by function declaration or definition%<#pragma omp declare %s%> must be followed by function declaration or definition or another %<#pragma omp declare %s%>%<#pragma omp declare %s%> not immediately followed by a function declaration or definition%<#pragma omp declare %s%> not immediately followed by a single function declaration or definition%<#pragma omp declare %s%> not immediately followed by function declaration or definition%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %%<#pragma omp declare reduction%> not at file or block scope%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>%<#pragma omp error%> with % clause may only be used in compound statements%<#pragma omp ordered%> with %qs clause may only be used in compound statements%<#pragma omp requires%> may only be used at file or namespace scope%<#pragma omp scan%> may only be used in a loop construct with % % clause%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct%<#pragma omp simd%> used with class iteration variable %qE%<#pragma omp target data%> must contain at least one %, % or % clause%<#pragma omp target data%> with map-type other than %, %, % or % on % clause%<#pragma omp target enter data%> must contain at least one % clause%<#pragma omp target enter data%> with map-type other than %, % or % on % clause%<#pragma omp target exit data%> must contain at least one % clause%<#pragma omp target exit data%> with map-type other than %, %, % or % on % clause%<#pragma omp target update%> must contain at least one % or % clauses%<#pragma omp target%> with map-type other than %, %, % or % on % clause%<#pragma omp target%> with modifier other than % or % on % clause%<#pragma pack (pop)%> encountered without matching %<#pragma pack (push)%>%<#pragma pack%> has no effect with %<-fpack-struct%> - ignored%<#pragma pack(pop, %E)%> encountered without matching %<#pragma pack(push, %E)%>%<#pragma redefine_extname%> ignored due to conflict with % declaration%<#pragma redefine_extname%> ignored due to conflict with previous %<#pragma redefine_extname%>%<#pragma redefine_extname%> ignored due to conflict with previous rename%<#pragma riscv intrinsic%> option %qs needs 'V' extension enabled%<#pragma riscv intrinsic%> requires a string parameter%<#pragma scalar_storage_order%> is not supported for C++%<#pragma vtable%> no longer supported%<#pragma weak%> declaration of %q+D not allowed, ignored%<#pragma%> GHS endXXX does not match previous startXXX%<#pragma%> GHS endXXX found without previous startXXX%<#pragma%> is not allowed here%<#undef %E%>%<$%>operand number used after format without operand number%<%%%> constraint used with last operand%<%%%c%> yields only last 2 digits of year%<%%%c%> yields only last 2 digits of year in some locales%<%.*s%> directive argument is not a nul-terminated string%<%.*s%> directive argument is null%<%.*s%> directive output between %wu and %wu bytes causes result to exceed %%<%.*s%> directive output between %wu and %wu bytes exceeds %%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output between %wu and %wu bytes may cause result to exceed %%<%.*s%> directive output between %wu and %wu bytes may exceed minimum required size of 4095%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output of %wu bytes causes result to exceed %%<%.*s%> directive output of %wu bytes exceeds %%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095%<%.*s%> directive output truncated writing %wu byte into a region of size %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive output truncated writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size %wu%<%.*s%> directive output truncated writing up to %wu bytes into a region of size between %wu and %wu%<%.*s%> directive precision out of range%<%.*s%> directive width out of range%<%.*s%> directive writing %wu byte into a region of size %wu%<%.*s%> directive writing %wu bytes into a region of size %wu%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing %wu or more bytes into a region of size %wu%<%.*s%> directive writing %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size %wu%<%.*s%> directive writing between %wu and %wu bytes into a region of size between %wu and %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu%<%.*s%> directive writing likely %wu or more bytes into a region of size between %wu and %wu%<%.*s%> directive writing up to %wu bytes into a region of size %wu%<%.*s%> directive writing up to %wu bytes into a region of size between %wu and %wu%<%D::%D%> is not a class member%<%D::%D%> is not a member of %qT%<%E (%E)%> attribute ignored on functions declared %qs%<%E (%E)%> attribute ignored with deallocation functions declared %qs%<%E::%E%> has not been declared%<%E::%E%> is not a class or namespace%<%E::%E%> is not a class, namespace, or enumeration%<%E::%E%> is not a type%<%E::%E%> scoped attribute directive ignored%<%T%s%D%> names destructor%<%T::%D%> names constructor in %qT%<%T::%D%> names the constructor, not the type%<%T::%E%> has not been declared%<%T::%E%> is not a type%<%T::%E%> names the constructor, not the type%<%c%> is not a valid character in an identifier%<%c%> is not a valid first character for an identifier%<%c%E%> not found in protocol(s)%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration%<%s %s%> construct not closely nested inside of %qs%<%s + %s%> at %L must be less than or equal to BIT_SIZE(%qs)%<%s taskgroup%> construct not closely nested inside of % region%<%s%s%s%s%s%> directive mentioned in both % and % clauses%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses%<%s(%s)%> is only allowed in %%<%s=%s%> and %<%s-%s%> are incompatible%<&%> constraint used with no register class%<&%> not allowed by itself in line %d%<&%> should come before %<...%>%<&&%> not valid in GIMPLE%<)%> expected at %C%<*%> in boolean context, suggest %<&&%> instead%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>%<-%s%> conflicts with the other architecture options, which specify a %s processor%<--help%> argument %q.*s is ambiguous, please be more specific%<--param constructive-interference-size=%d%> is greater than %<--param l1-cache-line-size=%d%>%<--param constructive-interference-size=%d%> is less than %d%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-line-size=%d%>%<--param destructive-interference-size=%d%> is less than %d%<-I-%> specified twice%<-MG%> may only be used with %<-M%> or %<-MM%>%<-W%serror=%s%>: no option %<-%s%>%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?%<-Wabi%> warns about differences from the most up-to-date ABI, which is also used by default%<-Wabi%> won%'t warn about anything%<-Wabi=1%> is not supported, using =2%<-Werror=%> argument %qs is not valid for %s%<-Werror=%s%>: %<-%s%> is not an option that controls warnings%<-Wformat-contains-nul%> ignored without %<-Wformat%>%<-Wformat-extra-args%> ignored without %<-Wformat%>%<-Wformat-nonliteral%> ignored without %<-Wformat%>%<-Wformat-security%> ignored without %<-Wformat%>%<-Wformat-y2k%> ignored without %<-Wformat%>%<-Wformat-zero-length%> ignored without %<-Wformat%>%<-Wmisleading-indentation%> is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present%<-f%s%> and %<%s=%s%> are incompatible%<-f%s%> is not supported with CONST16 instructions%<-f%s%> not supported: ignored%<-f%sleading-underscore%> not supported on this target machine%<-fPIC%> and %<-fpic%> are not supported on this target%<-fPIC%> is not supported%<-fPIC%>/%<-fpic%> not supported for this target%<-fPIE%> is not supported%<-fabi-compat-version=1%> is not supported, using =2%<-fabi-version=1%> is no longer supported%<-fabi-version=12%> (GCC 8.1) accidentally changes the calling convention for %qT%<-fabi-version=13%> (GCC 8.2) fixes the calling convention for %qT, which was accidentally changed in 8.1%<-falign-%s%> is not between 0 and %d%<-falign-labels=%d%> is not supported%<-falign-loops=%d%> is not supported%<-faligned-new=%d%> is not a power of two%<-fasan-shadow-offset%> should only be used with %<-fsanitize=kernel-address%>%<-fassociative-math%> disabled; other options take precedence%<-fcall-saved-REG%> is not supported for out registers%<-fcf-protection%> is not compatible with this target%<-fcf-protection=branch%> is not supported for this target%<-fcf-protection=full%> is not supported for this target%<-fcf-protection=return%> is not supported for this target%<-fcontract-assumption-mode=%> cannot be mixed with p1332/p1429%<-fcontract-assumption-mode=%> must be % or %%<-fcontract-build-level=%> cannot be mixed with p1332/p1429%<-fcontract-build-level=%> must be off|default|audit%<-fcontract-continuation-mode=%> cannot be mixed with p1332/p1429%<-fcontract-continuation-mode=%> must be % or %%<-fcontract-level=%> too many custom roles%<-fcontract-role=%> cannot be mixed with std/p1429 contract flags%<-fcontract-role=%> must be in the form role:semantics%<-fcontract-role=%> semantics must include default,audit,axiom values%<-fcontract-semantic=%> cannot be mixed with std/p1332 contract flags%<-fcontract-semantic=%> cannot find default role%<-fcontract-semantic=%> level must be default, audit, or axiom%<-fcontract-semantic=%> must be in the form level:semantic%<-fconvert=r16_ieee%> or %<-fconvert=r16_ibm%> not supported on this architecture%<-fd-lines-as-code%> has no effect in free form%<-fd-lines-as-comments%> has no effect in free form%<-fdata-sections%> not supported for this target%<-fdbg-cnt=%s:%d-%d%> has smaller upper limit than the lower%<-fdirectives-only%> is incompatible with %<-Wunused-macros%>%<-fdirectives-only%> is incompatible with %<-traditional%>%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>%<-fexcess-precision=16%> for Ada%<-fexcess-precision=16%> for Fortran%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>%<-fexcess-precision=16%> is not supported on this target%<-fexcess-precision=standard%> for Ada%<-fexcess-precision=standard%> for Fortran%<-ffunction-sections%> not supported for this target%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by default)%<-fipa-modref%> is incompatible with %qs%<-flinker-output=rel%> and %<-fltrans%> are mutually exclusive%<-fmodule-only%> used for non-interface%<-fmoduleinfo%> is not supported on this target%<-fno-fat-lto-objects%> are supported only with linker plugin%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode%<-fobjc-abi-version%> %d is not supported for 32 bit targets with %<-fnext-runtime%>%<-fobjc-abi-version%> 2 must be used for 64 bit targets with %<-fnext-runtime%>%<-fobjc-exceptions%> is required to enable Objective-C exception syntax%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> greater than 1%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> argument less than 2%<-foffload-abi%> option can be specified only for offload compiler%<-fonly=%> argument is different from first input file name%<-fopenacc-dim%> operand is malformed at %qs%<-fpic%> and %<-fPIC%> not supported without %<-mdsbt%> on this target%<-fpic%> and %<-mapcs-reent%> are incompatible%<-fpic%> is not supported%<-fpie%> is not supported%<-fprefetch-loop-arrays%> is not supported with %<-Os%>%<-fprefetch-loop-arrays%> not supported for this target%<-fprefetch-loop-arrays%> not supported for this target (try %<-march%> switches)%<-frecord-gcc-switches%> is not supported by the current target%<-freorder-blocks-and-partition%> does not support unwind info on this architecture%<-freorder-blocks-and-partition%> does not work on this architecture%<-freorder-blocks-and-partition%> does not work with exceptions on this architecture%<-freorder-blocks-and-partition%> not supported on this architecture%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option%<-fsanitize-recover=%s%> is not supported%<-fsanitize-trap=%s%> is not supported%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are not supported for this target%<-fsanitize=address%> not supported for this target%<-fsanitize=all%> option is not valid%<-fsanitize=kernel-address%> with stack protection is not supported without %<-fasan-shadow-offset=%> for this target%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> or %<-fsanitize=kernel-address%>%<-fsanitize=shadow-call-stack%> not supported in current platform%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>%<-fsplit-stack%> currently only supported on GNU/Linux%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with glibc-2.18 or later%<-fsplit-stack%> does not support 2 register parameters for a nested function%<-fsplit-stack%> does not support 3 register parameters%<-fsplit-stack%> does not support fastcall with nested function%<-fsplit-stack%> is not supported by this compiler configuration%<-fsplit-stack%> requires assembler support for CFI directives%<-fstack-check=%> and %<-fstack-clash-protection%> are mutually exclusive; disabling %<-fstack-check=%>%<-fstack-check=specific%> for Thumb-1%<-fstack-check=specific%> not implemented for MIPS16%<-fstack-clash-protection%> is not supported on targets where the stack grows from lower to higher addresses%<-fstack-limit-%> options are ignored with %<-mfdpic%>; use %<-mstack-check-l1%>%<-fstack-limit-%> options are not supported on this cpu%<-fstack-protector%> does not work on this architecture%<-fstack-protector%> not supported for this target%<-fuse-cxa-atexit%> is not supported for msp430-elf%<-fuse-linker-plugin%>, but %s not found%<-fwpa%> and %<-fltrans%> are mutually exclusive%<-g%> is only supported when using GAS on this processor%<-g%> option disabled%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf%> %<-g%s%> for debug level%<-gdwarf-6%> is output as version 5 with incompatibilities%<-ginline-points%> is forced disabled without %<-gstatement-frontiers%>%<-ginternal-reset-location-views%> is forced disabled without %<-gvariable-location-views%>%<-gnat%> misspelled as %<-gant%>%<-gsplit-dwarf%> is not supported on this platform, ignored%<-gsplit-dwarf%> is not supported with LTO, disabling%<-iplugindir%> option not passed from the gcc driver%<-m%s%> not supported in this configuration%<-m%s%> overrides %<-m%s=%s%>, adjusting ABI to %qs%<-m32%> conflicts with %<-arch ppc64%> (%<-m32%> ignored)%<-m32%> conflicts with %<-arch x86_64%> (%<-m32%> ignored)%<-m64%> requires a PowerPC64 cpu%<-m96bit-long-double%> is not compatible with this target%<-mabi=%s%> not supported with %<-fsanitize=address%>%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>%<-mabi=%s%> not supported with %<-fsanitize=thread%>%<-mabi=2fp+%> option only support when FPU available, must be enable %<-mext-fpu-sp%> or %<-mext-fpu-dp%>%<-mabi=ms%> not supported with X32 ABI%<-maix64%> required: 64-bit computation with 32-bit addressing not yet supported%<-maix64%> requires PowerPC64 architecture remain enabled%<-malign-functions%> is obsolete, use %<-falign-functions%>%<-malign-functions=%d%> is not between 0 and %d%<-malign-jumps%> is obsolete, use %<-falign-jumps%>%<-malign-jumps=%d%> is not between 0 and %d%<-malign-loops%> is obsolete, use %<-falign-loops%>%<-malign-loops=%d%> is not between 0 and %d%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>%<-march=%s%> is not compatible with the selected ABI%<-march=%s%> requires %<-mfp32%>%<-march=%s%>: %s must separate with %<_%>%<-march=%s%>: ISA string is not in canonical order. %<%c%>%<-march=%s%>: ISA string must begin with rv32 or rv64%<-march=%s%>: expect number after %<%dp%>%<-march=%s%>: extension %qs appear more than one time%<-march=%s%>: first ISA subset must be %, % or %%<-march=%s%>: for %<%s%dp%dp?%>, version number with more than 2 level is not supported%<-march=%s%>: name of %s must be more than 1 letter%<-march=%s%>: rv%de is not a valid base ISA%<-march=%s%>: unexpected ISA string at end: %qs%<-march=%s%>: unsupported ISA subset %<%c%>%<-march=%s%>: z*inx conflicts with floating-point extensions%<-masm=intel%> not supported in this configuration%<-max-stackframe=%d%> is not usable, not between 0 and %d%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in combination%<-mbranch-cost=%d%> is not between 0 and 5%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>%<-mcall-ms2sysv-xlogues%> is not compatible with %s%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH%<-mcmodel%> incompatible with other toc options%<-mcmodel=%> is not supported in 32-bit mode%<-mcode-region=either%> requires the large memory model (%<-mlarge%>)%<-mcode-region=upper%> requires the large memory model (%<-mlarge%>)%<-mcorea%> and %<-mcoreb%> cannot be used together%<-mcorea%> should be used with %<-mmulticore%>%<-mcoreb%> should be used with %<-mmulticore%>%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead%<-mcpu=%s%> conflicts with %<-march=%s%>%<-mcpu=%s%> has invalid silicon revision%<-mcpu=%s%> is not valid%<-mcpu=%s%>: unknown CPU%<-mdata-region=either%> requires the large memory model (%<-mlarge%>)%<-mdata-region=upper%> requires the large memory model (%<-mlarge%>)%<-mdiv%> requires %<-march%> to subsume the % extension%<-mdouble-float%> ignored without %<-mhard-float%>%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>%<-mes0%> can only be used with C%<-mexr%> is used without %<-ms%>%<-mexr%> is used without %<-ms%> or %<-msx%>%<-mfdivdu%> ignored without %<-mhard-float%>%<-mfdpic%> is not supported, please use a bfin-linux-uclibc target%<-mfentry%> is supported only for 64-bit CPUs%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>%<-mfloat-abi=hard%> and VFP%<-mfloat-abi=hard%>: selected architecture lacks an FPU%<-mfpxx%> can only be used with the o32 ABI%<-mfpxx%> requires %<-mlra%>%<-mfunction-return%> and %<-fcf-protection%> are not compatible%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI%<-mgp32%> used with a 64-bit ABI%<-mgp64%> used with a 32-bit ABI%<-mgp64%> used with a 32-bit processor%<-mgpopt%> not supported with PIC%<-mgprel-sec=%> argument is not a valid regular expression%<-mgprel-sec=%> not supported with PIC%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>%<-mhard-float%> is not supported by the selected CPU%<-mincoming-stack-boundary=%d%> is not between %d and 12%<-mindirect-branch%> and %<-fcf-protection%> are not compatible%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead%<-mips3d%> requires %<-mpaired-single%>%<-misr-secure=%d%> argument not in between 0 and 3%<-misr-vector-size=%d%> argument must be 4 or 16%<-mlam=%> option: [u48|u57] not supported for 32-bit code%<-mlarge%> requires a 430X-compatible %<-mmcu=%>%<-mlong-double-64%> not allowed with %<-m64%>%<-mloongson-ext2%> must be used with %<-mloongson-ext%>%<-mloongson-mmi%> must be used with %<-mhard-float%>%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>%<-mmul=g13%> cannot be used with %<-mcpu=g10%>%<-mmul=g13%> cannot be used with %<-mcpu=g14%>%<-mmul=g14%> cannot be used with %<-mcpu=g10%>%<-mmul=g14%> cannot be used with %<-mcpu=g13%>%<-mmulticore%> can only be used with BF561%<-mn%> is not supported for linux targets%<-mno-%s%> turns off %<-m%s%>%<-mno-allow-string-insns%> forbids the generation of the RMPA instruction%<-mno-altivec%> disables vsx%<-mno-dpfp-lrsr%> supported only with %<-mdpfp%>%<-mno-exr%> is valid only with %<-ms%> or %<-msx%> - option ignored%<-mno-fentry%> isn%'t compatible with SEH%<-mno-gpopt%> needs %<-mexplicit-relocs%>%<-mno-mpy%> supported only for ARC700 or ARCv2%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>%<-mnop-mcount%> is not compatible with this target%<-mnop-mcount%> is not implemented for %<-fPIC%>%<-mpcrel%> %<-fPIC%> is not currently supported on selected cpu%<-mpic-register=%> is useless without %<-fpic%>%<-mpic-symbol-stubs%> is not required for 64-bit code (ignored)%<-mpreferred-stack-boundary%> is not supported for this target%<-mpreferred-stack-boundary=%d%> is not between %d and %d%<-mpreferred-stack-boundary=%d%> must be between %d and %d%<-mquad-memory%> is not available in little endian mode%<-mquad-memory%> requires 64-bit mode%<-mquad-memory-atomic%> requires 64-bit mode%<-mr0rel-sec=%> argument is not a valid regular expression%<-mr0rel-sec=%> not supported with PIC%<-mregparm%> is ignored for Intel MCU psABI%<-mregparm%> is ignored in 64-bit mode%<-mregparm=%d%> is not between 0 and %d%<-mrelax%> is only supported for RTP PIC%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-attribute%>]%<-mrtd%> is ignored in 64bit mode%<-ms2600%> is used without %<-ms%>%<-mshared-library-id=%> specified without %<-mid-shared-library%>%<-mshared-library-id=%s%> is not between 0 and %d%<-msmart%> is incompatible with %<-mhigh-registers%>%<-mspfp_fast%> not available on ARC600 or ARC601%<-msse5%> was removed%<-msseregparm%> used without SSE enabled%<-mstack-guard%> implies use of %<-mstack-size%>%<-mstack-protector-guard=tls%> needs a hardware TLS register%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095%<-mtune=%> expects mn10300, am33, am33-2, or am34%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate%<-muintr%> not supported for 32-bit code%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead%<-mvsx%> and %<-mno-altivec%> are incompatible%<-mvsx%> needs indexed addressing%<-mvsx%> requires hardware floating point%<-mxl-multiply-high%> can be used only with %<-mcpu=v6.00.a%> or greater%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>%<-mxl-reorder%> can be used only with %<-mcpu=v8.30.a%> or greater%<-mxl-reorder%> requires %<-mxl-pattern-compare%> for %<-mcpu=v8.30.a%>%<-pipe%> ignored because %<-save-temps%> specified%<-pipe%> not supported%<-x %s%> after last input file has no effect%<.%s%> designator used multiple times in the same initializer list%<...%> handler must be the last handler for its try block%<...%> not allowed in designated initializer list%<::%> needed in PROCEDURE binding with explicit target at %C%<::%D%> has not been declared%<::%D%> has not been declared; did you mean %qs?%<::%E%> has not been declared%<::%E%> is not a class or namespace%<::%E%> is not a class, namespace, or enumeration%<::%E%> is not a type%<::main%> must return %%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>%<<::%> cannot begin a template-argument list%<<<%> in boolean context, did you mean %<<%>?%<=%>options missing after %<-foffload-options=%>target%<=> target%> is invalid for DEFERRED binding at %C%<>>%> operator is treated as two right angle brackets in C++11%<>>%> should be %<> >%> within a nested template argument list% using integer constants in boolean context% using integer constants in boolean context, the expression will always evaluate to %%<@catch%> parameter cannot be protocol-qualified%<@catch%> parameter is not a known Objective-C class type%<@dynamic%> is not available in Objective-C 1.0%<@dynamic%> not in @implementation context%<@dynamic%> requires the @interface of the class to be available%<@encode%> must specify a type as an argument%<@end%> missing in implementation context%<@end%> must appear in an @implementation context%<@interface%> of class %qE not found%<@optional%> is allowed in @protocol context only%<@optional%> is not available in Objective-C 1.0%<@package%> is not available in Objective-C 1.0%<@package%> presently has the same effect as %<@public%>%<@property%> is not available in Objective-C 1.0%<@required%> is allowed in @protocol context only%<@required%> is not available in Objective-C 1.0%<@synchronized%> argument is not an object%<@synthesize%> cannot be used in categories%<@synthesize%> is not available in Objective-C 1.0%<@synthesize%> not in @implementation context%<@synthesize%> requires the @interface of the class to be available%<@throw%> (rethrow) used outside of a %<@catch%> block%<@throw%> argument is not an object%<@try%> without %<@catch%> or %<@finally%>% and % column headings are missing from %% column heading is missing from %% base address is not a multiple of 256% index %% calls should have same constant size for the first argument and LHS% clause at %L must not be used together with % clause% in format at %L% directive not at the start of a loop at %C% directive not at the start of a loop at %C% directive not at the start of a loop at %C% directive requires a non-negative integral constant less than or equal to %u at %C% directive not at the start of a loop at %C% not used with % or stronger memory model% not used with % or stronger memory model% is not set to true% argument of % intrinsic at %L is an array and shall not have storage size 0 when % argument has size greater than 0% argument of % intrinsic at %L must not be %s% argument of % intrinsic at %L must not be a %s% column heading is missing from %% null pointer%: Unknown punctuation %<%c%>%, null pointer% argument of % intrinsic at %L must not be a %s% is non-NULL in % list% not %% is not %% type is not %% is not %% is %i while % is %p% is set while it should not be% has different %% is not compatible% of main variant is not main variant% defined in incomplete type% field is non-NULL% has different %% non-NULL% is not main variant% is not record nor union% of % is not compatible% is not %% is not %% is not record nor union% field is non-NULL% is not % nor %% modifier on non-integer register%<[%E] =%> used in a GNU-style designated initializer for class %qT%<[*]%> not allowed in other than function prototype scope%<[*]%> not in a declaration%<[[omp::directive(%s)]]%> must be the only specified attribute on a statement%<[super ...]%> must appear in a method context%<_Alignas%> specifiers cannot reduce alignment of %qE%<_Alignas%> specifiers cannot reduce alignment of compound literal%<_Alignas%> specifiers cannot reduce alignment of unnamed field%<_Atomic%> %qD in % clause%<_Atomic%> %qD in % clause on % construct%<_Atomic%> %qD in % clause%<_Atomic%> %qD in %qs clause%<_Atomic%> %qD in implicit % clause on % construct%<_Atomic%> %qD in implicit % clause%<_Atomic%> %qE in % clause%<_Atomic%> %qE in %qs clause%<_Atomic%> applied to a qualified type%<_Atomic%> expression in %<#pragma omp atomic%>%<_Atomic%> in Objective-C%<_Atomic%> iteration variable %qE%<_Atomic%> qualified type in %<#pragma omp declare reduction%>%<_Atomic%>-qualified array type%<_Atomic%>-qualified function type%<_Atomic%>-qualified parameter type %qT of %q+D%<_Atomic%>-qualified return type of %qD%<_Float%d%s%> is not supported on this target%<_Generic%> association has function type%<_Generic%> association has incomplete type%<_Generic%> association has variable length type%<_Generic%> selector matches multiple associations%<_Generic%> selector of type %qT is not compatible with any association%<_Generic%> specifies two compatible types%<_Noreturn%> in empty declaration%<_Sat%> is used without %<_Fract%> or %<_Accum%>%<__BELOW100__%> attribute not allowed with auto storage class%<__BELOW100__%> attribute only applies to variables%<__GIMPLE%> only valid with %<-fgimple%>%<__RTL%> function cannot be compiled with %<-flto%>%<__alignof%> applied to a bit-field%<__auto_type%> followed by %<[[]]%> attributes%<__auto_type%> requires a plain identifier as declarator%<__auto_type%> used with a bit-field initializer%<__bfloat16%> is redefined from typedef % to real %<__bf16%> since GCC V13, be careful of implicit conversion between %<__bf16%> and %; a explicit bitcast may be needed here%<__builtin_arc_aligned%> with non-constant alignment%<__builtin_bit_cast%> destination type %qT is an array type%<__builtin_bit_cast%> destination type %qT is not trivially copyable%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE%<__builtin_bit_cast%> source type %qT is not trivially copyable%<__builtin_complex%> operand not of real binary floating-point type%<__builtin_complex%> operands of different types%<__builtin_convertvector%> first argument must be an integer or floating vector%<__builtin_convertvector%> number of elements of the first argument vector and the second argument vector type should be the same%<__builtin_convertvector%> second argument must be an integer or floating vector type%<__builtin_eh_return%> not supported on this target%<__builtin_has_attribute%> with dependent argument not supported yet%<__builtin_is_corresponding_member%> argument is not pointer to member%<__builtin_is_corresponding_member%> needs two arguments%<__builtin_is_corresponding_member%> not well defined for anonymous unions%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer to member%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument%<__builtin_longjmp%> second argument must be 1%<__builtin_next_arg%> called without an argument%<__builtin_rx_%s%> takes %, %, %, %, %, or %%<__builtin_saveregs%> not supported by this subtarget%<__builtin_saveregs%> not supported by this target%<__builtin_set_thread_pointer%> is not supported on this target%<__builtin_shuffle%> argument vector(s) inner type must have the same size as inner type of the mask%<__builtin_shuffle%> argument vectors must be of the same type%<__builtin_shuffle%> arguments must be vectors%<__builtin_shuffle%> last argument must be an integer vector%<__builtin_shuffle%> number of elements of the argument vector(s) and the mask vector should be the same%<__builtin_shufflevector%> argument vectors must have the same element type%<__builtin_shufflevector%> arguments must be constant size vectors%<__builtin_shufflevector%> arguments must be vectors%<__builtin_shufflevector%> must specify a result with a power of two number of elements%<__builtin_thread_pointer%> is not supported on this target%<__builtin_unreachable%> or %<__builtin_trap%> call with arguments%<__delay_cycles%> is limited to 32-bit loop counts%<__delay_cycles%> only takes constant arguments%<__delay_cycles%> only takes non-negative cycle counts%<__fp16%> and no ldrh%<__gcc_host_wide_int__%> is not defined as % or %%<__gcc_host_wide_int__%> is not defined as a type%<__int%d%> is not supported by this target%<__int%d%> is not supported on this target%<__label__%> declarations are only allowed in function scopes%<__label__%> not at the beginning of a block%<__restrict%> can only be specified for objects and functions%<__thread%> before %%<__thread%> before %%<__thread%> before %qD%<__thread%> can only be specified for objects and functions%<__transaction_atomic%> without transactional memory support enabled%<__transaction_cancel%> not within %<__transaction_atomic%>%<__transaction_cancel%> within a %<__transaction_relaxed%>%<__transaction_cancel%> without transactional memory support enabled%<__transaction_relaxed%> without transactional memory support enabled% argument of %qs intrinsic at %L must be %s(%d)% argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER% must contain at least one % or % or % clause at %L% attribute ignored because function is defined% clause argument needs to be positive constant power of two integer expression% argument has non-integral type %qT% in empty declaration with % underlying type% clause alignment expression must be integral% clause alignment expression must be positive constant integer expression% clause % modifier argument needs to be positive constant power of two integer expression% clause allocator expression has type %qT rather than %% clause must specify an allocator here% clause allocator expression has type %qT rather than %% function might not be inlinable% attribute requires string constant arguments% device modifier not preceded by % directive with % clause% device modifier not preceded by % directive with % clause at %C% of mutually exclusive equal-tests is always 0% with complex typed outputs% clobber conflict with input operand% clobber conflict with output operand% declaration ignored due to conflict with previous rename% flags not supported in thumb1 mode% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>% not allowed in % function% not allowed in atomic transaction% operand %d probably does not match constraints% operand constraint incompatible with operand size% operand has impossible constraints% operand requires impossible reload% qualifier %qT ignored outside of function body% qualifier outside of function body% specifier for variable %qE conflicts with % clobber list% specifiers are not permitted on non-static data members% can be unsafe for Objective-C objects; please state explicitly if you need it% property %qs is using bit-field instance variable %qs% attribute at top level% attribute not followed by %<;%>% expression must be integral% failed% property %qs is using bit-field instance variable %qs%% clause used lexically after first % construct without memory order clause% can only be specified for variables or function declarations% changes meaning in C++11; please remove it% conflicts with other OpenACC loop specifiers% in file-scope empty declaration% not allowed in alias declaration% parameter not permitted in this context% requires a plain identifier, possibly with attributes, as declarator% used with %% cannot be constrained% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% cannot be constrained% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% must return %, % or a coroutine handle% has no effect on non-interrupt functions% or % suffix on floating constant only available with %<-std=c++2b%> or %<-std=gnu++2b%>% clause not specified on a % construct not nested inside another OpenMP construct% on a % construct nested inside % construct% on a % region not strictly nested inside of a % region% contains only 2 bytes of address% inside % for construct% inside % for construct% inside % sections construct% is not supported% only available with %<-std=c++20%> or %<-fconcepts%>% %qs cannot be declared %% and % function specifiers on %qD invalid in field declaration% and % function specifiers on %qD invalid in parameter declaration% and % function specifiers on %qD invalid in type declaration% and % function specifiers on %qD invalid in variable declaration% can only be specified for objects and functions% qualified % expression% qualified %qE may appear only in % or % clauses% qualified %qE without % member may appear only in % or % clauses%, % or %<__restrict%>-qualified type %qT in %<#pragma omp declare reduction%>% function %q+D overriding non-% function% call flows off the end of the function% constructor does not have empty body% constructor for union %qT must initialize exactly one non-static data member% destructors only available with %<-std=c++20%> or %<-std=gnu++20%>% evaluation depth exceeds maximum of %d (use %<-fconstexpr-depth=%> to increase the maximum)% evaluation operation count exceeds limit of %wd (use %<-fconstexpr-ops-limit=%> to increase the limit)% in empty declaration% initializer for a binary floating-point type is of decimal type% initializer for a real type is of complex type% initializer is not an arithmetic constant expression% initializer not representable in type of object% integer initializer is not an integer constant expression% lambda only available with %<-std=c++17%> or %<-std=gnu++17%>% loop iteration count exceeds limit of %d (use %<-fconstexpr-loop-limit=%> to increase the limit)% needed for in-class initialization of static data member %q#D of non-integral type% object has variably modified type% pointer initializer is not null% static data member %qD must have an initializer% used with %qE% variable %qD has variably-modified type %qT% can only be applied to a variable with static or thread storage duration% on function return type is not allowed% variable %qD does not have a constant initializer% region may not be nested inside a % region with the same name% argument should be a non-negative integer% is not recognized as FPU instruction% requires argument% option does not support %% option requires configuration argument% in declaration of deduction guide% directive not immediately followed by function declaration or definition% on constructor %qD% on defaulted %qD% on deleted %qD% on destructor %qD% on virtual %qD% cannot resolve address of overloaded function% evaluates to %qT, which is not a class or enumeration type% cannot be cv-qualified% type specifier only available with %<-std=c++14%> or %<-std=gnu++14%>% label not within a switch statement% target was not set% is not a constant expression% clause with % dependence type on array section% is only allowed in %% dependence type specified in % clause on % construct% expression is not lvalue expression% clause event handle has type %qT rather than %% clause must not be used together with % clause% clause with % is only allowed on % construct% id must be integral% argument of %qs intrinsic at %L is not a valid codimension index% argument of %qs intrinsic at %L is not a valid dimension index% argument of %s intrinsic at %L is not a valid dimension index% chunk size expression must be integral% region must be strictly nested inside % construct% not permitted with %<-fno-rtti%>%(%#D)%> can never succeed% without a previous %% declared in % loop initial declaration% declared both with and without fixed underlying type% declared with but defined without fixed underlying type% underlying type incompatible with previous declaration% underlying type may not be specified here% can only be specified for constructors% in friend declaration% outside class declaration% only available with %<-std=c++20%> or %<-std=gnu++20%>% not part of following module-directive% linkage started here% attribute have effect only on public objects% or % suffix on floating constant only available with %<-std=c++2b%> or %<-std=gnu++2b%>% attribute at top level% attribute not followed by %<;%>% attribute specified with a parameter% attribute directive ignored% expression must be integral% attribute is ignored on aliases% list specified together with memory order clause%: %s: %m% loop initial declarations are only allowed in C99 or C11 mode% can only be specified inside a class% used outside of class% support% support for MMIX% loop in % region% num expression must be integral% num value must be positive% static expression must be integral% static value must be positive% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% attribute of property %qD conflicts with previous declaration% attribute present on %q+D% in % function only available with %<-std=c++2b%> or %<-std=gnu++2b%>% is not a constant expression% (%ld) or % (%ld) is less than zero% expression must be integral% value must be positive% applied to non-register operand% MIPS16 code for ABIs other than o32 and o64% expression must be constant integer expression% expression must be integral% only available with %<-std=c++2b%> or %<-std=gnu++2b%>% requires compound statement% only available with %<-std=c++17%> or %<-std=gnu++17%>% resolver for %qD must return %qT% resolver for %qD should return %qT% clause is incompatible with %% attribute cannot apply for static function% can only be specified for functions% in empty declaration% is not allowed in declaration of friend template specialization %qD% specified for friend class declaration% specifier invalid for function %qs declared out of global scope% specifier invalid for variable %qD declared at block scope% % clause on %qs construct% % clause on construct other than %, %, %, %, %% % clause used together with % clause for a variable other than loop iterator% % clause with array section% REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD at %L% and non-% % clauses on the same construct% and non-% % clauses on the same construct at %L% CPU can be used only for %<-mtune=%> switch% CPU can be used only for % attribute% is available only on fido% modifier incompatible with %qs% modifier may not be specified on % construct% parameter is not a power of two %d% check: failed in %s, at %s:%d% clause on a % construct refers to a variable %qD which is not the loop iterator% clause for variable other than loop iterator specified on construct combined with %% clause may not be specified together with % clause if stand-alone % construct is nested in it% clause step %qE is neither constant nor a parameter% clause step expression must be integral% clause step is a parameter %qD not specified in % clause% is not defined as a type% is not defined as a type% is too long for GCC% and % specified together% switch expression not converted to % in ISO C% does not match %% is corrupted for lp %i% failed% declared %<_Noreturn%>% used with constant zero length parameter; this could be due to transposed parameters% used with length equal to number of elements without multiplication by element size% attribute is not compatible with %<-mfentry%> for 32-bit% attribute is not compatible with nested function% needs one or more arguments% expects 2 arguments% kind in % clause on a % construct% is ambiguous% definition is not allowed here% of % does not extend the lifetime of the underlying array% of type %qT with extended alignment %d% does not accept arguments% clause must not be used together with % clause% attribute of property %qD conflicts with previous declaration% schedule modifier specified together with % clause% argument %qD compared to NULL% function does return% clause must not be used together with %% value must be positive% lower bound %qE bigger than upper bound %qE% value must be positive% value must be positive% cannot be used with %<-fno-rtti%>% could not be found, but is implicitly used% within non-standard-layout type %qT is conditionally-supported% requires at least % for %<-foffload-options=nvptx-none=-march=%> - disabling offload-code generation for this device type% attribute requires argument% not allowed to be specified in this context% at %C not permitted in this clause% may only be used in OpenMP % clause% used with % kind other than % or %% used with DEPEND kind other than OUT or INOUT at %C% used with dependence-type other than OUT or INOUT at %C%, declared at %L, may only be used in the OpenMP DEPEND clause%% in %<%s%E%>% must return type %qT% takes type %qT as first parameter% cannot be a destroying delete% must not return NULL unless it is declared % (or %<-fcheck-new%> is in effect)% must return type %qT% takes type % (%qT) as first parameter%% in %<%E %s %E%>% in %<%E%s%>% in %<%s%E%>% should return a reference to %<*this%>%% in %<%E[%E]%>% of unmatched not-equal tests is always 1% clause must not be used together with %% must be closely nested inside of %<%s simd%> region% % must be closely nested inside % region% clause parameter is less than %% clause with parameter on range-based % loop% construct with % clause must be closely nested inside an % loop% construct with %qs clause must be closely nested inside a loop with % clause% construct without % or % clauses binds to loop where % argument %wd is different from % argument %wd% construct without % or % clauses must not have the same binding region as % construct with those clauses% region may not be closely nested inside of %, %, explicit % or % region% region must be closely nested inside a loop region with an % clause% pragma should only be used with %<-fpreprocessed%>% failed: %m% encountered% encountered: %s% requires at least one clause% expression must be integral% value must be non-negative% attribute conflicts with % attribute% attribute of property %qD conflicts with previous declaration% does not match %% is corrupted for region %i% in file-scope empty declaration% storage class specifier used% from integer to pointer% from type %qT to type %qT casts away qualifiers% is not a constant expression%(%E)%> is not a constant expression% only available with %<-std=c++20%> or %<-fconcepts%>% with a value, in function returning void% with no value, in function returning non-void% declared here% clause expression must be positive constant integer expression% is not supported because endianness is not uniform% region may not be closely nested inside of work-sharing, %, explicit %, %, %, %, %, or % region% overrides other OpenACC loop specifiers% attribute of property %qD conflicts with previous declaration% specified here% argument of % intrinsic at %L has more than %d elements% argument of % intrinsic at %L must be an array of constant size% and % specified together% clause expression must be positive constant integer expression% clause value is bigger than % clause value% applied to a bit-field% on array function parameter %qE will return size of %qT% argument must be surrounded by parentheses% and long-double-128 are incompatible% argument of % intrinsic at %L must not be an assumed size array% must be a multiple of 4% must be at least 4% %qs cannot be declared %% lambda specifier with lambda capture% may not be used when defining (as opposed to declaring) a static data member% specifier invalid for function %qs declared out of global scope% without a message only available with %<-std=c++17%> or %<-std=gnu++17%>% from type %qT to type %qT casts away qualifiers% is defined in header %qs; did you forget to %<#include %s%>?% is only available from %s onwards% always evaluates to false in a non-% function% always evaluates to true in %% always evaluates to true in a % function% does not contain only non-static data members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>%::type%> is %%::value%> is not an integral constant expression% using directive no longer supported% declared in % loop initial declaration% attribute argument %qs must contain one or two %<@%>% attribute argument not a string constant% attribute is only applicable to symbols% attribute only applies to functions and variables% for % failed: %m% construct with nested % construct contains directives outside of the % construct% is ignored in 64bit mode% used without SSE enabled% is deprecated; use % or % instead as appropriate% attribute needs GLIBC (2.23 and newer) that exports hardware capability bits% reduction modifier on a construct with a % clause% construct with % clause but no % clauses% construct must be closely nested inside of % construct or not nested in any OpenMP construct% keyword not permitted in destructor name% must follow a nested-name-specifier% allowed in OpenMP only in % clauses% cannot be captured by reference% is unavailable for static member functions% may not be used in this context% not allowed in % clause% was not captured for this lambda function% expression must be integral% value must be positive% %qD is not file, namespace or block scope variable% %qE directive not in %qT definition% %qE has incomplete type% will always call %% argument needs integral type% argument needs positive integral constant% function call not within outer transaction or %% may only be specified for a virtual function% is not defined as a pointer type% is not defined as a type% in % function only available with %<-std=c++20%> or %<-std=gnu++20%>% specifier conflicts with %qs% used with %% was ignored in this declaration% is not a constant expression because %qE is of polymorphic type% of qualified function type %qT% operator cannot appear in a constant-expression% names %q#D, which is not a type% names %q#T, which is not a class template% applied to a bit-field% declared in % loop initial declaration% of %qT before its enum-specifier% of dependent type %qT% of incomplete type %qT% of non-enumeration type %q#T% only available with %<-std=c++20%> or %<-std=gnu++20%>% with enumeration scope %q#T only available with %<-std=c++20%> or %<-std=gnu++20%>% used in function with fixed arguments% is deprecated for little endian; use assignment for unaligned loads and stores% is deprecated for little endian; use assignment for unaligned loads and stores% length expression must be integral% length value must be positive% failed% failed% can only be specified for functions% outside class declaration% specified more than once in base-specifier% as only parameter may not be qualified% must be the only parameter% can only be specified for objects and functions%-qualified parameter is deprecated%-qualified return type is deprecated%-qualified structured binding is deprecated% expression must be integral% may not be specified for %q+D% clause requires atomic equality comparison% attribute ignored because function is defined% attribute ignored because variable is initialized% attribute should be accompanied with an % attribute% cannot be versioned% num expression must be integral% num value must be positive%<||%> not valid in GIMPLE%<~%> on a boolean expression%<~%> on an expression of type %%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>%@ %s%@ %s (depth %i)%@ %s (fndecl %qD, depth %i)%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-private-size=%d%>, for example)%d constructor found %d constructors found %d destructor found %d destructors found %d exits recorded for loop %d (having %d exits)%d frame table found %d frame tables found ! %i-bit mode not compiled in%llu bytes%q#D cannot be overloaded with %q#D%q#D conflicts with a previous declaration%q#D conflicts with version inherited from %qT%q#D declared here%q#D does not have external linkage%q#D does not refer to the unqualified type, so it is not used for linkage%q#D explicitly defaulted here%q#D has incomplete type%q#D hides constructor for %q#D%q#D inherits from multiple base subobjects%q#D invalid; an anonymous union can only have non-static data members%q#D invalid; an anonymous union may only have public non-static data members%q#D is a static data member; it can only be initialized at its definition%q#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator%q#D is implicitly deleted because the default definition would be ill-formed:%q#D is inaccessible within this context%q#D is not a function template%q#D is not a non-static data member of %qT%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address%q#D is not const%q#D is private within this context%q#D is protected within this context%q#D is public, but requires an existing %q#T object%q#D is volatile%q#D not declared in class%q#D previously declared here%q#D previously defined here%q#D redeclared as different kind of entity%q#D references internal linkage entity %q#D%q#D should be initialized%q#D, declared using local type %qT, is used but never defined%q#D, declared using unnamed type, is used but never defined%q#F is implicitly deleted because its exception-specification does not match the implicit exception-specification %qX%q#T has no member named %qE%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)%q#T has no member named %qE; did you mean %q#D? (not accessible from this context)%q#T has no member named %qE; did you mean %qE?%q#T has no user-provided default constructor%q#T has pointer data members%q#T has virtual base classes%q#T has virtual functions and accessible non-virtual destructor%q#T is not a class%q#T is not a class or namespace%q#T is not a template%q#T is not a valid type for a template non-type parameter%q#T only defines a private destructor and has no friends%q#T only defines private constructors and has no friends%q#T used where a %qT was expected%q#T used where a floating-point value was expected%q#T was previously declared here%q+#D cannot be declared%q+#D is not a static data member of %q#T%q+#D marked %, but is not virtual%q+#D marked %, but does not override%q+D alias between function and variable is not supported%q+D aliased to external symbol %qE%q+D aliased to undefined symbol %qE%q+D already declared with dllexport attribute: dllimport ignored%q+D declared as a friend%q+D declared as variadic function%q+D declared weak after being used%q+D declared with an exception specification%q+D defined as variadic function without prototype%q+D defined both normally and as %qE attribute%q+D has incompatible attributes %qs and %qs%q+D in declare target directive does not have mappable type%q+D is static but declared in inline function %qD which is not static%q+D is usually a function%q+D offset %E in %qT isn%'t aligned to %u%q+D offset %E in %qT may not be aligned to %u%q+D redeclared as different kind of symbol%q+D redeclared inline with % attribute%q+D redeclared inline without % attribute%q+D redeclared without dllimport attribute after being referenced with dll linkage%q+D redeclared without dllimport attribute: previous dllimport ignored%q+D static data member inside of declare target directive%q+D takes only zero or two arguments%q+E is not a constant expression%q+F declared % but never defined%q+F used but never defined%q+T is not literal because:%qD accessing %E byte in a region of size %E%qD accessing %E bytes in a region of size %E%qD accessing %E or more bytes in a region of size %E%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing %wu byte may overlap %wu byte%qD accessing %wu bytes may overlap %wu byte%qD accessing %wu byte may overlap up to %wu bytes%qD accessing %wu bytes may overlap up to %wu bytes%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing %wu or more bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing between %E and %E bytes in a region of size %E%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu byte at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap up to %wu bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu byte at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or more bytes at offset %s%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps between %wu and %wu bytes at offset %s%qD accessing between %wu and %wu bytes may overlap %wu byte%qD accessing between %wu and %wu bytes may overlap up to %wu bytes%qD alias between functions of incompatible types %qT and %qT%qD appears both in data and map clauses%qD appears more than once in % clauses%qD appears more than once in % clauses%qD appears more than once in % clauses%qD appears more than once in data clauses%qD appears more than once in data-sharing clauses%qD appears more than once in map clauses%qD appears more than once in motion clauses%qD appears more than once in reduction clauses%qD argument %d promotes to %qT where %qT is expected in a call to built-in function declared without prototype%qD argument %d type is %qT where %qT is expected in a call to built-in function declared without prototype%qD argument %i declared attribute %%qD argument %i declared attribute % is smaller than the specified bound %wu%qD argument %i declared attribute % is smaller than the specified bound [%E, %E]%qD argument %i declared attribute % may be smaller than the specified bound [%E, %E]%qD argument missing terminating nul%qD attribute directive ignored%qD attribute is meaningless since members of the anonymous namespace get local symbols%qD attribute requires a single NTBS argument%qD called in a constant expression%qD called in a constant expression before its definition is complete%qD called on a pointer passed to mismatched reallocation function %qD%qD called on a pointer to an unallocated object %qE%qD called on pointer %qE passed to mismatched allocation function %qD%qD called on pointer %qE with nonzero offset%s%qD called on pointer returned from a mismatched allocation function%qD called on pointer to an unallocated object%qD called on unallocated object %qD%qD can be marked override%qD cannot appear in a constant-expression%qD cannot be %qs%qD cannot be declared %, since it is always static%qD cannot be defaulted%qD cannot be used as a function%qD cannot have default arguments%qD changed semantics in GCC 4.4%qD clearing an object of non-trivial type %#qT%s%qD clearing an object of type %#qT containing a pointer-to-member%s%qD clearing an object of type %#qT with no trivial copy-assignment%s%qD conflicts with used function%qD copying an object of non-trivial type %#qT from an array of %#qT%qD copying an object of type %#qT with %qs member %qD from an array of %#qT; use assignment or copy-initialization instead%qD declared % in % context%qD declared % in % context%qD declared %%qD declared as a % field%qD declared as a % parameter%qD declared as a % type%qD declared as a % variable%qD declared as a non-parameter%qD declared as an % field%qD declared as an % parameter%qD declared as an % type%qD declared as array of template placeholder type %qT%qD declared as reference but not initialized%qD declared here%qD declared here, later in the translation unit%qD declared weak after being used%qD defined % in % context%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>%qD defined % in % context%qD defined % in %qs function only available with %<-std=c++2b%> or %<-std=gnu++2b%>%qD defined but not used%qD defined here%qD destination unchanged after copying no bytes%qD destination unchanged after copying no bytes from a string of length %E%qD does not have % type%qD does not have a mappable type in %qs clause%qD does not have integral or enumeration type%qD does not have integral type%qD does not name an enumeration in %qT%qD does not refer to a function%qD does not refer to a namespace scope function%qD expecting %E byte in a region of size %E%qD expecting %E bytes in a region of size %E%qD expecting %E or more bytes in a region of size %E%qD expecting between %E and %E bytes in a region of size %E%qD forming offset %s is out of bounds%qD forming offset %s is out of the bounds [0, %wu]%qD forming offset %s is out of the bounds [0, %wu] of object %qD with type %qT%qD forming offset %s is out of the bounds of object %qD with type %qT%qD has a non-structural type%qD has a previous declaration here%qD has already been defined%qD has an incomplete type %qT%qD has incomplete type%qD has invalid argument list%qD has not been declared in %qD%qD has not been declared within %qD%qD has the same name as the class in which it is declared%qD in % clause is a zero size array%qD inherits the %E ABI tag that %qT (used in its return type) has%qD inherits the %E ABI tag that %qT (used in its type) has%qD invalid in %q#T because of local member %q#D with same name%qD invalid in %q#T because of local method %q#D with same name%qD invalid in condition%qD invalid in lambda%qD is a function, not a type%qD is a namespace%qD is a usual (non-placement) deallocation function%qD is a usual (non-placement) deallocation function in C++14 (or with %<-fsized-deallocation%>)%qD is already a friend of %qT%qD is already a friend of class %qT%qD is already defined in %qT%qD is already defined in class %qT%qD is already defined in the class %qT%qD is an enumeration template%qD is both a direct base and an indirect virtual base%qD is declared in header %qs%qD is defined with tls model %s%qD is deprecated%qD is deprecated: %s%qD is initialized with itself%qD is instantiated for an empty pack%qD is mutable%qD is normally a non-static function%qD is not a class or alias template%qD is not a class or namespace%qD is not a class type%qD is not a direct member of %qT%qD is not a function argument%qD is not a function template%qD is not a member of %qD%qD is not a member of %qD; did you mean %qs?%qD is not a member of %qT%qD is not a member of %qT; did you mean %qs?%qD is not a member template function%qD is not a namespace-name%qD is not a namespace-name; did you mean %qs?%qD is not a pointer variable%qD is not a static data member%qD is not a static data member of a class template%qD is not a template%qD is not a template function%qD is not a type%qD is not a valid template argument because %qD is a variable, not the address of a variable%qD is not a variable%qD is not a variable in % clause%qD is not a variable in % clause%qD is not a variable in % clause%qD is not a variable in %qs clause%qD is not a variable in clause %%qD is not a variable in clause %%qD is not a variable in clause %qs%qD is not a variable template%qD is not an argument in % clause%qD is not captured%qD is not compatible with %qD%qD is not defined outside of function scope%qD is not lvalue expression nor array section in %qs clause%qD is not public%qD is not usable as a % function because:%qD is static but used in inline function %qD which is not static%qD is threadprivate variable in %qs clause%qD is too small to hold all values of %q#T%qD is unavailable%qD is unavailable: %s%qD is used uninitialized%qD may access %E byte in a region of size %E%qD may access %E bytes in a region of size %E%qD may access %E or more bytes in a region of size %E%qD may access between %E and %E bytes in a region of size %E%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu++23%>%qD may be used uninitialized%qD may not be declared as static%qD may not be declared within a namespace%qD may read %E byte from a region of size %E%qD may read %E bytes from a region of size %E%qD may read %E or more bytes from a region of size %E%qD may read between %E and %E bytes from a region of size %E%qD may write %E byte into a region of size %E%qD may write %E bytes into a region of size %E%qD may write %E or more bytes into a region of size %E%qD may write between %E and %E bytes into a region of size %E%qD moving an object of non-trivial type %#qT and size %E into a region of size %E%qD moving an object of non-trivially copyable type %#qT; use % and % instead%qD moving an object of type %#qT with deleted copy constructor; use % and % instead%qD moving an object of type %#qT with deleted destructor%qD must be a global variable in %<#pragma acc declare link%>%qD must be a member function%qD must be a non-member function%qD must be a non-static member function%qD must be a variable declared in the same scope as %<#pragma acc declare%>%qD must be either a non-static member function or a non-member function%qD must have an argument of class or enumerated type%qD must have either one or two arguments%qD must have either zero or one argument%qD must have exactly one argument%qD must have exactly two arguments%qD must have no arguments%qD must not have variable number of arguments%qD not defined%qD of a string of length %wu and an array of size %wu evaluates to nonzero%qD of a string of length %wu or more and an array of size %wu evaluates to nonzero%qD of a string of length %wu, an array of size %wu and bound of %wu evaluates to nonzero%qD of strings of length %wu and %wu and bound of %wu evaluates to nonzero%qD offset %s from the object at %qE is out of the bounds of %qT%qD offset %s from the object at %qE is out of the bounds of referenced subobject %qD with type %qT at offset %wi%qD offset %s is out of bounds%qD offset %s is out of the bounds [0, %wu]%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT%qD offset %s is out of the bounds of object %qD with type %qT%qD only valid in lambda with %<-std=c++23%> or %<-std=gnu++23%>%qD output may be truncated copying %E byte from a string of length %wu%qD output may be truncated copying %E bytes from a string of length %wu%qD output may be truncated copying between %wu and %wu bytes from a string of length %wu%qD output truncated before terminating nul copying %E byte from a string of the same length%qD output truncated before terminating nul copying %E bytes from a string of the same length%qD output truncated before terminating nul copying as many bytes from a string as its length%qD output truncated copying %E byte from a string of length %wu%qD output truncated copying %E bytes from a string of length %wu%qD output truncated copying between %wu and %wu bytes from a string of length %wu%qD pointer overflow between offset %s and size %s%qD pointer overflow between offset %s and size %s accessing array %qD with type %qT%qD reading %E byte from a region of size %E%qD reading %E bytes from a region of size %E%qD reading %E or more bytes from a region of size %E%qD reading between %E and %E bytes from a region of size %E%qD redeclared with different access%qD redeclared with different visibility%qD referenced in target region does not have a mappable type%qD renamed after being referenced in assembly%qD should be initialized%qD should be initialized in the member initialization list%qD should have been declared inside %qD%qD should return by value%qD source argument is the same as destination%qD specified both in declare target % and % or % clauses%qD specified both in declare target % and %qs clauses%qD specified both in declare target % and implicitly in % clauses%qD specified bound %E equals destination size%qD specified bound %E equals source length%qD specified bound %E exceeds destination size %E%qD specified bound %E exceeds maximum object size %E%qD specified bound %E exceeds source size %E%qD specified bound %E may exceed destination size %E%qD specified bound %E may exceed maximum object size %E%qD specified bound %E may exceed source size %E%qD specified bound %s exceeds maximum object size %E%qD specified bound %s exceeds the size %E of unterminated array%qD specified bound %s exceeds the size of at most %E of unterminated array%qD specified bound %s may exceed the size of at most %E of unterminated array%qD specified bound %wu exceeds maximum object size %wu%qD specified bound [%E, %E] exceeds destination size %E%qD specified bound [%E, %E] exceeds maximum object size %E%qD specified bound [%E, %E] exceeds source size %E%qD specified bound [%E, %E] may exceed destination size %E%qD specified bound [%E, %E] may exceed maximum object size %E%qD specified bound [%E, %E] may exceed source size %E%qD specified bound between %wu and %wu exceeds maximum object size %wu%qD specified bound depends on the length of the source argument%qD specified in % clause but not in an explicit privatization clause%qD specified in % % clause but not in % directive clause%qD specified in %qs clause but not in % % clause on the containing construct%qD specified size %E exceeds maximum object size %E%qD specified size %E may exceed maximum object size %E%qD specified size between %E and %E exceeds maximum object size %E%qD specified size between %E and %E may exceed maximum object size %E%qD specifier conflicts with %%qD specifier conflicts with %qs%qD specifies less restrictive attribute than its target %qD: %s%qD specifies less restrictive attributes than its target %qD: %s%qD specifies more restrictive attribute than its target %qD: %s%qD specifies more restrictive attributes than its target %qD: %s%qD target declared here%qD used as a variant with incompatible % selector sets%qD used before its definition%qD used in its own initializer%qD used without template arguments%qD violates the C++ One Definition Rule%qD was declared % and later %%qD was declared %qs which implies default visibility%qD was declared here%qD was hidden%qD was not declared %%qD was not declared in this scope%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation%qD was not declared in this scope; did you mean %qs?%qD was not initialized with a constant expression%qD was previously declared here%qD was used with no declaration before its definition%qD was used with no prototype before its definition%qD will be initialized after%qD writing %E byte into a region of size %E overflows the destination%qD writing %E bytes into a region of size %E overflows the destination%qD writing %E or more bytes into a region of size %E overflows the destination%qD writing %wu byte into a region of size %wu%qD writing %wu bytes into a region of size %wu%qD writing %wu byte into a region of size between %wu and %wu%qD writing %wu bytes into a region of size between %wu and %wu%qD writing between %E and %E bytes into a region of size %E overflows the destination%qD writing between %wu and %wu bytes into a region of size %wu%qD writing between %wu and %wu bytes into a region of size between %wu and %wu%qD writing one too many bytes into a region of a size that depends on %%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged%qD writing to an object of a non-trivial type %#qT leaves %wu bytes unchanged%qD writing to an object of non-trivial type %#qT%s%qD writing to an object of non-trivially copyable type %#qT%s%qD writing to an object of type %#qT containing a pointer to data member%s%qD writing to an object of type %#qT with %qs member %qD%qD writing to an object of type %#qT with no trivial copy-assignment%qD writing to an object of type %#qT with no trivial copy-assignment%s%qD writing to an object with a deleted copy constructor%qD: visibility attribute ignored because it conflicts with previous declaration%qE 2.95 vtable-compatibility attribute applies only to C++ classes%qE 2.95 vtable-compatibility attribute applies only when compiling a kext%qE appears more than once in % clauses%qE appears more than once in % clauses%qE appears more than once in % clauses%qE appears more than once in data clauses%qE appears more than once in map clauses%qE appears more than once on the same % directive%qE argument %Z may overlap destination object %qE%qE arguments %Z may overlap destination object %qE%qE argument %Z overlaps destination object %qE%qE arguments %Z overlap destination object %qE%qE argument is not a function%qE argument must be one of %qs, %qs, %qs, or %qs%qE argument not a string%qE argument not an identifier%qE arguments %Z and maybe %Z overlap destination object %qE%qE attribute address out of range%qE attribute allows only an integer constant argument%qE attribute applied to %qD with void return type%qE attribute applied to %qT after its definition%qE attribute applied to extern "C" declaration %qD%qE attribute applied to non-class, non-enum type %qT%qE attribute applied to non-function, non-variable %qD%qE attribute applies only to functions%qE attribute applies only to initialized variables with external linkage%qE attribute argument %E is not a power of 2%qE attribute argument %E is not an integer constant%qE attribute argument %E is not in the range [0, %wu]%qE attribute argument %E is not positive%qE attribute argument %i has type %qT%qE attribute argument %i is invalid%qE attribute argument %i value %qE does not refer to a function parameter%qE attribute argument %i value %qE does not refer to a variable argument list%qE attribute argument %i value %qE exceeds the number of function parameters %u%qE attribute argument %i value %qE is not an integer constant%qE attribute argument %i value %qE refers to a variadic function parameter of unknown type%qE attribute argument %i value %qE refers to parameter type %qT%qE attribute argument %qE exceeds %u%qE attribute argument %qE is not an integer constant%qE attribute argument %qE is not an integer constant between 0 and 3%qE attribute argument %qE is not recognised%qE attribute argument 1 does not name a function%qE attribute argument 1 is ambiguous%qE attribute argument 1 must take a pointer type as its first argument%qE attribute argument 1 must take a pointer type as its first argument; have %qT%qE attribute argument cannot be a constant arithmetic expression%qE attribute argument cannot be a string%qE attribute argument has type %qT%qE attribute argument is invalid%qE attribute argument must be a string constant%qE attribute argument not a string constant%qE attribute argument not an integer%qE attribute argument not an integer constant%qE attribute argument should be between 0 to 255%qE attribute argument should be between 18 to 255%qE attribute argument value %qE does not refer to a function parameter%qE attribute argument value %qE does not refer to a variable argument list%qE attribute argument value %qE exceeds %wu%qE attribute argument value %qE exceeds the number of function parameters %u%qE attribute argument value %qE is negative%qE attribute argument value %qE is not an integer constant%qE attribute argument value %qE refers to a variadic function parameter of unknown type%qE attribute argument value %qE refers to parameter type %qT%qE attribute can only be applied to functions or parameters%qE attribute can only be applied to functions or to class or enumeration types%qE attribute can only be applied to functions or to structure, union or enumeration types%qE attribute can only be applied to non-static data members%qE attribute cannot be applied to a bit-field%qE attribute cannot be specified for local variables%qE attribute cannot be specified for register variables%qE attribute cannot be specified for thread-local variables%qE attribute conflicts with %qE attribute%qE attribute directive ignored%qE attribute does not apply to functions%qE attribute does not apply to types%qE attribute does not take any arguments%qE attribute doesn%'t apply to functions%qE attribute duplicated%qE attribute follows %qE%qE attribute has no effect%qE attribute has no effect on functions with static linkage%qE attribute has no effect on unit local functions%qE attribute have effect only on public objects%qE attribute ignored%qE attribute ignored because %qD does not have thread storage duration%qE attribute ignored because %qD is not a local variable%qE attribute ignored because %qD is not a variable%qE attribute ignored because %qT is already defined%qE attribute ignored due to conflict with %qs attribute%qE attribute ignored due to conflict with attribute %qs%qE attribute ignored for %qE%qE attribute ignored for field of type %qT%qE attribute ignored for type %qT%qE attribute ignored on a declaration of a different kind than referenced symbol%qE attribute ignored on a function returning %qT%qE attribute ignored on a redeclaration of the referenced symbol%qE attribute ignored on functions returning %qT; valid only for pointer return types%qE attribute ignored on non-class types%qE attribute ignored on objects of type %qT%qE attribute ignored on types%qE attribute ignored without %<-mcmse%> option%qE attribute ignored without %<-mistack%>%qE attribute ignored. Large memory model (%<-mlarge%>) is required.%qE attribute ignored. Use %<-fcf-protection%> option to enable it%qE attribute ignored; field must be a function pointer%qE attribute ignored; valid only for functions%qE attribute ignored; valid only for functions and function pointer fields%qE attribute is for pointer types only%qE attribute is not supported because endianness is not uniform%qE attribute is not supported for R8C target%qE attribute is only applicable on functions%qE attribute is only valid for Objective-C objects%qE attribute is only valid on % type%qE attribute is specific to ELF targets%qE attribute is supported only for SH2A%qE attribute is used for non-class method%qE attribute may be put on a typedef only; attribute is ignored%qE attribute may not be specified for %q+D%qE attribute may not be specified for a non-array field%qE attribute must appear before %qs attribute%qE attribute must apply to a declaration%qE attribute not allowed with auto storage class%qE attribute not available to functions that return value on the stack%qE attribute not available to functions with arguments passed on the stack%qE attribute not available to functions with variable number of arguments%qE attribute on a function not returning a pointer%qE attribute on function returning %%qE attribute on non-volatile variable%qE attribute only affects top level objects%qE attribute only applies to SH2A%qE attribute only applies to base type of a function pointer%qE attribute only applies to function types%qE attribute only applies to functions%qE attribute only applies to interrupt functions%qE attribute only applies to structure, union and class types%qE attribute only applies to types%qE attribute only applies to variables%qE attribute only applies to variables in static storage%qE attribute only applies to variadic functions%qE attribute only available for 32-bit%qE attribute only supported for reduced Tiny cores%qE attribute only supported on boolean types%qE attribute only supported on non-mask vector types%qE attribute only valid for ARC EM architecture%qE attribute only valid for ARCv2 architecture%qE attribute requires %s%qE attribute requires a string argument%qE attribute requires a string constant argument%qE attribute requires a void return type%qE attribute requires an integer argument%qE attribute requires an integer constant argument%qE attribute requires prototypes with named arguments%qE attribute takes no arguments%qE attribute with unsupported boolean precision%qE attribute without arguments on a non-prototype%qE cannot be applied to non-pointer type %qT%qE cannot be introduced with an ellipsis %<...%>%qE cannot be used as a function%qE cannot be used as a member pointer, since it is of type %qT%qE cannot have both %qs and %qs attributes%qE declared % after first use%qE declared as function returning a function%qE declared as function returning an array%qE declared here%qE defined as wrong kind of tag%qE does not constrain a type%qE does not have % type in % clause with % dependence type%qE does not have a mappable type in %qs clause%qE does not have pointer or array type%qE does not name a type%qE does not name a type; did you mean %qs?%qE does not satisfy return-type-requirement%qE does not satisfy return-type-requirement, because%qE does not support 32-bit sign-extended offsets%qE does not support 32-bit vector type %qT%qE does not support sign-extended offsets%qE evaluates to false%qE fails to be a typedef or built in type%qE has both % and initializer%qE has const type for %%qE has invalid type for %%qE has no form that takes %qT arguments%qE has not been declared%qE implies default visibility, but %qD has already been declared with a different visibility%qE in % clause is neither a pointer nor an array%qE in % clause is neither a pointer nor an array nor a reference to pointer or array%qE in % clause is a zero size array%qE in %q#T does not name a template type%qE in %q#T does not name a type%qE in namespace %qE does not name a template type%qE in namespace %qE does not name a template type; did you mean %qs?%qE in namespace %qE does not name a type%qE in namespace %qE does not name a type; did you mean %qs?%qE incompatible attribute ignored%qE initialized and declared %%qE is a member of a union%qE is a pointer to pointer; did you mean to dereference it before applying %<->%> to it?%qE is a pointer; did you mean to use %<->%>?%qE is an unrecognized format function type%qE is deprecated%qE is deprecated: %s%qE is marked % or % but no usable % is provided by %qT%qE is neither a variable nor a function name in clause %qs%qE is neither function nor member function; cannot be declared friend%qE is not %%qE is not a class or namespace%qE is not a class template%qE is not a class, namespace, or enumeration%qE is not a constant expression%qE is not a constant expression because allocated storage has not been deallocated%qE is not a constant expression because it refers to a result of %%qE is not a constant expression because it refers to an incompletely initialized variable%qE is not a constant expression because it refers to mutable subobjects of %qT%qE is not a constant expression when the class %qT is still incomplete%qE is not a template%qE is not a type%qE is not a valid % qualifier%qE is not a valid template argument for %qT because it is not the address of a variable%qE is not a valid template argument for type %qT%qE is not a valid template argument for type %qT because %qD does not have external linkage%qE is not a valid template argument for type %qT because %qD has no linkage%qE is not a valid template argument for type %qT because it is a pointer%qE is not a valid template argument for type %qT because it is not an lvalue%qE is not a valid template argument for type %qT because it is of type %qT%qE is not a valid template argument for type %qT because of conflicts in cv-qualification%qE is not a valid template argument for type %qT because string literals can never be used in this context%qE is not a valid template argument of type %qT because %qD has no linkage%qE is not a valid template argument of type %qT because %qE is not a variable or function%qE is not a valid template argument of type %qT in C++98 because %qD does not have external linkage%qE is not a variable in % clause%qE is not a variable in % clause%qE is not a variable in % clause%qE is not a variable in %qs clause%qE is not a variable in clause %%qE is not a variable in clause %%qE is not a variable in clause %qs%qE is not an Objective-C class name or alias%qE is not an argument in % clause%qE is not at beginning of declaration%qE is not initialized%qE is not lvalue expression nor array section in %qs clause%qE is not of type %qT%qE is not recognized as a module control-line%qE is not the entire pattern of the pack expansion%qE is only allowed in Objective-C dialects%qE is only applicable to Objective-C class interfaces, attribute ignored%qE is predetermined %qs for %qs%qE is provided by %qT but % cannot be found%qE is provided by %qT but %qE is not marked % or %%qE is provided by %qT but is not usable with the function signature %qD%qE is unavailable%qE is unavailable: %s%qE is used uninitialized%qE may be used uninitialized%qE may not respond to %<%c%E%>%qE may only occur after a module interface declaration%qE may only occur once in an export declaration%qE may write a terminating nul past the end of the destination%qE missing template arguments%qE must be % for %%qE needs isa option %s%qE needs unknown isa option%qE not specified in enclosing %%qE not specified in enclosing %qs%qE not specified in enclosing OpenACC %qs construct%qE output %wu byte%qE output %wu bytes%qE output %wu byte into a destination of size %wu%qE output %wu bytes into a destination of size %wu%qE output %wu or more bytes%qE output %wu or more bytes (assuming %wu)%qE output %wu or more bytes (assuming %wu) into a destination of size %wu%qE output %wu or more bytes into a destination of size %wu%qE output between %wu and %wu bytes%qE output between %wu and %wu bytes into a destination of size %wu%qE output may be truncated before the last format character%qE output truncated before the last format character%qE redeclared as different kind of symbol%qE redeclared with conflicting %qs attributes%qE requires %<-fgnu-tm%>%qE requires a % directive for use in a % function%qE requires a vector base and a scalar index%qE requires an argument%qE requires the SVE ISA extension%qE should not have % type in % clause with dependence type other than %%qE specified here%qE undeclared (first use in this function)%qE undeclared (first use in this function); did you mean %qs?%qE undeclared here (not in a function)%qE undeclared here (not in a function); did you mean %qs?%qE used with %%qE used with %%qE used with %%qE used with %%qE used with %%qE used with %qs%qE with % clause used in % function%qE writing a terminating nul past the end of the destination%qF declared % but never defined%qF requires %<-mvx%>%qF requires z14 or higher%qF requires z15 or higher%qT and %qT are in disjoint named address spaces%qT as type rather than plain %%qT declared here%qT declared in % compound literal%qT declared in underspecified object declaration%qT declared in underspecified object initializer%qT declared with a mismatched class-key %qs%qT declared with greater visibility than its base %qT%qT declared with greater visibility than the type of its field %qD%qT defined as %qs here%qT defined in % compound literal%qT defined in underspecified object declaration%qT defined in underspecified object initializer%qT defined with direct virtual base%qT defined with multiple direct bases%qT does not have the %E ABI tag that %qT (used in the type of %qD) has%qT does not have the %E ABI tag that base %qT has%qT does not match original declaration%qT first declared as %qs here%qT has a base %qT which depends on the type %qT which has no linkage%qT has a base %qT which has internal linkage%qT has a base %qT which has no linkage%qT has a base %qT which uses the anonymous namespace%qT has a field %q#D whose type has internal linkage%qT has a field %q#D whose type has no linkage%qT has a field %q#D whose type uses the anonymous namespace%qT has a field %qD whose type depends on the type %qT which has no linkage%qT has a previous declaration here%qT has no member named %qE%qT has no member named %qE; did you mean %qE?%qT has no non-static data member named %qD%qT is a variably modified type%qT is already a friend of %qT%qT is an ambiguous base class of dynamic type %qT of its operand%qT is an ambiguous base of %qT%qT is an inaccessible base of %qT%qT is not a base of %qT%qT is not a class or namespace%qT is not a class type%qT is not a class, namespace, or enumeration%qT is not a class, struct, or union type%qT is not a direct base of %qT%qT is not a member class template of %qT%qT is not a member of %qT%qT is not a nested class of %qT%qT is not a pointer-to-object type%qT is not a template%qT is not a template type%qT is not a valid type for a template non-type parameter because it is not structural%qT is not an % qualifier%qT is not an accessible base of %qT%qT is not an enumeration type%qT is promoted to %qT when passed through %<...%>%qT is/uses unnamed type%qT may not intend to support class template argument deduction%qT not permitted in template argument%qT referred to as %qs%qT referred to as enum%qT resolves to %qT, which is not a class type%qT resolves to %qT, which is not an enumeration type%qT%d%qE%dpassing single vector %qT to argument %d of %qE, which expects a tuple of %d vectors%qV qualifiers cannot be applied to %qT%qc conversion used unquoted%qc conversion used within a quoted sequence%qc directive redundant after prior occurence of the same%qs%qs LHS in assignment statement%qs LHS in clobber statement%qs RHS in assignment statement%qs accessing uninitialized byte at offset %d%qs already defined as specific binding for the generic %qs at %C%qs and %<%s-%s%> are incompatible%qs and %<%s=%s%> are incompatible%qs and %qs are incompatible%qs and %qs arguments of %qs intrinsic at %L must have identical shape.%qs and %qs arguments of %qs intrinsic at %L must have the same type%qs and %qs attributes are not compatible%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L%qs and %qs cannot both be enabled%qs and %qs for GENERIC %qs at %L are ambiguous%qs appears more than once in % clauses at %L%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix%qs applied to a void type%qs applied to an incomplete type%qs applied to non-SVE type %qT%qs applied to non-vector type %qT%qs applied to type %qT, which already has a size%qs argument has invalid operand number (argument %lu)%qs argument missing terminating nul%qs argument of %qs intrinsic at %L cannot be INTENT(IN)%qs argument of %qs intrinsic at %L cannot be of type %s%qs argument of %qs intrinsic at %L has invalid permutation of dimensions (dimension %qd duplicated)%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/%ld)%qs argument of %qs intrinsic at %L has negative element (%d)%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)%qs argument of %qs intrinsic at %L is empty%qs argument of %qs intrinsic at %L is not a valid dimension index%qs argument of %qs intrinsic at %L must be %s%qs argument of %qs intrinsic at %L must be ALLOCATABLE%qs argument of %qs intrinsic at %L must be INTEGER%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE%qs argument of %qs intrinsic at %L must be INTEGER or REAL%qs argument of %qs intrinsic at %L must be INTEGER or REAL or CHARACTER%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ literal constant%qs argument of %qs intrinsic at %L must be REAL or COMPLEX%qs argument of %qs intrinsic at %L must be a POINTER%qs argument of %qs intrinsic at %L must be a POINTER or a TARGET%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or procedure pointer%qs argument of %qs intrinsic at %L must be a constant%qs argument of %qs intrinsic at %L must be a data entity%qs argument of %qs intrinsic at %L must be a logical array%qs argument of %qs intrinsic at %L must be a pointer or target VARIABLE or FUNCTION%qs argument of %qs intrinsic at %L must be a scalar%qs argument of %qs intrinsic at %L must be a variable%qs argument of %qs intrinsic at %L must be an array%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s%qs argument of %qs intrinsic at %L must be default real%qs argument of %qs intrinsic at %L must be double precision%qs argument of %qs intrinsic at %L must be less than rank %d%qs argument of %qs intrinsic at %L must be numeric or LOGICAL%qs argument of %qs intrinsic at %L must be of a dummy variable%qs argument of %qs intrinsic at %L must be of a kind not wider than the default kind (%d)%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable%qs argument of %qs intrinsic at %L must be of an extensible type%qs argument of %qs intrinsic at %L must be of intrinsic type%qs argument of %qs intrinsic at %L must be of kind %d%qs argument of %qs intrinsic at %L must be of rank %d%qs argument of %qs intrinsic at %L must be of rank 1 or 2%qs argument of %qs intrinsic at %L must be positive%qs argument of %qs intrinsic at %L must be the same kind as %qs%qs argument of %qs intrinsic at %L must be the same type and kind as %qs%qs argument of %qs intrinsic at %L must have a numeric type%qs argument of %qs intrinsic at %L must have a type of either REAL or INTEGER%qs argument of %qs intrinsic at %L must have length at least 1%qs argument of %qs intrinsic at %L must have the same rank as %qs or be a scalar%qs argument of %qs intrinsic at %L must not be OPTIONAL%qs argument of %qs intrinsic at %L must not be a subobject of %qs%qs argument of %qs intrinsic at %L must not be present if % is COMPLEX%qs argument of %qs intrinsic at %L must provide at least as many elements as there are .TRUE. values in %qs (%ld/%d)%qs argument of %qs intrinsic at %L not yet supported%qs argument of %qs intrinsic at %L shall be of type integer, real or character%qs argument of %qs intrinsic at %L shall have the same type as %qs at %L%qs argument of %qs intrinsic at %L shall not be TYPE(*)%qs argument of %qs intrinsic at %L shall not be a procedure%qs argument of %qs intrinsic at %L shall not be an assumed-size array%qs argument of %qs intrinsic at %L shall not be coindexed%qs argument of %qs intrinsic at %L shall specify a valid integer kind%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar%qs argument references non-pointer operand (argument %lu, operand %lu)%qs argument with out-of-range operand number (argument %lu, operand %lu)%qs at %C is a DEC extension, enable with %<-fdec-structure%>%qs at %C is a redefinition of the declaration in the corresponding interface for MODULE PROCEDURE %qs%qs at %C is already defined as FINAL procedure%qs at %C is not a member of the %qs structure%qs at %C is not a member of the %qs structure; did you mean %qs?%qs at %C is not a variable%qs at %C is not an inquiry reference to an intrinsic type component%qs at %C is not an inquiry reference to an intrinsic type component %qs%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)%qs at %L already is initialized at %L%qs at %L associated to expression cannot be used in a variable definition context (%s)%qs at %L associated to vector-indexed target cannot be used in a variable definition context (%s)%qs at %L cannot appear in COMMON [F2008:C5100]%qs at %L cannot have the VALUE attribute because it is not a dummy argument%qs at %L has a type, which is not consistent with the CALL at %L%qs at %L has attributes specified outside its INTERFACE body%qs at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape or assumed-rank array%qs at %L is ambiguous%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (Fortran 2018, 15.5.2.12)%qs at %L is host associated at %L into a contained procedure with an internal procedure of the same name%qs at %L is not a VALUE%qs at %L is not a function%qs at %L is not a module procedure%qs at %L is of the ABSTRACT type %qs%qs at %L must be less than BIT_SIZE(%qs)%qs at %L must be less than or equal to BIT_SIZE(%qs)%qs at %L must be less than or equal to the BIT_SIZE of INTEGER(KIND=%d)%qs at %L must be nonnegative%qs at %L must have constant character length in this context%qs at %L must have the same number of formal arguments as the overridden procedure%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding%qs at %L overrides a FUNCTION and must also be a FUNCTION%qs at %L overrides a NOPASS binding and must also be NOPASS%qs at %L overrides a PUBLIC procedure and must not be PRIVATE%qs at %L overrides a PURE procedure and must also be PURE%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE%qs at %L overrides a binding with PASS and must also be PASS%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either%qs at %L overrides a procedure binding declared NON_OVERRIDABLE%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL%qs at %L shall be an INTENT(OUT) variable%qs at %L should be a FUNCTION%qs at %L should be a SUBROUTINE%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)%qs attribute cannot be applied to a function that does not take variable arguments%qs attribute directive ignored%qs attribute ignored%qs attribute not supported for %qE in %<__builtin_has_attribute%>%qs attribute not supported for %qT in %<__builtin_has_attribute%>%qs attribute not supported in %<__builtin_has_attribute%>%qs attribute only applies to functions%qs attribute only applies to variadic functions%qs attribute requires prototypes with named arguments%qs attribute without arguments on a non-prototype%qs cannot appear in a constant-expression%qs cannot appear in a typedef declaration%qs cannot be constant evaluated because the argument cannot be encoded%qs cannot be constant evaluated because the argument cannot be interpreted%qs cannot be constant evaluated because the type is too large%qs cannot be constant evaluated on the target%qs cannot be extended at %C because it is BIND(C)%qs cannot be extended at %C because it is a SEQUENCE type%qs cannot be initialized with%<-ftrivial-auto-var_init%>%qs cannot be used for compiling a shared library%qs cannot be used for type declarations%qs cannot be used in a % function%qs cannot be used in a constructor%qs cannot be used in a destructor%qs cannot be used in a function with a deduced return type%qs cannot be used in a varargs function%qs cannot be used in the % function%qs cannot be used outside a function%qs clause argument must be ALLOCATABLE or a POINTER at %L%qs clause at %L specified more than once%qs clause is incompatible with % or % clauses%qs clause may not appear on non-rectangular %qs%qs clause requires %qs clause%qs clause specified together with % % clause%qs clause used lexically after first target construct or offloading API%qs clause with % modifier refers to iteration never in the iteration space%qs clause with % modifier waiting for lexically later iteration%qs clause with % modifier specified together with %qs clauses with % modifier on the same construct%qs combined with % qualifier for %qE%qs combined with % qualifier for %qE%qs conflicts with %<-arch i386%> (%qs ignored)%qs conflicts with %<-arch ppc%> (%qs ignored)%qs construct inside of %qs region%qs declared INTRINSIC at %L does not exist%qs declared as function returning a function%qs declared as function returning an array%qs declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL.%qs declared at %L may shadow the intrinsic of the same name. In order to call the intrinsic, explicit INTRINSIC declarations may be required.%qs declared in a non-class scope%qs defined in a non-class scope%qs directive mentioned both times in ABSENT and CONTAINS clauses in %s directive at %L%qs directive mentioned multiple times in %s clause in %s directive at %L%qs does not support MIPS16 code%qs does not support feature %qs%qs does not work on a cross compiler%qs entity cannot have an initializer at %C%qs entity cannot have attributes at %C%qs expects 1 argument but %d given%qs expects 2 arguments but %d given%qs expects a constant argument%qs expects a fixed-point value as argument%qs expects a fixed-point value as first argument%qs expects an integer value as second argument%qs expression must be integral%qs expression of %-qualified type is deprecated%qs failed%qs feature modifier is incompatible with the use of floating-point types%qs feature modifier is incompatible with the use of vector types%qs function cannot have arguments%qs function cannot have different interrupt type%qs function cannot return a value%qs function uses % type specifier without trailing return type%qs function with trailing return type has % as its type rather than plain %%qs function with trailing return type has %qT as its type rather than plain %%qs function with trailing return type not declared with % type specifier%qs has %qs%qs has both % and initializer%qs has overflowed%qs in %<%s %E%>%qs in %s clause at %L is a zero size array section%qs in %s clause at %L is not a proper array section%qs in ALIGNED clause at %L requires a scalar positive constant integer alignment expression%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at %L%qs in EXTENDS expression at %C is not a derived type%qs in LINEAR clause at %L requires a constant integer linear-step expression or dummy argument specified in UNIFORM clause%qs in LINEAR clause at %L requires a scalar integer linear-step expression%qs in attribute syntax terminated with %qs in pragma syntax%qs in empty declaration%qs in empty declaration with % underlying type%qs in gimple IL%qs in pragma syntax terminated with %qs in attribute syntax%qs in the pointer assignment at %L cannot be an l-value since it is a procedure%qs in variable definition context (%s) at %L is not a variable%qs incompatible with explicitly disabled options%qs initialized and declared %%qs into non-mode-precision operand%qs intrinsic subprogram at %L has been removed. Use INT intrinsic subprogram.%qs intrinsic with CHARACTER argument at %L%qs intrinsic with KIND argument at %L%qs intrinsic with RADIX argument at %L%qs is a nested function and cannot be accessed from %qs%qs is a reserved identifier in AVR-LibC. Consider %<#include %> before using the %qs macro%qs is already IMPORTed from host scoping unit at %C%qs is an invalid argument to %<-mcpu=%>%qs is an opaque type, and you cannot set it to other values%qs is an unknown %<-save-temps%> option%qs is corrupted%qs is defined but could not be loaded: %s%qs is defined but plugin support is disabled%qs is defined in header %qs; did you forget to %<#include %s%>?%qs is deprecated%qs is deprecated and not recommended in any circumstances%qs is deprecated; use -fno-zero-initialized-in-bss%qs is deprecated; use -fstack-check%qs is incompatible with %qs%qs is incompatible with the use of floating-point types%qs is incompatible with the use of vector types%qs is loaded but symbol %qs is not found: %s%qs is mutually exclusive with %qs and cannot be specified together%qs is narrower than values of its type%qs is neither a defined operator nor a structure component in dotted string at %C%qs is not a constant expression because %qT contains a pointer to member type%qs is not a constant expression because %qT contains a pointer type%qs is not a constant expression because %qT contains a reference type%qs is not a constant expression because %qT contains a union type%qs is not a constant expression because %qT contains a volatile subobject%qs is not a constant expression because %qT is a pointer to member type%qs is not a constant expression because %qT is a pointer type%qs is not a constant expression because %qT is a reference type%qs is not a constant expression because %qT is a union type%qs is not a constant expression because %qT is volatile%qs is not a directory%qs is not a field, but a %qs%qs is not a gcov data file%qs is not a valid Modula-2 system library name or abbreviation%qs is not a valid base register in %<-mstack-protector-guard-reg=%>%qs is not a valid base register in %qs%qs is not a valid number in %<-mstack-protector-guard-offset=%>%qs is not a valid number in %qs%qs is not a valid offset in %<-mstack-protector-guard-offset=%>%qs is not a valid offset in %qs%qs is not a valid option to the preprocessor%qs is not an associative array%qs is not an expression%qs is not an option that controls warnings%qs is not defined as a type%qs is not supported by arch %s%qs is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries%qs is not supported for this target%qs is not supported in 32-bit mode%qs is not supported in this compiler configuration%qs is not supported in this configuration%qs is not supported on little endian systems%qs is not supported on this target%qs is not supported with %qs%qs is not supported, now cmodel is set to %qs%qs is not valid for %<-mmacosx-version-min%>%qs is not valid for %qs%qs is of a PRIVATE type and cannot be a dummy argument of %qs, which is PUBLIC at %L%qs is used uninitialized%qs is version %q.*s, expected version %q.*s%qs length expression must be integral%qs length expression must be positive constant integer expression%qs matching variant is deprecated%qs matching variant requires z14 or higher%qs matching variant requires z15 or higher%qs may be used uninitialized%qs may only be used with a single declarator%qs must be a module procedure or an external procedure with an explicit interface at %L%qs must be by itself for %<-mharden-sls=%>%qs must be of same type and kind as %qs at %L in %qs%qs must be the first clause of %qs%qs must be used with %qs%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated%qs needs a valid base register%qs not allowed outside STRUCTURE at %C%qs not at element boundary%qs not supported by your assembler%qs not supported with %<-msoft-float%>%qs not yet supported%qs of %qs is PRIVATE at %L%qs of module %qs, imported at %C, is also the name of the current program unit%qs of non-mode-precision operand%qs only supported in OpenACC code%qs parameter inquiry for %qs in variable definition context (%s) at %L%qs plugin is not licensed under a GPL-compatible license%qs pointer is null%qs profile count data file not found%qs property cannot be set%qs region may not be closely nested inside of work-sharing, %, explicit % or % region%qs requires %<__ibm128%> type support%qs requires % to be IBM 128-bit format%qs requires %qs%qs requires %qs or %qs%qs requires PowerPC64 architecture, enabling%qs requires VSX support%qs requires a target that provides the %qs instruction%qs requires an initialized data declaration%qs requires an integer constant expression%qs requires branch-likely instructions%qs requires full ISA 2.06 support%qs requires full ISA 3.0 support%qs requires quad-precision floating-point arithmetic%qs requires the %qs and %qs options%qs requires the %qs option%qs requires the %qs option and either the %qs or %qs option%qs requires the ELFv2 ABI%qs should be %qs to terminate a template argument list%qs should be from a scalar to a like vector%qs specified bound %s exceeds maximum object size %E%qs specified bound %s exceeds the size %E of unterminated array%qs specified bound %s exceeds the size of at most %E of unterminated array%qs specified bound %s may exceed the size of at most %E of unterminated array%qs specified for auto variable %qE%qs specified for parameter %qE%qs specified for structure field%qs specified for structure field %qE%qs specified for unnamed parameter%qs specified in % clause at %L but not in an explicit privatization clause%qs specified in 'allocate' clause at %L but not in an explicit privatization clause%qs specified multiple times in the same option%qs specified with %%qs specified with %%qs specified with %qT%qs specified with typedef-name %qD%qs specifies a conflicting level of parallelism%qs string ill-formed%qs symbol %q+D must have static linkage%qs symbol %q+D ultimately targets itself%qs tag used in naming %q#T%qs unsupported for this ABI%qs used with %%qs used with %qE%qs uses dynamic stack allocation%qs uses register r29%qs value must be positive%qs variable is neither a pointer nor an array%qs variable is neither a pointer nor reference to pointer%qs variable is neither a pointer, nor an array nor reference to pointer or array%qs variable is not a pointer%qs was declared here%qs without corresponding %qs%qs: [%u] bad % for empty chain (%u)%qs: [%u] bad % (%u)%qs: [%u] non-empty register in chain (%s %u %i)%qs: loop in % chain (%u)%r%s:%d:%R %r%s:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] %r%s:%d:%R in % expansion of %qs%r%s:%d:%d:%R %r%s:%d:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] %r%s:%d:%d:%R in % expansion of %qs%s%s %s Same as %s.%s !$ACC LOOP loops not perfectly nested at %L%s %#qD%s %#qS%s %<%s%.*s%> expects a matching %<%T%s%> argument%s %<%s%.*s%> expects a matching %<%s%s%> argument%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT%s %<%s%.*s%> expects argument of type %<%s%s%>, but argument %d has type %qT%s %<%s(%E)%> %p %d%s %qE does not fully implement the %qE protocol%s %qs%s %qs construct inside of %s %qs region%s %qs is an invalid argument to builtin %qs%s %s %p %d%s %s%s *************** F2008: A pointer function assignment is *** 1887,1893 **** BIND(C) feature of standard Fortran instead. */ 128-bit % not supported for VAX floats31 bit ABI.387 instruction set disabled, using SSE arithmetics64 bit ABI.64-bit ABI not supported in ESA/390 mode; use assignment instead; use assignment or value-initialization instead; use copy-assignment instead; use copy-assignment or copy-initialization instead; use copy-initialization instead; use value-initialization instead !