aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rwxr-xr-xconfigure19
-rw-r--r--configure.ac19
-rw-r--r--contrib/ChangeLog5
-rw-r--r--gcc/ChangeLog255
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/avoid-store-forwarding.cc11
-rw-r--r--gcc/combine.cc6
-rw-r--r--gcc/config.gcc14
-rw-r--r--gcc/config/aarch64/aarch64-c.cc1
-rw-r--r--gcc/config/aarch64/aarch64-cores.def2
-rw-r--r--gcc/config/aarch64/aarch64-protos.h1
-rw-r--r--gcc/config/aarch64/aarch64.cc73
-rw-r--r--gcc/config/aarch64/aarch64.md72
-rw-r--r--gcc/config/alpha/alpha.cc23
-rw-r--r--gcc/config/c6x/c6x.h6
-rw-r--r--gcc/config/i386/i386-expand.cc50
-rw-r--r--gcc/config/i386/i386.cc170
-rw-r--r--gcc/config/i386/i386.h6
-rw-r--r--gcc/config/i386/i386.md4
-rw-r--r--gcc/config/i386/predicates.md14
-rw-r--r--gcc/config/i386/sse.md94
-rw-r--r--gcc/config/i386/x86-tune-costs.h121
-rw-r--r--gcc/config/mips/mips.cc3
-rw-r--r--gcc/config/riscv/bitmanip.md56
-rw-r--r--gcc/config/riscv/gnu.h59
-rw-r--r--gcc/config/riscv/riscv-cores.def48
-rw-r--r--gcc/config/riscv/riscv.cc3
-rw-r--r--gcc/config/riscv/riscv.md28
-rw-r--r--gcc/config/riscv/vector.md22
-rw-r--r--gcc/config/rs6000/rs6000.cc11
-rw-r--r--gcc/config/sh/sh-modes.def6
-rw-r--r--gcc/cp/ChangeLog77
-rw-r--r--gcc/cp/constexpr.cc63
-rw-r--r--gcc/cp/coroutines.cc21
-rw-r--r--gcc/cp/init.cc4
-rw-r--r--gcc/cp/name-lookup.cc45
-rw-r--r--gcc/cp/semantics.cc8
-rw-r--r--gcc/d/ChangeLog4
-rw-r--r--gcc/doc/cfg.texi10
-rw-r--r--gcc/doc/invoke.texi23
-rw-r--r--gcc/dwarf2out.cc46
-rw-r--r--gcc/dwarf2out.h29
-rw-r--r--gcc/except.cc9
-rw-r--r--gcc/fold-const.cc6
-rw-r--r--gcc/fortran/ChangeLog214
-rw-r--r--gcc/fortran/check.cc280
-rw-r--r--gcc/fortran/coarray.cc12
-rw-r--r--gcc/fortran/decl.cc20
-rw-r--r--gcc/fortran/dump-parse-tree.cc53
-rw-r--r--gcc/fortran/expr.cc8
-rw-r--r--gcc/fortran/frontend-passes.cc1
-rw-r--r--gcc/fortran/gfortran.h9
-rw-r--r--gcc/fortran/gfortran.texi238
-rw-r--r--gcc/fortran/intrinsic.cc85
-rw-r--r--gcc/fortran/intrinsic.h17
-rw-r--r--gcc/fortran/intrinsic.texi191
-rw-r--r--gcc/fortran/iresolve.cc48
-rw-r--r--gcc/fortran/iso-fortran-env.def26
-rw-r--r--gcc/fortran/libgfortran.h10
-rw-r--r--gcc/fortran/match.cc405
-rw-r--r--gcc/fortran/parse.cc143
-rw-r--r--gcc/fortran/parse.h2
-rw-r--r--gcc/fortran/resolve.cc190
-rw-r--r--gcc/fortran/simplify.cc25
-rw-r--r--gcc/fortran/trans-decl.cc52
-rw-r--r--gcc/fortran/trans-expr.cc13
-rw-r--r--gcc/fortran/trans-intrinsic.cc195
-rw-r--r--gcc/fortran/trans-stmt.cc304
-rw-r--r--gcc/fortran/trans-stmt.h1
-rw-r--r--gcc/fortran/trans.cc46
-rw-r--r--gcc/fortran/trans.h15
-rw-r--r--gcc/gimple-fold.cc56
-rw-r--r--gcc/ipa-cp.cc247
-rw-r--r--gcc/m2/gm2-compiler/M2Check.mod21
-rw-r--r--gcc/m2/gm2-compiler/M2Quads.mod10
-rw-r--r--gcc/m2/gm2-compiler/M2Range.mod43
-rw-r--r--gcc/m2/gm2-compiler/SymbolTable.def16
-rw-r--r--gcc/m2/gm2-compiler/SymbolTable.mod137
-rw-r--r--gcc/params.opt4
-rw-r--r--gcc/po/gcc.pot12966
-rw-r--r--gcc/po/sv.po392
-rw-r--r--gcc/profile-count.cc23
-rw-r--r--gcc/profile-count.h3
-rw-r--r--gcc/testsuite/ChangeLog318
-rw-r--r--gcc/testsuite/cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob1
-rw-r--r--gcc/testsuite/g++.dg/abi/ref-temp1.C13
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new24.C4
-rw-r--r--gcc/testsuite/g++.dg/eh/pr119507.C21
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov.exp15
-rw-r--r--gcc/testsuite/g++.dg/modules/tpl-friend-18_a.C25
-rw-r--r--gcc/testsuite/g++.dg/modules/tpl-friend-18_b.C9
-rw-r--r--gcc/testsuite/g++.dg/modules/tpl-friend-18_c.C10
-rw-r--r--gcc/testsuite/g++.dg/no-stack-protector-attr-3.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr119327.C16
-rw-r--r--gcc/testsuite/g++.target/aarch64/spaceship_1.C192
-rw-r--r--gcc/testsuite/g++.target/aarch64/spaceship_2.C72
-rw-r--r--gcc/testsuite/g++.target/aarch64/spaceship_3.C9
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ipa-clone-4.c30
-rw-r--r--gcc/testsuite/gcc.dg/memcpy-4.c7
-rw-r--r--gcc/testsuite/gcc.dg/pr116357.c6
-rw-r--r--gcc/testsuite/gcc.dg/pr118947-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/pr119160.c26
-rw-r--r--gcc/testsuite/gcc.dg/pr78408-3.c14
-rw-r--r--gcc/testsuite/gcc.dg/rtl/i386/vector_eq-2.c71
-rw-r--r--gcc/testsuite/gcc.dg/rtl/i386/vector_eq-3.c74
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/ipa-cp-1.c30
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr118902-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-52.c30
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-53.c26
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-54.c25
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-early-break_38.c1
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov-31.c2
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov.exp15
-rw-r--r--gcc/testsuite/gcc.target/aarch64/_Float16_cmp_1.c54
-rw-r--r--gcc/testsuite/gcc.target/aarch64/_Float16_cmp_2.c7
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x2.c22
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x3.c22
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x4.c24
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x2.c22
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x3.c22
-rw-r--r--gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x4.c24
-rw-r--r--gcc/testsuite/gcc.target/aarch64/bic-1.c40
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c15
-rw-r--r--gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-long.c76
-rw-r--r--gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-quad.c64
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-pr96891-3.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpcmpgtuq-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-pr103750-1.c79
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/blendv-to-maxmin.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/blendv-to-pand.c16
-rw-r--r--gcc/testsuite/gcc.target/i386/pr89618-2.c8
-rw-r--r--gcc/testsuite/gcc.target/i386/recip-vec-divf-fma.c12
-rw-r--r--gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp6
-rw-r--r--gcc/testsuite/gcc.target/mips/clear-cache-1.c2
-rw-r--r--gcc/testsuite/gcc.target/mips/memcpy-2.c12
-rw-r--r--gcc/testsuite/gcc.target/powerpc/power11-3.c1
-rw-r--r--gcc/testsuite/gcc.target/riscv/bext-ext-2.c74
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c908.c48
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c908v.c50
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c910.c35
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c910v2.c51
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c920.c34
-rw-r--r--gcc/testsuite/gcc.target/riscv/mcpu-xt-c920v2.c56
-rw-r--r--gcc/testsuite/gcc.target/riscv/pr108016.c33
-rw-r--r--gcc/testsuite/gcc.target/riscv/pr118410-1.c9
-rw-r--r--gcc/testsuite/gcc.target/riscv/pr118410-2.c9
-rw-r--r--gcc/testsuite/gcc.target/sh/pr111814.c7
-rw-r--r--gcc/testsuite/gdc.dg/gcov.exp15
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/coindexed_3.f081
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/coindexed_5.f9080
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/get_team_1.f9029
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/image_status_1.f082
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_10.f902
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_49.f902
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_collectives_12.f902
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_collectives_16.f902
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_critical_2.f9030
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_critical_3.f9032
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f904
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f904
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_this_image_1.f9063
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_this_image_2.f9068
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_this_image_3.f9031
-rw-r--r--gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f902
-rw-r--r--gcc/testsuite/gfortran.dg/move_alloc_11.f9023
-rw-r--r--gcc/testsuite/gfortran.dg/num_images_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr102458.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr119836_1.f9018
-rw-r--r--gcc/testsuite/gfortran.dg/pr119836_2.f9021
-rw-r--r--gcc/testsuite/gfortran.dg/pr119836_3.f9030
-rw-r--r--gcc/testsuite/gfortran.dg/pr119836_4.f9030
-rw-r--r--gcc/testsuite/gfortran.dg/team_change_2.f9093
-rw-r--r--gcc/testsuite/gfortran.dg/team_change_3.f9029
-rw-r--r--gcc/testsuite/gfortran.dg/team_end_2.f9042
-rw-r--r--gcc/testsuite/gfortran.dg/team_end_3.f9041
-rw-r--r--gcc/testsuite/gfortran.dg/team_form_2.f9027
-rw-r--r--gcc/testsuite/gfortran.dg/team_form_3.f9034
-rw-r--r--gcc/testsuite/gfortran.dg/team_get_1.f9027
-rw-r--r--gcc/testsuite/gfortran.dg/team_number_1.f906
-rw-r--r--gcc/testsuite/gfortran.dg/team_sync_1.f9024
-rw-r--r--gcc/testsuite/gfortran.dg/team_sync_2.f9027
-rw-r--r--gcc/testsuite/gm2/pim/fail/constintarraybyte.mod10
-rw-r--r--gcc/testsuite/gnat.dg/gcov/gcov.exp15
-rw-r--r--gcc/testsuite/lib/target-supports.exp10
-rw-r--r--gcc/testsuite/rust/compile/nr2/compile.exp11
-rw-r--r--gcc/tree-ssa-dse.cc16
-rw-r--r--gcc/tree-vect-loop.cc47
-rw-r--r--gcc/vec.h8
-rw-r--r--libgcc/ChangeLog34
-rw-r--r--libgcc/config/sh/sfp-machine.h80
-rw-r--r--libgcobol/ChangeLog7
-rw-r--r--libgcobol/config.h.in3
-rwxr-xr-xlibgcobol/configure74
-rw-r--r--libgcobol/configure.ac3
-rw-r--r--libgcobol/intrinsic.cc2
-rw-r--r--libgfortran/ChangeLog72
-rw-r--r--libgfortran/caf/libcaf.h46
-rw-r--r--libgfortran/caf/single.c278
-rw-r--r--libgomp/ChangeLog12
-rw-r--r--libgomp/testsuite/libgomp.fortran/target-enter-data-8.f90532
-rw-r--r--libstdc++-v3/ChangeLog157
-rw-r--r--libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt15
-rw-r--r--libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt214
-rw-r--r--libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt220
-rw-r--r--libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt11
-rw-r--r--libstdc++-v3/doc/xml/manual/appendix_contributing.xml2
-rw-r--r--libstdc++-v3/include/bits/iterator_concepts.h5
-rw-r--r--libstdc++-v3/src/c++23/std.cc.in4
-rw-r--r--libstdc++-v3/testsuite/23_containers/flat_map/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_arrow_operator_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_const_conversion_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_arrow_operator_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_const_conversion_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_arrow_operator_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_const_conversion_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_arrow_operator_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_const_conversion_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc17
-rw-r--r--libstdc++-v3/testsuite/24_iterators/indirect_callable/projected.cc5
-rw-r--r--libstdc++-v3/testsuite/std/format/ranges/map.cc1
-rw-r--r--libstdc++-v3/testsuite/std/format/ranges/sequence.cc1
-rw-r--r--libstdc++-v3/testsuite/std/format/ranges/string.cc1
-rw-r--r--libstdc++-v3/testsuite/util/debug/unordered_checks.h152
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc4
-rw-r--r--maintainer-scripts/ChangeLog5
277 files changed, 15723 insertions, 7944 deletions
diff --git a/ChangeLog b/ChangeLog
index f7efaad..2fb380b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR cobol/119217
+ * configure.ac: Restrict cobol to aarch64-*-linux*,
+ x86_64-*-linux*.
+ Fix indentation.
+ * configure: Regenerate.
+
2025-04-16 Waffl3x <waffl3x@baylibre.com>
* MAINTAINERS: Add myself.
diff --git a/configure b/configure
index bf574ef..ebc4441 100755
--- a/configure
+++ b/configure
@@ -3571,31 +3571,28 @@ case ,${enable_languages}, in
*,cobol,*)
case ,${enable_languages}, in
*,c++,*)
- ;;
+ ;;
*)
# We have an explicit cobol, but no c++. We need c++, because cobol
# requires libstdc++
enable_languages="$enable_languages,c++"
- ;;
+ ;;
esac
;;
*)
case "${target}" in
- *-*-darwin*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
- x86_64-*-*|aarch64-*-*)
+ aarch64-*-linux*|x86_64-*-linux*)
;;
*-*-*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
esac
case "${host}" in
- x86_64-*-*|aarch64-*-*)
+ aarch64-*-linux*|x86_64-*-linux*)
;;
*-*-*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
esac
;;
esac
diff --git a/configure.ac b/configure.ac
index 3e120b0..730db3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -791,31 +791,28 @@ case ,${enable_languages}, in
*,cobol,*)
case ,${enable_languages}, in
*,c++,*)
- ;;
+ ;;
*)
# We have an explicit cobol, but no c++. We need c++, because cobol
# requires libstdc++
enable_languages="$enable_languages,c++"
- ;;
+ ;;
esac
;;
*)
case "${target}" in
- *-*-darwin*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
- x86_64-*-*|aarch64-*-*)
+ aarch64-*-linux*|x86_64-*-linux*)
;;
*-*-*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
esac
case "${host}" in
- x86_64-*-*|aarch64-*-*)
+ aarch64-*-linux*|x86_64-*-linux*)
;;
*-*-*)
- unsupported_languages="$unsupported_languages cobol"
- ;;
+ unsupported_languages="$unsupported_languages cobol"
+ ;;
esac
;;
esac
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 334d1e4..e7a4cab 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-changelog/git_update_version.py (active_refs): Add
+ releases/gcc-15.
+
2025-04-11 Tomasz Kamiński <tkaminsk@redhat.com>
PR libstdc++/109162
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9a6b52..c838fcd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,258 @@
+2025-04-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): Add special cases
+ for COND_EXPR; make MIN_EXPR, MAX_EXPR, ABS_EXPR and ABSU_EXPR more realistic.
+
+2025-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/119327
+ * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore also
+ OPTION_MASK_SAVE_TOC_INDIRECT differences.
+
+2025-04-22 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
+ __ARM_FEATURE_FAMINMAX.
+
+2025-04-22 Spencer Abson <spencer.abson@arm.com>
+
+ * tree-vect-loop.cc (vectorizable_induction): Add target support
+ checks for vectorized MULT_EXPR and FLOAT_EXPR where necessary for
+ scalable types.
+ Prefer target_supports_op_p over directly_supports_p for these tree
+ codes.
+ (vectorizable_nonlinear_induction): Fix a doc comment while I'm
+ here.
+
+2025-04-22 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64.md: Update cbranch, cstore, fcmp
+ and fcmpe to use the GPF_F16 iterator for floating-point
+ modes.
+
+2025-04-22 Spencer Abson <spencer.abson@arm.com>
+
+ PR target/117013
+ * config/aarch64/aarch64-protos.h (aarch64_expand_fp_spaceship):
+ Declare optab expander function for floating-point types.
+ * config/aarch64/aarch64.cc (aarch64_expand_fp_spaceship):
+ Define optab expansion for floating-point types (new function).
+ * config/aarch64/aarch64.md (spaceship<mode>4):
+ Add define_expands for spaceship<mode>4 on integer and
+ floating-point types.
+
+2025-04-22 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * config/aarch64/aarch64-cores.def (olympus): Add fp8fma, fp8dot4
+ explicitly.
+
+2025-04-22 Yixuan Chen <chenyixuan@iscas.ac.cn>
+
+ * config/riscv/riscv-cores.def (RISCV_TUNE): Add xt-c908, xt-c908v,
+ xt-c910, xt-c910v2, xt-c920, xt-c920v2.
+ (RISCV_CORE): Add xt-c908, xt-c908v, xt-c910, xt-c910v2, xt-c920,
+ xt-c920v2.
+ * doc/invoke.texi: Add xt-c908, xt-c908v, xt-c910, xt-c910v2,
+ xt-c920, xt-c920v2.
+
+2025-04-22 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * doc/invoke.texi (lto-partition-locality-frequency-cutoff,
+ lto-partition-locality-size-cutoff, lto-max-locality-partition):
+ Document.
+
+2025-04-22 Alexandre Oliva <oliva@adacore.com>
+
+ PR target/118182
+ * config/riscv/vector.md (@pred_broadcast<mode>): Expand to
+ _zero and _imm variants without vec_duplicate.
+
+2025-04-21 Jan Hubicka <hubicka@ucw.cz>
+
+ PR target/119879
+ * config/i386/i386.cc (fp_conversion_stmt_cost): Inline to ...
+ (ix86_vector_costs::add_stmt_cost): ... here; fix handling of NOP_EXPR.
+
+2025-04-21 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.cc (mips_option_override): Error out for
+ -mmicromips -mmsa.
+
+2025-04-21 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/119507
+ * except.cc (switch_to_exception_section): Don't use the cached section if
+ the current function is in comdat.
+
+2025-04-21 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * vec.h (array_slice::begin): Assert that the
+ slice is valid.
+ (array_slice::end): Likewise.
+
+2025-04-21 hongtao.liu <hongtao.liu@intel.com>
+
+ * config/i386/i386-expand.cc (ix86_emit_swdivsf): Generate 2
+ FMA instructions when TARGET_FMA.
+
+2025-04-19 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/119865
+ * config/riscv/riscv.cc (parse_features_for_version): Do not
+ explicitly free the architecture string.
+
+2025-04-19 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/118410
+ * config/riscv/bitmanip.md (logical with constant argument): New
+ splitter for cases where synthesizing ~C is cheaper than synthesizing
+ the original constant C.
+
+2025-04-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * config/i386/i386.cc (vec_fp_conversion_cost): New function.
+ (ix86_rtx_costs): Use it for SSE/AVX FP conversoins.
+ (ix86_builtin_vectorization_cost): Fix indentation;
+ and use vec_fp_conversion_cost in vec_promote_demote.
+ (fp_conversion_stmt_cost): New function.
+ (ix86_vector_costs::add_stmt_cost): Use it to cost NOP_EXPR
+ and vec_promote_demote.
+ * config/i386/i386.h (struct processor_costs):
+ * config/i386/x86-tune-costs.h (struct processor_costs):
+
+2025-04-19 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR rtl-optimization/111949
+ * combine.cc (find_split_point): Add a split point
+ for `(and (not X) Y)` if not in the outer set already.
+
+2025-04-19 Jiaxun Yang <jiaxun.yang@flygoat.com>
+
+ PR target/111814
+ * config/sh/sh-modes.def (RESET_FLOAT_FORMAT): Use mips format.
+ (FLOAT_MODE): Use mips mode.
+
+2025-04-19 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ * config/alpha/alpha.cc
+ (alpha_get_mem_rtx_alignment_and_offset): Recurse into
+ COMPONENT_REF nodes.
+
+2025-04-18 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/bitmanip.md (*bext<mode>_mask_pos): New pattern
+ for extracting a single bit at masked bit position.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/87901
+ * tree-ssa-dse.cc (maybe_trim_constructor_store): Add was_integer_cst argument.
+ Check for was_integer_cst instead of `{}` when was_integer_cst is true.
+ (maybe_trim_partially_dead_store): Handle INTEGER_CST stores of 0 as stores of `{}`.
+ Udpate call to maybe_trim_constructor_store for CONSTRUCTOR.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/87901
+ * tree-ssa-dse.cc (maybe_trim_constructor_store): Strip over useless type
+ conversions after taking the address of the MEM_REF.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/118902
+ * fold-const.cc (tree_swap_operands_p): Place invariants in the first operand
+ if not used with constants.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/118947
+ * gimple-fold.cc (optimize_memcpy_to_memset): Walk back until we get a
+ statement that may clobber the read.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/78408
+ PR tree-optimization/118947
+ * gimple-fold.cc (optimize_memcpy_to_memset): Handle STRING_CST case too.
+
+2025-04-18 Richard Braun <rbraun@sceen.net>
+
+ * config/c6x/c6x.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove the
+ DW_EH_PE_indirect flag.
+
+2025-04-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/119858
+ * tree-vect-loop.cc (vectorizable_live_operation): Convert
+ pointer offset to sizetype.
+
+2025-04-18 Hakan Candar <hakancandar@protonmail.com>
+
+ * config.gcc: Recognize riscv*-*-gnu* targets.
+ * config/riscv/gnu.h: New file.
+
+2025-04-18 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
+
+ PR middle-end/108016
+ PR middle-end/108016
+ * config/riscv/riscv.md (addv<mode>4, uaddv<mode>4, subv<mode>4,
+ usubv<mode>4): Tunes for unnecessary sext.w elimination.
+
+2025-04-18 kelefth <konstantinos.eleftheriou@vrull.eu>
+
+ PR rtl-optimization/119160
+ * avoid-store-forwarding.cc (process_store_forwarding):
+ Zero-extend the value stored in the base register, in case
+ of load-elimination, only when the mode of the destination
+ is wider.
+
+2025-04-18 kelefth <konstantinos.eleftheriou@vrull.eu>
+
+ * doc/cfg.texi: Update the exception handling section for the
+ REG_EH_REGION notes to make it clear that the note is attached
+ to the instruction throwing the exception.
+
+2025-04-17 ç¿æ„·é‚‘ <kaiweng9487@gmail.com>
+
+ * config/riscv/riscv-target-attr.cc
+ (riscv_target_attr_parser::update_settings):
+ Do not manually free any arch string.
+
+2025-04-17 Eric Botcazou <ebotcazou@gcc.gnu.org>
+
+ * tree.def (BOOLEAN_TYPE): Add more details.
+
+2025-04-17 Sam James <sam@gentoo.org>
+
+ * doc/invoke.texi: Use "compatible types" term. Rephrase to be
+ more precise (and correct).
+
+2025-04-17 Tamar Christina <tamar.christina@arm.com>
+
+ PR tree-optimization/119351
+ * tree-vect-stmts.cc (vectorizable_early_exit): Mask both operands of
+ the gcond for partial masking support.
+
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/119834
+ * config/s390/s390.md (define_split after *cpymem_short): Use
+ (clobber (match_scratch N)) instead of (clobber (scratch)). Use
+ (match_dup 4) and operands[4] instead of (match_dup 3) and operands[3]
+ in the last of those.
+ (define_split after *clrmem_short): Use (clobber (match_scratch N))
+ instead of (clobber (scratch)).
+ (define_split after *cmpmem_short): Likewise.
+
+2025-04-17 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * config/nvptx/nvptx.cc (TARGET_ASM_NEED_VAR_DECL_BEFORE_USE):
+ Don't '#define'.
+
+2025-04-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * combine.cc: Correct comments about combine_validate_cost.
+
2025-04-16 Sandra Loosemore <sloosemore@baylibre.com>
PR c/88382
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index f290185..1041049 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250417
+20250423
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index bc92ffe..650de8b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * gnatvsn.ads: Bump Library_Version to 16.
+
2025-04-12 Eric Botcazou <ebotcazou@adacore.com>
PR ada/119643
diff --git a/gcc/avoid-store-forwarding.cc b/gcc/avoid-store-forwarding.cc
index 34a7bba..ded8d7e 100644
--- a/gcc/avoid-store-forwarding.cc
+++ b/gcc/avoid-store-forwarding.cc
@@ -238,10 +238,15 @@ process_store_forwarding (vec<store_fwd_info> &stores, rtx_insn *load_insn,
{
start_sequence ();
- rtx ext0 = gen_rtx_ZERO_EXTEND (GET_MODE (dest), it->mov_reg);
- if (ext0)
+ machine_mode dest_mode = GET_MODE (dest);
+ rtx base_reg = it->mov_reg;
+ if (known_gt (GET_MODE_BITSIZE (dest_mode),
+ GET_MODE_BITSIZE (GET_MODE (it->mov_reg))))
+ base_reg = gen_rtx_ZERO_EXTEND (dest_mode, it->mov_reg);
+
+ if (base_reg)
{
- rtx_insn *move0 = emit_move_insn (dest, ext0);
+ rtx_insn *move0 = emit_move_insn (dest, base_reg);
if (recog_memoized (move0) >= 0)
{
insns = get_insns ();
diff --git a/gcc/combine.cc b/gcc/combine.cc
index e118608..873c2bd 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -5280,6 +5280,12 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src)
SUBST (XEXP (x, 0), XEXP (x, 1));
SUBST (XEXP (x, 1), tem);
}
+ /* Many targets have a `(and (not X) Y)` and/or `(ior (not X) Y)` instructions.
+ Split at that insns. However if this is
+ the SET_SRC, we likely do not have such an instruction and it's
+ worthless to try this split. */
+ if (!set_src && GET_CODE (XEXP (x, 0)) == NOT)
+ return loc;
break;
case PLUS:
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 40b50dc..d98df88 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2540,6 +2540,20 @@ riscv*-*-linux*)
gcc_cv_initfini_array=yes
with_tls=${with_tls:-trad}
;;
+riscv*-*-gnu*)
+ tm_file="elfos.h gnu-user.h gnu.h glibc-stdint.h ${tm_file} riscv/gnu.h"
+ tmake_file="${tmake_file} riscv/t-riscv"
+ gnu_ld=yes
+ gas=yes
+ case $target in
+ riscv32be-*|riscv64be-*)
+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+ ;;
+ esac
+ # Force .init_array support. The configure script cannot always
+ # automatically detect that GAS supports it, yet we require it.
+ gcc_cv_initfini_array=yes
+ ;;
riscv*-*-elf* | riscv*-*-rtems*)
tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
case ${target} in
diff --git a/gcc/config/aarch64/aarch64-c.cc b/gcc/config/aarch64/aarch64-c.cc
index d1e2ab9..98337b7 100644
--- a/gcc/config/aarch64/aarch64-c.cc
+++ b/gcc/config/aarch64/aarch64-c.cc
@@ -293,6 +293,7 @@ aarch64_update_cpp_builtins (cpp_reader *pfile)
aarch64_def_or_undef (TARGET_SME2, "__ARM_FEATURE_SME2", pfile);
aarch64_def_or_undef (AARCH64_HAVE_ISA (SME2p1),
"__ARM_FEATURE_SME2p1", pfile);
+ aarch64_def_or_undef (TARGET_FAMINMAX, "__ARM_FEATURE_FAMINMAX", pfile);
/* Not for ACLE, but required to keep "float.h" correct if we switch
target between implementations that do or do not support ARMv8.2-A
diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def
index 7f204fd..1209630 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -224,7 +224,7 @@ AARCH64_CORE("neoverse-v3ae", neoversev3ae, cortexa57, V9_2A, (SVE2_BITPERM, RNG
AARCH64_CORE("demeter", demeter, cortexa57, V9A, (I8MM, BF16, SVE2_BITPERM, RNG, MEMTAG, PROFILE), neoversev2, 0x41, 0xd4f, -1)
/* NVIDIA ('N') cores. */
-AARCH64_CORE("olympus", olympus, cortexa57, V9_2A, (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE, FAMINMAX, FP8DOT2, LUT, SVE2_AES, SVE2_SHA3, SVE2_SM4), neoversev3, 0x4e, 0x10, -1)
+AARCH64_CORE("olympus", olympus, cortexa57, V9_2A, (SVE2_BITPERM, RNG, LS64, MEMTAG, PROFILE, FAMINMAX, FP8FMA, FP8DOT2, FP8DOT4, LUT, SVE2_AES, SVE2_SHA3, SVE2_SM4), neoversev3, 0x4e, 0x10, -1)
/* Generic Architecture Processors. */
AARCH64_CORE("generic", generic, cortexa53, V8A, (), generic, 0x0, 0x0, -1)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 8f44aea..1ca86c9 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1260,6 +1260,7 @@ void aarch64_restore_za (rtx);
void aarch64_expand_crc_using_pmull (scalar_mode, scalar_mode, rtx *);
void aarch64_expand_reversed_crc_using_pmull (scalar_mode, scalar_mode, rtx *);
+void aarch64_expand_fp_spaceship (rtx, rtx, rtx, rtx);
extern bool aarch64_gcs_enabled ();
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 433ec97..38c112c 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -31294,6 +31294,79 @@ aarch64_expand_reversed_crc_using_pmull (scalar_mode crc_mode,
}
}
+/* Expand the spaceship optab for floating-point operands.
+
+ If the result is compared against (-1, 0, 1 , 2), expand into
+ fcmpe + conditional branch insns.
+
+ Otherwise (the result is just stored as an integer), expand into
+ fcmpe + a sequence of conditional select/increment/invert insns. */
+void
+aarch64_expand_fp_spaceship (rtx dest, rtx op0, rtx op1, rtx hint)
+{
+ rtx cc_reg = gen_rtx_REG (CCFPEmode, CC_REGNUM);
+ emit_set_insn (cc_reg, gen_rtx_COMPARE (CCFPEmode, op0, op1));
+
+ rtx cc_gt = gen_rtx_GT (VOIDmode, cc_reg, const0_rtx);
+ rtx cc_lt = gen_rtx_LT (VOIDmode, cc_reg, const0_rtx);
+ rtx cc_un = gen_rtx_UNORDERED (VOIDmode, cc_reg, const0_rtx);
+
+ if (hint == const0_rtx)
+ {
+ rtx un_label = gen_label_rtx ();
+ rtx lt_label = gen_label_rtx ();
+ rtx gt_label = gen_label_rtx ();
+ rtx end_label = gen_label_rtx ();
+
+ rtx temp = gen_rtx_IF_THEN_ELSE (VOIDmode, cc_un,
+ gen_rtx_LABEL_REF (Pmode, un_label), pc_rtx);
+ aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, temp));
+
+ temp = gen_rtx_IF_THEN_ELSE (VOIDmode, cc_lt,
+ gen_rtx_LABEL_REF (Pmode, lt_label), pc_rtx);
+ emit_jump_insn (gen_rtx_SET (pc_rtx, temp));
+
+ temp = gen_rtx_IF_THEN_ELSE (VOIDmode, cc_gt,
+ gen_rtx_LABEL_REF (Pmode, gt_label), pc_rtx);
+ emit_jump_insn (gen_rtx_SET (pc_rtx, temp));
+
+ /* Equality. */
+ emit_move_insn (dest, const0_rtx);
+ emit_jump (end_label);
+
+ emit_label (un_label);
+ emit_move_insn (dest, const2_rtx);
+ emit_jump (end_label);
+
+ emit_label (gt_label);
+ emit_move_insn (dest, const1_rtx);
+ emit_jump (end_label);
+
+ emit_label (lt_label);
+ emit_move_insn (dest, constm1_rtx);
+
+ emit_label (end_label);
+ }
+ else
+ {
+ rtx temp0 = gen_reg_rtx (SImode);
+ rtx temp1 = gen_reg_rtx (SImode);
+ rtx cc_ungt = gen_rtx_UNGT (VOIDmode, cc_reg, const0_rtx);
+
+ /* The value of hint is stored if the operands are unordered. */
+ rtx temp_un = gen_int_mode (UINTVAL (hint) - 1, SImode);
+ if (!aarch64_reg_zero_or_m1_or_1 (temp_un, SImode))
+ temp_un = force_reg (SImode, temp_un);
+
+ emit_set_insn (temp0, gen_rtx_IF_THEN_ELSE (SImode, cc_lt,
+ constm1_rtx, const0_rtx));
+ emit_set_insn (temp1, gen_rtx_IF_THEN_ELSE (SImode, cc_un,
+ temp_un, const0_rtx));
+ emit_set_insn (dest, gen_rtx_IF_THEN_ELSE (SImode, cc_ungt,
+ gen_rtx_PLUS (SImode, temp1, const1_rtx), temp0));
+ }
+}
+
/* Target-specific selftests. */
#if CHECKING_P
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 031e621..c678f7a 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -707,11 +707,12 @@
)
(define_expand "cbranch<mode>4"
- [(set (pc) (if_then_else (match_operator 0 "aarch64_comparison_operator"
- [(match_operand:GPF 1 "register_operand")
- (match_operand:GPF 2 "aarch64_fp_compare_operand")])
- (label_ref (match_operand 3 "" ""))
- (pc)))]
+ [(set (pc) (if_then_else
+ (match_operator 0 "aarch64_comparison_operator"
+ [(match_operand:GPF_F16 1 "register_operand")
+ (match_operand:GPF_F16 2 "aarch64_fp_compare_operand")])
+ (label_ref (match_operand 3 "" ""))
+ (pc)))]
""
"
operands[1] = aarch64_gen_compare_reg (GET_CODE (operands[0]), operands[1],
@@ -4337,26 +4338,28 @@
(define_insn "fcmp<mode>"
[(set (reg:CCFP CC_REGNUM)
- (compare:CCFP (match_operand:GPF 0 "register_operand")
- (match_operand:GPF 1 "aarch64_fp_compare_operand")))]
+ (compare:CCFP
+ (match_operand:GPF_F16 0 "register_operand")
+ (match_operand:GPF_F16 1 "aarch64_fp_compare_operand")))]
"TARGET_FLOAT"
{@ [ cons: 0 , 1 ]
[ w , Y ] fcmp\t%<s>0, #0.0
[ w , w ] fcmp\t%<s>0, %<s>1
}
- [(set_attr "type" "fcmp<s>")]
+ [(set_attr "type" "fcmp<stype>")]
)
(define_insn "fcmpe<mode>"
[(set (reg:CCFPE CC_REGNUM)
- (compare:CCFPE (match_operand:GPF 0 "register_operand")
- (match_operand:GPF 1 "aarch64_fp_compare_operand")))]
+ (compare:CCFPE
+ (match_operand:GPF_F16 0 "register_operand")
+ (match_operand:GPF_F16 1 "aarch64_fp_compare_operand")))]
"TARGET_FLOAT"
{@ [ cons: 0 , 1 ]
[ w , Y ] fcmpe\t%<s>0, #0.0
[ w , w ] fcmpe\t%<s>0, %<s>1
}
- [(set_attr "type" "fcmp<s>")]
+ [(set_attr "type" "fcmp<stype>")]
)
(define_insn "*cmp_swp_<shift>_reg<mode>"
@@ -4392,6 +4395,49 @@
[(set_attr "type" "alus_ext")]
)
+;; <=> operator pattern (integer)
+;; (a == b) ? 0 : (a < b) ? -1 : 1.
+(define_expand "spaceship<mode>4"
+ [(match_operand:SI 0 "register_operand")
+ (match_operand:GPI 1 "register_operand")
+ (match_operand:GPI 2 "register_operand")
+ (match_operand:SI 3 "const_int_operand")]
+ ""
+ {
+ // 1 indicates unsigned comparison, -1 indicates signed.
+ gcc_assert (operands[3] == constm1_rtx || operands[3] == const1_rtx);
+
+ rtx cc_reg = aarch64_gen_compare_reg (EQ, operands[1], operands[2]);
+ RTX_CODE code_gt = operands[3] == const1_rtx ? GTU : GT;
+ RTX_CODE code_lt = operands[3] == const1_rtx ? LTU : LT;
+
+ rtx cc_gt = gen_rtx_fmt_ee (code_gt, VOIDmode, cc_reg, const0_rtx);
+ rtx cc_lt = gen_rtx_fmt_ee (code_lt, VOIDmode, cc_reg, const0_rtx);
+
+ rtx temp = gen_reg_rtx (SImode);
+ emit_insn (gen_rtx_SET (temp, gen_rtx_IF_THEN_ELSE (SImode, cc_gt,
+ const1_rtx, const0_rtx)));
+ emit_insn (gen_rtx_SET (operands[0], gen_rtx_IF_THEN_ELSE (SImode, cc_lt,
+ constm1_rtx, temp)));
+ DONE;
+ }
+)
+
+;; <=> operator pattern (floating-point)
+;; (a == b) ? 0 : (a < b) ? -1 : (a > b) ? 1 : UNORDERED.
+(define_expand "spaceship<mode>4"
+ [(match_operand:SI 0 "register_operand")
+ (match_operand:GPF 1 "register_operand")
+ (match_operand:GPF 2 "register_operand")
+ (match_operand:SI 3 "const_int_operand")]
+ "TARGET_FLOAT"
+ {
+ aarch64_expand_fp_spaceship (operands[0], operands[1], operands[2],
+ operands[3]);
+ DONE;
+ }
+)
+
;; -------------------------------------------------------------------
;; Store-flag and conditional select insns
;; -------------------------------------------------------------------
@@ -4424,8 +4470,8 @@
(define_expand "cstore<mode>4"
[(set (match_operand:SI 0 "register_operand")
(match_operator:SI 1 "aarch64_comparison_operator_mode"
- [(match_operand:GPF 2 "register_operand")
- (match_operand:GPF 3 "aarch64_fp_compare_operand")]))]
+ [(match_operand:GPF_F16 2 "register_operand")
+ (match_operand:GPF_F16 3 "aarch64_fp_compare_operand")]))]
""
"
operands[2] = aarch64_gen_compare_reg (GET_CODE (operands[1]), operands[2],
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index ba470d9..14e7da5 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -4291,14 +4291,10 @@ alpha_get_mem_rtx_alignment_and_offset (rtx expr, int &a, HOST_WIDE_INT &o)
tree mem = MEM_EXPR (expr);
if (mem != NULL_TREE)
- switch (TREE_CODE (mem))
- {
- case MEM_REF:
- tree_offset = mem_ref_offset (mem).force_shwi ();
- tree_align = get_object_alignment (get_base_address (mem));
- break;
+ {
+ HOST_WIDE_INT comp_offset = 0;
- case COMPONENT_REF:
+ for (; TREE_CODE (mem) == COMPONENT_REF; mem = TREE_OPERAND (mem, 0))
{
tree byte_offset = component_ref_field_offset (mem);
tree bit_offset = DECL_FIELD_BIT_OFFSET (TREE_OPERAND (mem, 1));
@@ -4307,14 +4303,15 @@ alpha_get_mem_rtx_alignment_and_offset (rtx expr, int &a, HOST_WIDE_INT &o)
|| !poly_int_tree_p (byte_offset, &offset)
|| !tree_fits_shwi_p (bit_offset))
break;
- tree_offset = offset + tree_to_shwi (bit_offset) / BITS_PER_UNIT;
+ comp_offset += offset + tree_to_shwi (bit_offset) / BITS_PER_UNIT;
}
- tree_align = get_object_alignment (get_base_address (mem));
- break;
- default:
- break;
- }
+ if (TREE_CODE (mem) == MEM_REF)
+ {
+ tree_offset = comp_offset + mem_ref_offset (mem).force_shwi ();
+ tree_align = get_object_alignment (get_base_address (mem));
+ }
+ }
if (reg_align > mem_align)
{
diff --git a/gcc/config/c6x/c6x.h b/gcc/config/c6x/c6x.h
index e7da250..50bad27 100644
--- a/gcc/config/c6x/c6x.h
+++ b/gcc/config/c6x/c6x.h
@@ -444,11 +444,9 @@ struct GTY(()) machine_function
#define TARG_VEC_PERMUTE_COST 1
#endif
-/* ttype entries (the only interesting data references used) are
- sb-relative got-indirect (aka .ehtype). */
+/* .ehtype ttype entries are sb-relative. */
#define ASM_PREFERRED_EH_DATA_FORMAT(code, data) \
- (((code) == 0 && (data) == 1) ? (DW_EH_PE_datarel | DW_EH_PE_indirect) \
- : DW_EH_PE_absptr)
+ (((code) == 0 && (data) == 1) ? DW_EH_PE_datarel : DW_EH_PE_absptr)
/* This should be the same as the definition in elfos.h, plus the call
to output special unwinding directives. */
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index cdfd94d..a314800 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -4138,6 +4138,10 @@ ix86_expand_sse_fp_minmax (rtx dest, enum rtx_code code, rtx cmp_op0,
return false;
mode = GET_MODE (dest);
+ if (immediate_operand (if_false, mode))
+ if_false = force_reg (mode, if_false);
+ if (immediate_operand (if_true, mode))
+ if_true = force_reg (mode, if_true);
/* We want to check HONOR_NANS and HONOR_SIGNED_ZEROS here,
but MODE may be a vector mode and thus not appropriate. */
@@ -4687,6 +4691,8 @@ ix86_expand_fp_movcc (rtx operands[])
compare_op = ix86_expand_compare (NE, tmp, const0_rtx);
}
+ operands[2] = force_reg (mode, operands[2]);
+ operands[3] = force_reg (mode, operands[3]);
emit_insn (gen_rtx_SET (operands[0],
gen_rtx_IF_THEN_ELSE (mode, compare_op,
operands[2], operands[3])));
@@ -19256,8 +19262,6 @@ ix86_emit_swdivsf (rtx res, rtx a, rtx b, machine_mode mode)
e1 = gen_reg_rtx (mode);
x1 = gen_reg_rtx (mode);
- /* a / b = a * ((rcp(b) + rcp(b)) - (b * rcp(b) * rcp (b))) */
-
b = force_reg (mode, b);
/* x0 = rcp(b) estimate */
@@ -19270,20 +19274,42 @@ ix86_emit_swdivsf (rtx res, rtx a, rtx b, machine_mode mode)
emit_insn (gen_rtx_SET (x0, gen_rtx_UNSPEC (mode, gen_rtvec (1, b),
UNSPEC_RCP)));
- /* e0 = x0 * b */
- emit_insn (gen_rtx_SET (e0, gen_rtx_MULT (mode, x0, b)));
+ unsigned vector_size = GET_MODE_SIZE (mode);
+
+ /* (a - (rcp(b) * a * b)) * rcp(b) + rcp(b) * a
+ N-R step with 2 fma implementation. */
+ if (TARGET_FMA
+ || (TARGET_AVX512F && vector_size == 64)
+ || (TARGET_AVX512VL && (vector_size == 32 || vector_size == 16)))
+ {
+ /* e0 = x0 * a */
+ emit_insn (gen_rtx_SET (e0, gen_rtx_MULT (mode, x0, a)));
+ /* e1 = e0 * b - a */
+ emit_insn (gen_rtx_SET (e1, gen_rtx_FMA (mode, e0, b,
+ gen_rtx_NEG (mode, a))));
+ /* res = - e1 * x0 + e0 */
+ emit_insn (gen_rtx_SET (res, gen_rtx_FMA (mode,
+ gen_rtx_NEG (mode, e1),
+ x0, e0)));
+ }
+ else
+ /* a / b = a * ((rcp(b) + rcp(b)) - (b * rcp(b) * rcp (b))) */
+ {
+ /* e0 = x0 * b */
+ emit_insn (gen_rtx_SET (e0, gen_rtx_MULT (mode, x0, b)));
- /* e0 = x0 * e0 */
- emit_insn (gen_rtx_SET (e0, gen_rtx_MULT (mode, x0, e0)));
+ /* e1 = x0 + x0 */
+ emit_insn (gen_rtx_SET (e1, gen_rtx_PLUS (mode, x0, x0)));
- /* e1 = x0 + x0 */
- emit_insn (gen_rtx_SET (e1, gen_rtx_PLUS (mode, x0, x0)));
+ /* e0 = x0 * e0 */
+ emit_insn (gen_rtx_SET (e0, gen_rtx_MULT (mode, x0, e0)));
- /* x1 = e1 - e0 */
- emit_insn (gen_rtx_SET (x1, gen_rtx_MINUS (mode, e1, e0)));
+ /* x1 = e1 - e0 */
+ emit_insn (gen_rtx_SET (x1, gen_rtx_MINUS (mode, e1, e0)));
- /* res = a * x1 */
- emit_insn (gen_rtx_SET (res, gen_rtx_MULT (mode, a, x1)));
+ /* res = a * x1 */
+ emit_insn (gen_rtx_SET (res, gen_rtx_MULT (mode, a, x1)));
+ }
}
/* Output code to perform a Newton-Rhapson approximation of a
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 38df84f..3b4dfd9 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -100,6 +100,7 @@ along with GCC; see the file COPYING3. If not see
#include "i386-features.h"
#include "function-abi.h"
#include "rtl-error.h"
+#include "gimple-pretty-print.h"
/* This file should be included last. */
#include "target-def.h"
@@ -21816,6 +21817,25 @@ ix86_insn_cost (rtx_insn *insn, bool speed)
return insn_cost + pattern_cost (PATTERN (insn), speed);
}
+/* Return cost of SSE/AVX FP->FP conversion (extensions and truncates). */
+
+static int
+vec_fp_conversion_cost (const struct processor_costs *cost, int size)
+{
+ if (size < 128)
+ return cost->cvtss2sd;
+ else if (size < 256)
+ {
+ if (TARGET_SSE_SPLIT_REGS)
+ return cost->cvtss2sd * size / 64;
+ return cost->cvtss2sd;
+ }
+ if (size < 512)
+ return cost->vcvtps2pd256;
+ else
+ return cost->vcvtps2pd512;
+}
+
/* Compute a (partial) cost for rtx X. Return true if the complete
cost has been computed, and false if subexpressions should be
scanned. In either case, *TOTAL contains the cost result. */
@@ -22479,17 +22499,18 @@ ix86_rtx_costs (rtx x, machine_mode mode, int outer_code_i, int opno,
return false;
case FLOAT_EXTEND:
+ /* x87 represents all values extended to 80bit. */
if (!SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode))
*total = 0;
else
- *total = ix86_vec_cost (mode, cost->addss);
+ *total = vec_fp_conversion_cost (cost, GET_MODE_BITSIZE (mode));
return false;
case FLOAT_TRUNCATE:
if (!SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode))
*total = cost->fadd;
else
- *total = ix86_vec_cost (mode, cost->addss);
+ *total = vec_fp_conversion_cost (cost, GET_MODE_BITSIZE (mode));
return false;
case ABS:
@@ -24683,7 +24704,7 @@ ix86_builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
switch (type_of_cost)
{
case scalar_stmt:
- return fp ? ix86_cost->addss : COSTS_N_INSNS (1);
+ return fp ? ix86_cost->addss : COSTS_N_INSNS (1);
case scalar_load:
/* load/store costs are relative to register move which is 2. Recompute
@@ -24754,7 +24775,11 @@ ix86_builtin_vectorization_cost (enum vect_cost_for_stmt type_of_cost,
return ix86_cost->cond_not_taken_branch_cost;
case vec_perm:
+ return ix86_vec_cost (mode, ix86_cost->sse_op);
+
case vec_promote_demote:
+ if (fp)
+ return vec_fp_conversion_cost (ix86_tune_cost, mode);
return ix86_vec_cost (mode, ix86_cost->sse_op);
case vec_construct:
@@ -25275,7 +25300,7 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
else if (X87_FLOAT_MODE_P (mode))
stmt_cost = ix86_cost->fadd;
else
- stmt_cost = ix86_cost->add;
+ stmt_cost = ix86_cost->add;
}
else
stmt_cost = ix86_vec_cost (mode, fp ? ix86_cost->addss
@@ -25330,7 +25355,7 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
(subcode == RSHIFT_EXPR
&& !TYPE_UNSIGNED (TREE_TYPE (op1)))
? ASHIFTRT : LSHIFTRT, mode,
- TREE_CODE (op2) == INTEGER_CST,
+ TREE_CODE (op2) == INTEGER_CST,
cst_and_fits_in_hwi (op2)
? int_cst_value (op2) : -1,
false, false, NULL, NULL);
@@ -25339,27 +25364,125 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
case NOP_EXPR:
/* Only sign-conversions are free. */
if (tree_nop_conversion_p
- (TREE_TYPE (gimple_assign_lhs (stmt_info->stmt)),
+ (TREE_TYPE (gimple_assign_lhs (stmt_info->stmt)),
TREE_TYPE (gimple_assign_rhs1 (stmt_info->stmt))))
stmt_cost = 0;
+ else if (fp)
+ stmt_cost = vec_fp_conversion_cost
+ (ix86_tune_cost, GET_MODE_BITSIZE (mode));
+ break;
+
+ case COND_EXPR:
+ {
+ /* SSE2 conditinal move sequence is:
+ pcmpgtd %xmm5, %xmm0
+ pand %xmm0, %xmm2
+ pandn %xmm1, %xmm0
+ por %xmm2, %xmm0
+ while SSE4 uses cmp + blend
+ and AVX512 masked moves. */
+
+ int ninsns = TARGET_SSE4_1 ? 2 : 4;
+
+ if (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode))
+ stmt_cost = ninsns * ix86_cost->sse_op;
+ else if (X87_FLOAT_MODE_P (mode))
+ /* x87 requires conditional branch. We don't have cost for
+ that. */
+ ;
+ else if (VECTOR_MODE_P (mode))
+ stmt_cost = ix86_vec_cost (mode, ninsns * ix86_cost->sse_op);
+ else
+ /* compare + cmov. */
+ stmt_cost = ix86_cost->add * 2;
+ }
break;
- case BIT_IOR_EXPR:
- case ABS_EXPR:
- case ABSU_EXPR:
case MIN_EXPR:
case MAX_EXPR:
+ if (fp)
+ {
+ if (X87_FLOAT_MODE_P (mode))
+ /* x87 requires conditional branch. We don't have cost for
+ that. */
+ ;
+ else
+ /* minss */
+ stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
+ }
+ else
+ {
+ if (VECTOR_MODE_P (mode))
+ {
+ stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
+ /* vpmin was introduced in SSE3.
+ SSE2 needs pcmpgtd + pand + pandn + pxor. */
+ if (!TARGET_SSSE3)
+ stmt_cost *= 4;
+ }
+ else
+ /* cmp + cmov. */
+ stmt_cost = ix86_cost->add * 2;
+ }
+ break;
+
+ case ABS_EXPR:
+ case ABSU_EXPR:
+ if (fp)
+ {
+ if (X87_FLOAT_MODE_P (mode))
+ /* fabs. */
+ stmt_cost = ix86_cost->fabs;
+ else
+ /* andss of sign bit. */
+ stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
+ }
+ else
+ {
+ if (VECTOR_MODE_P (mode))
+ {
+ stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
+ /* vabs was introduced in SSE3.
+ SSE3 uses psrat + pxor + psub. */
+ if (!TARGET_SSSE3)
+ stmt_cost *= 3;
+ }
+ else
+ /* neg + cmov. */
+ stmt_cost = ix86_cost->add * 2;
+ }
+ break;
+
+ case BIT_IOR_EXPR:
case BIT_XOR_EXPR:
case BIT_AND_EXPR:
case BIT_NOT_EXPR:
- if (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode))
- stmt_cost = ix86_cost->sse_op;
- else if (VECTOR_MODE_P (mode))
+ gcc_assert (!SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode)
+ && !X87_FLOAT_MODE_P (mode));
+ if (VECTOR_MODE_P (mode))
stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
else
stmt_cost = ix86_cost->add;
break;
+
default:
+ if (truth_value_p (subcode))
+ {
+ if (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P (mode))
+ /* CMPccS? insructions are cheap, so use sse_op. While they
+ produce a mask which may need to be turned to 0/1 by and,
+ expect that this will be optimized away in a common case. */
+ stmt_cost = ix86_cost->sse_op;
+ else if (X87_FLOAT_MODE_P (mode))
+ /* fcmp + setcc. */
+ stmt_cost = ix86_cost->fadd + ix86_cost->add;
+ else if (VECTOR_MODE_P (mode))
+ stmt_cost = ix86_vec_cost (mode, ix86_cost->sse_op);
+ else
+ /* setcc. */
+ stmt_cost = ix86_cost->add;
+ break;
+ }
break;
}
}
@@ -25383,6 +25506,29 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
break;
}
+ if (kind == vec_promote_demote
+ && fp && FLOAT_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (stmt_info->stmt))))
+ {
+ int outer_size
+ = tree_to_uhwi
+ (TYPE_SIZE
+ (TREE_TYPE (gimple_assign_lhs (stmt_info->stmt))));
+ int inner_size
+ = tree_to_uhwi
+ (TYPE_SIZE
+ (TREE_TYPE (gimple_assign_rhs1 (stmt_info->stmt))));
+ int stmt_cost = vec_fp_conversion_cost
+ (ix86_tune_cost, GET_MODE_BITSIZE (mode));
+ /* VEC_PACK_TRUNC_EXPR: If inner size is greater than outer size we will end
+ up doing two conversions and packing them. */
+ if (inner_size > outer_size)
+ {
+ int n = inner_size / outer_size;
+ stmt_cost = stmt_cost * n
+ + (n - 1) * ix86_vec_cost (mode, ix86_cost->sse_op);
+ }
+ }
+
/* If we do elementwise loads into a vector then we are bound by
latency and execution resources for the many scalar loads
(AGU and load ports). Try to account for this by scaling the
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 8507243..18aa42d 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -207,6 +207,12 @@ struct processor_costs {
const int divsd; /* cost of DIVSD instructions. */
const int sqrtss; /* cost of SQRTSS instructions. */
const int sqrtsd; /* cost of SQRTSD instructions. */
+ const int cvtss2sd; /* cost SSE FP conversions,
+ such as CVTSS2SD. */
+ const int vcvtps2pd256; /* cost 256bit packed FP conversions,
+ such as VCVTPD2PS with larger reg in ymm. */
+ const int vcvtps2pd512; /* cost 512bit packed FP conversions,
+ such as VCVTPD2PS with larger reg in zmm. */
const int reassoc_int, reassoc_fp, reassoc_vec_int, reassoc_vec_fp;
/* Specify reassociation width for integer,
fp, vector integer and vector fp
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index d6b2f29..e170da3 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -26592,8 +26592,8 @@
[(set (match_operand:X87MODEF 0 "register_operand")
(if_then_else:X87MODEF
(match_operand 1 "comparison_operator")
- (match_operand:X87MODEF 2 "register_operand")
- (match_operand:X87MODEF 3 "register_operand")))]
+ (match_operand:X87MODEF 2 "nonimm_or_0_or_1s_operand")
+ (match_operand:X87MODEF 3 "nonimm_or_0_operand")))]
"(TARGET_80387 && TARGET_CMOVE)
|| (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH)"
"if (ix86_expand_fp_movcc (operands)) DONE; else FAIL;")
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 3d3848c..4b23e18 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -1267,6 +1267,14 @@
(match_operand 0 "vector_memory_operand")
(match_code "const_vector")))
+; Return true when OP is register_operand, vector_memory_operand,
+; const_vector zero or const_vector all ones.
+(define_predicate "vector_or_0_or_1s_operand"
+ (ior (match_operand 0 "register_operand")
+ (match_operand 0 "vector_memory_operand")
+ (match_operand 0 "const0_operand")
+ (match_operand 0 "int_float_vector_all_ones_operand")))
+
(define_predicate "bcst_mem_operand"
(and (match_code "vec_duplicate")
(and (match_test "TARGET_AVX512F")
@@ -1333,6 +1341,12 @@
(ior (match_operand 0 "nonimmediate_operand")
(match_operand 0 "const0_operand")))
+; Return true when OP is a nonimmediate or zero or all ones.
+(define_predicate "nonimm_or_0_or_1s_operand"
+ (ior (match_operand 0 "nonimmediate_operand")
+ (match_operand 0 "const0_operand")
+ (match_operand 0 "int_float_vector_all_ones_operand")))
+
;; Return true for RTX codes that force SImode address.
(define_predicate "SImode_address_operand"
(match_code "subreg,zero_extend,and"))
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index b280676..2ed348c 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -527,6 +527,16 @@
(V16SF "TARGET_EVEX512") (V8SF "TARGET_AVX512VL") (V4SF "TARGET_AVX512VL")
(V8DF "TARGET_EVEX512") (V4DF "TARGET_AVX512VL") (V2DF "TARGET_AVX512VL")])
+(define_mode_iterator V48_AVX512VL_4
+ [(V4SF "TARGET_AVX512VL") (V4DF "TARGET_AVX512VL")
+ (V4SI "TARGET_AVX512VL") (V4DI "TARGET_AVX512VL")])
+
+(define_mode_iterator VI48_AVX512VL_4
+ [(V4SI "TARGET_AVX512VL") (V4DI "TARGET_AVX512VL")])
+
+(define_mode_iterator V8_AVX512VL_2
+ [(V2DF "TARGET_AVX512VL") (V2DI "TARGET_AVX512VL")])
+
(define_mode_iterator VFH_AVX10_2
[(V32HF "TARGET_AVX10_2") V16HF V8HF
(V16SF "TARGET_AVX10_2") V8SF V4SF
@@ -4410,7 +4420,7 @@
(unspec:<V48H_AVX512VL:avx512fmaskmode>
[(match_operand:V48H_AVX512VL 1 "nonimmediate_operand" "v")
(match_operand:V48H_AVX512VL 2 "nonimmediate_operand" "vm")
- (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ (match_operand:SI 3 "<cmp_imm_predicate>" "n")]
UNSPEC_PCMP)))]
"TARGET_AVX512F
&& (!VALID_MASK_AVX512BW_MODE (<SWI248x:MODE>mode) || TARGET_AVX512BW)
@@ -4428,7 +4438,7 @@
(unspec:<V48H_AVX512VL:avx512fmaskmode>
[(match_operand:V48H_AVX512VL 1 "nonimmediate_operand")
(match_operand:V48H_AVX512VL 2 "nonimmediate_operand")
- (match_operand:SI 3 "const_0_to_7_operand")]
+ (match_operand:SI 3 "<cmp_imm_predicate>")]
UNSPEC_PCMP)))
(set (match_operand:<V48H_AVX512VL:avx512fmaskmode> 4 "register_operand")
(unspec:<V48H_AVX512VL:avx512fmaskmode>
@@ -4469,7 +4479,8 @@
(match_operand:V48H_AVX512VL 2 "nonimmediate_operand")
(match_operand:SI 3 "<cmp_imm_predicate>" "n")]
UNSPEC_PCMP)))]
- "TARGET_AVX512F && ix86_pre_reload_split ()"
+ "TARGET_AVX512F && GET_MODE_NUNITS (<MODE>mode) >= 8
+ && ix86_pre_reload_split ()"
"#"
"&& 1"
[(set (match_dup 0)
@@ -4480,6 +4491,70 @@
UNSPEC_PCMP))]
"operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);")
+(define_insn "*<avx512>_cmp<mode>3_and15"
+ [(set (match_operand:QI 0 "register_operand" "=k")
+ (and:QI
+ (unspec:QI
+ [(match_operand:V48_AVX512VL_4 1 "nonimmediate_operand" "v")
+ (match_operand:V48_AVX512VL_4 2 "nonimmediate_operand" "vm")
+ (match_operand:SI 3 "<cmp_imm_predicate>" "n")]
+ UNSPEC_PCMP)
+ (const_int 15)))]
+ "TARGET_AVX512F"
+ "v<ssecmpintprefix>cmp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+ [(set_attr "type" "ssecmp")
+ (set_attr "length_immediate" "1")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+
+(define_insn "*<avx512>_ucmp<mode>3_and15"
+ [(set (match_operand:QI 0 "register_operand" "=k")
+ (and:QI
+ (unspec:QI
+ [(match_operand:VI48_AVX512VL_4 1 "nonimmediate_operand" "v")
+ (match_operand:VI48_AVX512VL_4 2 "nonimmediate_operand" "vm")
+ (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ UNSPEC_UNSIGNED_PCMP)
+ (const_int 15)))]
+ "TARGET_AVX512F"
+ "vpcmpu<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+ [(set_attr "type" "ssecmp")
+ (set_attr "length_immediate" "1")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+
+(define_insn "*<avx512>_cmp<mode>3_and3"
+ [(set (match_operand:QI 0 "register_operand" "=k")
+ (and:QI
+ (unspec:QI
+ [(match_operand:V8_AVX512VL_2 1 "nonimmediate_operand" "v")
+ (match_operand:V8_AVX512VL_2 2 "nonimmediate_operand" "vm")
+ (match_operand:SI 3 "<cmp_imm_predicate>" "n")]
+ UNSPEC_PCMP)
+ (const_int 3)))]
+ "TARGET_AVX512F"
+ "v<ssecmpintprefix>cmp<ssemodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+ [(set_attr "type" "ssecmp")
+ (set_attr "length_immediate" "1")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+
+(define_insn "*avx512vl_ucmpv2di3_and3"
+ [(set (match_operand:QI 0 "register_operand" "=k")
+ (and:QI
+ (unspec:QI
+ [(match_operand:V2DI 1 "nonimmediate_operand" "v")
+ (match_operand:V2DI 2 "nonimmediate_operand" "vm")
+ (match_operand:SI 3 "const_0_to_7_operand" "n")]
+ UNSPEC_UNSIGNED_PCMP)
+ (const_int 3)))]
+ "TARGET_AVX512F"
+ "vpcmpuq\t{%3, %2, %1, %0|%0, %1, %2, %3}"
+ [(set_attr "type" "ssecmp")
+ (set_attr "length_immediate" "1")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "TI")])
+
(define_insn "<avx512>_cmp<mode>3<mask_scalar_merge_name>"
[(set (match_operand:<avx512fmaskmode> 0 "register_operand" "=k")
(unspec:<avx512fmaskmode>
@@ -4762,7 +4837,8 @@
(match_operand:VI48_AVX512VL 2 "nonimmediate_operand")
(match_operand:SI 3 "const_0_to_7_operand")]
UNSPEC_UNSIGNED_PCMP)))]
- "TARGET_AVX512F && ix86_pre_reload_split ()"
+ "TARGET_AVX512F && ix86_pre_reload_split ()
+ && GET_MODE_NUNITS (<MODE>mode) >= 8"
"#"
"&& 1"
[(set (match_dup 0)
@@ -5142,7 +5218,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VI_256_AVX2 0 "register_operand")
(vec_merge:VI_256_AVX2
- (match_operand:VI_256_AVX2 1 "nonimmediate_operand")
+ (match_operand:VI_256_AVX2 1 "nonimm_or_0_or_1s_operand")
(match_operand:VI_256_AVX2 2 "nonimm_or_0_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_AVX"
@@ -5155,7 +5231,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VI_128 0 "register_operand")
(vec_merge:VI_128
- (match_operand:VI_128 1 "vector_operand")
+ (match_operand:VI_128 1 "vector_or_0_or_1s_operand")
(match_operand:VI_128 2 "nonimm_or_0_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_SSE2"
@@ -5168,7 +5244,7 @@
(define_expand "vcond_mask_v1tiv1ti"
[(set (match_operand:V1TI 0 "register_operand")
(vec_merge:V1TI
- (match_operand:V1TI 1 "vector_operand")
+ (match_operand:V1TI 1 "vector_or_0_or_1s_operand")
(match_operand:V1TI 2 "nonimm_or_0_operand")
(match_operand:V1TI 3 "register_operand")))]
"TARGET_SSE2"
@@ -5181,7 +5257,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VF_256 0 "register_operand")
(vec_merge:VF_256
- (match_operand:VF_256 1 "nonimmediate_operand")
+ (match_operand:VF_256 1 "nonimm_or_0_or_1s_operand")
(match_operand:VF_256 2 "nonimm_or_0_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_AVX"
@@ -5194,7 +5270,7 @@
(define_expand "vcond_mask_<mode><sseintvecmodelower>"
[(set (match_operand:VF_128 0 "register_operand")
(vec_merge:VF_128
- (match_operand:VF_128 1 "vector_operand")
+ (match_operand:VF_128 1 "vector_or_0_or_1s_operand")
(match_operand:VF_128 2 "nonimm_or_0_operand")
(match_operand:<sseintvecmode> 3 "register_operand")))]
"TARGET_SSE"
diff --git a/gcc/config/i386/x86-tune-costs.h b/gcc/config/i386/x86-tune-costs.h
index 9477345..cddcf61 100644
--- a/gcc/config/i386/x86-tune-costs.h
+++ b/gcc/config/i386/x86-tune-costs.h
@@ -121,16 +121,19 @@ struct processor_costs ix86_size_cost = {/* costs for tuning for size */
COSTS_N_BYTES (2), /* cost of FCHS instruction. */
COSTS_N_BYTES (2), /* cost of FSQRT instruction. */
- COSTS_N_BYTES (2), /* cost of cheap SSE instruction. */
- COSTS_N_BYTES (2), /* cost of ADDSS/SD SUBSS/SD insns. */
- COSTS_N_BYTES (2), /* cost of MULSS instruction. */
- COSTS_N_BYTES (2), /* cost of MULSD instruction. */
- COSTS_N_BYTES (2), /* cost of FMA SS instruction. */
- COSTS_N_BYTES (2), /* cost of FMA SD instruction. */
- COSTS_N_BYTES (2), /* cost of DIVSS instruction. */
- COSTS_N_BYTES (2), /* cost of DIVSD instruction. */
- COSTS_N_BYTES (2), /* cost of SQRTSS instruction. */
- COSTS_N_BYTES (2), /* cost of SQRTSD instruction. */
+ COSTS_N_BYTES (4), /* cost of cheap SSE instruction. */
+ COSTS_N_BYTES (4), /* cost of ADDSS/SD SUBSS/SD insns. */
+ COSTS_N_BYTES (4), /* cost of MULSS instruction. */
+ COSTS_N_BYTES (4), /* cost of MULSD instruction. */
+ COSTS_N_BYTES (4), /* cost of FMA SS instruction. */
+ COSTS_N_BYTES (4), /* cost of FMA SD instruction. */
+ COSTS_N_BYTES (4), /* cost of DIVSS instruction. */
+ COSTS_N_BYTES (4), /* cost of DIVSD instruction. */
+ COSTS_N_BYTES (4), /* cost of SQRTSS instruction. */
+ COSTS_N_BYTES (4), /* cost of SQRTSD instruction. */
+ COSTS_N_BYTES (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_BYTES (4), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_BYTES (6), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
ix86_size_memcpy,
ix86_size_memset,
@@ -243,6 +246,9 @@ struct processor_costs i386_cost = { /* 386 specific costs */
COSTS_N_INSNS (88), /* cost of DIVSD instruction. */
COSTS_N_INSNS (122), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (122), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (27), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (54), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (108), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
i386_memcpy,
i386_memset,
@@ -356,6 +362,9 @@ struct processor_costs i486_cost = { /* 486 specific costs */
COSTS_N_INSNS (74), /* cost of DIVSD instruction. */
COSTS_N_INSNS (83), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (83), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (8), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (16), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (32), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
i486_memcpy,
i486_memset,
@@ -467,6 +476,9 @@ struct processor_costs pentium_cost = {
COSTS_N_INSNS (39), /* cost of DIVSD instruction. */
COSTS_N_INSNS (70), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (70), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
pentium_memcpy,
pentium_memset,
@@ -571,6 +583,9 @@ struct processor_costs lakemont_cost = {
COSTS_N_INSNS (60), /* cost of DIVSD instruction. */
COSTS_N_INSNS (31), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (63), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (5), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (10), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (20), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
pentium_memcpy,
pentium_memset,
@@ -690,6 +705,9 @@ struct processor_costs pentiumpro_cost = {
COSTS_N_INSNS (18), /* cost of DIVSD instruction. */
COSTS_N_INSNS (31), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (31), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
pentiumpro_memcpy,
pentiumpro_memset,
@@ -800,6 +818,9 @@ struct processor_costs geode_cost = {
COSTS_N_INSNS (47), /* cost of DIVSD instruction. */
COSTS_N_INSNS (54), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (54), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (6), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (12), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (24), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
geode_memcpy,
geode_memset,
@@ -913,6 +934,9 @@ struct processor_costs k6_cost = {
COSTS_N_INSNS (56), /* cost of DIVSD instruction. */
COSTS_N_INSNS (56), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (56), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (2), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (4), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (8), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
k6_memcpy,
k6_memset,
@@ -1027,6 +1051,9 @@ struct processor_costs athlon_cost = {
COSTS_N_INSNS (24), /* cost of DIVSD instruction. */
COSTS_N_INSNS (19), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (19), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (8), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (16), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
athlon_memcpy,
athlon_memset,
@@ -1150,6 +1177,9 @@ struct processor_costs k8_cost = {
COSTS_N_INSNS (20), /* cost of DIVSD instruction. */
COSTS_N_INSNS (19), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (27), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (8), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (16), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
k8_memcpy,
k8_memset,
@@ -1281,6 +1311,9 @@ struct processor_costs amdfam10_cost = {
COSTS_N_INSNS (20), /* cost of DIVSD instruction. */
COSTS_N_INSNS (19), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (27), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (8), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (16), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
amdfam10_memcpy,
amdfam10_memset,
@@ -1405,6 +1438,9 @@ const struct processor_costs bdver_cost = {
COSTS_N_INSNS (27), /* cost of DIVSD instruction. */
COSTS_N_INSNS (15), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (26), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (7), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (14), /* cost of 512bit VCVTPS2PD etc. */
1, 2, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
bdver_memcpy,
bdver_memset,
@@ -1553,6 +1589,10 @@ struct processor_costs znver1_cost = {
COSTS_N_INSNS (13), /* cost of DIVSD instruction. */
COSTS_N_INSNS (10), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (15), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ /* Real latency is 4, but for split regs multiply cost of half op by 2. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
/* Zen can execute 4 integer operations per cycle. FP operations take 3 cycles
and it can execute 2 integer additions and 2 multiplications thus
reassociation may make sense up to with of 6. SPEC2k6 bencharks suggests
@@ -1712,6 +1752,9 @@ struct processor_costs znver2_cost = {
COSTS_N_INSNS (13), /* cost of DIVSD instruction. */
COSTS_N_INSNS (10), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (15), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (5), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (10), /* cost of 512bit VCVTPS2PD etc. */
/* Zen can execute 4 integer operations per cycle. FP operations
take 3 cycles and it can execute 2 integer additions and 2
multiplications thus reassociation may make sense up to with of 6.
@@ -1847,6 +1890,9 @@ struct processor_costs znver3_cost = {
COSTS_N_INSNS (13), /* cost of DIVSD instruction. */
COSTS_N_INSNS (10), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (15), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (5), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (10), /* cost of 512bit VCVTPS2PD etc. */
/* Zen can execute 4 integer operations per cycle. FP operations
take 3 cycles and it can execute 2 integer additions and 2
multiplications thus reassociation may make sense up to with of 6.
@@ -1984,6 +2030,10 @@ struct processor_costs znver4_cost = {
COSTS_N_INSNS (13), /* cost of DIVSD instruction. */
COSTS_N_INSNS (15), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (21), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (5), /* cost of 256bit VCVTPS2PD etc. */
+ /* Real latency is 6, but for split regs multiply cost of half op by 2. */
+ COSTS_N_INSNS (10), /* cost of 512bit VCVTPS2PD etc. */
/* Zen can execute 4 integer operations per cycle. FP operations
take 3 cycles and it can execute 2 integer additions and 2
multiplications thus reassociation may make sense up to with of 6.
@@ -2135,6 +2185,9 @@ struct processor_costs znver5_cost = {
COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */
/* DIVSD has throughtput 0.13 and latency 20. */
COSTS_N_INSNS (20), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (5), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (5), /* cost of 512bit VCVTPS2PD etc. */
/* Zen5 can execute:
- integer ops: 6 per cycle, at most 3 multiplications.
latency 1 for additions, 3 for multiplications (pipelined)
@@ -2274,6 +2327,9 @@ struct processor_costs skylake_cost = {
COSTS_N_INSNS (14), /* cost of DIVSD instruction. */
COSTS_N_INSNS (12), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (2), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (2), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (4), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 2, 2, /* reassoc int, fp, vec_int, vec_fp. */
skylake_memcpy,
skylake_memset,
@@ -2403,6 +2459,9 @@ struct processor_costs icelake_cost = {
COSTS_N_INSNS (14), /* cost of DIVSD instruction. */
COSTS_N_INSNS (12), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (2), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (2), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (2), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 2, 2, /* reassoc int, fp, vec_int, vec_fp. */
icelake_memcpy,
icelake_memset,
@@ -2526,6 +2585,9 @@ struct processor_costs alderlake_cost = {
COSTS_N_INSNS (17), /* cost of DIVSD instruction. */
COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (2), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (2), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (2), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 3, 3, /* reassoc int, fp, vec_int, vec_fp. */
alderlake_memcpy,
alderlake_memset,
@@ -2642,6 +2704,9 @@ const struct processor_costs btver1_cost = {
COSTS_N_INSNS (17), /* cost of DIVSD instruction. */
COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (48), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (7), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (14), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
btver1_memcpy,
btver1_memset,
@@ -2755,6 +2820,9 @@ const struct processor_costs btver2_cost = {
COSTS_N_INSNS (19), /* cost of DIVSD instruction. */
COSTS_N_INSNS (16), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (21), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (4), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (7), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (14), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
btver2_memcpy,
btver2_memset,
@@ -2867,6 +2935,9 @@ struct processor_costs pentium4_cost = {
COSTS_N_INSNS (38), /* cost of DIVSD instruction. */
COSTS_N_INSNS (23), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (38), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (10), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (20), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (40), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
pentium4_memcpy,
pentium4_memset,
@@ -2982,6 +3053,9 @@ struct processor_costs nocona_cost = {
COSTS_N_INSNS (40), /* cost of DIVSD instruction. */
COSTS_N_INSNS (32), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (41), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (10), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (20), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (40), /* cost of 512bit VCVTPS2PD etc. */
1, 1, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
nocona_memcpy,
nocona_memset,
@@ -3095,6 +3169,9 @@ struct processor_costs atom_cost = {
COSTS_N_INSNS (60), /* cost of DIVSD instruction. */
COSTS_N_INSNS (31), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (63), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (6), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (12), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (24), /* cost of 512bit VCVTPS2PD etc. */
2, 2, 2, 2, /* reassoc int, fp, vec_int, vec_fp. */
atom_memcpy,
atom_memset,
@@ -3208,6 +3285,9 @@ struct processor_costs slm_cost = {
COSTS_N_INSNS (69), /* cost of DIVSD instruction. */
COSTS_N_INSNS (20), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (35), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
1, 2, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
slm_memcpy,
slm_memset,
@@ -3335,6 +3415,9 @@ struct processor_costs tremont_cost = {
COSTS_N_INSNS (17), /* cost of DIVSD instruction. */
COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 3, 3, /* reassoc int, fp, vec_int, vec_fp. */
tremont_memcpy,
tremont_memset,
@@ -3448,6 +3531,9 @@ struct processor_costs intel_cost = {
COSTS_N_INSNS (20), /* cost of DIVSD instruction. */
COSTS_N_INSNS (40), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (40), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (8), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (16), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (32), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 1, 1, /* reassoc int, fp, vec_int, vec_fp. */
intel_memcpy,
intel_memset,
@@ -3566,6 +3652,9 @@ struct processor_costs lujiazui_cost = {
COSTS_N_INSNS (17), /* cost of DIVSD instruction. */
COSTS_N_INSNS (32), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (60), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 3, 3, /* reassoc int, fp, vec_int, vec_fp. */
lujiazui_memcpy,
lujiazui_memset,
@@ -3682,6 +3771,9 @@ struct processor_costs yongfeng_cost = {
COSTS_N_INSNS (14), /* cost of DIVSD instruction. */
COSTS_N_INSNS (20), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (35), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
4, 4, 4, 4, /* reassoc int, fp, vec_int, vec_fp. */
yongfeng_memcpy,
yongfeng_memset,
@@ -3798,6 +3890,9 @@ struct processor_costs shijidadao_cost = {
COSTS_N_INSNS (14), /* cost of DIVSD instruction. */
COSTS_N_INSNS (11), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (6), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (12), /* cost of 512bit VCVTPS2PD etc. */
4, 4, 4, 4, /* reassoc int, fp, vec_int, vec_fp. */
shijidadao_memcpy,
shijidadao_memset,
@@ -3922,6 +4017,9 @@ struct processor_costs generic_cost = {
COSTS_N_INSNS (17), /* cost of DIVSD instruction. */
COSTS_N_INSNS (14), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (18), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (3), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (4), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (5), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 3, 3, /* reassoc int, fp, vec_int, vec_fp. */
generic_memcpy,
generic_memset,
@@ -4051,6 +4149,9 @@ struct processor_costs core_cost = {
COSTS_N_INSNS (32), /* cost of DIVSD instruction. */
COSTS_N_INSNS (30), /* cost of SQRTSS instruction. */
COSTS_N_INSNS (58), /* cost of SQRTSD instruction. */
+ COSTS_N_INSNS (2), /* cost of CVTSS2SD etc. */
+ COSTS_N_INSNS (2), /* cost of 256bit VCVTPS2PD etc. */
+ COSTS_N_INSNS (2), /* cost of 512bit VCVTPS2PD etc. */
1, 4, 2, 2, /* reassoc int, fp, vec_int, vec_fp. */
core_memcpy,
core_memset,
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index 24a28dc..0d3d026 100644
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -20678,6 +20678,9 @@ mips_option_override (void)
"-mcompact-branches=never");
}
+ if (is_micromips && TARGET_MSA)
+ error ("unsupported combination: %s", "-mmicromips -mmsa");
+
/* Require explicit relocs for MIPS R6 onwards. This enables simplification
of the compact branch and jump support through the backend. */
if (!TARGET_EXPLICIT_RELOCS && mips_isa_rev >= 6)
diff --git a/gcc/config/riscv/bitmanip.md b/gcc/config/riscv/bitmanip.md
index 5ed5e18..d0919ec 100644
--- a/gcc/config/riscv/bitmanip.md
+++ b/gcc/config/riscv/bitmanip.md
@@ -908,6 +908,24 @@
"bext\t%0,%1,%2"
[(set_attr "type" "bitmanip")])
+;; We do not define SHIFT_COUNT_TRUNCATED, so we have to have variants
+;; that mask/extend the count if we want to eliminate those ops
+;;
+;; We could (in theory) use GPR for the various modes, but I haven't
+;; seen those cases appear in practice. Without a testcase I've
+;; elected to keep the modes X which is easy to reason about.
+(define_insn "*bext<mode>_mask_pos"
+ [(set (match_operand:X 0 "register_operand" "=r")
+ (zero_extract:X (match_operand:X 1 "register_operand" "r")
+ (const_int 1)
+ (and:X
+ (match_operand:X 2 "register_operand" "r")
+ (match_operand 3 "const_int_operand"))))]
+ "(TARGET_ZBS
+ && INTVAL (operands[3]) + 1 == GET_MODE_BITSIZE (<MODE>mode))"
+ "bext\t%0,%1,%2"
+ [(set_attr "type" "bitmanip")])
+
;; This is a bext followed by a seqz. Normally this would be a 3->2 split
;; But the and-not pattern with a constant operand is a define_insn_and_split,
;; so this looks like a 2->2 split, which combine rejects. So implement it
@@ -1245,3 +1263,41 @@
expand_crc_using_clmul (<SUBX:MODE>mode, <SUBX1:MODE>mode, operands);
DONE;
})
+
+;; If we have an XOR/IOR with a constant operand (C) and the we can
+;; synthesize ~C more efficiently than C, then synthesize ~C and use
+;; xnor/orn instead.
+;;
+;; The same can be done for AND, but mvconst_internal's issues get in
+;; the way. That's future work.
+(define_split
+ [(set (match_operand:X 0 "register_operand")
+ (any_or:X (match_operand:X 1 "register_operand")
+ (match_operand:X 2 "const_int_operand")))
+ (clobber (match_operand:X 3 "register_operand"))]
+ "TARGET_ZBB
+ && (riscv_const_insns (operands[2], true)
+ > riscv_const_insns (GEN_INT (~INTVAL (operands[2])), true))"
+ [(const_int 0)]
+{
+ /* Get the inverted constant into the temporary register. */
+ riscv_emit_move (operands[3], GEN_INT (~INTVAL (operands[2])));
+
+ /* For xnor, the NOT operation is in a different position. So
+ we have to customize the split code we generate a bit.
+
+ It is expected that AND will be handled like IOR in the future. */
+ if (<CODE> == XOR)
+ {
+ rtx x = gen_rtx_XOR (<X:MODE>mode, operands[1], operands[3]);
+ x = gen_rtx_NOT (<X:MODE>mode, x);
+ emit_insn (gen_rtx_SET (operands[0], x));
+ }
+ else
+ {
+ rtx x = gen_rtx_NOT (<X:MODE>mode, operands[3]);
+ x = gen_rtx_IOR (<X:MODE>mode, x, operands[1]);
+ emit_insn (gen_rtx_SET (operands[0], x));
+ }
+ DONE;
+})
diff --git a/gcc/config/riscv/gnu.h b/gcc/config/riscv/gnu.h
new file mode 100644
index 0000000..047399b
--- /dev/null
+++ b/gcc/config/riscv/gnu.h
@@ -0,0 +1,59 @@
+/* Definitions for RISC-V GNU/Hurd systems with ELF format.
+ Copyright (C) 1998-2025 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
+<http://www.gnu.org/licenses/>. */
+
+#define TARGET_OS_CPP_BUILTINS() \
+ do { \
+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \
+ } while (0)
+
+#define GNU_USER_DYNAMIC_LINKER "/lib/ld-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
+
+#define ICACHE_FLUSH_FUNC "__riscv_flush_icache"
+
+#define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+#define LD_EMUL_SUFFIX \
+ "%{mabi=lp64d:}" \
+ "%{mabi=lp64f:_lp64f}" \
+ "%{mabi=lp64:_lp64}" \
+ "%{mabi=ilp32d:}" \
+ "%{mabi=ilp32f:_ilp32f}" \
+ "%{mabi=ilp32:_ilp32}"
+
+#define LINK_SPEC "\
+-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
+%{mno-relax:--no-relax} \
+-X \
+%{mbig-endian:-EB} \
+%{mlittle-endian:-EL} \
+%{shared} \
+ %{!shared: \
+ %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
+ %{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
+
+#define STARTFILE_PREFIX_SPEC \
+ "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
+ "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
+ "/lib/ " \
+ "/usr/lib/ "
+
+#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_abi
diff --git a/gcc/config/riscv/riscv-cores.def b/gcc/config/riscv/riscv-cores.def
index 2918496..e31afc3 100644
--- a/gcc/config/riscv/riscv-cores.def
+++ b/gcc/config/riscv/riscv-cores.def
@@ -41,6 +41,12 @@ RISCV_TUNE("sifive-p400-series", sifive_p400, sifive_p400_tune_info)
RISCV_TUNE("sifive-p600-series", sifive_p600, sifive_p600_tune_info)
RISCV_TUNE("tt-ascalon-d8", generic_ooo, tt_ascalon_d8_tune_info)
RISCV_TUNE("thead-c906", generic, thead_c906_tune_info)
+RISCV_TUNE("xt-c908", generic, generic_ooo_tune_info)
+RISCV_TUNE("xt-c908v", generic, generic_ooo_tune_info)
+RISCV_TUNE("xt-c910", generic, generic_ooo_tune_info)
+RISCV_TUNE("xt-c910v2", generic, generic_ooo_tune_info)
+RISCV_TUNE("xt-c920", generic, generic_ooo_tune_info)
+RISCV_TUNE("xt-c920v2", generic, generic_ooo_tune_info)
RISCV_TUNE("xiangshan-nanhu", xiangshan, xiangshan_nanhu_tune_info)
RISCV_TUNE("generic-ooo", generic_ooo, generic_ooo_tune_info)
RISCV_TUNE("size", generic, optimize_size_tune_info)
@@ -93,6 +99,48 @@ RISCV_CORE("thead-c906", "rv64imafdc_xtheadba_xtheadbb_xtheadbs_xtheadcmo_"
"xtheadmemidx_xtheadmempair_xtheadsync",
"thead-c906")
+RISCV_CORE("xt-c908", "rv64imafdc_zicbom_zicbop_zicboz_zicntr_zicsr_"
+ "zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_"
+ "sstc_svinval_svnapot_svpbmt_xtheadba_xtheadbb_"
+ "xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_"
+ "xtheadmac_xtheadmemidx_xtheadmempair_xtheadsync",
+ "xt-c908")
+RISCV_CORE("xt-c908v", "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicsr_"
+ "zifencei_zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_"
+ "zvfh_sstc_svinval_svnapot_svpbmt__xtheadba_"
+ "xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_"
+ "xtheadfmemidx_xtheadmac_xtheadmemidx_"
+ "xtheadmempair_xtheadsync_xtheadvdot",
+ "xt-c908")
+RISCV_CORE("xt-c910", "rv64imafdc_zicntr_zicsr_zifencei_zihpm_zfh_"
+ "xtheadba_xtheadbb_xtheadbs_xtheadcmo_"
+ "xtheadcondmov_xtheadfmemidx_xtheadmac_"
+ "xtheadmemidx_xtheadmempair_xtheadsync",
+ "xt-c910")
+RISCV_CORE("xt-c910v2", "rv64imafdc_zicbom_zicbop_zicboz_zicntr_zicond_"
+ "zicsr_zifencei _zihintntl_zihintpause_zihpm_"
+ "zawrs_zfa_zfbfmin_zfh_zca_zcb_zcd_zba_zbb_zbc_"
+ "zbs_sscofpmf_sstc_svinval_svnapot_svpbmt_"
+ "xtheadba_xtheadbb_xtheadbs_xtheadcmo_"
+ "xtheadcondmov_xtheadfmemidx_xtheadmac_"
+ "xtheadmemidx_xtheadmempair_xtheadsync",
+ "xt-c910v2")
+RISCV_CORE("xt-c920", "rv64imafdc_zicntr_zicsr_zifencei_zihpm_zfh_"
+ "xtheadba_xtheadbb_xtheadbs_xtheadcmo_"
+ "xtheadcondmov_xtheadfmemidx_xtheadmac_"
+ "xtheadmemidx_xtheadmempair_xtheadsync_"
+ "xtheadvector",
+ "xt-c910")
+RISCV_CORE("xt-c920v2", "rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_"
+ "zicsr_zifencei _zihintntl_zihintpause_zihpm_"
+ "zawrs_zfa_zfbfmin_zfh_zca_zcb_zcd_zba_zbb_zbc_"
+ "zbs_zvfbfmin_zvfbfwma_zvfh_sscofpmf_sstc_"
+ "svinval_svnapot_svpbmt_xtheadba_xtheadbb_"
+ "xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_"
+ "xtheadmac_xtheadmemidx_xtheadmempair_"
+ "xtheadsync_xtheadvdot",
+ "xt-c920v2")
+
RISCV_CORE("tt-ascalon-d8", "rv64imafdcv_zic64b_zicbom_zicbop_zicboz_"
"ziccamoa_ziccif_zicclsm_ziccrse_zicond_zicsr_"
"zifencei_zihintntl_zihintpause_zimop_za64rs_"
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d3656a7..bad59e2 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -13136,9 +13136,6 @@ parse_features_for_version (tree decl,
DECL_SOURCE_LOCATION (decl));
gcc_assert (parse_res);
- if (arch_string != default_opts->x_riscv_arch_string)
- free (CONST_CAST (void *, (const void *) arch_string));
-
cl_target_option_restore (&global_options, &global_options_set,
&cur_target);
}
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index 26a247c..eec9687 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -789,7 +789,7 @@
rtx t5 = gen_reg_rtx (DImode);
rtx t6 = gen_reg_rtx (DImode);
- riscv_emit_binary (PLUS, operands[0], operands[1], operands[2]);
+ emit_insn (gen_addsi3_extended (t6, operands[1], operands[2]));
if (GET_CODE (operands[1]) != CONST_INT)
emit_insn (gen_extend_insn (t4, operands[1], DImode, SImode, 0));
else
@@ -799,7 +799,10 @@
else
t5 = operands[2];
emit_insn (gen_adddi3 (t3, t4, t5));
- emit_insn (gen_extend_insn (t6, operands[0], DImode, SImode, 0));
+ rtx t7 = gen_lowpart (SImode, t6);
+ SUBREG_PROMOTED_VAR_P (t7) = 1;
+ SUBREG_PROMOTED_SET (t7, SRP_SIGNED);
+ emit_move_insn (operands[0], t7);
riscv_expand_conditional_branch (operands[3], NE, t6, t3);
}
@@ -835,8 +838,11 @@
emit_insn (gen_extend_insn (t3, operands[1], DImode, SImode, 0));
else
t3 = operands[1];
- riscv_emit_binary (PLUS, operands[0], operands[1], operands[2]);
- emit_insn (gen_extend_insn (t4, operands[0], DImode, SImode, 0));
+ emit_insn (gen_addsi3_extended (t4, operands[1], operands[2]));
+ rtx t5 = gen_lowpart (SImode, t4);
+ SUBREG_PROMOTED_VAR_P (t5) = 1;
+ SUBREG_PROMOTED_SET (t5, SRP_SIGNED);
+ emit_move_insn (operands[0], t5);
riscv_expand_conditional_branch (operands[3], LTU, t4, t3);
}
@@ -966,7 +972,7 @@
rtx t5 = gen_reg_rtx (DImode);
rtx t6 = gen_reg_rtx (DImode);
- riscv_emit_binary (MINUS, operands[0], operands[1], operands[2]);
+ emit_insn (gen_subsi3_extended (t6, operands[1], operands[2]));
if (GET_CODE (operands[1]) != CONST_INT)
emit_insn (gen_extend_insn (t4, operands[1], DImode, SImode, 0));
else
@@ -976,7 +982,10 @@
else
t5 = operands[2];
emit_insn (gen_subdi3 (t3, t4, t5));
- emit_insn (gen_extend_insn (t6, operands[0], DImode, SImode, 0));
+ rtx t7 = gen_lowpart (SImode, t6);
+ SUBREG_PROMOTED_VAR_P (t7) = 1;
+ SUBREG_PROMOTED_SET (t7, SRP_SIGNED);
+ emit_move_insn (operands[0], t7);
riscv_expand_conditional_branch (operands[3], NE, t6, t3);
}
@@ -1015,8 +1024,11 @@
emit_insn (gen_extend_insn (t3, operands[1], DImode, SImode, 0));
else
t3 = operands[1];
- riscv_emit_binary (MINUS, operands[0], operands[1], operands[2]);
- emit_insn (gen_extend_insn (t4, operands[0], DImode, SImode, 0));
+ emit_insn (gen_subsi3_extended (t4, operands[1], operands[2]));
+ rtx t5 = gen_lowpart (SImode, t4);
+ SUBREG_PROMOTED_VAR_P (t5) = 1;
+ SUBREG_PROMOTED_SET (t5, SRP_SIGNED);
+ emit_move_insn (operands[0], t5);
riscv_expand_conditional_branch (operands[3], LTU, t3, t4);
}
diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
index 51eb64f..3ab4d76 100644
--- a/gcc/config/riscv/vector.md
+++ b/gcc/config/riscv/vector.md
@@ -2136,18 +2136,34 @@
(match_operand 7 "const_int_operand")
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (vec_duplicate:V_VLS
- (match_operand:<VEL> 3 "direct_broadcast_operand"))
+ ;; (vec_duplicate:V_VLS ;; wrapper activated by wrap_vec_dup below.
+ (match_operand:<VEL> 3 "direct_broadcast_operand") ;; )
(match_operand:V_VLS 2 "vector_merge_operand")))]
"TARGET_VECTOR"
{
/* Transform vmv.v.x/vfmv.v.f (avl = 1) into vmv.s.x since vmv.s.x/vfmv.s.f
has better chances to do vsetvl fusion in vsetvl pass. */
+ bool wrap_vec_dup = true;
+ rtx vec_cst = NULL_RTX;
if (riscv_vector::splat_to_scalar_move_p (operands))
{
operands[1] = riscv_vector::gen_scalar_move_mask (<VM>mode);
operands[3] = force_reg (<VEL>mode, operands[3]);
}
+ else if (immediate_operand (operands[3], <VEL>mode)
+ && (vec_cst = gen_const_vec_duplicate (<MODE>mode, operands[3]))
+ && (/* -> pred_broadcast<mode>_zero */
+ (vector_least_significant_set_mask_operand (operands[1],
+ <VM>mode)
+ && vector_const_0_operand (vec_cst, <MODE>mode))
+ || (/* pred_broadcast<mode>_imm */
+ vector_all_trues_mask_operand (operands[1], <VM>mode)
+ && vector_const_int_or_double_0_operand (vec_cst,
+ <MODE>mode))))
+ {
+ operands[3] = vec_cst;
+ wrap_vec_dup = false;
+ }
/* Handle vmv.s.x instruction (Wb1 mask) which has memory scalar. */
else if (satisfies_constraint_Wdm (operands[3]))
{
@@ -2191,6 +2207,8 @@
;
else
operands[3] = force_reg (<VEL>mode, operands[3]);
+ if (wrap_vec_dup)
+ operands[3] = gen_rtx_VEC_DUPLICATE (<MODE>mode, operands[3]);
})
(define_insn_and_split "*pred_broadcast<mode>"
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 737c3d6..12dbde2 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -25765,10 +25765,13 @@ rs6000_can_inline_p (tree caller, tree callee)
}
}
- /* 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);
+ /* Ignore -mpower8-fusion, -mpower10-fusion and -msave-toc-indirect options
+ for inlining purposes. */
+ HOST_WIDE_INT ignored_isas = (OPTION_MASK_P8_FUSION
+ | OPTION_MASK_P10_FUSION
+ | OPTION_MASK_SAVE_TOC_INDIRECT);
+ callee_isa &= ~ignored_isas;
+ explicit_isa &= ~ignored_isas;
/* 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
diff --git a/gcc/config/sh/sh-modes.def b/gcc/config/sh/sh-modes.def
index 80650b4..e31ae69 100644
--- a/gcc/config/sh/sh-modes.def
+++ b/gcc/config/sh/sh-modes.def
@@ -17,6 +17,12 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
+/* SH has the same reversed quiet bit as MIPS. */
+RESET_FLOAT_FORMAT (SF, mips_single_format);
+RESET_FLOAT_FORMAT (DF, mips_double_format);
+/* TFmode: IEEE quad floating point (software). */
+FLOAT_MODE (TF, 16, mips_quad_format);
+
/* Vector modes. */
VECTOR_MODE (INT, QI, 2); /* V2QI */
VECTOR_MODES (INT, 4); /* V4QI V2HI */
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 456f4ba..d9f0298 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,80 @@
+2025-04-22 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * name-lookup.cc (lookup_imported_hidden_friend): Remove
+ unnecessary lazy_load_pendings.
+
+2025-04-22 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/119863
+ * name-lookup.cc (get_mergeable_namespace_binding): Remove
+ no-longer-used function.
+ (lookup_imported_hidden_friend): Also look for hidden imported
+ decls in an attached decl's module.
+
+2025-04-21 Jason Merrill <jason@redhat.com>
+
+ * constexpr.cc (cxx_eval_outermost_constant_expr): Move
+ verify_constant later.
+
+2025-04-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/118775
+ * constexpr.cc (cxx_eval_call_expression): Add assert.
+ (fold_to_constant): Handle processing_template_decl.
+ * init.cc (build_new_1): Use fold_to_constant.
+
+2025-04-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/99456
+ * constexpr.cc (cxx_eval_constant_expression): Check strict
+ instead of manifestly_const_eval.
+ (maybe_constant_init_1): Be strict for static constexpr vars.
+
+2025-04-19 Jason Merrill <jason@redhat.com>
+
+ * coroutines.cc (coro_build_expr_stmt)
+ (coro_build_cvt_void_expr_stmt): Remove.
+ (build_actor_fn): Use finish_expr_stmt.
+ * semantics.cc (finish_expr_stmt): Avoid wrapping statement in
+ EXPR_STMT.
+ (finish_stmt_expr_expr): Add comment.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * constexpr.cc (is_valid_constexpr_fn): Improve diagnostic.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * constexpr.cc (cxx_eval_outermost_constant_expr): Give both
+ expression and allocation location in allocated storage diagnostics.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * name-lookup.cc (name_lookup::preserve_state): Fix reserve call.
+ * rtti.cc (get_tinfo_desc): Use vec_safe_grow_cleared.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * semantics.cc (finish_type_pack_element): Add more info
+ to diagnostics.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * decl.cc (cp_make_fname_decl): Prevent silent failure.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * lex.cc (unqualified_name_lookup_error): Handle 'requires' better.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/113360
+ * cp-tree.h (struct language_function): Add erroneous bit.
+ * constexpr.cc (explain_invalid_constexpr_fn): Return if set.
+ (cxx_eval_call_expression): Quiet if set.
+ * parser.cc (cp_parser_function_definition_after_declarator)
+ * pt.cc (instantiate_body): Set it.
+
2025-04-16 Jason Merrill <jason@redhat.com>
PR c++/114772
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index f56c5c4..8a11e62 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -2956,12 +2956,11 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
gcc_assert (arg0);
if (new_op_p)
{
- /* FIXME: We should not get here; the VERIFY_CONSTANT above
- should have already caught it. But currently a conversion
- from pointer type to arithmetic type is only considered
- non-constant for CONVERT_EXPRs, not NOP_EXPRs. */
if (!tree_fits_uhwi_p (arg0))
{
+ /* We should not get here; the VERIFY_CONSTANT above
+ should have already caught it. */
+ gcc_checking_assert (false);
if (!ctx->quiet)
error_at (loc, "cannot allocate array: size not constant");
*non_constant_p = true;
@@ -8479,7 +8478,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t,
if (TREE_CODE (t) == CONVERT_EXPR
&& ARITHMETIC_TYPE_P (type)
&& INDIRECT_TYPE_P (TREE_TYPE (op))
- && ctx->manifestly_const_eval == mce_true)
+ && ctx->strict)
{
if (!ctx->quiet)
error_at (loc,
@@ -9228,11 +9227,6 @@ cxx_eval_outermost_constant_expr (tree t, bool allow_non_constant,
if (r == void_node && !constexpr_dtor && ctx.ctor)
r = ctx.ctor;
- if (!constexpr_dtor)
- verify_constant (r, allow_non_constant, &non_constant_p, &overflow_p);
- else
- DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (object) = true;
-
unsigned int i;
tree cleanup;
/* Evaluate the cleanups. */
@@ -9251,15 +9245,6 @@ cxx_eval_outermost_constant_expr (tree t, bool allow_non_constant,
non_constant_p = true;
}
- if (TREE_CODE (r) == CONSTRUCTOR && CONSTRUCTOR_NO_CLEARING (r))
- {
- if (!allow_non_constant)
- error ("%qE is not a constant expression because it refers to "
- "an incompletely initialized variable", t);
- TREE_CONSTANT (r) = false;
- non_constant_p = true;
- }
-
if (!non_constant_p && cxx_dialect >= cxx20
&& !global_ctx.heap_vars.is_empty ())
{
@@ -9316,6 +9301,21 @@ cxx_eval_outermost_constant_expr (tree t, bool allow_non_constant,
non_constant_p = true;
}
+ if (!non_constant_p && !constexpr_dtor)
+ verify_constant (r, allow_non_constant, &non_constant_p, &overflow_p);
+
+ /* After verify_constant because reduced_constant_expression_p can unset
+ CONSTRUCTOR_NO_CLEARING. */
+ if (!non_constant_p
+ && TREE_CODE (r) == CONSTRUCTOR && CONSTRUCTOR_NO_CLEARING (r))
+ {
+ if (!allow_non_constant)
+ error ("%qE is not a constant expression because it refers to "
+ "an incompletely initialized variable", t);
+ TREE_CONSTANT (r) = false;
+ non_constant_p = true;
+ }
+
if (non_constant_p)
/* If we saw something bad, go back to our argument. The wrapping below is
only for the cases of TREE_CONSTANT argument or overflow. */
@@ -9332,13 +9332,17 @@ cxx_eval_outermost_constant_expr (tree t, bool allow_non_constant,
if (non_constant_p && !allow_non_constant)
return error_mark_node;
- else if (constexpr_dtor)
- return r;
else if (non_constant_p && TREE_CONSTANT (r))
r = mark_non_constant (r);
else if (non_constant_p)
return t;
+ if (constexpr_dtor)
+ {
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (object) = true;
+ return r;
+ }
+
/* Check we are not trying to return the wrong type. */
if (!same_type_ignoring_top_level_qualifiers_p (type, TREE_TYPE (r)))
{
@@ -9490,6 +9494,9 @@ fold_simple (tree t)
tree
fold_to_constant (tree t)
{
+ if (processing_template_decl)
+ return t;
+
tree r = fold (t);
if (CONSTANT_CLASS_P (r) && !TREE_OVERFLOW (r))
return r;
@@ -9747,16 +9754,26 @@ maybe_constant_init_1 (tree t, tree decl, bool allow_non_constant,
{
/* [basic.start.static] allows constant-initialization of variables with
static or thread storage duration even if it isn't required, but we
- shouldn't bend the rules the same way for automatic variables. */
+ shouldn't bend the rules the same way for automatic variables.
+
+ But still enforce the requirements of constexpr/constinit.
+ [dcl.constinit] "If a variable declared with the constinit specifier
+ has dynamic initialization, the program is ill-formed, even if the
+ implementation would perform that initialization as a static
+ initialization." */
bool is_static = (decl && DECL_P (decl)
&& (TREE_STATIC (decl) || DECL_EXTERNAL (decl)));
+ bool strict = (!is_static
+ || (decl && DECL_P (decl)
+ && (DECL_DECLARED_CONSTEXPR_P (decl)
+ || DECL_DECLARED_CONSTINIT_P (decl))));
if (is_static)
manifestly_const_eval = mce_true;
if (cp_unevaluated_operand && manifestly_const_eval != mce_true)
return fold_to_constant (t);
- t = cxx_eval_outermost_constant_expr (t, allow_non_constant, !is_static,
+ t = cxx_eval_outermost_constant_expr (t, allow_non_constant, strict,
manifestly_const_eval,
false, decl);
}
diff --git a/gcc/cp/coroutines.cc b/gcc/cp/coroutines.cc
index b92d09f..743da06 100644
--- a/gcc/cp/coroutines.cc
+++ b/gcc/cp/coroutines.cc
@@ -1852,21 +1852,6 @@ coro_build_frame_access_expr (tree coro_ref, tree member_id, bool preserve_ref,
return expr;
}
-/* Helpers to build EXPR_STMT and void-cast EXPR_STMT, common ops. */
-
-static tree
-coro_build_expr_stmt (tree expr, location_t loc)
-{
- return maybe_cleanup_point_expr_void (build_stmt (loc, EXPR_STMT, expr));
-}
-
-static tree
-coro_build_cvt_void_expr_stmt (tree expr, location_t loc)
-{
- tree t = build1 (CONVERT_EXPR, void_type_node, expr);
- return coro_build_expr_stmt (t, loc);
-}
-
/* Helpers to build an artificial var, with location LOC, NAME and TYPE, in
CTX, and with initializer INIT. */
@@ -2582,8 +2567,7 @@ build_actor_fn (location_t loc, tree coro_frame_type, tree actor, tree fnbody,
tree hfa = build_new_method_call (ash, hfa_m, &args, NULL_TREE, LOOKUP_NORMAL,
NULL, tf_warning_or_error);
r = cp_build_init_expr (ash, hfa);
- r = coro_build_cvt_void_expr_stmt (r, loc);
- add_stmt (r);
+ finish_expr_stmt (r);
release_tree_vector (args);
/* Now we know the real promise, and enough about the frame layout to
@@ -2678,8 +2662,7 @@ build_actor_fn (location_t loc, tree coro_frame_type, tree actor, tree fnbody,
we must tail call them. However, some targets do not support indirect
tail calls to arbitrary callees. See PR94359. */
CALL_EXPR_TAILCALL (resume) = true;
- resume = coro_build_cvt_void_expr_stmt (resume, loc);
- add_stmt (resume);
+ finish_expr_stmt (resume);
r = build_stmt (loc, RETURN_EXPR, NULL);
gcc_checking_assert (maybe_cleanup_point_expr_void (r) == r);
diff --git a/gcc/cp/init.cc b/gcc/cp/init.cc
index e589e45..062a493 100644
--- a/gcc/cp/init.cc
+++ b/gcc/cp/init.cc
@@ -3405,7 +3405,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
errval = throw_bad_array_new_length ();
if (outer_nelts_check != NULL_TREE)
size = build3 (COND_EXPR, sizetype, outer_nelts_check, size, errval);
- size = cp_fully_fold (size);
+ size = fold_to_constant (size);
/* Create the argument list. */
vec_safe_insert (*placement, 0, size);
/* Do name-lookup to find the appropriate operator. */
@@ -3462,7 +3462,7 @@ build_new_1 (vec<tree, va_gc> **placement, tree type, tree nelts,
outer_nelts_check = NULL_TREE;
}
- size = cp_fully_fold (size);
+ size = fold_to_constant (size);
/* If size is zero e.g. due to type having zero size, try to
preserve outer_nelts for constant expression evaluation
purposes. */
diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index 498126a..aa2dc0e 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -4178,22 +4178,6 @@ mergeable_namespace_slots (tree ns, tree name, bool is_attached, tree *vec)
return vslot;
}
-/* Retrieve the bindings for an existing mergeable entity in namespace
- NS slot NAME. Returns NULL if no such bindings exists. */
-
-static tree
-get_mergeable_namespace_binding (tree ns, tree name, bool is_attached)
-{
- tree *mslot = find_namespace_slot (ns, name, false);
- if (!mslot || !*mslot || TREE_CODE (*mslot) != BINDING_VECTOR)
- return NULL_TREE;
-
- tree *vslot = get_fixed_binding_slot
- (mslot, name, is_attached ? BINDING_SLOT_PARTITION : BINDING_SLOT_GLOBAL,
- false);
- return vslot ? *vslot : NULL_TREE;
-}
-
/* DECL is a new mergeable namespace-scope decl. Add it to the
mergeable entities on GSLOT. */
@@ -4572,11 +4556,9 @@ lookup_imported_hidden_friend (tree friend_tmpl)
|| !DECL_MODULE_ENTITY_P (inner))
return NULL_TREE;
- lazy_load_pendings (friend_tmpl);
-
- tree bind = get_mergeable_namespace_binding
- (current_namespace, DECL_NAME (inner), DECL_MODULE_ATTACH_P (inner));
- if (!bind)
+ tree name = DECL_NAME (inner);
+ tree *slot = find_namespace_slot (current_namespace, name, false);
+ if (!slot || !*slot || TREE_CODE (*slot) != BINDING_VECTOR)
return NULL_TREE;
/* We're only interested in declarations attached to the same module
@@ -4584,9 +4566,28 @@ lookup_imported_hidden_friend (tree friend_tmpl)
int m = get_originating_module (friend_tmpl, /*global=-1*/true);
gcc_assert (m != 0);
+ /* First check whether there's a reachable declaration attached to the module
+ we're looking for. */
+ if (m > 0)
+ if (binding_slot *mslot = search_imported_binding_slot (slot, m))
+ {
+ if (mslot->is_lazy ())
+ lazy_load_binding (m, current_namespace, name, mslot);
+ for (ovl_iterator iter (*mslot); iter; ++iter)
+ if (DECL_CLASS_TEMPLATE_P (*iter))
+ return *iter;
+ }
+
+ /* Otherwise, look in the mergeable slots for this name, in case an importer
+ has already instantiated this declaration. */
+ tree *vslot = get_fixed_binding_slot
+ (slot, name, m > 0 ? BINDING_SLOT_PARTITION : BINDING_SLOT_GLOBAL, false);
+ if (!vslot || !*vslot)
+ return NULL_TREE;
+
/* There should be at most one class template from the module we're
looking for, return it. */
- for (ovl_iterator iter (bind); iter; ++iter)
+ for (ovl_iterator iter (*vslot); iter; ++iter)
if (DECL_CLASS_TEMPLATE_P (*iter)
&& get_originating_module (*iter, true) == m)
return *iter;
diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 7f23efd..1aa35d3 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -1180,10 +1180,13 @@ finish_expr_stmt (tree expr)
expr = error_mark_node;
/* Simplification of inner statement expressions, compound exprs,
- etc can result in us already having an EXPR_STMT. */
+ etc can result in us already having an EXPR_STMT or other statement
+ tree. Don't wrap them in EXPR_STMT. */
if (TREE_CODE (expr) != CLEANUP_POINT_EXPR)
{
- if (TREE_CODE (expr) != EXPR_STMT)
+ if (TREE_CODE (expr) != EXPR_STMT
+ && !STATEMENT_CLASS_P (expr)
+ && TREE_CODE (expr) != STATEMENT_LIST)
expr = build_stmt (loc, EXPR_STMT, expr);
expr = maybe_cleanup_point_expr_void (expr);
}
@@ -3082,6 +3085,7 @@ finish_stmt_expr_expr (tree expr, tree stmt_expr)
}
else if (processing_template_decl)
{
+ /* Not finish_expr_stmt because we don't want convert_to_void. */
expr = build_stmt (input_location, EXPR_STMT, expr);
expr = add_stmt (expr);
/* Mark the last statement so that we can recognize it as such at
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index b025453..f816c70 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,3 +1,7 @@
+2025-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 956e73d64e.
+
2025-04-15 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/119826
diff --git a/gcc/doc/cfg.texi b/gcc/doc/cfg.texi
index b8c6427..bbd6694 100644
--- a/gcc/doc/cfg.texi
+++ b/gcc/doc/cfg.texi
@@ -297,10 +297,12 @@ edge. The opposite conversion is difficult, but should not happen
anyway. The edges can be eliminated via @code{purge_dead_edges} call.
@findex REG_EH_REGION, EDGE_ABNORMAL_CALL
-In the RTL representation, the destination of an exception edge is
-specified by @code{REG_EH_REGION} note attached to the insn.
-In case of a trapping call the @code{EDGE_ABNORMAL_CALL} flag is set
-too. In the @code{GIMPLE} representation, this extra flag is not set.
+In the RTL representation, a @code{REG_EH_REGION} note is attached to
+an instruction that can throw an exception. The destination of the
+exception edge originating at such an instruction is specified by the
+value of the @code{REG_EH_REGION} note. In case of a trapping call
+the @code{EDGE_ABNORMAL_CALL} flag is set too. In the @code{GIMPLE}
+representation, this extra flag is not set.
@findex may_trap_p, tree_could_trap_p
In the RTL representation, the predicate @code{may_trap_p} may be used
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 020442a..a0f60e7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -16897,11 +16897,6 @@ Maximum depth of recursive cloning for self-recursive function.
Recursive cloning only when the probability of call being executed exceeds
the parameter.
-@item ipa-cp-profile-count-base
-When using @option{-fprofile-use} option, IPA-CP will consider the measured
-execution count of a call graph edge at this percentage position in their
-histogram as the basis for its heuristics calculation.
-
@item ipa-cp-recursive-freq-factor
The number of times interprocedural copy propagation expects recursive
functions to call themselves.
@@ -16963,6 +16958,19 @@ Size of max partition for WHOPR (in estimated instructions).
to provide an upper bound for individual size of partition.
Meant to be used only with balanced partitioning.
+@item lto-partition-locality-frequency-cutoff
+The denominator n of fraction 1/n of the execution frequency of callee to be
+cloned for a particular caller. Special value of 0 dictates to always clone
+without a cut-off.
+
+@item lto-partition-locality-size-cutoff
+Size cut-off for callee including inlined calls to be cloned for a particular
+caller.
+
+@item lto-max-locality-partition
+Maximal size of a locality partition for LTO (in estimated instructions).
+Value of 0 results in default value being used.
+
@item lto-max-streaming-parallelism
Maximal number of parallel processes used for LTO streaming.
@@ -31504,8 +31512,9 @@ Permissible values for this option are: @samp{sifive-e20}, @samp{sifive-e21},
@samp{sifive-e24}, @samp{sifive-e31}, @samp{sifive-e34}, @samp{sifive-e76},
@samp{sifive-s21}, @samp{sifive-s51}, @samp{sifive-s54}, @samp{sifive-s76},
@samp{sifive-u54}, @samp{sifive-u74}, @samp{sifive-x280}, @samp{sifive-xp450},
-@samp{sifive-x670}, @samp{thead-c906}, @samp{tt-ascalon-d8},
-@samp{xiangshan-nanhu}.
+@samp{sifive-x670}, @samp{thead-c906}, @samp{tt-ascalon-d8}, @samp{xiangshan-nanhu},
+@samp{xt-c908}, @samp{xt-c908v}, @samp{xt-c910}, @samp{xt-c910v2},
+@samp{xt-c920}, @samp{xt-c920v2}.
Note that @option{-mcpu} does not override @option{-march} or @option{-mtune}.
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index 69e9d77..34ffeed 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -1536,7 +1536,7 @@ loc_descr_equal_p_1 (dw_loc_descr_ref a, dw_loc_descr_ref b)
/* ??? This is only ever set for DW_OP_constNu, for N equal to the
address size, but since we always allocate cleared storage it
should be zero for other types of locations. */
- if (a->dtprel != b->dtprel)
+ if (a->dw_loc_dtprel != b->dw_loc_dtprel)
return false;
return (dw_val_equal_p (&a->dw_loc_oprnd1, &b->dw_loc_oprnd1)
@@ -2115,7 +2115,7 @@ output_loc_operands (dw_loc_descr_ref loc, int for_eh_or_skip)
dw2_asm_output_data (2, val1->v.val_int, NULL);
break;
case DW_OP_const4u:
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
{
gcc_assert (targetm.asm_out.output_dwarf_dtprel);
targetm.asm_out.output_dwarf_dtprel (asm_out_file, 4,
@@ -2128,7 +2128,7 @@ output_loc_operands (dw_loc_descr_ref loc, int for_eh_or_skip)
dw2_asm_output_data (4, val1->v.val_int, NULL);
break;
case DW_OP_const8u:
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
{
gcc_assert (targetm.asm_out.output_dwarf_dtprel);
targetm.asm_out.output_dwarf_dtprel (asm_out_file, 8,
@@ -2323,7 +2323,7 @@ output_loc_operands (dw_loc_descr_ref loc, int for_eh_or_skip)
break;
case DW_OP_addr:
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
{
if (targetm.asm_out.output_dwarf_dtprel)
{
@@ -4028,7 +4028,7 @@ new_addr_loc_descr (rtx addr, enum dtprel_bool dtprel)
ref->dw_loc_oprnd1.val_class = dw_val_class_addr;
ref->dw_loc_oprnd1.v.val_addr = addr;
- ref->dtprel = dtprel;
+ ref->dw_loc_dtprel = dtprel;
if (dwarf_split_debug_info)
ref->dw_loc_oprnd1.val_entry
= add_addr_table_entry (addr,
@@ -7036,7 +7036,7 @@ loc_checksum (dw_loc_descr_ref loc, struct md5_ctx *ctx)
inchash::hash hstate;
hashval_t hash;
- tem = (loc->dtprel << 8) | ((unsigned int) loc->dw_loc_opc);
+ tem = (loc->dw_loc_dtprel << 8) | ((unsigned int) loc->dw_loc_opc);
CHECKSUM (tem);
hash_loc_operands (loc, hstate);
hash = hstate.end();
@@ -7259,7 +7259,7 @@ loc_checksum_ordered (dw_loc_descr_ref loc, struct md5_ctx *ctx)
inchash::hash hstate;
hashval_t hash;
- CHECKSUM_ULEB128 (loc->dtprel);
+ CHECKSUM_ULEB128 (loc->dw_loc_dtprel);
CHECKSUM_ULEB128 (loc->dw_loc_opc);
hash_loc_operands (loc, hstate);
hash = hstate.end ();
@@ -18310,7 +18310,7 @@ resolve_args_picking_1 (dw_loc_descr_ref loc, unsigned initial_frame_offset,
/* If needed, relocate the picking offset with respect to the frame
offset. */
- if (l->frame_offset_rel)
+ if (l->dw_loc_frame_offset_rel)
{
unsigned HOST_WIDE_INT off;
switch (l->dw_loc_opc)
@@ -18826,7 +18826,7 @@ loc_list_from_tree_1 (tree loc, int want_address,
&& want_address == 0)
{
ret = new_loc_descr (DW_OP_pick, 0, 0);
- ret->frame_offset_rel = 1;
+ ret->dw_loc_frame_offset_rel = 1;
context->placeholder_seen = true;
break;
}
@@ -18993,7 +18993,7 @@ loc_list_from_tree_1 (tree loc, int want_address,
gcc_assert (cursor != NULL_TREE);
ret = new_loc_descr (DW_OP_pick, i, 0);
- ret->frame_offset_rel = 1;
+ ret->dw_loc_frame_offset_rel = 1;
break;
}
/* FALLTHRU */
@@ -31061,7 +31061,7 @@ resolve_addr_in_expr (dw_attr_node *a, dw_loc_descr_ref loc)
|| loc->dw_loc_opc == DW_OP_addrx)
|| ((loc->dw_loc_opc == DW_OP_GNU_const_index
|| loc->dw_loc_opc == DW_OP_constx)
- && loc->dtprel))
+ && loc->dw_loc_dtprel))
{
rtx rtl = loc->dw_loc_oprnd1.val_entry->addr.rtl;
if (!resolve_one_addr (&rtl))
@@ -31073,7 +31073,7 @@ resolve_addr_in_expr (dw_attr_node *a, dw_loc_descr_ref loc)
break;
case DW_OP_const4u:
case DW_OP_const8u:
- if (loc->dtprel
+ if (loc->dw_loc_dtprel
&& !resolve_one_addr (&loc->dw_loc_oprnd1.v.val_addr))
return false;
break;
@@ -31359,8 +31359,12 @@ copy_deref_exprloc (dw_loc_descr_ref expr)
while (expr != l)
{
*p = new_loc_descr (expr->dw_loc_opc, 0, 0);
- (*p)->dw_loc_oprnd1 = expr->dw_loc_oprnd1;
- (*p)->dw_loc_oprnd2 = expr->dw_loc_oprnd2;
+ (*p)->dw_loc_oprnd1.val_class = expr->dw_loc_oprnd1.val_class;
+ (*p)->dw_loc_oprnd1.val_entry = expr->dw_loc_oprnd1.val_entry;
+ (*p)->dw_loc_oprnd1.v = expr->dw_loc_oprnd1.v;
+ (*p)->dw_loc_oprnd2.val_class = expr->dw_loc_oprnd2.val_class;
+ (*p)->dw_loc_oprnd2.val_entry = expr->dw_loc_oprnd2.val_entry;
+ (*p)->dw_loc_oprnd2.v = expr->dw_loc_oprnd2.v;
p = &(*p)->dw_loc_next;
expr = expr->dw_loc_next;
}
@@ -31451,7 +31455,9 @@ optimize_string_length (dw_attr_node *a)
copy over the DW_AT_location attribute from die to a. */
if (l->dw_loc_next != NULL)
{
- a->dw_attr_val = av->dw_attr_val;
+ a->dw_attr_val.val_class = av->dw_attr_val.val_class;
+ a->dw_attr_val.val_entry = av->dw_attr_val.val_entry;
+ a->dw_attr_val.v = av->dw_attr_val.v;
return 1;
}
@@ -31737,7 +31743,7 @@ hash_loc_operands (dw_loc_descr_ref loc, inchash::hash &hstate)
{
case DW_OP_const4u:
case DW_OP_const8u:
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
goto hash_addr;
/* FALLTHRU */
case DW_OP_const1u:
@@ -31839,7 +31845,7 @@ hash_loc_operands (dw_loc_descr_ref loc, inchash::hash &hstate)
break;
case DW_OP_addr:
hash_addr:
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
{
unsigned char dtprel = 0xd1;
hstate.add_object (dtprel);
@@ -31851,7 +31857,7 @@ hash_loc_operands (dw_loc_descr_ref loc, inchash::hash &hstate)
case DW_OP_GNU_const_index:
case DW_OP_constx:
{
- if (loc->dtprel)
+ if (loc->dw_loc_dtprel)
{
unsigned char dtprel = 0xd1;
hstate.add_object (dtprel);
@@ -31998,7 +32004,7 @@ compare_loc_operands (dw_loc_descr_ref x, dw_loc_descr_ref y)
{
case DW_OP_const4u:
case DW_OP_const8u:
- if (x->dtprel)
+ if (x->dw_loc_dtprel)
goto hash_addr;
/* FALLTHRU */
case DW_OP_const1u:
@@ -32162,7 +32168,7 @@ compare_locs (dw_loc_descr_ref x, dw_loc_descr_ref y)
{
for (; x != NULL && y != NULL; x = x->dw_loc_next, y = y->dw_loc_next)
if (x->dw_loc_opc != y->dw_loc_opc
- || x->dtprel != y->dtprel
+ || x->dw_loc_dtprel != y->dw_loc_dtprel
|| !compare_loc_operands (x, y))
break;
return x == NULL && y == NULL;
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h
index fe50956..a0b0fa4 100644
--- a/gcc/dwarf2out.h
+++ b/gcc/dwarf2out.h
@@ -276,6 +276,25 @@ typedef struct GTY(()) dw_loc_list_struct {
struct GTY(()) dw_val_node {
enum dw_val_class val_class;
+ /* On 64-bit host, there are 4 bytes of padding between val_class
+ and val_entry. Reuse the padding for other content of
+ dw_loc_descr_node and dw_attr_struct. */
+ union dw_val_node_parent
+ {
+ struct dw_val_loc_descr_node
+ {
+ ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc_v : 8;
+ /* Used to distinguish DW_OP_addr with a direct symbol relocation
+ from DW_OP_addr with a dtp-relative symbol relocation. */
+ unsigned int dw_loc_dtprel_v : 1;
+ /* For DW_OP_pick, DW_OP_dup and DW_OP_over operations: true iff.
+ it targets a DWARF prodecure argument. In this case, it needs to be
+ relocated according to the current frame offset. */
+ unsigned int dw_loc_frame_offset_rel_v : 1;
+ } u1;
+ int u2;
+ enum dwarf_attribute u3;
+ } GTY((skip)) u;
struct addr_table_entry * GTY(()) val_entry;
union dw_val_struct_union
{
@@ -321,15 +340,15 @@ struct GTY(()) dw_val_node {
struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node {
dw_loc_descr_ref dw_loc_next;
- ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc : 8;
+#define dw_loc_opc dw_loc_oprnd1.u.u1.dw_loc_opc_v
/* Used to distinguish DW_OP_addr with a direct symbol relocation
from DW_OP_addr with a dtp-relative symbol relocation. */
- unsigned int dtprel : 1;
+#define dw_loc_dtprel dw_loc_oprnd1.u.u1.dw_loc_dtprel_v
/* For DW_OP_pick, DW_OP_dup and DW_OP_over operations: true iff.
it targets a DWARF prodecure argument. In this case, it needs to be
relocated according to the current frame offset. */
- unsigned int frame_offset_rel : 1;
- int dw_loc_addr;
+#define dw_loc_frame_offset_rel dw_loc_oprnd1.u.u1.dw_loc_frame_offset_rel_v
+#define dw_loc_addr dw_loc_oprnd2.u.u2
dw_val_node dw_loc_oprnd1;
dw_val_node dw_loc_oprnd2;
};
@@ -493,7 +512,7 @@ void dwarf2out_cc_finalize (void);
Attributes are typically linked below the DIE they modify. */
typedef struct GTY(()) dw_attr_struct {
- enum dwarf_attribute dw_attr;
+#define dw_attr dw_attr_val.u.u3
dw_val_node dw_attr_val;
}
dw_attr_node;
diff --git a/gcc/except.cc b/gcc/except.cc
index 205811c..0fe1e09 100644
--- a/gcc/except.cc
+++ b/gcc/except.cc
@@ -2949,7 +2949,14 @@ switch_to_exception_section (const char * ARG_UNUSED (fnname))
{
section *s;
- if (exception_section)
+ if (exception_section
+ /* Don't use the cached section for comdat if it will be different. */
+#ifdef HAVE_LD_EH_GC_SECTIONS
+ && !(targetm_common.have_named_sections
+ && DECL_COMDAT_GROUP (current_function_decl)
+ && HAVE_COMDAT_GROUP)
+#endif
+ )
s = exception_section;
else
{
diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc
index 1275ef7..c9471ea 100644
--- a/gcc/fold-const.cc
+++ b/gcc/fold-const.cc
@@ -7246,6 +7246,12 @@ tree_swap_operands_p (const_tree arg0, const_tree arg1)
if (TREE_CONSTANT (arg0))
return true;
+ /* Put invariant address in arg1. */
+ if (is_gimple_invariant_address (arg1))
+ return false;
+ if (is_gimple_invariant_address (arg0))
+ return true;
+
/* It is preferable to swap two SSA_NAME to ensure a canonical form
for commutative and comparison operators. Ensuring a canonical
form allows the optimizers to find additional redundancies without
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1c45bdb..bda22d1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,217 @@
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * match.cc (match_exit_cycle): Allow to exit team block.
+ (gfc_match_end_team): Create end_team node also without
+ parameter list.
+ * trans-intrinsic.cc (conv_stat_and_team): Team and team_number
+ only need to be a single pointer.
+ * trans-stmt.cc (trans_associate_var): Create a mapping coarray
+ token for coarray associations or it is not addressed correctly.
+ * trans.h (enum gfc_coarray_regtype): Add mapping mode to
+ coarray register.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * check.cc (gfc_check_image_index): Check for team or
+ team_number correctnes.
+ (gfc_check_num_images): Same.
+ * gfortran.texi: Update documentation on num_images' API
+ function.
+ * intrinsic.cc (add_functions): Update signature of image_index
+ and num_images. Both can take either a team handle or number.
+ * intrinsic.h (gfc_check_num_images): Update signature to take
+ either team or team_number.
+ (gfc_check_image_index): Can take coarray, subscripts and team
+ or team number now.
+ (gfc_simplify_image_index): Same.
+ (gfc_simplify_num_images): Same.
+ (gfc_resolve_image_index): Same.
+ * intrinsic.texi: Update documentation of num_images() Fortran
+ function.
+ * iresolve.cc (gfc_resolve_image_index): Update signature.
+ * simplify.cc (gfc_simplify_num_images): Update signature and
+ remove undocumented failed argument.
+ (gfc_simplify_image_index): Add team or team number argument.
+ * trans-intrinsic.cc (conv_stat_and_team): Because being
+ optional teams need to be a pointer to the opaque pointer.
+ (conv_caf_sendget): Correct call; was two arguments short.
+ (trans_image_index): Support team or team_number.
+ (trans_num_images): Same.
+ (conv_intrinsic_cobound): Adapt to changed signature of
+ num_images in call.
+ * trans-stmt.cc (gfc_trans_sync): Same.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ * check.cc (gfc_check_this_image): Check the three different
+ parameter lists possible for this_image and sort them correctly.
+ * gfortran.texi: Update documentation on this_image's API.
+ * intrinsic.cc (add_functions): Update this_image's signature.
+ (check_specific): Add specific check for this_image.
+ * intrinsic.h (gfc_check_this_image): Change to flexible
+ argument list.
+ * intrinsic.texi: Update documentation on this_image().
+ * iresolve.cc (gfc_resolve_this_image): Resolve the different
+ arguments.
+ * simplify.cc (gfc_simplify_this_image): Simplify the simplify
+ routine.
+ * trans-decl.cc (gfc_build_builtin_function_decls): Update
+ signature of this_image.
+ * trans-expr.cc (gfc_caf_get_image_index): Use correct signature
+ of this_image.
+ * trans-intrinsic.cc (trans_this_image): Adapt to correct
+ signature.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/88154
+ PR fortran/88960
+ PR fortran/97210
+ PR fortran/103001
+ * check.cc (team_type_check): Check a type for being team_type
+ from the iso_fortran_env module.
+ (gfc_check_image_status): Use team_type check.
+ (gfc_check_get_team): Check for level argument.
+ (gfc_check_team_number): Use team_type check.
+ * expr.cc (gfc_check_assign): Add treatment for returning
+ team_type in caf-single mode.
+ * gfortran.texi: Add/Update documentation for get_team and
+ team_number API functions.
+ * intrinsic.cc (add_functions): Update get_team signature.
+ * intrinsic.h (gfc_resolve_get_team): Add prototype.
+ * intrinsic.texi: Add/Update documentation for get_team and
+ team_number Fortran functions.
+ * iresolve.cc (gfc_resolve_get_team): Resolve return type to be
+ of type team_type.
+ * iso-fortran-env.def: Update STAT_LOCK constants. They have
+ nothing to do with files. Add level constants for get_team.
+ * libgfortran.h: Add level and unlock_stat constants.
+ * simplify.cc (gfc_simplify_get_team): Simply to correct return
+ type team_type.
+ * trans-decl.cc (gfc_build_builtin_function_decls): Update
+ get_team and image_status API prototypes to correct signatures.
+ * trans-intrinsic.cc (conv_intrinsic_image_status): Translate
+ second parameter correctly.
+ (conv_intrinsic_team_number): Translate optional single team
+ argument correctly.
+ (gfc_conv_intrinsic_function): Add translation of get_team.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ PR fortran/87556
+ PR fortran/88254
+ PR fortran/103796
+ * coarray.cc (split_expr_at_caf_ref): Treat polymorphic types
+ correctly. Ensure resolve of expression after coindex.
+ (create_allocated_callback): Fix parameter of allocated function
+ for coarrays.
+ (coindexed_expr_callback): Improve detection of coarrays in
+ allocated function.
+ * decl.cc (gfc_match_end): Add team block matching.
+ * dump-parse-tree.cc (show_code_node): Dump change team block as
+ such.
+ * frontend-passes.cc (gfc_code_walker): Recognice team block.
+ * gfortran.texi: Add documentation for team api functions.
+ * intrinsic.texi: Add documentation about team_type in
+ iso_fortran_env module.
+ * iso-fortran-env.def (team_type): Use helper to get pointer
+ kind.
+ * match.cc (gfc_match_associate): Factor out matching of
+ association list, because it is used in change team as well.
+ (check_coarray_assoc): Ensure, that the association is to a
+ coarray.
+ (match_association_list): Match a list of association either in
+ associate or in change team.
+ (gfc_match_form_team): Match form team correctly include
+ new_index.
+ (gfc_match_change_team): Match change team with association
+ list.
+ (gfc_match_end_team): Match end team including stat and errmsg.
+ (gfc_match_return): Prevent return from team block.
+ * parse.cc (decode_statement): Sort team block.
+ (next_statement): Same.
+ (check_statement_label): Same.
+ (accept_statement): Same.
+ (verify_st_order): Same.
+ (parse_associate): Renamed to move_associates_to_block...
+ (move_associates_to_block): ... to enable reuse for change team.
+ (parse_change_team): Parse it as block.
+ (parse_executable): Same.
+ * parse.h (enum gfc_compile_state): Add team block as compiler
+ state.
+ * resolve.cc (resolve_scalar_argument): New function to resolve
+ an argument to a statement as a scalar.
+ (resolve_form_team): Resolve its members.
+ (resolve_change_team): Same.
+ (resolve_branch): Prevent branch from jumping out of team block.
+ (check_team): Removed.
+ * trans-decl.cc (gfc_build_builtin_function_decls): Add stat and
+ errmsg to team API functions and update their arguments.
+ * trans-expr.cc (gfc_trans_subcomponent_assign): Also null the
+ token when moving memory or an allocated() will not detect a
+ free.
+ * trans-intrinsic.cc (gfc_conv_intrinsic_caf_is_present_remote):
+ Adapt to signature change no longer a pointer-pointer.
+ * trans-stmt.cc (gfc_trans_form_team): Translate a form team
+ including new_index.
+ (gfc_trans_change_team): Translate a change team as a block.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87939
+ * check.cc (gfc_check_move_alloc): Add stat and errmsg to
+ move_alloc.
+ * dump-parse-tree.cc (show_sync_stat): New helper function.
+ (show_code_node): Use show_sync_stat to print stat and errmsg.
+ * gfortran.h (struct sync_stat): New struct to unify stat and
+ errmsg handling.
+ * intrinsic.cc (add_subroutines): Correct signature of
+ move_alloc.
+ * intrinsic.h (gfc_check_move_alloc): Correct signature of
+ check_move_alloc.
+ * match.cc (match_named_arg): Match an optional argument to a
+ statement.
+ (match_stat_errmsg): Match a stat= or errmsg= named argument.
+ (gfc_match_critical): Use match_stat_errmsg to match the named
+ arguments.
+ (gfc_match_sync_team): Same.
+ * resolve.cc (resolve_team_argument): Resolve an expr to have
+ type TEAM_TYPE from iso_fortran_env.
+ (resolve_scalar_variable_as_arg): Resolve an argument as a
+ scalar type.
+ (resolve_sync_stat): Resolve stat and errmsg expressions.
+ (resolve_sync_team): Resolve a sync team statement using
+ sync_stat helper.
+ (resolve_end_team): Same.
+ (resolve_critical): Same.
+ * trans-decl.cc (gfc_build_builtin_function_decls): Correct
+ sync_team signature.
+ * trans-intrinsic.cc (conv_intrinsic_move_alloc): Store stat
+ an errmsg optional arguments in helper struct and use helper
+ to translate.
+ * trans-stmt.cc (trans_exit): Implement DRY pattern for
+ generating an _exit().
+ (gfc_trans_sync_stat): Translate stat and errmsg contents.
+ (gfc_trans_end_team): Use helper to translate stat and errmsg.
+ (gfc_trans_sync_team): Same.
+ (gfc_trans_critical): Same.
+ * trans-stmt.h (gfc_trans_sync_stat): New function.
+ * trans.cc (gfc_deallocate_with_status): Parameterize check at
+ runtime to allow unallocated (co-)array when freeing a
+ structure.
+ (gfc_deallocate_scalar_with_status): Same and also add errmsg.
+ * trans.h (gfc_deallocate_with_status): Signature changes.
+ (gfc_deallocate_scalar_with_status): Same.
+
+2025-04-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/119836
+ * resolve.cc (check_pure_function): Fix checking for
+ an impure subprogram within a DO CONCURRENT construct.
+ (pure_subroutine): Ditto.
+
2025-04-16 Harald Anlauf <anlauf@gmx.de>
PR fortran/106948
diff --git a/gcc/fortran/check.cc b/gcc/fortran/check.cc
index 9c66c25..299c216 100644
--- a/gcc/fortran/check.cc
+++ b/gcc/fortran/check.cc
@@ -1809,6 +1809,23 @@ gfc_check_atomic_ref (gfc_expr *value, gfc_expr *atom, gfc_expr *stat)
return gfc_check_atomic (atom, 1, value, 0, stat, 2);
}
+bool
+team_type_check (gfc_expr *e, int n)
+{
+ if (e->ts.type != BT_DERIVED || !e->ts.u.derived
+ || e->ts.u.derived->from_intmod != INTMOD_ISO_FORTRAN_ENV
+ || e->ts.u.derived->intmod_sym_id != ISOFORTRAN_TEAM_TYPE)
+ {
+ gfc_error ("%qs argument of %qs intrinsic at %L shall be of type "
+ "%<team_type%> from the intrinsic module "
+ "%<ISO_FORTRAN_ENV%>",
+ gfc_current_intrinsic_arg[n]->name, gfc_current_intrinsic,
+ &e->where);
+ return false;
+ }
+
+ return true;
+}
bool
gfc_check_image_status (gfc_expr *image, gfc_expr *team)
@@ -1818,14 +1835,7 @@ gfc_check_image_status (gfc_expr *image, gfc_expr *team)
|| !positive_check (0, image))
return false;
- if (team)
- {
- gfc_error ("%qs argument of %qs intrinsic at %L not yet supported",
- gfc_current_intrinsic_arg[1]->name, gfc_current_intrinsic,
- &team->where);
- return false;
- }
- return true;
+ return !team || (scalar_check (team, 0) && team_type_check (team, 0));
}
@@ -1905,10 +1915,25 @@ gfc_check_get_team (gfc_expr *level)
{
if (level)
{
- gfc_error ("%qs argument of %qs intrinsic at %L not yet supported",
- gfc_current_intrinsic_arg[0]->name, gfc_current_intrinsic,
- &level->where);
- return false;
+ int l;
+
+ if (!type_check (level, 0, BT_INTEGER) || !scalar_check (level, 0))
+ return false;
+
+ /* When level is a constant, try to extract it. If not, the runtime has
+ to check. */
+ if (gfc_extract_int (level, &l, 0))
+ return true;
+
+ if (l < GFC_CAF_INITIAL_TEAM || l > GFC_CAF_CURRENT_TEAM)
+ {
+ gfc_error ("%qs argument of %qs intrinsic at %L shall specify one of "
+ "the INITIAL_TEAM, PARENT_TEAM or CURRENT_TEAM constants "
+ "from the intrinsic module ISO_FORTRAN_ENV",
+ gfc_current_intrinsic_arg[0]->name, gfc_current_intrinsic,
+ &level->where);
+ return false;
+ }
}
return true;
}
@@ -3810,7 +3835,8 @@ gfc_check_lcobound (gfc_expr *coarray, gfc_expr *dim, gfc_expr *kind)
{
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
@@ -4683,8 +4709,18 @@ gfc_check_merge_bits (gfc_expr *i, gfc_expr *j, gfc_expr *mask)
bool
-gfc_check_move_alloc (gfc_expr *from, gfc_expr *to)
+gfc_check_move_alloc (gfc_expr *from, gfc_expr *to, gfc_expr *stat,
+ gfc_expr *errmsg)
{
+ struct sync_stat sync_stat = {stat, errmsg};
+
+ if ((stat || errmsg)
+ && !gfc_notify_std (GFC_STD_F2008, "STAT= or ERRMSG= at %L not supported",
+ &to->where))
+ return false;
+
+ gfc_resolve_sync_stat (&sync_stat);
+
if (!variable_check (from, 0, false))
return false;
if (!allocatable_check (from, 0))
@@ -6530,13 +6566,15 @@ gfc_check_stat_sub (gfc_expr *name, gfc_expr *array, gfc_expr *status)
bool
-gfc_check_image_index (gfc_expr *coarray, gfc_expr *sub)
+gfc_check_image_index (gfc_expr *coarray, gfc_expr *sub,
+ gfc_expr *team_or_team_number)
{
mpz_t nelems;
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
@@ -6550,12 +6588,8 @@ gfc_check_image_index (gfc_expr *coarray, gfc_expr *sub)
return false;
}
- if (sub->ts.type != BT_INTEGER)
- {
- gfc_error ("Type of %s argument of IMAGE_INDEX at %L shall be INTEGER",
- gfc_current_intrinsic_arg[1]->name, &sub->where);
- return false;
- }
+ if (!type_check (sub, 1, BT_INTEGER))
+ return false;
if (gfc_array_size (sub, &nelems))
{
@@ -6570,47 +6604,46 @@ gfc_check_image_index (gfc_expr *coarray, gfc_expr *sub)
mpz_clear (nelems);
}
+ if (team_or_team_number)
+ {
+ if (!type_check2 (team_or_team_number, 2, BT_DERIVED, BT_INTEGER)
+ || !scalar_check (team_or_team_number, 2))
+ return false;
+
+ /* Check team is of team_type. */
+ if (team_or_team_number->ts.type == BT_DERIVED
+ && !team_type_check (team_or_team_number, 2))
+ return false;
+ }
+
return true;
}
-
bool
-gfc_check_num_images (gfc_expr *distance, gfc_expr *failed)
+gfc_check_num_images (gfc_expr *team_or_team_number)
{
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
- if (distance)
- {
- if (!type_check (distance, 0, BT_INTEGER))
- return false;
-
- if (!nonnegative_check ("DISTANCE", distance))
- return false;
-
- if (!scalar_check (distance, 0))
- return false;
-
- if (!gfc_notify_std (GFC_STD_F2018, "DISTANCE= argument to "
- "NUM_IMAGES at %L", &distance->where))
- return false;
- }
+ if (!team_or_team_number)
+ return true;
- if (failed)
- {
- if (!type_check (failed, 1, BT_LOGICAL))
- return false;
+ if (!gfc_notify_std (GFC_STD_F2008,
+ "%<team%> or %<team_number%> argument to %qs at %L",
+ gfc_current_intrinsic, &team_or_team_number->where))
+ return false;
- if (!scalar_check (failed, 1))
- return false;
+ if (!type_check2 (team_or_team_number, 0, BT_DERIVED, BT_INTEGER)
+ || !scalar_check (team_or_team_number, 0))
+ return false;
- if (!gfc_notify_std (GFC_STD_F2018, "FAILED= argument to "
- "NUM_IMAGES at %L", &failed->where))
- return false;
- }
+ if (team_or_team_number->ts.type == BT_DERIVED
+ && !team_type_check (team_or_team_number, 0))
+ return false;
return true;
}
@@ -6621,98 +6654,126 @@ gfc_check_team_number (gfc_expr *team)
{
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
- if (team)
- {
- if (team->ts.type != BT_DERIVED
- || team->ts.u.derived->from_intmod != INTMOD_ISO_FORTRAN_ENV
- || team->ts.u.derived->intmod_sym_id != ISOFORTRAN_TEAM_TYPE)
- {
- gfc_error ("TEAM argument at %L to the intrinsic TEAM_NUMBER "
- "shall be of type TEAM_TYPE", &team->where);
- return false;
- }
- }
- else
- return true;
-
- return true;
+ return !team || (scalar_check (team, 0) && team_type_check (team, 0));
}
bool
-gfc_check_this_image (gfc_expr *coarray, gfc_expr *dim, gfc_expr *distance)
+gfc_check_this_image (gfc_actual_arglist *args)
{
+ gfc_expr *coarray, *dim, *team, *cur;
+
+ coarray = dim = team = NULL;
+
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
- if (coarray == NULL && dim == NULL && distance == NULL)
+ /* Shortcut when no arguments are given. */
+ if (!args->expr && !args->next->expr && !args->next->next->expr)
return true;
- if (dim != NULL && coarray == NULL)
- {
- gfc_error ("DIM argument without COARRAY argument not allowed for "
- "THIS_IMAGE intrinsic at %L", &dim->where);
- return false;
- }
+ cur = args->expr;
- if (distance && (coarray || dim))
+ if (cur)
{
- gfc_error ("The DISTANCE argument may not be specified together with the "
- "COARRAY or DIM argument in intrinsic at %L",
- &distance->where);
- return false;
+ gfc_push_suppress_errors ();
+ if (coarray_check (cur, 0))
+ coarray = cur;
+ else if (scalar_check (cur, 2) && team_type_check (cur, 2))
+ team = cur;
+ else
+ {
+ gfc_pop_suppress_errors ();
+ gfc_error ("First argument of %<this_image%> intrinsic at %L must be "
+ "a coarray "
+ "variable or an object of type %<team_type%> from the "
+ "intrinsic module "
+ "%<ISO_FORTRAN_ENV%>",
+ &cur->where);
+ return false;
+ }
+ gfc_pop_suppress_errors ();
}
- /* Assume that we have "this_image (distance)". */
- if (coarray && !gfc_is_coarray (coarray) && coarray->ts.type == BT_INTEGER)
+ cur = args->next->expr;
+ if (cur)
{
- if (dim)
+ gfc_push_suppress_errors ();
+ if (dim_check (cur, 1, true) && cur->corank == 0)
+ dim = cur;
+ else if (scalar_check (cur, 2) && team_type_check (cur, 2))
{
- gfc_error ("Unexpected DIM argument with noncoarray argument at %L",
- &coarray->where);
+ if (team)
+ {
+ gfc_pop_suppress_errors ();
+ goto team_type_error;
+ }
+ team = cur;
+ }
+ else
+ {
+ gfc_pop_suppress_errors ();
+ gfc_error ("Second argument of %<this_image%> intrinsic at %L must "
+ "be an %<INTEGER%> "
+ "typed scalar or an object of type %<team_type%> from the "
+ "intrinsic "
+ "module %<ISO_FORTRAN_ENV%>",
+ &cur->where);
return false;
}
- distance = coarray;
+ gfc_pop_suppress_errors ();
}
- if (distance)
+ cur = args->next->next->expr;
+ if (cur)
{
- if (!type_check (distance, 2, BT_INTEGER))
- return false;
-
- if (!nonnegative_check ("DISTANCE", distance))
- return false;
-
- if (!scalar_check (distance, 2))
- return false;
-
- if (!gfc_notify_std (GFC_STD_F2018, "DISTANCE= argument to "
- "THIS_IMAGE at %L", &distance->where))
+ if (team_type_check (cur, 2) && scalar_check (cur, 2))
+ {
+ if (team)
+ goto team_type_error;
+ team = cur;
+ }
+ else
return false;
+ }
- return true;
+ if (dim != NULL && coarray == NULL)
+ {
+ gfc_error ("%<dim%> argument without %<coarray%> argument not allowed "
+ "for %<this_image%> intrinsic at %L",
+ &dim->where);
+ return false;
}
- if (!coarray_check (coarray, 0))
+ if (dim && !dim_corank_check (dim, coarray))
return false;
- if (dim != NULL)
- {
- if (!dim_check (dim, 1, false))
- return false;
-
- if (!dim_corank_check (dim, coarray))
- return false;
- }
+ if (team
+ && !gfc_notify_std (GFC_STD_F2018,
+ "%<team%> argument to %<this_image%> at %L",
+ &team->where))
+ return false;
+ args->expr = coarray;
+ args->next->expr = dim;
+ args->next->next->expr = team;
return true;
+
+team_type_error:
+ gfc_error (
+ "At most one argument of type %<team_type%> from the intrinsic module "
+ "%<ISO_FORTRAN_ENV%> to %<this_image%> at %L allowed",
+ &cur->where);
+ return false;
}
/* Calculate the sizes for transfer, used by gfc_check_transfer and also
@@ -6911,7 +6972,8 @@ gfc_check_ucobound (gfc_expr *coarray, gfc_expr *dim, gfc_expr *kind)
{
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to enable");
+ gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable",
+ gfc_current_intrinsic_where);
return false;
}
diff --git a/gcc/fortran/coarray.cc b/gcc/fortran/coarray.cc
index 7058325..2f067f8 100644
--- a/gcc/fortran/coarray.cc
+++ b/gcc/fortran/coarray.cc
@@ -357,7 +357,9 @@ split_expr_at_caf_ref (gfc_expr *expr, gfc_namespace *ns,
gcc_assert (expr->expr_type == EXPR_VARIABLE);
caf_ts = &expr->symtree->n.sym->ts;
- if (!expr->symtree->n.sym->attr.codimension)
+ if (!(expr->symtree->n.sym->ts.type == BT_CLASS
+ ? CLASS_DATA (expr->symtree->n.sym)->attr.codimension
+ : expr->symtree->n.sym->attr.codimension))
{
/* The coarray is in some component. Find it. */
caf_ref = expr->ref;
@@ -432,6 +434,9 @@ split_expr_at_caf_ref (gfc_expr *expr, gfc_namespace *ns,
else if (base->ts.type == BT_CLASS)
convert_coarray_class_to_derived_type (base, ns);
+ memset (&(*post_caf_ref_expr)->ts, 0, sizeof (gfc_typespec));
+ gfc_resolve_expr (*post_caf_ref_expr);
+ (*post_caf_ref_expr)->corank = 0;
gfc_expression_rank (*post_caf_ref_expr);
if (for_send)
gfc_expression_rank (expr);
@@ -1130,8 +1135,8 @@ create_allocated_callback (gfc_expr *expr)
// ADD_ARG (expr->symtree->name, base, BT_VOID, INTENT_IN);
base = post_caf_ref_expr->symtree->n.sym;
+ base->attr.pointer = !base->attr.dimension;
gfc_set_sym_referenced (base);
- gfc_commit_symbol (base);
*argptr = gfc_get_formal_arglist ();
(*argptr)->sym = base;
argptr = &(*argptr)->next;
@@ -1420,7 +1425,8 @@ coindexed_expr_callback (gfc_expr **e, int *walk_subtrees,
{
case GFC_ISYM_ALLOCATED:
if ((*e)->value.function.actual->expr
- && gfc_is_coindexed ((*e)->value.function.actual->expr))
+ && (gfc_is_coarray ((*e)->value.function.actual->expr)
+ || gfc_is_coindexed ((*e)->value.function.actual->expr)))
{
rewrite_caf_allocated (e);
*walk_subtrees = 0;
diff --git a/gcc/fortran/decl.cc b/gcc/fortran/decl.cc
index feb454e..69acd2d 100644
--- a/gcc/fortran/decl.cc
+++ b/gcc/fortran/decl.cc
@@ -8459,6 +8459,7 @@ gfc_match_end (gfc_statement *st)
{
case COMP_ASSOCIATE:
case COMP_BLOCK:
+ case COMP_CHANGE_TEAM:
if (startswith (block_name, "block@"))
block_name = NULL;
break;
@@ -8515,7 +8516,7 @@ gfc_match_end (gfc_statement *st)
case COMP_SUBROUTINE:
*st = ST_END_SUBROUTINE;
if (!abbreviated_modproc_decl)
- target = " subroutine";
+ target = " subroutine";
else
target = " procedure";
eos_ok = !contained_procedure ();
@@ -8524,7 +8525,7 @@ gfc_match_end (gfc_statement *st)
case COMP_FUNCTION:
*st = ST_END_FUNCTION;
if (!abbreviated_modproc_decl)
- target = " function";
+ target = " function";
else
target = " procedure";
eos_ok = !contained_procedure ();
@@ -8646,6 +8647,12 @@ gfc_match_end (gfc_statement *st)
eos_ok = 0;
break;
+ case COMP_CHANGE_TEAM:
+ *st = ST_END_TEAM;
+ target = " team";
+ eos_ok = 0;
+ break;
+
default:
gfc_error ("Unexpected END statement at %C");
goto cleanup;
@@ -8683,14 +8690,19 @@ gfc_match_end (gfc_statement *st)
else
got_matching_end = true;
+ if (*st == ST_END_TEAM && gfc_match_end_team () == MATCH_ERROR)
+ /* Emit errors of stat and errmsg parsing now to finish the block and
+ continue analysis of compilation unit. */
+ gfc_error_check ();
+
old_loc = gfc_current_locus;
/* If we're at the end, make sure a block name wasn't required. */
if (gfc_match_eos () == MATCH_YES)
{
-
if (*st != ST_ENDDO && *st != ST_ENDIF && *st != ST_END_SELECT
&& *st != ST_END_FORALL && *st != ST_END_WHERE && *st != ST_END_BLOCK
- && *st != ST_END_ASSOCIATE && *st != ST_END_CRITICAL)
+ && *st != ST_END_ASSOCIATE && *st != ST_END_CRITICAL
+ && *st != ST_END_TEAM)
return MATCH_YES;
if (!block_name)
diff --git a/gcc/fortran/dump-parse-tree.cc b/gcc/fortran/dump-parse-tree.cc
index 9501bcc..dd920f3 100644
--- a/gcc/fortran/dump-parse-tree.cc
+++ b/gcc/fortran/dump-parse-tree.cc
@@ -2607,6 +2607,20 @@ show_omp_node (int level, gfc_code *c)
fprintf (dumpfile, " (%s)", c->ext.omp_clauses->critical_name);
}
+static void
+show_sync_stat (struct sync_stat *sync_stat)
+{
+ if (sync_stat->stat)
+ {
+ fputs (" stat=", dumpfile);
+ show_expr (sync_stat->stat);
+ }
+ if (sync_stat->errmsg)
+ {
+ fputs (" errmsg=", dumpfile);
+ show_expr (sync_stat->errmsg);
+ }
+}
/* Show a single code node and everything underneath it if necessary. */
@@ -2755,20 +2769,27 @@ show_code_node (int level, gfc_code *c)
fputs ("FAIL IMAGE ", dumpfile);
break;
- case EXEC_CHANGE_TEAM:
- fputs ("CHANGE TEAM", dumpfile);
- break;
-
case EXEC_END_TEAM:
fputs ("END TEAM", dumpfile);
+ show_sync_stat (&c->ext.sync_stat);
break;
case EXEC_FORM_TEAM:
- fputs ("FORM TEAM", dumpfile);
+ fputs ("FORM TEAM ", dumpfile);
+ show_expr (c->expr1);
+ show_expr (c->expr2);
+ if (c->expr3)
+ {
+ fputs (" NEW_INDEX", dumpfile);
+ show_expr (c->expr3);
+ }
+ show_sync_stat (&c->ext.sync_stat);
break;
case EXEC_SYNC_TEAM:
- fputs ("SYNC TEAM", dumpfile);
+ fputs ("SYNC TEAM ", dumpfile);
+ show_expr (c->expr1);
+ show_sync_stat (&c->ext.sync_stat);
break;
case EXEC_SYNC_ALL:
@@ -2913,6 +2934,7 @@ show_code_node (int level, gfc_code *c)
fputs ("ENDIF", dumpfile);
break;
+ case EXEC_CHANGE_TEAM:
case EXEC_BLOCK:
{
const char *blocktype, *sname = NULL;
@@ -2928,17 +2950,23 @@ show_code_node (int level, gfc_code *c)
if (fcn && fcn->expr_type == EXPR_FUNCTION)
sname = fcn->value.function.actual->expr->symtree->n.sym->name;
}
+ else if (c->op == EXEC_CHANGE_TEAM)
+ blocktype = "CHANGE TEAM";
else if (c->ext.block.assoc)
blocktype = "ASSOCIATE";
else
blocktype = "BLOCK";
show_indent ();
fprintf (dumpfile, "%s ", blocktype);
+ if (c->op == EXEC_CHANGE_TEAM)
+ show_expr (c->expr1);
for (alist = c->ext.block.assoc; alist; alist = alist->next)
{
fprintf (dumpfile, " %s = ", sname ? sname : alist->name);
show_expr (alist->target);
}
+ if (c->op == EXEC_CHANGE_TEAM)
+ show_sync_stat (&c->ext.block.sync_stat);
++show_level;
ns = c->ext.block.ns;
@@ -2948,8 +2976,13 @@ show_code_node (int level, gfc_code *c)
gfc_current_ns = saved_ns;
show_code (show_level, ns->code);
--show_level;
- show_indent ();
- fprintf (dumpfile, "END %s ", blocktype);
+ if (c->op != EXEC_CHANGE_TEAM)
+ {
+ /* A CHANGE_TEAM is terminated by a END_TEAM, which have its own
+ stat and errmsg. Therefore, let it print itself. */
+ show_indent ();
+ fprintf (dumpfile, "END %s ", blocktype);
+ }
break;
}
@@ -3048,7 +3081,9 @@ show_code_node (int level, gfc_code *c)
break;
case EXEC_CRITICAL:
- fputs ("CRITICAL\n", dumpfile);
+ fputs ("CRITICAL", dumpfile);
+ show_sync_stat (&c->ext.sync_stat);
+ fputc ('\n', dumpfile);
show_code (level + 1, c->block->next);
code_indent (level, 0);
fputs ("END CRITICAL", dumpfile);
diff --git a/gcc/fortran/expr.cc b/gcc/fortran/expr.cc
index 0753667..07e9bac 100644
--- a/gcc/fortran/expr.cc
+++ b/gcc/fortran/expr.cc
@@ -3836,7 +3836,13 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform,
if (has_pointer && (ref == NULL || ref->next == NULL)
&& lvalue->symtree->n.sym->attr.data)
return true;
- else
+ /* Prevent the following error message for caf-single mode, because there
+ are no teams in single mode and the simplify returns a null then. */
+ else if (!(flag_coarray == GFC_FCOARRAY_SINGLE
+ && rvalue->ts.type == BT_DERIVED
+ && rvalue->ts.u.derived->from_intmod == INTMOD_ISO_FORTRAN_ENV
+ && rvalue->ts.u.derived->intmod_sym_id
+ == ISOFORTRAN_TEAM_TYPE))
{
gfc_error ("NULL appears on right-hand side in assignment at %L",
&rvalue->where);
diff --git a/gcc/fortran/frontend-passes.cc b/gcc/fortran/frontend-passes.cc
index ef9c801..02a0a23 100644
--- a/gcc/fortran/frontend-passes.cc
+++ b/gcc/fortran/frontend-passes.cc
@@ -5340,6 +5340,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn,
{
case EXEC_BLOCK:
+ case EXEC_CHANGE_TEAM:
WALK_SUBCODE (co->ext.block.ns->code);
if (co->ext.block.assoc)
{
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 5ef7037..46310a0 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -3162,6 +3162,11 @@ enum locality_type
LOCALITY_NUM
};
+struct sync_stat
+{
+ gfc_expr *stat, *errmsg;
+};
+
typedef struct gfc_code
{
gfc_exec_op op;
@@ -3197,6 +3202,7 @@ typedef struct gfc_code
gfc_omp_variant *omp_variants;
bool omp_bool;
int stop_code;
+ struct sync_stat sync_stat;
struct
{
@@ -3207,6 +3213,7 @@ typedef struct gfc_code
unsigned arr_spec_from_expr3:1;
/* expr3 is not explicit */
unsigned expr3_not_explicit:1;
+ struct sync_stat sync_stat;
}
alloc;
@@ -3215,6 +3222,7 @@ typedef struct gfc_code
gfc_namespace *ns;
gfc_association_list *assoc;
gfc_case *case_list;
+ struct sync_stat sync_stat;
}
block;
@@ -3985,6 +3993,7 @@ bool gfc_resolve_index (gfc_expr *, int);
bool gfc_resolve_dim_arg (gfc_expr *);
bool gfc_resolve_substring (gfc_ref *, bool *);
void gfc_resolve_substring_charlen (gfc_expr *);
+void gfc_resolve_sync_stat (struct sync_stat *);
gfc_expr *gfc_expr_to_initialize (gfc_expr *);
bool gfc_type_is_extensible (gfc_symbol *);
bool gfc_resolve_intrinsic (gfc_symbol *, locus *);
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index 9632161..841f613 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -4230,6 +4230,12 @@ future implementation of teams. It is about to change without further notice.
* _gfortran_caf_co_min:: Collective minimum reduction
* _gfortran_caf_co_sum:: Collective summing reduction
* _gfortran_caf_co_reduce:: Generic collective reduction
+* _gfortran_caf_form_team:: Team creation function
+* _gfortran_caf_change_team:: Team activation function
+* _gfortran_caf_end_team:: Team termination function
+* _gfortran_caf_sync_team:: Synchronize all images of a given team
+* _gfortran_caf_get_team:: Get the opaque handle of the specified team
+* _gfortran_caf_team_number:: Get the unique id of the given team
@end menu
@@ -4294,21 +4300,23 @@ using the STOP and ERROR STOP statements; those use different library calls.
@table @asis
@item @emph{Synopsis}:
-@code{int _gfortran_caf_this_image (int distance)}
+@code{int _gfortran_caf_this_image (caf_team_t team)}
@item @emph{Description}:
-This function returns the current image number, which is a positive number.
+Return the current image number in the @var{team}, or in the current team, if
+no @var{team} is given.
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{distance} @tab As specified for the @code{this_image} intrinsic
-in TS18508. Shall be a nonnegative number.
+@item @var{team} @tab intent(in), optional; The team this image's number is
+requested for. If null, the image number in the current team is returned.
@end multitable
@item @emph{Notes}:
-If the Fortran intrinsic @code{this_image} is invoked without an argument, which
-is the only permitted form in Fortran 2008, GCC passes @code{0} as
-first argument.
+Available since Fortran 2008 without argument; Since Fortran 2018 with optional
+team argument. Fortran 2008 uses 0 as argument for team, which is permissible,
+because a team handle is always an opaque pointer, which as a special case can
+be null here.
@end table
@@ -4318,25 +4326,29 @@ first argument.
@table @asis
@item @emph{Synopsis}:
-@code{int _gfortran_caf_num_images(int distance, int failed)}
+@code{int _gfortran_caf_num_images (caf_team_t team, int32_t *team_number)}
@item @emph{Description}:
-This function returns the number of images in the current team, if
-@var{distance} is 0 or the number of images in the parent team at the specified
-distance. If @var{failed} is -1, the function returns the number of all images at
-the specified distance; if it is 0, the function returns the number of
-nonfailed images, and if it is 1, it returns the number of failed images.
+This function returns the number of images in the team given by @var{team} or
+@var{team_number}, if either one is present. If both are null, then the number
+of images in the current team is returned.
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{distance} @tab the distance from this image to the ancestor.
-Shall be positive.
-@item @var{failed} @tab shall be -1, 0, or 1
+@item @var{team} @tab intent(in), optional; The team the number of images is
+requested for. If null, the number of images in the current team is returned.
+@item @var{team_number} @tab intent(in), optional; The team id for which the
+number of teams is requested; if unset, then number of images in the current
+team is returned.
@end multitable
@item @emph{Notes}:
-This function follows TS18508. If the num_image intrinsic has no arguments,
-then the compiler passes @code{distance=0} and @code{failed=-1} to the function.
+When both argument are given, then it is caf-library dependent which argument
+is examined first. Current implementations prioritize the @var{team} argument,
+because it is easier to retrive the number of images from it.
+
+Fortran 2008 or later, with no arguments; Fortran 2018 or later with two
+arguments.
@end table
@@ -4705,9 +4717,9 @@ structure.
operation, i.e., zero on success and non-zero on error. When @code{NULL} and an
error occurs, then an error message is printed and the program is terminated.
@item @var{team} @tab intent(in) The opaque team handle as returned by
-@code{FORM TEAM}. Unused at the moment.
+@code{FORM TEAM}.
@item @var{team_number} @tab intent(in) The number of the team this access is
-to be part of. Unused at the moment.
+to be part of.
@end multitable
@item @emph{Notes}:
@@ -4806,9 +4818,9 @@ structure.
operation, i.e., zero on success and non-zero on error. When @code{NULL} and an
error occurs, then an error message is printed and the program is terminated.
@item @var{team} @tab intent(in) The opaque team handle as returned by
-@code{FORM TEAM}. Unused at the moment.
+@code{FORM TEAM}.
@item @var{team_number} @tab intent(in) The number of the team this access is
-to be part of. Unused at the moment.
+to be part of.
@end multitable
@item @emph{Notes}:
@@ -4906,13 +4918,13 @@ the operation on the sending side, i.e., zero on success and non-zero on error.
When @code{NULL} and an error occurs, then an error message is printed and the
program is terminated.
@item @var{dst_team} @tab intent(in) The opaque team handle as returned by
-@code{FORM TEAM}. Unused at the moment.
+@code{FORM TEAM}.
@item @var{dst_team_number} @tab intent(in) The number of the team this access
-is to be part of. Unused at the moment.
+is to be part of.
@item @var{src_team} @tab intent(in) The opaque team handle as returned by
-@code{FORM TEAM}. Unused at the moment.
+@code{FORM TEAM}.
@item @var{src_team_number} @tab intent(in) The number of the team this access
-is to be part of. Unused at the moment.
+is to be part of.
@end multitable
@item @emph{Notes}:
@@ -5656,6 +5668,180 @@ or an array descriptor.
@end table
+
+@node _gfortran_caf_form_team
+@subsection @code{_gfortran_caf_form_team} --- Team creation function
+@cindex Coarray, _gfortran_caf_form_team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_form_team (int team_id, caf_team_t *team,
+int *new_index, int *stat, char *errmsg, size_t errmsg_len)}
+
+@item @emph{Description}:
+Create a team. All images giving the same @var{team_id} in a call to
+@code{FORM TEAM} will form a new team addressable by the opaque handle
+@var{team} which is of type @code{team_type} from the intrinsic module
+@ref{ISO_FORTRAN_ENV}. In the team the image gets the image index given by
+@var{new_index} if present. If @var{new_index} is absent, then an
+implementation specific index is assigned.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{team_id} @tab intent(in) A unique id for each team to form. Images
+giving the same @var{team_id} in a call to @code{FORM TEAM} belong to the same
+team.
+@item @var{team} @tab intent(out) The opaque pointer to the newly formed team
+@item @var{new_index} @tab intent(in) If non-null gives the unique index of
+this image in the newly formed team. When no @var{new_index} is given, the
+caf-library is free to choose a unique index.
+@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
+@item @var{errmsg} @tab intent(out) When an error occurs, this is set to
+an error message; may be NULL.
+@item @var{errmsg_len} @tab intent(in) the buffer size of errmsg
+@end multitable
+
+@item @emph{Notes}:
+The id given in @var{team_id} has to be unique in all subsequent calls to
+@code{FORM TEAM} on the same image. That id is the same used in
+@code{TEAM_NUMBER=} of coarray indexes, which motivates the uniqueness.
+
+The index given in @var{new_index} needs to be unique among all members of
+team to create. Failing uniqueness may lead to misbehaviour, which depends
+on the caf-library's implementation. The library is free to implement
+checks for this, which imposes overhead and therefore may be avoided.
+@end table
+
+
+
+@node _gfortran_caf_change_team
+@subsection @code{_gfortran_caf_change_team} --- Team activation function
+@cindex Coarray, _gfortran_caf_change_team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_change_team (caf_team_t team, int *stat, char *errmsg,
+size_t errmsg_len)}
+
+@item @emph{Description}:
+Actives the team given by @var{team}, which must be formed but not active
+yet. This routine starts a new epoch on the coarray memory pool. All
+coarrays registered from now on, will be freeed once the team is terminated.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{team} @tab intent(inout) The opaque pointer to an already formed
+team
+@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
+@item @var{errmsg} @tab intent(out) When an error occurs, this is set to
+an error message; may be NULL.
+@item @var{errmsg_len} @tab intent(in) the buffer size of errmsg
+@end multitable
+
+@item @emph{Notes}:
+When an error occurs and @var{stat} is non-null, it will be set. Nevertheless
+will the Fortran program continue with the first statement in the change team
+block.
+@end table
+
+
+
+@node _gfortran_caf_end_team
+@subsection @code{_gfortran_caf_end_team} --- Team termination function
+@cindex Coarray, _gfortran_caf_end_team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_end_team (int *stat, char *errmsg, size_t errmsg_len)}
+
+@item @emph{Description}:
+Terminates the last team changed to. The coarray memory epoch is
+terminated and all coarrays allocated since the execution of @code{CHANGE TEAM}
+are freeed.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
+@item @var{errmsg} @tab intent(out) When an error occurs, this is set to
+an error message; may be NULL.
+@item @var{errmsg_len} @tab intent(in) the buffer size of errmsg
+@end multitable
+@end table
+
+
+
+@node _gfortran_caf_sync_team
+@subsection @code{_gfortran_caf_sync_team} --- Synchronize all images of a given team
+@cindex Coarray, _gfortran_caf_sync_team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_team (caf_team_t team, int *stat, char *errmsg,
+size_t errmsg_len)}
+
+@item @emph{Description}:
+Blocks execution of the image calling @code{SYNC TEAM} until all images of the
+team given by @var{team} have joined the synchronisation call.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{team} @tab intent(in) The opaque pointer to an active team
+@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
+@item @var{errmsg} @tab intent(out) When an error occurs, this is set to
+an error message; may be NULL.
+@item @var{errmsg_len} @tab intent(in) the buffer size of errmsg
+@end multitable
+@end table
+
+
+
+@node _gfortran_caf_get_team
+@subsection @code{_gfortran_caf_get_team} --- Get the opaque handle of the specified team
+@cindex Coarray, _gfortran_caf_get_team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{caf_team_t _gfortran_caf_get_team (int32_t *level)}
+
+@item @emph{Description}:
+Get the current team, when @var{level} is null, or the team specified by
+@var{level} set to @code{INITIAL_TEAM}, @code{PARENT_TEAM} or
+@code{CURRENT_TEAM} from the @code{ISO_FORTRAN_ENV} intrinsic module. When
+being on the @code{INITIAL_TEAM} and requesting its @code{PARENT_TEAM}, then
+the initial team is returned.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{level} @tab intent(in) If set to one of the levels specified in
+the @code{ISO_FORTRAN_ENV} module, the function returns the handle of the given
+team. Values different from the allowed ones lead to a runtime error.
+@end multitable
+@end table
+
+
+
+@node _gfortran_caf_team_number
+@subsection @code{_gfortran_caf_team_number} --- Get the unique id of the given team
+@cindex Coarray, _gfortran_caf_team_number
+
+@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_team_number (caf_team_t team)}
+
+@item @emph{Description}:
+The team id given when forming the team @ref{_gfortran_caf_form_team} of the
+team specified by @var{team}, if given, or of the current team, if @var{team}
+is absent. It is a runtime error to specify a non-existing team.
+The team has to be formed, i.e., it is not necessary that it is changed
+into to get the team number. The initial team has the team number @code{-1}.
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{team} @tab intent(in) The team for which the team id is desired.
+@end multitable
+@end table
+
+
@c Intrinsic Procedures
@c ---------------------------------------------------------------------
diff --git a/gcc/fortran/intrinsic.cc b/gcc/fortran/intrinsic.cc
index d2ce74f..2eba209 100644
--- a/gcc/fortran/intrinsic.cc
+++ b/gcc/fortran/intrinsic.cc
@@ -1395,26 +1395,24 @@ add_functions (void)
{
/* Argument names. These are used as argument keywords and so need to
match the documentation. Please keep this list in sorted order. */
- const char
- *a = "a", *a1 = "a1", *a2 = "a2", *ar = "array", *b = "b",
- *bck = "back", *bd = "boundary", *c = "c", *c_ptr_1 = "c_ptr_1",
- *c_ptr_2 = "c_ptr_2", *ca = "coarray", *com = "command",
- *dist = "distance", *dm = "dim", *f = "field", *failed="failed",
- *fs = "fsource", *han = "handler", *i = "i",
- *idy = "identity", *image = "image", *j = "j", *kind = "kind",
- *l = "l", *ln = "len", *level = "level", *m = "matrix", *ma = "matrix_a",
- *mb = "matrix_b", *md = "mode", *mo = "mold", *msk = "mask",
- *n = "n", *ncopies= "ncopies", *nm = "name", *num = "number",
- *op = "operation", *ord = "order", *odd = "ordered", *p = "p",
- *p1 = "path1", *p2 = "path2", *pad = "pad", *pid = "pid", *pos = "pos",
- *pt = "pointer", *r = "r", *rd = "round",
- *s = "s", *set = "set", *sh = "shift", *shp = "shape",
- *sig = "sig", *src = "source", *ssg = "substring",
- *sta = "string_a", *stb = "string_b", *stg = "string",
- *sub = "sub", *sz = "size", *tg = "target", *team = "team", *tm = "time",
- *ts = "tsource", *ut = "unit", *v = "vector", *va = "vector_a",
- *vb = "vector_b", *vl = "values", *val = "value", *x = "x", *y = "y",
- *z = "z";
+ const char *a
+ = "a",
+ *a1 = "a1", *a2 = "a2", *ar = "array", *b = "b", *bck = "back",
+ *bd = "boundary", *c = "c", *c_ptr_1 = "c_ptr_1", *c_ptr_2 = "c_ptr_2",
+ *ca = "coarray", *com = "command", *dm = "dim", *f = "field",
+ *fs = "fsource", *han = "handler", *i = "i", *idy = "identity",
+ *image = "image", *j = "j", *kind = "kind", *l = "l", *ln = "len",
+ *level = "level", *m = "matrix", *ma = "matrix_a", *mb = "matrix_b",
+ *md = "mode", *mo = "mold", *msk = "mask", *n = "n", *ncopies = "ncopies",
+ *nm = "name", *num = "number", *op = "operation", *ord = "order",
+ *odd = "ordered", *p = "p", *p1 = "path1", *p2 = "path2", *pad = "pad",
+ *pid = "pid", *pos = "pos", *pt = "pointer", *r = "r", *rd = "round",
+ *s = "s", *set = "set", *sh = "shift", *shp = "shape", *sig = "sig",
+ *src = "source", *ssg = "substring", *sta = "string_a", *stb = "string_b",
+ *stg = "string", *sub = "sub", *sz = "size", *tg = "target", *team = "team",
+ *team_or_team_number = "team/team_number", *tm = "time", *ts = "tsource",
+ *ut = "unit", *v = "vector", *va = "vector_a", *vb = "vector_b",
+ *vl = "values", *val = "value", *x = "x", *y = "y", *z = "z";
int di, dr, dd, dl, dc, dz, ii;
@@ -2112,10 +2110,10 @@ add_functions (void)
make_generic ("getpid", GFC_ISYM_GETPID, GFC_STD_GNU);
- add_sym_1 ("get_team", GFC_ISYM_GET_TEAM, CLASS_TRANSFORMATIONAL,
- ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2018,
- gfc_check_get_team, NULL, gfc_resolve_get_team,
- level, BT_INTEGER, di, OPTIONAL);
+ add_sym_1 ("get_team", GFC_ISYM_GET_TEAM, CLASS_TRANSFORMATIONAL, ACTUAL_NO,
+ BT_DERIVED, di, GFC_STD_F2018, gfc_check_get_team,
+ gfc_simplify_get_team, gfc_resolve_get_team, level, BT_INTEGER, di,
+ OPTIONAL);
add_sym_0 ("getuid", GFC_ISYM_GETUID, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER,
di, GFC_STD_GNU, NULL, NULL, gfc_resolve_getuid);
@@ -2265,9 +2263,11 @@ add_functions (void)
make_generic ("ierrno", GFC_ISYM_IERRNO, GFC_STD_GNU);
- add_sym_2 ("image_index", GFC_ISYM_IMAGE_INDEX, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
- gfc_check_image_index, gfc_simplify_image_index, gfc_resolve_image_index,
- ca, BT_REAL, dr, REQUIRED, sub, BT_INTEGER, ii, REQUIRED);
+ add_sym_3 ("image_index", GFC_ISYM_IMAGE_INDEX, CLASS_TRANSFORMATIONAL,
+ ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008, gfc_check_image_index,
+ gfc_simplify_image_index, gfc_resolve_image_index, ca, BT_REAL, dr,
+ REQUIRED, sub, BT_INTEGER, ii, REQUIRED, team_or_team_number,
+ BT_VOID, di, OPTIONAL);
add_sym_2 ("image_status", GFC_ISYM_IMAGE_STATUS, CLASS_ELEMENTAL, ACTUAL_NO,
BT_INTEGER, di, GFC_STD_F2018, gfc_check_image_status,
@@ -2848,11 +2848,10 @@ add_functions (void)
make_generic ("null", GFC_ISYM_NULL, GFC_STD_F95);
- add_sym_2 ("num_images", GFC_ISYM_NUM_IMAGES, CLASS_TRANSFORMATIONAL,
- ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
- gfc_check_num_images, gfc_simplify_num_images, NULL,
- dist, BT_INTEGER, di, OPTIONAL,
- failed, BT_LOGICAL, dl, OPTIONAL);
+ add_sym_1 ("num_images", GFC_ISYM_NUM_IMAGES, CLASS_TRANSFORMATIONAL,
+ ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008, gfc_check_num_images,
+ gfc_simplify_num_images, NULL, team_or_team_number, BT_VOID, di,
+ OPTIONAL);
add_sym_3 ("out_of_range", GFC_ISYM_OUT_OF_RANGE, CLASS_ELEMENTAL, ACTUAL_NO,
BT_LOGICAL, dl, GFC_STD_F2018,
@@ -3338,10 +3337,11 @@ add_functions (void)
gfc_check_team_number, NULL, gfc_resolve_team_number,
team, BT_DERIVED, di, OPTIONAL);
- add_sym_3 ("this_image", GFC_ISYM_THIS_IMAGE, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
- gfc_check_this_image, gfc_simplify_this_image, gfc_resolve_this_image,
- ca, BT_REAL, dr, OPTIONAL, dm, BT_INTEGER, ii, OPTIONAL,
- dist, BT_INTEGER, di, OPTIONAL);
+ add_sym_3red ("this_image", GFC_ISYM_THIS_IMAGE, CLASS_INQUIRY, ACTUAL_NO,
+ BT_INTEGER, di, GFC_STD_F2008, gfc_check_this_image,
+ gfc_simplify_this_image, gfc_resolve_this_image, ca, BT_REAL,
+ dr, OPTIONAL, dm, BT_INTEGER, ii, OPTIONAL, team, BT_DERIVED,
+ di, OPTIONAL);
add_sym_0 ("time", GFC_ISYM_TIME, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER,
di, GFC_STD_GNU, NULL, NULL, gfc_resolve_time);
@@ -3835,11 +3835,11 @@ add_subroutines (void)
st, BT_INTEGER, di, OPTIONAL, INTENT_OUT,
trim_name, BT_LOGICAL, dl, OPTIONAL, INTENT_IN);
- add_sym_2s ("move_alloc", GFC_ISYM_MOVE_ALLOC, CLASS_PURE, BT_UNKNOWN, 0,
- GFC_STD_F2003,
- gfc_check_move_alloc, NULL, NULL,
- f, BT_UNKNOWN, 0, REQUIRED, INTENT_INOUT,
- t, BT_UNKNOWN, 0, REQUIRED, INTENT_OUT);
+ add_sym_4s ("move_alloc", GFC_ISYM_MOVE_ALLOC, CLASS_PURE, BT_UNKNOWN, 0,
+ GFC_STD_F2003, gfc_check_move_alloc, NULL, NULL, f, BT_UNKNOWN, 0,
+ REQUIRED, INTENT_INOUT, t, BT_UNKNOWN, 0, REQUIRED, INTENT_OUT,
+ stat, BT_INTEGER, di, OPTIONAL, INTENT_OUT, errmsg, BT_CHARACTER,
+ dc, OPTIONAL, INTENT_INOUT);
add_sym_5s ("mvbits", GFC_ISYM_MVBITS, CLASS_ELEMENTAL, BT_UNKNOWN, 0,
GFC_STD_F95, gfc_check_mvbits, NULL, gfc_resolve_mvbits,
@@ -4956,6 +4956,9 @@ check_specific (gfc_intrinsic_sym *specific, gfc_expr *expr, int error_flag)
else if (specific->check.f3red == gfc_check_transf_bit_intrins)
/* Same as for PRODUCT and SUM, but different checks. */
t = gfc_check_transf_bit_intrins (*ap);
+ else if (specific->check.f3red == gfc_check_this_image)
+ /* May need to reassign arguments. */
+ t = gfc_check_this_image (*ap);
else
{
if (specific->check.f1 == NULL)
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index fec1c24..767792c 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -132,7 +132,7 @@ bool gfc_check_nearest (gfc_expr *, gfc_expr *);
bool gfc_check_new_line (gfc_expr *);
bool gfc_check_norm2 (gfc_expr *, gfc_expr *);
bool gfc_check_null (gfc_expr *);
-bool gfc_check_num_images (gfc_expr *, gfc_expr *);
+bool gfc_check_num_images (gfc_expr *);
bool gfc_check_out_of_range (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_parity (gfc_expr *, gfc_expr *);
@@ -208,7 +208,8 @@ bool gfc_check_fstat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_gerror (gfc_expr *);
bool gfc_check_getarg (gfc_expr *, gfc_expr *);
bool gfc_check_getlog (gfc_expr *);
-bool gfc_check_move_alloc (gfc_expr *, gfc_expr *);
+bool gfc_check_move_alloc (gfc_expr *, gfc_expr *, gfc_expr *stat,
+ gfc_expr *errmsg);
bool gfc_check_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
gfc_expr *);
bool gfc_check_random_init (gfc_expr *, gfc_expr *);
@@ -221,7 +222,7 @@ bool gfc_check_fseek_sub (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_ftell_sub (gfc_expr *, gfc_expr *);
bool gfc_check_getcwd_sub (gfc_expr *, gfc_expr *);
bool gfc_check_hostnm_sub (gfc_expr *, gfc_expr *);
-bool gfc_check_image_index (gfc_expr *, gfc_expr *);
+bool gfc_check_image_index (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_itime_idate (gfc_expr *);
bool gfc_check_kill_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_ltime_gmtime (gfc_expr *, gfc_expr *);
@@ -233,7 +234,7 @@ bool gfc_check_signal_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_sleep_sub (gfc_expr *);
bool gfc_check_stat_sub (gfc_expr *, gfc_expr *, gfc_expr *);
bool gfc_check_system_sub (gfc_expr *, gfc_expr *);
-bool gfc_check_this_image (gfc_expr *, gfc_expr *, gfc_expr *);
+bool gfc_check_this_image (gfc_actual_arglist *);
bool gfc_check_ttynam_sub (gfc_expr *, gfc_expr *);
bool gfc_check_umask_sub (gfc_expr *, gfc_expr *);
bool gfc_check_unlink_sub (gfc_expr *, gfc_expr *);
@@ -327,7 +328,7 @@ gfc_expr *gfc_simplify_ibits (gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_ibset (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_ichar (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_ieor (gfc_expr *, gfc_expr *);
-gfc_expr *gfc_simplify_image_index (gfc_expr *, gfc_expr *);
+gfc_expr *gfc_simplify_image_index (gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_image_status (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_int (gfc_expr *, gfc_expr *);
@@ -382,7 +383,7 @@ gfc_expr *gfc_simplify_new_line (gfc_expr *);
gfc_expr *gfc_simplify_nint (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_norm2 (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_null (gfc_expr *);
-gfc_expr *gfc_simplify_num_images (gfc_expr *, gfc_expr *);
+gfc_expr *gfc_simplify_num_images (gfc_expr *);
gfc_expr *gfc_simplify_idnint (gfc_expr *);
gfc_expr *gfc_simplify_not (gfc_expr *);
gfc_expr *gfc_simplify_or (gfc_expr *, gfc_expr *);
@@ -478,6 +479,7 @@ void gfc_resolve_bessel_n2 (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *a);
void gfc_resolve_btest (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_c_loc (gfc_expr *, gfc_expr *);
void gfc_resolve_c_funloc (gfc_expr *, gfc_expr *);
+void gfc_resolve_get_team (gfc_expr *, gfc_expr *);
void gfc_resolve_ceiling (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_char (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_chdir (gfc_expr *, gfc_expr *);
@@ -522,7 +524,6 @@ void gfc_resolve_gamma (gfc_expr *, gfc_expr *);
void gfc_resolve_getcwd (gfc_expr *, gfc_expr *);
void gfc_resolve_getgid (gfc_expr *);
void gfc_resolve_getpid (gfc_expr *);
-void gfc_resolve_get_team (gfc_expr *, gfc_expr *);
void gfc_resolve_getuid (gfc_expr *);
void gfc_resolve_hostnm (gfc_expr *, gfc_expr *);
void gfc_resolve_hypot (gfc_expr *, gfc_expr *, gfc_expr *);
@@ -530,7 +531,7 @@ void gfc_resolve_iand (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_ibclr (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_ibits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_ibset (gfc_expr *, gfc_expr *, gfc_expr *);
-void gfc_resolve_image_index (gfc_expr *, gfc_expr *, gfc_expr *);
+void gfc_resolve_image_index (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_image_status (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_index_func (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
gfc_expr *);
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 8c160e5..3a105bc 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -170,6 +170,7 @@ Some basic guidelines for editing this document:
* @code{GETGID}: GETGID, Group ID function
* @code{GETLOG}: GETLOG, Get login name
* @code{GETPID}: GETPID, Process ID function
+* @code{GET_TEAM}: GET_TEAM, Get the handle of a team
* @code{GETUID}: GETUID, User ID function
* @code{GMTIME}: GMTIME, Convert time to GMT info
* @code{HOSTNM}: HOSTNM, Get system host name
@@ -311,6 +312,7 @@ Some basic guidelines for editing this document:
* @code{TAN}: TAN, Tangent function
* @code{TAND}: TAND, Tangent function, degrees
* @code{TANH}: TANH, Hyperbolic tangent function
+* @code{TEAM_NUMBER}: TEAM_NUMBER, Retrieve team id of given team
* @code{THIS_IMAGE}: THIS_IMAGE, Cosubscript index of this image
* @code{TIME}: TIME, Time function
* @code{TIME8}: TIME8, Time function (64-bit)
@@ -7336,6 +7338,59 @@ GNU extension
+@node GET_TEAM
+@section @code{GET_TEAM} --- Get the handle of a team
+@fnindex GET_TEAM
+@cindex coarray, @code{GET_TEAM}
+@cindex images, get a handle to a team
+
+@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GET_TEAM([LEVEL])}
+
+@item @emph{Description}:
+Returns the handle of the current team, if @var{LEVEL} is not given. Or the
+team specified by @var{LEVEL}, where @var{LEVEL} is one of the constants
+@code{INITIAL_TEAM}, @code{PARENT_TEAM} or @code{CURRENT_TEAM} from the
+intrinsic module @code{ISO_FORTRAN_ENV}. Calling the function with
+@code{PARENT_TEAM} while being on the initial team, returns a handle to the
+initial team. This ensures that always a valid team is returned, given that
+team handles can neither be checked for validity nor compared with each other
+or null.
+
+@item @emph{Class}:
+Transformational function
+
+@item @emph{Return value}:
+An opaque handle of @code{TEAM_TYPE} from the intrinsic module
+@code{ISO_FORTRAN_ENV}.
+
+@item @emph{Example}:
+@smallexample
+program info
+ use, intrinsic :: iso_fortran_env
+ type(team_type) :: init, curr, par, nt
+
+ init = get_team()
+ curr = get_team(current_team) ! init equals curr here
+ form team(1, nt)
+ change team(nt)
+ curr = get_team() ! or get_team(current_team)
+ par = get_team(parent_team) ! par equals init here
+ end team
+end program info
+@end smallexample
+
+@item @emph{Standard}:
+Fortran 2018 or later
+
+@item @emph{See also}:
+@ref{THIS_IMAGE}, @*
+@ref{ISO_FORTRAN_ENV}
+@end table
+
+
+
@node GETUID
@section @code{GETUID} --- User ID function
@fnindex GETUID
@@ -11372,47 +11427,48 @@ Fortran 95 and later
@table @asis
@item @emph{Synopsis}:
-@code{RESULT = NUM_IMAGES(DISTANCE, FAILED)}
+@multitable @columnfractions .80
+@item @code{RESULT = NUM_IMAGES([TEAM])}
+@item @code{RESULT = NUM_IMAGES(TEAM_NUMBER)}
+@end multitable
@item @emph{Description}:
-Returns the number of images.
+Returns the number of images in the current team or the given team.
@item @emph{Class}:
Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
-@item @var{FAILED} @tab (optional, intent(in)) Scalar logical expression
+@item @var{TEAM} @tab (optional, intent(in)) If present, return the number of
+images in the given team; if absent, return the number of images in the
+current team.
+@item @var{TEAM_NUMBER} @tab (intent(in)) The number as given in the
+@code{FORM TEAM} statement.
@end multitable
@item @emph{Return value}:
-Scalar default-kind integer. If @var{DISTANCE} is not present or has value 0,
-the number of images in the current team is returned. For values smaller or
-equal distance to the initial team, it returns the number of images index
-on the ancestor team that has a distance of @var{DISTANCE} from the invoking
-team. If @var{DISTANCE} is larger than the distance to the initial team, the
-number of images of the initial team is returned. If @var{FAILED} is not present
-the total number of images is returned; if it has the value @code{.TRUE.},
-the number of failed images is returned, otherwise, the number of images that
-do have not the failed status.
+Scalar default-kind integer. Can be called without any arguments or a team
+type argument or a team_number argument.
@item @emph{Example}:
@smallexample
+use, intrinsic :: iso_fortran_env
INTEGER :: value[*]
INTEGER :: i
-value = THIS_IMAGE()
-SYNC ALL
-IF (THIS_IMAGE() == 1) THEN
- DO i = 1, NUM_IMAGES()
- WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i]
- END DO
-END IF
+type(team_type) :: t
+
+! When running with 4 images
+print *, num_images() ! 4
+
+form team (mod(this_image(), 2), t)
+print *, num_images(t) ! 2
+print *, num_images(-1) ! 4
@end smallexample
@item @emph{Standard}:
-Fortran 2008 and later. With @var{DISTANCE} or @var{FAILED} argument,
-Technical Specification (TS) 18508 or later
+Fortran 2008 and later. With @var{TEAM} or @var{TEAM_NUMBER} argument,
+Fortran 2018 and later.
@item @emph{See also}:
@ref{THIS_IMAGE}, @*
@@ -14467,6 +14523,54 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
+@node TEAM_NUMBER
+@section @code{TEAM_NUMBER} --- Retrieve team id of given team
+@fnindex TEAM_NUMBER
+@cindex coarray, @code{TEAM_NUMBER}
+@cindex teams, index of given team
+
+@table @asis
+@item @emph{Synopsis}:
+@item @code{RESULT = TEAM_NUMBER([TEAM])}
+
+@item @emph{Description}:
+Returns the team id for the given @var{TEAM} as assigned by @code{FORM TEAM}.
+If @var{TEAM} is absent, returns the team number of the current team.
+
+@item @emph{Class}:
+Transformational function
+
+@item @emph{Arguments}:
+@multitable @columnfractions .15 .70
+@item @var{TEAM} @tab (optional, intent(in)) The handle of the team for which
+the number, aka id, is desired.
+@end multitable
+
+@item @emph{Return value}:
+Default integer. The id as given in a call @code{FORM TEAM}. Applying
+@code{TEAM_NUMBER} to the initial team will result in @code{-1} to be returned.
+Returns the id of the current team, if @var{TEAM} is null.
+
+@item @emph{Example}:
+@smallexample
+use, intrinsic :: iso_fortran_env
+type(team_type) :: t
+
+print *, team_number() ! -1
+form team (99, t)
+print *, team_number(t) ! 99
+@end smallexample
+
+@item @emph{Standard}:
+Fortran 2018 and later.
+
+@item @emph{See also}:
+@ref{GET_TEAM}, @*
+@ref{TEAM_NUMBER}
+@end table
+
+
+
@node THIS_IMAGE
@section @code{THIS_IMAGE} --- Function that returns the cosubscript index of this image
@fnindex THIS_IMAGE
@@ -14476,9 +14580,8 @@ Fortran 77 and later, for a complex argument Fortran 2008 or later
@table @asis
@item @emph{Synopsis}:
@multitable @columnfractions .80
-@item @code{RESULT = THIS_IMAGE()}
-@item @code{RESULT = THIS_IMAGE(DISTANCE)}
-@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM])}
+@item @code{RESULT = THIS_IMAGE([TEAM])}
+@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM][, TEAM])}
@end multitable
@item @emph{Description}:
@@ -14489,8 +14592,8 @@ Transformational function
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
-(not permitted together with @var{COARRAY}).
+@item @var{TEAM} @tab (optional, intent(in)) The team for which the index of
+this image is desired. The current team is used, when no team is given.
@item @var{COARRAY} @tab Coarray of any type (optional; if @var{DIM}
present, required).
@item @var{DIM} @tab default integer scalar (optional). If present,
@@ -14499,16 +14602,16 @@ present, required).
@item @emph{Return value}:
Default integer. If @var{COARRAY} is not present, it is scalar; if
-@var{DISTANCE} is not present or has value 0, its value is the image index on
-the invoking image for the current team, for values smaller or equal
-distance to the initial team, it returns the image index on the ancestor team
-that has a distance of @var{DISTANCE} from the invoking team. If
-@var{DISTANCE} is larger than the distance to the initial team, the image
-index of the initial team is returned. Otherwise when the @var{COARRAY} is
+@var{TEAM} is not present, its value is the image index on the invoking image
+for the current team; if @var{TEAM} is present, returns the image index of
+the invoking image as given to the @code{FORM TEAM (..., NEW_INDEX=..)} call,
+or a implementation specific unique number, when @code{NEW_INDEX=} was absent
+from @code{FORM TEAM}. Otherwise when the @var{COARRAY} is
present, if @var{DIM} is not present, a rank-1 array with corank elements is
returned, containing the cosubscripts for @var{COARRAY} specifying the invoking
-image. If @var{DIM} is present, a scalar is returned, with the value of
-the @var{DIM} element of @code{THIS_IMAGE(COARRAY)}.
+image (in the team when @var{TEAM} is present). If @var{DIM} is present, a
+scalar is returned, with the value of the @var{DIM} element of
+@code{THIS_IMAGE(COARRAY)}.
@item @emph{Example}:
@smallexample
@@ -14523,13 +14626,12 @@ IF (THIS_IMAGE() == 1) THEN
END IF
! Check whether the current image is the initial image
-IF (THIS_IMAGE(HUGE(1)) /= THIS_IMAGE())
+IF (THIS_IMAGE(GET_TEAM(INITIAL_TEAM)) /= THIS_IMAGE())
error stop "something is rotten here"
@end smallexample
@item @emph{Standard}:
-Fortran 2008 and later. With @var{DISTANCE} argument,
-Technical Specification (TS) 18508 or later
+Fortran 2008 and later. With @var{TEAM} argument, Fortran 2018 or later
@item @emph{See also}:
@ref{NUM_IMAGES}, @*
@@ -15354,12 +15456,18 @@ parameters of the @code{CHARACTER} type. (Fortran 2008 or later.)
@item @code{CHARACTER_STORAGE_SIZE}:
Size in bits of the character storage unit.
+@item @code{CURRENT_TEAM}:
+The argument to @ref{GET_TEAM} to retrieve a handle of the current team.
+
@item @code{ERROR_UNIT}:
Identifies the preconnected unit used for error reporting.
@item @code{FILE_STORAGE_SIZE}:
Size in bits of the file-storage unit.
+@item @code{INTIAL_TEAM}:
+Argument to @ref{GET_TEAM} to retrieve a handle of the initial team.
+
@item @code{INPUT_UNIT}:
Identifies the preconnected unit identified by the asterisk
(@code{*}) in @code{READ} statement.
@@ -15397,6 +15505,9 @@ parameters of the @code{LOGICAL} type. (Fortran 2008 or later.)
Identifies the preconnected unit identified by the asterisk
(@code{*}) in @code{WRITE} statement.
+@item @code{PARENT_TEAM}:
+Argument to @ref{GET_TEAM} to retrieve a handle to the parent team.
+
@item @code{REAL32}, @code{REAL64}, @code{REAL128}:
Kind type parameters to specify a REAL type with a storage
size of 32, 64, and 128 bits. It is negative if a target platform
@@ -15445,6 +15556,10 @@ Derived type with private components to be use with the @code{LOCK} and
@code{UNLOCK} statement. A variable of its type has to be always declared
as coarray and may not appear in a variable-definition context.
(Fortran 2008 or later.)
+@item @code{TEAM_TYPE}:
+An opaque type for handling teams. Note that a variable of type
+@code{TEAM_TYPE} is not comparable with other variables of the same or other
+types nor with null.
@end table
The module also provides the following intrinsic procedures:
diff --git a/gcc/fortran/iresolve.cc b/gcc/fortran/iresolve.cc
index 858ffb1..6930e2c 100644
--- a/gcc/fortran/iresolve.cc
+++ b/gcc/fortran/iresolve.cc
@@ -3209,17 +3209,28 @@ gfc_resolve_get_team (gfc_expr *f, gfc_expr *level ATTRIBUTE_UNUSED)
{
static char get_team[] = "_gfortran_caf_get_team";
f->rank = 0;
- f->ts.type = BT_INTEGER;
- f->ts.kind = gfc_default_integer_kind;
+ f->ts.type = BT_DERIVED;
+ gfc_find_symbol ("team_type", gfc_current_ns, 1, &f->ts.u.derived);
+ if (!f->ts.u.derived
+ || f->ts.u.derived->from_intmod != INTMOD_ISO_FORTRAN_ENV)
+ {
+ gfc_error (
+ "GET_TEAM at %L needs USE of the intrinsic module ISO_FORTRAN_ENV "
+ "to define its result type TEAM_TYPE",
+ &f->where);
+ f->ts.type = BT_UNKNOWN;
+ }
f->value.function.name = get_team;
-}
+ /* No requirements to resolve for level argument now. */
+}
/* Resolve image_index (...). */
void
gfc_resolve_image_index (gfc_expr *f, gfc_expr *array ATTRIBUTE_UNUSED,
- gfc_expr *sub ATTRIBUTE_UNUSED)
+ gfc_expr *sub ATTRIBUTE_UNUSED,
+ gfc_expr *team_or_team_number ATTRIBUTE_UNUSED)
{
static char image_index[] = "__image_index";
f->ts.type = BT_INTEGER;
@@ -3248,31 +3259,46 @@ gfc_resolve_stopped_images (gfc_expr *f, gfc_expr *team ATTRIBUTE_UNUSED,
/* Resolve team_number (team). */
void
-gfc_resolve_team_number (gfc_expr *f, gfc_expr *team ATTRIBUTE_UNUSED)
+gfc_resolve_team_number (gfc_expr *f, gfc_expr *team)
{
static char team_number[] = "_gfortran_caf_team_number";
f->rank = 0;
f->ts.type = BT_INTEGER;
f->ts.kind = gfc_default_integer_kind;
f->value.function.name = team_number;
-}
+ if (team)
+ gfc_resolve_expr (team);
+}
void
-gfc_resolve_this_image (gfc_expr *f, gfc_expr *array, gfc_expr *dim,
- gfc_expr *distance ATTRIBUTE_UNUSED)
+gfc_resolve_this_image (gfc_expr *f, gfc_expr *coarray, gfc_expr *dim,
+ gfc_expr *team)
{
static char this_image[] = "__this_image";
- if (array && gfc_is_coarray (array))
- resolve_bound (f, array, dim, NULL, "__this_image", true);
+ if (coarray && dim)
+ resolve_bound (f, coarray, dim, NULL, this_image, true);
+ else if (coarray)
+ {
+ f->ts.type = BT_INTEGER;
+ f->ts.kind = gfc_default_integer_kind;
+ f->value.function.name = this_image;
+ if (f->shape && f->rank != 1)
+ gfc_free_shape (&f->shape, f->rank);
+ f->rank = 1;
+ f->shape = gfc_get_shape (1);
+ mpz_init_set_ui (f->shape[0], coarray->corank);
+ }
else
{
f->ts.type = BT_INTEGER;
f->ts.kind = gfc_default_integer_kind;
f->value.function.name = this_image;
}
-}
+ if (team)
+ gfc_resolve_expr (team);
+}
void
gfc_resolve_time (gfc_expr *f)
diff --git a/gcc/fortran/iso-fortran-env.def b/gcc/fortran/iso-fortran-env.def
index b8926f4..250a730 100644
--- a/gcc/fortran/iso-fortran-env.def
+++ b/gcc/fortran/iso-fortran-env.def
@@ -83,17 +83,23 @@ NAMED_INTCST (ISOFORTRANENV_REAL64, "real64", \
gfc_get_real_kind_from_width_isofortranenv (64), GFC_STD_F2008)
NAMED_INTCST (ISOFORTRANENV_REAL128, "real128", \
gfc_get_real_kind_from_width_isofortranenv (128), GFC_STD_F2008)
-NAMED_INTCST (ISOFORTRANENV_FILE_STAT_LOCKED, "stat_locked", \
+NAMED_INTCST (ISOFORTRANENV_STAT_LOCKED, "stat_locked", \
GFC_STAT_LOCKED, GFC_STD_F2008)
-NAMED_INTCST (ISOFORTRANENV_FILE_STAT_LOCKED_OTHER_IMAGE, \
+NAMED_INTCST (ISOFORTRANENV_STAT_LOCKED_OTHER_IMAGE, \
"stat_locked_other_image", \
GFC_STAT_LOCKED_OTHER_IMAGE, GFC_STD_F2008)
-NAMED_INTCST (ISOFORTRANENV_FILE_STAT_STOPPED_IMAGE, "stat_stopped_image", \
- GFC_STAT_STOPPED_IMAGE, GFC_STD_F2008)
-NAMED_INTCST (ISOFORTRANENV_FILE_STAT_FAILED_IMAGE, "stat_failed_image", \
- GFC_STAT_FAILED_IMAGE, GFC_STD_F2018)
-NAMED_INTCST (ISOFORTRANENV_FILE_STAT_UNLOCKED, "stat_unlocked", \
- GFC_STAT_UNLOCKED, GFC_STD_F2008)
+NAMED_INTCST (ISOFORTRANENV_STAT_STOPPED_IMAGE, "stat_stopped_image", \
+ GFC_STAT_STOPPED_IMAGE, GFC_STD_F2008)
+NAMED_INTCST (ISOFORTRANENV_STAT_FAILED_IMAGE, "stat_failed_image", \
+ GFC_STAT_FAILED_IMAGE, GFC_STD_F2018)
+NAMED_INTCST (ISOFORTRANENV_STAT_UNLOCKED, "stat_unlocked", \
+ GFC_STAT_UNLOCKED, GFC_STD_F2008)
+NAMED_INTCST (ISOFORTRANENV_INITIAL_TEAM, "initial_team", \
+ GFC_CAF_INITIAL_TEAM, GFC_STD_F2018)
+NAMED_INTCST (ISOFORTRANENV_PARENT_TEAM, "parent_team", \
+ GFC_CAF_PARENT_TEAM, GFC_STD_F2018)
+NAMED_INTCST (ISOFORTRANENV_CURRENT_TEAM, "current_team", \
+ GFC_CAF_CURRENT_TEAM, GFC_STD_F2018)
/* The arguments to NAMED_KINDARRAY are:
@@ -134,9 +140,7 @@ NAMED_DERIVED_TYPE (ISOFORTRAN_EVENT_TYPE, "event_type", \
: gfc_default_integer_kind, GFC_STD_F2018)
NAMED_DERIVED_TYPE (ISOFORTRAN_TEAM_TYPE, "team_type", \
- flag_coarray == GFC_FCOARRAY_LIB
- ? get_int_kind_from_node (ptr_type_node)
- : gfc_default_integer_kind, GFC_STD_F2018)
+ get_int_kind_from_node (ptr_type_node), GFC_STD_F2018)
NAMED_INTCST (ISOFORTRANENV_LOGICAL8, "logical8", \
gfc_get_int_kind_from_width_isofortranenv (8), GFC_STD_F2023)
diff --git a/gcc/fortran/libgfortran.h b/gcc/fortran/libgfortran.h
index 9565365..9de5afb 100644
--- a/gcc/fortran/libgfortran.h
+++ b/gcc/fortran/libgfortran.h
@@ -154,12 +154,20 @@ typedef enum
GFC_STAT_LOCKED,
GFC_STAT_LOCKED_OTHER_IMAGE,
GFC_STAT_STOPPED_IMAGE = 6000, /* See LIBERROR_INQUIRE_INTERNAL_UNIT above. */
- GFC_STAT_FAILED_IMAGE = 6001
+ GFC_STAT_FAILED_IMAGE = 6001,
+ GFC_STAT_UNLOCKED_FAILED_IMAGE = 6002
}
libgfortran_stat_codes;
typedef enum
{
+ GFC_CAF_INITIAL_TEAM = 0,
+ GFC_CAF_PARENT_TEAM,
+ GFC_CAF_CURRENT_TEAM
+} libgfortran_team_levels;
+
+typedef enum
+{
GFC_CAF_ATOMIC_ADD = 1,
GFC_CAF_ATOMIC_AND,
GFC_CAF_ATOMIC_OR,
diff --git a/gcc/fortran/match.cc b/gcc/fortran/match.cc
index ec9e587..474ba81 100644
--- a/gcc/fortran/match.cc
+++ b/gcc/fortran/match.cc
@@ -1814,12 +1814,53 @@ gfc_free_iterator (gfc_iterator *iter, int flag)
free (iter);
}
+static match
+match_named_arg (const char *pat, const char *name, gfc_expr **e,
+ gfc_statement st_code)
+{
+ match m;
+ gfc_expr *tmp;
+
+ m = gfc_match (pat, &tmp);
+ if (m == MATCH_ERROR)
+ {
+ gfc_syntax_error (st_code);
+ return m;
+ }
+ if (m == MATCH_YES)
+ {
+ if (*e)
+ {
+ gfc_error ("Duplicate %s attribute in %C", name);
+ gfc_free_expr (tmp);
+ return MATCH_ERROR;
+ }
+ *e = tmp;
+
+ return MATCH_YES;
+ }
+ return MATCH_NO;
+}
+
+static match
+match_stat_errmsg (struct sync_stat *sync_stat, gfc_statement st_code)
+{
+ match m;
+
+ m = match_named_arg (" stat = %v", "STAT", &sync_stat->stat, st_code);
+ if (m != MATCH_NO)
+ return m;
+
+ m = match_named_arg (" errmsg = %v", "ERRMSG", &sync_stat->errmsg, st_code);
+ return m;
+}
/* Match a CRITICAL statement. */
match
gfc_match_critical (void)
{
gfc_st_label *label = NULL;
+ match m;
if (gfc_match_label () == MATCH_ERROR)
return MATCH_ERROR;
@@ -1830,12 +1871,29 @@ gfc_match_critical (void)
if (gfc_match_st_label (&label) == MATCH_ERROR)
return MATCH_ERROR;
- if (gfc_match_eos () != MATCH_YES)
+ if (gfc_match_eos () == MATCH_YES)
+ goto done;
+
+ if (gfc_match_char ('(') != MATCH_YES)
+ goto syntax;
+
+ for (;;)
{
- gfc_syntax_error (ST_CRITICAL);
- return MATCH_ERROR;
+ m = match_stat_errmsg (&new_st.ext.sync_stat, ST_CRITICAL);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+
+ if (gfc_match_char (',') == MATCH_YES)
+ continue;
+
+ break;
}
+ if (gfc_match (" )%t") != MATCH_YES)
+ goto syntax;
+
+done:
+
if (gfc_pure (NULL))
{
gfc_error ("Image control statement CRITICAL at %C in PURE procedure");
@@ -1856,9 +1914,9 @@ gfc_match_critical (void)
if (flag_coarray == GFC_FCOARRAY_NONE)
{
- gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to "
- "enable");
- return MATCH_ERROR;
+ gfc_fatal_error ("Coarrays disabled at %C, use %<-fcoarray=%> to "
+ "enable");
+ return MATCH_ERROR;
}
if (gfc_find_state (COMP_CRITICAL))
@@ -1869,13 +1927,21 @@ gfc_match_critical (void)
new_st.op = EXEC_CRITICAL;
- if (label != NULL
- && !gfc_reference_st_label (label, ST_LABEL_TARGET))
- return MATCH_ERROR;
+ if (label != NULL && !gfc_reference_st_label (label, ST_LABEL_TARGET))
+ goto cleanup;
return MATCH_YES;
-}
+syntax:
+ gfc_syntax_error (ST_CRITICAL);
+
+cleanup:
+ gfc_free_expr (new_st.ext.sync_stat.stat);
+ gfc_free_expr (new_st.ext.sync_stat.errmsg);
+ new_st.ext.sync_stat = {NULL, NULL};
+
+ return MATCH_ERROR;
+}
/* Match a BLOCK statement. */
@@ -1900,29 +1966,29 @@ gfc_match_block (void)
return MATCH_YES;
}
-
-/* Match an ASSOCIATE statement. */
-
-match
-gfc_match_associate (void)
+bool
+check_coarray_assoc (const char *name, gfc_association_list *assoc)
{
- if (gfc_match_label () == MATCH_ERROR)
- return MATCH_ERROR;
-
- if (gfc_match (" associate") != MATCH_YES)
- return MATCH_NO;
-
- /* Match the association list. */
- if (gfc_match_char ('(') != MATCH_YES)
+ if (assoc->target->expr_type == EXPR_VARIABLE
+ && !strcmp (assoc->target->symtree->name, name))
{
- gfc_error ("Expected association list at %C");
- return MATCH_ERROR;
+ gfc_error ("Codimension decl name %qs in association at %L "
+ "must not be the same as a selector",
+ name, &assoc->where);
+ return false;
}
+ return true;
+}
+
+match
+match_association_list (bool for_change_team = false)
+{
new_st.ext.block.assoc = NULL;
while (true)
{
- gfc_association_list* newAssoc = gfc_get_association_list ();
- gfc_association_list* a;
+ gfc_association_list *newAssoc = gfc_get_association_list ();
+ gfc_association_list *a;
+ locus pre_name = gfc_current_locus;
/* Match the next association. */
if (gfc_match (" %n ", newAssoc->name) != MATCH_YES)
@@ -1932,7 +1998,7 @@ gfc_match_associate (void)
}
/* Required for an assumed rank target. */
- if (gfc_peek_char () == '(')
+ if (!for_change_team && gfc_peek_char () == '(')
{
newAssoc->ar = gfc_get_array_ref ();
if (gfc_match_array_ref (newAssoc->ar, NULL, 0, 0) != MATCH_YES)
@@ -1946,26 +2012,53 @@ gfc_match_associate (void)
gfc_error_now ("The bounds remapping list at %C is an experimental "
"F202y feature. Use std=f202y to enable");
+ if (for_change_team && gfc_peek_char () == '[')
+ {
+ if (!newAssoc->ar)
+ newAssoc->ar = gfc_get_array_ref ();
+ if (gfc_match_array_spec (&newAssoc->ar->as, false, true)
+ == MATCH_ERROR)
+ goto assocListError;
+ }
+
/* Match the next association. */
if (gfc_match (" =>", newAssoc->name) != MATCH_YES)
{
- gfc_error ("Expected association at %C");
- goto assocListError;
+ if (for_change_team)
+ gfc_current_locus = pre_name;
+
+ free (newAssoc);
+ return MATCH_NO;
}
- if (gfc_match (" %e", &newAssoc->target) != MATCH_YES)
+ if (!for_change_team)
{
- /* Have another go, allowing for procedure pointer selectors. */
- gfc_matching_procptr_assignment = 1;
if (gfc_match (" %e", &newAssoc->target) != MATCH_YES)
{
+ /* Have another go, allowing for procedure pointer selectors. */
+ gfc_matching_procptr_assignment = 1;
+ if (gfc_match (" %e", &newAssoc->target) != MATCH_YES)
+ {
+ gfc_matching_procptr_assignment = 0;
+ gfc_error ("Invalid association target at %C");
+ goto assocListError;
+ }
gfc_matching_procptr_assignment = 0;
- gfc_error ("Invalid association target at %C");
+ }
+ newAssoc->where = gfc_current_locus;
+ }
+ else
+ {
+ newAssoc->where = gfc_current_locus;
+ /* F2018, C1116: A selector in a coarray-association shall be a named
+ coarray. */
+ if (gfc_match (" %v", &newAssoc->target) != MATCH_YES)
+ {
+ gfc_error ("Selector in coarray association as %C shall be a "
+ "named coarray");
goto assocListError;
}
- gfc_matching_procptr_assignment = 0;
}
- newAssoc->where = gfc_current_locus;
/* Check that the current name is not yet in the list. */
for (a = new_st.ext.block.assoc; a; a = a->next)
@@ -1976,6 +2069,35 @@ gfc_match_associate (void)
goto assocListError;
}
+ if (for_change_team)
+ {
+ /* F2018, C1113: In a change-team-stmt, a coarray-name in a
+ codimension-decl shall not be the same as a selector, or another
+ coarray-name, in that statement.
+ The latter is already checked for above. So check only the
+ former.
+ */
+ if (!check_coarray_assoc (newAssoc->name, newAssoc))
+ goto assocListError;
+
+ for (a = new_st.ext.block.assoc; a; a = a->next)
+ {
+ if (!check_coarray_assoc (newAssoc->name, a)
+ || !check_coarray_assoc (a->name, newAssoc))
+ goto assocListError;
+
+ /* F2018, C1115: No selector shall appear more than once in a
+ * given change-team-stmt. */
+ if (!strcmp (newAssoc->target->symtree->name,
+ a->target->symtree->name))
+ {
+ gfc_error ("Selector at %L duplicates selector at %L",
+ &newAssoc->target->where, &a->target->where);
+ goto assocListError;
+ }
+ }
+ }
+
/* The target expression must not be coindexed. */
if (gfc_is_coindexed (newAssoc->target))
{
@@ -2042,8 +2164,40 @@ gfc_match_associate (void)
assocListError:
free (newAssoc);
+ return MATCH_ERROR;
+ }
+
+ return MATCH_YES;
+}
+
+/* Match an ASSOCIATE statement. */
+
+match
+gfc_match_associate (void)
+{
+ match m;
+ if (gfc_match_label () == MATCH_ERROR)
+ return MATCH_ERROR;
+
+ if (gfc_match (" associate") != MATCH_YES)
+ return MATCH_NO;
+
+ /* Match the association list. */
+ if (gfc_match_char ('(') != MATCH_YES)
+ {
+ gfc_error ("Expected association list at %C");
+ return MATCH_ERROR;
+ }
+
+ m = match_association_list ();
+ if (m == MATCH_ERROR)
+ goto error;
+ else if (m == MATCH_NO)
+ {
+ gfc_error ("Expected association at %C");
goto error;
}
+
if (gfc_match_char (')') != MATCH_YES)
{
/* This should never happen as we peek above. */
@@ -3171,6 +3325,7 @@ match_exit_cycle (gfc_statement st, gfc_exec_op op)
case COMP_ASSOCIATE:
case COMP_BLOCK:
+ case COMP_CHANGE_TEAM:
case COMP_IF:
case COMP_SELECT:
case COMP_SELECT_TYPE:
@@ -3848,7 +4003,9 @@ match
gfc_match_form_team (void)
{
match m;
- gfc_expr *teamid,*team;
+ gfc_expr *teamid, *team, *new_index;
+
+ teamid = team = new_index = NULL;
if (!gfc_notify_std (GFC_STD_F2018, "FORM TEAM statement at %C"))
return MATCH_ERROR;
@@ -3866,18 +4023,61 @@ gfc_match_form_team (void)
if (gfc_match ("%e", &team) != MATCH_YES)
goto syntax;
- m = gfc_match_char (')');
+ m = gfc_match_char (',');
+ if (m == MATCH_ERROR)
+ goto syntax;
if (m == MATCH_NO)
+ {
+ m = gfc_match_char (')');
+ if (m == MATCH_YES)
+ goto done;
+ goto syntax;
+ }
+
+ for (;;)
+ {
+ m = match_stat_errmsg (&new_st.ext.sync_stat, ST_FORM_TEAM);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+
+ m = match_named_arg (" new_index = %e", "NEW_INDEX", &new_index,
+ ST_FORM_TEAM);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+
+ m = gfc_match_char (',');
+ if (m == MATCH_YES)
+ continue;
+
+ break;
+ }
+
+ if (m == MATCH_ERROR)
+ goto syntax;
+
+ if (gfc_match (" )%t") != MATCH_YES)
goto syntax;
+done:
+
new_st.expr1 = teamid;
new_st.expr2 = team;
+ new_st.expr3 = new_index;
return MATCH_YES;
syntax:
gfc_syntax_error (ST_FORM_TEAM);
+cleanup:
+ gfc_free_expr (new_index);
+ gfc_free_expr (new_st.ext.sync_stat.stat);
+ gfc_free_expr (new_st.ext.sync_stat.errmsg);
+ new_st.ext.sync_stat = {NULL, NULL};
+
+ gfc_free_expr (team);
+ gfc_free_expr (teamid);
+
return MATCH_ERROR;
}
@@ -3887,7 +4087,13 @@ match
gfc_match_change_team (void)
{
match m;
- gfc_expr *team;
+ gfc_expr *team = NULL;
+
+ if (gfc_match_label () == MATCH_ERROR)
+ return MATCH_ERROR;
+
+ if (gfc_match (" change% team") != MATCH_YES)
+ return MATCH_NO;
if (!gfc_notify_std (GFC_STD_F2018, "CHANGE TEAM statement at %C"))
return MATCH_ERROR;
@@ -3895,15 +4101,41 @@ gfc_match_change_team (void)
if (gfc_match_char ('(') == MATCH_NO)
goto syntax;
- new_st.op = EXEC_CHANGE_TEAM;
-
if (gfc_match ("%e", &team) != MATCH_YES)
goto syntax;
- m = gfc_match_char (')');
+ m = gfc_match_char (',');
+ if (m == MATCH_ERROR)
+ goto syntax;
if (m == MATCH_NO)
+ {
+ m = gfc_match_char (')');
+ if (m == MATCH_YES)
+ goto done;
+ goto syntax;
+ }
+
+ m = match_association_list (true);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+ else if (m == MATCH_NO)
+ for (;;)
+ {
+ m = match_stat_errmsg (&new_st.ext.block.sync_stat, ST_CHANGE_TEAM);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+
+ if (gfc_match_char (',') == MATCH_YES)
+ continue;
+
+ break;
+ }
+
+ if (gfc_match (" )%t") != MATCH_YES)
goto syntax;
+done:
+
new_st.expr1 = team;
return MATCH_YES;
@@ -3911,20 +4143,49 @@ gfc_match_change_team (void)
syntax:
gfc_syntax_error (ST_CHANGE_TEAM);
+cleanup:
+ gfc_free_expr (new_st.ext.block.sync_stat.stat);
+ gfc_free_expr (new_st.ext.block.sync_stat.errmsg);
+ new_st.ext.block.sync_stat = {NULL, NULL};
+ gfc_free_association_list (new_st.ext.block.assoc);
+ new_st.ext.block.assoc = NULL;
+ gfc_free_expr (team);
+
return MATCH_ERROR;
}
-/* Match a END TEAM statement. */
+/* Match an END TEAM statement. */
match
gfc_match_end_team (void)
{
- if (!gfc_notify_std (GFC_STD_F2018, "END TEAM statement at %C"))
- return MATCH_ERROR;
+ if (gfc_match_eos () == MATCH_YES)
+ goto done;
- if (gfc_match_char ('(') == MATCH_YES)
+ if (gfc_match_char ('(') != MATCH_YES)
+ {
+ /* There could be a team-construct-name following. Let caller decide
+ about error. */
+ new_st.op = EXEC_END_TEAM;
+ return MATCH_NO;
+ }
+
+ for (;;)
+ {
+ if (match_stat_errmsg (&new_st.ext.sync_stat, ST_END_TEAM) == MATCH_ERROR)
+ goto cleanup;
+
+ if (gfc_match_char (',') == MATCH_YES)
+ continue;
+
+ break;
+ }
+
+ if (gfc_match_char (')') != MATCH_YES)
goto syntax;
+done:
+
new_st.op = EXEC_END_TEAM;
return MATCH_YES;
@@ -3932,6 +4193,14 @@ gfc_match_end_team (void)
syntax:
gfc_syntax_error (ST_END_TEAM);
+cleanup:
+ gfc_free_expr (new_st.ext.sync_stat.stat);
+ gfc_free_expr (new_st.ext.sync_stat.errmsg);
+ new_st.ext.sync_stat = {NULL, NULL};
+
+ /* Try to match the closing bracket to allow error recovery. */
+ gfc_match_char (')');
+
return MATCH_ERROR;
}
@@ -3941,7 +4210,7 @@ match
gfc_match_sync_team (void)
{
match m;
- gfc_expr *team;
+ gfc_expr *team = NULL;
if (!gfc_notify_std (GFC_STD_F2018, "SYNC TEAM statement at %C"))
return MATCH_ERROR;
@@ -3954,10 +4223,34 @@ gfc_match_sync_team (void)
if (gfc_match ("%e", &team) != MATCH_YES)
goto syntax;
- m = gfc_match_char (')');
+ m = gfc_match_char (',');
+ if (m == MATCH_ERROR)
+ goto syntax;
if (m == MATCH_NO)
+ {
+ m = gfc_match_char (')');
+ if (m == MATCH_YES)
+ goto done;
+ goto syntax;
+ }
+
+ for (;;)
+ {
+ m = match_stat_errmsg (&new_st.ext.sync_stat, ST_SYNC_TEAM);
+ if (m == MATCH_ERROR)
+ goto cleanup;
+
+ if (gfc_match_char (',') == MATCH_YES)
+ continue;
+
+ break;
+ }
+
+ if (gfc_match (" )%t") != MATCH_YES)
goto syntax;
+done:
+
new_st.expr1 = team;
return MATCH_YES;
@@ -3965,6 +4258,13 @@ gfc_match_sync_team (void)
syntax:
gfc_syntax_error (ST_SYNC_TEAM);
+cleanup:
+ gfc_free_expr (new_st.ext.sync_stat.stat);
+ gfc_free_expr (new_st.ext.sync_stat.errmsg);
+ new_st.ext.sync_stat = {NULL, NULL};
+
+ gfc_free_expr (team);
+
return MATCH_ERROR;
}
@@ -5261,6 +5561,15 @@ gfc_match_return (void)
return MATCH_ERROR;
}
+ if (gfc_find_state (COMP_CHANGE_TEAM))
+ {
+ /* F2018, C1111: A RETURN statement shall not appear within a CHANGE TEAM
+ construct. */
+ gfc_error (
+ "Image control statement RETURN at %C in CHANGE TEAM-END TEAM block");
+ return MATCH_ERROR;
+ }
+
if (gfc_match_eos () == MATCH_YES)
goto done;
diff --git a/gcc/fortran/parse.cc b/gcc/fortran/parse.cc
index a95bb62..538eb65 100644
--- a/gcc/fortran/parse.cc
+++ b/gcc/fortran/parse.cc
@@ -488,6 +488,7 @@ decode_statement (void)
match (NULL, gfc_match_do, ST_DO);
match (NULL, gfc_match_block, ST_BLOCK);
match (NULL, gfc_match_associate, ST_ASSOCIATE);
+ match (NULL, gfc_match_change_team, ST_CHANGE_TEAM);
match (NULL, gfc_match_critical, ST_CRITICAL);
match (NULL, gfc_match_select, ST_SELECT_CASE);
match (NULL, gfc_match_select_type, ST_SELECT_TYPE);
@@ -517,7 +518,6 @@ decode_statement (void)
case 'c':
match ("call", gfc_match_call, ST_CALL);
- match ("change% team", gfc_match_change_team, ST_CHANGE_TEAM);
match ("close", gfc_match_close, ST_CLOSE);
match ("continue", gfc_match_continue, ST_CONTINUE);
match ("contiguous", gfc_match_contiguous, ST_ATTR_DECL);
@@ -537,7 +537,6 @@ decode_statement (void)
case 'e':
match ("end file", gfc_match_endfile, ST_END_FILE);
- match ("end team", gfc_match_end_team, ST_END_TEAM);
match ("exit", gfc_match_exit, ST_EXIT);
match ("else", gfc_match_else, ST_ELSE);
match ("else where", gfc_match_elsewhere, ST_ELSEWHERE);
@@ -1927,8 +1926,7 @@ next_statement (void)
case ST_OMP_INTEROP: \
case ST_ERROR_STOP: case ST_OMP_SCAN: case ST_SYNC_ALL: \
case ST_SYNC_IMAGES: case ST_SYNC_MEMORY: case ST_LOCK: case ST_UNLOCK: \
- case ST_FORM_TEAM: case ST_CHANGE_TEAM: \
- case ST_END_TEAM: case ST_SYNC_TEAM: \
+ case ST_FORM_TEAM: case ST_SYNC_TEAM: \
case ST_EVENT_POST: case ST_EVENT_WAIT: case ST_FAIL_IMAGE: \
case ST_OACC_UPDATE: case ST_OACC_WAIT: case ST_OACC_CACHE: \
case ST_OACC_ENTER_DATA: case ST_OACC_EXIT_DATA
@@ -2032,7 +2030,8 @@ next_statement (void)
#define case_end case ST_END_BLOCK_DATA: case ST_END_FUNCTION: \
case ST_END_PROGRAM: case ST_END_SUBROUTINE: \
- case ST_END_BLOCK: case ST_END_ASSOCIATE
+ case ST_END_BLOCK: case ST_END_ASSOCIATE: \
+ case ST_END_TEAM
/* Push a new state onto the stack. */
@@ -2164,6 +2163,7 @@ check_statement_label (gfc_statement st)
case ST_END_CRITICAL:
case ST_END_BLOCK:
case ST_END_ASSOCIATE:
+ case ST_END_TEAM:
case_executable:
case_exec_markers:
if (st == ST_ENDDO || st == ST_CONTINUE)
@@ -3199,6 +3199,8 @@ accept_statement (gfc_statement st)
case ST_ENTRY:
case ST_OMP_METADIRECTIVE:
case ST_OMP_BEGIN_METADIRECTIVE:
+ case ST_CHANGE_TEAM:
+ case ST_END_TEAM:
case_executable:
case_exec_markers:
add_statement ();
@@ -3383,6 +3385,8 @@ verify_st_order (st_state *p, gfc_statement st, bool silent)
goto order;
break;
+ case ST_CHANGE_TEAM:
+ case ST_END_TEAM:
case_executable:
case_exec_markers:
if (p->state < ORDER_EXEC)
@@ -5238,30 +5242,12 @@ parse_block_construct (void)
pop_state ();
}
-
-/* Parse an ASSOCIATE construct. This is essentially a BLOCK construct
- behind the scenes with compiler-generated variables. */
-
static void
-parse_associate (void)
+move_associates_to_block ()
{
- gfc_namespace* my_ns;
- gfc_state_data s;
- gfc_statement st;
- gfc_association_list* a;
+ gfc_association_list *a;
gfc_array_spec *as;
- gfc_notify_std (GFC_STD_F2003, "ASSOCIATE construct at %C");
-
- my_ns = gfc_build_block_ns (gfc_current_ns);
-
- new_st.op = EXEC_BLOCK;
- new_st.ext.block.ns = my_ns;
- gcc_assert (new_st.ext.block.assoc);
-
- /* Add all associate-names as BLOCK variables. Creating them is enough
- for now, they'll get their values during trans-* phase. */
- gfc_current_ns = my_ns;
for (a = new_st.ext.block.assoc; a; a = a->next)
{
gfc_symbol *sym, *tsym;
@@ -5298,26 +5284,23 @@ parse_associate (void)
/* 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
- variable.
- We do it here rather than later so that expressions referencing the
- associate variable will automatically have the correctly setup length
- information. If we did it at resolution stage the expressions would
- use the original length information, and the variable a new different
- one, but only the latter one would be correctly initialized at
- translation stage, and the former one would need some additional setup
- there. */
- if (sym->ts.type == BT_CHARACTER
- && sym->ts.u.cl
+ as we don’t want to touch some other character length variable
+ when we try to initialize the associate variable’s character
+ length variable. We do it here rather than later so that expressions
+ referencing the associate variable will automatically have the
+ correctly setup length information. If we did it at resolution stage
+ the expressions would use the original length information, and the
+ variable a new different one, but only the latter one would be
+ correctly initialized at translation stage, and the former one would
+ need some additional setup there. */
+ if (sym->ts.type == BT_CHARACTER && sym->ts.u.cl
&& !(sym->ts.u.cl->length
&& sym->ts.u.cl->length->expr_type == EXPR_CONSTANT))
sym->ts.u.cl = gfc_new_charlen (gfc_current_ns, NULL);
/* If the function has been parsed, go straight to the result to
obtain the expression rank. */
- if (target->expr_type == EXPR_FUNCTION
- && target->symtree
+ if (target->expr_type == EXPR_FUNCTION && target->symtree
&& target->symtree->n.sym)
{
tsym = target->symtree->n.sym;
@@ -5344,8 +5327,7 @@ parse_associate (void)
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 (!sym->assoc->inferred_type
- && target->ref && gfc_resolve_ref (target)
+ if (!sym->assoc->inferred_type && target->ref && gfc_resolve_ref (target)
&& target->expr_type != EXPR_ARRAY
&& target->expr_type != EXPR_COMPCALL)
gfc_expression_rank (target);
@@ -5353,13 +5335,12 @@ parse_associate (void)
/* 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. */
- if (target->expr_type == EXPR_FUNCTION
- && target->ts.type == BT_UNKNOWN)
+ 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);
+ gfc_current_ns->parent, 1, &derived);
if (derived && derived->attr.flavor == FL_DERIVED)
{
sym->ts.type = BT_DERIVED;
@@ -5394,7 +5375,7 @@ parse_associate (void)
attr.codimension = as->corank ? 1 : 0;
sym->assoc->variable = true;
}
- else if (rank || corank)
+ else if (rank || corank)
{
as = gfc_get_array_spec ();
as->type = AS_DEFERRED;
@@ -5449,6 +5430,30 @@ parse_associate (void)
}
gfc_commit_symbols ();
}
+}
+
+/* Parse an ASSOCIATE construct. This is essentially a BLOCK construct
+ behind the scenes with compiler-generated variables. */
+
+static void
+parse_associate (void)
+{
+ gfc_namespace* my_ns;
+ gfc_state_data s;
+ gfc_statement st;
+
+ gfc_notify_std (GFC_STD_F2003, "ASSOCIATE construct at %C");
+
+ my_ns = gfc_build_block_ns (gfc_current_ns);
+
+ new_st.op = EXEC_BLOCK;
+ new_st.ext.block.ns = my_ns;
+ gcc_assert (new_st.ext.block.assoc);
+
+ /* Add all associate-names as BLOCK variables. Creating them is enough
+ for now, they'll get their values during trans-* phase. */
+ gfc_current_ns = my_ns;
+ move_associates_to_block ();
accept_statement (ST_ASSOCIATE);
push_state (&s, COMP_ASSOCIATE, my_ns->proc_name);
@@ -5474,6 +5479,49 @@ loop:
pop_state ();
}
+static void
+parse_change_team (void)
+{
+ gfc_namespace *my_ns;
+ gfc_state_data s;
+ gfc_statement st;
+
+ gfc_notify_std (GFC_STD_F2018, "CHANGE TEAM construct at %C");
+
+ my_ns = gfc_build_block_ns (gfc_current_ns);
+
+ new_st.op = EXEC_CHANGE_TEAM;
+ new_st.ext.block.ns = my_ns;
+
+ /* Add all associate-names as BLOCK variables. Creating them is enough
+ for now, they'll get their values during trans-* phase. */
+ gfc_current_ns = my_ns;
+ if (new_st.ext.block.assoc)
+ move_associates_to_block ();
+
+ accept_statement (ST_CHANGE_TEAM);
+ push_state (&s, COMP_CHANGE_TEAM, my_ns->proc_name);
+
+loop:
+ st = parse_executable (ST_NONE);
+ switch (st)
+ {
+ case ST_NONE:
+ unexpected_eof ();
+
+ case_end:
+ accept_statement (st);
+ my_ns->code = gfc_state_stack->head;
+ break;
+
+ default:
+ unexpected_statement (st);
+ goto loop;
+ }
+
+ gfc_current_ns = gfc_current_ns->parent;
+ pop_state ();
+}
/* Parse a DO loop. Note that the ST_CYCLE and ST_EXIT statements are
handled inside of parse_executable(), because they aren't really
@@ -6576,6 +6624,7 @@ parse_executable (gfc_statement st)
case ST_STOP:
case ST_ERROR_STOP:
case ST_END_SUBROUTINE:
+ case ST_END_TEAM:
case ST_DO:
case ST_FORALL:
@@ -6615,6 +6664,10 @@ parse_executable (gfc_statement st)
parse_associate ();
break;
+ case ST_CHANGE_TEAM:
+ parse_change_team ();
+ break;
+
case ST_IF_BLOCK:
parse_if_block ();
break;
diff --git a/gcc/fortran/parse.h b/gcc/fortran/parse.h
index 722e94c..7bf0fa4 100644
--- a/gcc/fortran/parse.h
+++ b/gcc/fortran/parse.h
@@ -32,7 +32,7 @@ enum gfc_compile_state
COMP_DO, COMP_SELECT, COMP_FORALL, COMP_WHERE, COMP_CONTAINS, COMP_ENUM,
COMP_SELECT_TYPE, COMP_SELECT_RANK, COMP_OMP_STRUCTURED_BLOCK, COMP_CRITICAL,
COMP_DO_CONCURRENT, COMP_OMP_STRICTLY_STRUCTURED_BLOCK,
- COMP_OMP_METADIRECTIVE, COMP_OMP_BEGIN_METADIRECTIVE
+ COMP_OMP_METADIRECTIVE, COMP_OMP_BEGIN_METADIRECTIVE, COMP_CHANGE_TEAM
};
/* Stack element for the current compilation state. These structures
diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 2ecbd50..e51f83b 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -3260,14 +3260,30 @@ static bool check_pure_function (gfc_expr *e)
gfc_do_concurrent_flag = 0 when the check for an impure function
occurs. Check the stack to see if the source code has a nested
BLOCK construct. */
+
for (stack = cs_base; stack; stack = stack->prev)
{
- if (stack->current->op == EXEC_BLOCK) saw_block = true;
+ if (!saw_block && stack->current->op == EXEC_BLOCK)
+ {
+ saw_block = true;
+ continue;
+ }
+
if (saw_block && stack->current->op == EXEC_DO_CONCURRENT)
{
- gfc_error ("Reference to impure function at %L inside a "
- "DO CONCURRENT", &e->where);
- return false;
+ bool is_pure;
+ is_pure = (e->value.function.isym
+ && (e->value.function.isym->pure
+ || e->value.function.isym->elemental))
+ || (e->value.function.esym
+ && (e->value.function.esym->attr.pure
+ || e->value.function.esym->attr.elemental));
+ if (!is_pure)
+ {
+ gfc_error ("Reference to impure function at %L inside a "
+ "DO CONCURRENT", &e->where);
+ return false;
+ }
}
}
@@ -3663,16 +3679,29 @@ pure_subroutine (gfc_symbol *sym, const char *name, locus *loc)
/* A BLOCK construct within a DO CONCURRENT construct leads to
gfc_do_concurrent_flag = 0 when the check for an impure subroutine
- occurs. Check the stack to see if the source code has a nested
- BLOCK construct. */
+ occurs. Walk up the stack to see if the source code has a nested
+ construct. */
+
for (stack = cs_base; stack; stack = stack->prev)
{
- if (stack->current->op == EXEC_BLOCK) saw_block = true;
+ if (stack->current->op == EXEC_BLOCK)
+ {
+ saw_block = true;
+ continue;
+ }
+
if (saw_block && stack->current->op == EXEC_DO_CONCURRENT)
{
- gfc_error ("Subroutine call at %L in a DO CONCURRENT block "
- "is not PURE", loc);
- return false;
+
+ bool is_pure = true;
+ is_pure = sym->attr.pure || sym->attr.elemental;
+
+ if (!is_pure)
+ {
+ gfc_error ("Subroutine call at %L in a DO CONCURRENT block "
+ "is not PURE", loc);
+ return false;
+ }
}
}
@@ -11455,6 +11484,109 @@ resolve_lock_unlock_event (gfc_code *code)
}
}
+static void
+resolve_team_argument (gfc_expr *team)
+{
+ gfc_resolve_expr (team);
+ if (team->rank != 0 || team->ts.type != BT_DERIVED
+ || team->ts.u.derived->from_intmod != INTMOD_ISO_FORTRAN_ENV
+ || team->ts.u.derived->intmod_sym_id != ISOFORTRAN_TEAM_TYPE)
+ {
+ gfc_error ("TEAM argument at %L must be a scalar expression "
+ "of type TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV",
+ &team->where);
+ }
+}
+
+static void
+resolve_scalar_variable_as_arg (const char *name, bt exp_type, int exp_kind,
+ gfc_expr *e)
+{
+ gfc_resolve_expr (e);
+ if (e
+ && (e->ts.type != exp_type || e->ts.kind < exp_kind || e->rank != 0
+ || e->expr_type != EXPR_VARIABLE))
+ gfc_error ("%s argument at %L must be a scalar %s variable of at least "
+ "kind %d", name, &e->where, gfc_basic_typename (exp_type),
+ exp_kind);
+}
+
+void
+gfc_resolve_sync_stat (struct sync_stat *sync_stat)
+{
+ resolve_scalar_variable_as_arg ("STAT=", BT_INTEGER, 2, sync_stat->stat);
+ resolve_scalar_variable_as_arg ("ERRMSG=", BT_CHARACTER,
+ gfc_default_character_kind,
+ sync_stat->errmsg);
+}
+
+static void
+resolve_scalar_argument (const char *name, bt exp_type, int exp_kind,
+ gfc_expr *e)
+{
+ gfc_resolve_expr (e);
+ if (e
+ && (e->ts.type != exp_type || e->ts.kind < exp_kind || e->rank != 0))
+ gfc_error ("%s argument at %L must be a scalar %s of at least kind %d",
+ name, &e->where, gfc_basic_typename (exp_type), exp_kind);
+}
+
+static void
+resolve_form_team (gfc_code *code)
+{
+ resolve_scalar_argument ("TEAM NUMBER", BT_INTEGER, gfc_default_integer_kind,
+ code->expr1);
+ resolve_team_argument (code->expr2);
+ resolve_scalar_argument ("NEW_INDEX=", BT_INTEGER, gfc_default_integer_kind,
+ code->expr3);
+ gfc_resolve_sync_stat (&code->ext.sync_stat);
+}
+
+static void resolve_block_construct (gfc_code *);
+
+static void
+resolve_change_team (gfc_code *code)
+{
+ resolve_team_argument (code->expr1);
+ gfc_resolve_sync_stat (&code->ext.block.sync_stat);
+ resolve_block_construct (code);
+ /* Map the coarray bounds as selected. */
+ for (gfc_association_list *a = code->ext.block.assoc; a; a = a->next)
+ if (a->ar)
+ {
+ gfc_array_spec *src = a->ar->as, *dst;
+ if (a->st->n.sym->ts.type == BT_CLASS)
+ dst = CLASS_DATA (a->st->n.sym)->as;
+ else
+ dst = a->st->n.sym->as;
+ dst->corank = src->corank;
+ dst->cotype = src->cotype;
+ for (int i = 0; i < src->corank; ++i)
+ {
+ dst->lower[dst->rank + i] = src->lower[i];
+ dst->upper[dst->rank + i] = src->upper[i];
+ src->lower[i] = src->upper[i] = nullptr;
+ }
+ gfc_free_array_spec (src);
+ free (a->ar);
+ a->ar = nullptr;
+ dst->resolved = false;
+ gfc_resolve_array_spec (dst, 0);
+ }
+}
+
+static void
+resolve_sync_team (gfc_code *code)
+{
+ resolve_team_argument (code->expr1);
+ gfc_resolve_sync_stat (&code->ext.sync_stat);
+}
+
+static void
+resolve_end_team (gfc_code *code)
+{
+ gfc_resolve_sync_stat (&code->ext.sync_stat);
+}
static void
resolve_critical (gfc_code *code)
@@ -11464,6 +11596,8 @@ resolve_critical (gfc_code *code)
char name[GFC_MAX_SYMBOL_LEN];
static int serial = 0;
+ gfc_resolve_sync_stat (&code->ext.sync_stat);
+
if (flag_coarray != GFC_FCOARRAY_LIB)
return;
@@ -11587,8 +11721,8 @@ resolve_branch (gfc_st_label *label, gfc_code *code)
if (code->here == label)
{
- gfc_warning (0,
- "Branch at %L may result in an infinite loop", &code->loc);
+ gfc_warning (0, "Branch at %L may result in an infinite loop",
+ &code->loc);
return;
}
@@ -11611,6 +11745,10 @@ resolve_branch (gfc_st_label *label, gfc_code *code)
&& bitmap_bit_p (stack->reachable_labels, label->value))
gfc_error ("GOTO statement at %L leaves DO CONCURRENT construct "
"for label at %L", &code->loc, &label->where);
+ else if (stack->current->op == EXEC_CHANGE_TEAM
+ && bitmap_bit_p (stack->reachable_labels, label->value))
+ gfc_error ("GOTO statement at %L leaves CHANGE TEAM construct "
+ "for label at %L", &code->loc, &label->where);
}
return;
@@ -13247,23 +13385,6 @@ deferred_op_assign (gfc_code **code, gfc_namespace *ns)
}
-static bool
-check_team (gfc_expr *team, const char *intrinsic)
-{
- if (team->rank != 0
- || team->ts.type != BT_DERIVED
- || team->ts.u.derived->from_intmod != INTMOD_ISO_FORTRAN_ENV
- || team->ts.u.derived->intmod_sym_id != ISOFORTRAN_TEAM_TYPE)
- {
- gfc_error ("TEAM argument to %qs at %L must be a scalar expression "
- "of type TEAM_TYPE", intrinsic, &team->where);
- return false;
- }
-
- return true;
-}
-
-
/* Given a block of code, recursively resolve everything pointed to by this
code block. */
@@ -13452,22 +13573,19 @@ start:
break;
case EXEC_FORM_TEAM:
- if (code->expr1 != NULL
- && (code->expr1->ts.type != BT_INTEGER || code->expr1->rank))
- gfc_error ("TEAM NUMBER argument to FORM TEAM at %L must be "
- "a scalar INTEGER", &code->expr1->where);
- check_team (code->expr2, "FORM TEAM");
+ resolve_form_team (code);
break;
case EXEC_CHANGE_TEAM:
- check_team (code->expr1, "CHANGE TEAM");
+ resolve_change_team (code);
break;
case EXEC_END_TEAM:
+ resolve_end_team (code);
break;
case EXEC_SYNC_TEAM:
- check_team (code->expr1, "SYNC TEAM");
+ resolve_sync_team (code);
break;
case EXEC_ENTRY:
diff --git a/gcc/fortran/simplify.cc b/gcc/fortran/simplify.cc
index 92ab17b..208251b 100644
--- a/gcc/fortran/simplify.cc
+++ b/gcc/fortran/simplify.cc
@@ -3133,8 +3133,10 @@ gfc_simplify_get_team (gfc_expr *level ATTRIBUTE_UNUSED)
if (flag_coarray == GFC_FCOARRAY_SINGLE)
{
gfc_expr *result;
- result = gfc_get_array_expr (BT_INTEGER, gfc_default_integer_kind, &gfc_current_locus);
- result->rank = 0;
+ result = gfc_get_null_expr (&gfc_current_locus);
+ result->ts.type = BT_DERIVED;
+ gfc_find_symbol ("team_type", gfc_current_ns, 1, &result->ts.u.derived);
+
return result;
}
@@ -6727,7 +6729,7 @@ gfc_simplify_null (gfc_expr *mold)
gfc_expr *
-gfc_simplify_num_images (gfc_expr *distance ATTRIBUTE_UNUSED, gfc_expr *failed)
+gfc_simplify_num_images (gfc_expr *team_or_team_number ATTRIBUTE_UNUSED)
{
gfc_expr *result;
@@ -6740,16 +6742,9 @@ gfc_simplify_num_images (gfc_expr *distance ATTRIBUTE_UNUSED, gfc_expr *failed)
if (flag_coarray != GFC_FCOARRAY_SINGLE)
return NULL;
- if (failed && failed->expr_type != EXPR_CONSTANT)
- return NULL;
-
/* FIXME: gfc_current_locus is wrong. */
result = gfc_get_constant_expr (BT_INTEGER, gfc_default_integer_kind,
&gfc_current_locus);
-
- if (failed && failed->value.logical != 0)
- mpz_set_si (result->value.integer, 0);
- else
mpz_set_si (result->value.integer, 1);
return result;
@@ -8925,7 +8920,8 @@ gfc_simplify_trim (gfc_expr *e)
gfc_expr *
-gfc_simplify_image_index (gfc_expr *coarray, gfc_expr *sub)
+gfc_simplify_image_index (gfc_expr *coarray, gfc_expr *sub,
+ gfc_expr *team_or_team_number ATTRIBUTE_UNUSED)
{
gfc_expr *result;
gfc_ref *ref;
@@ -9067,14 +9063,13 @@ gfc_simplify_image_status (gfc_expr *image, gfc_expr *team ATTRIBUTE_UNUSED)
gfc_expr *
gfc_simplify_this_image (gfc_expr *coarray, gfc_expr *dim,
- gfc_expr *distance ATTRIBUTE_UNUSED)
+ gfc_expr *team ATTRIBUTE_UNUSED)
{
if (flag_coarray != GFC_FCOARRAY_SINGLE)
return NULL;
- /* If no coarray argument has been passed or when the first argument
- is actually a distance argument. */
- if (coarray == NULL || !gfc_is_coarray (coarray))
+ /* If no coarray argument has been passed. */
+ if (coarray == NULL)
{
gfc_expr *result;
/* FIXME: gfc_current_locus is wrong. */
diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index ddc4960..ee48a82 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -4043,9 +4043,9 @@ gfc_build_builtin_function_decls (void)
gfor_fndecl_caf_finalize = gfc_build_library_function_decl (
get_identifier (PREFIX("caf_finalize")), void_type_node, 0);
- gfor_fndecl_caf_this_image = gfc_build_library_function_decl (
- get_identifier (PREFIX("caf_this_image")), integer_type_node,
- 1, integer_type_node);
+ gfor_fndecl_caf_this_image = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_this_image")), ". r ", integer_type_node,
+ 1, pvoid_type_node);
gfor_fndecl_caf_num_images = gfc_build_library_function_decl (
get_identifier (PREFIX("caf_num_images")), integer_type_node,
@@ -4201,42 +4201,36 @@ gfc_build_builtin_function_decls (void)
void_type_node, 3, pvoid_type_node, ppvoid_type_node,
integer_type_node);
- gfor_fndecl_caf_form_team
- = gfc_build_library_function_decl_with_spec (
- get_identifier (PREFIX("caf_form_team")), ". . W . ",
- void_type_node, 3, integer_type_node, ppvoid_type_node,
- integer_type_node);
+ gfor_fndecl_caf_form_team = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_form_team")), ". r w r w w w ",
+ void_type_node, 6, integer_type_node, ppvoid_type_node, pint_type,
+ pint_type, pchar_type_node, size_type_node);
- gfor_fndecl_caf_change_team
- = gfc_build_library_function_decl_with_spec (
- get_identifier (PREFIX("caf_change_team")), ". w . ",
- void_type_node, 2, ppvoid_type_node,
- integer_type_node);
+ gfor_fndecl_caf_change_team = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_change_team")), ". r w w w ",
+ void_type_node, 4, pvoid_type_node, pint_type, pchar_type_node,
+ size_type_node);
- gfor_fndecl_caf_end_team
- = gfc_build_library_function_decl (
- get_identifier (PREFIX("caf_end_team")), void_type_node, 0);
+ gfor_fndecl_caf_end_team = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_end_team")), ". w w w ", void_type_node, 3,
+ pint_type, pchar_type_node, size_type_node);
- gfor_fndecl_caf_get_team
- = gfc_build_library_function_decl (
- get_identifier (PREFIX("caf_get_team")),
- void_type_node, 1, integer_type_node);
+ gfor_fndecl_caf_get_team = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_get_team")), ". r ", pvoid_type_node, 1,
+ pint_type);
- gfor_fndecl_caf_sync_team
- = gfc_build_library_function_decl_with_spec (
- get_identifier (PREFIX("caf_sync_team")), ". r . ",
- void_type_node, 2, ppvoid_type_node,
- integer_type_node);
+ gfor_fndecl_caf_sync_team = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_sync_team")), ". r w w w ", void_type_node,
+ 4, pvoid_type_node, pint_type, pchar_type_node, size_type_node);
gfor_fndecl_caf_team_number
= gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("caf_team_number")), ". r ",
integer_type_node, 1, integer_type_node);
- gfor_fndecl_caf_image_status
- = gfc_build_library_function_decl_with_spec (
- get_identifier (PREFIX("caf_image_status")), ". . r ",
- integer_type_node, 2, integer_type_node, ppvoid_type_node);
+ gfor_fndecl_caf_image_status = gfc_build_library_function_decl_with_spec (
+ get_identifier (PREFIX ("caf_image_status")), ". r r ",
+ integer_type_node, 2, integer_type_node, ppvoid_type_node);
gfor_fndecl_caf_stopped_images
= gfc_build_library_function_decl_with_spec (
diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index 62dd38d..19e5669b 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -2579,10 +2579,8 @@ gfc_caf_get_image_index (stmtblock_t *block, gfc_expr *e, tree desc)
gcc_assert (ref != NULL);
if (ref->u.ar.dimen_type[ref->u.ar.dimen] == DIMEN_THIS_IMAGE)
- {
- return build_call_expr_loc (input_location, gfor_fndecl_caf_this_image, 1,
- integer_zero_node);
- }
+ return build_call_expr_loc (input_location, gfor_fndecl_caf_this_image, 1,
+ null_pointer_node);
img_idx = build_zero_cst (gfc_array_index_type);
extent = build_one_cst (gfc_array_index_type);
@@ -9836,7 +9834,12 @@ gfc_trans_subcomponent_assign (tree dest, gfc_component * cm,
&& !cm->attr.proc_pointer)
{
if (cm->attr.allocatable && expr->expr_type == EXPR_NULL)
- gfc_conv_descriptor_data_set (&block, dest, null_pointer_node);
+ {
+ gfc_conv_descriptor_data_set (&block, dest, null_pointer_node);
+ if (cm->attr.codimension && flag_coarray == GFC_FCOARRAY_LIB)
+ gfc_add_modify (&block, gfc_conv_descriptor_token (dest),
+ null_pointer_node);
+ }
else if (cm->attr.allocatable || cm->attr.pdt_array)
{
tmp = gfc_trans_alloc_subarray_assign (dest, cm, expr);
diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc
index 6ffc3e0..440cbdd 100644
--- a/gcc/fortran/trans-intrinsic.cc
+++ b/gcc/fortran/trans-intrinsic.cc
@@ -1183,8 +1183,10 @@ conv_stat_and_team (stmtblock_t *block, gfc_expr *expr, tree *stat, tree *team,
{
gfc_se team_se;
gfc_init_se (&team_se, NULL);
- gfc_conv_expr_reference (&team_se, team_e);
- *team = team_se.expr;
+ gfc_conv_expr (&team_se, team_e);
+ *team
+ = gfc_build_addr_expr (NULL_TREE, gfc_trans_force_lval (&team_se.pre,
+ team_se.expr));
gfc_add_block_to_block (block, &team_se.pre);
gfc_add_block_to_block (block, &team_se.post);
}
@@ -1196,8 +1198,11 @@ conv_stat_and_team (stmtblock_t *block, gfc_expr *expr, tree *stat, tree *team,
{
gfc_se team_se;
gfc_init_se (&team_se, NULL);
- gfc_conv_expr_reference (&team_se, team_e);
- *team_no = team_se.expr;
+ gfc_conv_expr (&team_se, team_e);
+ *team_no = gfc_build_addr_expr (
+ NULL_TREE,
+ gfc_trans_force_lval (&team_se.pre,
+ fold_convert (integer_type_node, team_se.expr)));
gfc_add_block_to_block (block, &team_se.pre);
gfc_add_block_to_block (block, &team_se.post);
}
@@ -1379,9 +1384,9 @@ gfc_conv_intrinsic_caf_is_present_remote (gfc_se *se, gfc_expr *e)
present_fn = e->value.function.actual->next->next->expr;
add_data_sym = present_fn->symtree->n.sym->formal->sym;
- fn_index = conv_caf_func_index (&se->pre, gfc_current_ns,
+ fn_index = conv_caf_func_index (&se->pre, e->symtree->n.sym->ns,
"__caf_present_on_remote_fn_index_%d", hash);
- add_data_tree = conv_caf_add_call_data (&se->pre, gfc_current_ns,
+ add_data_tree = conv_caf_add_call_data (&se->pre, e->symtree->n.sym->ns,
"__caf_present_on_remote_add_data_%d",
add_data_sym, &add_data_size);
++caf_call_cnt;
@@ -1790,13 +1795,13 @@ conv_caf_sendget (gfc_code *code)
++caf_call_cnt;
tmp = build_call_expr_loc (
- input_location, gfor_fndecl_caf_transfer_between_remotes, 20, lhs_token,
+ input_location, gfor_fndecl_caf_transfer_between_remotes, 22, lhs_token,
opt_lhs_desc, opt_lhs_charlen, lhs_image_index, receiver_fn_index_tree,
lhs_add_data_tree, lhs_add_data_size, rhs_token, opt_rhs_desc,
opt_rhs_charlen, rhs_image_index, sender_fn_index_tree, rhs_add_data_tree,
rhs_add_data_size, rhs_size,
transfer_rank == 0 ? boolean_true_node : boolean_false_node, lhs_stat,
- lhs_team, lhs_team_no, rhs_stat, rhs_team, rhs_team_no);
+ rhs_stat, lhs_team, lhs_team_no, rhs_team, rhs_team_no);
gfc_add_expr_to_block (&block, tmp);
gfc_add_block_to_block (&block, &lhs_se.post);
@@ -1818,34 +1823,31 @@ static void
trans_this_image (gfc_se * se, gfc_expr *expr)
{
stmtblock_t loop;
- tree type, desc, dim_arg, cond, tmp, m, loop_var, exit_label, min_var,
- lbound, ubound, extent, ml;
+ tree type, desc, dim_arg, cond, tmp, m, loop_var, exit_label, min_var, lbound,
+ ubound, extent, ml, team;
gfc_se argse;
int rank, corank;
- gfc_expr *distance = expr->value.function.actual->next->next->expr;
-
- if (expr->value.function.actual->expr
- && !gfc_is_coarray (expr->value.function.actual->expr))
- distance = expr->value.function.actual->expr;
/* The case -fcoarray=single is handled elsewhere. */
gcc_assert (flag_coarray != GFC_FCOARRAY_SINGLE);
+ /* Translate team, if present. */
+ if (expr->value.function.actual->next->next->expr)
+ {
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr_val (&argse, expr->value.function.actual->next->next->expr);
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+ gfc_add_block_to_block (&se->post, &argse.post);
+ team = fold_convert (pvoid_type_node, argse.expr);
+ }
+ else
+ team = null_pointer_node;
+
/* Argument-free version: THIS_IMAGE(). */
- if (distance || expr->value.function.actual->expr == NULL)
+ if (expr->value.function.actual->expr == NULL)
{
- if (distance)
- {
- gfc_init_se (&argse, NULL);
- gfc_conv_expr_val (&argse, distance);
- gfc_add_block_to_block (&se->pre, &argse.pre);
- gfc_add_block_to_block (&se->post, &argse.post);
- tmp = fold_convert (integer_type_node, argse.expr);
- }
- else
- tmp = integer_zero_node;
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_this_image, 1,
- tmp);
+ team);
se->expr = fold_convert (gfc_get_int_type (gfc_default_integer_kind),
tmp);
return;
@@ -1940,8 +1942,8 @@ trans_this_image (gfc_se * se, gfc_expr *expr)
*/
/* this_image () - 1. */
- tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_this_image, 1,
- integer_zero_node);
+ tmp
+ = build_call_expr_loc (input_location, gfor_fndecl_caf_this_image, 1, team);
tmp = fold_build2_loc (input_location, MINUS_EXPR, type,
fold_convert (type, tmp), build_int_cst (type, 1));
if (corank == 1)
@@ -2072,7 +2074,8 @@ conv_intrinsic_image_status (gfc_se *se, gfc_expr *expr)
}
else if (flag_coarray == GFC_FCOARRAY_LIB)
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_image_status, 2,
- args[0], build_int_cst (integer_type_node, -1));
+ args[0],
+ num_args < 2 ? null_pointer_node : args[1]);
else
gcc_unreachable ();
@@ -2092,18 +2095,7 @@ conv_intrinsic_team_number (gfc_se *se, gfc_expr *expr)
if (flag_coarray ==
GFC_FCOARRAY_SINGLE && expr->value.function.actual->expr)
- {
- tree arg;
-
- arg = gfc_evaluate_now (args[0], &se->pre);
- tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node,
- fold_convert (integer_type_node, arg),
- integer_one_node);
- tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node,
- tmp, integer_zero_node,
- build_int_cst (integer_type_node,
- GFC_STAT_STOPPED_IMAGE));
- }
+ tmp = gfc_evaluate_now (args[0], &se->pre);
else if (flag_coarray == GFC_FCOARRAY_SINGLE)
{
// the value -1 represents that no team has been created yet
@@ -2111,10 +2103,10 @@ conv_intrinsic_team_number (gfc_se *se, gfc_expr *expr)
}
else if (flag_coarray == GFC_FCOARRAY_LIB && expr->value.function.actual->expr)
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_team_number, 1,
- args[0], build_int_cst (integer_type_node, -1));
+ args[0]);
else if (flag_coarray == GFC_FCOARRAY_LIB)
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_team_number, 1,
- integer_zero_node, build_int_cst (integer_type_node, -1));
+ null_pointer_node);
else
gcc_unreachable ();
@@ -2125,8 +2117,8 @@ conv_intrinsic_team_number (gfc_se *se, gfc_expr *expr)
static void
trans_image_index (gfc_se * se, gfc_expr *expr)
{
- tree num_images, cond, coindex, type, lbound, ubound, desc, subdesc,
- tmp, invalid_bound;
+ tree num_images, cond, coindex, type, lbound, ubound, desc, subdesc, tmp,
+ invalid_bound, team = null_pointer_node, team_number = null_pointer_node;
gfc_se argse, subse;
int rank, corank, codim;
@@ -2150,6 +2142,22 @@ trans_image_index (gfc_se * se, gfc_expr *expr)
subdesc = build_fold_indirect_ref_loc (input_location,
gfc_conv_descriptor_data_get (subse.expr));
+ if (expr->value.function.actual->next->next->expr)
+ {
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr_descriptor (&argse,
+ expr->value.function.actual->next->next->expr);
+ if (expr->value.function.actual->next->next->expr->ts.type == BT_DERIVED)
+ team = argse.expr;
+ else
+ team_number = gfc_build_addr_expr (
+ NULL_TREE,
+ gfc_trans_force_lval (&argse.pre,
+ fold_convert (integer_type_node, argse.expr)));
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+ gfc_add_block_to_block (&se->post, &argse.post);
+ }
+
/* Fortran 2008 does not require that the values remain in the cobounds,
thus we need explicitly check this - and return 0 if they are exceeded. */
@@ -2225,8 +2233,7 @@ trans_image_index (gfc_se * se, gfc_expr *expr)
else
{
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images, 2,
- integer_zero_node,
- build_int_cst (integer_type_node, -1));
+ team, team_number);
num_images = fold_convert (type, tmp);
}
@@ -2245,32 +2252,26 @@ trans_image_index (gfc_se * se, gfc_expr *expr)
static void
trans_num_images (gfc_se * se, gfc_expr *expr)
{
- tree tmp, distance, failed;
+ tree tmp, team = null_pointer_node, team_number = null_pointer_node;
gfc_se argse;
if (expr->value.function.actual->expr)
{
gfc_init_se (&argse, NULL);
gfc_conv_expr_val (&argse, expr->value.function.actual->expr);
+ if (expr->value.function.actual->expr->ts.type == BT_DERIVED)
+ team = argse.expr;
+ else
+ team_number = gfc_build_addr_expr (
+ NULL_TREE,
+ gfc_trans_force_lval (&se->pre,
+ fold_convert (integer_type_node, argse.expr)));
gfc_add_block_to_block (&se->pre, &argse.pre);
gfc_add_block_to_block (&se->post, &argse.post);
- distance = fold_convert (integer_type_node, argse.expr);
}
- else
- distance = integer_zero_node;
- if (expr->value.function.actual->next->expr)
- {
- gfc_init_se (&argse, NULL);
- gfc_conv_expr_val (&argse, expr->value.function.actual->next->expr);
- gfc_add_block_to_block (&se->pre, &argse.pre);
- gfc_add_block_to_block (&se->post, &argse.post);
- failed = fold_convert (integer_type_node, argse.expr);
- }
- else
- failed = build_int_cst (integer_type_node, -1);
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images, 2,
- distance, failed);
+ team, team_number);
se->expr = fold_convert (gfc_get_int_type (gfc_default_integer_kind), tmp);
}
@@ -2700,8 +2701,7 @@ conv_intrinsic_cobound (gfc_se * se, gfc_expr * expr)
cosize = gfc_conv_descriptor_cosize (desc, arg->expr->rank, corank);
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images,
- 2, integer_zero_node,
- build_int_cst (integer_type_node, -1));
+ 2, null_pointer_node, null_pointer_node);
tmp = fold_build2_loc (input_location, MINUS_EXPR,
gfc_array_index_type,
fold_convert (gfc_array_index_type, tmp),
@@ -2716,8 +2716,7 @@ conv_intrinsic_cobound (gfc_se * se, gfc_expr * expr)
{
/* ubound = lbound + num_images() - 1. */
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images,
- 2, integer_zero_node,
- build_int_cst (integer_type_node, -1));
+ 2, null_pointer_node, null_pointer_node);
tmp = fold_build2_loc (input_location, MINUS_EXPR,
gfc_array_index_type,
fold_convert (gfc_array_index_type, tmp),
@@ -11475,6 +11474,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
case GFC_ISYM_GETGID:
case GFC_ISYM_GETPID:
case GFC_ISYM_GETUID:
+ case GFC_ISYM_GET_TEAM:
case GFC_ISYM_HOSTNM:
case GFC_ISYM_IERRNO:
case GFC_ISYM_IRAND:
@@ -12970,6 +12970,9 @@ gfc_conv_intrinsic_mvbits (gfc_se *se, gfc_actual_arglist *actual_args,
void_type_node, to, se->expr);
}
+/* Comes from trans-stmt.cc, but we don't want the whole header included. */
+extern void gfc_trans_sync_stat (struct sync_stat *sync_stat, gfc_se *se,
+ tree *stat, tree *errmsg, tree *errmsg_len);
static tree
conv_intrinsic_move_alloc (gfc_code *code)
@@ -12977,17 +12980,37 @@ conv_intrinsic_move_alloc (gfc_code *code)
stmtblock_t block;
gfc_expr *from_expr, *to_expr;
gfc_se from_se, to_se;
- tree tmp, to_tree, from_tree;
+ tree tmp, to_tree, from_tree, stat, errmsg, errmsg_len, fin_label = NULL_TREE;
bool coarray, from_is_class, from_is_scalar;
+ gfc_actual_arglist *arg = code->ext.actual;
+ sync_stat tmp_sync_stat = {nullptr, nullptr};
gfc_start_block (&block);
- from_expr = code->ext.actual->expr;
- to_expr = code->ext.actual->next->expr;
+ from_expr = arg->expr;
+ arg = arg->next;
+ to_expr = arg->expr;
+ arg = arg->next;
+
+ while (arg)
+ {
+ if (arg->expr)
+ {
+ if (!strcmp ("stat", arg->name))
+ tmp_sync_stat.stat = arg->expr;
+ else if (!strcmp ("errmsg", arg->name))
+ tmp_sync_stat.errmsg = arg->expr;
+ }
+ arg = arg->next;
+ }
gfc_init_se (&from_se, NULL);
gfc_init_se (&to_se, NULL);
+ gfc_trans_sync_stat (&tmp_sync_stat, &from_se, &stat, &errmsg, &errmsg_len);
+ if (stat != null_pointer_node)
+ fin_label = gfc_build_label_decl (NULL_TREE);
+
gcc_assert (from_expr->ts.type != BT_CLASS || to_expr->ts.type == BT_CLASS);
coarray = from_expr->corank != 0;
@@ -13030,9 +13053,10 @@ conv_intrinsic_move_alloc (gfc_code *code)
/* Deallocate "to". */
if (to_expr->rank == 0)
{
- tmp
- = gfc_deallocate_scalar_with_status (to_tree, NULL_TREE, NULL_TREE,
- true, to_expr, to_expr->ts);
+ tmp = gfc_deallocate_scalar_with_status (to_tree, stat, fin_label,
+ true, to_expr, to_expr->ts,
+ NULL_TREE, false, true,
+ errmsg, errmsg_len);
gfc_add_expr_to_block (&block, tmp);
}
@@ -13105,9 +13129,12 @@ conv_intrinsic_move_alloc (gfc_code *code)
{
tree cond;
- tmp = gfc_deallocate_with_status (to_se.expr, NULL_TREE, NULL_TREE,
- NULL_TREE, NULL_TREE, true, to_expr,
- GFC_CAF_COARRAY_DEALLOCATE_ONLY);
+ tmp = gfc_deallocate_with_status (to_se.expr, stat, errmsg, errmsg_len,
+ fin_label, true, to_expr,
+ GFC_CAF_COARRAY_DEALLOCATE_ONLY,
+ NULL_TREE, NULL_TREE,
+ gfc_conv_descriptor_token (to_se.expr),
+ true);
gfc_add_expr_to_block (&block, tmp);
tmp = gfc_conv_descriptor_data_get (to_se.expr);
@@ -13133,9 +13160,10 @@ conv_intrinsic_move_alloc (gfc_code *code)
gfc_add_expr_to_block (&block, tmp);
}
- tmp = gfc_deallocate_with_status (to_se.expr, NULL_TREE, NULL_TREE,
- NULL_TREE, NULL_TREE, true, to_expr,
- GFC_CAF_COARRAY_NOCOARRAY);
+ tmp = gfc_deallocate_with_status (to_se.expr, stat, errmsg, errmsg_len,
+ fin_label, true, to_expr,
+ GFC_CAF_COARRAY_NOCOARRAY, NULL_TREE,
+ NULL_TREE, NULL_TREE, true);
gfc_add_expr_to_block (&block, tmp);
}
@@ -13147,6 +13175,13 @@ conv_intrinsic_move_alloc (gfc_code *code)
gfc_add_modify_loc (input_location, &block, tmp,
fold_convert (TREE_TYPE (tmp), null_pointer_node));
+ if (coarray && flag_coarray == GFC_FCOARRAY_LIB)
+ {
+ /* Copy the array descriptor data has overwritten the to-token and cleared
+ from.data. Now also clear the from.token. */
+ gfc_add_modify (&block, gfc_conv_descriptor_token (from_se.expr),
+ null_pointer_node);
+ }
if (to_expr->ts.type == BT_CHARACTER && to_expr->ts.deferred)
{
@@ -13157,6 +13192,8 @@ conv_intrinsic_move_alloc (gfc_code *code)
gfc_add_modify_loc (input_location, &block, from_se.string_length,
build_int_cst (TREE_TYPE (from_se.string_length), 0));
}
+ if (fin_label)
+ gfc_add_expr_to_block (&block, build1_v (LABEL_EXPR, fin_label));
return gfc_finish_block (&block);
}
diff --git a/gcc/fortran/trans-stmt.cc b/gcc/fortran/trans-stmt.cc
index 37f8aca..487b768 100644
--- a/gcc/fortran/trans-stmt.cc
+++ b/gcc/fortran/trans-stmt.cc
@@ -721,6 +721,15 @@ gfc_trans_stop (gfc_code *code, bool error_stop)
return gfc_finish_block (&se.pre);
}
+tree
+trans_exit ()
+{
+ const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
+ gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
+ tree tmp = gfc_get_symbol_decl (exsym);
+ return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
+}
+
/* Translate the FAIL IMAGE statement. */
tree
@@ -730,11 +739,49 @@ gfc_trans_fail_image (gfc_code *code ATTRIBUTE_UNUSED)
return build_call_expr_loc (input_location,
gfor_fndecl_caf_fail_image, 0);
else
+ return trans_exit ();
+}
+
+void
+gfc_trans_sync_stat (struct sync_stat *sync_stat, gfc_se *se, tree *stat,
+ tree *errmsg, tree *errmsg_len)
+{
+ gfc_se argse;
+
+ if (sync_stat->stat)
{
- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
- gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
- tree tmp = gfc_get_symbol_decl (exsym);
- return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr (&argse, sync_stat->stat);
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+
+ if (TREE_TYPE (argse.expr) != integer_type_node)
+ {
+ tree tstat = gfc_create_var (integer_type_node, "stat");
+ TREE_THIS_VOLATILE (tstat) = 1;
+ gfc_add_modify (&se->pre, tstat,
+ fold_convert (integer_type_node, argse.expr));
+ gfc_add_modify (&se->post, argse.expr,
+ fold_convert (TREE_TYPE (argse.expr), tstat));
+ *stat = build_fold_addr_expr (tstat);
+ }
+ else
+ *stat = build_fold_addr_expr (argse.expr);
+ }
+ else
+ *stat = null_pointer_node;
+
+ if (sync_stat->errmsg)
+ {
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr_reference (&argse, sync_stat->errmsg);
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+ *errmsg = argse.expr;
+ *errmsg_len = fold_convert (size_type_node, argse.string_length);
+ }
+ else
+ {
+ *errmsg = null_pointer_node;
+ *errmsg_len = build_zero_cst (size_type_node);
}
}
@@ -745,38 +792,42 @@ gfc_trans_form_team (gfc_code *code)
{
if (flag_coarray == GFC_FCOARRAY_LIB)
{
- gfc_se se;
- gfc_se argse1, argse2;
- tree team_id, team_type, tmp;
+ gfc_se se, argse;
+ tree team_id, team_type, new_index, stat, errmsg, errmsg_len, tmp;
gfc_init_se (&se, NULL);
- gfc_init_se (&argse1, NULL);
- gfc_init_se (&argse2, NULL);
- gfc_start_block (&se.pre);
+ gfc_init_se (&argse, NULL);
- gfc_conv_expr_val (&argse1, code->expr1);
- gfc_conv_expr_val (&argse2, code->expr2);
- team_id = fold_convert (integer_type_node, argse1.expr);
- team_type = gfc_build_addr_expr (ppvoid_type_node, argse2.expr);
+ gfc_conv_expr_val (&argse, code->expr1);
+ team_id = fold_convert (integer_type_node, argse.expr);
+ gfc_conv_expr_reference (&argse, code->expr2);
+ team_type = argse.expr;
- gfc_add_block_to_block (&se.pre, &argse1.pre);
- gfc_add_block_to_block (&se.pre, &argse2.pre);
- tmp = build_call_expr_loc (input_location,
- gfor_fndecl_caf_form_team, 3,
- team_id, team_type,
- integer_zero_node);
+ /* NEW_INDEX=. */
+ if (code->expr3)
+ {
+ gfc_conv_expr_reference (&argse, code->expr3);
+ new_index = argse.expr;
+ }
+ else
+ new_index = null_pointer_node;
+
+ gfc_add_block_to_block (&se.post, &argse.post);
+
+ gfc_trans_sync_stat (&code->ext.sync_stat, &se, &stat, &errmsg,
+ &errmsg_len);
+
+ gfc_add_block_to_block (&se.pre, &argse.pre);
+
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_form_team, 6,
+ team_id, team_type, new_index, stat, errmsg,
+ errmsg_len);
gfc_add_expr_to_block (&se.pre, tmp);
- gfc_add_block_to_block (&se.pre, &argse1.post);
- gfc_add_block_to_block (&se.pre, &argse2.post);
+ gfc_add_block_to_block (&se.pre, &se.post);
return gfc_finish_block (&se.pre);
- }
+ }
else
- {
- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
- gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
- tree tmp = gfc_get_symbol_decl (exsym);
- return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
- }
+ return trans_exit ();
}
/* Translate the CHANGE TEAM statement. */
@@ -786,47 +837,56 @@ gfc_trans_change_team (gfc_code *code)
{
if (flag_coarray == GFC_FCOARRAY_LIB)
{
- gfc_se argse;
- tree team_type, tmp;
+ stmtblock_t block;
+ gfc_se se;
+ tree team_type, stat, errmsg, errmsg_len, tmp;
- gfc_init_se (&argse, NULL);
- gfc_conv_expr_val (&argse, code->expr1);
- team_type = gfc_build_addr_expr (ppvoid_type_node, argse.expr);
+ gfc_init_se (&se, NULL);
+ gfc_start_block (&block);
- tmp = build_call_expr_loc (input_location,
- gfor_fndecl_caf_change_team, 2, team_type,
- integer_zero_node);
- gfc_add_expr_to_block (&argse.pre, tmp);
- gfc_add_block_to_block (&argse.pre, &argse.post);
- return gfc_finish_block (&argse.pre);
+ gfc_conv_expr_val (&se, code->expr1);
+ team_type = se.expr;
+
+ gfc_trans_sync_stat (&code->ext.block.sync_stat, &se, &stat, &errmsg,
+ &errmsg_len);
+
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_change_team, 4,
+ team_type, stat, errmsg, errmsg_len);
+
+ gfc_add_expr_to_block (&se.pre, tmp);
+ gfc_add_block_to_block (&se.pre, &se.post);
+ gfc_add_block_to_block (&block, &se.pre);
+ gfc_add_expr_to_block (&block, gfc_trans_block_construct (code));
+ return gfc_finish_block (&block);
}
else
- {
- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
- gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
- tree tmp = gfc_get_symbol_decl (exsym);
- return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
- }
+ return trans_exit ();
}
/* Translate the END TEAM statement. */
tree
-gfc_trans_end_team (gfc_code *code ATTRIBUTE_UNUSED)
+gfc_trans_end_team (gfc_code *code)
{
if (flag_coarray == GFC_FCOARRAY_LIB)
{
- return build_call_expr_loc (input_location,
- gfor_fndecl_caf_end_team, 1,
- build_int_cst (pchar_type_node, 0));
+ gfc_se se;
+ tree stat, errmsg, errmsg_len, tmp;
+
+ gfc_init_se (&se, NULL);
+ gfc_start_block (&se.pre);
+
+ gfc_trans_sync_stat (&code->ext.sync_stat, &se, &stat, &errmsg,
+ &errmsg_len);
+
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_end_team, 3,
+ stat, errmsg, errmsg_len);
+ gfc_add_expr_to_block (&se.pre, tmp);
+ gfc_add_block_to_block (&se.pre, &se.post);
+ return gfc_finish_block (&se.pre);
}
else
- {
- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
- gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
- tree tmp = gfc_get_symbol_decl (exsym);
- return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
- }
+ return trans_exit ();
}
/* Translate the SYNC TEAM statement. */
@@ -836,28 +896,25 @@ gfc_trans_sync_team (gfc_code *code)
{
if (flag_coarray == GFC_FCOARRAY_LIB)
{
- gfc_se argse;
- tree team_type, tmp;
+ gfc_se se;
+ tree team_type, stat, errmsg, errmsg_len, tmp;
- gfc_init_se (&argse, NULL);
- gfc_conv_expr_val (&argse, code->expr1);
- team_type = gfc_build_addr_expr (ppvoid_type_node, argse.expr);
+ gfc_init_se (&se, NULL);
- tmp = build_call_expr_loc (input_location,
- gfor_fndecl_caf_sync_team, 2,
- team_type,
- integer_zero_node);
- gfc_add_expr_to_block (&argse.pre, tmp);
- gfc_add_block_to_block (&argse.pre, &argse.post);
- return gfc_finish_block (&argse.pre);
+ gfc_conv_expr_val (&se, code->expr1);
+ team_type = se.expr;
+
+ gfc_trans_sync_stat (&code->ext.sync_stat, &se, &stat, &errmsg,
+ &errmsg_len);
+
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_sync_team, 4,
+ team_type, stat, errmsg, errmsg_len);
+ gfc_add_expr_to_block (&se.pre, tmp);
+ gfc_add_block_to_block (&se.pre, &se.post);
+ return gfc_finish_block (&se.pre);
}
else
- {
- const char *name = gfc_get_string (PREFIX ("exit_i%d"), 4);
- gfc_symbol *exsym = gfc_get_intrinsic_sub_symbol (name);
- tree tmp = gfc_get_symbol_decl (exsym);
- return build_call_expr_loc (input_location, tmp, 1, integer_zero_node);
- }
+ return trans_exit ();
}
tree
@@ -1280,8 +1337,7 @@ gfc_trans_sync (gfc_code *code, gfc_exec_op type)
{
tree cond2;
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images,
- 2, integer_zero_node,
- build_int_cst (integer_type_node, -1));
+ 2, null_pointer_node, null_pointer_node);
cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node,
images2, tmp);
cond2 = fold_build2_loc (input_location, LT_EXPR, logical_type_node,
@@ -1609,35 +1665,41 @@ gfc_trans_arithmetic_if (gfc_code * code)
/* Translate a CRITICAL block. */
+
tree
gfc_trans_critical (gfc_code *code)
-{
- stmtblock_t block;
- tree tmp, token = NULL_TREE;
+ {
+ stmtblock_t block;
+ tree tmp, token = NULL_TREE;
+ tree stat = NULL_TREE, errmsg, errmsg_len;
- gfc_start_block (&block);
+ gfc_start_block (&block);
- if (flag_coarray == GFC_FCOARRAY_LIB)
- {
- tree zero_size = build_zero_cst (size_type_node);
- token = gfc_get_symbol_decl (code->resolved_sym);
- token = GFC_TYPE_ARRAY_CAF_TOKEN (TREE_TYPE (token));
- tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_lock, 7,
- token, zero_size, integer_one_node,
- null_pointer_node, null_pointer_node,
- null_pointer_node, zero_size);
- gfc_add_expr_to_block (&block, tmp);
+ if (flag_coarray == GFC_FCOARRAY_LIB)
+ {
+ gfc_se se;
- /* It guarantees memory consistency within the same segment */
- tmp = gfc_build_string_const (strlen ("memory")+1, "memory"),
- tmp = build5_loc (input_location, ASM_EXPR, void_type_node,
- gfc_build_string_const (1, ""),
- NULL_TREE, NULL_TREE,
- tree_cons (NULL_TREE, tmp, NULL_TREE),
- NULL_TREE);
- ASM_VOLATILE_P (tmp) = 1;
+ gfc_init_se (&se, NULL);
+ gfc_trans_sync_stat (&code->ext.sync_stat, &se, &stat, &errmsg,
+ &errmsg_len);
+ gfc_add_block_to_block (&block, &se.pre);
- gfc_add_expr_to_block (&block, tmp);
+ token = gfc_get_symbol_decl (code->resolved_sym);
+ token = GFC_TYPE_ARRAY_CAF_TOKEN (TREE_TYPE (token));
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_lock, 7,
+ token, integer_zero_node, integer_one_node,
+ null_pointer_node, stat, errmsg, errmsg_len);
+ gfc_add_expr_to_block (&block, tmp);
+ gfc_add_block_to_block (&block, &se.post);
+
+ /* It guarantees memory consistency within the same segment. */
+ tmp = gfc_build_string_const (strlen ("memory") + 1, "memory"),
+ tmp = build5_loc (input_location, ASM_EXPR, void_type_node,
+ gfc_build_string_const (1, ""), NULL_TREE, NULL_TREE,
+ tree_cons (NULL_TREE, tmp, NULL_TREE), NULL_TREE);
+ ASM_VOLATILE_P (tmp) = 1;
+
+ gfc_add_expr_to_block (&block, tmp);
}
tmp = gfc_trans_code (code->block->next);
@@ -1645,11 +1707,19 @@ gfc_trans_critical (gfc_code *code)
if (flag_coarray == GFC_FCOARRAY_LIB)
{
- tree zero_size = build_zero_cst (size_type_node);
- tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_unlock, 6,
- token, zero_size, integer_one_node,
- null_pointer_node, null_pointer_node,
- zero_size);
+ /* END CRITICAL does not accept STAT or ERRMSG arguments.
+ * If STAT= is specified for CRITICAL, pass a stat argument to
+ * _gfortran_caf_lock_unlock to prevent termination in the event of an
+ * error, but ignore any value assigned to it.
+ */
+ tmp = build_call_expr_loc (
+ input_location, gfor_fndecl_caf_unlock, 6, token, integer_zero_node,
+ integer_one_node,
+ stat != NULL_TREE
+ ? gfc_build_addr_expr (NULL,
+ gfc_create_var (integer_type_node, "stat"))
+ : null_pointer_node,
+ null_pointer_node, integer_zero_node);
gfc_add_expr_to_block (&block, tmp);
/* It guarantees memory consistency within the same segment */
@@ -1981,11 +2051,35 @@ trans_associate_var (gfc_symbol *sym, gfc_wrapped_block *block)
GFC_DECL_PTR_ARRAY_P (sym->backend_decl) = 1;
}
- if (sym->attr.codimension && !sym->attr.dimension)
+ if (sym->attr.codimension)
se.want_coarray = 1;
gfc_conv_expr_descriptor (&se, e);
+ if (flag_coarray == GFC_FCOARRAY_LIB && sym->attr.codimension)
+ {
+ tree token = gfc_conv_descriptor_token (se.expr),
+ size
+ = sym->attr.dimension
+ ? fold_build2 (MULT_EXPR, gfc_array_index_type,
+ gfc_conv_descriptor_size (se.expr, e->rank),
+ gfc_conv_descriptor_span_get (se.expr))
+ : gfc_conv_descriptor_span_get (se.expr);
+ /* Create a new token, because in the token the modified descriptor
+ is stored. The modified descriptor is needed for accesses on the
+ remote image. In the scalar case, the base address needs to be
+ associated correctly, which also needs a new token.
+ The token is freed automatically be the end team statement. */
+ gfc_add_expr_to_block (
+ &se.pre,
+ build_call_expr_loc (
+ input_location, gfor_fndecl_caf_register, 7, size,
+ build_int_cst (integer_type_node, GFC_CAF_COARRAY_MAP_EXISTING),
+ gfc_build_addr_expr (pvoid_type_node, token),
+ gfc_build_addr_expr (NULL_TREE, se.expr), null_pointer_node,
+ null_pointer_node, integer_zero_node));
+ }
+
if (sym->ts.type == BT_CHARACTER
&& !sym->attr.select_type_temporary
&& sym->ts.u.cl->backend_decl
diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
index 67b1970..8fbcdcb 100644
--- a/gcc/fortran/trans-stmt.h
+++ b/gcc/fortran/trans-stmt.h
@@ -58,6 +58,7 @@ tree gfc_trans_sync (gfc_code *, gfc_exec_op);
tree gfc_trans_lock_unlock (gfc_code *, gfc_exec_op);
tree gfc_trans_event_post_wait (gfc_code *, gfc_exec_op);
tree gfc_trans_fail_image (gfc_code *);
+void gfc_trans_sync_stat (struct sync_stat *, gfc_se *, tree *, tree *, tree *);
tree gfc_trans_forall (gfc_code *);
tree gfc_trans_form_team (gfc_code *);
tree gfc_trans_change_team (gfc_code *);
diff --git a/gcc/fortran/trans.cc b/gcc/fortran/trans.cc
index b03dcc1..fdeb1e8 100644
--- a/gcc/fortran/trans.cc
+++ b/gcc/fortran/trans.cc
@@ -1795,11 +1795,11 @@ gfc_finalize_tree_expr (gfc_se *se, gfc_symbol *derived,
analyzed and set by this routine, and -2 to indicate that a non-coarray is to
be deallocated. */
tree
-gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
- tree errlen, tree label_finish,
- bool can_fail, gfc_expr* expr,
+gfc_deallocate_with_status (tree pointer, tree status, tree errmsg, tree errlen,
+ tree label_finish, bool can_fail, gfc_expr *expr,
int coarray_dealloc_mode, tree class_container,
- tree add_when_allocated, tree caf_token)
+ tree add_when_allocated, tree caf_token,
+ bool unalloc_ok)
{
stmtblock_t null, non_null;
tree cond, tmp, error;
@@ -1891,7 +1891,7 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type,
fold_build1_loc (input_location, INDIRECT_REF,
status_type, status),
- build_int_cst (status_type, 1));
+ build_int_cst (status_type, unalloc_ok ? 0 : 1));
error = fold_build3_loc (input_location, COND_EXPR, void_type_node,
cond2, tmp, error);
}
@@ -1975,10 +1975,10 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
token = gfc_build_addr_expr (NULL_TREE, token);
gcc_assert (caf_dereg_type > GFC_CAF_COARRAY_ANALYZE);
- tmp = build_call_expr_loc (input_location,
- gfor_fndecl_caf_deregister, 5,
- token, build_int_cst (integer_type_node,
- caf_dereg_type),
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_deregister, 5,
+ token,
+ build_int_cst (integer_type_node,
+ caf_dereg_type),
pstat, errmsg, errlen);
gfc_add_expr_to_block (&non_null, tmp);
@@ -1990,7 +1990,7 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
ASM_VOLATILE_P (tmp) = 1;
gfc_add_expr_to_block (&non_null, tmp);
- if (status != NULL_TREE)
+ if (status != NULL_TREE && !integer_zerop (status))
{
tree stat = build_fold_indirect_ref_loc (input_location, status);
tree nullify = fold_build2_loc (input_location, MODIFY_EXPR,
@@ -2024,9 +2024,10 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
tree
gfc_deallocate_scalar_with_status (tree pointer, tree status, tree label_finish,
- bool can_fail, gfc_expr* expr,
+ bool can_fail, gfc_expr *expr,
gfc_typespec ts, tree class_container,
- bool coarray)
+ bool coarray, bool unalloc_ok, tree errmsg,
+ tree errmsg_len)
{
stmtblock_t null, non_null;
tree cond, tmp, error;
@@ -2069,7 +2070,7 @@ gfc_deallocate_scalar_with_status (tree pointer, tree status, tree label_finish,
tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type,
fold_build1_loc (input_location, INDIRECT_REF,
status_type, status),
- build_int_cst (status_type, 1));
+ build_int_cst (status_type, unalloc_ok ? 0 : 1));
error = fold_build3_loc (input_location, COND_EXPR, void_type_node,
cond2, tmp, error);
}
@@ -2134,7 +2135,8 @@ gfc_deallocate_scalar_with_status (tree pointer, tree status, tree label_finish,
else
{
tree token;
- tree pstat = null_pointer_node;
+ tree pstat = null_pointer_node, perrmsg = null_pointer_node,
+ perrlen = size_zero_node;
gfc_se se;
gfc_init_se (&se, NULL);
@@ -2147,11 +2149,17 @@ gfc_deallocate_scalar_with_status (tree pointer, tree status, tree label_finish,
pstat = status;
}
- tmp = build_call_expr_loc (input_location,
- gfor_fndecl_caf_deregister, 5,
- token, build_int_cst (integer_type_node,
- caf_dereg_type),
- pstat, null_pointer_node, integer_zero_node);
+ if (errmsg != NULL_TREE)
+ {
+ perrmsg = errmsg;
+ perrlen = errmsg_len;
+ }
+
+ tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_deregister, 5,
+ token,
+ build_int_cst (integer_type_node,
+ caf_dereg_type),
+ pstat, perrmsg, perrlen);
gfc_add_expr_to_block (&non_null, tmp);
/* It guarantees memory consistency within the same segment. */
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index ae7be9f..461b0cd 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -139,10 +139,10 @@ enum gfc_coarray_regtype
GFC_CAF_EVENT_STATIC,
GFC_CAF_EVENT_ALLOC,
GFC_CAF_COARRAY_ALLOC_REGISTER_ONLY,
- GFC_CAF_COARRAY_ALLOC_ALLOCATE_ONLY
+ GFC_CAF_COARRAY_ALLOC_ALLOCATE_ONLY,
+ GFC_CAF_COARRAY_MAP_EXISTING
};
-
/* Describes the action to take on _caf_deregister. Keep in sync with
gcc/fortran/trans.h. The negative values are not valid for the library and
are used by the drivers for building the correct call. */
@@ -774,12 +774,13 @@ void gfc_allocate_using_malloc (stmtblock_t *, tree, tree, tree,
tree = NULL_TREE);
/* Generate code to deallocate an array. */
-tree gfc_deallocate_with_status (tree, tree, tree, tree, tree, bool,
- gfc_expr *, int, tree = NULL_TREE,
- tree a = NULL_TREE, tree c = NULL_TREE);
-tree gfc_deallocate_scalar_with_status (tree, tree, tree, bool, gfc_expr*,
+tree gfc_deallocate_with_status (tree, tree, tree, tree, tree, bool, gfc_expr *,
+ int, tree = NULL_TREE, tree a = NULL_TREE,
+ tree c = NULL_TREE, bool u = false);
+tree gfc_deallocate_scalar_with_status (tree, tree, tree, bool, gfc_expr *,
gfc_typespec, tree = NULL_TREE,
- bool c = false);
+ bool c = false, bool u = false,
+ tree = NULL_TREE, tree = NULL_TREE);
/* Generate code to call realloc(). */
tree gfc_call_realloc (stmtblock_t *, tree, tree);
diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc
index b645613..94d5a1e 100644
--- a/gcc/gimple-fold.cc
+++ b/gcc/gimple-fold.cc
@@ -906,20 +906,60 @@ size_must_be_zero_p (tree size)
static bool
optimize_memcpy_to_memset (gimple_stmt_iterator *gsip, tree dest, tree src, tree len)
{
+ ao_ref read;
gimple *stmt = gsi_stmt (*gsip);
if (gimple_has_volatile_ops (stmt))
return false;
- tree vuse = gimple_vuse (stmt);
- if (vuse == NULL || TREE_CODE (vuse) != SSA_NAME)
- return false;
- gimple *defstmt = SSA_NAME_DEF_STMT (vuse);
tree src2 = NULL_TREE, len2 = NULL_TREE;
poly_int64 offset, offset2;
tree val = integer_zero_node;
+ bool len_was_null = len == NULL_TREE;
+ if (len == NULL_TREE)
+ len = (TREE_CODE (src) == COMPONENT_REF
+ ? DECL_SIZE_UNIT (TREE_OPERAND (src, 1))
+ : TYPE_SIZE_UNIT (TREE_TYPE (src)));
+ if (len == NULL_TREE
+ || !poly_int_tree_p (len))
+ return false;
+
+ ao_ref_init (&read, src);
+ tree vuse = gimple_vuse (stmt);
+ gimple *defstmt;
+ do {
+ if (vuse == NULL || TREE_CODE (vuse) != SSA_NAME)
+ return false;
+ defstmt = SSA_NAME_DEF_STMT (vuse);
+ if (is_a <gphi*>(defstmt))
+ return false;
+
+ /* If the len was null, then we can use TBBA. */
+ if (stmt_may_clobber_ref_p_1 (defstmt, &read,
+ /* tbaa_p = */ len_was_null))
+ break;
+ vuse = gimple_vuse (defstmt);
+ } while (true);
+
if (gimple_store_p (defstmt)
&& gimple_assign_single_p (defstmt)
+ && TREE_CODE (gimple_assign_rhs1 (defstmt)) == STRING_CST
+ && !gimple_clobber_p (defstmt))
+ {
+ tree str = gimple_assign_rhs1 (defstmt);
+ src2 = gimple_assign_lhs (defstmt);
+ /* The string must contain all null char's for now. */
+ for (int i = 0; i < TREE_STRING_LENGTH (str); i++)
+ {
+ if (TREE_STRING_POINTER (str)[i] != 0)
+ {
+ src2 = NULL_TREE;
+ break;
+ }
+ }
+ }
+ else if (gimple_store_p (defstmt)
+ && gimple_assign_single_p (defstmt)
&& TREE_CODE (gimple_assign_rhs1 (defstmt)) == CONSTRUCTOR
&& !gimple_clobber_p (defstmt))
src2 = gimple_assign_lhs (defstmt);
@@ -939,17 +979,11 @@ optimize_memcpy_to_memset (gimple_stmt_iterator *gsip, tree dest, tree src, tree
if (src2 == NULL_TREE)
return false;
- if (len == NULL_TREE)
- len = (TREE_CODE (src) == COMPONENT_REF
- ? DECL_SIZE_UNIT (TREE_OPERAND (src, 1))
- : TYPE_SIZE_UNIT (TREE_TYPE (src)));
if (len2 == NULL_TREE)
len2 = (TREE_CODE (src2) == COMPONENT_REF
? DECL_SIZE_UNIT (TREE_OPERAND (src2, 1))
: TYPE_SIZE_UNIT (TREE_TYPE (src2)));
- if (len == NULL_TREE
- || !poly_int_tree_p (len)
- || len2 == NULL_TREE
+ if (len2 == NULL_TREE
|| !poly_int_tree_p (len2))
return false;
diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc
index 806c2bd..abde64b 100644
--- a/gcc/ipa-cp.cc
+++ b/gcc/ipa-cp.cc
@@ -147,10 +147,6 @@ object_allocator<ipcp_value_source<tree> > ipcp_sources_pool
object_allocator<ipcp_agg_lattice> ipcp_agg_lattice_pool
("IPA_CP aggregate lattices");
-/* Base count to use in heuristics when using profile feedback. */
-
-static profile_count base_count;
-
/* Original overall size of the program. */
static long overall_size, orig_overall_size;
@@ -505,14 +501,16 @@ struct caller_statistics
profile_count count_sum;
/* Sum of all frequencies for all calls. */
sreal freq_sum;
- /* Number of calls and hot calls respectively. */
- int n_calls, n_hot_calls;
+ /* Number of calls and calls considered interesting respectively. */
+ int n_calls, n_interesting_calls;
/* If itself is set up, also count the number of non-self-recursive
calls. */
int n_nonrec_calls;
/* If non-NULL, this is the node itself and calls from it should have their
counts included in rec_count_sum and not count_sum. */
cgraph_node *itself;
+ /* True if there is a caller that has no IPA profile. */
+ bool called_without_ipa_profile;
};
/* Initialize fields of STAT to zeroes and optionally set it up so that edges
@@ -524,10 +522,39 @@ init_caller_stats (caller_statistics *stats, cgraph_node *itself = NULL)
stats->rec_count_sum = profile_count::zero ();
stats->count_sum = profile_count::zero ();
stats->n_calls = 0;
- stats->n_hot_calls = 0;
+ stats->n_interesting_calls = 0;
stats->n_nonrec_calls = 0;
stats->freq_sum = 0;
stats->itself = itself;
+ stats->called_without_ipa_profile = false;
+}
+
+/* We want to propagate across edges that may be executed, however
+ we do not want to check maybe_hot, since call itself may be cold
+ while calee contains some heavy loop which makes propagation still
+ relevant.
+
+ In particular, even edge called once may lead to significant
+ improvement. */
+
+static bool
+cs_interesting_for_ipcp_p (cgraph_edge *e)
+{
+ /* If profile says the edge is executed, we want to optimize. */
+ if (e->count.ipa ().nonzero_p ())
+ return true;
+ /* If local (possibly guseed or adjusted 0 profile) claims edge is
+ not executed, do not propagate. */
+ if (!e->count.nonzero_p ())
+ return false;
+ /* If IPA profile says edge is executed zero times, but zero
+ is quality is ADJUSTED, still consider it for cloning in
+ case we have partial training. */
+ if (e->count.ipa ().initialized_p ()
+ && opt_for_fn (e->callee->decl,flag_profile_partial_training)
+ && e->count.nonzero_p ())
+ return false;
+ return true;
}
/* Worker callback of cgraph_for_node_and_aliases accumulating statistics of
@@ -553,13 +580,18 @@ gather_caller_stats (struct cgraph_node *node, void *data)
else
stats->count_sum += cs->count.ipa ();
}
+ else
+ stats->called_without_ipa_profile = true;
stats->freq_sum += cs->sreal_frequency ();
stats->n_calls++;
if (stats->itself && stats->itself != cs->caller)
stats->n_nonrec_calls++;
- if (cs->maybe_hot_p ())
- stats->n_hot_calls ++;
+ /* If profile known to be zero, we do not want to clone for performance.
+ However if call is cold, the called function may still contain
+ important hot loops. */
+ if (cs_interesting_for_ipcp_p (cs))
+ stats->n_interesting_calls++;
}
return false;
@@ -602,26 +634,11 @@ ipcp_cloning_candidate_p (struct cgraph_node *node)
node->dump_name ());
return true;
}
-
- /* When profile is available and function is hot, propagate into it even if
- calls seems cold; constant propagation can improve function's speed
- significantly. */
- if (stats.count_sum > profile_count::zero ()
- && node->count.ipa ().initialized_p ())
- {
- if (stats.count_sum > node->count.ipa ().apply_scale (90, 100))
- {
- if (dump_file)
- fprintf (dump_file, "Considering %s for cloning; "
- "usually called directly.\n",
- node->dump_name ());
- return true;
- }
- }
- if (!stats.n_hot_calls)
+ if (!stats.n_interesting_calls)
{
if (dump_file)
- fprintf (dump_file, "Not considering %s for cloning; no hot calls.\n",
+ fprintf (dump_file, "Not considering %s for cloning; "
+ "no calls considered interesting by profile.\n",
node->dump_name ());
return false;
}
@@ -3369,24 +3386,29 @@ incorporate_penalties (cgraph_node *node, ipa_node_params *info,
static bool
good_cloning_opportunity_p (struct cgraph_node *node, sreal time_benefit,
sreal freq_sum, profile_count count_sum,
- int size_cost)
+ int size_cost, bool called_without_ipa_profile)
{
+ gcc_assert (count_sum.ipa () == count_sum);
if (time_benefit == 0
|| !opt_for_fn (node->decl, flag_ipa_cp_clone)
- || node->optimize_for_size_p ())
+ || node->optimize_for_size_p ()
+ /* If there is no call which was executed in profiling or where
+ profile is missing, we do not want to clone. */
+ || (!called_without_ipa_profile && !count_sum.nonzero_p ()))
return false;
gcc_assert (size_cost > 0);
ipa_node_params *info = ipa_node_params_sum->get (node);
int eval_threshold = opt_for_fn (node->decl, param_ipa_cp_eval_threshold);
+ /* If we know the execution IPA execution counts, we can estimate overall
+ speedup of the program. */
if (count_sum.nonzero_p ())
{
- gcc_assert (base_count.nonzero_p ());
- sreal factor = count_sum.probability_in (base_count).to_sreal ();
- sreal evaluation = (time_benefit * factor) / size_cost;
+ profile_count saved_time = count_sum * time_benefit;
+ sreal evaluation = saved_time.to_sreal_scale (profile_count::one ())
+ / size_cost;
evaluation = incorporate_penalties (node, info, evaluation);
- evaluation *= 1000;
if (dump_file && (dump_flags & TDF_DETAILS))
{
@@ -3394,33 +3416,46 @@ good_cloning_opportunity_p (struct cgraph_node *node, sreal time_benefit,
"size: %i, count_sum: ", time_benefit.to_double (),
size_cost);
count_sum.dump (dump_file);
+ fprintf (dump_file, ", overall time saved: ");
+ saved_time.dump (dump_file);
fprintf (dump_file, "%s%s) -> evaluation: %.2f, threshold: %i\n",
info->node_within_scc
? (info->node_is_self_scc ? ", self_scc" : ", scc") : "",
info->node_calling_single_call ? ", single_call" : "",
evaluation.to_double (), eval_threshold);
}
-
- return evaluation.to_int () >= eval_threshold;
+ gcc_checking_assert (saved_time == saved_time.ipa ());
+ if (!maybe_hot_count_p (NULL, saved_time))
+ {
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file, " not cloning: time saved is not hot\n");
+ }
+ /* Evaulation approximately corresponds to time saved per instruction
+ introduced. This is likely almost always going to be true, since we
+ already checked that time saved is large enough to be considered
+ hot. */
+ else if (evaluation.to_int () >= eval_threshold)
+ return true;
+ /* If all call sites have profile known; we know we do not want t clone.
+ If there are calls with unknown profile; try local heuristics. */
+ if (!called_without_ipa_profile)
+ return false;
}
- else
- {
- sreal evaluation = (time_benefit * freq_sum) / size_cost;
- evaluation = incorporate_penalties (node, info, evaluation);
- evaluation *= 1000;
+ sreal evaluation = (time_benefit * freq_sum) / size_cost;
+ evaluation = incorporate_penalties (node, info, evaluation);
+ evaluation *= 1000;
- if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file, " good_cloning_opportunity_p (time: %g, "
- "size: %i, freq_sum: %g%s%s) -> evaluation: %.2f, "
- "threshold: %i\n",
- time_benefit.to_double (), size_cost, freq_sum.to_double (),
- info->node_within_scc
- ? (info->node_is_self_scc ? ", self_scc" : ", scc") : "",
- info->node_calling_single_call ? ", single_call" : "",
- evaluation.to_double (), eval_threshold);
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file, " good_cloning_opportunity_p (time: %g, "
+ "size: %i, freq_sum: %g%s%s) -> evaluation: %.2f, "
+ "threshold: %i\n",
+ time_benefit.to_double (), size_cost, freq_sum.to_double (),
+ info->node_within_scc
+ ? (info->node_is_self_scc ? ", self_scc" : ", scc") : "",
+ info->node_calling_single_call ? ", single_call" : "",
+ evaluation.to_double (), eval_threshold);
- return evaluation.to_int () >= eval_threshold;
- }
+ return evaluation.to_int () >= eval_threshold;
}
/* Grow vectors in AVALS and fill them with information about values of
@@ -3613,7 +3648,8 @@ estimate_local_effects (struct cgraph_node *node)
"known contexts, code not going to grow.\n");
}
else if (good_cloning_opportunity_p (node, time, stats.freq_sum,
- stats.count_sum, size))
+ stats.count_sum, size,
+ stats.called_without_ipa_profile))
{
if (size + overall_size <= get_max_overall_size (node))
{
@@ -3979,7 +4015,7 @@ value_topo_info<valtype>::propagate_effects ()
processed_srcvals.empty ();
for (src = val->sources; src; src = src->next)
if (src->val
- && src->cs->maybe_hot_p ())
+ && cs_interesting_for_ipcp_p (src->cs))
{
if (!processed_srcvals.add (src->val))
{
@@ -4024,21 +4060,6 @@ value_topo_info<valtype>::propagate_effects ()
}
}
-/* Callback for qsort to sort counts of all edges. */
-
-static int
-compare_edge_profile_counts (const void *a, const void *b)
-{
- const profile_count *cnt1 = (const profile_count *) a;
- const profile_count *cnt2 = (const profile_count *) b;
-
- if (*cnt1 < *cnt2)
- return 1;
- if (*cnt1 > *cnt2)
- return -1;
- return 0;
-}
-
/* Propagate constants, polymorphic contexts and their effects from the
summaries interprocedurally. */
@@ -4051,10 +4072,6 @@ ipcp_propagate_stage (class ipa_topo_info *topo)
if (dump_file)
fprintf (dump_file, "\n Propagating constants:\n\n");
- base_count = profile_count::uninitialized ();
-
- bool compute_count_base = false;
- unsigned base_count_pos_percent = 0;
FOR_EACH_DEFINED_FUNCTION (node)
{
if (node->has_gimple_body_p ()
@@ -4071,57 +4088,8 @@ ipcp_propagate_stage (class ipa_topo_info *topo)
ipa_size_summary *s = ipa_size_summaries->get (node);
if (node->definition && !node->alias && s != NULL)
overall_size += s->self_size;
- if (node->count.ipa ().initialized_p ())
- {
- compute_count_base = true;
- unsigned pos_percent = opt_for_fn (node->decl,
- param_ipa_cp_profile_count_base);
- base_count_pos_percent = MAX (base_count_pos_percent, pos_percent);
- }
}
- if (compute_count_base)
- {
- auto_vec<profile_count> all_edge_counts;
- all_edge_counts.reserve_exact (symtab->edges_count);
- FOR_EACH_DEFINED_FUNCTION (node)
- for (cgraph_edge *cs = node->callees; cs; cs = cs->next_callee)
- {
- profile_count count = cs->count.ipa ();
- if (!count.nonzero_p ())
- continue;
-
- enum availability avail;
- cgraph_node *tgt
- = cs->callee->function_or_virtual_thunk_symbol (&avail);
- ipa_node_params *info = ipa_node_params_sum->get (tgt);
- if (info && info->versionable)
- all_edge_counts.quick_push (count);
- }
-
- if (!all_edge_counts.is_empty ())
- {
- gcc_assert (base_count_pos_percent <= 100);
- all_edge_counts.qsort (compare_edge_profile_counts);
-
- unsigned base_count_pos
- = ((all_edge_counts.length () * (base_count_pos_percent)) / 100);
- base_count = all_edge_counts[base_count_pos];
-
- if (dump_file)
- {
- fprintf (dump_file, "\nSelected base_count from %u edges at "
- "position %u, arriving at: ", all_edge_counts.length (),
- base_count_pos);
- base_count.dump (dump_file);
- fprintf (dump_file, "\n");
- }
- }
- else if (dump_file)
- fprintf (dump_file, "\nNo candidates with non-zero call count found, "
- "continuing as if without profile feedback.\n");
- }
-
orig_overall_size = overall_size;
if (dump_file)
@@ -4383,15 +4351,17 @@ static bool
get_info_about_necessary_edges (ipcp_value<valtype> *val, cgraph_node *dest,
sreal *freq_sum, int *caller_count,
profile_count *rec_count_sum,
- profile_count *nonrec_count_sum)
+ profile_count *nonrec_count_sum,
+ bool *called_without_ipa_profile)
{
ipcp_value_source<valtype> *src;
sreal freq = 0;
int count = 0;
profile_count rec_cnt = profile_count::zero ();
profile_count nonrec_cnt = profile_count::zero ();
- bool hot = false;
+ bool interesting = false;
bool non_self_recursive = false;
+ *called_without_ipa_profile = false;
for (src = val->sources; src; src = src->next)
{
@@ -4402,15 +4372,19 @@ get_info_about_necessary_edges (ipcp_value<valtype> *val, cgraph_node *dest,
{
count++;
freq += cs->sreal_frequency ();
- hot |= cs->maybe_hot_p ();
+ interesting |= cs_interesting_for_ipcp_p (cs);
if (cs->caller != dest)
{
non_self_recursive = true;
if (cs->count.ipa ().initialized_p ())
rec_cnt += cs->count.ipa ();
+ else
+ *called_without_ipa_profile = true;
}
else if (cs->count.ipa ().initialized_p ())
nonrec_cnt += cs->count.ipa ();
+ else
+ *called_without_ipa_profile = true;
}
cs = get_next_cgraph_edge_clone (cs);
}
@@ -4426,19 +4400,7 @@ get_info_about_necessary_edges (ipcp_value<valtype> *val, cgraph_node *dest,
*rec_count_sum = rec_cnt;
*nonrec_count_sum = nonrec_cnt;
- if (!hot && ipa_node_params_sum->get (dest)->node_within_scc)
- {
- struct cgraph_edge *cs;
-
- /* Cold non-SCC source edge could trigger hot recursive execution of
- function. Consider the case as hot and rely on following cost model
- computation to further select right one. */
- for (cs = dest->callers; cs; cs = cs->next_caller)
- if (cs->caller == dest && cs->maybe_hot_p ())
- return true;
- }
-
- return hot;
+ return interesting;
}
/* Given a NODE, and a set of its CALLERS, try to adjust order of the callers
@@ -5928,6 +5890,7 @@ decide_about_value (struct cgraph_node *node, int index, HOST_WIDE_INT offset,
sreal freq_sum;
profile_count count_sum, rec_count_sum;
vec<cgraph_edge *> callers;
+ bool called_without_ipa_profile;
if (val->spec_node)
{
@@ -5943,7 +5906,8 @@ decide_about_value (struct cgraph_node *node, int index, HOST_WIDE_INT offset,
return false;
}
else if (!get_info_about_necessary_edges (val, node, &freq_sum, &caller_count,
- &rec_count_sum, &count_sum))
+ &rec_count_sum, &count_sum,
+ &called_without_ipa_profile))
return false;
if (!dbg_cnt (ipa_cp_values))
@@ -5980,9 +5944,11 @@ decide_about_value (struct cgraph_node *node, int index, HOST_WIDE_INT offset,
if (!good_cloning_opportunity_p (node, val->local_time_benefit,
freq_sum, count_sum,
- val->local_size_cost)
+ val->local_size_cost,
+ called_without_ipa_profile)
&& !good_cloning_opportunity_p (node, val->prop_time_benefit,
- freq_sum, count_sum, val->prop_size_cost))
+ freq_sum, count_sum, val->prop_size_cost,
+ called_without_ipa_profile))
return false;
if (dump_file)
@@ -6564,7 +6530,6 @@ make_pass_ipa_cp (gcc::context *ctxt)
void
ipa_cp_cc_finalize (void)
{
- base_count = profile_count::uninitialized ();
overall_size = 0;
orig_overall_size = 0;
ipcp_free_transformation_sum ();
diff --git a/gcc/m2/gm2-compiler/M2Check.mod b/gcc/m2/gm2-compiler/M2Check.mod
index 528c51d..d86ef8e 100644
--- a/gcc/m2/gm2-compiler/M2Check.mod
+++ b/gcc/m2/gm2-compiler/M2Check.mod
@@ -803,7 +803,12 @@ BEGIN
THEN
typeRight := GetDType (right) ;
typeLeft := GetDType (left) ;
- RETURN doCheckPair (result, tinfo, typeLeft, typeRight)
+ IF IsZRCType (typeLeft) AND IsUnbounded (typeRight)
+ THEN
+ RETURN false
+ ELSE
+ RETURN doCheckPair (result, tinfo, typeLeft, typeRight)
+ END
END ;
RETURN result
END checkConstMeta ;
@@ -868,7 +873,19 @@ END checkSubrangeTypeEquivalence ;
(*
- isZRC -
+ IsZRCType - return TRUE if type is a ZType, RType or a CType.
+*)
+
+PROCEDURE IsZRCType (type: CARDINAL) : BOOLEAN ;
+BEGIN
+ RETURN (type = CType) OR (type = ZType) OR (type = RType)
+END IsZRCType ;
+
+
+(*
+ isZRC - return TRUE if zrc is a ZType, RType or a CType
+ and sym is either a complex type when zrc = CType
+ or is not a composite type when zrc is a RType or ZType.
*)
PROCEDURE isZRC (zrc, sym: CARDINAL) : BOOLEAN ;
diff --git a/gcc/m2/gm2-compiler/M2Quads.mod b/gcc/m2/gm2-compiler/M2Quads.mod
index 9bb8c4d..4022657 100644
--- a/gcc/m2/gm2-compiler/M2Quads.mod
+++ b/gcc/m2/gm2-compiler/M2Quads.mod
@@ -69,6 +69,7 @@ FROM SymbolTable IMPORT ModeOfAddr, GetMode, PutMode, GetSymName, IsUnknown,
GetArraySubscript, GetDimension,
GetParam,
GetNth, GetNthParamAny,
+ GetNthParamAnyClosest,
GetFirstUsed, GetDeclaredMod,
GetQuads, GetReadQuads, GetWriteQuads,
GetWriteLimitQuads, GetReadLimitQuads,
@@ -5676,7 +5677,8 @@ BEGIN
WHILE i<=ParamTotal DO
IF i <= NoOfParamAny (Proc)
THEN
- FormalI := GetParam(Proc, i) ;
+ (* FormalI := GetParam(Proc, i) ; *)
+ FormalI := GetNthParamAnyClosest (Proc, i, GetCurrentModule ()) ;
IF CompilerDebugging
THEN
n1 := GetSymName(FormalI) ;
@@ -5801,7 +5803,7 @@ BEGIN
MetaError3 ('parameter {%3n} in {%1dD} causes a mismatch it was declared as a {%2d}', call, GetNth (call, i), i)
END ;
BuildRange (InitTypesParameterCheck (tokno, CheckedProcedure, i,
- GetParam (CheckedProcedure, i),
+ GetNthParamAnyClosest (CheckedProcedure, i, GetCurrentModule ()),
GetParam (ProcType, i), ParamCheckId)) ;
INC(i)
END
@@ -6150,7 +6152,7 @@ BEGIN
MetaErrorStringT2 (tokpos, Msg, ProcedureSym, ParameterNo) ;
IF NoOfParamAny (ProcedureSym) >= ParameterNo
THEN
- FormalParam := GetNthParamAny (ProcedureSym, ParameterNo) ;
+ FormalParam := GetNthParamAnyClosest (ProcedureSym, ParameterNo, GetCurrentModule ()) ;
IF IsUnboundedParamAny (ProcedureSym, ParameterNo)
THEN
MetaErrorT2 (GetVarDeclFullTok (FormalParam), 'formal parameter {%1ad} has an open array type {%2tad}',
@@ -6205,7 +6207,7 @@ BEGIN
MetaErrorStringT2 (tokpos, Msg, ProcedureSym, ParameterNo) ;
IF NoOfParamAny (ProcedureSym) >= ParameterNo
THEN
- FormalParam := GetNthParamAny (ProcedureSym, ParameterNo) ;
+ FormalParam := GetNthParamAnyClosest (ProcedureSym, ParameterNo, GetCurrentModule ()) ;
IF IsUnboundedParamAny (ProcedureSym, ParameterNo)
THEN
MetaErrorT2 (GetVarDeclFullTok (FormalParam), '{%W}formal parameter {%1ad} has an open array type {%2tad}',
diff --git a/gcc/m2/gm2-compiler/M2Range.mod b/gcc/m2/gm2-compiler/M2Range.mod
index 2a5bfab..8e3943a 100644
--- a/gcc/m2/gm2-compiler/M2Range.mod
+++ b/gcc/m2/gm2-compiler/M2Range.mod
@@ -154,6 +154,34 @@ TYPE
VAR
TopOfRange: CARDINAL ;
RangeIndex: Index ;
+ BreakRange: CARDINAL ;
+
+
+PROCEDURE gdbhook ;
+END gdbhook ;
+
+
+(*
+ BreakWhenRangeCreated - to be called interactively by gdb.
+*)
+
+PROCEDURE BreakWhenRangeCreated (r: CARDINAL) ;
+BEGIN
+ BreakRange := r
+END BreakWhenRangeCreated ;
+
+
+(*
+ CheckBreak - if sym = BreakRange then call gdbhook.
+*)
+
+PROCEDURE CheckBreak (r: CARDINAL) ;
+BEGIN
+ IF BreakRange = r
+ THEN
+ gdbhook
+ END
+END CheckBreak ;
(*
@@ -302,6 +330,7 @@ BEGIN
THEN
InternalError ('out of memory error')
ELSE
+ CheckBreak (r) ;
WITH p^ DO
type := none ;
des := NulSym ;
@@ -3746,7 +3775,19 @@ END WriteRangeCheck ;
PROCEDURE Init ;
BEGIN
TopOfRange := 0 ;
- RangeIndex := InitIndex(1)
+ RangeIndex := InitIndex(1) ;
+ BreakWhenRangeCreated (0) ; (* Disable the intereactive range watch. *)
+ (* To examine the range when it is created run cc1gm2 from gdb
+ and set a break point on gdbhook.
+ (gdb) break gdbhook
+ (gdb) run
+ Now below interactively call BreakWhenRangeCreated with the symbol
+ under investigation. *)
+ gdbhook ;
+ (* Now is the time to interactively call gdb, for example:
+ (gdb) print BreakWhenRangeCreated (1234)
+ (gdb) cont
+ and you will arrive at gdbhook when this symbol is created. *)
END Init ;
diff --git a/gcc/m2/gm2-compiler/SymbolTable.def b/gcc/m2/gm2-compiler/SymbolTable.def
index 85a3672..2a9865a 100644
--- a/gcc/m2/gm2-compiler/SymbolTable.def
+++ b/gcc/m2/gm2-compiler/SymbolTable.def
@@ -3478,4 +3478,20 @@ PROCEDURE UsesOptArgAny (Sym: CARDINAL) : BOOLEAN ;
PROCEDURE GetProcedureKindDesc (kind: ProcedureKind) : String ;
+(*
+ GetNthParamAnyClosest - returns the nth parameter from the order
+ proper procedure, forward declaration
+ or definition module procedure.
+ It chooses the parameter which is closest
+ in source terms to currentmodule.
+ The same module will return using the order
+ proper procedure, forward procedure, definition module.
+ Whereas an imported procedure will choose from
+ DefProcedure, ProperProcedure, ForwardProcedure.
+*)
+
+PROCEDURE GetNthParamAnyClosest (sym: CARDINAL; ParamNo: CARDINAL;
+ currentmodule: CARDINAL) : CARDINAL ;
+
+
END SymbolTable.
diff --git a/gcc/m2/gm2-compiler/SymbolTable.mod b/gcc/m2/gm2-compiler/SymbolTable.mod
index 826d2d3..551bbec 100644
--- a/gcc/m2/gm2-compiler/SymbolTable.mod
+++ b/gcc/m2/gm2-compiler/SymbolTable.mod
@@ -122,8 +122,6 @@ CONST
UnboundedAddressName = "_m2_contents" ;
UnboundedHighName = "_m2_high_%d" ;
- BreakSym = 203 ;
-
TYPE
ProcAnyBoolean = PROCEDURE (CARDINAL, ProcedureKind) : BOOLEAN ;
ProcAnyCardinal = PROCEDURE (CARDINAL, ProcedureKind) : CARDINAL ;
@@ -930,6 +928,7 @@ VAR
(* passes and reduce duplicate *)
(* errors. *)
ConstLitArray : Indexing.Index ;
+ BreakSym : CARDINAL ; (* Allows interactive debugging. *)
(*
@@ -1032,11 +1031,34 @@ END FinalSymbol ;
(*
- stop - a debugger convenience hook.
+ gdbhook - a debugger convenience hook.
+*)
+
+PROCEDURE gdbhook ;
+END gdbhook ;
+
+
+(*
+ BreakWhenSymCreated - to be called interactively by gdb.
*)
-PROCEDURE stop ;
-END stop ;
+PROCEDURE BreakWhenSymCreated (sym: CARDINAL) ;
+BEGIN
+ BreakSym := sym
+END BreakWhenSymCreated ;
+
+
+(*
+ CheckBreak - if sym = BreakSym then call gdbhook.
+*)
+
+PROCEDURE CheckBreak (sym: CARDINAL) ;
+BEGIN
+ IF sym = BreakSym
+ THEN
+ gdbhook
+ END
+END CheckBreak ;
(*
@@ -1053,10 +1075,7 @@ BEGIN
SymbolType := DummySym
END ;
PutIndice(Symbols, sym, pSym) ;
- IF sym = BreakSym
- THEN
- stop
- END ;
+ CheckBreak (sym) ;
INC(FreeSymbol)
END NewSym ;
@@ -1660,6 +1679,18 @@ PROCEDURE Init ;
VAR
pCall: PtrToCallFrame ;
BEGIN
+ BreakWhenSymCreated (NulSym) ; (* Disable the intereactive sym watch. *)
+ (* To examine the symbol table when a symbol is created run cc1gm2 from gdb
+ and set a break point on gdbhook.
+ (gdb) break gdbhook
+ (gdb) run
+ Now below interactively call BreakWhenSymCreated with the symbol
+ under investigation. *)
+ gdbhook ;
+ (* Now is the time to interactively call gdb, for example:
+ (gdb) print BreakWhenSymCreated (1234)
+ (gdb) cont
+ and you will arrive at gdbhook when this symbol is created. *)
AnonymousName := 0 ;
CurrentError := NIL ;
InitTree (ConstLitPoolTree) ;
@@ -3959,10 +3990,7 @@ VAR
BEGIN
tok := CheckTok (tok, 'procedure') ;
Sym := DeclareSym(tok, ProcedureName) ;
- IF Sym = BreakSym
- THEN
- stop
- END ;
+ CheckBreak (Sym) ;
IF NOT IsError(Sym)
THEN
pSym := GetPsym(Sym) ;
@@ -6926,6 +6954,89 @@ END GetNthParamAny ;
(*
+ GetNthParamChoice - returns the parameter definition from
+ sym:ParamNo:kind or NulSym.
+*)
+
+PROCEDURE GetNthParamChoice (sym: CARDINAL; ParamNo: CARDINAL;
+ kind: ProcedureKind) : CARDINAL ;
+BEGIN
+ IF GetProcedureParametersDefined (sym, kind)
+ THEN
+ RETURN GetNthParam (sym, kind, ParamNo)
+ ELSE
+ RETURN NulSym
+ END
+END GetNthParamChoice ;
+
+
+(*
+ GetNthParamOrdered - returns the parameter definition from list {a, b, c}
+ in order.
+ sym:ParamNo:{a,b,c} or NulSym.
+*)
+
+PROCEDURE GetNthParamOrdered (sym: CARDINAL; ParamNo: CARDINAL;
+ a, b, c: ProcedureKind) : CARDINAL ;
+VAR
+ param: CARDINAL ;
+BEGIN
+ param := GetNthParamChoice (sym, ParamNo, a) ;
+ IF param = NulSym
+ THEN
+ param := GetNthParamChoice (sym, ParamNo, b) ;
+ IF param = NulSym
+ THEN
+ param := GetNthParamChoice (sym, ParamNo, c)
+ END
+ END ;
+ RETURN param
+END GetNthParamOrdered ;
+
+
+(*
+ GetNthParamAnyClosest - returns the nth parameter from the order
+ proper procedure, forward declaration
+ or definition module procedure.
+ It chooses the parameter which is closest
+ in source terms to currentmodule.
+ The same module will return using the order
+ proper procedure, forward procedure, definition module.
+ Whereas an imported procedure will choose from
+ DefProcedure, ProperProcedure, ForwardProcedure.
+*)
+
+PROCEDURE GetNthParamAnyClosest (sym: CARDINAL; ParamNo: CARDINAL;
+ currentmodule: CARDINAL) : CARDINAL ;
+BEGIN
+ IF GetOuterModuleScope (currentmodule) = GetOuterModuleScope (sym)
+ THEN
+ (* Same module. *)
+ RETURN GetNthParamOrdered (sym, ParamNo,
+ ProperProcedure, ForwardProcedure, DefProcedure)
+ ELSE
+ (* Procedure is imported. *)
+ RETURN GetNthParamOrdered (sym, ParamNo,
+ DefProcedure, ProperProcedure, ForwardProcedure)
+ END
+END GetNthParamAnyClosest ;
+
+
+(*
+ GetOuterModuleScope - returns the outer module symbol scope for sym.
+*)
+
+PROCEDURE GetOuterModuleScope (sym: CARDINAL) : CARDINAL ;
+BEGIN
+ WHILE NOT (IsDefImp (sym) OR
+ (IsModule (sym) AND (GetScope (sym) = NulSym))) DO
+ sym := GetScope (sym)
+ END ;
+ RETURN sym
+END GetOuterModuleScope ;
+
+
+(*
The Following procedures fill in the symbol table with the
symbol entities.
*)
diff --git a/gcc/params.opt b/gcc/params.opt
index a2b606f..ef19051 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -273,10 +273,6 @@ The size of translation unit that IPA-CP pass considers large.
Common Joined UInteger Var(param_ipa_cp_value_list_size) Init(8) Param Optimization
Maximum size of a list of values associated with each parameter for interprocedural constant propagation.
--param=ipa-cp-profile-count-base=
-Common Joined UInteger Var(param_ipa_cp_profile_count_base) Init(10) IntegerRange(0, 100) Param Optimization
-When using profile feedback, use the edge at this percentage position in frequency histogram as the bases for IPA-CP heuristics.
-
-param=ipa-jump-function-lookups=
Common Joined UInteger Var(param_ipa_jump_function_lookups) Init(8) Param Optimization
Maximum number of statements visited during jump function offset discovery.
diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot
index 2eea928..16ab924 100644
--- a/gcc/po/gcc.pot
+++ b/gcc/po/gcc.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2025-04-04 20:42+0000\n"
+"POT-Creation-Date: 2025-04-23 19:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -241,47 +241,47 @@ msgstr ""
msgid "error"
msgstr ""
-#: gcc.cc:856 gcc.cc:913
+#: gcc.cc:859 gcc.cc:916
msgid "-gz is not supported in this configuration"
msgstr ""
-#: gcc.cc:862
+#: gcc.cc:865
msgid "-gz=zstd is not supported in this configuration"
msgstr ""
-#: gcc.cc:1096
+#: gcc.cc:1099
msgid "-fuse-linker-plugin is not supported in this configuration"
msgstr ""
-#: gcc.cc:1112
+#: gcc.cc:1115
msgid "cannot specify -static with -fsanitize=address"
msgstr ""
-#: gcc.cc:1114
+#: gcc.cc:1117
msgid "cannot specify -static with -fsanitize=hwaddress"
msgstr ""
-#: gcc.cc:1116
+#: gcc.cc:1119
msgid "cannot specify -static with -fsanitize=thread"
msgstr ""
-#: gcc.cc:1138
+#: gcc.cc:1141
msgid "-fvtable-verify=std is not supported in this configuration"
msgstr ""
-#: gcc.cc:1140
+#: gcc.cc:1143
msgid "-fvtable-verify=preinit is not supported in this configuration"
msgstr ""
-#: gcc.cc:1283 ada/gcc-interface/lang-specs.h:37
+#: gcc.cc:1286 ada/gcc-interface/lang-specs.h:37
msgid "-pg and -fomit-frame-pointer are incompatible"
msgstr ""
-#: gcc.cc:1458
+#: gcc.cc:1461
msgid "GNU C no longer supports -traditional without -E"
msgstr ""
-#: gcc.cc:1467
+#: gcc.cc:1470
msgid "-E or -x required when input is from standard input"
msgstr ""
@@ -329,7 +329,7 @@ msgstr ""
msgid "-force_flat_namespace not allowed with -dynamiclib"
msgstr ""
-#: config/darwin.h:216 config/darwin.h:671
+#: config/darwin.h:216 config/darwin.h:672
msgid "gsplit-dwarf is not supported on this platform"
msgstr ""
@@ -539,11 +539,11 @@ msgstr ""
msgid "Warn about creation of array temporaries."
msgstr ""
-#: fortran/lang.opt:214 fortran/lang.opt:547 c-family/c.opt:1691
+#: fortran/lang.opt:214 fortran/lang.opt:547 c-family/c.opt:1692
#: config/alpha/alpha.opt:31 common.opt:691 common.opt:849 common.opt:1112
#: common.opt:1116 common.opt:1120 common.opt:1124 common.opt:1876
-#: common.opt:1979 common.opt:2156 common.opt:2160 common.opt:2471
-#: common.opt:2697 common.opt:3464
+#: common.opt:1979 common.opt:2161 common.opt:2165 common.opt:2479
+#: common.opt:2705 common.opt:3472
#, no-c-format
msgid "Does nothing. Preserved for backward compatibility."
msgstr ""
@@ -938,7 +938,7 @@ msgstr ""
msgid "-ffpe-summary=[...]\tPrint summary of floating point exceptions."
msgstr ""
-#: fortran/lang.opt:615 cobol/lang.opt:86
+#: fortran/lang.opt:615 cobol/lang.opt:82
#, no-c-format
msgid "Assume that the source file is free form."
msgstr ""
@@ -1176,19 +1176,19 @@ msgstr ""
msgid "Append underscores to externally visible names."
msgstr ""
-#: fortran/lang.opt:871 c-family/c.opt:1830 c-family/c.opt:1907
-#: c-family/c.opt:1915 c-family/c.opt:2246 config/xtensa/xtensa.opt:42
+#: fortran/lang.opt:871 c-family/c.opt:1831 c-family/c.opt:1908
+#: c-family/c.opt:1916 c-family/c.opt:2247 config/xtensa/xtensa.opt:42
#: config/pa/pa.opt:46 config/pa/pa.opt:78 config/arc/arc.opt:140
#: config/arc/arc.opt:296 config/arc/arc.opt:304 config/arc/arc.opt:308
#: config/arc/arc.opt:312 config/arc/arc.opt:317 config/arc/arc.opt:326
#: config/arc/arc.opt:405 common.opt:649 common.opt:1210 common.opt:1214
#: common.opt:1218 common.opt:1313 common.opt:1658 common.opt:1740
-#: common.opt:1839 common.opt:2108 common.opt:2251 common.opt:2305
-#: common.opt:2775 common.opt:2811 common.opt:2904 common.opt:2908
-#: common.opt:3017 common.opt:3152 common.opt:3160 common.opt:3168
-#: common.opt:3176 common.opt:3277 common.opt:3337 common.opt:3425
-#: common.opt:3605 common.opt:3609 common.opt:3613 common.opt:3617
-#: common.opt:3691 common.opt:3695 common.opt:3726 common.opt:3730
+#: common.opt:1839 common.opt:2109 common.opt:2256 common.opt:2313
+#: common.opt:2783 common.opt:2819 common.opt:2912 common.opt:2916
+#: common.opt:3025 common.opt:3160 common.opt:3168 common.opt:3176
+#: common.opt:3184 common.opt:3285 common.opt:3345 common.opt:3433
+#: common.opt:3613 common.opt:3617 common.opt:3621 common.opt:3625
+#: common.opt:3699 common.opt:3703 common.opt:3734 common.opt:3738
#, no-c-format
msgid "Does nothing. Preserved for backward compatibility."
msgstr ""
@@ -1248,19 +1248,19 @@ msgstr ""
msgid "Accept extensions to support legacy code."
msgstr ""
-#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1562 c-family/c.opt:1566
+#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1563 c-family/c.opt:1567
#, no-c-format
msgid "Warn when a const variable is unused."
msgstr ""
-#: rust/lang.opt:55 c-family/c.opt:1578
+#: rust/lang.opt:55 c-family/c.opt:1579
#, no-c-format
msgid ""
"Warn if a caller of a function, marked with attribute warn_unused_result, "
"does not use its return value."
msgstr ""
-#: rust/lang.opt:59 c-family/c.opt:892 common.opt:660
+#: rust/lang.opt:59 c-family/c.opt:893 common.opt:660
#, no-c-format
msgid "Warn for infinitely recursive calls."
msgstr ""
@@ -1516,1292 +1516,1297 @@ msgid ""
"does not have."
msgstr ""
-#: c-family/c.opt:310
+#: c-family/c.opt:307
+#, no-c-format
+msgid "Warn about code affected by incompatible psABI changes."
+msgstr ""
+
+#: c-family/c.opt:311
#, no-c-format
msgid ""
"Warn on suspicious calls of standard functions computing absolute values."
msgstr ""
-#: c-family/c.opt:314
+#: c-family/c.opt:315
#, no-c-format
msgid "Warn about suspicious uses of memory addresses."
msgstr ""
-#: c-family/c.opt:318
+#: c-family/c.opt:319
#, no-c-format
msgid "Warn when the address of packed member of struct or union is taken."
msgstr ""
-#: c-family/c.opt:334
+#: c-family/c.opt:335
#, no-c-format
msgid "Warn about 'new' of type with extended alignment without -faligned-new."
msgstr ""
-#: c-family/c.opt:338
+#: c-family/c.opt:339
#, no-c-format
msgid ""
"-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member "
"allocation function."
msgstr ""
-#: c-family/c.opt:342 ada/gcc-interface/lang.opt:57
+#: c-family/c.opt:343 ada/gcc-interface/lang.opt:57
#, no-c-format
msgid "Enable most warning messages."
msgstr ""
-#: c-family/c.opt:346
+#: c-family/c.opt:347
#, no-c-format
msgid "Warn on any use of alloca."
msgstr ""
-#: c-family/c.opt:350
+#: c-family/c.opt:351
#, no-c-format
msgid ""
"Warn when allocating insufficient storage for the target type of the "
"assigned pointer."
msgstr ""
-#: c-family/c.opt:354
+#: c-family/c.opt:355
#, no-c-format
msgid ""
"-Walloc-size-larger-than=<bytes>\tWarn for calls to allocation functions "
"that attempt to allocate objects larger than the specified number of bytes."
msgstr ""
-#: c-family/c.opt:359
+#: c-family/c.opt:360
#, no-c-format
msgid ""
"Disable Walloc-size-larger-than= warning. Equivalent to Walloc-size-larger-"
"than=<SIZE_MAX> or larger."
msgstr ""
-#: c-family/c.opt:363
+#: c-family/c.opt:364
#, no-c-format
msgid "Warn for calls to allocation functions that specify zero bytes."
msgstr ""
-#: c-family/c.opt:367
+#: c-family/c.opt:368
#, no-c-format
msgid ""
"-Walloca-larger-than=<number>\tWarn on unbounded uses of alloca, and on "
"bounded uses of alloca whose bound can be larger than <number> bytes."
msgstr ""
-#: c-family/c.opt:373
+#: c-family/c.opt:374
#, no-c-format
msgid ""
"Disable Walloca-larger-than= warning. Equivalent to Walloca-larger-"
"than=<SIZE_MAX> or larger."
msgstr ""
-#: c-family/c.opt:377
+#: c-family/c.opt:378
#, no-c-format
msgid ""
"Warn if conversion of the result of arithmetic might change the value even "
"though converting the operands cannot."
msgstr ""
-#: c-family/c.opt:385
+#: c-family/c.opt:386
#, no-c-format
msgid "Warn about comparisons between two operands of array type."
msgstr ""
-#: c-family/c.opt:389 c-family/c.opt:393
+#: c-family/c.opt:390 c-family/c.opt:394
#, no-c-format
msgid ""
"Warn about mismatched declarations of array parameters and unsafe accesses "
"to them."
msgstr ""
-#: c-family/c.opt:397
+#: c-family/c.opt:398
#, no-c-format
msgid ""
"Warn whenever an Objective-C assignment is being intercepted by the garbage "
"collector."
msgstr ""
-#: c-family/c.opt:401
+#: c-family/c.opt:402
#, no-c-format
msgid "Warn about casting functions to incompatible types."
msgstr ""
-#: c-family/c.opt:409
+#: c-family/c.opt:410
#, no-c-format
msgid ""
"-Wbidi-chars=[none|unpaired|any|ucn] Warn about UTF-8 bidirectional control "
"characters."
msgstr ""
-#: c-family/c.opt:432
+#: c-family/c.opt:433
#, no-c-format
msgid ""
"Warn about boolean expression compared with an integer value different from "
"true/false."
msgstr ""
-#: c-family/c.opt:436
+#: c-family/c.opt:437
#, no-c-format
msgid "Warn about certain operations on boolean expressions."
msgstr ""
-#: c-family/c.opt:440
+#: c-family/c.opt:441
#, no-c-format
msgid "Warn when a built-in function is declared with the wrong signature."
msgstr ""
-#: c-family/c.opt:444
+#: c-family/c.opt:445
#, no-c-format
msgid "Warn when a built-in preprocessor macro is undefined or redefined."
msgstr ""
-#: c-family/c.opt:448
+#: c-family/c.opt:449
#, no-c-format
msgid "Warn about features not present in ISO C11, but present in ISO C23."
msgstr ""
-#: c-family/c.opt:452
+#: c-family/c.opt:453
#, no-c-format
msgid "Deprecated in favor of -Wc11-c23-compat."
msgstr ""
-#: c-family/c.opt:456
+#: c-family/c.opt:457
#, no-c-format
msgid "Warn about features not present in ISO C23, but present in ISO C2Y."
msgstr ""
-#: c-family/c.opt:460
+#: c-family/c.opt:461
#, no-c-format
msgid "Warn about features not present in ISO C90, but present in ISO C99."
msgstr ""
-#: c-family/c.opt:464
+#: c-family/c.opt:465
#, no-c-format
msgid "Warn about features not present in ISO C99, but present in ISO C11."
msgstr ""
-#: c-family/c.opt:468
+#: c-family/c.opt:469
#, no-c-format
msgid "Warn about C constructs that are not in the common subset of C and C++."
msgstr ""
-#: c-family/c.opt:475
+#: c-family/c.opt:476
#, no-c-format
msgid ""
"Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO "
"C++ 2011."
msgstr ""
-#: c-family/c.opt:479
+#: c-family/c.opt:480
#, no-c-format
msgid ""
"Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO "
"C++ 2014."
msgstr ""
-#: c-family/c.opt:486
+#: c-family/c.opt:487
#, no-c-format
msgid ""
"Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO "
"C++ 2017."
msgstr ""
-#: c-family/c.opt:493
+#: c-family/c.opt:494
#, no-c-format
msgid ""
"Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO "
"C++ 2020."
msgstr ""
-#: c-family/c.opt:497
+#: c-family/c.opt:498
#, no-c-format
msgid "Warn about C++11 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:501
+#: c-family/c.opt:502
#, no-c-format
msgid "Warn about C++14 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:505
+#: c-family/c.opt:506
#, no-c-format
msgid "Warn about C++17 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:509
+#: c-family/c.opt:510
#, no-c-format
msgid "Warn about C++20 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:513
+#: c-family/c.opt:514
#, no-c-format
msgid "Warn about C++23 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:517
+#: c-family/c.opt:518
#, no-c-format
msgid "Warn about C++26 constructs in code compiled with an older standard."
msgstr ""
-#: c-family/c.opt:521
+#: c-family/c.opt:522
#, no-c-format
msgid ""
"Warn about suspicious calls to calloc-like functions where sizeof expression "
"is the earlier size argument and not the latter."
msgstr ""
-#: c-family/c.opt:525
+#: c-family/c.opt:526
#, no-c-format
msgid "Warn about casts between incompatible function types."
msgstr ""
-#: c-family/c.opt:529
+#: c-family/c.opt:530
#, no-c-format
msgid "Warn about casts which discard qualifiers."
msgstr ""
-#: c-family/c.opt:533
+#: c-family/c.opt:534
#, no-c-format
msgid ""
"Warn about a cast to reference type that does not use a related user-defined "
"conversion function."
msgstr ""
-#: c-family/c.opt:537 c-family/c.opt:541
+#: c-family/c.opt:538 c-family/c.opt:542
#, no-c-format
msgid "Warn about catch handlers of non-reference type."
msgstr ""
-#: c-family/c.opt:545
+#: c-family/c.opt:546
#, no-c-format
msgid ""
"Complain about a name being declared as a class member after a previous use "
"of the same name."
msgstr ""
-#: c-family/c.opt:549
+#: c-family/c.opt:550
#, no-c-format
msgid "Warn about subscripts whose type is \"char\"."
msgstr ""
-#: c-family/c.opt:553 c-family/c.opt:1727 c-family/c.opt:1731
-#: c-family/c.opt:1735 c-family/c.opt:1739 c-family/c.opt:1743
-#: c-family/c.opt:1747 c-family/c.opt:1751 c-family/c.opt:1758
-#: c-family/c.opt:1762 c-family/c.opt:1766 c-family/c.opt:1770
-#: c-family/c.opt:1774 c-family/c.opt:1778 c-family/c.opt:1782
-#: c-family/c.opt:1786 c-family/c.opt:1790 c-family/c.opt:1794
-#: c-family/c.opt:1798 c-family/c.opt:1802 c-family/c.opt:1806
+#: c-family/c.opt:554 c-family/c.opt:1728 c-family/c.opt:1732
+#: c-family/c.opt:1736 c-family/c.opt:1740 c-family/c.opt:1744
+#: c-family/c.opt:1748 c-family/c.opt:1752 c-family/c.opt:1759
+#: c-family/c.opt:1763 c-family/c.opt:1767 c-family/c.opt:1771
+#: c-family/c.opt:1775 c-family/c.opt:1779 c-family/c.opt:1783
+#: c-family/c.opt:1787 c-family/c.opt:1791 c-family/c.opt:1795
+#: c-family/c.opt:1799 c-family/c.opt:1803 c-family/c.opt:1807
#: config/i386/i386.opt:1005
#, no-c-format
msgid "Removed in GCC 9. This switch has no effect."
msgstr ""
-#: c-family/c.opt:557
+#: c-family/c.opt:558
#, no-c-format
msgid ""
"Warn when a conversion function will never be called due to the type it "
"converts to."
msgstr ""
-#: c-family/c.opt:561
+#: c-family/c.opt:562
#, no-c-format
msgid "Warn for unsafe raw memory writes to objects of class types."
msgstr ""
-#: c-family/c.opt:565
+#: c-family/c.opt:566
#, no-c-format
msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"."
msgstr ""
-#: c-family/c.opt:569
+#: c-family/c.opt:570
#, no-c-format
msgid "Warn about uses of a comma operator within a subscripting expression."
msgstr ""
-#: c-family/c.opt:573
+#: c-family/c.opt:574
#, no-c-format
msgid ""
"Warn about possibly nested block comments, and C++ comments spanning more "
"than one physical line."
msgstr ""
-#: c-family/c.opt:577
+#: c-family/c.opt:578
#, no-c-format
msgid "Synonym for -Wcomment."
msgstr ""
-#: c-family/c.opt:581
+#: c-family/c.opt:582
#, no-c-format
msgid "Warn for conditionally-supported constructs."
msgstr ""
-#: c-family/c.opt:585
+#: c-family/c.opt:586
#, no-c-format
msgid "Warn for implicit type conversions that may change a value."
msgstr ""
-#: c-family/c.opt:589
+#: c-family/c.opt:590
#, no-c-format
msgid "Warn for converting NULL from/to a non-pointer type."
msgstr ""
-#: c-family/c.opt:597
+#: c-family/c.opt:598
#, no-c-format
msgid ""
"Warn when performing class template argument deduction on a type with no "
"deduction guides."
msgstr ""
-#: c-family/c.opt:602
+#: c-family/c.opt:603
#, no-c-format
msgid "Warn when all constructors and destructors are private."
msgstr ""
-#: c-family/c.opt:606
+#: c-family/c.opt:607
#, no-c-format
msgid "Warn about dangling else."
msgstr ""
-#: c-family/c.opt:610 c-family/c.opt:614
+#: c-family/c.opt:611 c-family/c.opt:615
#, no-c-format
msgid "Warn for uses of pointers to auto variables whose lifetime has ended."
msgstr ""
-#: c-family/c.opt:618
+#: c-family/c.opt:619
#, no-c-format
msgid "Warn when a reference is bound to a temporary whose lifetime has ended."
msgstr ""
-#: c-family/c.opt:622
+#: c-family/c.opt:623
#, no-c-format
msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage."
msgstr ""
-#: c-family/c.opt:626
+#: c-family/c.opt:627
#, no-c-format
msgid "Warn when a declaration is found after a statement."
msgstr ""
-#: c-family/c.opt:630
+#: c-family/c.opt:631
#, no-c-format
msgid "Warn for missing parameter types in function declarations."
msgstr ""
-#: c-family/c.opt:634
+#: c-family/c.opt:635
#, no-c-format
msgid "Warn when an explicitly defaulted function is deleted."
msgstr ""
-#: c-family/c.opt:638
+#: c-family/c.opt:639
#, no-c-format
msgid "Warn when deleting a pointer to incomplete type."
msgstr ""
-#: c-family/c.opt:642
+#: c-family/c.opt:643
#, no-c-format
msgid "Warn about deleting polymorphic objects with non-virtual destructors."
msgstr ""
-#: c-family/c.opt:650
+#: c-family/c.opt:651
#, no-c-format
msgid ""
"Mark implicitly-declared copy operations as deprecated if the class has a "
"user-provided copy operation."
msgstr ""
-#: c-family/c.opt:655
+#: c-family/c.opt:656
#, no-c-format
msgid ""
"Mark implicitly-declared copy operations as deprecated if the class has a "
"user-provided copy operation or destructor."
msgstr ""
-#: c-family/c.opt:660
+#: c-family/c.opt:661
#, no-c-format
msgid ""
"Warn about deprecated arithmetic conversions on operands of enumeration "
"types."
msgstr ""
-#: c-family/c.opt:664
+#: c-family/c.opt:665
#, no-c-format
msgid ""
"Warn about deprecated arithmetic conversions on operands where one is of "
"enumeration type and the other is of a floating-point type."
msgstr ""
-#: c-family/c.opt:669
+#: c-family/c.opt:670
#, no-c-format
msgid ""
"Warn about deprecated space between \"\" and suffix in a user-defined "
"literal operator."
msgstr ""
-#: c-family/c.opt:673
+#: c-family/c.opt:674
#, no-c-format
msgid ""
"Warn about calls with arguments to functions declared without parameters."
msgstr ""
-#: c-family/c.opt:677
+#: c-family/c.opt:678
#, no-c-format
msgid ""
"Warn about deprecated omission of comma before ... in varargs function "
"declaration."
msgstr ""
-#: c-family/c.opt:681
+#: c-family/c.opt:682
#, no-c-format
msgid ""
"Warn about positional initialization of structs requiring designated "
"initializers."
msgstr ""
-#: c-family/c.opt:685
+#: c-family/c.opt:686
#, no-c-format
msgid "Warn if qualifiers on arrays which are pointer targets are discarded."
msgstr ""
-#: c-family/c.opt:689
+#: c-family/c.opt:690
#, no-c-format
msgid "Warn if type qualifiers on pointers are discarded."
msgstr ""
-#: c-family/c.opt:693
+#: c-family/c.opt:694
#, no-c-format
msgid "Warn about compile-time integer division by zero."
msgstr ""
-#: c-family/c.opt:697
+#: c-family/c.opt:698
#, no-c-format
msgid "Warn about implicit conversions from \"float\" to \"double\"."
msgstr ""
-#: c-family/c.opt:701
+#: c-family/c.opt:702
#, no-c-format
msgid ""
"Warn when a declaration has duplicate const, volatile, restrict or _Atomic "
"specifier."
msgstr ""
-#: c-family/c.opt:705
+#: c-family/c.opt:706
#, no-c-format
msgid "Warn about duplicated branches in if-else statements."
msgstr ""
-#: c-family/c.opt:709
+#: c-family/c.opt:710
#, no-c-format
msgid "Warn about duplicated conditions in an if-else-if chain."
msgstr ""
-#: c-family/c.opt:713
+#: c-family/c.opt:714
#, no-c-format
msgid "Warn about violations of Effective C++ style rules."
msgstr ""
-#: c-family/c.opt:717
+#: c-family/c.opt:718
#, no-c-format
msgid ""
"Warn if an additional enum-base is used in an elaborated-type-specifier."
msgstr ""
-#: c-family/c.opt:721
+#: c-family/c.opt:722
#, no-c-format
msgid "Warn about an empty body in an if or else statement."
msgstr ""
-#: c-family/c.opt:725
+#: c-family/c.opt:726
#, no-c-format
msgid "Warn about stray tokens after #else and #endif."
msgstr ""
-#: c-family/c.opt:729
+#: c-family/c.opt:730
#, no-c-format
msgid "Warn about comparison of different enum types."
msgstr ""
-#: c-family/c.opt:733
+#: c-family/c.opt:734
#, no-c-format
msgid "Warn about implicit conversion of enum types."
msgstr ""
-#: c-family/c.opt:737
+#: c-family/c.opt:738
#, no-c-format
msgid "Warn about enum/integer type mismatches."
msgstr ""
-#: c-family/c.opt:745
+#: c-family/c.opt:746
#, no-c-format
msgid ""
"This switch is deprecated; use -Werror=implicit-function-declaration instead."
msgstr ""
-#: c-family/c.opt:749
+#: c-family/c.opt:750
#, no-c-format
msgid "Warn when an exception handler is shadowed by another handler."
msgstr ""
-#: c-family/c.opt:753
+#: c-family/c.opt:754
#, no-c-format
msgid "Warn if \"defined\" is used outside #if."
msgstr ""
-#: c-family/c.opt:761
+#: c-family/c.opt:762
#, no-c-format
msgid "Warn about semicolon after in-class function definition."
msgstr ""
-#: c-family/c.opt:765
+#: c-family/c.opt:766
#, no-c-format
msgid ""
"Warn when a structure containing a C99 flexible array member as the last "
"field is not at the end of another structure."
msgstr ""
-#: c-family/c.opt:770
+#: c-family/c.opt:771
#, no-c-format
msgid ""
"Warn for implicit type conversions that cause loss of floating point "
"precision."
msgstr ""
-#: c-family/c.opt:774
+#: c-family/c.opt:775
#, no-c-format
msgid "Warn if testing floating point numbers for equality."
msgstr ""
-#: c-family/c.opt:778 c-family/c.opt:833
+#: c-family/c.opt:779 c-family/c.opt:834
#, no-c-format
msgid "Warn about printf/scanf/strftime/strfmon format string anomalies."
msgstr ""
-#: c-family/c.opt:782
+#: c-family/c.opt:783
#, no-c-format
msgid "Warn about format strings that contain NUL bytes."
msgstr ""
-#: c-family/c.opt:786
+#: c-family/c.opt:787
#, no-c-format
msgid "Warn about GCC format strings with strings unsuitable for diagnostics."
msgstr ""
-#: c-family/c.opt:790
+#: c-family/c.opt:791
#, no-c-format
msgid "Warn if passing too many arguments to a function for its format string."
msgstr ""
-#: c-family/c.opt:794
+#: c-family/c.opt:795
#, no-c-format
msgid "Warn about format strings that are not literals."
msgstr ""
-#: c-family/c.opt:798
+#: c-family/c.opt:799
#, no-c-format
msgid ""
"Warn about function calls with format strings that write past the end of the "
"destination region. Same as -Wformat-overflow=1."
msgstr ""
-#: c-family/c.opt:803
+#: c-family/c.opt:804
#, no-c-format
msgid ""
"Warn about function calls with format strings that write past the end of the "
"destination region."
msgstr ""
-#: c-family/c.opt:808
+#: c-family/c.opt:809
#, no-c-format
msgid "Warn about possible security problems with format functions."
msgstr ""
-#: c-family/c.opt:812
+#: c-family/c.opt:813
#, no-c-format
msgid "Warn about sign differences with format functions."
msgstr ""
-#: c-family/c.opt:816
+#: c-family/c.opt:817
#, no-c-format
msgid ""
"Warn about calls to snprintf and similar functions that truncate output. "
"Same as -Wformat-truncation=1."
msgstr ""
-#: c-family/c.opt:821
+#: c-family/c.opt:822
#, no-c-format
msgid ""
"Warn about calls to snprintf and similar functions that truncate output."
msgstr ""
-#: c-family/c.opt:825
+#: c-family/c.opt:826
#, no-c-format
msgid "Warn about strftime formats yielding 2-digit years."
msgstr ""
-#: c-family/c.opt:829
+#: c-family/c.opt:830
#, no-c-format
msgid "Warn about zero-length formats."
msgstr ""
-#: c-family/c.opt:837
+#: c-family/c.opt:838
#, no-c-format
msgid ""
"Warn when __builtin_frame_address or __builtin_return_address is used "
"unsafely."
msgstr ""
-#: c-family/c.opt:841
+#: c-family/c.opt:842
#, no-c-format
msgid ""
"Warn about labels on declarations and at the end of compound statements."
msgstr ""
-#: c-family/c.opt:845
+#: c-family/c.opt:846
#, no-c-format
msgid ""
"Warn about the global module fragment not containing only preprocessing "
"directives."
msgstr ""
-#: c-family/c.opt:849
+#: c-family/c.opt:850
#, no-c-format
msgid ""
"Warn when #ifndef of a header guard is followed by #define of a different "
"macro with the header guard macro not defined at the end of header."
msgstr ""
-#: c-family/c.opt:853
+#: c-family/c.opt:854
#, no-c-format
msgid "Warn when the field in a struct is not aligned."
msgstr ""
-#: c-family/c.opt:857
+#: c-family/c.opt:858
#, no-c-format
msgid "Warn whenever type qualifiers are ignored."
msgstr ""
-#: c-family/c.opt:861
+#: c-family/c.opt:862
#, no-c-format
msgid "Warn whenever attributes are ignored."
msgstr ""
-#: c-family/c.opt:865
+#: c-family/c.opt:866
#, no-c-format
msgid "Warn about implicit declarations."
msgstr ""
-#: c-family/c.opt:873
+#: c-family/c.opt:874
#, no-c-format
msgid "Warn about implicit function declarations."
msgstr ""
-#: c-family/c.opt:877
+#: c-family/c.opt:878
#, no-c-format
msgid "Warn when a declaration does not specify a type."
msgstr ""
-#: c-family/c.opt:884
+#: c-family/c.opt:885
#, no-c-format
msgid "Warn when a base is inaccessible in derived due to ambiguity."
msgstr ""
-#: c-family/c.opt:888
+#: c-family/c.opt:889
#, no-c-format
msgid ""
"Warn when there is a conversion between pointers that have incompatible "
"types."
msgstr ""
-#: c-family/c.opt:896
+#: c-family/c.opt:897
#, no-c-format
msgid "Warn about variables which are initialized to themselves."
msgstr ""
-#: c-family/c.opt:900
+#: c-family/c.opt:901
#, no-c-format
msgid ""
"Warn about uses of std::initializer_list that can result in dangling "
"pointers."
msgstr ""
-#: c-family/c.opt:904
+#: c-family/c.opt:905
#, no-c-format
msgid ""
"Warn about nonsensical values of --param destructive-interference-size or "
"constructive-interference-size."
msgstr ""
-#: c-family/c.opt:909
+#: c-family/c.opt:910
#, no-c-format
msgid ""
"Warn about C++11 inheriting constructors when the base has a variadic "
"constructor."
msgstr ""
-#: c-family/c.opt:913
+#: c-family/c.opt:914
#, no-c-format
msgid ""
"Warn about incompatible integer to pointer and pointer to integer "
"conversions."
msgstr ""
-#: c-family/c.opt:917
+#: c-family/c.opt:918
#, no-c-format
msgid "Warn for suspicious integer expressions in boolean context."
msgstr ""
-#: c-family/c.opt:921
+#: c-family/c.opt:922
#, no-c-format
msgid ""
"Warn when there is a cast to a pointer from an integer of a different size."
msgstr ""
-#: c-family/c.opt:925
+#: c-family/c.opt:926
#, no-c-format
msgid "Warn when a function never produces a constant expression."
msgstr ""
-#: c-family/c.opt:929
+#: c-family/c.opt:930
#, no-c-format
msgid "Warn about invalid uses of the \"offsetof\" macro."
msgstr ""
-#: c-family/c.opt:933
+#: c-family/c.opt:934
#, no-c-format
msgid "Warn about PCH files that are found but not used."
msgstr ""
-#: c-family/c.opt:937
+#: c-family/c.opt:938
#, no-c-format
msgid "Warn about invalid UTF-8 characters."
msgstr ""
-#: c-family/c.opt:941
+#: c-family/c.opt:942
#, no-c-format
msgid "Warn when a jump misses a variable initialization."
msgstr ""
-#: c-family/c.opt:960
+#: c-family/c.opt:961
#, no-c-format
msgid ""
"Warn about leading whitespace style issues on lines except when in raw "
"string literals."
msgstr ""
-#: c-family/c.opt:964
+#: c-family/c.opt:965
#, no-c-format
msgid ""
"Warn when a string or character literal is followed by a ud-suffix which "
"does not begin with an underscore."
msgstr ""
-#: c-family/c.opt:968
+#: c-family/c.opt:969
#, no-c-format
msgid ""
"Warn when logical not is used on the left hand side operand of a comparison."
msgstr ""
-#: c-family/c.opt:972
+#: c-family/c.opt:973
#, no-c-format
msgid ""
"Warn when a logical operator is suspiciously always evaluating to true or "
"false."
msgstr ""
-#: c-family/c.opt:976
+#: c-family/c.opt:977
#, no-c-format
msgid "Do not warn about using \"long long\" when -pedantic."
msgstr ""
-#: c-family/c.opt:980
+#: c-family/c.opt:981
#, no-c-format
msgid "Warn about suspicious declarations of \"main\"."
msgstr ""
-#: c-family/c.opt:992
+#: c-family/c.opt:993
#, no-c-format
msgid ""
"Warn about suspicious calls to memset where the third argument contains the "
"number of elements not multiplied by the element size."
msgstr ""
-#: c-family/c.opt:996
+#: c-family/c.opt:997
#, no-c-format
msgid ""
"Warn about suspicious calls to memset where the third argument is constant "
"literal zero and the second is not."
msgstr ""
-#: c-family/c.opt:1000
+#: c-family/c.opt:1001
#, no-c-format
msgid ""
"Warn when the indentation of the code does not reflect the block structure."
msgstr ""
-#: c-family/c.opt:1004
+#: c-family/c.opt:1005
#, no-c-format
msgid ""
"Warn for deallocation calls with arguments returned from mismatched "
"allocation functions."
msgstr ""
-#: c-family/c.opt:1009
+#: c-family/c.opt:1010
#, no-c-format
msgid ""
"Warn for mismatches between calls to operator new or delete and the "
"corresponding call to the allocation or deallocation function."
msgstr ""
-#: c-family/c.opt:1014
+#: c-family/c.opt:1015
#, no-c-format
msgid ""
"Warn when a class is redeclared or referenced using a mismatched class-key."
msgstr ""
-#: c-family/c.opt:1018
+#: c-family/c.opt:1019
#, no-c-format
msgid ""
"Warn about declarations of entities that may be missing attributes that "
"related entities have been declared with."
msgstr ""
-#: c-family/c.opt:1023
+#: c-family/c.opt:1024
#, no-c-format
msgid "Warn about possibly missing braces around initializers."
msgstr ""
-#: c-family/c.opt:1027
+#: c-family/c.opt:1028
#, no-c-format
msgid "Warn about global functions without previous declarations."
msgstr ""
-#: c-family/c.opt:1031
+#: c-family/c.opt:1032
#, no-c-format
msgid "Warn about missing fields in struct initializers."
msgstr ""
-#: c-family/c.opt:1039
+#: c-family/c.opt:1040
#, no-c-format
msgid "Warn about user-specified include directories that do not exist."
msgstr ""
-#: c-family/c.opt:1043
+#: c-family/c.opt:1044
#, no-c-format
msgid "Warn about function definitions omitting parameter names."
msgstr ""
-#: c-family/c.opt:1047
+#: c-family/c.opt:1048
#, no-c-format
msgid ""
"Warn about function parameters declared without a type specifier in K&R-"
"style functions."
msgstr ""
-#: c-family/c.opt:1051
+#: c-family/c.opt:1052
#, no-c-format
msgid "Warn about global functions without prototypes."
msgstr ""
-#: c-family/c.opt:1055
+#: c-family/c.opt:1056
#, no-c-format
msgid "Warn about likely missing requires keyword."
msgstr ""
-#: c-family/c.opt:1059
+#: c-family/c.opt:1060
#, no-c-format
msgid ""
"Warn when the template keyword is missing after a member access token in a "
"dependent member access expression if that member is a template."
msgstr ""
-#: c-family/c.opt:1063
+#: c-family/c.opt:1064
#, no-c-format
msgid "Warn about global variables without previous declarations."
msgstr ""
-#: c-family/c.opt:1070
+#: c-family/c.opt:1071
#, no-c-format
msgid "Warn about use of multi-character character constants."
msgstr ""
-#: c-family/c.opt:1074
+#: c-family/c.opt:1075
#, no-c-format
msgid "Warn on direct multiple inheritance."
msgstr ""
-#: c-family/c.opt:1078
+#: c-family/c.opt:1079
#, no-c-format
msgid ""
"Warn about unsafe macros expanding to multiple statements used as a body of "
"a clause such as if, else, while, switch, or for."
msgstr ""
-#: c-family/c.opt:1082
+#: c-family/c.opt:1083
#, no-c-format
msgid "Warn on namespace definition."
msgstr ""
-#: c-family/c.opt:1086
+#: c-family/c.opt:1087
#, no-c-format
msgid ""
"Warn about narrowing conversions within { } that are ill-formed in C++11."
msgstr ""
-#: c-family/c.opt:1090
+#: c-family/c.opt:1091
#, no-c-format
msgid "Warn about \"extern\" declarations not at file scope."
msgstr ""
-#: c-family/c.opt:1094
+#: c-family/c.opt:1095
#, no-c-format
msgid ""
"Warn when a noexcept expression evaluates to false even though the "
"expression can't actually throw."
msgstr ""
-#: c-family/c.opt:1098
+#: c-family/c.opt:1099
#, no-c-format
msgid ""
"Warn if C++17 noexcept function type will change the mangled name of a "
"symbol."
msgstr ""
-#: c-family/c.opt:1102
+#: c-family/c.opt:1103
#, no-c-format
msgid ""
"Warn when non-templatized friend functions are declared within a template."
msgstr ""
-#: c-family/c.opt:1106
+#: c-family/c.opt:1107
#, no-c-format
msgid "Warn about non-virtual destructors."
msgstr ""
-#: c-family/c.opt:1110
+#: c-family/c.opt:1111
#, no-c-format
msgid ""
"Warn about NULL being passed to argument slots marked as requiring non-NULL."
msgstr ""
-#: c-family/c.opt:1126
+#: c-family/c.opt:1127
#, no-c-format
msgid ""
"-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings."
msgstr ""
-#: c-family/c.opt:1149
+#: c-family/c.opt:1150
#, no-c-format
msgid ""
"Warn if a class interface has no superclass. Root classes may use an "
"attribute to suppress this warning."
msgstr ""
-#: c-family/c.opt:1154
+#: c-family/c.opt:1155
#, no-c-format
msgid "Warn if a C-style cast is used in a program."
msgstr ""
-#: c-family/c.opt:1158
+#: c-family/c.opt:1159
#, no-c-format
msgid "Warn for obsolescent usage in a declaration."
msgstr ""
-#: c-family/c.opt:1162
+#: c-family/c.opt:1163
#, no-c-format
msgid "Warn if an old-style parameter definition is used."
msgstr ""
-#: c-family/c.opt:1166
+#: c-family/c.opt:1167
#, no-c-format
msgid ""
"Warn about potentially suboptimal choices related to OpenACC parallelism."
msgstr ""
-#: c-family/c.opt:1170
+#: c-family/c.opt:1171
#, no-c-format
msgid "Warn about suspicious OpenMP code."
msgstr ""
-#: c-family/c.opt:1174
+#: c-family/c.opt:1175
#, no-c-format
msgid "Warn if a simd directive is overridden by the vectorizer cost model."
msgstr ""
-#: c-family/c.opt:1178
+#: c-family/c.opt:1179
#, no-c-format
msgid ""
"Warn if a string is longer than the maximum portable length specified by the "
"standard."
msgstr ""
-#: c-family/c.opt:1182 c-family/c.opt:1186
+#: c-family/c.opt:1183 c-family/c.opt:1187
#, no-c-format
msgid "Warn about overloaded virtual function names."
msgstr ""
-#: c-family/c.opt:1190
+#: c-family/c.opt:1191
#, no-c-format
msgid "Warn about overriding initializers without side effects."
msgstr ""
-#: c-family/c.opt:1194
+#: c-family/c.opt:1195
#, no-c-format
msgid "Warn about overriding initializers with side effects."
msgstr ""
-#: c-family/c.opt:1198
+#: c-family/c.opt:1199
#, no-c-format
msgid ""
"Warn if the named return value optimization is not performed although it is "
"allowed."
msgstr ""
-#: c-family/c.opt:1202
+#: c-family/c.opt:1203
#, no-c-format
msgid "Warn about packed bit-fields whose offset changed in GCC 4.4."
msgstr ""
-#: c-family/c.opt:1206
+#: c-family/c.opt:1207
#, no-c-format
msgid "Warn when fields in a struct with the packed attribute are misaligned."
msgstr ""
-#: c-family/c.opt:1210
+#: c-family/c.opt:1211
#, no-c-format
msgid "Warn about possibly missing parentheses."
msgstr ""
-#: c-family/c.opt:1218
+#: c-family/c.opt:1219
#, no-c-format
msgid ""
"Warn about calling std::move on a local object in a return statement "
"preventing copy elision."
msgstr ""
-#: c-family/c.opt:1222 c-family/c.opt:1226
+#: c-family/c.opt:1223 c-family/c.opt:1227
#, no-c-format
msgid "Warn for placement new expressions with undefined behavior."
msgstr ""
-#: c-family/c.opt:1230
+#: c-family/c.opt:1231
#, no-c-format
msgid "Warn when converting the type of pointers to member functions."
msgstr ""
-#: c-family/c.opt:1234
+#: c-family/c.opt:1235
#, no-c-format
msgid "Warn about function pointer arithmetic."
msgstr ""
-#: c-family/c.opt:1238
+#: c-family/c.opt:1239
#, no-c-format
msgid "Warn when a pointer differs in signedness in an assignment."
msgstr ""
-#: c-family/c.opt:1242
+#: c-family/c.opt:1243
#, no-c-format
msgid "Warn when a pointer is compared with a zero character constant."
msgstr ""
-#: c-family/c.opt:1246
+#: c-family/c.opt:1247
#, no-c-format
msgid "Warn when a pointer is cast to an integer of a different size."
msgstr ""
-#: c-family/c.opt:1250
+#: c-family/c.opt:1251
#, no-c-format
msgid "Warn about misuses of pragmas."
msgstr ""
-#: c-family/c.opt:1254
+#: c-family/c.opt:1255
#, no-c-format
msgid "Warn about #pragma once outside of a header."
msgstr ""
-#: c-family/c.opt:1258
+#: c-family/c.opt:1259
#, no-c-format
msgid ""
"Warn if constructor or destructors with priorities from 0 to 100 are used."
msgstr ""
-#: c-family/c.opt:1262
+#: c-family/c.opt:1263
#, no-c-format
msgid ""
"Warn if a property for an Objective-C object has no assign semantics "
"specified."
msgstr ""
-#: c-family/c.opt:1266
+#: c-family/c.opt:1267
#, no-c-format
msgid "Warn if inherited methods are unimplemented."
msgstr ""
-#: c-family/c.opt:1270
+#: c-family/c.opt:1271
#, no-c-format
msgid "Warn when a range-based for-loop is creating unnecessary copies."
msgstr ""
-#: c-family/c.opt:1274
+#: c-family/c.opt:1275
#, no-c-format
msgid "Warn about multiple declarations of the same object."
msgstr ""
-#: c-family/c.opt:1278
+#: c-family/c.opt:1279
#, no-c-format
msgid "Warn about redundant calls to std::move."
msgstr ""
-#: c-family/c.opt:1282
+#: c-family/c.opt:1283
#, no-c-format
msgid ""
"Warn when a class or enumerated type is referenced using a redundant class-"
"key."
msgstr ""
-#: c-family/c.opt:1286
+#: c-family/c.opt:1287
#, no-c-format
msgid "Warn about uses of register storage specifier."
msgstr ""
-#: c-family/c.opt:1290
+#: c-family/c.opt:1291
#, no-c-format
msgid "Warn when the compiler reorders code."
msgstr ""
-#: c-family/c.opt:1294
+#: c-family/c.opt:1295
#, no-c-format
msgid ""
"Warn when an argument passed to a restrict-qualified parameter aliases with "
"another argument."
msgstr ""
-#: c-family/c.opt:1299
+#: c-family/c.opt:1300
#, no-c-format
msgid ""
"Warn whenever void-returning functions return a non-void expressions, or a "
"return expression is missing in a function not returning void."
msgstr ""
-#: c-family/c.opt:1303
+#: c-family/c.opt:1304
#, no-c-format
msgid ""
"Warn whenever a function's return type defaults to \"int\" (C), or about "
"inconsistent return types (C++)."
msgstr ""
-#: c-family/c.opt:1307
+#: c-family/c.opt:1308
#, no-c-format
msgid "Warn on suspicious constructs involving reverse scalar storage order."
msgstr ""
-#: c-family/c.opt:1311
+#: c-family/c.opt:1312
#, no-c-format
msgid "Warn if a selector has multiple methods."
msgstr ""
-#: c-family/c.opt:1315
+#: c-family/c.opt:1316
#, no-c-format
msgid "Warn when a value is moved to itself with std::move."
msgstr ""
-#: c-family/c.opt:1319
+#: c-family/c.opt:1320
#, no-c-format
msgid "Warn about possible violations of sequence point rules."
msgstr ""
-#: c-family/c.opt:1323
+#: c-family/c.opt:1324
#, no-c-format
msgid "Warn if a local declaration hides an instance variable."
msgstr ""
-#: c-family/c.opt:1327 c-family/c.opt:1331
+#: c-family/c.opt:1328 c-family/c.opt:1332
#, no-c-format
msgid "Warn if left shift of a signed value overflows."
msgstr ""
-#: c-family/c.opt:1335
+#: c-family/c.opt:1336
#, no-c-format
msgid "Warn if shift count is negative."
msgstr ""
-#: c-family/c.opt:1339
+#: c-family/c.opt:1340
#, no-c-format
msgid "Warn if shift count >= width of type."
msgstr ""
-#: c-family/c.opt:1343
+#: c-family/c.opt:1344
#, no-c-format
msgid "Warn if left shifting a negative value."
msgstr ""
-#: c-family/c.opt:1347
+#: c-family/c.opt:1348
#, no-c-format
msgid "Warn about signed-unsigned comparisons."
msgstr ""
-#: c-family/c.opt:1355
+#: c-family/c.opt:1356
#, no-c-format
msgid ""
"Warn for implicit type conversions between signed and unsigned integers."
msgstr ""
-#: c-family/c.opt:1359
+#: c-family/c.opt:1360
#, no-c-format
msgid "Warn when overload promotes from unsigned to signed."
msgstr ""
-#: c-family/c.opt:1363
+#: c-family/c.opt:1364
#, no-c-format
msgid "Warn about missing sized deallocation functions."
msgstr ""
-#: c-family/c.opt:1367
+#: c-family/c.opt:1368
#, no-c-format
msgid ""
"Warn about divisions of two sizeof operators when the first one is applied "
"to an array and the divisor does not equal the size of the array element."
msgstr ""
-#: c-family/c.opt:1372
+#: c-family/c.opt:1373
#, no-c-format
msgid "Warn when sizeof is applied on a parameter declared as an array."
msgstr ""
-#: c-family/c.opt:1376
+#: c-family/c.opt:1377
#, no-c-format
msgid ""
"Warn about suspicious divisions of two sizeof expressions that don't work "
"correctly with pointers."
msgstr ""
-#: c-family/c.opt:1380
+#: c-family/c.opt:1381
#, no-c-format
msgid ""
"Warn about suspicious length parameters to certain string functions if the "
"argument uses sizeof."
msgstr ""
-#: c-family/c.opt:1388
+#: c-family/c.opt:1389
#, no-c-format
msgid ""
"Warn about improper usages of flexible array members according to the level "
"of -fstrict-flex-arrays."
msgstr ""
-#: c-family/c.opt:1393
+#: c-family/c.opt:1394
#, no-c-format
msgid "Warn about uncasted NULL used as sentinel."
msgstr ""
-#: c-family/c.opt:1401
+#: c-family/c.opt:1402
#, no-c-format
msgid "Warn about unprototyped function declarations."
msgstr ""
-#: c-family/c.opt:1405
+#: c-family/c.opt:1406
#, no-c-format
msgid "Warn if type signatures of candidate methods do not match exactly."
msgstr ""
-#: c-family/c.opt:1409
+#: c-family/c.opt:1410
#, no-c-format
msgid ""
"Warn about calls to strcmp and strncmp used in equality expressions that are "
@@ -2809,134 +2814,134 @@ msgid ""
"argument."
msgstr ""
-#: c-family/c.opt:1415
+#: c-family/c.opt:1416
#, no-c-format
msgid ""
"Warn about buffer overflow in string manipulation functions like memcpy and "
"strcpy."
msgstr ""
-#: c-family/c.opt:1420
+#: c-family/c.opt:1421
#, no-c-format
msgid ""
"Under the control of Object Size type, warn about buffer overflow in string "
"manipulation functions like memcpy and strcpy."
msgstr ""
-#: c-family/c.opt:1425
+#: c-family/c.opt:1426
#, no-c-format
msgid ""
"Warn about reading past the end of a source array in string manipulation "
"functions like memchr and memcpy."
msgstr ""
-#: c-family/c.opt:1429
+#: c-family/c.opt:1430
#, no-c-format
msgid ""
"Warn about truncation in string manipulation functions like strncat and "
"strncpy."
msgstr ""
-#: c-family/c.opt:1433
+#: c-family/c.opt:1434
#, no-c-format
msgid ""
"Warn if a class type has a base or a field whose type uses the anonymous "
"namespace or depends on a type with no linkage."
msgstr ""
-#: c-family/c.opt:1437
+#: c-family/c.opt:1438
#, no-c-format
msgid "Warn about functions which might be candidates for format attributes."
msgstr ""
-#: c-family/c.opt:1441
+#: c-family/c.opt:1442
#, no-c-format
msgid ""
"Suggest that the override keyword be used when the declaration of a virtual "
"function overrides another."
msgstr ""
-#: c-family/c.opt:1446
+#: c-family/c.opt:1447
#, no-c-format
msgid "Warn about enumerated switches, with no default, missing a case."
msgstr ""
-#: c-family/c.opt:1450
+#: c-family/c.opt:1451
#, no-c-format
msgid "Warn about enumerated switches missing a \"default:\" statement."
msgstr ""
-#: c-family/c.opt:1454
+#: c-family/c.opt:1455
#, no-c-format
msgid "Warn about all enumerated switches missing a specific case."
msgstr ""
-#: c-family/c.opt:1458
+#: c-family/c.opt:1459
#, no-c-format
msgid "Warn about switches with boolean controlling expression."
msgstr ""
-#: c-family/c.opt:1462
+#: c-family/c.opt:1463
#, no-c-format
msgid "Warn about switch values that are outside of the switch's type range."
msgstr ""
-#: c-family/c.opt:1466
+#: c-family/c.opt:1467
#, no-c-format
msgid ""
"Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions "
"are used."
msgstr ""
-#: c-family/c.opt:1470
+#: c-family/c.opt:1471
#, no-c-format
msgid "Deprecated. This switch has no effect."
msgstr ""
-#: c-family/c.opt:1478
+#: c-family/c.opt:1479
#, no-c-format
msgid "Warn on primary template declaration."
msgstr ""
-#: c-family/c.opt:1482
+#: c-family/c.opt:1483
#, no-c-format
msgid "Diagnose errors when parsing a template."
msgstr ""
-#: c-family/c.opt:1486
+#: c-family/c.opt:1487
#, no-c-format
msgid "Warn about simple-template-id in a constructor or destructor."
msgstr ""
-#: c-family/c.opt:1490
+#: c-family/c.opt:1491
#, no-c-format
msgid "Warn about templates naming TU-local entities in a module."
msgstr ""
-#: c-family/c.opt:1494
+#: c-family/c.opt:1495
#, no-c-format
msgid "Warn if a throw expression will always result in a call to terminate()."
msgstr ""
-#: c-family/c.opt:1498
+#: c-family/c.opt:1499
#, no-c-format
msgid "Warn about features not present in traditional C."
msgstr ""
-#: c-family/c.opt:1502
+#: c-family/c.opt:1503
#, no-c-format
msgid ""
"Warn of prototypes causing type conversions different from what would happen "
"in the absence of prototype."
msgstr ""
-#: c-family/c.opt:1518
+#: c-family/c.opt:1519
#, no-c-format
msgid ""
"Warn about trailing whitespace on lines except when in raw string literals."
msgstr ""
-#: c-family/c.opt:1522
+#: c-family/c.opt:1523
#, no-c-format
msgid ""
"Warn about trailing whitespace on lines except when in raw string "
@@ -2944,88 +2949,88 @@ msgid ""
"Wtrailing-whitespace=none when disabled."
msgstr ""
-#: c-family/c.opt:1526
+#: c-family/c.opt:1527
#, no-c-format
msgid ""
"Warn if trigraphs are encountered that might affect the meaning of the "
"program."
msgstr ""
-#: c-family/c.opt:1530
+#: c-family/c.opt:1531
#, no-c-format
msgid "Warn about @selector()s without previously declared methods."
msgstr ""
-#: c-family/c.opt:1534
+#: c-family/c.opt:1535
#, no-c-format
msgid "Warn if an undefined macro is used in an #if directive."
msgstr ""
-#: c-family/c.opt:1538
+#: c-family/c.opt:1539
#, no-c-format
msgid "Warn about invalid forms of delimited or named escape sequences."
msgstr ""
-#: c-family/c.opt:1546
+#: c-family/c.opt:1547
#, no-c-format
msgid "Warn about unrecognized pragmas."
msgstr ""
-#: c-family/c.opt:1550
+#: c-family/c.opt:1551
#, no-c-format
msgid "Warn about unsuffixed float constants."
msgstr ""
-#: c-family/c.opt:1554
+#: c-family/c.opt:1555
#, no-c-format
msgid ""
"Warn about character arrays initialized as unterminated character sequences "
"with a string literal."
msgstr ""
-#: c-family/c.opt:1570
+#: c-family/c.opt:1571
#, no-c-format
msgid "Warn when typedefs locally defined in a function are not used."
msgstr ""
-#: c-family/c.opt:1574
+#: c-family/c.opt:1575
#, no-c-format
msgid "Warn about macros defined in the main file that are not used."
msgstr ""
-#: c-family/c.opt:1594
+#: c-family/c.opt:1595
#, no-c-format
msgid "Warn about useless casts."
msgstr ""
-#: c-family/c.opt:1598
+#: c-family/c.opt:1599
#, no-c-format
msgid "Warn about using variadic macros."
msgstr ""
-#: c-family/c.opt:1602
+#: c-family/c.opt:1603
#, no-c-format
msgid ""
"Warn about questionable usage of the macros used to retrieve variable "
"arguments."
msgstr ""
-#: c-family/c.opt:1606
+#: c-family/c.opt:1607
#, no-c-format
msgid "Warn about the most vexing parse syntactic ambiguity."
msgstr ""
-#: c-family/c.opt:1610
+#: c-family/c.opt:1611
#, no-c-format
msgid "Warn if a virtual base has a non-trivial move assignment operator."
msgstr ""
-#: c-family/c.opt:1614
+#: c-family/c.opt:1615
#, no-c-format
msgid "Warn if a variable length array is used."
msgstr ""
-#: c-family/c.opt:1618
+#: c-family/c.opt:1619
#, no-c-format
msgid ""
"-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length "
@@ -3033,34 +3038,34 @@ msgid ""
"larger than <number> bytes."
msgstr ""
-#: c-family/c.opt:1624
+#: c-family/c.opt:1625
#, no-c-format
msgid ""
"Disable Wvla-larger-than= warning. Equivalent to Wvla-larger-"
"than=<SIZE_MAX> or larger."
msgstr ""
-#: c-family/c.opt:1628
+#: c-family/c.opt:1629
#, no-c-format
msgid "Warn about mismatched declarations of VLA parameters."
msgstr ""
-#: c-family/c.opt:1632
+#: c-family/c.opt:1633
#, no-c-format
msgid "Warn about deprecated uses of volatile qualifier."
msgstr ""
-#: c-family/c.opt:1636
+#: c-family/c.opt:1637
#, no-c-format
msgid "Warn when a register variable is declared volatile."
msgstr ""
-#: c-family/c.opt:1640
+#: c-family/c.opt:1641
#, no-c-format
msgid "Warn on direct virtual inheritance."
msgstr ""
-#: c-family/c.opt:1644
+#: c-family/c.opt:1645
#, no-c-format
msgid ""
"In C++, nonzero means warn about deprecated conversion from string literals "
@@ -3068,195 +3073,195 @@ msgid ""
"not deprecated by the ISO C standard."
msgstr ""
-#: c-family/c.opt:1648
+#: c-family/c.opt:1649
#, no-c-format
msgid ""
"Warn about xor operators where it appears the user meant exponentiation."
msgstr ""
-#: c-family/c.opt:1652
+#: c-family/c.opt:1653
#, no-c-format
msgid "Warn when a literal '0' is used as null pointer."
msgstr ""
-#: c-family/c.opt:1656
+#: c-family/c.opt:1657
#, no-c-format
msgid "Warn about accesses to interior zero-length array members."
msgstr ""
-#: c-family/c.opt:1660
+#: c-family/c.opt:1661
#, no-c-format
msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)."
msgstr ""
-#: c-family/c.opt:1668
+#: c-family/c.opt:1669
#, no-c-format
msgid ""
"The version of the C++ ABI used for -Wabi warnings and link compatibility "
"aliases."
msgstr ""
-#: c-family/c.opt:1672
+#: c-family/c.opt:1673
#, no-c-format
msgid "Enforce class member access control semantics."
msgstr ""
-#: c-family/c.opt:1676
+#: c-family/c.opt:1677
#, no-c-format
msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent."
msgstr ""
-#: c-family/c.opt:1680
+#: c-family/c.opt:1681
#, no-c-format
msgid "Support C++17 allocation of over-aligned types."
msgstr ""
-#: c-family/c.opt:1684
+#: c-family/c.opt:1685
#, no-c-format
msgid ""
"-faligned-new=<N>\tUse C++17 over-aligned type allocation for alignments "
"greater than N."
msgstr ""
-#: c-family/c.opt:1695 c-family/c.opt:2016 c-family/c.opt:2429
-#: c-family/c.opt:2433 c-family/c.opt:2449
+#: c-family/c.opt:1696 c-family/c.opt:2017 c-family/c.opt:2430
+#: c-family/c.opt:2434 c-family/c.opt:2450
#, no-c-format
msgid "No longer supported."
msgstr ""
-#: c-family/c.opt:1699
+#: c-family/c.opt:1700
#, no-c-format
msgid "Recognize the \"asm\" keyword."
msgstr ""
-#: c-family/c.opt:1703
+#: c-family/c.opt:1704
#, no-c-format
msgid ""
"Assume C++ replaceable global operators new, new[], delete, delete[] don't "
"read or write visible global state."
msgstr ""
-#: c-family/c.opt:1711
+#: c-family/c.opt:1712
#, no-c-format
msgid "Recognize built-in functions."
msgstr ""
-#: c-family/c.opt:1718
+#: c-family/c.opt:1719
#, no-c-format
msgid "Where shorter, use canonicalized paths to systems headers."
msgstr ""
-#: c-family/c.opt:1722
+#: c-family/c.opt:1723
#, no-c-format
msgid ""
"Enable the char8_t fundamental type and use it as the type for UTF-8 string "
"and character literals."
msgstr ""
-#: c-family/c.opt:1810
+#: c-family/c.opt:1811
#, no-c-format
msgid "Removed in GCC 8. This switch has no effect."
msgstr ""
-#: c-family/c.opt:1814
+#: c-family/c.opt:1815
#, no-c-format
msgid "Enable support for C++ concepts."
msgstr ""
-#: c-family/c.opt:1818
+#: c-family/c.opt:1819
#, no-c-format
msgid "Removed in GCC 15. This switch has no effect."
msgstr ""
-#: c-family/c.opt:1822
+#: c-family/c.opt:1823
#, no-c-format
msgid ""
"Specify maximum error replay depth during recursive diagnosis of a "
"constraint satisfaction failure."
msgstr ""
-#: c-family/c.opt:1826
+#: c-family/c.opt:1827
#, no-c-format
msgid "Allow the arguments of the '?' operator to have different types."
msgstr ""
-#: c-family/c.opt:1834
+#: c-family/c.opt:1835
#, no-c-format
msgid "-fconst-string-class=<name>\tUse class <name> for constant strings."
msgstr ""
-#: c-family/c.opt:1838
+#: c-family/c.opt:1839
#, no-c-format
msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
msgstr ""
-#: c-family/c.opt:1842
+#: c-family/c.opt:1843
#, no-c-format
msgid ""
"-fconstexpr-cache-depth=<number>\tSpecify maximum constexpr recursion cache "
"depth."
msgstr ""
-#: c-family/c.opt:1846
+#: c-family/c.opt:1847
#, no-c-format
msgid "Allow IEC559 floating point exceptions in constant expressions."
msgstr ""
-#: c-family/c.opt:1850
+#: c-family/c.opt:1851
#, no-c-format
msgid ""
"-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration "
"count."
msgstr ""
-#: c-family/c.opt:1854
+#: c-family/c.opt:1855
#, no-c-format
msgid ""
"-fconstexpr-ops-limit=<number>\tSpecify maximum number of constexpr "
"operations during a single constexpr evaluation."
msgstr ""
-#: c-family/c.opt:1858
+#: c-family/c.opt:1859
#, no-c-format
msgid "Enable certain features present in drafts of C++ Contracts."
msgstr ""
-#: c-family/c.opt:1871
+#: c-family/c.opt:1872
#, no-c-format
msgid ""
"-fcontract-assumption-mode=[on|off]\tEnable or disable treating axiom level "
"contracts as assumptions (default on)."
msgstr ""
-#: c-family/c.opt:1875
+#: c-family/c.opt:1876
#, no-c-format
msgid ""
"-fcontract-build-level=[off|default|audit]\tSpecify max contract level to "
"generate runtime checks for."
msgstr ""
-#: c-family/c.opt:1879
+#: c-family/c.opt:1880
#, no-c-format
msgid ""
"-fcontract-strict-declarations=[on|off]\tEnable or disable warnings on "
"generalized redeclaration of functions with contracts (default off)."
msgstr ""
-#: c-family/c.opt:1883
+#: c-family/c.opt:1884
#, no-c-format
msgid ""
"-fcontract-mode=[on|off]\tEnable or disable all contract facilities (default "
"on)."
msgstr ""
-#: c-family/c.opt:1887
+#: c-family/c.opt:1888
#, no-c-format
msgid ""
"-fcontract-continuation-mode=[on|off]\tEnable or disable contract "
"continuation mode (default off)."
msgstr ""
-#: c-family/c.opt:1891
+#: c-family/c.opt:1892
#, no-c-format
msgid ""
"-fcontract-role=<name>:<semantics>\tSpecify the semantics for all levels in "
@@ -3264,451 +3269,451 @@ msgid ""
"(ex: opt:assume,assume,assume)."
msgstr ""
-#: c-family/c.opt:1895
+#: c-family/c.opt:1896
#, no-c-format
msgid ""
"-fcontract-semantic=<level>:<semantic>\tSpecify the concrete semantics for "
"level."
msgstr ""
-#: c-family/c.opt:1899
+#: c-family/c.opt:1900
#, no-c-format
msgid "Enable C++ coroutines (experimental)."
msgstr ""
-#: c-family/c.opt:1903
+#: c-family/c.opt:1904
#, no-c-format
msgid "Emit debug annotations during preprocessing."
msgstr ""
-#: c-family/c.opt:1911
+#: c-family/c.opt:1912
#, no-c-format
msgid "Factor complex constructors and destructors to favor space over speed."
msgstr ""
-#: c-family/c.opt:1919
+#: c-family/c.opt:1920
#, no-c-format
msgid "Print hierarchical comparisons when template types are mismatched."
msgstr ""
-#: c-family/c.opt:1923
+#: c-family/c.opt:1924
#, no-c-format
msgid "Note all candidates during overload resolution failure."
msgstr ""
-#: c-family/c.opt:1927
+#: c-family/c.opt:1928
#, no-c-format
msgid "Preprocess directives only."
msgstr ""
-#: c-family/c.opt:1931
+#: c-family/c.opt:1932
#, no-c-format
msgid "Permit '$' as an identifier character."
msgstr ""
-#: c-family/c.opt:1935
+#: c-family/c.opt:1936
#, no-c-format
msgid ""
"-fmacro-prefix-map=<old>=<new>\tMap one directory name to another in "
"__FILE__, __BASE_FILE__, and __builtin_FILE()."
msgstr ""
-#: c-family/c.opt:1939
+#: c-family/c.opt:1940
#, no-c-format
msgid "Write all declarations as Ada code transitively."
msgstr ""
-#: c-family/c.opt:1943
+#: c-family/c.opt:1944
#, no-c-format
msgid "Write all declarations as Ada code for the given file only."
msgstr ""
-#: c-family/c.opt:1950
+#: c-family/c.opt:1951
#, no-c-format
msgid "Do not elide common elements in template comparisons."
msgstr ""
-#: c-family/c.opt:1954
+#: c-family/c.opt:1955
#, no-c-format
msgid "Generate code to check exception specifications."
msgstr ""
-#: c-family/c.opt:1961
+#: c-family/c.opt:1962
#, no-c-format
msgid ""
"-fexec-charset=<cset>\tConvert all strings and character constants to "
"character set <cset>."
msgstr ""
-#: c-family/c.opt:1965
+#: c-family/c.opt:1966
#, no-c-format
msgid "Permit universal character names (\\u and \\U) in identifiers."
msgstr ""
-#: c-family/c.opt:1969
+#: c-family/c.opt:1970
#, no-c-format
msgid ""
"-finput-charset=<cset>\tSpecify the default character set for source files."
msgstr ""
-#: c-family/c.opt:1973
+#: c-family/c.opt:1974
#, no-c-format
msgid ""
"Support dynamic initialization of thread-local variables in a different "
"translation unit."
msgstr ""
-#: c-family/c.opt:1980
+#: c-family/c.opt:1981
#, no-c-format
msgid "Fold calls to simple inline functions."
msgstr ""
-#: c-family/c.opt:1987
+#: c-family/c.opt:1988
#, no-c-format
msgid "Do not assume that standard C libraries and \"main\" exist."
msgstr ""
-#: c-family/c.opt:1991
+#: c-family/c.opt:1992
#, no-c-format
msgid "Recognize GNU-defined keywords."
msgstr ""
-#: c-family/c.opt:1995
+#: c-family/c.opt:1996
#, no-c-format
msgid "Generate code for GNU runtime environment."
msgstr ""
-#: c-family/c.opt:1999
+#: c-family/c.opt:2000
#, no-c-format
msgid "Use traditional GNU semantics for inline functions."
msgstr ""
-#: c-family/c.opt:2012
+#: c-family/c.opt:2013
#, no-c-format
msgid "Assume normal C execution environment."
msgstr ""
-#: c-family/c.opt:2020
+#: c-family/c.opt:2021
#, no-c-format
msgid "Implement P2564 for consteval propagation."
msgstr ""
-#: c-family/c.opt:2024
+#: c-family/c.opt:2025
#, no-c-format
msgid "Export functions even if they can be inlined."
msgstr ""
-#: c-family/c.opt:2028
+#: c-family/c.opt:2029
#, no-c-format
msgid "Make inline functions constexpr by default."
msgstr ""
-#: c-family/c.opt:2032
+#: c-family/c.opt:2033
#, no-c-format
msgid "Emit implicit instantiations of inline templates."
msgstr ""
-#: c-family/c.opt:2036
+#: c-family/c.opt:2037
#, no-c-format
msgid "Emit implicit instantiations of templates."
msgstr ""
-#: c-family/c.opt:2040
+#: c-family/c.opt:2041
#, no-c-format
msgid "Implement C++17 inheriting constructor semantics."
msgstr ""
-#: c-family/c.opt:2047
+#: c-family/c.opt:2048
#, no-c-format
msgid "Don't emit dllexported inline functions unless needed."
msgstr ""
-#: c-family/c.opt:2054
+#: c-family/c.opt:2055
#, no-c-format
msgid ""
"Allow implicit conversions between vectors with differing numbers of "
"subparts and/or differing element types."
msgstr ""
-#: c-family/c.opt:2058
+#: c-family/c.opt:2059
#, no-c-format
msgid "Enable C++20 Modules (experimental)."
msgstr ""
-#: c-family/c.opt:2066
+#: c-family/c.opt:2067
#, no-c-format
msgid "Enable C++ header module (experimental)."
msgstr ""
-#: c-family/c.opt:2073
+#: c-family/c.opt:2074
#, no-c-format
msgid ""
"Member functions defined within their class are inline in module purview."
msgstr ""
-#: c-family/c.opt:2077
+#: c-family/c.opt:2078
#, no-c-format
msgid "Only emit Compiled Module Interface."
msgstr ""
-#: c-family/c.opt:2081
+#: c-family/c.opt:2082
#, no-c-format
msgid "Mapper for module to CMI files."
msgstr ""
-#: c-family/c.opt:2085
+#: c-family/c.opt:2086
#, no-c-format
msgid "Enable lazy module importing."
msgstr ""
-#: c-family/c.opt:2093
+#: c-family/c.opt:2094
#, no-c-format
msgid "Warn about macros that have conflicting header units definitions."
msgstr ""
-#: c-family/c.opt:2097
+#: c-family/c.opt:2098
#, no-c-format
msgid "Warn if pointers of distinct types are compared without a cast."
msgstr ""
-#: c-family/c.opt:2101
+#: c-family/c.opt:2102
#, no-c-format
msgid "Note #include directives translated to import declarations."
msgstr ""
-#: c-family/c.opt:2105
+#: c-family/c.opt:2106
#, no-c-format
msgid ""
"Note #include directives not translated to import declarations, and not "
"known to be textual."
msgstr ""
-#: c-family/c.opt:2109
+#: c-family/c.opt:2110
#, no-c-format
msgid "Note a #include translation of a specific header."
msgstr ""
-#: c-family/c.opt:2113
+#: c-family/c.opt:2114
#, no-c-format
msgid "Note Compiled Module Interface pathnames."
msgstr ""
-#: c-family/c.opt:2117
+#: c-family/c.opt:2118
#, no-c-format
msgid ""
"Note Compiled Module Interface pathname of a specific module or header-unit."
msgstr ""
-#: c-family/c.opt:2121
+#: c-family/c.opt:2122
#, no-c-format
msgid ""
"fmax-include-depth=<number> Set the maximum depth of the nested #include."
msgstr ""
-#: c-family/c.opt:2125
+#: c-family/c.opt:2126
#, no-c-format
msgid "Don't warn about uses of Microsoft extensions."
msgstr ""
-#: c-family/c.opt:2144
+#: c-family/c.opt:2145
#, no-c-format
msgid ""
"Implement resolution of DR 150 for matching of template template arguments."
msgstr ""
-#: c-family/c.opt:2148
+#: c-family/c.opt:2149
#, no-c-format
msgid "Generate code for NeXT (Apple macOS) runtime environment."
msgstr ""
-#: c-family/c.opt:2152
+#: c-family/c.opt:2153
#, no-c-format
msgid "Assume that receivers of Objective-C messages may be nil."
msgstr ""
-#: c-family/c.opt:2156
+#: c-family/c.opt:2157
#, no-c-format
msgid ""
"Allow access to instance variables as if they were local declarations within "
"instance method implementations."
msgstr ""
-#: c-family/c.opt:2160
+#: c-family/c.opt:2161
#, no-c-format
msgid ""
"-fvisibility=[private|protected|public|package]\tSet the default symbol "
"visibility."
msgstr ""
-#: c-family/c.opt:2185
+#: c-family/c.opt:2186
#, no-c-format
msgid ""
"Treat a throw() exception specification as noexcept to improve code size."
msgstr ""
-#: c-family/c.opt:2189
+#: c-family/c.opt:2190
#, no-c-format
msgid ""
"Specify which ABI to use for Objective-C family code and meta-data "
"generation."
msgstr ""
-#: c-family/c.opt:2195
+#: c-family/c.opt:2196
#, no-c-format
msgid ""
"Generate special Objective-C methods to initialize/destroy non-POD C++ "
"ivars, if needed."
msgstr ""
-#: c-family/c.opt:2199
+#: c-family/c.opt:2200
#, no-c-format
msgid "Allow fast jumps to the message dispatcher."
msgstr ""
-#: c-family/c.opt:2205
+#: c-family/c.opt:2206
#, no-c-format
msgid "Enable Objective-C exception and synchronization syntax."
msgstr ""
-#: c-family/c.opt:2209
+#: c-family/c.opt:2210
#, no-c-format
msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs."
msgstr ""
-#: c-family/c.opt:2213
+#: c-family/c.opt:2214
#, no-c-format
msgid ""
"Enable inline checks for nil receivers with the NeXT runtime and ABI version "
"2."
msgstr ""
-#: c-family/c.opt:2218
+#: c-family/c.opt:2219
#, no-c-format
msgid "Enable Objective-C setjmp exception handling runtime."
msgstr ""
-#: c-family/c.opt:2222
+#: c-family/c.opt:2223
#, no-c-format
msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0."
msgstr ""
-#: c-family/c.opt:2226
+#: c-family/c.opt:2227
#, no-c-format
msgid "Enable OpenACC."
msgstr ""
-#: c-family/c.opt:2230
+#: c-family/c.opt:2231
#, no-c-format
msgid "Specify default OpenACC compute dimensions."
msgstr ""
-#: c-family/c.opt:2234
+#: c-family/c.opt:2235
#, no-c-format
msgid "Enable OpenMP (implies -frecursive in Fortran)."
msgstr ""
-#: c-family/c.opt:2238
+#: c-family/c.opt:2239
#, no-c-format
msgid "Enable OpenMP's SIMD directives."
msgstr ""
-#: c-family/c.opt:2242
+#: c-family/c.opt:2243
#, no-c-format
msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
msgstr ""
-#: c-family/c.opt:2253
+#: c-family/c.opt:2254
#, no-c-format
msgid "Look for and use PCH files even when preprocessing."
msgstr ""
-#: c-family/c.opt:2257
+#: c-family/c.opt:2258
#, no-c-format
msgid "Downgrade conformance errors to warnings."
msgstr ""
-#: c-family/c.opt:2261
+#: c-family/c.opt:2262
#, no-c-format
msgid "Enable Plan 9 language extensions."
msgstr ""
-#: c-family/c.opt:2265
+#: c-family/c.opt:2266
#, no-c-format
msgid "Treat the input file as already preprocessed."
msgstr ""
-#: c-family/c.opt:2273
+#: c-family/c.opt:2274
#, no-c-format
msgid ""
"-ftrack-macro-expansion=<0|1|2>\tTrack locations of tokens coming from macro "
"expansion and display them in error messages."
msgstr ""
-#: c-family/c.opt:2277
+#: c-family/c.opt:2278
#, no-c-format
msgid ""
"Do not pretty-print template specializations as the template signature "
"followed by the arguments."
msgstr ""
-#: c-family/c.opt:2281
+#: c-family/c.opt:2282
#, no-c-format
msgid "Treat known sprintf return values as constants."
msgstr ""
-#: c-family/c.opt:2285
+#: c-family/c.opt:2286
#, no-c-format
msgid "Enable lifetime extension of range based for temporaries."
msgstr ""
-#: c-family/c.opt:2289
+#: c-family/c.opt:2290
#, no-c-format
msgid ""
"Used in Fix-and-Continue mode to indicate that object files may be swapped "
"in at runtime."
msgstr ""
-#: c-family/c.opt:2293
+#: c-family/c.opt:2294
#, no-c-format
msgid "Removed in GCC 10. This switch has no effect."
msgstr ""
-#: c-family/c.opt:2297
+#: c-family/c.opt:2298
#, no-c-format
msgid "Generate run time type descriptor information."
msgstr ""
-#: c-family/c.opt:2301
+#: c-family/c.opt:2302
#, no-c-format
msgid "Look for the main source file on the include path."
msgstr ""
-#: c-family/c.opt:2308 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:2309 ada/gcc-interface/lang.opt:81
#, no-c-format
msgid "Use the narrowest integer type possible for enumeration types."
msgstr ""
-#: c-family/c.opt:2312
+#: c-family/c.opt:2313
#, no-c-format
msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
msgstr ""
-#: c-family/c.opt:2316
+#: c-family/c.opt:2317
#, no-c-format
msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
msgstr ""
-#: c-family/c.opt:2320 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:2321 ada/gcc-interface/lang.opt:85
#, no-c-format
msgid "Make \"char\" signed by default."
msgstr ""
-#: c-family/c.opt:2324
+#: c-family/c.opt:2325
#, no-c-format
msgid "Enable C++14 sized deallocation support."
msgstr ""
-#: c-family/c.opt:2331
+#: c-family/c.opt:2332
#, no-c-format
msgid ""
"-fstrict-flex-arrays=<level> Control when to treat the trailing array of "
@@ -3717,450 +3722,450 @@ msgid ""
"structures as flexible array members."
msgstr ""
-#: c-family/c.opt:2338
+#: c-family/c.opt:2339
#, no-c-format
msgid ""
"-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar "
"storage order."
msgstr ""
-#: c-family/c.opt:2354
+#: c-family/c.opt:2355
#, no-c-format
msgid "Display statistics accumulated during compilation."
msgstr ""
-#: c-family/c.opt:2358
+#: c-family/c.opt:2359
#, no-c-format
msgid ""
"Assume that values of enumeration type are always within the minimum range "
"of that type."
msgstr ""
-#: c-family/c.opt:2365 c-family/c.opt:2370
+#: c-family/c.opt:2366 c-family/c.opt:2371
#, no-c-format
msgid ""
"Follow the C++17 evaluation order requirements for assignment expressions, "
"shift, member function calls, etc."
msgstr ""
-#: c-family/c.opt:2387
+#: c-family/c.opt:2388
#, no-c-format
msgid ""
"Set the maximum number of template instantiation notes for a single warning "
"or error."
msgstr ""
-#: c-family/c.opt:2394
+#: c-family/c.opt:2395
#, no-c-format
msgid ""
"-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
msgstr ""
-#: c-family/c.opt:2401
+#: c-family/c.opt:2402
#, no-c-format
msgid ""
"-fno-threadsafe-statics\tDo not generate thread-safe code for initializing "
"local statics."
msgstr ""
-#: c-family/c.opt:2405
+#: c-family/c.opt:2406
#, no-c-format
msgid ""
"When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
msgstr ""
-#: c-family/c.opt:2409 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2410 ada/gcc-interface/lang.opt:89
#, no-c-format
msgid "Make \"char\" unsigned by default."
msgstr ""
-#: c-family/c.opt:2413
+#: c-family/c.opt:2414
#, no-c-format
msgid "Use __cxa_atexit to register destructors."
msgstr ""
-#: c-family/c.opt:2417
+#: c-family/c.opt:2418
#, no-c-format
msgid "Use __cxa_get_exception_ptr in exception handling."
msgstr ""
-#: c-family/c.opt:2421
+#: c-family/c.opt:2422
#, no-c-format
msgid "Marks all inlined functions and methods as having hidden visibility."
msgstr ""
-#: c-family/c.opt:2425
+#: c-family/c.opt:2426
#, no-c-format
msgid "Changes visibility to match Microsoft Visual Studio by default."
msgstr ""
-#: c-family/c.opt:2437
+#: c-family/c.opt:2438
#, no-c-format
msgid "Emit common-like symbols as weak symbols."
msgstr ""
-#: c-family/c.opt:2441
+#: c-family/c.opt:2442
#, no-c-format
msgid ""
"-fwide-exec-charset=<cset>\tConvert all wide strings and character constants "
"to character set <cset>."
msgstr ""
-#: c-family/c.opt:2445
+#: c-family/c.opt:2446
#, no-c-format
msgid "Generate a #line directive pointing at the current working directory."
msgstr ""
-#: c-family/c.opt:2453
+#: c-family/c.opt:2454
#, no-c-format
msgid ""
"Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
msgstr ""
-#: c-family/c.opt:2457
+#: c-family/c.opt:2458
#, no-c-format
msgid "Dump declarations to a .decl file."
msgstr ""
-#: c-family/c.opt:2461
+#: c-family/c.opt:2462
#, no-c-format
msgid ""
"-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
msgstr ""
-#: c-family/c.opt:2465
+#: c-family/c.opt:2466
#, no-c-format
msgid ""
"-femit-struct-debug-reduced\tConservative reduced debug info for structs."
msgstr ""
-#: c-family/c.opt:2469
+#: c-family/c.opt:2470
#, no-c-format
msgid ""
"-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for "
"structs."
msgstr ""
-#: c-family/c.opt:2473
+#: c-family/c.opt:2474
#, no-c-format
msgid ""
"Interpret imaginary, fixed-point, or other gnu number suffix as the "
"corresponding number literal rather than a user-defined number literal."
msgstr ""
-#: c-family/c.opt:2478
+#: c-family/c.opt:2479
#, no-c-format
msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
msgstr ""
-#: c-family/c.opt:2482
+#: c-family/c.opt:2483
#, no-c-format
msgid "-imacros <file>\tAccept definition of macros in <file>."
msgstr ""
-#: c-family/c.opt:2486
+#: c-family/c.opt:2487
#, no-c-format
msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
msgstr ""
-#: c-family/c.opt:2490
+#: c-family/c.opt:2491
#, no-c-format
msgid "-include <file>\tInclude the contents of <file> before other files."
msgstr ""
-#: c-family/c.opt:2494
+#: c-family/c.opt:2495
#, no-c-format
msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
msgstr ""
-#: c-family/c.opt:2498
+#: c-family/c.opt:2499
#, no-c-format
msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
msgstr ""
-#: c-family/c.opt:2502
+#: c-family/c.opt:2503
#, no-c-format
msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
msgstr ""
-#: c-family/c.opt:2506
+#: c-family/c.opt:2507
#, no-c-format
msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
msgstr ""
-#: c-family/c.opt:2510
+#: c-family/c.opt:2511
#, no-c-format
msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
msgstr ""
-#: c-family/c.opt:2514
+#: c-family/c.opt:2515
#, no-c-format
msgid ""
"-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
msgstr ""
-#: c-family/c.opt:2524
+#: c-family/c.opt:2525
#, no-c-format
msgid ""
"Do not search standard system include directories (those specified with -"
"isystem will still be used)."
msgstr ""
-#: c-family/c.opt:2528
+#: c-family/c.opt:2529
#, no-c-format
msgid "Do not search standard system include directories for C++."
msgstr ""
-#: c-family/c.opt:2540
+#: c-family/c.opt:2541
#, no-c-format
msgid "Generate C header of platform-specific features."
msgstr ""
-#: c-family/c.opt:2544
+#: c-family/c.opt:2545
#, no-c-format
msgid "Remap file names when including files."
msgstr ""
-#: c-family/c.opt:2548 c-family/c.opt:2552
+#: c-family/c.opt:2549 c-family/c.opt:2553
#, no-c-format
msgid ""
"Conform to the ISO 1998 C++ standard revised by the 2003 technical "
"corrigendum."
msgstr ""
-#: c-family/c.opt:2556
+#: c-family/c.opt:2557
#, no-c-format
msgid "Conform to the ISO 2011 C++ standard."
msgstr ""
-#: c-family/c.opt:2560
+#: c-family/c.opt:2561
#, no-c-format
msgid "Deprecated in favor of -std=c++11."
msgstr ""
-#: c-family/c.opt:2564
+#: c-family/c.opt:2565
#, no-c-format
msgid "Deprecated in favor of -std=c++14."
msgstr ""
-#: c-family/c.opt:2568
+#: c-family/c.opt:2569
#, no-c-format
msgid "Conform to the ISO 2014 C++ standard."
msgstr ""
-#: c-family/c.opt:2572
+#: c-family/c.opt:2573
#, no-c-format
msgid "Deprecated in favor of -std=c++17."
msgstr ""
-#: c-family/c.opt:2576
+#: c-family/c.opt:2577
#, no-c-format
msgid "Conform to the ISO 2017 C++ standard."
msgstr ""
-#: c-family/c.opt:2580 c-family/c.opt:2584
+#: c-family/c.opt:2581 c-family/c.opt:2585
#, no-c-format
msgid ""
"Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
msgstr ""
-#: c-family/c.opt:2588 c-family/c.opt:2592
+#: c-family/c.opt:2589 c-family/c.opt:2593
#, no-c-format
msgid ""
"Conform to the ISO 2023 C++ standard (published in 2024; experimental and "
"incomplete support)."
msgstr ""
-#: c-family/c.opt:2596 c-family/c.opt:2600
+#: c-family/c.opt:2597 c-family/c.opt:2601
#, no-c-format
msgid ""
"Conform to the ISO 2026 C++ draft standard (experimental and incomplete "
"support)."
msgstr ""
-#: c-family/c.opt:2604 c-family/c.opt:2766
+#: c-family/c.opt:2605 c-family/c.opt:2767
#, no-c-format
msgid "Conform to the ISO 2011 C standard."
msgstr ""
-#: c-family/c.opt:2608
+#: c-family/c.opt:2609
#, no-c-format
msgid "Deprecated in favor of -std=c11."
msgstr ""
-#: c-family/c.opt:2612 c-family/c.opt:2616 c-family/c.opt:2770
-#: c-family/c.opt:2774
+#: c-family/c.opt:2613 c-family/c.opt:2617 c-family/c.opt:2771
+#: c-family/c.opt:2775
#, no-c-format
msgid "Conform to the ISO 2017 C standard (published in 2018)."
msgstr ""
-#: c-family/c.opt:2620 c-family/c.opt:2778
+#: c-family/c.opt:2621 c-family/c.opt:2779
#, no-c-format
msgid "Conform to the ISO 2023 C standard (published in 2024)."
msgstr ""
-#: c-family/c.opt:2624
+#: c-family/c.opt:2625
#, no-c-format
msgid "Deprecated in favor of -std=c23."
msgstr ""
-#: c-family/c.opt:2628
+#: c-family/c.opt:2629
#, no-c-format
msgid ""
"Conform to the ISO 202Y C standard draft (experimental and incomplete "
"support)."
msgstr ""
-#: c-family/c.opt:2632 c-family/c.opt:2636 c-family/c.opt:2750
+#: c-family/c.opt:2633 c-family/c.opt:2637 c-family/c.opt:2751
#, no-c-format
msgid "Conform to the ISO 1990 C standard."
msgstr ""
-#: c-family/c.opt:2640 c-family/c.opt:2758
+#: c-family/c.opt:2641 c-family/c.opt:2759
#, no-c-format
msgid "Conform to the ISO 1999 C standard."
msgstr ""
-#: c-family/c.opt:2644
+#: c-family/c.opt:2645
#, no-c-format
msgid "Deprecated in favor of -std=c99."
msgstr ""
-#: c-family/c.opt:2648 c-family/c.opt:2653
+#: c-family/c.opt:2649 c-family/c.opt:2654
#, no-c-format
msgid ""
"Conform to the ISO 1998 C++ standard revised by the 2003 technical "
"corrigendum with GNU extensions."
msgstr ""
-#: c-family/c.opt:2658
+#: c-family/c.opt:2659
#, no-c-format
msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2662
+#: c-family/c.opt:2663
#, no-c-format
msgid "Deprecated in favor of -std=gnu++11."
msgstr ""
-#: c-family/c.opt:2666
+#: c-family/c.opt:2667
#, no-c-format
msgid "Deprecated in favor of -std=gnu++14."
msgstr ""
-#: c-family/c.opt:2670
+#: c-family/c.opt:2671
#, no-c-format
msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2674
+#: c-family/c.opt:2675
#, no-c-format
msgid "Deprecated in favor of -std=gnu++17."
msgstr ""
-#: c-family/c.opt:2678
+#: c-family/c.opt:2679
#, no-c-format
msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2682 c-family/c.opt:2686
+#: c-family/c.opt:2683 c-family/c.opt:2687
#, no-c-format
msgid ""
"Conform to the ISO 2020 C++ standard with GNU extensions (experimental and "
"incomplete support)."
msgstr ""
-#: c-family/c.opt:2690 c-family/c.opt:2694
+#: c-family/c.opt:2691 c-family/c.opt:2695
#, no-c-format
msgid ""
"Conform to the ISO 2023 C++ standard with GNU extensions (published in 2024; "
"experimental and incomplete support)."
msgstr ""
-#: c-family/c.opt:2698 c-family/c.opt:2702
+#: c-family/c.opt:2699 c-family/c.opt:2703
#, no-c-format
msgid ""
"Conform to the ISO 2026 C++ draft standard with GNU extensions (experimental "
"and incomplete support)."
msgstr ""
-#: c-family/c.opt:2706
+#: c-family/c.opt:2707
#, no-c-format
msgid "Conform to the ISO 2011 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2710
+#: c-family/c.opt:2711
#, no-c-format
msgid "Deprecated in favor of -std=gnu11."
msgstr ""
-#: c-family/c.opt:2714 c-family/c.opt:2718
+#: c-family/c.opt:2715 c-family/c.opt:2719
#, no-c-format
msgid ""
"Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
msgstr ""
-#: c-family/c.opt:2722
+#: c-family/c.opt:2723
#, no-c-format
msgid ""
"Conform to the ISO 2023 C standard (published in 2024) with GNU extensions."
msgstr ""
-#: c-family/c.opt:2726
+#: c-family/c.opt:2727
#, no-c-format
msgid "Deprecated in favor of -std=gnu23."
msgstr ""
-#: c-family/c.opt:2730
+#: c-family/c.opt:2731
#, no-c-format
msgid ""
"Conform to the ISO 202Y C standard draft with GNU extensions (experimental "
"and incomplete support)."
msgstr ""
-#: c-family/c.opt:2734 c-family/c.opt:2738
+#: c-family/c.opt:2735 c-family/c.opt:2739
#, no-c-format
msgid "Conform to the ISO 1990 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2742
+#: c-family/c.opt:2743
#, no-c-format
msgid "Conform to the ISO 1999 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2746
+#: c-family/c.opt:2747
#, no-c-format
msgid "Deprecated in favor of -std=gnu99."
msgstr ""
-#: c-family/c.opt:2754
+#: c-family/c.opt:2755
#, no-c-format
msgid "Conform to the ISO 1990 C standard as amended in 1994."
msgstr ""
-#: c-family/c.opt:2762
+#: c-family/c.opt:2763
#, no-c-format
msgid "Deprecated in favor of -std=iso9899:1999."
msgstr ""
-#: c-family/c.opt:2782
+#: c-family/c.opt:2783
#, no-c-format
msgid ""
"-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers "
"and runtime."
msgstr ""
-#: c-family/c.opt:2799
+#: c-family/c.opt:2800
#, no-c-format
msgid "Enable traditional preprocessing."
msgstr ""
-#: c-family/c.opt:2803
+#: c-family/c.opt:2804
#, no-c-format
msgid "-trigraphs\tSupport ISO C trigraphs."
msgstr ""
-#: c-family/c.opt:2807
+#: c-family/c.opt:2808
#, no-c-format
msgid "Do not predefine system-specific and GCC-specific macros."
msgstr ""
@@ -4190,50 +4195,50 @@ msgstr ""
msgid "Enable Cobol lex debugging"
msgstr ""
-#: cobol/lang.opt:90
+#: cobol/lang.opt:86
#, no-c-format
msgid "-findicator-column=<n>\tColumn after which Region A begins"
msgstr ""
-#: cobol/lang.opt:94
+#: cobol/lang.opt:90
#, no-c-format
msgid "-finternal-ebcdic\tInternal processing is in EBCDIC Code Page 1140"
msgstr ""
-#: cobol/lang.opt:102
+#: cobol/lang.opt:94
#, no-c-format
msgid "Enable/disable static linkage for CALL literals"
msgstr ""
-#: cobol/lang.opt:106
+#: cobol/lang.opt:98
#, no-c-format
msgid "Enable Cobol parser debugging"
msgstr ""
-#: cobol/lang.opt:110
+#: cobol/lang.opt:102
#, no-c-format
msgid "Enable Cobol yacc debugging"
msgstr ""
-#: cobol/lang.opt:114
+#: cobol/lang.opt:106
#, no-c-format
msgid "preprocess <source_filter> before compiling"
msgstr ""
-#: cobol/lang.opt:134
+#: cobol/lang.opt:126
#, no-c-format
msgid ""
"-main\tThe first program-id in the next source file is called by a generated "
"main() entry point"
msgstr ""
-#: cobol/lang.opt:138
+#: cobol/lang.opt:130
#, no-c-format
msgid ""
"-main=<source_file> source_file/PROGRAM-ID is called by the generated main()"
msgstr ""
-#: cobol/lang.opt:142
+#: cobol/lang.opt:134
#, no-c-format
msgid "-nomain\tNo main() function is created from COBOL source files"
msgstr ""
@@ -4414,217 +4419,222 @@ msgstr ""
#: d/lang.opt:332
#, no-c-format
-msgid "Generate code for class invariant contracts."
+msgid "Include imported modules in the compilation."
msgstr ""
#: d/lang.opt:336
#, no-c-format
-msgid "Generate a default D main() function when compiling."
+msgid "Generate code for class invariant contracts."
msgstr ""
#: d/lang.opt:340
#, no-c-format
+msgid "Generate a default D main() function when compiling."
+msgstr ""
+
+#: d/lang.opt:344
+#, no-c-format
msgid ""
"-fmodule-file=<package.module>=<filespec>\tuse <filespec> as source file for "
"<package.module>."
msgstr ""
-#: d/lang.opt:344
+#: d/lang.opt:348
#, no-c-format
msgid "Generate ModuleInfo struct for output module."
msgstr ""
-#: d/lang.opt:348
+#: d/lang.opt:352
#, 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:352
+#: d/lang.opt:356
#, no-c-format
msgid "Generate code for postcondition contracts."
msgstr ""
-#: d/lang.opt:356
+#: d/lang.opt:360
#, no-c-format
msgid "Generate code for precondition contracts."
msgstr ""
-#: d/lang.opt:360
+#: d/lang.opt:364
#, no-c-format
msgid "Turn on all upcoming D language features."
msgstr ""
-#: d/lang.opt:364
+#: d/lang.opt:368
#, no-c-format
msgid "Implement D bit-fields."
msgstr ""
-#: d/lang.opt:368
+#: d/lang.opt:372
#, no-c-format
msgid "Implement DIP1000: Scoped pointers."
msgstr ""
-#: d/lang.opt:372
+#: d/lang.opt:376
#, no-c-format
msgid "Implement DIP1008: Allow exceptions in @nogc code."
msgstr ""
-#: d/lang.opt:376
+#: d/lang.opt:380
#, no-c-format
msgid "Implement DIP1021: Mutable function arguments."
msgstr ""
-#: d/lang.opt:380
+#: d/lang.opt:384
#, no-c-format
msgid "Destruct fields of partially constructed objects."
msgstr ""
-#: d/lang.opt:384
+#: d/lang.opt:388
#, no-c-format
msgid "Use field-wise comparisons for struct equality."
msgstr ""
-#: d/lang.opt:388
+#: d/lang.opt:392
#, no-c-format
msgid ""
"When a symbol is resolved, check `alias this' scope before going to upper "
"scopes."
msgstr ""
-#: d/lang.opt:392
+#: d/lang.opt:396
#, no-c-format
msgid ""
"Disallow unsound immutable conversions that were formerly incorrectly "
"permitted."
msgstr ""
-#: d/lang.opt:396
+#: d/lang.opt:400
#, no-c-format
msgid "Implement 'in' parameters to mean scope const."
msgstr ""
-#: d/lang.opt:400
+#: d/lang.opt:404
#, no-c-format
msgid ""
"Implement 'in' contracts of overridden methods to be a superset of parent "
"contract."
msgstr ""
-#: d/lang.opt:404
+#: d/lang.opt:408
#, no-c-format
msgid "Disable access to shared memory objects."
msgstr ""
-#: d/lang.opt:408
+#: d/lang.opt:412
#, no-c-format
msgid "Enable safety checks on all functions by default."
msgstr ""
-#: d/lang.opt:412
+#: d/lang.opt:416
#, no-c-format
msgid "Enable rvalue arguments to ref parameters."
msgstr ""
-#: d/lang.opt:416
+#: d/lang.opt:420
#, no-c-format
msgid "Disable access to variables marked `@system' from @safe code."
msgstr ""
-#: d/lang.opt:420
+#: d/lang.opt:424
#, no-c-format
msgid "Compile release version."
msgstr ""
-#: d/lang.opt:424
+#: d/lang.opt:428
#, no-c-format
msgid "Turn off all revertable D language features."
msgstr ""
-#: d/lang.opt:428
+#: d/lang.opt:432
#, no-c-format
msgid "Revert DIP1000: Scoped pointers."
msgstr ""
-#: d/lang.opt:432
+#: d/lang.opt:436
#, no-c-format
msgid "Don't destruct fields of partially constructed objects."
msgstr ""
-#: d/lang.opt:436
+#: d/lang.opt:440
#, no-c-format
msgid "Don't use C-style integral promotion for unary '+', '-' and '~'."
msgstr ""
-#: d/lang.opt:444
+#: d/lang.opt:448
#, no-c-format
msgid ""
"-fsave-mixins=<filename>\tExpand and save mixins to file specified by "
"<filename>."
msgstr ""
-#: d/lang.opt:448
+#: d/lang.opt:452
#, no-c-format
msgid "Generate code for switches without a default case."
msgstr ""
-#: d/lang.opt:452
+#: d/lang.opt:456
#, no-c-format
msgid "List information on all D language transitions."
msgstr ""
-#: d/lang.opt:456
+#: d/lang.opt:460
#, no-c-format
msgid "List all non-mutable fields which occupy an object instance."
msgstr ""
-#: d/lang.opt:460
+#: d/lang.opt:464
#, no-c-format
msgid "List all usages of 'in' on parameter."
msgstr ""
-#: d/lang.opt:464
+#: d/lang.opt:468
#, no-c-format
msgid "List all hidden GC allocations."
msgstr ""
-#: d/lang.opt:468
+#: d/lang.opt:472
#, no-c-format
msgid "List statistics on template instantiations."
msgstr ""
-#: d/lang.opt:472
+#: d/lang.opt:476
#, no-c-format
msgid "List all variables going into thread local storage."
msgstr ""
-#: d/lang.opt:476
+#: d/lang.opt:480
#, no-c-format
msgid "Compile in unittest code."
msgstr ""
-#: d/lang.opt:480
+#: d/lang.opt:484
#, no-c-format
msgid "-fversion=<ident>\tCompile in version code identified by <ident>."
msgstr ""
-#: d/lang.opt:484
+#: d/lang.opt:488
#, no-c-format
msgid "Emit template instantiations as weak symbols."
msgstr ""
-#: d/lang.opt:504
+#: d/lang.opt:508
#, no-c-format
msgid "Do not link the standard D library in the compilation."
msgstr ""
-#: d/lang.opt:512
+#: d/lang.opt:516
#, no-c-format
msgid "Link the standard D library statically in the compilation."
msgstr ""
-#: d/lang.opt:516
+#: d/lang.opt:520
#, no-c-format
msgid "Link the standard D library dynamically in the compilation."
msgstr ""
@@ -7585,7 +7595,7 @@ msgstr ""
msgid "Specify bit size of immediate TLS offsets."
msgstr ""
-#: config/ia64/ia64.opt:122 config/i386/i386.opt:542 config/s390/s390.opt:206
+#: config/ia64/ia64.opt:122 config/i386/i386.opt:542 config/s390/s390.opt:209
#: config/sparc/sparc.opt:146 config/visium/visium.opt:49
#, no-c-format
msgid "Schedule code for given CPU."
@@ -8039,13 +8049,13 @@ msgstr ""
msgid "Use 80-bit long double."
msgstr ""
-#: config/i386/i386.opt:229 config/s390/s390.opt:166
+#: config/i386/i386.opt:229 config/s390/s390.opt:169
#: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:110
#, no-c-format
msgid "Use 64-bit long double."
msgstr ""
-#: config/i386/i386.opt:233 config/s390/s390.opt:162
+#: config/i386/i386.opt:233 config/s390/s390.opt:165
#: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:106
#, no-c-format
msgid "Use 128-bit long double."
@@ -8801,7 +8811,7 @@ msgstr ""
msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
msgstr ""
-#: config/i386/i386.opt:972 config/s390/s390.opt:310
+#: config/i386/i386.opt:972 config/s390/s390.opt:313
#, no-c-format
msgid ""
"Generate mcount/__fentry__ calls as nops. To activate they need to be "
@@ -8908,7 +8918,7 @@ msgstr ""
msgid "Convert function return to call and return thunk."
msgstr ""
-#: config/i386/i386.opt:1087 config/s390/s390.opt:276
+#: config/i386/i386.opt:1087 config/s390/s390.opt:279
#, no-c-format
msgid ""
"Known indirect branch choices (for use with the -mindirect-branch=/-"
@@ -9974,32 +9984,32 @@ msgstr ""
msgid "64 bit ABI."
msgstr ""
-#: config/s390/s390.opt:132
+#: config/s390/s390.opt:135
#, no-c-format
msgid "Maintain backchain pointer."
msgstr ""
-#: config/s390/s390.opt:136
+#: config/s390/s390.opt:139
#, no-c-format
msgid "Additional debug prints."
msgstr ""
-#: config/s390/s390.opt:140
+#: config/s390/s390.opt:143
#, no-c-format
msgid "ESA/390 architecture."
msgstr ""
-#: config/s390/s390.opt:144
+#: config/s390/s390.opt:147
#, no-c-format
msgid "Enable decimal floating point hardware support."
msgstr ""
-#: config/s390/s390.opt:148
+#: config/s390/s390.opt:151
#, no-c-format
msgid "Enable hardware floating point."
msgstr ""
-#: config/s390/s390.opt:152
+#: config/s390/s390.opt:155
#, no-c-format
msgid ""
"Takes two non-negative integer numbers separated by a comma. Prepend the "
@@ -10010,102 +10020,102 @@ msgid ""
"size. Using 0 for both values disables hotpatching."
msgstr ""
-#: config/s390/s390.opt:170
+#: config/s390/s390.opt:173
#, no-c-format
msgid "Use hardware transactional execution instructions."
msgstr ""
-#: config/s390/s390.opt:174
+#: config/s390/s390.opt:177
#, no-c-format
msgid "Use hardware vector facility instructions and enable the vector ABI."
msgstr ""
-#: config/s390/s390.opt:178
+#: config/s390/s390.opt:181
#, no-c-format
msgid "Use packed stack layout."
msgstr ""
-#: config/s390/s390.opt:182
+#: config/s390/s390.opt:185
#, no-c-format
msgid "Use bras for executable < 64k."
msgstr ""
-#: config/s390/s390.opt:186
+#: config/s390/s390.opt:189
#, no-c-format
msgid "Disable hardware floating point."
msgstr ""
-#: config/s390/s390.opt:190
+#: config/s390/s390.opt:193
#, no-c-format
msgid ""
"Set the max. number of bytes which has to be left to stack size before a "
"trap instruction is triggered."
msgstr ""
-#: config/s390/s390.opt:194
+#: config/s390/s390.opt:197
#, no-c-format
msgid "Switches off the -mstack-guard= option."
msgstr ""
-#: config/s390/s390.opt:198
+#: config/s390/s390.opt:201
#, no-c-format
msgid ""
"Emit extra code in the function prologue in order to trap if the stack size "
"exceeds the given limit."
msgstr ""
-#: config/s390/s390.opt:202
+#: config/s390/s390.opt:205
#, no-c-format
msgid "Switches off the -mstack-size= option."
msgstr ""
-#: config/s390/s390.opt:210
+#: config/s390/s390.opt:213
#, no-c-format
msgid "Use the mvcle instruction for block moves."
msgstr ""
-#: config/s390/s390.opt:214
+#: config/s390/s390.opt:217
#, no-c-format
msgid ""
"Enable the z vector language extension providing the context-sensitive "
"vector macro and enable the Altivec-style builtins in vecintrin.h."
msgstr ""
-#: config/s390/s390.opt:219
+#: config/s390/s390.opt:222
#, no-c-format
msgid "Warn if a function uses alloca or creates an array with dynamic size."
msgstr ""
-#: config/s390/s390.opt:223
+#: config/s390/s390.opt:226
#, no-c-format
msgid "Warn if a single function's framesize exceeds the given framesize."
msgstr ""
-#: config/s390/s390.opt:227
+#: config/s390/s390.opt:230
#, no-c-format
msgid "z/Architecture."
msgstr ""
-#: config/s390/s390.opt:231
+#: config/s390/s390.opt:234
#, no-c-format
msgid ""
"Set the branch costs for conditional branch instructions. Reasonable values "
"are small, non-negative integers. The default branch cost is 1."
msgstr ""
-#: config/s390/s390.opt:237 config/arm/arm.opt:178
+#: config/s390/s390.opt:240 config/arm/arm.opt:178
#, no-c-format
msgid "Assume data segments are relative to text segment."
msgstr ""
-#: config/s390/s390.opt:242
+#: config/s390/s390.opt:245
#, no-c-format
msgid ""
"Wrap all indirect branches into execute in order to disable branch "
"prediction."
msgstr ""
-#: config/s390/s390.opt:247
+#: config/s390/s390.opt:250
#, no-c-format
msgid ""
"Wrap indirect table jumps and computed gotos into execute in order to "
@@ -10115,20 +10125,20 @@ msgid ""
"required please use thunk-inline instead."
msgstr ""
-#: config/s390/s390.opt:255
+#: config/s390/s390.opt:258
#, no-c-format
msgid ""
"Wrap all indirect calls into execute in order to disable branch prediction."
msgstr ""
-#: config/s390/s390.opt:259
+#: config/s390/s390.opt:262
#, no-c-format
msgid ""
"Wrap all indirect return branches into execute in order to disable branch "
"prediction."
msgstr ""
-#: config/s390/s390.opt:264
+#: config/s390/s390.opt:267
#, no-c-format
msgid ""
"Wrap indirect return branches into execute in order to disable branch "
@@ -10136,7 +10146,7 @@ msgid ""
"be restored from memory."
msgstr ""
-#: config/s390/s390.opt:270
+#: config/s390/s390.opt:273
#, no-c-format
msgid ""
"Wrap indirect return branches into execute in order to disable branch "
@@ -10144,7 +10154,7 @@ msgid ""
"to be restored from memory."
msgstr ""
-#: config/s390/s390.opt:292
+#: config/s390/s390.opt:295
#, no-c-format
msgid ""
"Generate sections .s390_indirect_jump, .s390_indirect_call, ."
@@ -10155,19 +10165,19 @@ msgid ""
"location."
msgstr ""
-#: config/s390/s390.opt:301
+#: config/s390/s390.opt:304
#, no-c-format
msgid ""
"Emit profiling counter call at function entry before prologue. The compiled "
"code will require a 64-bit CPU and glibc 2.29 or newer to run."
msgstr ""
-#: config/s390/s390.opt:306
+#: config/s390/s390.opt:309
#, no-c-format
msgid "Generate __mcount_loc section with all _mcount and __fentry__ calls."
msgstr ""
-#: config/s390/s390.opt:315
+#: config/s390/s390.opt:318
#, no-c-format
msgid ""
"Emit fused multiply-add instructions for long doubles in vector registers "
@@ -10180,12 +10190,12 @@ msgid ""
"testing purposes."
msgstr ""
-#: config/s390/s390.opt:330
+#: config/s390/s390.opt:333
#, no-c-format
msgid "Store all argument registers on the stack."
msgstr ""
-#: config/s390/s390.opt:334
+#: config/s390/s390.opt:337
#, no-c-format
msgid ""
"Assume external symbols, whose natural alignment would be 1, to be "
@@ -15659,7 +15669,7 @@ msgstr ""
msgid "Mark all loops as parallel."
msgstr ""
-#: common.opt:1852 common.opt:1860 common.opt:3241
+#: common.opt:1852 common.opt:1860 common.opt:3249
#, no-c-format
msgid "Enable loop nest transforms. Same as -floop-nest-optimize."
msgstr ""
@@ -15831,7 +15841,12 @@ msgid ""
"operations inline, even if against optimization."
msgstr ""
-#: common.opt:2061
+#: common.opt:2058
+#, no-c-format
+msgid "Equivalent to -fcf-protection=full."
+msgstr ""
+
+#: common.opt:2062
#, no-c-format
msgid ""
"-fcf-protection=[full|branch|return|none|check]\tInstrument functions with "
@@ -15839,367 +15854,372 @@ msgid ""
"valid targets."
msgstr ""
-#: common.opt:2084
+#: common.opt:2085
#, no-c-format
msgid "Instrument function entry and exit with profiling calls."
msgstr ""
-#: common.opt:2088
+#: common.opt:2089
#, no-c-format
msgid "Instrument function entry and exit with profiling calls invoked once."
msgstr ""
-#: common.opt:2092
+#: common.opt:2093
#, no-c-format
msgid ""
"-finstrument-functions-exclude-function-list=name,...\tDo not instrument "
"listed functions."
msgstr ""
-#: common.opt:2096
+#: common.opt:2097
#, no-c-format
msgid ""
"-finstrument-functions-exclude-file-list=filename,...\tDo not instrument "
"functions listed in files."
msgstr ""
-#: common.opt:2100
+#: common.opt:2101
#, no-c-format
msgid "Perform interprocedural constant propagation."
msgstr ""
-#: common.opt:2104
+#: common.opt:2105
#, no-c-format
msgid "Perform cloning to make Interprocedural constant propagation stronger."
msgstr ""
-#: common.opt:2112
+#: common.opt:2113
#, no-c-format
msgid "Perform interprocedural bitwise constant propagation."
msgstr ""
-#: common.opt:2116
+#: common.opt:2117
#, no-c-format
msgid "Perform interprocedural modref analysis."
msgstr ""
-#: common.opt:2120
+#: common.opt:2121
+#, no-c-format
+msgid "Perform reordering and cloning of functions to maximize locality."
+msgstr ""
+
+#: common.opt:2125
#, no-c-format
msgid "Perform interprocedural profile propagation."
msgstr ""
-#: common.opt:2124
+#: common.opt:2129
#, no-c-format
msgid "Perform interprocedural points-to analysis."
msgstr ""
-#: common.opt:2128
+#: common.opt:2133
#, no-c-format
msgid "Discover pure and const functions."
msgstr ""
-#: common.opt:2132
+#: common.opt:2137
#, no-c-format
msgid "Perform Identical Code Folding for functions and read-only variables."
msgstr ""
-#: common.opt:2136
+#: common.opt:2141
#, no-c-format
msgid "Perform Identical Code Folding for functions."
msgstr ""
-#: common.opt:2140
+#: common.opt:2145
#, no-c-format
msgid "Perform Identical Code Folding for variables."
msgstr ""
-#: common.opt:2144
+#: common.opt:2149
#, no-c-format
msgid "Discover read-only and non addressable static variables."
msgstr ""
-#: common.opt:2148
+#: common.opt:2153
#, no-c-format
msgid "Discover read-only, write-only and non-addressable static variables."
msgstr ""
-#: common.opt:2152
+#: common.opt:2157
#, no-c-format
msgid "Reduce stack alignment on call sites if possible."
msgstr ""
-#: common.opt:2164
+#: common.opt:2169
#, no-c-format
msgid "Perform IPA Value Range Propagation."
msgstr ""
-#: common.opt:2168
+#: common.opt:2173
#, no-c-format
msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
msgstr ""
-#: common.opt:2172
+#: common.opt:2177
#, no-c-format
msgid ""
"Assume strict aliasing rules apply across (uninlined) function boundaries."
msgstr ""
-#: common.opt:2185
+#: common.opt:2190
#, no-c-format
msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
msgstr ""
-#: common.opt:2201
+#: common.opt:2206
#, no-c-format
msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
msgstr ""
-#: common.opt:2206
+#: common.opt:2211
#, no-c-format
msgid "Use IRA based register pressure calculation in RTL loop optimizations."
msgstr ""
-#: common.opt:2211
+#: common.opt:2216
#, no-c-format
msgid "Share slots for saving different hard registers."
msgstr ""
-#: common.opt:2215
+#: common.opt:2220
#, no-c-format
msgid "Share stack slots for spilled pseudo-registers."
msgstr ""
-#: common.opt:2219
+#: common.opt:2224
#, no-c-format
msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
msgstr ""
-#: common.opt:2223
+#: common.opt:2228
#, no-c-format
msgid "Optimize induction variables on trees."
msgstr ""
-#: common.opt:2227
+#: common.opt:2232
#, no-c-format
msgid "Use jump tables for sufficiently large switch statements."
msgstr ""
-#: common.opt:2231
+#: common.opt:2236
#, no-c-format
msgid "Use bit tests for sufficiently large switch statements."
msgstr ""
-#: common.opt:2235
+#: common.opt:2240
#, no-c-format
msgid "Generate code for functions even if they are fully inlined."
msgstr ""
-#: common.opt:2239
+#: common.opt:2244
#, no-c-format
msgid "Generate code for static functions even if they are never called."
msgstr ""
-#: common.opt:2243
+#: common.opt:2248
#, no-c-format
msgid "Emit static const variables even if they are not used."
msgstr ""
-#: common.opt:2247
+#: common.opt:2252
#, no-c-format
msgid "Give external symbols a leading underscore."
msgstr ""
-#: common.opt:2255
+#: common.opt:2260
#, no-c-format
msgid "Do CFG-sensitive rematerialization in LRA."
msgstr ""
-#: common.opt:2259
+#: common.opt:2264
#, no-c-format
msgid "Enable link-time optimization."
msgstr ""
-#: common.opt:2263
+#: common.opt:2268
#, no-c-format
msgid "Link-time optimization with number of parallel jobs or jobserver."
msgstr ""
-#: common.opt:2267
+#: common.opt:2272
#, no-c-format
msgid "Enable incremental LTO, with its cache in given directory."
msgstr ""
-#: common.opt:2271
+#: common.opt:2276
#, no-c-format
msgid ""
"Number of cache entries in incremental LTO after which to prune old entries."
msgstr ""
-#: common.opt:2296
+#: common.opt:2304
#, no-c-format
msgid "Specify the algorithm to partition symbols and vars at linktime."
msgstr ""
-#: common.opt:2301
+#: common.opt:2309
#, no-c-format
msgid "Use zlib/zstd compression level <number> for IL."
msgstr ""
-#: common.opt:2309
+#: common.opt:2317
#, no-c-format
msgid "Report various link-time optimization statistics."
msgstr ""
-#: common.opt:2313
+#: common.opt:2321
#, no-c-format
msgid "Report various link-time optimization statistics for WPA only."
msgstr ""
-#: common.opt:2317
+#: common.opt:2325
#, no-c-format
msgid "Set errno after built-in math functions."
msgstr ""
-#: common.opt:2321
+#: common.opt:2329
#, no-c-format
msgid "-fmax-errors=<number>\tMaximum number of errors to report."
msgstr ""
-#: common.opt:2325
+#: common.opt:2333
#, no-c-format
msgid "Allow removal of malloc and free pairs when allocated block is unused."
msgstr ""
-#: common.opt:2332
+#: common.opt:2340
#, no-c-format
msgid "Report on permanent memory allocation."
msgstr ""
-#: common.opt:2336
+#: common.opt:2344
#, no-c-format
msgid "Report on permanent memory allocation in WPA only."
msgstr ""
-#: common.opt:2343
+#: common.opt:2351
#, no-c-format
msgid "Attempt to merge identical constants and constant variables."
msgstr ""
-#: common.opt:2347
+#: common.opt:2355
#, no-c-format
msgid "Attempt to merge identical constants across compilation units."
msgstr ""
-#: common.opt:2351
+#: common.opt:2359
#, no-c-format
msgid "Attempt to merge identical debug strings across compilation units."
msgstr ""
-#: common.opt:2355
+#: common.opt:2363
#, no-c-format
msgid ""
"-fmessage-length=<number>\tLimit diagnostics to <number> characters per "
"line. 0 suppresses line-wrapping."
msgstr ""
-#: common.opt:2359
+#: common.opt:2367
#, no-c-format
msgid "Align the start of every function."
msgstr ""
-#: common.opt:2363
+#: common.opt:2371
#, no-c-format
msgid "Perform SMS based modulo scheduling before the first scheduling pass."
msgstr ""
-#: common.opt:2367
+#: common.opt:2375
#, no-c-format
msgid "Perform SMS based modulo scheduling with register moves allowed."
msgstr ""
-#: common.opt:2371
+#: common.opt:2379
#, no-c-format
msgid "Move loop invariant computations out of loops."
msgstr ""
-#: common.opt:2375
+#: common.opt:2383
#, no-c-format
msgid "Move stores out of loops."
msgstr ""
-#: common.opt:2379
+#: common.opt:2387
#, no-c-format
msgid "Building block for specs-based multilib-aware TFLAGS."
msgstr ""
-#: common.opt:2383
+#: common.opt:2391
#, no-c-format
msgid "Use the RTL dead code elimination pass."
msgstr ""
-#: common.opt:2387
+#: common.opt:2395
#, no-c-format
msgid "Use the RTL dead store elimination pass."
msgstr ""
-#: common.opt:2391
+#: common.opt:2399
#, no-c-format
msgid ""
"Enable/Disable the traditional scheduling in loops that already passed "
"modulo scheduling."
msgstr ""
-#: common.opt:2395
+#: common.opt:2403
#, no-c-format
msgid "Support synchronous non-call exceptions."
msgstr ""
-#: common.opt:2402
+#: common.opt:2410
#, no-c-format
msgid ""
"-foffload-options=<targets>=<options>\tSpecify options for the offloading "
"targets."
msgstr ""
-#: common.opt:2406
+#: common.opt:2414
#, no-c-format
msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
msgstr ""
-#: common.opt:2419
+#: common.opt:2427
#, no-c-format
msgid "-foffload-abi-host-opts=<options>\tSpecify host ABI options."
msgstr ""
-#: common.opt:2423
+#: common.opt:2431
#, no-c-format
msgid "When possible do not generate stack frames."
msgstr ""
-#: common.opt:2430
+#: common.opt:2438
#, no-c-format
msgid ""
"Generate SIMD clones for functions with the OpenMP declare target directive."
msgstr ""
-#: common.opt:2449
+#: common.opt:2457
#, no-c-format
msgid "Enable all optimization info dumps on stderr."
msgstr ""
-#: common.opt:2453
+#: common.opt:2461
#, no-c-format
msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
msgstr ""
-#: common.opt:2457
+#: common.opt:2465
#, no-c-format
msgid ""
"Write a SRCFILE.opt-record.json file detailing what optimizations were "
"performed."
msgstr ""
-#: common.opt:2461
+#: common.opt:2469
#, no-c-format
msgid ""
"Detect loops calculating CRC and replace with faster implementation. If the "
@@ -16210,275 +16230,275 @@ msgid ""
"based CRC."
msgstr ""
-#: common.opt:2475
+#: common.opt:2483
#, no-c-format
msgid "Optimize sibling and tail recursive calls."
msgstr ""
-#: common.opt:2479
+#: common.opt:2487
#, no-c-format
msgid "Insert path profiling code."
msgstr ""
-#: common.opt:2483
+#: common.opt:2491
#, no-c-format
msgid "Perform partial inlining."
msgstr ""
-#: common.opt:2487 common.opt:2491
+#: common.opt:2495 common.opt:2499
#, no-c-format
msgid "Report on memory allocation before interprocedural optimization."
msgstr ""
-#: common.opt:2495
+#: common.opt:2503
#, no-c-format
msgid "Pack structure members together without holes."
msgstr ""
-#: common.opt:2499
+#: common.opt:2507
#, no-c-format
msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
msgstr ""
-#: common.opt:2503
+#: common.opt:2511
#, no-c-format
msgid "Return small aggregates in memory, not registers."
msgstr ""
-#: common.opt:2507
+#: common.opt:2515
#, no-c-format
msgid "Perform loop peeling."
msgstr ""
-#: common.opt:2511
+#: common.opt:2519
#, no-c-format
msgid "Enable machine specific peephole optimizations."
msgstr ""
-#: common.opt:2515
+#: common.opt:2523
#, no-c-format
msgid "Enable an RTL peephole pass before sched2."
msgstr ""
-#: common.opt:2519
+#: common.opt:2527
#, no-c-format
msgid "Generate position-independent code if possible (large mode)."
msgstr ""
-#: common.opt:2523
+#: common.opt:2531
#, no-c-format
msgid ""
"Generate position-independent code for executables if possible (large mode)."
msgstr ""
-#: common.opt:2527
+#: common.opt:2535
#, no-c-format
msgid "Generate position-independent code if possible (small mode)."
msgstr ""
-#: common.opt:2531
+#: common.opt:2539
#, no-c-format
msgid ""
"Generate position-independent code for executables if possible (small mode)."
msgstr ""
-#: common.opt:2535
+#: common.opt:2543
#, no-c-format
msgid ""
"Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
msgstr ""
-#: common.opt:2539
+#: common.opt:2547
#, no-c-format
msgid "Specify a plugin to load."
msgstr ""
-#: common.opt:2543
+#: common.opt:2551
#, no-c-format
msgid ""
"-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for "
"plugin <name>."
msgstr ""
-#: common.opt:2547
+#: common.opt:2555
#, no-c-format
msgid "Run predictive commoning optimization."
msgstr ""
-#: common.opt:2551
+#: common.opt:2559
#, no-c-format
msgid "Generate prefetch instructions, if available, for arrays in loops."
msgstr ""
-#: common.opt:2555
+#: common.opt:2563
#, no-c-format
msgid "Enable basic program profiling code."
msgstr ""
-#: common.opt:2559
+#: common.opt:2567
#, no-c-format
msgid "Generate absolute source path names for gcov."
msgstr ""
-#: common.opt:2563
+#: common.opt:2571
#, no-c-format
msgid "Insert arc-based program profiling code."
msgstr ""
-#: common.opt:2567
+#: common.opt:2575
#, no-c-format
msgid "Insert condition coverage profiling code."
msgstr ""
-#: common.opt:2571
+#: common.opt:2579
#, no-c-format
msgid ""
"Set the top-level directory for storing the profile data. The default is "
"'pwd'."
msgstr ""
-#: common.opt:2576
+#: common.opt:2584
#, no-c-format
msgid "Select the name for storing the profile note file."
msgstr ""
-#: common.opt:2580
+#: common.opt:2588
#, no-c-format
msgid "Enable correction of flow inconsistent profile data input."
msgstr ""
-#: common.opt:2584
+#: common.opt:2592
#, no-c-format
msgid ""
"-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update "
"method."
msgstr ""
-#: common.opt:2588
+#: common.opt:2596
#, no-c-format
msgid ""
"Instrument only functions from files whose name matches any of the regular "
"expressions (separated by semi-colons)."
msgstr ""
-#: common.opt:2592
+#: common.opt:2600
#, no-c-format
msgid ""
"Instrument only functions from files whose name does not match any of the "
"regular expressions (separated by semi-colons)."
msgstr ""
-#: common.opt:2608
+#: common.opt:2616
#, no-c-format
msgid ""
"-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level "
"of reproducibility of profile gathered by -fprofile-generate."
msgstr ""
-#: common.opt:2624
+#: common.opt:2632
#, no-c-format
msgid ""
"Remove prefix from absolute path before mangling name for -fprofile-"
"generate= and -fprofile-use=."
msgstr ""
-#: common.opt:2628
+#: common.opt:2636
#, no-c-format
msgid ""
"-fprofile-prefix-map=<old>=<new>\tMap one directory name to another in GCOV "
"coverage result."
msgstr ""
-#: common.opt:2632
+#: common.opt:2640
#, no-c-format
msgid ""
"Enable common options for generating profile info for profile feedback "
"directed optimizations."
msgstr ""
-#: common.opt:2636
+#: common.opt:2644
#, no-c-format
msgid ""
"Enable common options for generating profile info for profile feedback "
"directed optimizations, and set -fprofile-dir=."
msgstr ""
-#: common.opt:2640
+#: common.opt:2648
#, no-c-format
msgid ""
"Register the profile information in the .gcov_info section instead of using "
"a constructor/destructor."
msgstr ""
-#: common.opt:2644
+#: common.opt:2652
#, no-c-format
msgid ""
"Register the profile information in the specified section instead of using a "
"constructor/destructor."
msgstr ""
-#: common.opt:2648
+#: common.opt:2656
#, no-c-format
msgid ""
"Do not assume that functions never executed during the train run are cold."
msgstr ""
-#: common.opt:2652
+#: common.opt:2660
#, no-c-format
msgid ""
"Enable common options for performing profile feedback directed optimizations."
msgstr ""
-#: common.opt:2656
+#: common.opt:2664
#, no-c-format
msgid ""
"Enable common options for performing profile feedback directed "
"optimizations, and set -fprofile-dir=."
msgstr ""
-#: common.opt:2660
+#: common.opt:2668
#, no-c-format
msgid "Insert code to profile values of expressions."
msgstr ""
-#: common.opt:2664
+#: common.opt:2672
#, no-c-format
msgid "Report on consistency of profile."
msgstr ""
-#: common.opt:2668
+#: common.opt:2676
#, no-c-format
msgid "Enable function reordering that improves code placement."
msgstr ""
-#: common.opt:2672
+#: common.opt:2680
#, no-c-format
msgid "Insert NOP instructions at each function entry."
msgstr ""
-#: common.opt:2679
+#: common.opt:2687
#, no-c-format
msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
msgstr ""
-#: common.opt:2689
+#: common.opt:2697
#, no-c-format
msgid "Record gcc command line switches in the object file."
msgstr ""
-#: common.opt:2693
+#: common.opt:2701
#, no-c-format
msgid "Return small aggregates in registers."
msgstr ""
-#: common.opt:2701
+#: common.opt:2709
#, no-c-format
msgid ""
"Tell DSE that the storage for a C++ object is dead when the constructor "
"starts and when the destructor finishes."
msgstr ""
-#: common.opt:2715
+#: common.opt:2723
#, no-c-format
msgid ""
"-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations "
@@ -16486,520 +16506,520 @@ msgid ""
"multiple-level control on the enabled IPA optimizations."
msgstr ""
-#: common.opt:2730
+#: common.opt:2738
#, no-c-format
msgid "Tell DCE to remove unused C++ allocations."
msgstr ""
-#: common.opt:2734
+#: common.opt:2742
#, no-c-format
msgid "Relief of register pressure through live range shrinkage."
msgstr ""
-#: common.opt:2738
+#: common.opt:2746
#, no-c-format
msgid "Perform a register renaming optimization pass."
msgstr ""
-#: common.opt:2742
+#: common.opt:2750
#, no-c-format
msgid "Perform a target dependent instruction fusion optimization pass."
msgstr ""
-#: common.opt:2746
+#: common.opt:2754
#, no-c-format
msgid "Reorder basic blocks to improve code placement."
msgstr ""
-#: common.opt:2750
+#: common.opt:2758
#, no-c-format
msgid ""
"-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering "
"algorithm."
msgstr ""
-#: common.opt:2763
+#: common.opt:2771
#, no-c-format
msgid "Reorder basic blocks and partition into hot and cold sections."
msgstr ""
-#: common.opt:2767
+#: common.opt:2775
#, no-c-format
msgid "Reorder functions to improve code placement."
msgstr ""
-#: common.opt:2771
+#: common.opt:2779
#, no-c-format
msgid "Add a common subexpression elimination pass after loop optimizations."
msgstr ""
-#: common.opt:2779
+#: common.opt:2787
#, no-c-format
msgid "Disable optimizations that assume default FP rounding behavior."
msgstr ""
-#: common.opt:2783
+#: common.opt:2791
#, no-c-format
msgid "Enable scheduling across basic blocks."
msgstr ""
-#: common.opt:2787
+#: common.opt:2795
#, no-c-format
msgid "Enable register pressure sensitive insn scheduling."
msgstr ""
-#: common.opt:2791
+#: common.opt:2799
#, no-c-format
msgid "Allow speculative motion of non-loads."
msgstr ""
-#: common.opt:2795
+#: common.opt:2803
#, no-c-format
msgid "Allow speculative motion of some loads."
msgstr ""
-#: common.opt:2799
+#: common.opt:2807
#, no-c-format
msgid "Allow speculative motion of more loads."
msgstr ""
-#: common.opt:2803
+#: common.opt:2811
#, no-c-format
msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
msgstr ""
-#: common.opt:2807
+#: common.opt:2815
#, no-c-format
msgid "If scheduling post reload, do superblock scheduling."
msgstr ""
-#: common.opt:2815
+#: common.opt:2823
#, no-c-format
msgid "Reschedule instructions before register allocation."
msgstr ""
-#: common.opt:2819
+#: common.opt:2827
#, no-c-format
msgid "Reschedule instructions after register allocation."
msgstr ""
-#: common.opt:2826
+#: common.opt:2834
#, no-c-format
msgid "Schedule instructions using selective scheduling algorithm."
msgstr ""
-#: common.opt:2830
+#: common.opt:2838
#, no-c-format
msgid "Run selective scheduling after reload."
msgstr ""
-#: common.opt:2834
+#: common.opt:2842
#, no-c-format
msgid "Run self-tests, using the given path to locate test files."
msgstr ""
-#: common.opt:2838
+#: common.opt:2846
#, no-c-format
msgid "Perform software pipelining of inner loops during selective scheduling."
msgstr ""
-#: common.opt:2842
+#: common.opt:2850
#, no-c-format
msgid "Perform software pipelining of outer loops during selective scheduling."
msgstr ""
-#: common.opt:2846
+#: common.opt:2854
#, no-c-format
msgid "Reschedule pipelined regions without pipelining."
msgstr ""
-#: common.opt:2850
+#: common.opt:2858
#, no-c-format
msgid ""
"Allow interposing function (or variables) by ones with different semantics "
"(or initializer) respectively by dynamic linker."
msgstr ""
-#: common.opt:2856
+#: common.opt:2864
#, no-c-format
msgid "Allow premature scheduling of queued insns."
msgstr ""
-#: common.opt:2860
+#: common.opt:2868
#, no-c-format
msgid ""
"-fsched-stalled-insns=<number>\tSet number of queued insns that can be "
"prematurely scheduled."
msgstr ""
-#: common.opt:2868
+#: common.opt:2876
#, no-c-format
msgid ""
"Set dependence distance checking in premature scheduling of queued insns."
msgstr ""
-#: common.opt:2872
+#: common.opt:2880
#, no-c-format
msgid ""
"-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in "
"premature scheduling of queued insns."
msgstr ""
-#: common.opt:2876
+#: common.opt:2884
#, no-c-format
msgid "Enable the group heuristic in the scheduler."
msgstr ""
-#: common.opt:2880
+#: common.opt:2888
#, no-c-format
msgid "Enable the critical path heuristic in the scheduler."
msgstr ""
-#: common.opt:2884
+#: common.opt:2892
#, no-c-format
msgid "Enable the speculative instruction heuristic in the scheduler."
msgstr ""
-#: common.opt:2888
+#: common.opt:2896
#, no-c-format
msgid "Enable the rank heuristic in the scheduler."
msgstr ""
-#: common.opt:2892
+#: common.opt:2900
#, no-c-format
msgid "Enable the last instruction heuristic in the scheduler."
msgstr ""
-#: common.opt:2896
+#: common.opt:2904
#, no-c-format
msgid "Enable the dependent count heuristic in the scheduler."
msgstr ""
-#: common.opt:2900
+#: common.opt:2908
#, no-c-format
msgid "Access data in the same section from shared anchor points."
msgstr ""
-#: common.opt:2912
+#: common.opt:2920
#, no-c-format
msgid "Turn on Redundant Extensions Elimination pass."
msgstr ""
-#: common.opt:2916
+#: common.opt:2924
#, no-c-format
msgid "Show column numbers in diagnostics, when available. Default on."
msgstr ""
-#: common.opt:2920
+#: common.opt:2928
#, no-c-format
msgid ""
"Emit function prologues only before parts of the function that need it, "
"rather than at the top of the function."
msgstr ""
-#: common.opt:2925
+#: common.opt:2933
#, no-c-format
msgid "Shrink-wrap parts of the prologue and epilogue separately."
msgstr ""
-#: common.opt:2929
+#: common.opt:2937
#, no-c-format
msgid "Disable optimizations observable by IEEE signaling NaNs."
msgstr ""
-#: common.opt:2933
+#: common.opt:2941
#, no-c-format
msgid ""
"Disable floating point optimizations that ignore the IEEE signedness of zero."
msgstr ""
-#: common.opt:2937
+#: common.opt:2945
#, no-c-format
msgid "Convert floating point constants to single precision constants."
msgstr ""
-#: common.opt:2941
+#: common.opt:2949
#, no-c-format
msgid "Split lifetimes of induction variables when loops are unrolled."
msgstr ""
-#: common.opt:2945
+#: common.opt:2953
#, no-c-format
msgid "Generate discontiguous stack frames."
msgstr ""
-#: common.opt:2949
+#: common.opt:2957
#, no-c-format
msgid "Split wide types into independent registers."
msgstr ""
-#: common.opt:2953
+#: common.opt:2961
#, no-c-format
msgid "Split wide types into independent registers earlier."
msgstr ""
-#: common.opt:2957
+#: common.opt:2965
#, no-c-format
msgid "Enable backward propagation of use properties at the SSA level."
msgstr ""
-#: common.opt:2961
+#: common.opt:2969
#, no-c-format
msgid "Optimize conditional patterns using SSA PHI nodes."
msgstr ""
-#: common.opt:2965
+#: common.opt:2973
#, no-c-format
msgid ""
"Optimize amount of stdarg registers saved to stack at start of function."
msgstr ""
-#: common.opt:2969
+#: common.opt:2977
#, no-c-format
msgid "Apply variable expansion when loops are unrolled."
msgstr ""
-#: common.opt:2973
+#: common.opt:2981
#, no-c-format
msgid ""
"-fstack-check=[no|generic|specific]\tInsert stack checking code into the "
"program."
msgstr ""
-#: common.opt:2977
+#: common.opt:2985
#, no-c-format
msgid ""
"Insert stack checking code into the program. Same as -fstack-check=specific."
msgstr ""
-#: common.opt:2981
+#: common.opt:2989
#, no-c-format
msgid ""
"Insert code to probe each page of stack space as it is allocated to protect "
"from stack-clash style attacks."
msgstr ""
-#: common.opt:2989
+#: common.opt:2997
#, no-c-format
msgid ""
"-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
msgstr ""
-#: common.opt:2993
+#: common.opt:3001
#, no-c-format
msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
msgstr ""
-#: common.opt:2997
+#: common.opt:3005
#, no-c-format
msgid "Use propolice as a stack protection method."
msgstr ""
-#: common.opt:3001
+#: common.opt:3009
#, no-c-format
msgid "Use a stack protection method for every function."
msgstr ""
-#: common.opt:3005
+#: common.opt:3013
#, no-c-format
msgid "Use a smart stack protection method for certain functions."
msgstr ""
-#: common.opt:3009
+#: common.opt:3017
#, no-c-format
msgid ""
"Use stack protection method only for functions with the stack_protect "
"attribute."
msgstr ""
-#: common.opt:3013
+#: common.opt:3021
#, no-c-format
msgid "Output stack usage information on a per-function basis."
msgstr ""
-#: common.opt:3025
+#: common.opt:3033
#, no-c-format
msgid "Assume strict aliasing rules apply."
msgstr ""
-#: common.opt:3029
+#: common.opt:3037
#, no-c-format
msgid ""
"Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer."
msgstr ""
-#: common.opt:3033
+#: common.opt:3041
#, no-c-format
msgid "Disable stack scrub entirely, disregarding strub attributes."
msgstr ""
-#: common.opt:3037
+#: common.opt:3045
#, no-c-format
msgid "Enable stack scrub as per attributes, with strict call checking."
msgstr ""
-#: common.opt:3046
+#: common.opt:3054
#, no-c-format
msgid "Restore default strub mode: as per attributes, with relaxed checking."
msgstr ""
-#: common.opt:3050
+#: common.opt:3058
#, no-c-format
msgid "Enable stack scrubbing for all viable functions."
msgstr ""
-#: common.opt:3054
+#: common.opt:3062
#, no-c-format
msgid "Enable at-calls stack scrubbing for all viable functions."
msgstr ""
-#: common.opt:3058
+#: common.opt:3066
#, no-c-format
msgid "Enable internal stack scrubbing for all viable functions."
msgstr ""
-#: common.opt:3062
+#: common.opt:3070
#, no-c-format
msgid "Implement __atomic operations via libcalls to legacy __sync functions."
msgstr ""
-#: common.opt:3066
+#: common.opt:3074
#, no-c-format
msgid "Check for syntax errors, then stop."
msgstr ""
-#: common.opt:3070
+#: common.opt:3078
#, no-c-format
msgid "Create data files needed by \"gcov\"."
msgstr ""
-#: common.opt:3074
+#: common.opt:3082
#, no-c-format
msgid "Perform jump threading optimizations."
msgstr ""
-#: common.opt:3078
+#: common.opt:3086
#, no-c-format
msgid "Report the time taken by each compiler pass."
msgstr ""
-#: common.opt:3082
+#: common.opt:3090
#, no-c-format
msgid "Record times taken by sub-phases separately."
msgstr ""
-#: common.opt:3086
+#: common.opt:3094
#, no-c-format
msgid ""
"-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet the "
"default thread-local storage code generation model."
msgstr ""
-#: common.opt:3105
+#: common.opt:3113
#, no-c-format
msgid "Reorder top level functions, variables, and asms."
msgstr ""
-#: common.opt:3109
+#: common.opt:3117
#, no-c-format
msgid "Perform superblock formation via tail duplication."
msgstr ""
-#: common.opt:3113
+#: common.opt:3121
#, no-c-format
msgid ""
"For targets that normally need trampolines for nested functions, always "
"generate them instead of using descriptors."
msgstr ""
-#: common.opt:3118
+#: common.opt:3126
#, no-c-format
msgid ""
"Whether trampolines are generated in executable memory rather than "
"executable stack."
msgstr ""
-#: common.opt:3136
+#: common.opt:3144
#, no-c-format
msgid "Assume floating-point operations can trap."
msgstr ""
-#: common.opt:3140
+#: common.opt:3148
#, no-c-format
msgid "Trap for signed overflow in addition, subtraction and multiplication."
msgstr ""
-#: common.opt:3144
+#: common.opt:3152
#, no-c-format
msgid "Enable SSA-CCP optimization on trees."
msgstr ""
-#: common.opt:3148
+#: common.opt:3156
#, no-c-format
msgid "Enable SSA-BIT-CCP optimization on trees."
msgstr ""
-#: common.opt:3156
+#: common.opt:3164
#, no-c-format
msgid "Enable loop header copying on trees."
msgstr ""
-#: common.opt:3164
+#: common.opt:3172
#, no-c-format
msgid "Enable SSA coalescing of user variables."
msgstr ""
-#: common.opt:3172
+#: common.opt:3180
#, no-c-format
msgid "Enable copy propagation on trees."
msgstr ""
-#: common.opt:3180
+#: common.opt:3188
#, no-c-format
msgid "Transform condition stores into unconditional ones."
msgstr ""
-#: common.opt:3184
+#: common.opt:3192
#, no-c-format
msgid "Perform conversions of switch initializations."
msgstr ""
-#: common.opt:3188
+#: common.opt:3196
#, no-c-format
msgid "Enable SSA dead code elimination optimization on trees."
msgstr ""
-#: common.opt:3192
+#: common.opt:3200
#, no-c-format
msgid "Enable dominator optimizations."
msgstr ""
-#: common.opt:3196
+#: common.opt:3204
#, no-c-format
msgid "Enable tail merging on trees."
msgstr ""
-#: common.opt:3200
+#: common.opt:3208
#, no-c-format
msgid "Enable dead store elimination."
msgstr ""
-#: common.opt:3204
+#: common.opt:3212
#, no-c-format
msgid "Enable forward propagation on trees."
msgstr ""
-#: common.opt:3208
+#: common.opt:3216
#, no-c-format
msgid "Enable Full Redundancy Elimination (FRE) on trees."
msgstr ""
-#: common.opt:3212
+#: common.opt:3220
#, no-c-format
msgid "Enable string length optimizations on trees."
msgstr ""
-#: common.opt:3216
+#: common.opt:3224
#, no-c-format
msgid ""
"Detect paths that trigger erroneous or undefined behavior due to "
@@ -17007,7 +17027,7 @@ msgid ""
"flow and turn the statement with erroneous or undefined behavior into a trap."
msgstr ""
-#: common.opt:3222
+#: common.opt:3230
#, no-c-format
msgid ""
"Detect paths that trigger erroneous or undefined behavior due to a null "
@@ -17016,538 +17036,538 @@ msgid ""
"statement with erroneous or undefined behavior into a trap."
msgstr ""
-#: common.opt:3229
+#: common.opt:3237
#, no-c-format
msgid "Enable loop distribution on trees."
msgstr ""
-#: common.opt:3233
+#: common.opt:3241
#, no-c-format
msgid "Enable loop distribution for patterns transformed into a library call."
msgstr ""
-#: common.opt:3237
+#: common.opt:3245
#, no-c-format
msgid "Enable loop invariant motion on trees."
msgstr ""
-#: common.opt:3245
+#: common.opt:3253
#, no-c-format
msgid "Create canonical induction variables in loops."
msgstr ""
-#: common.opt:3249
+#: common.opt:3257
#, no-c-format
msgid "Enable loop optimizations on tree level."
msgstr ""
-#: common.opt:3253
+#: common.opt:3261
#, no-c-format
msgid ""
"-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
msgstr ""
-#: common.opt:3257
+#: common.opt:3265
#, no-c-format
msgid "Enable hoisting loads from conditional pointers."
msgstr ""
-#: common.opt:3261
+#: common.opt:3269
#, no-c-format
msgid "Enable SSA-PRE optimization on trees."
msgstr ""
-#: common.opt:3265
+#: common.opt:3273
#, no-c-format
msgid ""
"In SSA-PRE optimization on trees, enable partial-partial redundancy "
"elimination."
msgstr ""
-#: common.opt:3269
+#: common.opt:3277
#, no-c-format
msgid "Perform function-local points-to analysis on trees."
msgstr ""
-#: common.opt:3273
+#: common.opt:3281
#, no-c-format
msgid "Enable reassociation on tree level."
msgstr ""
-#: common.opt:3281
+#: common.opt:3289
#, no-c-format
msgid "Enable SSA code sinking on trees."
msgstr ""
-#: common.opt:3285
+#: common.opt:3293
#, no-c-format
msgid "Perform straight-line strength reduction."
msgstr ""
-#: common.opt:3289
+#: common.opt:3297
#, no-c-format
msgid "Perform scalar replacement of aggregates."
msgstr ""
-#: common.opt:3293
+#: common.opt:3301
#, no-c-format
msgid "Replace temporary expressions in the SSA->normal pass."
msgstr ""
-#: common.opt:3297
+#: common.opt:3305
#, no-c-format
msgid "Perform live range splitting during the SSA->normal pass."
msgstr ""
-#: common.opt:3301
+#: common.opt:3309
#, no-c-format
msgid "Perform Value Range Propagation on trees."
msgstr ""
-#: common.opt:3305
+#: common.opt:3313
#, no-c-format
msgid "Split paths leading to loop backedges."
msgstr ""
-#: common.opt:3309
+#: common.opt:3317
#, no-c-format
msgid ""
"Assume common declarations may be overridden with ones with a larger "
"trailing array."
msgstr ""
-#: common.opt:3314
+#: common.opt:3322
#, no-c-format
msgid "Compile whole compilation unit at a time."
msgstr ""
-#: common.opt:3318
+#: common.opt:3326
#, no-c-format
msgid "Trap on __builtin_unreachable instead of using it for optimization."
msgstr ""
-#: common.opt:3322
+#: common.opt:3330
#, no-c-format
msgid "Perform loop unrolling when iteration count is known."
msgstr ""
-#: common.opt:3326
+#: common.opt:3334
#, no-c-format
msgid "Perform loop unrolling for all loops."
msgstr ""
-#: common.opt:3341
+#: common.opt:3349
#, no-c-format
msgid ""
"Allow optimization for floating-point arithmetic which may change the result "
"of the operation due to rounding."
msgstr ""
-#: common.opt:3346
+#: common.opt:3354
#, no-c-format
msgid "Same as -fassociative-math for expressions which include division."
msgstr ""
-#: common.opt:3354
+#: common.opt:3362
#, no-c-format
msgid "Allow math optimizations that may violate IEEE or ISO standards."
msgstr ""
-#: common.opt:3358
+#: common.opt:3366
#, no-c-format
msgid "Perform loop unswitching."
msgstr ""
-#: common.opt:3362
+#: common.opt:3370
#, no-c-format
msgid "Perform loop splitting."
msgstr ""
-#: common.opt:3366
+#: common.opt:3374
#, no-c-format
msgid "Version loops based on whether indices have a stride of one."
msgstr ""
-#: common.opt:3370
+#: common.opt:3378
#, no-c-format
msgid "Just generate unwind tables for exception handling."
msgstr ""
-#: common.opt:3374
+#: common.opt:3382
#, no-c-format
msgid "Use the bfd linker instead of the default linker."
msgstr ""
-#: common.opt:3378
+#: common.opt:3386
#, no-c-format
msgid "Use the gold linker instead of the default linker."
msgstr ""
-#: common.opt:3382
+#: common.opt:3390
#, no-c-format
msgid "Use the lld LLVM linker instead of the default linker."
msgstr ""
-#: common.opt:3386
+#: common.opt:3394
#, no-c-format
msgid "Use the Modern linker (MOLD) linker instead of the default linker."
msgstr ""
-#: common.opt:3396
+#: common.opt:3404
#, no-c-format
msgid "Perform variable tracking."
msgstr ""
-#: common.opt:3403
+#: common.opt:3411
#, no-c-format
msgid "Perform variable tracking by annotating assignments."
msgstr ""
-#: common.opt:3409
+#: common.opt:3417
#, no-c-format
msgid "Toggle -fvar-tracking-assignments."
msgstr ""
-#: common.opt:3416
+#: common.opt:3424
#, no-c-format
msgid ""
"Perform variable tracking and also tag variables that are uninitialized."
msgstr ""
-#: common.opt:3421
+#: common.opt:3429
#, no-c-format
msgid "Enable vectorization on trees."
msgstr ""
-#: common.opt:3429
+#: common.opt:3437
#, no-c-format
msgid "Enable loop vectorization on trees."
msgstr ""
-#: common.opt:3433
+#: common.opt:3441
#, no-c-format
msgid "Enable basic block vectorization (SLP) on trees."
msgstr ""
-#: common.opt:3437
+#: common.opt:3445
#, no-c-format
msgid ""
"-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost "
"model for vectorization."
msgstr ""
-#: common.opt:3441
+#: common.opt:3449
#, no-c-format
msgid ""
"-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the "
"vectorization cost model for code marked with a simd directive."
msgstr ""
-#: common.opt:3460
+#: common.opt:3468
#, no-c-format
msgid ""
"Enables the dynamic vectorizer cost model. Preserved for backward "
"compatibility."
msgstr ""
-#: common.opt:3468
+#: common.opt:3476
#, no-c-format
msgid "Enable copy propagation of scalar-evolution information."
msgstr ""
-#: common.opt:3472
+#: common.opt:3480
#, no-c-format
msgid ""
"-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to "
"automatic variables."
msgstr ""
-#: common.opt:3494
+#: common.opt:3502
#, no-c-format
msgid "Add extra commentary to assembler output."
msgstr ""
-#: common.opt:3498
+#: common.opt:3506
#, no-c-format
msgid ""
"-fvisibility=[default|internal|hidden|protected]\tSet the default symbol "
"visibility."
msgstr ""
-#: common.opt:3517
+#: common.opt:3525
#, no-c-format
msgid "Validate vtable pointers before using them."
msgstr ""
-#: common.opt:3533
+#: common.opt:3541
#, no-c-format
msgid "Output vtable verification counters."
msgstr ""
-#: common.opt:3537
+#: common.opt:3545
#, no-c-format
msgid "Output vtable verification pointer sets information."
msgstr ""
-#: common.opt:3541
+#: common.opt:3549
#, no-c-format
msgid "Use expression value profiles in optimizations."
msgstr ""
-#: common.opt:3545
+#: common.opt:3553
#, no-c-format
msgid "Construct webs and split unrelated uses of single variable."
msgstr ""
-#: common.opt:3549
+#: common.opt:3557
#, no-c-format
msgid "Enable conditional dead code elimination for builtin calls."
msgstr ""
-#: common.opt:3553
+#: common.opt:3561
#, no-c-format
msgid "Perform whole program optimizations."
msgstr ""
-#: common.opt:3557
+#: common.opt:3565
#, no-c-format
msgid "Assume pointer overflow wraps around."
msgstr ""
-#: common.opt:3561
+#: common.opt:3569
#, no-c-format
msgid "Assume signed arithmetic overflow wraps around."
msgstr ""
-#: common.opt:3565
+#: common.opt:3573
#, no-c-format
msgid "Put zero initialized data in the bss section."
msgstr ""
-#: common.opt:3569
+#: common.opt:3577
#, no-c-format
msgid "Clear call-used registers upon function return."
msgstr ""
-#: common.opt:3573
+#: common.opt:3581
#, no-c-format
msgid ""
"-fzero-init-padding-bits=[standard|unions|all]\tZero padding bits in "
"initializers."
msgstr ""
-#: common.opt:3589
+#: common.opt:3597
#, no-c-format
msgid "Generate debug information in default format."
msgstr ""
-#: common.opt:3593
+#: common.opt:3601
#, no-c-format
msgid "Assume assembler support for (DWARF2+) .loc directives."
msgstr ""
-#: common.opt:3597
+#: common.opt:3605
#, no-c-format
msgid "Assume assembler support for view in (DWARF2+) .loc directives."
msgstr ""
-#: common.opt:3601
+#: common.opt:3609
#, no-c-format
msgid "Generate debug information in CodeView format."
msgstr ""
-#: common.opt:3621
+#: common.opt:3629
#, no-c-format
msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
msgstr ""
-#: common.opt:3627
+#: common.opt:3635
#, no-c-format
msgid "Generate CTF debug information at default level."
msgstr ""
-#: common.opt:3631
+#: common.opt:3639
#, no-c-format
msgid "Generate BTF debug information at default level."
msgstr ""
-#: common.opt:3635
+#: common.opt:3643
#, no-c-format
msgid "Generate pruned BTF when emitting BTF info."
msgstr ""
-#: common.opt:3639
+#: common.opt:3647
#, no-c-format
msgid "Generate debug information in default version of DWARF format."
msgstr ""
-#: common.opt:3643
+#: common.opt:3651
#, no-c-format
msgid "Generate debug information in DWARF v2 (or later) format."
msgstr ""
-#: common.opt:3647
+#: common.opt:3655
#, no-c-format
msgid "Use 32-bit DWARF format when emitting DWARF debug information."
msgstr ""
-#: common.opt:3651
+#: common.opt:3659
#, no-c-format
msgid "Use 64-bit DWARF format when emitting DWARF debug information."
msgstr ""
-#: common.opt:3655
+#: common.opt:3663
#, no-c-format
msgid "Generate debug information in default extended format."
msgstr ""
-#: common.opt:3659
+#: common.opt:3667
#, no-c-format
msgid "Generate extended entry point information for inlined functions."
msgstr ""
-#: common.opt:3663
+#: common.opt:3671
#, no-c-format
msgid "Compute locview reset points based on insn length estimates."
msgstr ""
-#: common.opt:3671
+#: common.opt:3679
#, no-c-format
msgid "Don't generate DWARF pubnames and pubtypes sections."
msgstr ""
-#: common.opt:3675
+#: common.opt:3683
#, no-c-format
msgid "Generate DWARF pubnames and pubtypes sections."
msgstr ""
-#: common.opt:3679
+#: common.opt:3687
#, no-c-format
msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
msgstr ""
-#: common.opt:3683
+#: common.opt:3691
#, no-c-format
msgid "Record gcc command line switches in DWARF DW_AT_producer."
msgstr ""
-#: common.opt:3687
+#: common.opt:3695
#, no-c-format
msgid "Generate debug information in separate .dwo files."
msgstr ""
-#: common.opt:3699
+#: common.opt:3707
#, no-c-format
msgid "Emit progressive recommended breakpoint locations."
msgstr ""
-#: common.opt:3703
+#: common.opt:3711
#, no-c-format
msgid "Don't emit DWARF additions beyond selected version."
msgstr ""
-#: common.opt:3707
+#: common.opt:3715
#, no-c-format
msgid ""
"Add description attributes to some DWARF DIEs that have no name attribute."
msgstr ""
-#: common.opt:3711
+#: common.opt:3719
#, no-c-format
msgid "Toggle debug information generation."
msgstr ""
-#: common.opt:3715
+#: common.opt:3723
#, no-c-format
msgid "Augment variable location lists with progressive views."
msgstr ""
-#: common.opt:3722
+#: common.opt:3730
#, no-c-format
msgid "Generate debug information in VMS format."
msgstr ""
-#: common.opt:3751
+#: common.opt:3759
#, no-c-format
msgid "Generate compressed debug sections."
msgstr ""
-#: common.opt:3755
+#: common.opt:3763
#, no-c-format
msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
msgstr ""
-#: common.opt:3762
+#: common.opt:3770
#, no-c-format
msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
msgstr ""
-#: common.opt:3766
+#: common.opt:3774
#, no-c-format
msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
msgstr ""
-#: common.opt:3794
+#: common.opt:3802
#, no-c-format
msgid "-o <file>\tPlace output into <file>."
msgstr ""
-#: common.opt:3798
+#: common.opt:3806
#, no-c-format
msgid "Enable function profiling."
msgstr ""
-#: common.opt:3808
+#: common.opt:3816
#, no-c-format
msgid "Like -pedantic but issue errors instead of warnings."
msgstr ""
-#: common.opt:3848
+#: common.opt:3856
#, no-c-format
msgid "Do not display functions compiled or elapsed time."
msgstr ""
-#: common.opt:3880
+#: common.opt:3888
#, no-c-format
msgid "Enable verbose output."
msgstr ""
-#: common.opt:3884
+#: common.opt:3892
#, no-c-format
msgid "Display the compiler's version."
msgstr ""
-#: common.opt:3888
+#: common.opt:3896
#, no-c-format
msgid "Suppress warnings."
msgstr ""
-#: common.opt:3898
+#: common.opt:3906
#, no-c-format
msgid "Create a shared library."
msgstr ""
-#: common.opt:3962
+#: common.opt:3970
#, no-c-format
msgid "Don't create a dynamically linked position independent executable."
msgstr ""
-#: common.opt:3966
+#: common.opt:3974
#, no-c-format
msgid "Create a dynamically linked position independent executable."
msgstr ""
-#: common.opt:3970
+#: common.opt:3978
#, no-c-format
msgid "Create a static position independent executable."
msgstr ""
-#: common.opt:3977
+#: common.opt:3985
#, no-c-format
msgid "Use caller save register across calls if possible."
msgstr ""
-#: common.opt:3981
+#: common.opt:3989
#, no-c-format
msgid ""
"Perform dead code elimination on zero and sign extensions with special "
@@ -17947,73 +17967,66 @@ msgstr ""
#: params.opt:278
#, no-c-format
msgid ""
-"When using profile feedback, use the edge at this percentage position in "
-"frequency histogram as the bases for IPA-CP heuristics."
-msgstr ""
-
-#: params.opt:282
-#, no-c-format
-msgid ""
"Maximum number of statements visited during jump function offset discovery."
msgstr ""
-#: params.opt:286
+#: params.opt:282
#, no-c-format
msgid ""
"Maximum number of statements that will be visited by IPA formal parameter "
"analysis based on alias analysis in any given function."
msgstr ""
-#: params.opt:290
+#: params.opt:286
#, no-c-format
msgid ""
"Maximum number of aggregate content items for a parameter in jump functions "
"and lattices."
msgstr ""
-#: params.opt:294
+#: params.opt:290
#, no-c-format
msgid ""
"Maximum number of operations in a parameter expression that can be handled "
"by IPA analysis."
msgstr ""
-#: params.opt:298
+#: params.opt:294
#, no-c-format
msgid ""
"Maximum number of different predicates used to track properties of loops in "
"IPA analysis."
msgstr ""
-#: params.opt:302
+#: params.opt:298
#, no-c-format
msgid ""
"Maximal number of boundary endpoints of case ranges of switch statement used "
"during IPA function summary generation."
msgstr ""
-#: params.opt:306
+#: params.opt:302
#, no-c-format
msgid ""
"Minimum probability (in percent) of dereferencing of a function pointer "
"parameter for it to be considered for replacement with simple values."
msgstr ""
-#: params.opt:310
+#: params.opt:306
#, no-c-format
msgid ""
"Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, "
"also the maximum number of replacements of a formal parameter."
msgstr ""
-#: params.opt:314
+#: params.opt:310
#, no-c-format
msgid ""
"Maximum allowed growth of total size of new parameters that ipa-sra replaces "
"a pointer to an aggregate with."
msgstr ""
-#: params.opt:318
+#: params.opt:314
#, no-c-format
msgid ""
"Additional maximum allowed growth of total size of new parameters that ipa-"
@@ -18022,29 +18035,29 @@ msgid ""
"functions."
msgstr ""
-#: params.opt:322
+#: params.opt:318
#, no-c-format
msgid ""
"The number of registers in each class kept unused by loop invariant motion."
msgstr ""
-#: params.opt:326
+#: params.opt:322
#, no-c-format
msgid "Max size of conflict table in MB."
msgstr ""
-#: params.opt:330
+#: params.opt:326
#, no-c-format
msgid ""
"Approximate function insn number in 1K units triggering simple local RA."
msgstr ""
-#: params.opt:334
+#: params.opt:330
#, no-c-format
msgid "Max loops number for regional RA."
msgstr ""
-#: params.opt:338
+#: params.opt:334
#, no-c-format
msgid ""
"Control ira to consider matching constraint (duplicated operand number) "
@@ -18056,45 +18069,45 @@ msgid ""
"class and respect the found qualified matching constraint."
msgstr ""
-#: params.opt:342
+#: params.opt:338
#, no-c-format
msgid ""
"If number of candidates in the set is smaller, we always try to remove "
"unused ivs during its optimization."
msgstr ""
-#: params.opt:346
+#: params.opt:342
#, no-c-format
msgid ""
"Bound on number of candidates below that all candidates are considered in iv "
"optimizations."
msgstr ""
-#: params.opt:350
+#: params.opt:346
#, no-c-format
msgid "Bound on number of iv uses in loop optimized in iv optimizations."
msgstr ""
-#: params.opt:354
+#: params.opt:350
#, no-c-format
msgid ""
"The maximum code size growth ratio when expanding into a jump table (in "
"percent). The parameter is used when optimizing for size."
msgstr ""
-#: params.opt:358
+#: params.opt:354
#, no-c-format
msgid ""
"The maximum code size growth ratio when expanding into a jump table (in "
"percent). The parameter is used when optimizing for speed."
msgstr ""
-#: params.opt:362
+#: params.opt:358
#, no-c-format
msgid "The size of L1 cache line."
msgstr ""
-#: params.opt:366
+#: params.opt:362
#, no-c-format
msgid ""
"The minimum recommended offset between two concurrently-accessed objects to "
@@ -18105,7 +18118,7 @@ msgid ""
"discouraged from doing so in public ABIs."
msgstr ""
-#: params.opt:375
+#: params.opt:371
#, no-c-format
msgid ""
"The maximum recommended size of contiguous memory occupied by two objects "
@@ -18114,750 +18127,779 @@ msgid ""
"processors with different cache line sizes."
msgstr ""
-#: params.opt:382
+#: params.opt:378
#, no-c-format
msgid "The size of L1 cache."
msgstr ""
-#: params.opt:386
+#: params.opt:382
#, no-c-format
msgid "The size of L2 cache."
msgstr ""
-#: params.opt:390
+#: params.opt:386
#, no-c-format
msgid "Maximal growth due to inlining of large function (in percent)."
msgstr ""
-#: params.opt:394
+#: params.opt:390
#, no-c-format
msgid "The size of function body to be considered large."
msgstr ""
-#: params.opt:398
+#: params.opt:394
#, no-c-format
msgid "The size of stack frame to be considered large."
msgstr ""
-#: params.opt:402
+#: params.opt:398
#, no-c-format
msgid "Maximal stack frame growth due to inlining (in percent)."
msgstr ""
-#: params.opt:406
+#: params.opt:402
#, no-c-format
msgid "The size of translation unit to be considered large."
msgstr ""
-#: params.opt:410
+#: params.opt:406
#, no-c-format
msgid "Maximum number of concurrently open C++ module files when lazy loading."
msgstr ""
-#: params.opt:414
+#: params.opt:410
#, no-c-format
msgid ""
"The minimum cost of an expensive expression in the loop invariant motion."
msgstr ""
-#: params.opt:418
+#: params.opt:414
#, no-c-format
msgid "True if a non-short-circuit operation is optimal."
msgstr ""
-#: params.opt:422
+#: params.opt:418
#, no-c-format
msgid "Size of tiles for loop blocking."
msgstr ""
-#: params.opt:426
+#: params.opt:422
#, no-c-format
msgid "The maximum number of stmts in loop nest for loop interchange."
msgstr ""
-#: params.opt:430
+#: params.opt:426
#, no-c-format
msgid "The minimum stride ratio for loop interchange to be profitable."
msgstr ""
-#: params.opt:434
+#: params.opt:430
#, no-c-format
msgid "Max basic blocks number in loop for loop invariant motion."
msgstr ""
-#: params.opt:438
+#: params.opt:434
#, no-c-format
msgid "Maximum number of datarefs in loop for building loop data dependencies."
msgstr ""
-#: params.opt:442
+#: params.opt:438
#, no-c-format
msgid ""
"The maximum number of instructions in an inner loop that is being considered "
"for versioning."
msgstr ""
-#: params.opt:446
+#: params.opt:442
#, no-c-format
msgid ""
"The maximum number of instructions in an outer loop that is being considered "
"for versioning, on top of the instructions in inner loops."
msgstr ""
-#: params.opt:450
+#: params.opt:446
#, no-c-format
msgid ""
"Minimal fall-through edge probability in percentage used to add BB to "
"inheritance EBB in LRA."
msgstr ""
-#: params.opt:454
+#: params.opt:450
#, no-c-format
msgid ""
"The max number of reload pseudos which are considered during spilling a non-"
"reload pseudo."
msgstr ""
-#: params.opt:458
+#: params.opt:454
#, no-c-format
msgid "Maximal size of a partition for LTO (in estimated instructions)."
msgstr ""
-#: params.opt:462
+#: params.opt:458
#, no-c-format
msgid "maximal number of LTO partitions streamed in parallel."
msgstr ""
-#: params.opt:466
+#: params.opt:462
#, no-c-format
msgid "Minimal size of a partition for LTO (in estimated instructions)."
msgstr ""
-#: params.opt:470
+#: params.opt:466
#, no-c-format
msgid "Number of partitions the program should be split to."
msgstr ""
-#: params.opt:474
+#: params.opt:485
+#, no-c-format
+msgid ""
+"The denominator n of fraction 1/n of the execution frequency of callee to be "
+"cloned for a particular caller. Special value of 0 dictates to always clone "
+"without a cut-off."
+msgstr ""
+
+#: params.opt:489
+#, no-c-format
+msgid ""
+"Size cut-off for callee including inlined calls to be cloned for a "
+"particular caller."
+msgstr ""
+
+#: params.opt:493
+#, no-c-format
+msgid ""
+"Maximal size of a locality partition for LTO (in estimated instructions). "
+"Value of 0 results in default value being used."
+msgstr ""
+
+#: params.opt:497
#, no-c-format
msgid ""
"The maximum number of instructions to consider to unroll in a loop on "
"average."
msgstr ""
-#: params.opt:478
+#: params.opt:501
#, no-c-format
msgid "The maximum number of insns combine tries to combine."
msgstr ""
-#: params.opt:482
+#: params.opt:505
+#, no-c-format
+msgid ""
+"The maximum number of instructions that combine searches in order to find "
+"the next use of a particular register."
+msgstr ""
+
+#: params.opt:509
#, no-c-format
msgid "The maximum depth of a loop nest we completely peel."
msgstr ""
-#: params.opt:486
+#: params.opt:513
#, no-c-format
msgid ""
"The maximum number of peelings of a single loop that is peeled completely."
msgstr ""
-#: params.opt:490
+#: params.opt:517
#, no-c-format
msgid "The maximum number of insns of a completely peeled loop."
msgstr ""
-#: params.opt:494
+#: params.opt:521
#, no-c-format
msgid "The maximum number of incoming edges to consider for crossjumping."
msgstr ""
-#: params.opt:498
+#: params.opt:525
#, no-c-format
msgid "The maximum instructions CSE process before flushing."
msgstr ""
-#: params.opt:502
+#: params.opt:529
#, no-c-format
msgid "The maximum length of path considered in cse."
msgstr ""
-#: params.opt:506
+#: params.opt:533
#, no-c-format
msgid "The maximum memory locations recorded by cselib."
msgstr ""
-#: params.opt:510
+#: params.opt:537
#, no-c-format
msgid "Max. count of debug markers to expand or inline."
msgstr ""
-#: params.opt:514
+#: params.opt:541
#, no-c-format
msgid "The maximum number of instructions to consider to fill a delay slot."
msgstr ""
-#: params.opt:518
+#: params.opt:545
#, no-c-format
msgid ""
"The maximum number of instructions to consider to find accurate live "
"register information."
msgstr ""
-#: params.opt:522
+#: params.opt:549
#, no-c-format
msgid "Maximum number of active local stores in RTL dead store elimination."
msgstr ""
-#: params.opt:526
+#: params.opt:553
#, no-c-format
msgid ""
"The maximum number of nested indirect inlining performed by early inliner."
msgstr ""
-#: params.opt:530
+#: params.opt:557
#, no-c-format
msgid ""
"Maximum number of fields in a structure before pointer analysis treats the "
"structure as a single variable."
msgstr ""
-#: params.opt:534
+#: params.opt:561
#, no-c-format
msgid ""
"Maximum number of instructions to copy when duplicating blocks on a finite "
"state automaton jump thread path."
msgstr ""
-#: params.opt:538
+#: params.opt:565
#, no-c-format
msgid "The maximum ratio of insertions to deletions of expressions in GCSE."
msgstr ""
-#: params.opt:542
+#: params.opt:569
#, no-c-format
msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes."
msgstr ""
-#: params.opt:546
+#: params.opt:573
#, no-c-format
msgid ""
"The maximum number of insns to duplicate when unfactoring computed gotos."
msgstr ""
-#: params.opt:550
+#: params.opt:577
#, no-c-format
msgid "The maximum expansion factor when copying basic blocks."
msgstr ""
-#: params.opt:554
+#: params.opt:581
#, no-c-format
msgid "Maximum depth of search in the dominator tree for expressions to hoist."
msgstr ""
-#: params.opt:558
+#: params.opt:585
#, no-c-format
msgid ""
"Maximum loop depth of a call which is considered for inlining functions "
"called once."
msgstr ""
-#: params.opt:562
+#: params.opt:589
#, no-c-format
msgid ""
"Maximum combined size of caller and callee which is inlined if callee is "
"called once."
msgstr ""
-#: params.opt:566
+#: params.opt:593
#, no-c-format
msgid "The maximum number of instructions when automatically inlining."
msgstr ""
-#: params.opt:570
+#: params.opt:597
#, no-c-format
msgid ""
"The maximum number of instructions inline function can grow to via recursive "
"inlining."
msgstr ""
-#: params.opt:574
+#: params.opt:601
#, no-c-format
msgid ""
"The maximum number of instructions non-inline function can grow to via "
"recursive inlining."
msgstr ""
-#: params.opt:578
+#: params.opt:605
#, no-c-format
msgid ""
"The maximum number of instructions in a single function eligible for "
"inlining."
msgstr ""
-#: params.opt:582
+#: params.opt:609
#, no-c-format
msgid "The maximum number of instructions when inlining for size."
msgstr ""
-#: params.opt:586
+#: params.opt:613
#, no-c-format
msgid ""
"The maximum number of instructions when automatically inlining small "
"functions."
msgstr ""
-#: params.opt:590
+#: params.opt:617
#, no-c-format
msgid "The maximum depth of recursive inlining for inline functions."
msgstr ""
-#: params.opt:594
+#: params.opt:621
#, no-c-format
msgid "The maximum depth of recursive inlining for non-inline functions."
msgstr ""
-#: params.opt:598
+#: params.opt:625
#, no-c-format
msgid "Maximum number of isl operations, 0 means unlimited."
msgstr ""
-#: params.opt:602
+#: params.opt:629
#, no-c-format
msgid "Bound on the cost of an expression to compute the number of iterations."
msgstr ""
-#: params.opt:606
+#: params.opt:633
#, no-c-format
msgid ""
"Bound on the number of iterations the brute force # of iterations analysis "
"algorithm evaluates."
msgstr ""
-#: params.opt:610
+#: params.opt:637
#, no-c-format
msgid ""
"Maximum number of statements allowed in a block that needs to be duplicated "
"when threading jumps."
msgstr ""
-#: params.opt:614
+#: params.opt:641
#, no-c-format
msgid "Search space limit for the backwards jump threader."
msgstr ""
-#: params.opt:618
+#: params.opt:645
#, no-c-format
msgid ""
"The maximum number of RTL nodes that can be recorded as combiner's last "
"value."
msgstr ""
-#: params.opt:622
+#: params.opt:649
#, no-c-format
msgid ""
"The maximum number of insns in loop header duplicated by the copy loop "
"headers pass."
msgstr ""
-#: params.opt:626
+#: params.opt:653
#, no-c-format
msgid ""
"The maximum number of backtrack attempts the scheduler should make when "
"modulo scheduling a loop."
msgstr ""
-#: params.opt:630
+#: params.opt:657
#, no-c-format
msgid "Minimum page size for warning purposes."
msgstr ""
-#: params.opt:634
+#: params.opt:661
#, no-c-format
msgid ""
"Maximum length of partial antic set when performing tree pre optimization."
msgstr ""
-#: params.opt:638
+#: params.opt:665
#, no-c-format
msgid "The maximum number of branches on the path through the peeled sequence."
msgstr ""
-#: params.opt:642
+#: params.opt:669
#, no-c-format
msgid "The maximum number of peelings of a single loop."
msgstr ""
-#: params.opt:646
+#: params.opt:673
#, no-c-format
msgid "The maximum number of insns of a peeled loop."
msgstr ""
-#: params.opt:650
+#: params.opt:677
#, no-c-format
msgid "The maximum length of scheduling's pending operations list."
msgstr ""
-#: params.opt:654 params.opt:698
+#: params.opt:681 params.opt:725
#, no-c-format
msgid ""
"The maximum number of blocks in a region to be considered for interblock "
"scheduling."
msgstr ""
-#: params.opt:658 params.opt:702
+#: params.opt:685 params.opt:729
#, no-c-format
msgid ""
"The maximum number of insns in a region to be considered for interblock "
"scheduling."
msgstr ""
-#: params.opt:662
+#: params.opt:689
#, no-c-format
msgid ""
"Maximum depth of sqrt chains to use when synthesizing exponentiation by a "
"real constant."
msgstr ""
-#: params.opt:666
+#: params.opt:693
#, no-c-format
msgid "The maximum number of loop iterations we predict statically."
msgstr ""
-#: params.opt:670
+#: params.opt:697
#, no-c-format
msgid ""
"The maximum number of instructions to search backward when looking for "
"equivalent reload."
msgstr ""
-#: params.opt:674
+#: params.opt:701
#, no-c-format
msgid ""
"Maximum number of insns in a basic block to consider for RTL if-conversion."
msgstr ""
-#: params.opt:678
+#: params.opt:705
#, no-c-format
msgid ""
"Maximum permissible cost for the sequence that would be generated by the RTL "
"if-conversion pass for a branch that is considered predictable."
msgstr ""
-#: params.opt:682
+#: params.opt:709
#, no-c-format
msgid ""
"Maximum permissible cost for the sequence that would be generated by the RTL "
"if-conversion pass for a branch that is considered unpredictable."
msgstr ""
-#: params.opt:686
+#: params.opt:713
#, no-c-format
msgid "The maximum number of iterations through CFG to extend regions."
msgstr ""
-#: params.opt:690
+#: params.opt:717
#, no-c-format
msgid ""
"The maximum conflict delay for an insn to be considered for speculative "
"motion."
msgstr ""
-#: params.opt:694
+#: params.opt:721
#, no-c-format
msgid ""
"The maximum number of instructions ready to be issued to be considered by "
"the scheduler during the first scheduling pass."
msgstr ""
-#: params.opt:706
+#: params.opt:733
#, no-c-format
msgid "Maximum length of candidate scans for straight-line strength reduction."
msgstr ""
-#: params.opt:710
+#: params.opt:737
#, no-c-format
msgid "Maximum number of may-defs visited when devirtualizing speculatively."
msgstr ""
-#: params.opt:714
+#: params.opt:741
#, no-c-format
msgid ""
"Maximum recursion depth allowed when querying a property of an SSA name."
msgstr ""
-#: params.opt:718
+#: params.opt:745
#, no-c-format
msgid "Maximum number of constant stores to merge in the store merging pass."
msgstr ""
-#: params.opt:722
+#: params.opt:749
#, no-c-format
msgid "Maximum number of conditional store pairs that can be sunk."
msgstr ""
-#: params.opt:726 params.opt:730
+#: params.opt:753 params.opt:757
#, no-c-format
msgid ""
"Maximum number of store chains to track at the same time in the store "
"merging pass."
msgstr ""
-#: params.opt:734
+#: params.opt:761
#, no-c-format
msgid "Maximum amount of similar bbs to compare a bb with."
msgstr ""
-#: params.opt:738
+#: params.opt:765
#, no-c-format
msgid "Maximum amount of iterations of the pass over a function."
msgstr ""
-#: params.opt:742
+#: params.opt:769
#, no-c-format
msgid ""
"Maximum number of strings for which strlen optimization pass will track "
"string lengths."
msgstr ""
-#: params.opt:746
+#: params.opt:773
#, no-c-format
msgid ""
"Maximum number of arguments in a PHI supported by TREE if-conversion unless "
"the loop is marked with simd pragma."
msgstr ""
-#: params.opt:750
+#: params.opt:777
#, no-c-format
msgid "The maximum number of unrollings of a single loop."
msgstr ""
-#: params.opt:754
+#: params.opt:781
#, no-c-format
msgid "The maximum number of instructions to consider to unroll in a loop."
msgstr ""
-#: params.opt:758
+#: params.opt:785
#, no-c-format
msgid "The maximum number of insns of an unswitched loop."
msgstr ""
-#: params.opt:762
+#: params.opt:789
#, no-c-format
msgid "The maximum depth of a loop nest to be unswitched."
msgstr ""
-#: params.opt:766
+#: params.opt:793
#, no-c-format
msgid ""
"If -fvariable-expansion-in-unroller is used, the maximum number of times "
"that an individual variable will be expanded during loop unrolling."
msgstr ""
-#: params.opt:770
+#: params.opt:797
#, no-c-format
msgid "Max. recursion depth for expanding var tracking expressions."
msgstr ""
-#: params.opt:774
+#: params.opt:801
#, no-c-format
msgid "Max. size of loc list for which reverse ops should be added."
msgstr ""
-#: params.opt:778
+#: params.opt:805
#, no-c-format
msgid "Max. size of var tracking hash tables."
msgstr ""
-#: params.opt:782
+#: params.opt:809
#, no-c-format
msgid "Maximum number of VALUEs handled during a single find_base_term call."
msgstr ""
-#: params.opt:786
+#: params.opt:813
#, no-c-format
msgid ""
"The minimum number of matching instructions to consider for crossjumping."
msgstr ""
-#: params.opt:790
+#: params.opt:817
#, no-c-format
msgid ""
"Inline recursively only when the probability of call being executed exceeds "
"the parameter."
msgstr ""
-#: params.opt:794
+#: params.opt:821
#, no-c-format
msgid ""
"Min. ratio of insns to prefetches to enable prefetching for a loop with an "
"unknown trip count."
msgstr ""
-#: params.opt:798
+#: params.opt:825
#, no-c-format
msgid ""
"The minimum threshold for probability of semi-invariant condition statement "
"to trigger loop split."
msgstr ""
-#: params.opt:802
+#: params.opt:829
#, no-c-format
msgid "The minimum UID to be used for a nondebug insn."
msgstr ""
-#: params.opt:806
+#: params.opt:833
#, no-c-format
msgid ""
"The minimum size of variables taking part in stack slot sharing when not "
"optimizing."
msgstr ""
-#: params.opt:810
+#: params.opt:837
#, no-c-format
msgid ""
"The minimum probability of reaching a source block for interblock "
"speculative scheduling."
msgstr ""
-#: params.opt:814
+#: params.opt:841
#, no-c-format
msgid ""
"If -ftree-vectorize is used, the minimal loop bound of a loop to be "
"considered for vectorization."
msgstr ""
-#: params.opt:818
+#: params.opt:845
#, no-c-format
msgid ""
"--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC "
"'kernels' constructs handling."
msgstr ""
-#: params.opt:831
+#: params.opt:858
#, no-c-format
msgid ""
"--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC "
"privatization diagnostics."
msgstr ""
-#: params.opt:844
+#: params.opt:871
#, no-c-format
msgid "Chunk size of omp schedule for loops parallelized by parloops."
msgstr ""
-#: params.opt:848
+#: params.opt:875
#, no-c-format
msgid ""
"Minimum number of iterations per thread of an innermost parallelized loop."
msgstr ""
-#: params.opt:852
+#: params.opt:879
#, no-c-format
msgid ""
"--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchedule "
"type of omp schedule for loops parallelized by parloops."
msgstr ""
-#: params.opt:874
+#: params.opt:901
#, no-c-format
msgid ""
"Maximum probability of the entry BB of split region (in percent relative to "
"entry BB of the function) to make partial inlining happen."
msgstr ""
-#: params.opt:878
+#: params.opt:905
#, no-c-format
msgid ""
"Maximum number of statements allowed inbetween the statement and the end to "
"considered not extending the liferange."
msgstr ""
-#: params.opt:882
+#: params.opt:909
#, no-c-format
msgid "Maximal estimated outcome of branch considered predictable."
msgstr ""
-#: params.opt:886
+#: params.opt:913
#, no-c-format
msgid ""
"Whether software prefetch hints should be issued for non-constant strides."
msgstr ""
-#: params.opt:890
+#: params.opt:917
#, no-c-format
msgid "The number of insns executed before prefetch is completed."
msgstr ""
-#: params.opt:894
+#: params.opt:921
#, no-c-format
msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
msgstr ""
-#: params.opt:898
+#: params.opt:925
#, no-c-format
msgid ""
"The minimum constant stride beyond which we should use prefetch hints for."
msgstr ""
-#: params.opt:902
+#: params.opt:929
#, no-c-format
msgid "Use internal function id in profile lookup."
msgstr ""
-#: params.opt:906
+#: params.opt:933
#, no-c-format
msgid ""
"--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the "
"output mode for debugging ranger."
msgstr ""
-#: params.opt:931
+#: params.opt:958
#, no-c-format
msgid ""
"Maximum depth of logical expression evaluation ranger will look through when "
"evaluating outgoing edge ranges."
msgstr ""
-#: params.opt:936
+#: params.opt:963
#, no-c-format
msgid ""
"Maximum depth of instruction chains to consider for recomputation in the "
"outgoing range calculator."
msgstr ""
-#: params.opt:941
+#: params.opt:968
#, no-c-format
msgid "Maximum number of relations the oracle will register in a basic block."
msgstr ""
-#: params.opt:945
+#: params.opt:972
#, no-c-format
msgid ""
"Work bound when discovering transitive relations from existing relations."
msgstr ""
-#: params.opt:949
+#: params.opt:976
#, no-c-format
msgid "Maximum depth of a loop nest to fully value-number optimistically."
msgstr ""
-#: params.opt:953
+#: params.opt:980
#, no-c-format
msgid "Maximum number of disambiguations to perform per memory access."
msgstr ""
-#: params.opt:957
+#: params.opt:984
#, no-c-format
msgid ""
"Bound on the complexity of the expressions in the scalar evolutions analyzer."
msgstr ""
-#: params.opt:961
+#: params.opt:988
#, no-c-format
msgid "Bound on size of expressions used in the scalar evolutions analyzer."
msgstr ""
-#: params.opt:965
+#: params.opt:992
#, no-c-format
msgid ""
"Hardware autoprefetcher scheduler model control flag. Number of lookahead "
@@ -18865,143 +18907,143 @@ msgid ""
"heuristic. Disabled by default."
msgstr ""
-#: params.opt:969
+#: params.opt:996
#, no-c-format
msgid "Minimal distance between possibly conflicting store and load."
msgstr ""
-#: params.opt:973
+#: params.opt:1000
#, no-c-format
msgid "Which -fsched-pressure algorithm to apply."
msgstr ""
-#: params.opt:977
+#: params.opt:1004
#, no-c-format
msgid ""
"The minimal probability of speculation success (in percents), so that "
"speculative insn will be scheduled."
msgstr ""
-#: params.opt:981
+#: params.opt:1008
#, no-c-format
msgid ""
"The minimum probability an edge must have for the scheduler to save its "
"state across it."
msgstr ""
-#: params.opt:985
+#: params.opt:1012
#, no-c-format
msgid ""
"Maximum number of instructions in the ready list that are considered "
"eligible for renaming."
msgstr ""
-#: params.opt:989
+#: params.opt:1016
#, no-c-format
msgid "The maximum size of the lookahead window of selective scheduling."
msgstr ""
-#: params.opt:993
+#: params.opt:1020
#, no-c-format
msgid "Maximum number of times that an insn could be scheduled."
msgstr ""
-#: params.opt:997
+#: params.opt:1024
#, no-c-format
msgid "The number of prefetches that can run at the same time."
msgstr ""
-#: params.opt:1001
+#: params.opt:1028
#, no-c-format
msgid ""
"Target block's relative execution frequency (as a percentage) required to "
"sink a statement."
msgstr ""
-#: params.opt:1005
+#: params.opt:1032
#, no-c-format
msgid ""
"The number of cycles the swing modulo scheduler considers when checking "
"conflicts using DFA."
msgstr ""
-#: params.opt:1009
+#: params.opt:1036
#, no-c-format
msgid ""
"A threshold on the average loop count considered by the swing modulo "
"scheduler."
msgstr ""
-#: params.opt:1013
+#: params.opt:1040
#, no-c-format
msgid ""
"A factor for tuning the upper bound that swing modulo scheduler uses for "
"scheduling a loop."
msgstr ""
-#: params.opt:1017
+#: params.opt:1044
#, no-c-format
msgid ""
"The minimum value of stage count that swing modulo scheduler will generate."
msgstr ""
-#: params.opt:1021
+#: params.opt:1048
#, no-c-format
msgid ""
"Maximum size, in storage units, of an aggregate which should be considered "
"for scalarization when compiling for size."
msgstr ""
-#: params.opt:1025
+#: params.opt:1052
#, no-c-format
msgid ""
"Maximum size, in storage units, of an aggregate which should be considered "
"for scalarization when compiling for speed."
msgstr ""
-#: params.opt:1029
+#: params.opt:1056
#, no-c-format
msgid ""
"Maximum number of artificial accesses to enable forward propagation that "
"Scalar Replacement of Aggregates will keep for one local variable."
msgstr ""
-#: params.opt:1033
+#: params.opt:1060
#, no-c-format
msgid ""
"The maximum number of SSA_NAME assignments to follow in determining a value."
msgstr ""
-#: params.opt:1037
+#: params.opt:1064
#, no-c-format
msgid ""
"The lower bound for a buffer to be considered for stack smashing protection."
msgstr ""
-#: params.opt:1041
+#: params.opt:1068
#, no-c-format
msgid "Size of the stack guard expressed as a power of two in bytes."
msgstr ""
-#: params.opt:1045
+#: params.opt:1072
#, no-c-format
msgid ""
"Interval in which to probe the stack expressed as a power of two in bytes."
msgstr ""
-#: params.opt:1049
+#: params.opt:1076
#, no-c-format
msgid ""
"Allow the store merging pass to introduce unaligned stores if it is legal to "
"do so."
msgstr ""
-#: params.opt:1053
+#: params.opt:1080
#, no-c-format
msgid "Maximum size of a single store merging region in bytes."
msgstr ""
-#: params.opt:1057
+#: params.opt:1084
#, no-c-format
msgid ""
"Maximum number of instruction distance that a small store forwarded to a "
@@ -19009,166 +19051,166 @@ msgid ""
"store-forwarding pass."
msgstr ""
-#: params.opt:1061
+#: params.opt:1088
#, no-c-format
msgid ""
"The maximum ratio between array size and switch branches for a switch "
"conversion to take place."
msgstr ""
-#: params.opt:1065
+#: params.opt:1092
#, no-c-format
msgid "Maximum number of cases for slow switch lowering algorithms to be used."
msgstr ""
-#: params.opt:1069
+#: params.opt:1096
#, no-c-format
msgid "Maximum number of bases stored in each modref tree."
msgstr ""
-#: params.opt:1073
+#: params.opt:1100
#, no-c-format
msgid "Maximum number of references stored in each modref base."
msgstr ""
-#: params.opt:1077
+#: params.opt:1104
#, no-c-format
msgid "Maximum number of accesses stored in each modref reference."
msgstr ""
-#: params.opt:1081
+#: params.opt:1108
#, no-c-format
msgid "Maximum number of tests performed by modref query."
msgstr ""
-#: params.opt:1085
+#: params.opt:1112
#, no-c-format
msgid "Maximum depth of DFS walk used by modref escape analysis."
msgstr ""
-#: params.opt:1089
+#: params.opt:1116
#, no-c-format
msgid "Maximum number of escape points tracked by modref per SSA-name."
msgstr ""
-#: params.opt:1093
+#: params.opt:1120
#, no-c-format
msgid "Maximum number of times a given range is adjusted during the dataflow."
msgstr ""
-#: params.opt:1097
+#: params.opt:1124
#, no-c-format
msgid ""
"--param=threader-debug=[none|all] Enables verbose dumping of the threader "
"solver."
msgstr ""
-#: params.opt:1110
+#: params.opt:1137
#, no-c-format
msgid ""
"Size in bytes after which thread-local aggregates should be instrumented "
"with the logging functions instead of save/restore pairs."
msgstr ""
-#: params.opt:1114
+#: params.opt:1141
#, no-c-format
msgid ""
"The percentage of function, weighted by execution frequency, that must be "
"covered by trace formation. Used when profile feedback is not available."
msgstr ""
-#: params.opt:1118
+#: params.opt:1145
#, no-c-format
msgid ""
"The percentage of function, weighted by execution frequency, that must be "
"covered by trace formation. Used when profile feedback is available."
msgstr ""
-#: params.opt:1122
+#: params.opt:1149
#, no-c-format
msgid "Maximal code growth caused by tail duplication (in percent)."
msgstr ""
-#: params.opt:1126
+#: params.opt:1153
#, no-c-format
msgid ""
"Stop forward growth if the probability of best edge is less than this "
"threshold (in percent). Used when profile feedback is not available."
msgstr ""
-#: params.opt:1130
+#: params.opt:1157
#, no-c-format
msgid ""
"Stop forward growth if the probability of best edge is less than this "
"threshold (in percent). Used when profile feedback is available."
msgstr ""
-#: params.opt:1134
+#: params.opt:1161
#, no-c-format
msgid ""
"Stop reverse growth if the reverse probability of best edge is less than "
"this threshold (in percent)."
msgstr ""
-#: params.opt:1138
+#: params.opt:1165
#, no-c-format
msgid ""
"Set the maximum number of instructions executed in parallel in reassociated "
"tree. If 0, use the target dependent heuristic."
msgstr ""
-#: params.opt:1142
+#: params.opt:1169
#, no-c-format
msgid "Emit special instrumentation for accesses to volatiles."
msgstr ""
-#: params.opt:1146
+#: params.opt:1173
#, no-c-format
msgid ""
"Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
msgstr ""
-#: params.opt:1150
+#: params.opt:1177
#, no-c-format
msgid ""
"Maximum number of nested calls to search for control dependencies during "
"uninitialized variable analysis."
msgstr ""
-#: params.opt:1154
+#: params.opt:1181
#, no-c-format
msgid ""
"Maximum number of predicates anded for each predicate ored in the normalized "
"predicate chain."
msgstr ""
-#: params.opt:1159
+#: params.opt:1186
#, no-c-format
msgid "Maximum number of predicates ored in the normalized predicate chain."
msgstr ""
-#: params.opt:1163
+#: params.opt:1190
#, no-c-format
msgid ""
"Instruction accounted for function prologue, epilogue and other overhead."
msgstr ""
-#: params.opt:1167
+#: params.opt:1194
#, no-c-format
msgid "Time accounted for function prologue, epilogue and other overhead."
msgstr ""
-#: params.opt:1171
+#: params.opt:1198
#, no-c-format
msgid "Instruction accounted for function thunk overhead."
msgstr ""
-#: params.opt:1175
+#: params.opt:1202
#, no-c-format
msgid "Time accounted for function thunk overhead."
msgstr ""
-#: params.opt:1179
+#: params.opt:1206
#, no-c-format
msgid ""
"The denominator n of fraction 1/n of the number of profiled runs of the "
@@ -19176,64 +19218,64 @@ msgid ""
"order for the basic block to be considered unlikely."
msgstr ""
-#: params.opt:1183
+#: params.opt:1210
#, no-c-format
msgid "Maximum unroll factor for the unroll-and-jam transformation."
msgstr ""
-#: params.opt:1187
+#: params.opt:1214
#, no-c-format
msgid ""
"Minimum percentage of memrefs that must go away for unroll-and-jam to be "
"considered profitable."
msgstr ""
-#: params.opt:1191
+#: params.opt:1218
#, no-c-format
msgid ""
"Use direct poisoning/unpoisoning instructions for variables smaller or equal "
"to this number."
msgstr ""
-#: params.opt:1195
+#: params.opt:1222
#, no-c-format
msgid "Whether to use canonical types."
msgstr ""
-#: params.opt:1199
+#: params.opt:1226
#, no-c-format
msgid "Enable loop epilogue vectorization using smaller vector size."
msgstr ""
-#: params.opt:1203
+#: params.opt:1230
#, no-c-format
msgid ""
"Maximum number of possible vector layouts (such as permutations) to consider "
"when optimizing to-be-vectorized code."
msgstr ""
-#: params.opt:1207
+#: params.opt:1234
#, no-c-format
msgid ""
"Maximum number of loop peels to enhance alignment of data references in a "
"loop."
msgstr ""
-#: params.opt:1211
+#: params.opt:1238
#, no-c-format
msgid ""
"Bound on number of runtime checks inserted by the vectorizer's loop "
"versioning for alias check."
msgstr ""
-#: params.opt:1215
+#: params.opt:1242
#, no-c-format
msgid ""
"Bound on number of runtime checks inserted by the vectorizer's loop "
"versioning for alignment check."
msgstr ""
-#: params.opt:1219
+#: params.opt:1246
#, no-c-format
msgid ""
"Controls how loop vectorizer uses partial vectors. 0 means never, 1 means "
@@ -19241,118 +19283,118 @@ msgid ""
"The default value is 2."
msgstr ""
-#: params.opt:1223
+#: params.opt:1250
#, no-c-format
msgid ""
"The maximum factor which the loop vectorizer applies to the cost of "
"statements in an inner loop relative to the loop being vectorized."
msgstr ""
-#: params.opt:1227
+#: params.opt:1254
#, no-c-format
msgid "Enable loop vectorization of floating point inductions."
msgstr ""
-#: params.opt:1231
+#: params.opt:1258
#, no-c-format
msgid "Force the use of SLP when vectorizing, fail if not possible."
msgstr ""
-#: params.opt:1235
+#: params.opt:1262
#, no-c-format
msgid ""
"Maximum number of basic blocks before VRP switches to a fast model with less "
"memory requirements."
msgstr ""
-#: params.opt:1239
+#: params.opt:1266
#, no-c-format
msgid "Maximum number of basic blocks before VRP uses a sparse bitmap cache."
msgstr ""
-#: params.opt:1243
+#: params.opt:1270
#, no-c-format
msgid ""
"Maximum number of outgoing edges in a switch before VRP will not process it."
msgstr ""
-#: params.opt:1247
+#: params.opt:1274
#, no-c-format
msgid "Maximum number of basic blocks for VRP to use a basic cache vector."
msgstr ""
-#: calls.cc:1451
+#: calls.cc:1458
msgid "a callee-copied argument is stored in the current function's frame"
msgstr ""
-#: calls.cc:1520
+#: calls.cc:1528
msgid "argument must be passed by copying"
msgstr ""
-#: calls.cc:2539
+#: calls.cc:2545
msgid ""
"machine description does not have a sibcall_epilogue instruction pattern"
msgstr ""
-#: calls.cc:2550
+#: calls.cc:2557
msgid "callee returns a structure"
msgstr ""
-#: calls.cc:2559
+#: calls.cc:2565
msgid "target is not able to optimize the call into a sibling call"
msgstr ""
-#: calls.cc:2568
+#: calls.cc:2574
msgid "callee returns twice"
msgstr ""
-#: calls.cc:2573
+#: calls.cc:2579
msgid "callee does not return"
msgstr ""
-#: calls.cc:2579
+#: calls.cc:2585
msgid "volatile function type"
msgstr ""
-#: calls.cc:2598
+#: calls.cc:2604
msgid "nested function"
msgstr ""
-#: calls.cc:2610
+#: calls.cc:2615
msgid "callee required more stack slots than the caller"
msgstr ""
-#: calls.cc:2625
+#: calls.cc:2629
msgid "inconsistent number of popped arguments"
msgstr ""
-#: calls.cc:2632
+#: calls.cc:2636
msgid "frontend does not support sibling call"
msgstr ""
-#: calls.cc:2688
+#: calls.cc:2692
msgid "other reasons"
msgstr ""
-#: calls.cc:3062
+#: calls.cc:3066
msgid "inside another call"
msgstr ""
-#: calls.cc:3071
+#: calls.cc:3075
msgid "variable size arguments"
msgstr ""
-#: calls.cc:3096
+#: calls.cc:3099
msgid "hidden string length argument passed on stack"
msgstr ""
-#: calls.cc:3144
+#: calls.cc:3148
msgid "caller and callee disagree in promotion of function return value"
msgstr ""
#. Ideally we'd emit a message for all of the ways that it could
#. have failed.
-#: calls.cc:4056
+#: calls.cc:4060
msgid "tail call production failed"
msgstr ""
@@ -19576,298 +19618,298 @@ msgstr ""
#. PRINT_OPERAND must handle them.
#. We can't handle floating point constants;
#. TARGET_PRINT_OPERAND must handle them.
-#: final.cc:3738 config/arc/arc.cc:6311 config/i386/i386.cc:12793
+#: final.cc:3738 config/arc/arc.cc:6311 config/i386/i386.cc:12800
#, c-format
msgid "floating constant misused"
msgstr ""
-#: final.cc:3796 config/arc/arc.cc:6408 config/i386/i386.cc:12884
+#: final.cc:3796 config/arc/arc.cc:6408 config/i386/i386.cc:12891
#: config/pdp11/pdp11.cc:1872
#, c-format
msgid "invalid expression as operand"
msgstr ""
-#: gcc.cc:129
+#: gcc.cc:132
#, c-format
msgid "%s\n"
msgstr ""
-#: gcc.cc:1864
+#: gcc.cc:1867
#, c-format
msgid "Using built-in specs.\n"
msgstr ""
-#: gcc.cc:2109
+#: gcc.cc:2112
#, c-format
msgid ""
"Setting spec %s to '%s'\n"
"\n"
msgstr ""
-#: gcc.cc:2318
+#: gcc.cc:2321
#, c-format
msgid "Reading specs from %s\n"
msgstr ""
-#: gcc.cc:2448
+#: gcc.cc:2451
#, c-format
msgid "could not find specs file %s\n"
msgstr ""
-#: gcc.cc:2519
+#: gcc.cc:2522
#, c-format
msgid "rename spec %s to %s\n"
msgstr ""
-#: gcc.cc:2521
+#: gcc.cc:2524
#, c-format
msgid ""
"spec is '%s'\n"
"\n"
msgstr ""
-#: gcc.cc:3382
+#: gcc.cc:3385
#, c-format
msgid ""
"\n"
"Go ahead? (y or n) "
msgstr ""
-#: gcc.cc:3554
+#: gcc.cc:3557
#, c-format
msgid "# %s %.2f %.2f\n"
msgstr ""
-#: gcc.cc:3734
+#: gcc.cc:3737
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: gcc.cc:3735
+#: gcc.cc:3738
msgid "Options:\n"
msgstr ""
-#: gcc.cc:3737
+#: gcc.cc:3740
msgid " -pass-exit-codes Exit with highest error code from a phase.\n"
msgstr ""
-#: gcc.cc:3738
+#: gcc.cc:3741
msgid " --help Display this information.\n"
msgstr ""
-#: gcc.cc:3739
+#: gcc.cc:3742
msgid ""
" --target-help Display target specific command line options "
"(including assembler and linker options).\n"
msgstr ""
-#: gcc.cc:3741
+#: gcc.cc:3744
msgid ""
" --help={common|optimizers|params|target|warnings|[^]{joined|separate|"
"undocumented}}[,...].\n"
msgstr ""
-#: gcc.cc:3742
+#: gcc.cc:3745
msgid ""
" Display specific types of command line options.\n"
msgstr ""
-#: gcc.cc:3744
+#: gcc.cc:3747
msgid " (Use '-v --help' to display command line options of sub-processes).\n"
msgstr ""
-#: gcc.cc:3745
+#: gcc.cc:3748
msgid " --version Display compiler version information.\n"
msgstr ""
-#: gcc.cc:3746
+#: gcc.cc:3749
msgid " -dumpspecs Display all of the built in spec strings.\n"
msgstr ""
-#: gcc.cc:3747
+#: gcc.cc:3750
msgid " -dumpversion Display the version of the compiler.\n"
msgstr ""
-#: gcc.cc:3748
+#: gcc.cc:3751
msgid " -dumpmachine Display the compiler's target processor.\n"
msgstr ""
-#: gcc.cc:3749
+#: gcc.cc:3752
msgid " -foffload=<targets> Specify offloading targets.\n"
msgstr ""
-#: gcc.cc:3750
+#: gcc.cc:3753
msgid ""
" -print-search-dirs Display the directories in the compiler's search "
"path.\n"
msgstr ""
-#: gcc.cc:3751
+#: gcc.cc:3754
msgid ""
" -print-libgcc-file-name Display the name of the compiler's companion "
"library.\n"
msgstr ""
-#: gcc.cc:3752
+#: gcc.cc:3755
msgid " -print-file-name=<lib> Display the full path to library <lib>.\n"
msgstr ""
-#: gcc.cc:3753
+#: gcc.cc:3756
msgid ""
" -print-prog-name=<prog> Display the full path to compiler component "
"<prog>.\n"
msgstr ""
-#: gcc.cc:3754
+#: gcc.cc:3757
msgid ""
" -print-multiarch Display the target's normalized GNU triplet, used "
"as\n"
" a component in the library path.\n"
msgstr ""
-#: gcc.cc:3757
+#: gcc.cc:3760
msgid ""
" -print-multi-directory Display the root directory for versions of "
"libgcc.\n"
msgstr ""
-#: gcc.cc:3758
+#: gcc.cc:3761
msgid ""
" -print-multi-lib Display the mapping between command line options "
"and\n"
" multiple library search directories.\n"
msgstr ""
-#: gcc.cc:3761
+#: gcc.cc:3764
msgid ""
" -print-multi-os-directory Display the relative path to OS libraries.\n"
msgstr ""
-#: gcc.cc:3762
+#: gcc.cc:3765
msgid " -print-sysroot Display the target libraries directory.\n"
msgstr ""
-#: gcc.cc:3763
+#: gcc.cc:3766
msgid ""
" -print-sysroot-headers-suffix Display the sysroot suffix used to find "
"headers.\n"
msgstr ""
-#: gcc.cc:3764
+#: gcc.cc:3767
msgid ""
" -Wa,<options> Pass comma-separated <options> on to the "
"assembler.\n"
msgstr ""
-#: gcc.cc:3765
+#: gcc.cc:3768
msgid ""
" -Wp,<options> Pass comma-separated <options> on to the "
"preprocessor.\n"
msgstr ""
-#: gcc.cc:3766
+#: gcc.cc:3769
msgid ""
" -Wl,<options> Pass comma-separated <options> on to the linker.\n"
msgstr ""
-#: gcc.cc:3767
+#: gcc.cc:3770
msgid " -Xassembler <arg> Pass <arg> on to the assembler.\n"
msgstr ""
-#: gcc.cc:3768
+#: gcc.cc:3771
msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor.\n"
msgstr ""
-#: gcc.cc:3769
+#: gcc.cc:3772
msgid " -Xlinker <arg> Pass <arg> on to the linker.\n"
msgstr ""
-#: gcc.cc:3770
+#: gcc.cc:3773
msgid " -save-temps Do not delete intermediate files.\n"
msgstr ""
-#: gcc.cc:3771
+#: gcc.cc:3774
msgid " -save-temps=<arg> Do not delete intermediate files.\n"
msgstr ""
-#: gcc.cc:3772
+#: gcc.cc:3775
msgid ""
" -no-canonical-prefixes Do not canonicalize paths when building relative\n"
" prefixes to other gcc components.\n"
msgstr ""
-#: gcc.cc:3775
+#: gcc.cc:3778
msgid " -pipe Use pipes rather than intermediate files.\n"
msgstr ""
-#: gcc.cc:3776
+#: gcc.cc:3779
msgid " -time Time the execution of each subprocess.\n"
msgstr ""
-#: gcc.cc:3777
+#: gcc.cc:3780
msgid ""
" -specs=<file> Override built-in specs with the contents of "
"<file>.\n"
msgstr ""
-#: gcc.cc:3778
+#: gcc.cc:3781
msgid ""
" -std=<standard> Assume that the input sources are for "
"<standard>.\n"
msgstr ""
-#: gcc.cc:3779
+#: gcc.cc:3782
msgid ""
" --sysroot=<directory> Use <directory> as the root directory for "
"headers\n"
" and libraries.\n"
msgstr ""
-#: gcc.cc:3782
+#: gcc.cc:3785
msgid ""
" -B <directory> Add <directory> to the compiler's search paths.\n"
msgstr ""
-#: gcc.cc:3783
+#: gcc.cc:3786
msgid ""
" -v Display the programs invoked by the compiler.\n"
msgstr ""
-#: gcc.cc:3784
+#: gcc.cc:3787
msgid ""
" -### Like -v but options quoted and commands not "
"executed.\n"
msgstr ""
-#: gcc.cc:3785
+#: gcc.cc:3788
msgid ""
" -E Preprocess only; do not compile, assemble or "
"link.\n"
msgstr ""
-#: gcc.cc:3786
+#: gcc.cc:3789
msgid " -S Compile only; do not assemble or link.\n"
msgstr ""
-#: gcc.cc:3787
+#: gcc.cc:3790
msgid " -c Compile and assemble, but do not link.\n"
msgstr ""
-#: gcc.cc:3788
+#: gcc.cc:3791
msgid " -o <file> Place the output into <file>.\n"
msgstr ""
-#: gcc.cc:3789
+#: gcc.cc:3792
msgid ""
" -pie Create a dynamically linked position independent\n"
" executable.\n"
msgstr ""
-#: gcc.cc:3791
+#: gcc.cc:3794
msgid " -shared Create a shared library.\n"
msgstr ""
-#: gcc.cc:3792
+#: gcc.cc:3795
msgid ""
" -x <language> Specify the language of the following input "
"files.\n"
@@ -19878,7 +19920,7 @@ msgid ""
"extension.\n"
msgstr ""
-#: gcc.cc:3799
+#: gcc.cc:3802
#, c-format
msgid ""
"\n"
@@ -19887,97 +19929,97 @@ msgid ""
" other options on to these processes the -W<letter> options must be used.\n"
msgstr ""
-#: gcc.cc:6945
+#: gcc.cc:6948
#, c-format
msgid "Processing spec (%s), which is '%s'\n"
msgstr ""
-#: gcc.cc:7706
+#: gcc.cc:7709
#, c-format
msgid "Target: %s\n"
msgstr ""
-#: gcc.cc:7707
+#: gcc.cc:7710
#, c-format
msgid "Configured with: %s\n"
msgstr ""
-#: gcc.cc:7721
+#: gcc.cc:7724
#, c-format
msgid "Thread model: %s\n"
msgstr ""
-#: gcc.cc:7722
+#: gcc.cc:7725
#, c-format
msgid "Supported LTO compression algorithms: zlib"
msgstr ""
-#: gcc.cc:7724
+#: gcc.cc:7727
#, c-format
msgid " zstd"
msgstr ""
-#: gcc.cc:7726 gcov.cc:1902 gcov.cc:1962 gcov.cc:1974 gcov.cc:3564
+#: gcc.cc:7729 gcov.cc:1902 gcov.cc:1962 gcov.cc:1974 gcov.cc:3564
#, c-format
msgid "\n"
msgstr ""
-#: gcc.cc:7737
+#: gcc.cc:7740
#, c-format
msgid "gcc version %s %s\n"
msgstr ""
-#: gcc.cc:7740
+#: gcc.cc:7743
#, c-format
msgid "gcc driver version %s %sexecuting gcc version %s\n"
msgstr ""
-#: gcc.cc:7813 gcc.cc:8023
+#: gcc.cc:7819 gcc.cc:8033
#, c-format
msgid ""
"The bug is not reproducible, so it is likely a hardware or OS problem.\n"
msgstr ""
-#: gcc.cc:7947
+#: gcc.cc:7953
#, c-format
msgid ""
"Preprocessed source stored into %s file, please attach this to your "
"bugreport.\n"
msgstr ""
-#: gcc.cc:8787
+#: gcc.cc:8797
#, c-format
msgid "install: %s%s\n"
msgstr ""
-#: gcc.cc:8790
+#: gcc.cc:8800
#, c-format
msgid "programs: %s\n"
msgstr ""
-#: gcc.cc:8792
+#: gcc.cc:8802
#, c-format
msgid "libraries: %s\n"
msgstr ""
-#: gcc.cc:8909
+#: gcc.cc:8919
#, c-format
msgid ""
"\n"
"For bug reporting instructions, please see:\n"
msgstr ""
-#: gcc.cc:8925 gcov-tool.cc:594 sarif-replay.cc:56
+#: gcc.cc:8935 gcov-tool.cc:594 sarif-replay.cc:56
#, c-format
msgid "%s %s%s\n"
msgstr ""
-#: gcc.cc:8928 gcov-tool.cc:596 gcov.cc:1155 sarif-replay.cc:59
+#: gcc.cc:8938 gcov-tool.cc:596 gcov.cc:1155 sarif-replay.cc:59
#: fortran/gfortranspec.cc:282
msgid "(C)"
msgstr ""
-#: gcc.cc:8929 gcov-tool.cc:598 gcov.cc:1157 sarif-replay.cc:60
+#: gcc.cc:8939 gcov-tool.cc:598 gcov.cc:1157 sarif-replay.cc:60
#: fortran/gfortranspec.cc:283
#, c-format
msgid ""
@@ -19986,7 +20028,7 @@ msgid ""
"\n"
msgstr ""
-#: gcc.cc:9272
+#: gcc.cc:9282
#, c-format
msgid ""
"\n"
@@ -19995,14 +20037,14 @@ msgid ""
"\n"
msgstr ""
-#: gcc.cc:9273
+#: gcc.cc:9283
#, c-format
msgid ""
"Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
"\n"
msgstr ""
-#: gcc.cc:10679
+#: gcc.cc:10689
#, c-format
msgid ""
"Assembler options\n"
@@ -20010,7 +20052,7 @@ msgid ""
"\n"
msgstr ""
-#: gcc.cc:10680
+#: gcc.cc:10690
#, c-format
msgid ""
"Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
@@ -20794,113 +20836,113 @@ msgstr ""
msgid "Uses of this option are diagnosed."
msgstr ""
-#: opts.cc:1700
+#: opts.cc:1723
#, c-format
msgid "Same as %s%s (or, in negated form, %s%s)."
msgstr ""
-#: opts.cc:1705
+#: opts.cc:1728
#, c-format
msgid "Same as %s%s."
msgstr ""
-#: opts.cc:1710
+#: opts.cc:1733
#, c-format
msgid "Same as %s."
msgstr ""
-#: opts.cc:1718
+#: opts.cc:1741
#, c-format
msgid "%s Same as %s."
msgstr ""
-#: opts.cc:1781
+#: opts.cc:1804
msgid "[available in "
msgstr ""
-#: opts.cc:1813
+#: opts.cc:1836
msgid "[default]"
msgstr ""
-#: opts.cc:1822
+#: opts.cc:1845
#, c-format
msgid "%llu bytes"
msgstr ""
-#: opts.cc:1859
+#: opts.cc:1882
msgid "[enabled]"
msgstr ""
-#: opts.cc:1861
+#: opts.cc:1884
msgid "[disabled]"
msgstr ""
-#: opts.cc:1897
+#: opts.cc:1920
#, c-format
msgid " No options with the desired characteristics were found\n"
msgstr ""
-#: opts.cc:1906
+#: opts.cc:1929
#, c-format
msgid ""
" None found. Use --help=%s to show *all* the options supported by the %s "
"front-end.\n"
msgstr ""
-#: opts.cc:1912
+#: opts.cc:1935
#, c-format
msgid ""
" All options with the desired characteristics have already been displayed\n"
msgstr ""
-#: opts.cc:1957
+#: opts.cc:1980
#, c-format
msgid ""
" Known valid arguments for %s option:\n"
" "
msgstr ""
-#: opts.cc:2007
+#: opts.cc:2030
msgid "The following options are target specific"
msgstr ""
-#: opts.cc:2010
+#: opts.cc:2033
msgid "The following options control compiler warning messages"
msgstr ""
-#: opts.cc:2013
+#: opts.cc:2036
msgid "The following options control optimizations"
msgstr ""
-#: opts.cc:2016 opts.cc:2056
+#: opts.cc:2039 opts.cc:2079
msgid "The following options are language-independent"
msgstr ""
-#: opts.cc:2019
+#: opts.cc:2042
msgid "The following options control parameters"
msgstr ""
-#: opts.cc:2025
+#: opts.cc:2048
msgid "The following options are specific to just the language "
msgstr ""
-#: opts.cc:2027
+#: opts.cc:2050
msgid "The following options are supported by the language "
msgstr ""
-#: opts.cc:2038
+#: opts.cc:2061
msgid "The following options are not documented"
msgstr ""
-#: opts.cc:2040
+#: opts.cc:2063
msgid "The following options take separate arguments"
msgstr ""
-#: opts.cc:2042
+#: opts.cc:2065
msgid "The following options take joined arguments"
msgstr ""
-#: opts.cc:2054
+#: opts.cc:2077
msgid "The following options are language-related"
msgstr ""
@@ -21001,89 +21043,93 @@ msgid ""
"%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
msgstr ""
-#: tree-diagnostic.cc:100 tree-logical-location.cc:92 c/c-decl.cc:6606
-#: c/c-typeck.cc:8999 cp/error.cc:1301 c-family/c-pretty-print.cc:447
+#: tree-diagnostic.cc:100 tree-logical-location.cc:92 c/c-decl.cc:6607
+#: c/c-typeck.cc:9013 cp/error.cc:1301 c-family/c-pretty-print.cc:447
#, gcc-internal-format
msgid "<anonymous>"
msgstr ""
-#: tree-tailcall.cc:153
+#: tree-tailcall.cc:158
msgid "caller uses stdargs"
msgstr ""
-#: tree-tailcall.cc:172
+#: tree-tailcall.cc:177
msgid "caller uses alloca"
msgstr ""
-#: tree-tailcall.cc:182
+#: tree-tailcall.cc:187
msgid "caller uses sjlj exceptions"
msgstr ""
-#: tree-tailcall.cc:192 tree-tailcall.cc:690
+#: tree-tailcall.cc:197 tree-tailcall.cc:723
msgid "caller uses setjmp"
msgstr ""
-#: tree-tailcall.cc:200
+#: tree-tailcall.cc:205
msgid "caller uses __builtin_eh_return"
msgstr ""
-#: tree-tailcall.cc:600
+#: tree-tailcall.cc:633
msgid "memory reference or volatile after call"
msgstr ""
-#: tree-tailcall.cc:657
+#: tree-tailcall.cc:690
msgid "address of caller arguments taken"
msgstr ""
-#: tree-tailcall.cc:684
+#: tree-tailcall.cc:717
msgid "return value in memory"
msgstr ""
-#: tree-tailcall.cc:701
+#: tree-tailcall.cc:734
msgid "code between call and return"
msgstr ""
-#: tree-tailcall.cc:715
+#: tree-tailcall.cc:747
msgid "call may throw exception that does not propagate"
msgstr ""
-#: tree-tailcall.cc:725
+#: tree-tailcall.cc:760 tree-tailcall.cc:1166
msgid "call may throw exception caught locally or perform cleanups"
msgstr ""
-#: tree-tailcall.cc:759
+#: tree-tailcall.cc:795
msgid "return value used after call"
msgstr ""
-#: tree-tailcall.cc:858 tree-tailcall.cc:887
+#: tree-tailcall.cc:893 tree-tailcall.cc:921
msgid "call invocation refers to locals"
msgstr ""
-#: tree-tailcall.cc:953
+#: tree-tailcall.cc:1001
msgid "unhandled code after call"
msgstr ""
-#: tree-tailcall.cc:963
+#: tree-tailcall.cc:1011
msgid "return value changed after call"
msgstr ""
-#: tree-tailcall.cc:1012
+#: tree-tailcall.cc:1060
msgid "internal call"
msgstr ""
-#: tree-tailcall.cc:1021 tree-tailcall.cc:1061
+#: tree-tailcall.cc:1068 tree-tailcall.cc:1139
msgid "call and return value are different"
msgstr ""
-#: tree-tailcall.cc:1072
+#: tree-tailcall.cc:1149
msgid "operations after non tail recursive call"
msgstr ""
-#: tree-tailcall.cc:1081
+#: tree-tailcall.cc:1157
msgid "tail recursion with pointers can only use additions"
msgstr ""
-#: tree-tailcall.cc:1563
+#: tree-tailcall.cc:1170
+msgid "exception cleanups omit __tsan_func_exit call"
+msgstr ""
+
+#: tree-tailcall.cc:1672
msgid "tail recursion with accumulation mixed with musttail non-recursive call"
msgstr ""
@@ -21450,85 +21496,85 @@ msgstr ""
msgid "cannot combine GNU and SVE vectors in a binary operation"
msgstr ""
-#: config/alpha/alpha.cc:5783 config/i386/i386.cc:14069
+#: config/alpha/alpha.cc:5780 config/i386/i386.cc:14076
#: config/rs6000/rs6000.cc:14674 config/sparc/sparc.cc:9400
#, c-format
msgid "'%%&' used without any local dynamic TLS references"
msgstr ""
-#: config/alpha/alpha.cc:5841 config/bfin/bfin.cc:1428
+#: config/alpha/alpha.cc:5838 config/bfin/bfin.cc:1428
#, c-format
msgid "invalid %%J value"
msgstr ""
-#: config/alpha/alpha.cc:5871 config/ia64/ia64.cc:5592 config/or1k/or1k.cc:1252
+#: config/alpha/alpha.cc:5868 config/ia64/ia64.cc:5592 config/or1k/or1k.cc:1252
#, c-format
msgid "invalid %%r value"
msgstr ""
-#: config/alpha/alpha.cc:5881 config/ia64/ia64.cc:5546
+#: config/alpha/alpha.cc:5878 config/ia64/ia64.cc:5546
#: config/rs6000/rs6000.cc:14369 config/xtensa/xtensa.cc:3144
#, c-format
msgid "invalid %%R value"
msgstr ""
-#: config/alpha/alpha.cc:5887 config/rs6000/rs6000.cc:14289
+#: config/alpha/alpha.cc:5884 config/rs6000/rs6000.cc:14289
#: config/xtensa/xtensa.cc:3117
#, c-format
msgid "invalid %%N value"
msgstr ""
-#: config/alpha/alpha.cc:5895 config/rs6000/rs6000.cc:14317
+#: config/alpha/alpha.cc:5892 config/rs6000/rs6000.cc:14317
#, c-format
msgid "invalid %%P value"
msgstr ""
-#: config/alpha/alpha.cc:5903
+#: config/alpha/alpha.cc:5900
#, c-format
msgid "invalid %%h value"
msgstr ""
-#: config/alpha/alpha.cc:5911 config/xtensa/xtensa.cc:3137
+#: config/alpha/alpha.cc:5908 config/xtensa/xtensa.cc:3137
#, c-format
msgid "invalid %%L value"
msgstr ""
-#: config/alpha/alpha.cc:5930
+#: config/alpha/alpha.cc:5927
#, c-format
msgid "invalid %%m value"
msgstr ""
-#: config/alpha/alpha.cc:5936
+#: config/alpha/alpha.cc:5933
#, c-format
msgid "invalid %%M value"
msgstr ""
-#: config/alpha/alpha.cc:5973
+#: config/alpha/alpha.cc:5970
#, c-format
msgid "invalid %%U value"
msgstr ""
-#: config/alpha/alpha.cc:5981 config/rs6000/rs6000.cc:14377
+#: config/alpha/alpha.cc:5978 config/rs6000/rs6000.cc:14377
#, c-format
msgid "invalid %%s value"
msgstr ""
-#: config/alpha/alpha.cc:5992
+#: config/alpha/alpha.cc:5989
#, c-format
msgid "invalid %%C value"
msgstr ""
-#: config/alpha/alpha.cc:6029 config/rs6000/rs6000.cc:14153
+#: config/alpha/alpha.cc:6026 config/rs6000/rs6000.cc:14153
#, c-format
msgid "invalid %%E value"
msgstr ""
-#: config/alpha/alpha.cc:6054 config/alpha/alpha.cc:6104
+#: config/alpha/alpha.cc:6051 config/alpha/alpha.cc:6101
#, c-format
msgid "unknown relocation unspec"
msgstr ""
-#: config/alpha/alpha.cc:6063 config/gcn/gcn.cc:7341 config/gcn/gcn.cc:7350
+#: config/alpha/alpha.cc:6060 config/gcn/gcn.cc:7341 config/gcn/gcn.cc:7350
#: config/gcn/gcn.cc:7408 config/gcn/gcn.cc:7416 config/gcn/gcn.cc:7432
#: config/gcn/gcn.cc:7450 config/gcn/gcn.cc:7501 config/gcn/gcn.cc:7620
#: config/gcn/gcn.cc:7733 config/rs6000/rs6000.cc:14679
@@ -21536,7 +21582,7 @@ msgstr ""
msgid "invalid %%xn code"
msgstr ""
-#: config/alpha/alpha.cc:6169
+#: config/alpha/alpha.cc:6166
#, c-format
msgid "invalid operand address"
msgstr ""
@@ -21825,9 +21871,9 @@ msgstr ""
#. Format punctuators via %s to avoid -Wformat-diag.
#: config/cris/cris.cc:783 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
-#: cobol/dts.h:71 final.cc:3194 final.cc:3196 fold-const.cc:347 gcc.cc:6296
-#: gcc.cc:6310 rtl-error.cc:101 toplev.cc:322 cobol/gcobolspec.cc:442
-#: cobol/gcobolspec.cc:518 cobol/gcobolspec.cc:528 cobol/gcobolspec.cc:622
+#: cobol/dts.h:71 final.cc:3194 final.cc:3196 fold-const.cc:347 gcc.cc:6299
+#: gcc.cc:6313 rtl-error.cc:101 toplev.cc:322 cobol/gcobolspec.cc:366
+#: cobol/gcobolspec.cc:440 cobol/gcobolspec.cc:450 cobol/gcobolspec.cc:525
#: cp/logic.cc:311 cp/logic.cc:313 cp/typeck.cc:7836 d/d-convert.cc:237
#: go/go-gcc-diagnostics.cc:28 go/go-gcc-diagnostics.cc:37
#: go/go-gcc-diagnostics.cc:45 go/go-gcc-diagnostics.cc:53
@@ -22073,122 +22119,122 @@ msgstr ""
msgid "Expected register or constant integer."
msgstr ""
-#: config/i386/i386.cc:12878
+#: config/i386/i386.cc:12885
#, c-format
msgid "invalid UNSPEC as operand"
msgstr ""
-#: config/i386/i386.cc:13417
+#: config/i386/i386.cc:13424
#, c-format
msgid "invalid use of register '%s'"
msgstr ""
-#: config/i386/i386.cc:13422
+#: config/i386/i386.cc:13429
#, c-format
msgid "invalid use of asm flag output"
msgstr ""
-#: config/i386/i386.cc:13656
+#: config/i386/i386.cc:13663
#, c-format
msgid "invalid operand size for operand code 'O'"
msgstr ""
-#: config/i386/i386.cc:13691
+#: config/i386/i386.cc:13698
#, c-format
msgid "invalid operand size for operand code 'z'"
msgstr ""
-#: config/i386/i386.cc:13766
+#: config/i386/i386.cc:13773
#, c-format
msgid "invalid operand type used with operand code '%c'"
msgstr ""
-#: config/i386/i386.cc:13771
+#: config/i386/i386.cc:13778
#, c-format
msgid "invalid operand size for operand code '%c'"
msgstr ""
-#: config/i386/i386.cc:13849
+#: config/i386/i386.cc:13856
#, c-format
msgid "operand is not a condition code, invalid operand code 'Y'"
msgstr ""
-#: config/i386/i386.cc:13928
+#: config/i386/i386.cc:13935
#, c-format
msgid "operand is not a condition code, invalid operand code 'D'"
msgstr ""
-#: config/i386/i386.cc:13946
+#: config/i386/i386.cc:13953
#, c-format
msgid "operand is not a condition code, invalid operand code '%c'"
msgstr ""
-#: config/i386/i386.cc:13967
+#: config/i386/i386.cc:13974
#, c-format
msgid ""
"operand is not an offsettable memory reference, invalid operand code 'H'"
msgstr ""
-#: config/i386/i386.cc:13982
+#: config/i386/i386.cc:13989
#, c-format
msgid "operand is not an integer, invalid operand code 'K'"
msgstr ""
-#: config/i386/i386.cc:14010
+#: config/i386/i386.cc:14017
#, c-format
msgid "operand is not a specific integer, invalid operand code 'r'"
msgstr ""
-#: config/i386/i386.cc:14028
+#: config/i386/i386.cc:14035
#, c-format
msgid "operand is not an integer, invalid operand code 'R'"
msgstr ""
-#: config/i386/i386.cc:14051
+#: config/i386/i386.cc:14058
#, c-format
msgid "operand is not a specific integer, invalid operand code 'R'"
msgstr ""
-#: config/i386/i386.cc:14144
+#: config/i386/i386.cc:14151
#, c-format
msgid "invalid operand code '%c'"
msgstr ""
-#: config/i386/i386.cc:14206 config/i386/i386.cc:14595
+#: config/i386/i386.cc:14213 config/i386/i386.cc:14602
#, c-format
msgid "invalid constraints for operand"
msgstr ""
-#: config/i386/i386.cc:14307
+#: config/i386/i386.cc:14314
#, c-format
msgid "invalid vector immediate"
msgstr ""
-#: config/i386/i386.cc:17477
+#: config/i386/i386.cc:17484
msgid "unknown insn mode"
msgstr ""
-#: config/i386/i386.cc:24007
+#: config/i386/i386.cc:24042
msgid "invalid conversion from type %<__bf16%> without option %<-msse2%>"
msgstr ""
-#: config/i386/i386.cc:24010
+#: config/i386/i386.cc:24045
msgid "invalid conversion from type %<_Float16%> without option %<-msse2%>"
msgstr ""
-#: config/i386/i386.cc:24013
+#: config/i386/i386.cc:24048
msgid "invalid conversion to type %<__bf16%> without option %<-msse2%>"
msgstr ""
-#: config/i386/i386.cc:24016
+#: config/i386/i386.cc:24051
msgid "invalid conversion to type %<_Float16%> without option %<-msse2%>"
msgstr ""
-#: config/i386/i386.cc:24054 config/i386/i386.cc:24079
+#: config/i386/i386.cc:24089 config/i386/i386.cc:24114
msgid "operation not permitted on type %<__bf16%> without option %<-msse2%>"
msgstr ""
-#: config/i386/i386.cc:24057 config/i386/i386.cc:24083
+#: config/i386/i386.cc:24092 config/i386/i386.cc:24118
msgid "operation not permitted on type %<_Float16%> without option %<-msse2%>"
msgstr ""
@@ -22636,31 +22682,31 @@ msgstr ""
msgid "AltiVec argument passed to unprototyped function"
msgstr ""
-#: config/rs6000/rs6000.cc:28020
+#: config/rs6000/rs6000.cc:28023
msgid "Could not generate addis value for fusion"
msgstr ""
-#: config/rs6000/rs6000.cc:28089
+#: config/rs6000/rs6000.cc:28092
msgid "Unable to generate load/store offset for fusion"
msgstr ""
-#: config/rs6000/rs6000.cc:28165
+#: config/rs6000/rs6000.cc:28168
msgid "Bad GPR fusion"
msgstr ""
-#: config/rs6000/rs6000.cc:28767
+#: config/rs6000/rs6000.cc:28770
msgid "invalid conversion from type %<__vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.cc:28769
+#: config/rs6000/rs6000.cc:28772
msgid "invalid conversion to type %<__vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.cc:28771
+#: config/rs6000/rs6000.cc:28774
msgid "invalid conversion from type %<__vector_pair%>"
msgstr ""
-#: config/rs6000/rs6000.cc:28773
+#: config/rs6000/rs6000.cc:28776
msgid "invalid conversion to type %<__vector_pair%>"
msgstr ""
@@ -22744,19 +22790,19 @@ msgstr ""
msgid "vector argument passed to unprototyped function"
msgstr ""
-#: config/s390/s390.cc:17327
+#: config/s390/s390.cc:17350
msgid "types differ in signedness"
msgstr ""
-#: config/s390/s390.cc:17337
+#: config/s390/s390.cc:17360
msgid "binary operator does not support two vector bool operands"
msgstr ""
-#: config/s390/s390.cc:17340
+#: config/s390/s390.cc:17363
msgid "binary operator does not support vector bool operand"
msgstr ""
-#: config/s390/s390.cc:17348
+#: config/s390/s390.cc:17371
msgid ""
"binary operator does not support mixing vector bool with floating point "
"vector operands"
@@ -22929,7 +22975,7 @@ msgstr ""
msgid "aka"
msgstr ""
-#: c/c-objc-common.cc:385 c/c-typeck.cc:7700
+#: c/c-objc-common.cc:385 c/c-typeck.cc:7714
msgid "({anonymous})"
msgstr ""
@@ -22954,8 +23000,8 @@ msgstr ""
#: c/gimple-parser.cc:2437 c/gimple-parser.cc:2474 c/gimple-parser.cc:2553
#: c/gimple-parser.cc:2580 c/c-parser.cc:4141 c/c-parser.cc:4332
#: c/c-parser.cc:4367 c/c-parser.cc:14591 c/gimple-parser.cc:2244
-#: c/gimple-parser.cc:2256 cp/parser.cc:16475 cp/parser.cc:34630
-#: cp/parser.cc:35269
+#: c/gimple-parser.cc:2256 cp/parser.cc:16475 cp/parser.cc:34635
+#: cp/parser.cc:35274
#, gcc-internal-format
msgid "expected %<;%>"
msgstr ""
@@ -22982,7 +23028,7 @@ msgstr ""
#: c/gimple-parser.cc:1691 c/gimple-parser.cc:1721 c/gimple-parser.cc:1747
#: c/gimple-parser.cc:1954 c/gimple-parser.cc:2166 c/gimple-parser.cc:2186
#: c/gimple-parser.cc:2347 c/gimple-parser.cc:2510 c/c-parser.cc:3242
-#: c/c-parser.cc:9409 c/c-parser.cc:20746 cp/parser.cc:35317 cp/parser.cc:43027
+#: c/c-parser.cc:9409 c/c-parser.cc:20746 cp/parser.cc:35322 cp/parser.cc:43032
#, gcc-internal-format
msgid "expected %<)%>"
msgstr ""
@@ -22990,7 +23036,7 @@ msgstr ""
#: c/c-parser.cc:5029 c/c-parser.cc:5778 c/c-parser.cc:6138 c/c-parser.cc:6156
#: c/c-parser.cc:6157 c/c-parser.cc:6660 c/c-parser.cc:6704 c/c-parser.cc:9508
#: c/c-parser.cc:11816 c/c-parser.cc:13270 c/c-parser.cc:13642
-#: c/c-parser.cc:16667 c/gimple-parser.cc:1930 cp/parser.cc:35281
+#: c/c-parser.cc:16667 c/gimple-parser.cc:1930 cp/parser.cc:35286
#, gcc-internal-format
msgid "expected %<]%>"
msgstr ""
@@ -23009,13 +23055,13 @@ msgstr ""
#: c/gimple-parser.cc:1457 c/gimple-parser.cc:1582 c/gimple-parser.cc:1687
#: c/gimple-parser.cc:1705 c/gimple-parser.cc:1740 c/gimple-parser.cc:2135
#: c/gimple-parser.cc:2146 c/gimple-parser.cc:2152 c/gimple-parser.cc:2335
-#: c/gimple-parser.cc:2507 c/c-parser.cc:17109 cp/parser.cc:35272
+#: c/gimple-parser.cc:2507 c/c-parser.cc:17109 cp/parser.cc:35277
#, gcc-internal-format
msgid "expected %<(%>"
msgstr ""
-#: c/c-parser.cc:6134 c/c-parser.cc:6136 c/c-parser.cc:16572 cp/parser.cc:35284
-#: cp/parser.cc:39174 go/gofrontend/embed.cc:440
+#: c/c-parser.cc:6134 c/c-parser.cc:6136 c/c-parser.cc:16572 cp/parser.cc:35289
+#: cp/parser.cc:39179 go/gofrontend/embed.cc:440
#, gcc-internal-format
msgid "expected %<[%>"
msgstr ""
@@ -23024,7 +23070,7 @@ msgstr ""
#: c/c-parser.cc:23012 c/c-parser.cc:23098 c/c-parser.cc:23859
#: c/c-parser.cc:24999 c/c-parser.cc:29820 c/gimple-parser.cc:447
#: c/gimple-parser.cc:2513 c/c-parser.cc:4128 c/c-parser.cc:4356
-#: c/c-parser.cc:14486 cp/parser.cc:22203 cp/parser.cc:35278
+#: c/c-parser.cc:14486 cp/parser.cc:22203 cp/parser.cc:35283
#: go/gofrontend/embed.cc:371
#, gcc-internal-format
msgid "expected %<{%>"
@@ -23039,13 +23085,13 @@ msgstr ""
#: c/c-parser.cc:27881 c/c-parser.cc:27940 c/c-parser.cc:29142
#: c/gimple-parser.cc:630 c/gimple-parser.cc:943 c/gimple-parser.cc:2561
#: c/gimple-parser.cc:2588 c/c-parser.cc:9416 c/c-parser.cc:17253
-#: c/c-parser.cc:18658 cp/parser.cc:35311 cp/parser.cc:37018 cp/parser.cc:40114
-#: cp/parser.cc:41007 go/gofrontend/embed.cc:404
+#: c/c-parser.cc:18658 cp/parser.cc:35316 cp/parser.cc:37023 cp/parser.cc:40119
+#: cp/parser.cc:41012 go/gofrontend/embed.cc:404
#, gcc-internal-format
msgid "expected %<:%>"
msgstr ""
-#: c/c-parser.cc:8910 cp/parser.cc:35198
+#: c/c-parser.cc:8910 cp/parser.cc:35203
#, gcc-internal-format
msgid "expected %<while%>"
msgstr ""
@@ -23055,7 +23101,7 @@ msgstr ""
#: c/c-parser.cc:12687 c/c-parser.cc:18174 c/c-parser.cc:19775
#: c/gimple-parser.cc:1172 c/gimple-parser.cc:1198 c/gimple-parser.cc:1326
#: c/gimple-parser.cc:1329 c/gimple-parser.cc:1709 c/gimple-parser.cc:1715
-#: cp/parser.cc:34628 cp/parser.cc:35287
+#: cp/parser.cc:34633 cp/parser.cc:35292
#, gcc-internal-format
msgid "expected %<,%>"
msgstr ""
@@ -23065,18 +23111,18 @@ msgid "expected %<.%>"
msgstr ""
#: c/c-parser.cc:14157 c/c-parser.cc:14189 c/c-parser.cc:14429
-#: cp/parser.cc:37592 cp/parser.cc:37613
+#: cp/parser.cc:37597 cp/parser.cc:37618
#, gcc-internal-format
msgid "expected %<@end%>"
msgstr ""
-#: c/c-parser.cc:14847 c/gimple-parser.cc:1497 cp/parser.cc:35296
+#: c/c-parser.cc:14847 c/gimple-parser.cc:1497 cp/parser.cc:35301
#, gcc-internal-format
msgid "expected %<>%>"
msgstr ""
#: c/c-parser.cc:18748 c/c-parser.cc:20191 c/c-parser.cc:20617
-#: cp/parser.cc:35320 cp/parser.cc:42878
+#: cp/parser.cc:35325 cp/parser.cc:42883
#, gcc-internal-format
msgid "expected %<,%> or %<)%>"
msgstr ""
@@ -23086,45 +23132,45 @@ msgstr ""
#: c/c-parser.cc:23109 c/c-parser.cc:23456 c/c-parser.cc:24168
#: c/c-parser.cc:25374 c/c-parser.cc:26880 c/c-parser.cc:28082
#: c/gimple-parser.cc:798 c/c-parser.cc:6727 c/c-parser.cc:23029
-#: c/c-parser.cc:23252 cp/parser.cc:35299 cp/parser.cc:44573 cp/parser.cc:44746
+#: c/c-parser.cc:23252 cp/parser.cc:35304 cp/parser.cc:44578 cp/parser.cc:44751
#, gcc-internal-format
msgid "expected %<=%>"
msgstr ""
#: c/c-parser.cc:20767 c/c-parser.cc:27145 c/c-parser.cc:27166
#: c/c-parser.cc:16707 c/c-parser.cc:16719 c/c-parser.cc:20747
-#: cp/parser.cc:43028 cp/parser.cc:43055 cp/parser.cc:50595 cp/parser.cc:50606
+#: cp/parser.cc:43033 cp/parser.cc:43060 cp/parser.cc:50600 cp/parser.cc:50611
#, gcc-internal-format
msgid "expected %<)%> or %<,%>"
msgstr ""
#: c/c-parser.cc:23040 c/c-parser.cc:23120 c/c-parser.cc:23473
#: c/c-parser.cc:23928 c/gimple-parser.cc:1763 c/gimple-parser.cc:1795
-#: c/gimple-parser.cc:1805 c/gimple-parser.cc:2598 cp/parser.cc:35275
-#: cp/parser.cc:37802
+#: c/gimple-parser.cc:1805 c/gimple-parser.cc:2598 cp/parser.cc:35280
+#: cp/parser.cc:37807
#, gcc-internal-format
msgid "expected %<}%>"
msgstr ""
-#: c/c-parser.cc:23133 cp/parser.cc:44671
+#: c/c-parser.cc:23133 cp/parser.cc:44676
#, gcc-internal-format
msgid "expected %<else%>"
msgstr ""
-#: c/c-parser.cc:25046 c/c-parser.cc:25035 cp/parser.cc:47601
+#: c/c-parser.cc:25046 c/c-parser.cc:25035 cp/parser.cc:47606
#, gcc-internal-format
msgid "expected %<#pragma omp section%> or %<}%>"
msgstr ""
-#: c/c-parser.cc:28760 cp/parser.cc:52549
+#: c/c-parser.cc:28760 cp/parser.cc:52554
msgid "<message unknown at compile time>"
msgstr ""
-#: c/c-typeck.cc:9849
+#: c/c-typeck.cc:9863
msgid "(anonymous)"
msgstr ""
-#: c/gimple-parser.cc:1486 cp/parser.cc:19538 cp/parser.cc:35293
+#: c/gimple-parser.cc:1486 cp/parser.cc:19538 cp/parser.cc:35298
#, gcc-internal-format
msgid "expected %<<%>"
msgstr ""
@@ -23135,7 +23181,7 @@ msgstr ""
msgid "expected label"
msgstr ""
-#: cobol/gcobolspec.cc:641
+#: cobol/gcobolspec.cc:544
#, c-format
msgid "Driving: (%ld)\n"
msgstr ""
@@ -23149,7 +23195,7 @@ msgstr ""
msgid " after user-defined conversion:"
msgstr ""
-#: cp/call.cc:8724 cp/pt.cc:2064 cp/pt.cc:26910
+#: cp/call.cc:8724 cp/pt.cc:2064 cp/pt.cc:26956
msgid "candidate is:"
msgid_plural "candidates are:"
msgstr[0] ""
@@ -23288,105 +23334,7 @@ msgstr ""
msgid "At global scope:"
msgstr ""
-#: cp/error.cc:3791
-msgid " inlined from %qD at %r%s:%d:%d%R"
-msgstr ""
-
-#: cp/error.cc:3796
-msgid " inlined from %qD at %r%s:%d%R"
-msgstr ""
-
-#: cp/error.cc:3802
-msgid " inlined from %qD"
-msgstr ""
-
-#: cp/error.cc:3828
-msgid "In static member function %qD"
-msgstr ""
-
-#: cp/error.cc:3830
-msgid "In copy constructor %qD"
-msgstr ""
-
-#: cp/error.cc:3832
-msgid "In constructor %qD"
-msgstr ""
-
-#: cp/error.cc:3834
-msgid "In destructor %qD"
-msgstr ""
-
-#: cp/error.cc:3836
-msgid "In lambda function"
-msgstr ""
-
-#: cp/error.cc:3838
-msgid "In explicit object member function %qD"
-msgstr ""
-
-#: cp/error.cc:3840
-msgid "In member function %qD"
-msgstr ""
-
-#: cp/error.cc:3843
-msgid "In function %qD"
-msgstr ""
-
-#: cp/error.cc:3870
-#, c-format
-msgid "%s%s%sIn substitution of %qS:\n"
-msgstr ""
-
-#: cp/error.cc:3871
-msgid "%s%s%sIn instantiation of %q#D:\n"
-msgstr ""
-
-#: cp/error.cc:3891
-msgid "%r%s:%d:%d:%R "
-msgstr ""
-
-#: cp/error.cc:3894
-msgid "%r%s:%d:%R "
-msgstr ""
-
-#: cp/error.cc:3987
-#, c-format
-msgid "recursively required by substitution of %qS\n"
-msgstr ""
-
-#: cp/error.cc:3988
-#, c-format
-msgid "required by substitution of %qS\n"
-msgstr ""
-
-#: cp/error.cc:3993
-msgid "recursively required from %q#D\n"
-msgstr ""
-
-#: cp/error.cc:3994
-msgid "required from %q#D\n"
-msgstr ""
-
-#: cp/error.cc:4001
-msgid "recursively required from here\n"
-msgstr ""
-
-#: cp/error.cc:4002
-msgid "required from here\n"
-msgstr ""
-
-#: cp/error.cc:4052
-#, c-format
-msgid ""
-"[ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to "
-"disable ]\n"
-msgstr ""
-
-#: cp/error.cc:4104
-msgid "in %<constexpr%> expansion of %qs"
-msgstr ""
-
-#: cp/pt.cc:2062 cp/semantics.cc:6705
+#: cp/pt.cc:2062 cp/semantics.cc:6719
msgid "candidates are:"
msgstr ""
@@ -23430,27 +23378,27 @@ msgstr ""
msgid "source type is not polymorphic"
msgstr ""
-#: cp/typeck.cc:7524 c/c-typeck.cc:5289
+#: cp/typeck.cc:7524 c/c-typeck.cc:5303
#, gcc-internal-format
msgid "wrong type argument to unary minus"
msgstr ""
-#: cp/typeck.cc:7525 c/c-typeck.cc:5275
+#: cp/typeck.cc:7525 c/c-typeck.cc:5289
#, gcc-internal-format
msgid "wrong type argument to unary plus"
msgstr ""
-#: cp/typeck.cc:7552 c/c-typeck.cc:5334
+#: cp/typeck.cc:7552 c/c-typeck.cc:5348
#, gcc-internal-format
msgid "wrong type argument to bit-complement"
msgstr ""
-#: cp/typeck.cc:7572 c/c-typeck.cc:5342
+#: cp/typeck.cc:7572 c/c-typeck.cc:5356
#, gcc-internal-format
msgid "wrong type argument to abs"
msgstr ""
-#: cp/typeck.cc:7584 c/c-typeck.cc:5364
+#: cp/typeck.cc:7584 c/c-typeck.cc:5378
#, gcc-internal-format
msgid "wrong type argument to conjugation"
msgstr ""
@@ -23487,63 +23435,63 @@ msgstr ""
msgid "BOZ constant truncated at %L"
msgstr ""
-#: fortran/check.cc:4100
+#: fortran/check.cc:4126
#, c-format
msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'"
msgstr ""
-#: fortran/check.cc:4338 fortran/check.cc:4423 fortran/check.cc:4488
-#: fortran/check.cc:5181
+#: fortran/check.cc:4364 fortran/check.cc:4449 fortran/check.cc:4514
+#: fortran/check.cc:5217
#, c-format
msgid "arguments '%s' and '%s' for intrinsic %s"
msgstr ""
-#: fortran/check.cc:4932 fortran/intrinsic.cc:4984
+#: fortran/check.cc:4968 fortran/intrinsic.cc:4987
#, c-format
msgid "arguments '%s' and '%s' for intrinsic '%s'"
msgstr ""
-#: fortran/check.cc:5787
+#: fortran/check.cc:5823
msgid "NULL() is not interoperable"
msgstr ""
-#: fortran/check.cc:5793
+#: fortran/check.cc:5829
msgid "BOZ literal constant"
msgstr ""
-#: fortran/check.cc:5799
+#: fortran/check.cc:5835
msgid "Expression is polymorphic"
msgstr ""
-#: fortran/check.cc:5806
+#: fortran/check.cc:5842
msgid "Expression is a noninteroperable derived type"
msgstr ""
-#: fortran/check.cc:5812
+#: fortran/check.cc:5848
msgid "Procedure unexpected as argument"
msgstr ""
-#: fortran/check.cc:5822
+#: fortran/check.cc:5858
msgid "Extension to use a non-C_Bool-kind LOGICAL"
msgstr ""
-#: fortran/check.cc:5829
+#: fortran/check.cc:5865
msgid "Extension to use a non-C_CHAR-kind CHARACTER"
msgstr ""
-#: fortran/check.cc:5850
+#: fortran/check.cc:5886
msgid "Type shall have a character length of 1"
msgstr ""
-#: fortran/check.cc:5861
+#: fortran/check.cc:5897
msgid "Coarrays are not interoperable"
msgstr ""
-#: fortran/check.cc:5872
+#: fortran/check.cc:5908
msgid "Assumed-size arrays are not interoperable"
msgstr ""
-#: fortran/dump-parse-tree.cc:4127
+#: fortran/dump-parse-tree.cc:4162
#, c-format
msgid ""
"/* Prototypes for external procedures generated from %s\n"
@@ -23554,7 +23502,7 @@ msgid ""
"\n"
msgstr ""
-#: fortran/dump-parse-tree.cc:4139
+#: fortran/dump-parse-tree.cc:4174
#, c-format
msgid ""
"\n"
@@ -23609,7 +23557,7 @@ msgstr ""
msgid "Unsigned:"
msgstr ""
-#: fortran/expr.cc:3856
+#: fortran/expr.cc:3862
msgid "array assignment"
msgstr ""
@@ -23642,51 +23590,51 @@ msgstr ""
msgid "Driving:"
msgstr ""
-#: fortran/interface.cc:3884 fortran/intrinsic.cc:4662
+#: fortran/interface.cc:3905 fortran/intrinsic.cc:4662
msgid "actual argument to INTENT = OUT/INOUT"
msgstr ""
-#: fortran/intrinsic.cc:5021
+#: fortran/intrinsic.cc:5024
msgid "available since Fortran 77"
msgstr ""
-#: fortran/intrinsic.cc:5025
+#: fortran/intrinsic.cc:5028
msgid "obsolescent in Fortran 95"
msgstr ""
-#: fortran/intrinsic.cc:5029
+#: fortran/intrinsic.cc:5032
msgid "deleted in Fortran 95"
msgstr ""
-#: fortran/intrinsic.cc:5033
+#: fortran/intrinsic.cc:5036
msgid "new in Fortran 95"
msgstr ""
-#: fortran/intrinsic.cc:5037
+#: fortran/intrinsic.cc:5040
msgid "new in Fortran 2003"
msgstr ""
-#: fortran/intrinsic.cc:5041
+#: fortran/intrinsic.cc:5044
msgid "new in Fortran 2008"
msgstr ""
-#: fortran/intrinsic.cc:5045
+#: fortran/intrinsic.cc:5048
msgid "new in Fortran 2018"
msgstr ""
-#: fortran/intrinsic.cc:5049
+#: fortran/intrinsic.cc:5052
msgid "new in Fortran 2023"
msgstr ""
-#: fortran/intrinsic.cc:5053
+#: fortran/intrinsic.cc:5056
msgid "a GNU Fortran extension"
msgstr ""
-#: fortran/intrinsic.cc:5057
+#: fortran/intrinsic.cc:5060
msgid "for backward compatibility"
msgstr ""
-#: fortran/intrinsic.cc:5061
+#: fortran/intrinsic.cc:5064
msgid "unsigned"
msgstr ""
@@ -23808,11 +23756,11 @@ msgstr ""
msgid "implied END DO"
msgstr ""
-#: fortran/parse.cc:2523 fortran/resolve.cc:13557
+#: fortran/parse.cc:2523 fortran/resolve.cc:13675
msgid "assignment"
msgstr ""
-#: fortran/parse.cc:2526 fortran/resolve.cc:13623 fortran/resolve.cc:13626
+#: fortran/parse.cc:2526 fortran/resolve.cc:13741 fortran/resolve.cc:13744
msgid "pointer assignment"
msgstr ""
@@ -23898,47 +23846,47 @@ msgstr ""
msgid "bind(c) procedure"
msgstr ""
-#: fortran/resolve.cc:7966
+#: fortran/resolve.cc:8002
msgid "Loop variable"
msgstr ""
-#: fortran/resolve.cc:7970
+#: fortran/resolve.cc:8006
msgid "iterator variable"
msgstr ""
-#: fortran/resolve.cc:7974
+#: fortran/resolve.cc:8010
msgid "Start expression in DO loop"
msgstr ""
-#: fortran/resolve.cc:7978
+#: fortran/resolve.cc:8014
msgid "End expression in DO loop"
msgstr ""
-#: fortran/resolve.cc:7982
+#: fortran/resolve.cc:8018
msgid "Step expression in DO loop"
msgstr ""
-#: fortran/resolve.cc:8607 fortran/resolve.cc:8610
+#: fortran/resolve.cc:8636 fortran/resolve.cc:8639
msgid "DEALLOCATE object"
msgstr ""
-#: fortran/resolve.cc:9034 fortran/resolve.cc:9037
+#: fortran/resolve.cc:9063 fortran/resolve.cc:9066
msgid "ALLOCATE object"
msgstr ""
-#: fortran/resolve.cc:9274 fortran/resolve.cc:11421 fortran/resolve.cc:11542
+#: fortran/resolve.cc:9303 fortran/resolve.cc:11450 fortran/resolve.cc:11676
msgid "STAT variable"
msgstr ""
-#: fortran/resolve.cc:9325 fortran/resolve.cc:11433 fortran/resolve.cc:11554
+#: fortran/resolve.cc:9354 fortran/resolve.cc:11462 fortran/resolve.cc:11688
msgid "ERRMSG variable"
msgstr ""
-#: fortran/resolve.cc:11229
+#: fortran/resolve.cc:11258
msgid "item in READ"
msgstr ""
-#: fortran/resolve.cc:11445
+#: fortran/resolve.cc:11474
msgid "ACQUIRED_LOCK variable"
msgstr ""
@@ -23958,26 +23906,26 @@ msgid ""
"dummy declaration"
msgstr ""
-#: fortran/trans-decl.cc:6546
+#: fortran/trans-decl.cc:6540
#, c-format
msgid ""
"Actual string length does not match the declared one for dummy argument "
"'%s' (%ld/%ld)"
msgstr ""
-#: fortran/trans-decl.cc:6554
+#: fortran/trans-decl.cc:6548
#, c-format
msgid ""
"Actual string length is shorter than the declared one for dummy argument "
"'%s' (%ld/%ld)"
msgstr ""
-#: fortran/trans-expr.cc:11391
+#: fortran/trans-expr.cc:11376
#, c-format
msgid "Target of rank remapping is too small (%ld < %ld)"
msgstr ""
-#: fortran/trans-expr.cc:13086
+#: fortran/trans-expr.cc:13071
msgid "Assignment of scalar to unallocated array"
msgstr ""
@@ -23986,81 +23934,81 @@ msgstr ""
msgid "Unequal character lengths (%ld/%ld) in %s"
msgstr ""
-#: fortran/trans-intrinsic.cc:6380
+#: fortran/trans-intrinsic.cc:6386
#, c-format
msgid "POS argument (%ld) out of range 0:%ld in intrinsic BTEST"
msgstr ""
-#: fortran/trans-intrinsic.cc:6667
+#: fortran/trans-intrinsic.cc:6673
#, c-format
msgid "POS argument (%ld) out of range 0:%ld in intrinsic %s"
msgstr ""
-#: fortran/trans-intrinsic.cc:6715
+#: fortran/trans-intrinsic.cc:6721
#, c-format
msgid "POS argument (%ld) out of range 0:%ld in intrinsic IBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:6725
+#: fortran/trans-intrinsic.cc:6731
#, c-format
msgid "LEN argument (%ld) out of range 0:%ld in intrinsic IBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:6732
+#: fortran/trans-intrinsic.cc:6738
#, c-format
msgid "POS(%ld)+LEN(%ld)>BIT_SIZE(%ld) in intrinsic IBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:6824
+#: fortran/trans-intrinsic.cc:6830
#, c-format
msgid "SHIFT argument (%ld) out of range 0:%ld in intrinsic %s"
msgstr ""
-#: fortran/trans-intrinsic.cc:6892
+#: fortran/trans-intrinsic.cc:6898
#, c-format
msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFT"
msgstr ""
-#: fortran/trans-intrinsic.cc:6972
+#: fortran/trans-intrinsic.cc:6978
#, c-format
msgid "SIZE argument (%ld) out of range 1:%ld in intrinsic ISHFTC"
msgstr ""
-#: fortran/trans-intrinsic.cc:6980 fortran/trans-intrinsic.cc:7025
+#: fortran/trans-intrinsic.cc:6986 fortran/trans-intrinsic.cc:7031
#, c-format
msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC"
msgstr ""
-#: fortran/trans-intrinsic.cc:9376
+#: fortran/trans-intrinsic.cc:9382
#, c-format
msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
msgstr ""
-#: fortran/trans-intrinsic.cc:9408
+#: fortran/trans-intrinsic.cc:9414
msgid "Argument NCOPIES of REPEAT intrinsic is too large"
msgstr ""
-#: fortran/trans-intrinsic.cc:12875
+#: fortran/trans-intrinsic.cc:12882
#, c-format
msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:12887
+#: fortran/trans-intrinsic.cc:12894
#, c-format
msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:12899
+#: fortran/trans-intrinsic.cc:12906
#, c-format
msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:12911
+#: fortran/trans-intrinsic.cc:12918
#, c-format
msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
msgstr ""
-#: fortran/trans-intrinsic.cc:12919
+#: fortran/trans-intrinsic.cc:12926
#, c-format
msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
msgstr ""
@@ -24077,20 +24025,20 @@ msgstr ""
msgid "Assigned label is not a target label"
msgstr ""
-#: fortran/trans-stmt.cc:1294
+#: fortran/trans-stmt.cc:1350
#, c-format
msgid "Invalid image number %d in SYNC IMAGES"
msgstr ""
-#: fortran/trans-stmt.cc:2612
+#: fortran/trans-stmt.cc:2706
msgid "Loop iterates infinitely"
msgstr ""
-#: fortran/trans-stmt.cc:2632 fortran/trans-stmt.cc:2888
+#: fortran/trans-stmt.cc:2726 fortran/trans-stmt.cc:2982
msgid "Loop variable has been modified"
msgstr ""
-#: fortran/trans-stmt.cc:2741
+#: fortran/trans-stmt.cc:2835
msgid "DO step value is zero"
msgstr ""
@@ -24119,12 +24067,12 @@ msgstr ""
msgid "Attempting to allocate already allocated variable"
msgstr ""
-#: fortran/trans.cc:1878 fortran/trans.cc:2056
+#: fortran/trans.cc:1878 fortran/trans.cc:2057
#, c-format
msgid "Attempt to DEALLOCATE unallocated '%s'"
msgstr ""
-#: fortran/trans.cc:2224
+#: fortran/trans.cc:2232
#, c-format
msgid "Error reallocating to %lu bytes"
msgstr ""
@@ -24173,7 +24121,7 @@ msgid "expected boolean type"
msgstr ""
#: go/gofrontend/expressions.cc:5610 c/c-parser.cc:19534 c/c-parser.cc:19541
-#: cp/parser.cc:41859 cp/parser.cc:41866
+#: cp/parser.cc:41864 cp/parser.cc:41871
#, gcc-internal-format
msgid "expected integer"
msgstr ""
@@ -24604,12 +24552,12 @@ msgstr ""
msgid "degree of %<poly_int%> exceeds %<NUM_POLY_INT_COEFFS%> (%d)"
msgstr ""
-#: lto-streamer.h:1039
+#: lto-streamer.h:1040
#, gcc-internal-format, gfc-internal-format
msgid "bytecode stream: expected tag %s instead of %s"
msgstr ""
-#: lto-streamer.h:1049
+#: lto-streamer.h:1050
#, gcc-internal-format, gfc-internal-format
msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
msgstr ""
@@ -24619,7 +24567,7 @@ msgstr ""
#. 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:723
+#: config/darwin.h:724
#, gcc-internal-format
msgid "alias definitions not supported in Mach-O; ignored"
msgstr ""
@@ -24875,7 +24823,7 @@ msgstr ""
msgid "Global declarative %s for %s"
msgstr ""
-#: cobol/parse_ante.h:2456 cobol/genapi.cc:5776
+#: cobol/parse_ante.h:2456 cobol/genapi.cc:5784
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d: invalid symbol_type_t %d"
msgstr ""
@@ -24901,7 +24849,7 @@ msgid "scan.o: %s"
msgstr ""
#. A general purpose syntax error.
-#: fortran/gfortran.h:3560 fortran/io.cc:3727 fortran/io.cc:4413
+#: fortran/gfortran.h:3568 fortran/io.cc:3727 fortran/io.cc:4413
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in %s statement at %C"
msgstr ""
@@ -24989,17 +24937,17 @@ msgstr ""
#: c-family/c.opt:70 c-family/c.opt:80 c-family/c.opt:83 c-family/c.opt:86
#: c-family/c.opt:89 c-family/c.opt:185 c-family/c.opt:188 c-family/c.opt:230
-#: c-family/c.opt:234 c-family/c.opt:246 c-family/c.opt:2481
-#: c-family/c.opt:2489 config/darwin.opt:30 common.opt:329 common.opt:332
-#: common.opt:429 common.opt:3793
+#: c-family/c.opt:234 c-family/c.opt:246 c-family/c.opt:2482
+#: c-family/c.opt:2490 config/darwin.opt:30 common.opt:329 common.opt:332
+#: common.opt:429 common.opt:3801
#, gcc-internal-format
msgid "missing filename after %qs"
msgstr ""
#: c-family/c.opt:74 c-family/c.opt:77 c-family/c.opt:95 c-family/c.opt:98
#: c-family/c.opt:101 c-family/c.opt:104 c-family/c.opt:210 c-family/c.opt:222
-#: c-family/c.opt:278 c-family/c.opt:2477 c-family/c.opt:2497
-#: c-family/c.opt:2501 c-family/c.opt:2505
+#: c-family/c.opt:278 c-family/c.opt:2478 c-family/c.opt:2498
+#: c-family/c.opt:2502 c-family/c.opt:2506
#, gcc-internal-format
msgid "missing path after %qs"
msgstr ""
@@ -25019,69 +24967,69 @@ msgstr ""
msgid "missing output path after %qs"
msgstr ""
-#: c-family/c.opt:321
+#: c-family/c.opt:322
#, gcc-internal-format
msgid "argument %qs to %<-Waligned-new%> not recognized"
msgstr ""
-#: c-family/c.opt:416
+#: c-family/c.opt:417
#, gcc-internal-format
msgid "argument %qs to %<-Wbidi-chars%> not recognized"
msgstr ""
-#: c-family/c.opt:944
+#: c-family/c.opt:945
#, gcc-internal-format
msgid "argument %qs to %<-Wleading-whitespace=%> not recognized"
msgstr ""
-#: c-family/c.opt:1133
+#: c-family/c.opt:1134
#, gcc-internal-format
msgid "argument %qs to %<-Wnormalized%> not recognized"
msgstr ""
-#: c-family/c.opt:1505
+#: c-family/c.opt:1506
#, gcc-internal-format
msgid "argument %qs to %<-Wtrailing-whitespace=%> not recognized"
msgstr ""
-#: c-family/c.opt:1833
+#: c-family/c.opt:1834
#, gcc-internal-format
msgid "no class name specified with %qs"
msgstr ""
-#: c-family/c.opt:1861
+#: c-family/c.opt:1862
#, gcc-internal-format
msgid "argument %qs must be either %<on%> or %<off%>"
msgstr ""
-#: c-family/c.opt:2005
+#: c-family/c.opt:2006
#, gcc-internal-format
msgid ""
"%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by "
"default)"
msgstr ""
-#: c-family/c.opt:2080
+#: c-family/c.opt:2081
#, gcc-internal-format
msgid "missing mapper"
msgstr ""
-#: c-family/c.opt:2108
+#: c-family/c.opt:2109
#, gcc-internal-format
msgid "missing header name"
msgstr ""
-#: c-family/c.opt:2116
+#: c-family/c.opt:2117
#, gcc-internal-format
msgid "missing module name"
msgstr ""
-#: c-family/c.opt:2163
+#: c-family/c.opt:2164
#, gcc-internal-format
msgid "unrecognized ivar visibility value %qs"
msgstr ""
-#: c-family/c.opt:2341
+#: c-family/c.opt:2342
#, gcc-internal-format
msgid "unrecognized scalar storage order value %qs"
msgstr ""
@@ -25247,107 +25195,107 @@ msgstr ""
msgid "unavailable stringop for inlining %qs"
msgstr ""
-#: common.opt:2065
+#: common.opt:2066
#, gcc-internal-format
msgid "unknown Control-Flow Protection Level %qs"
msgstr ""
-#: common.opt:2175
+#: common.opt:2180
#, gcc-internal-format
msgid "unknown IRA algorithm %qs"
msgstr ""
-#: common.opt:2188
+#: common.opt:2193
#, gcc-internal-format
msgid "unknown IRA region %qs"
msgstr ""
-#: common.opt:2274
+#: common.opt:2279 params.opt:469
#, gcc-internal-format
msgid "unknown LTO partitioning model %qs"
msgstr ""
-#: common.opt:2398
+#: common.opt:2406
#, gcc-internal-format
msgid "targets missing after %qs"
msgstr ""
-#: common.opt:2401
+#: common.opt:2409
#, gcc-internal-format
msgid "options or targets=options missing after %qs"
msgstr ""
-#: common.opt:2409
+#: common.opt:2417
#, gcc-internal-format
msgid "unknown offload ABI %qs"
msgstr ""
-#: common.opt:2418
+#: common.opt:2426
#, gcc-internal-format
msgid "option missing after %qs"
msgstr ""
-#: common.opt:2595
+#: common.opt:2603
#, gcc-internal-format
msgid "unknown profile reproducibility method %qs"
msgstr ""
-#: common.opt:2611
+#: common.opt:2619
#, gcc-internal-format
msgid "unknown profile update method %qs"
msgstr ""
-#: common.opt:2720
+#: common.opt:2728
#, gcc-internal-format
msgid "unknown Live-Patching Level %qs"
msgstr ""
-#: common.opt:2753
+#: common.opt:2761
#, gcc-internal-format
msgid "unknown basic block reordering algorithm %qs"
msgstr ""
-#: common.opt:3089
+#: common.opt:3097
#, gcc-internal-format
msgid "unknown TLS model %qs"
msgstr ""
-#: common.opt:3122
+#: common.opt:3130
#, gcc-internal-format
msgid "unknown trampoline implementation %qs"
msgstr ""
-#: common.opt:3444
+#: common.opt:3452
#, gcc-internal-format
msgid "unknown vectorizer cost model %qs"
msgstr ""
-#: common.opt:3475
+#: common.opt:3483
#, gcc-internal-format
msgid "unrecognized automatic variable initialization type %qs"
msgstr ""
-#: common.opt:3501
+#: common.opt:3509
#, gcc-internal-format
msgid "unrecognized visibility value %qs"
msgstr ""
-#: common.opt:3520
+#: common.opt:3528
#, gcc-internal-format
msgid "unknown vtable verify initialization priority %qs"
msgstr ""
-#: common.opt:3576
+#: common.opt:3584
#, gcc-internal-format
msgid "unrecognized zero init padding bits kind %qs"
msgstr ""
-#: params.opt:909
+#: params.opt:936
#, gcc-internal-format
msgid "unknown ranger debug mode %qs"
msgstr ""
-#: params.opt:1100
+#: params.opt:1127
#, gcc-internal-format
msgid "unknown threader debug mode %qs"
msgstr ""
@@ -25376,7 +25324,7 @@ msgstr ""
#: attribs.cc:538 c-family/c-attribs.cc:1053 c-family/c-attribs.cc:2762
#: c-family/c-attribs.cc:3318 c-family/c-attribs.cc:5282
-#: c-family/c-attribs.cc:5375 cp/decl.cc:17061 cp/decl.cc:17112
+#: c-family/c-attribs.cc:5375 cp/decl.cc:17063 cp/decl.cc:17114
#: cp/friend.cc:319 cp/tree.cc:5394
#, gcc-internal-format
msgid "previous declaration here"
@@ -25394,7 +25342,7 @@ msgstr ""
msgid "%<%E::%E%> scoped attribute directive ignored"
msgstr ""
-#: attribs.cc:761 c/c-parser.cc:2144 cp/cp-gimplify.cc:3699
+#: attribs.cc:761 c/c-parser.cc:2144 cp/cp-gimplify.cc:3704
#, gcc-internal-format
msgid "wrong number of arguments specified for %qE attribute"
msgstr ""
@@ -25404,7 +25352,7 @@ msgstr ""
msgid "expected %i or more, found %i"
msgstr ""
-#: attribs.cc:767 c/c-parser.cc:2147 cp/cp-gimplify.cc:3701
+#: attribs.cc:767 c/c-parser.cc:2147 cp/cp-gimplify.cc:3706
#, gcc-internal-format, gfc-internal-format
msgid "expected %i, found %i"
msgstr ""
@@ -25478,15 +25426,15 @@ msgstr ""
#: config/i386/i386-options.cc:3774 config/i386/i386-options.cc:3932
#: config/i386/i386-options.cc:4164 config/i386/i386-options.cc:4194
#: config/ia64/ia64.cc:799 config/loongarch/loongarch.cc:8197
-#: config/rs6000/rs6000.cc:20745 ada/gcc-interface/utils.cc:6885
-#: ada/gcc-interface/utils.cc:6901 ada/gcc-interface/utils.cc:6998
-#: ada/gcc-interface/utils.cc:7015 ada/gcc-interface/utils.cc:7032
-#: ada/gcc-interface/utils.cc:7047 ada/gcc-interface/utils.cc:7063
-#: ada/gcc-interface/utils.cc:7089 ada/gcc-interface/utils.cc:7158
-#: ada/gcc-interface/utils.cc:7185 ada/gcc-interface/utils.cc:7230
-#: ada/gcc-interface/utils.cc:7251 ada/gcc-interface/utils.cc:7299
-#: ada/gcc-interface/utils.cc:7315 ada/gcc-interface/utils.cc:7349
-#: c/c-decl.cc:4951 c/c-decl.cc:4954 c/c-decl.cc:4981 c/c-parser.cc:6097
+#: config/rs6000/rs6000.cc:20745 ada/gcc-interface/utils.cc:6900
+#: ada/gcc-interface/utils.cc:6916 ada/gcc-interface/utils.cc:7013
+#: ada/gcc-interface/utils.cc:7030 ada/gcc-interface/utils.cc:7047
+#: ada/gcc-interface/utils.cc:7062 ada/gcc-interface/utils.cc:7078
+#: ada/gcc-interface/utils.cc:7104 ada/gcc-interface/utils.cc:7173
+#: ada/gcc-interface/utils.cc:7200 ada/gcc-interface/utils.cc:7245
+#: ada/gcc-interface/utils.cc:7266 ada/gcc-interface/utils.cc:7314
+#: ada/gcc-interface/utils.cc:7330 ada/gcc-interface/utils.cc:7364
+#: c/c-decl.cc:4952 c/c-decl.cc:4955 c/c-decl.cc:4982 c/c-parser.cc:6097
#: cp/tree.cc:5062 cp/tree.cc:5561 d/d-attribs.cc:483 d/d-attribs.cc:702
#: d/d-attribs.cc:723 d/d-attribs.cc:739 d/d-attribs.cc:756 d/d-attribs.cc:788
#: d/d-attribs.cc:917 d/d-attribs.cc:976 d/d-attribs.cc:992 d/d-attribs.cc:1008
@@ -25622,7 +25570,7 @@ msgstr ""
msgid "offset %qwi outside bounds of constant string"
msgstr ""
-#: builtins.cc:707 cp/name-lookup.cc:6936
+#: builtins.cc:707 cp/name-lookup.cc:6939
#, gcc-internal-format
msgid "%qE declared here"
msgstr ""
@@ -25647,13 +25595,13 @@ msgstr ""
msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
msgstr ""
-#: builtins.cc:4081 gimple-fold.cc:2678 gimple-ssa-warn-access.cc:2587
+#: builtins.cc:4081 gimple-fold.cc:2712 gimple-ssa-warn-access.cc:2587
#: tree-ssa-strlen.cc:3177
#, gcc-internal-format
msgid "%qD specified bound %E equals destination size"
msgstr ""
-#: builtins.cc:5330 gimplify.cc:4664
+#: builtins.cc:5330 gimplify.cc:4668
#, gcc-internal-format
msgid "too few arguments to function %<va_start%>"
msgstr ""
@@ -25791,17 +25739,17 @@ msgstr ""
msgid "last argument of %qD is not integer constant between 0 and 3"
msgstr ""
-#: calls.cc:1279 tree-tailcall.cc:487
+#: calls.cc:1286 tree-tailcall.cc:492
#, gcc-internal-format, gfc-internal-format
msgid "cannot tail-call: %s"
msgstr ""
-#: calls.cc:2814
+#: calls.cc:2818
#, gcc-internal-format
msgid "function call has aggregate value"
msgstr ""
-#: calls.cc:3557
+#: calls.cc:3561
#, gcc-internal-format
msgid "passing too large argument on stack"
msgstr ""
@@ -26855,12 +26803,12 @@ msgstr ""
#. include_self=
#. TODO: Add OPT_Wundefined-inline.
-#: cgraphunit.cc:1112 c/c-decl.cc:13592
+#: cgraphunit.cc:1112 c/c-decl.cc:13593
#, gcc-internal-format
msgid "%q+F used but never defined"
msgstr ""
-#: cgraphunit.cc:1114 c/c-decl.cc:13602
+#: cgraphunit.cc:1114 c/c-decl.cc:13603
#, gcc-internal-format
msgid "%q+F declared %<static%> but never defined"
msgstr ""
@@ -26970,13 +26918,13 @@ msgstr ""
msgid "cannot find %qs"
msgstr ""
-#: collect-utils.cc:225 collect2.cc:2391 collect2.cc:2561 gcc.cc:3427
-#: gcc.cc:7860
+#: collect-utils.cc:225 collect2.cc:2391 collect2.cc:2561 gcc.cc:3430
+#: gcc.cc:7866
#, gcc-internal-format
msgid "%<pex_init%> failed: %m"
msgstr ""
-#: collect-utils.cc:234 collect2.cc:2400 collect2.cc:2569 gcc.cc:2711
+#: collect-utils.cc:234 collect2.cc:2400 collect2.cc:2569 gcc.cc:2714
#, gcc-internal-format
msgid "%s: %m"
msgstr ""
@@ -26991,7 +26939,7 @@ msgstr ""
msgid "ld returned %d exit status"
msgstr ""
-#: collect2.cc:916 gcc.cc:8368 config/nvptx/mkoffload.cc:640
+#: collect2.cc:916 gcc.cc:8378 config/nvptx/mkoffload.cc:640
#, gcc-internal-format
msgid "atexit failed"
msgstr ""
@@ -27001,7 +26949,7 @@ msgstr ""
msgid "no arguments"
msgstr ""
-#: collect2.cc:1289 opts.cc:1204
+#: collect2.cc:1289 opts.cc:1223
#, gcc-internal-format
msgid "LTO support has not been enabled in this configuration"
msgstr ""
@@ -27418,57 +27366,57 @@ msgstr ""
msgid "abort in %s, at %s:%d"
msgstr ""
-#: except.cc:2172
+#: except.cc:2186
#, gcc-internal-format
msgid "argument of %<__builtin_eh_return_regno%> must be constant"
msgstr ""
-#: except.cc:2318
+#: except.cc:2332
#, gcc-internal-format
msgid "%<__builtin_eh_return%> not supported on this target"
msgstr ""
-#: except.cc:3454 except.cc:3479
+#: except.cc:3475 except.cc:3500
#, gcc-internal-format
msgid "%<region_array%> is corrupted for region %i"
msgstr ""
-#: except.cc:3467 except.cc:3498
+#: except.cc:3488 except.cc:3519
#, gcc-internal-format
msgid "%<lp_array%> is corrupted for lp %i"
msgstr ""
-#: except.cc:3484
+#: except.cc:3505
#, gcc-internal-format, gfc-internal-format
msgid "outer block of region %i is wrong"
msgstr ""
-#: except.cc:3489
+#: except.cc:3510
#, gcc-internal-format, gfc-internal-format
msgid "negative nesting depth of region %i"
msgstr ""
-#: except.cc:3503
+#: except.cc:3524
#, gcc-internal-format, gfc-internal-format
msgid "region of lp %i is wrong"
msgstr ""
-#: except.cc:3530
+#: except.cc:3551
#, gcc-internal-format, gfc-internal-format
msgid "tree list ends on depth %i"
msgstr ""
-#: except.cc:3535
+#: except.cc:3556
#, gcc-internal-format
msgid "%<region_array%> does not match %<region_tree%>"
msgstr ""
-#: except.cc:3540
+#: except.cc:3561
#, gcc-internal-format
msgid "%<lp_array%> does not match %<region_tree%>"
msgstr ""
-#: except.cc:3547 tree.cc:14621 value-prof.cc:529
+#: except.cc:3568 tree.cc:14621 value-prof.cc:529
#, gcc-internal-format
msgid "%qs failed"
msgstr ""
@@ -27549,30 +27497,30 @@ msgstr ""
msgid "large fixed-point constant implicitly truncated to fixed-point type"
msgstr ""
-#: fold-const.cc:4984 fold-const.cc:4994
+#: fold-const.cc:4991 fold-const.cc:5001
#, gcc-internal-format, gfc-internal-format
msgid "comparison is always %d due to width of bit-field"
msgstr ""
-#: fold-const.cc:6252 tree-ssa-reassoc.cc:2886 tree-ssa-reassoc.cc:3971
+#: fold-const.cc:6259 tree-ssa-reassoc.cc:2886 tree-ssa-reassoc.cc:3971
#, gcc-internal-format
msgid "assuming signed overflow does not occur when simplifying range test"
msgstr ""
-#: fold-const.cc:9823
+#: fold-const.cc:9836
#, gcc-internal-format
msgid ""
"assuming signed overflow does not occur when reducing constant in comparison"
msgstr ""
-#: fold-const.cc:10230
+#: fold-const.cc:10243
#, gcc-internal-format
msgid ""
"assuming signed overflow does not occur when combining constants around a "
"comparison"
msgstr ""
-#: fold-const.cc:13664
+#: fold-const.cc:13677
#, gcc-internal-format
msgid "fold check: original tree changed by fold"
msgstr ""
@@ -27592,7 +27540,7 @@ msgstr ""
msgid "total size of local objects exceeds maximum %wu"
msgstr ""
-#: function.cc:1789 gimplify.cc:7884 gimplify.cc:8055 varasm.cc:1833
+#: function.cc:1789 gimplify.cc:7888 gimplify.cc:8059 varasm.cc:1833
#, gcc-internal-format
msgid "impossible constraint in %<asm%>"
msgstr ""
@@ -27612,197 +27560,197 @@ msgstr ""
msgid "function returns an aggregate"
msgstr ""
-#: gcc.cc:2221
+#: gcc.cc:2224
#, gcc-internal-format
msgid "cannot open nested response file"
msgstr ""
-#: gcc.cc:2258
+#: gcc.cc:2261
#, gcc-internal-format
msgid "cannot close nonexistent response file"
msgstr ""
-#: gcc.cc:2281
+#: gcc.cc:2284
#, gcc-internal-format, gfc-internal-format
msgid "could not open temporary response file %s"
msgstr ""
-#: gcc.cc:2288
+#: gcc.cc:2291
#, gcc-internal-format, gfc-internal-format
msgid "could not write to temporary response file %s"
msgstr ""
-#: gcc.cc:2294
+#: gcc.cc:2297
#, gcc-internal-format, gfc-internal-format
msgid "could not close temporary response file %s"
msgstr ""
#. This leaves DESC open, but the OS will save us.
-#: gcc.cc:2326
+#: gcc.cc:2329
#, gcc-internal-format
msgid "cannot read spec file %qs: %m"
msgstr ""
-#: gcc.cc:2420 gcc.cc:2440
+#: gcc.cc:2423 gcc.cc:2443
msgid "specs %%include syntax malformed after %td characters"
msgstr ""
-#: gcc.cc:2466 gcc.cc:2475 gcc.cc:2485 gcc.cc:2495
+#: gcc.cc:2469 gcc.cc:2478 gcc.cc:2488 gcc.cc:2498
msgid "specs %%rename syntax malformed after %td characters"
msgstr ""
-#: gcc.cc:2505
+#: gcc.cc:2508
#, gcc-internal-format, gfc-internal-format
msgid "specs %s spec was not found to be renamed"
msgstr ""
-#: gcc.cc:2513
+#: gcc.cc:2516
#, gcc-internal-format
msgid "%s: attempt to rename spec %qs to already defined spec %qs"
msgstr ""
-#: gcc.cc:2535
+#: gcc.cc:2538
msgid "specs unknown %% command after %td characters"
msgstr ""
-#: gcc.cc:2547 gcc.cc:2561
+#: gcc.cc:2550 gcc.cc:2564
msgid "specs file malformed after %td characters"
msgstr ""
-#: gcc.cc:2616
+#: gcc.cc:2619
#, gcc-internal-format
msgid "spec file has no spec for linking"
msgstr ""
-#: gcc.cc:3180 gcc.cc:3217
+#: gcc.cc:3183 gcc.cc:3220
#, gcc-internal-format
msgid "system path %qs is not absolute"
msgstr ""
-#: gcc.cc:3306
+#: gcc.cc:3309
#, gcc-internal-format
msgid "%<-pipe%> not supported"
msgstr ""
-#: gcc.cc:3444 gcc.cc:7869
+#: gcc.cc:3447 gcc.cc:7875
#, gcc-internal-format
msgid "cannot execute %qs: %s: %m"
msgstr ""
-#: gcc.cc:3445 gcc.cc:7870
+#: gcc.cc:3448 gcc.cc:7876
#, gcc-internal-format
msgid "cannot execute %qs: %s"
msgstr ""
-#: gcc.cc:3464
+#: gcc.cc:3467
#, gcc-internal-format
msgid "failed to get exit status: %m"
msgstr ""
-#: gcc.cc:3470
+#: gcc.cc:3473
#, gcc-internal-format
msgid "failed to get process times: %m"
msgstr ""
#. The inferior failed to catch the signal.
-#: gcc.cc:3496 gcc.cc:3520
+#: gcc.cc:3499 gcc.cc:3523
#, gcc-internal-format, gfc-internal-format
msgid "%s signal terminated program %s"
msgstr ""
-#: gcc.cc:3964 opts-common.cc:1618 opts-common.cc:1650
+#: gcc.cc:3967 opts-common.cc:1618 opts-common.cc:1650
#, gcc-internal-format
msgid "unrecognized command-line option %qs"
msgstr ""
-#: gcc.cc:4006
+#: gcc.cc:4009
#, gcc-internal-format
msgid "GCC is not configured to support %qs as %<-foffload=%> argument"
msgstr ""
-#: gcc.cc:4013
+#: gcc.cc:4016
#, gcc-internal-format
msgid "valid %<-foffload=%> arguments are: %s; did you mean %qs?"
msgstr ""
-#: gcc.cc:4016
+#: gcc.cc:4019
#, gcc-internal-format
msgid "valid %<-foffload=%> arguments are: %s"
msgstr ""
-#: gcc.cc:4036
+#: gcc.cc:4039
#, gcc-internal-format
msgid "%<=%>options missing after %<-foffload-options=%>target"
msgstr ""
-#: gcc.cc:4507
+#: gcc.cc:4510
#, gcc-internal-format
msgid "%qs is an unknown %<-save-temps%> option"
msgstr ""
-#: gcc.cc:5059
+#: gcc.cc:5062
#, gcc-internal-format
msgid ""
"linker hardening options not enabled by %<-fhardened%> because other link "
"options were specified on the command line"
msgstr ""
-#: gcc.cc:5083 toplev.cc:717
+#: gcc.cc:5086 toplev.cc:717
#, gcc-internal-format
msgid "input file %qs is the same as output file"
msgstr ""
-#: gcc.cc:5088
+#: gcc.cc:5091
#, gcc-internal-format
msgid "output filename may not be empty"
msgstr ""
-#: gcc.cc:5473
+#: gcc.cc:5476
#, gcc-internal-format
msgid "%<-pipe%> ignored because %<-save-temps%> specified"
msgstr ""
-#: gcc.cc:5561
+#: gcc.cc:5564
#, gcc-internal-format
msgid "%<-x %s%> after last input file has no effect"
msgstr ""
-#: gcc.cc:5764
+#: gcc.cc:5767
#, gcc-internal-format
msgid "unable to locate default linker script %qs in the library search paths"
msgstr ""
-#: gcc.cc:5971
+#: gcc.cc:5974
#, gcc-internal-format
msgid "switch %qs does not start with %<-%>"
msgstr ""
-#: gcc.cc:5975
+#: gcc.cc:5978
#, gcc-internal-format
msgid "spec-generated switch is just %<-%>"
msgstr ""
-#: gcc.cc:6207
+#: gcc.cc:6210
#, gcc-internal-format
msgid "spec %qs invalid"
msgstr ""
-#: gcc.cc:6384
+#: gcc.cc:6387
#, gcc-internal-format
msgid "spec %qs has invalid %<%%0%c%>"
msgstr ""
-#: gcc.cc:6676
+#: gcc.cc:6679
#, gcc-internal-format
msgid "spec %qs has invalid %<%%W%c%>"
msgstr ""
-#: gcc.cc:6692
+#: gcc.cc:6695
#, gcc-internal-format
msgid "spec %qs has invalid %<%%@%c%>"
msgstr ""
-#: gcc.cc:6711
+#: gcc.cc:6714
#, gcc-internal-format
msgid "spec %qs has invalid %<%%x%c%>"
msgstr ""
@@ -27810,138 +27758,138 @@ msgstr ""
#. Catch the case where a spec string contains something like
#. '%{foo:%*}'. i.e. there is no * in the pattern on the left
#. hand side of the :.
-#: gcc.cc:6922
+#: gcc.cc:6925
#, gcc-internal-format
msgid "spec failure: %<%%*%> has not been initialized by pattern match"
msgstr ""
-#: gcc.cc:6973
+#: gcc.cc:6976
#, gcc-internal-format
msgid "spec failure: unrecognized spec option %qc"
msgstr ""
-#: gcc.cc:7039
+#: gcc.cc:7042
#, gcc-internal-format
msgid "unknown spec function %qs"
msgstr ""
-#: gcc.cc:7069
+#: gcc.cc:7072
#, gcc-internal-format
msgid "error in arguments to spec function %qs"
msgstr ""
-#: gcc.cc:7128
+#: gcc.cc:7131
#, gcc-internal-format
msgid "malformed spec function name"
msgstr ""
#. )
-#: gcc.cc:7131
+#: gcc.cc:7134
#, gcc-internal-format
msgid "no arguments for spec function"
msgstr ""
-#: gcc.cc:7150
+#: gcc.cc:7153
#, gcc-internal-format
msgid "malformed spec function arguments"
msgstr ""
-#: gcc.cc:7329
+#: gcc.cc:7332
#, gcc-internal-format
msgid "braced spec %qs ends in escape"
msgstr ""
-#: gcc.cc:7464
+#: gcc.cc:7467
#, gcc-internal-format
msgid "braced spec %qs is invalid at %qc"
msgstr ""
-#: gcc.cc:7559
+#: gcc.cc:7562
#, gcc-internal-format
msgid "braced spec body %qs is invalid"
msgstr ""
-#: gcc.cc:8156
+#: gcc.cc:8166
#, gcc-internal-format, gfc-internal-format
msgid "%s: could not determine length of compare-debug file %s"
msgstr ""
-#: gcc.cc:8167
+#: gcc.cc:8177
#, gcc-internal-format
msgid "%s: %<-fcompare-debug%> failure (length)"
msgstr ""
-#: gcc.cc:8177 gcc.cc:8218
+#: gcc.cc:8187 gcc.cc:8228
#, gcc-internal-format, gfc-internal-format
msgid "%s: could not open compare-debug file %s"
msgstr ""
-#: gcc.cc:8197 gcc.cc:8234
+#: gcc.cc:8207 gcc.cc:8244
#, gcc-internal-format
msgid "%s: %<-fcompare-debug%> failure"
msgstr ""
-#: gcc.cc:8538
+#: gcc.cc:8548
#, gcc-internal-format
msgid "spec failure: more than one argument to %<SYSROOT_SUFFIX_SPEC%>"
msgstr ""
-#: gcc.cc:8563
+#: gcc.cc:8573
#, gcc-internal-format
msgid "spec failure: more than one argument to %<SYSROOT_HEADERS_SUFFIX_SPEC%>"
msgstr ""
-#: gcc.cc:8770
+#: gcc.cc:8780
#, gcc-internal-format
msgid "unrecognized command-line option %<-%s%>; did you mean %<-%s%>?"
msgstr ""
-#: gcc.cc:8774
+#: gcc.cc:8784
#, gcc-internal-format
msgid "unrecognized command-line option %<-%s%>"
msgstr ""
-#: gcc.cc:8900
+#: gcc.cc:8910
#, gcc-internal-format
msgid "not configured with sysroot headers suffix"
msgstr ""
-#: gcc.cc:8961 cobol/gcobolspec.cc:451
+#: gcc.cc:8971 cobol/gcobolspec.cc:375
#, gcc-internal-format
msgid "no input files"
msgstr ""
-#: gcc.cc:9012
+#: gcc.cc:9022
#, gcc-internal-format
msgid "cannot specify %<-o%> with %<-c%>, %<-S%> or %<-E%> with multiple files"
msgstr ""
-#: gcc.cc:9054
+#: gcc.cc:9064
#, gcc-internal-format, gfc-internal-format
msgid "%s: %s compiler not installed on this system"
msgstr ""
-#: gcc.cc:9079
+#: gcc.cc:9089
#, gcc-internal-format
msgid "recompiling with %<-fcompare-debug%>"
msgstr ""
-#: gcc.cc:9095
+#: gcc.cc:9105
#, gcc-internal-format
msgid "during %<-fcompare-debug%> recompilation"
msgstr ""
-#: gcc.cc:9104
+#: gcc.cc:9114
#, gcc-internal-format
msgid "comparing final insns dumps"
msgstr ""
-#: gcc.cc:9257
+#: gcc.cc:9267
#, gcc-internal-format
msgid "%<-fuse-linker-plugin%>, but %s not found"
msgstr ""
-#: gcc.cc:9291
+#: gcc.cc:9301
#, gcc-internal-format, gfc-internal-format
msgid "%s: linker input file unused because linking not done"
msgstr ""
@@ -27949,92 +27897,92 @@ msgstr ""
#. This is can be an indication the user specifed an errorneous
#. separated option value, (or used the wrong prefix for an
#. option).
-#: gcc.cc:9297
+#: gcc.cc:9307
#, gcc-internal-format
msgid "%s: linker input file not found: %m"
msgstr ""
-#: gcc.cc:9369 c-family/c-opts.cc:852
+#: gcc.cc:9379 c-family/c-opts.cc:852
#, gcc-internal-format
msgid "cannot use %<-%> as input filename for a precompiled header"
msgstr ""
-#: gcc.cc:9375
+#: gcc.cc:9385
#, gcc-internal-format, gfc-internal-format
msgid "language %s not recognized"
msgstr ""
-#: gcc.cc:9618
+#: gcc.cc:9628
#, gcc-internal-format
msgid "multilib spec %qs is invalid"
msgstr ""
-#: gcc.cc:9820
+#: gcc.cc:9830
#, gcc-internal-format
msgid "multilib exclusions %qs is invalid"
msgstr ""
-#: gcc.cc:9884 common/config/riscv/riscv-common.cc:2366
+#: gcc.cc:9894 common/config/riscv/riscv-common.cc:2366
#, gcc-internal-format
msgid "multilib select %qs %qs is invalid"
msgstr ""
-#: gcc.cc:10058
+#: gcc.cc:10068
#, gcc-internal-format
msgid "multilib select %qs is invalid"
msgstr ""
-#: gcc.cc:10098
+#: gcc.cc:10108
#, gcc-internal-format
msgid "multilib exclusion %qs is invalid"
msgstr ""
-#: gcc.cc:10349
+#: gcc.cc:10359
#, gcc-internal-format
msgid "environment variable %qs not defined"
msgstr ""
-#: gcc.cc:10517 gcc.cc:10522
+#: gcc.cc:10527 gcc.cc:10532
#, gcc-internal-format
msgid "invalid version number %qs"
msgstr ""
-#: gcc.cc:10565
+#: gcc.cc:10575
#, gcc-internal-format, gfc-internal-format
msgid "too few arguments to %%:version-compare"
msgstr ""
-#: gcc.cc:10571
+#: gcc.cc:10581
#, gcc-internal-format, gfc-internal-format
msgid "too many arguments to %%:version-compare"
msgstr ""
-#: gcc.cc:10613
+#: gcc.cc:10623
#, gcc-internal-format
msgid "unknown operator %qs in %%:version-compare"
msgstr ""
-#: gcc.cc:10737
+#: gcc.cc:10747
#, gcc-internal-format, gfc-internal-format
msgid "too many arguments to %%:compare-debug-dump-opt"
msgstr ""
-#: gcc.cc:10805
+#: gcc.cc:10815
#, gcc-internal-format, gfc-internal-format
msgid "too many arguments to %%:compare-debug-self-opt"
msgstr ""
-#: gcc.cc:10892
+#: gcc.cc:10902
#, gcc-internal-format, gfc-internal-format
msgid "too many arguments for %%:dumps"
msgstr ""
-#: gcc.cc:10996
+#: gcc.cc:11006
#, gcc-internal-format, gfc-internal-format
msgid "wrong number of arguments to %%:debug-level-gt"
msgstr ""
-#: gcc.cc:11017
+#: gcc.cc:11027
#, gcc-internal-format, gfc-internal-format
msgid "wrong number of arguments to %%:dwarf-version-gt"
msgstr ""
@@ -28253,54 +28201,54 @@ msgstr ""
msgid "array subscript %wu is above array bounds of %qT"
msgstr ""
-#: gimple-fold.cc:2226 gimple-fold.cc:3285 gimple-ssa-warn-restrict.cc:2080
+#: gimple-fold.cc:2260 gimple-fold.cc:3319 gimple-ssa-warn-restrict.cc:2080
#, gcc-internal-format
msgid "%qD source argument is the same as destination"
msgstr ""
-#: gimple-fold.cc:2292
+#: gimple-fold.cc:2326
#, gcc-internal-format
msgid ""
"%qD destination unchanged after copying no bytes from a string of length %E"
msgstr ""
-#: gimple-fold.cc:2297
+#: gimple-fold.cc:2331
#, gcc-internal-format
msgid "%qD destination unchanged after copying no bytes"
msgstr ""
-#: gimple-fold.cc:2680 gimple-ssa-warn-access.cc:866
+#: gimple-fold.cc:2714 gimple-ssa-warn-access.cc:866
#, gcc-internal-format
msgid "%qD specified bound %E exceeds destination size %E"
msgstr ""
-#: gimple-fold.cc:2699
+#: gimple-fold.cc:2733
#, gcc-internal-format
msgid "%qD specified bound %E equals source length"
msgstr ""
-#: gimple-fold.cc:4734 gimple-fold.cc:5021
+#: gimple-fold.cc:4768 gimple-fold.cc:5055
#, gcc-internal-format
msgid ""
"flexible array member %qD does not have well defined padding bits for %qs"
msgstr ""
-#: gimple-fold.cc:4970 cp/constexpr.cc:5081
+#: gimple-fold.cc:5004 cp/constexpr.cc:5109
#, gcc-internal-format
msgid "PDP11 bit-field handling unsupported in %qs"
msgstr ""
-#: gimple-fold.cc:5252
+#: gimple-fold.cc:5286
#, gcc-internal-format, gfc-internal-format
msgid "%s not supported for variable length aggregates"
msgstr ""
-#: gimple-fold.cc:5258
+#: gimple-fold.cc:5292
#, gcc-internal-format, gfc-internal-format
msgid "%s not supported on this target"
msgstr ""
-#: gimple-fold.cc:8578 gimple-fold.cc:8607
+#: gimple-fold.cc:8612 gimple-fold.cc:8641
#, gcc-internal-format, gfc-internal-format
msgid "comparison is always %d"
msgstr ""
@@ -28333,7 +28281,7 @@ msgid ""
"from outside of the attribute"
msgstr ""
-#: gimple-low.cc:112 cp/name-lookup.cc:9306
+#: gimple-low.cc:112 cp/name-lookup.cc:9309
#, gcc-internal-format
msgid "%qD defined here"
msgstr ""
@@ -28353,22 +28301,22 @@ msgstr ""
msgid "function may return address of local variable"
msgstr ""
-#: gimple-ssa-isolate-paths.cc:422 c/c-typeck.cc:12865
+#: gimple-ssa-isolate-paths.cc:422 c/c-typeck.cc:12879
#, gcc-internal-format
msgid "function returns address of local variable"
msgstr ""
#: gimple-ssa-isolate-paths.cc:425 gimple-ssa-warn-access.cc:2075
#: gimple-ssa-warn-access.cc:3729 tree.cc:12615 tree.cc:12652 tree.cc:12693
-#: tree.cc:12726 c/c-decl.cc:10780 c/c-parser.cc:22345 c/c-parser.cc:22486
-#: c/c-typeck.cc:3659 c/c-typeck.cc:3755 c/c-typeck.cc:3767 c/c-typeck.cc:6498
-#: c/c-typeck.cc:12766 c/c-typeck.cc:12783 c/gimple-parser.cc:2660
+#: tree.cc:12726 c/c-decl.cc:10781 c/c-parser.cc:22345 c/c-parser.cc:22486
+#: c/c-typeck.cc:3673 c/c-typeck.cc:3769 c/c-typeck.cc:3781 c/c-typeck.cc:6512
+#: c/c-typeck.cc:12780 c/c-typeck.cc:12797 c/gimple-parser.cc:2660
#: c/gimple-parser.cc:2668 cp/call.cc:8391 cp/call.cc:8474 cp/call.cc:8493
-#: cp/call.cc:10729 cp/class.cc:9468 cp/constexpr.cc:889 cp/constexpr.cc:1340
-#: cp/constexpr.cc:4489 cp/constexpr.cc:6183 cp/constexpr.cc:6562
-#: cp/cvt.cc:1110 cp/cvt.cc:1150 cp/decl.cc:9605 cp/decl2.cc:6351
+#: cp/call.cc:10729 cp/class.cc:9468 cp/constexpr.cc:896 cp/constexpr.cc:1355
+#: cp/constexpr.cc:4517 cp/constexpr.cc:6211 cp/constexpr.cc:6590
+#: cp/cvt.cc:1110 cp/cvt.cc:1150 cp/decl.cc:9607 cp/decl2.cc:6351
#: cp/decl2.cc:6400 cp/lambda.cc:639 cp/method.cc:1240 cp/parser.cc:23073
-#: cp/pt.cc:9266 cp/pt.cc:9936 cp/semantics.cc:2753 cp/semantics.cc:5290
+#: cp/pt.cc:9266 cp/pt.cc:9936 cp/semantics.cc:2756 cp/semantics.cc:5304
#: cp/typeck.cc:2164 cp/typeck.cc:2385 cp/typeck.cc:4570 cp/typeck.cc:10793
#: rust/backend/rust-constexpr.cc:4407 rust/backend/rust-tree.cc:621
#: rust/backend/rust-tree.cc:3800
@@ -29576,11 +29524,11 @@ msgstr ""
#: gimple-ssa-warn-access.cc:3981 gimple-ssa-warn-access.cc:4629
#: gimple-ssa-warn-access.cc:4632 gimple-ssa-warn-restrict.cc:1830
-#: tree-ssa-uninit.cc:924 tree-ssa-uninit.cc:1123 c/c-decl.cc:4100
-#: c/c-decl.cc:4390 c/c-typeck.cc:10363 c/c-typeck.cc:13583 cp/call.cc:8808
-#: cp/call.cc:8819 cp/class.cc:1722 cp/class.cc:3543 cp/constexpr.cc:1065
-#: cp/decl.cc:4687 cp/decl.cc:13468 cp/decl.cc:14071 cp/decl.cc:14081
-#: cp/decl.cc:15081 cp/friend.cc:407 cp/friend.cc:417 cp/init.cc:2948
+#: tree-ssa-uninit.cc:924 tree-ssa-uninit.cc:1123 c/c-decl.cc:4101
+#: c/c-decl.cc:4391 c/c-typeck.cc:10377 c/c-typeck.cc:13597 cp/call.cc:8808
+#: cp/call.cc:8819 cp/class.cc:1722 cp/class.cc:3543 cp/constexpr.cc:1078
+#: cp/decl.cc:4687 cp/decl.cc:13470 cp/decl.cc:14073 cp/decl.cc:14083
+#: cp/decl.cc:15083 cp/friend.cc:407 cp/friend.cc:417 cp/init.cc:2948
#: cp/parser.cc:3860 cp/parser.cc:4006 cp/parser.cc:4058 cp/parser.cc:7428
#: cp/parser.cc:25737 cp/typeck.cc:5069
#, gcc-internal-format
@@ -29993,457 +29941,457 @@ msgstr ""
msgid "attribute %<fallthrough%> not preceding a case label or default label"
msgstr ""
-#: gimplify.cc:3943
+#: gimplify.cc:3944
#, gcc-internal-format
msgid ""
"the %<device%> clause must be present if the %<interop%> clause has more "
"than one list item"
msgstr ""
-#: gimplify.cc:3949
+#: gimplify.cc:3950
#, gcc-internal-format
msgid ""
"number of list items in %<interop%> clause (%d) exceeds the number of "
"%<append_args%> items (%d) for %<declare variant%> candidate %qD"
msgstr ""
-#: gimplify.cc:3955
+#: gimplify.cc:3956
#, gcc-internal-format
msgid "%<declare variant%> candidate %qD declared here"
msgstr ""
-#: gimplify.cc:4223
+#: gimplify.cc:4227
#, gcc-internal-format
msgid ""
"%<is_device_ptr%> for %qD does not imply %<has_device_addr%> required for "
"%<need_device_addr%>"
msgstr ""
-#: gimplify.cc:4235
+#: gimplify.cc:4239
#, gcc-internal-format
msgid ""
"%<has_device_addr%> for %qD does not imply %<is_device_ptr%> required for "
"%<need_device_ptr%>"
msgstr ""
-#: gimplify.cc:4852
+#: gimplify.cc:4856
#, gcc-internal-format
msgid "using result of function returning %<void%>"
msgstr ""
-#: gimplify.cc:7885
+#: gimplify.cc:7889
#, gcc-internal-format, gfc-internal-format
msgid "non-memory output %d must stay in memory"
msgstr ""
-#: gimplify.cc:7900
+#: gimplify.cc:7904
#, gcc-internal-format
msgid "invalid lvalue in %<asm%> output %d"
msgstr ""
-#: gimplify.cc:8056
+#: gimplify.cc:8060
#, gcc-internal-format, gfc-internal-format
msgid "non-memory input %d must stay in memory"
msgstr ""
-#: gimplify.cc:8097 gimplify.cc:8107
+#: gimplify.cc:8101 gimplify.cc:8111
#, gcc-internal-format, gfc-internal-format
msgid "memory input %d is not directly addressable"
msgstr ""
-#: gimplify.cc:8730
+#: gimplify.cc:8734
#, gcc-internal-format
msgid ""
"threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
msgstr ""
-#: gimplify.cc:8732
+#: gimplify.cc:8736
#, gcc-internal-format
msgid "enclosing region"
msgstr ""
-#: gimplify.cc:8736
+#: gimplify.cc:8740
#, gcc-internal-format
msgid "threadprivate variable %qE used in target region"
msgstr ""
-#: gimplify.cc:8738
+#: gimplify.cc:8742
#, gcc-internal-format
msgid "enclosing target region"
msgstr ""
-#: gimplify.cc:8751
+#: gimplify.cc:8755
#, gcc-internal-format
msgid "threadprivate variable %qE used in untied task"
msgstr ""
-#: gimplify.cc:8753
+#: gimplify.cc:8757
#, gcc-internal-format
msgid "enclosing task"
msgstr ""
-#: gimplify.cc:8850
+#: gimplify.cc:8854
#, gcc-internal-format
msgid "%qE not specified in enclosing %qs"
msgstr ""
-#: gimplify.cc:8852
+#: gimplify.cc:8856
#, gcc-internal-format
msgid "enclosing %qs"
msgstr ""
-#: gimplify.cc:9026
+#: gimplify.cc:9030
#, gcc-internal-format
msgid "%qE not specified in enclosing OpenACC %qs construct"
msgstr ""
-#: gimplify.cc:9030
+#: gimplify.cc:9034
#, gcc-internal-format
msgid "enclosing OpenACC %qs construct and"
msgstr ""
-#: gimplify.cc:9033
+#: gimplify.cc:9037
#, gcc-internal-format
msgid "enclosing OpenACC %qs construct with %qs clause"
msgstr ""
-#: gimplify.cc:9103
+#: gimplify.cc:9107
#, gcc-internal-format
msgid "%qE with %<link%> clause used in %<routine%> function"
msgstr ""
-#: gimplify.cc:9111
+#: gimplify.cc:9115
#, gcc-internal-format
msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
msgstr ""
-#: gimplify.cc:9173
+#: gimplify.cc:9177
#, gcc-internal-format
msgid "%qE not specified in enclosing %<target%>"
msgstr ""
-#: gimplify.cc:9175
+#: gimplify.cc:9179
#, gcc-internal-format
msgid "enclosing %<target%>"
msgstr ""
-#: gimplify.cc:9210 gimplify.cc:13304
+#: gimplify.cc:9214 gimplify.cc:13346
#, gcc-internal-format
msgid "variable %qE declared in enclosing %<host_data%> region"
msgstr ""
-#: gimplify.cc:9231
+#: gimplify.cc:9242
#, gcc-internal-format
msgid "%qD referenced in target region does not have a mappable type"
msgstr ""
-#: gimplify.cc:9375
+#: gimplify.cc:9385
#, gcc-internal-format
msgid "iteration variable %qE is predetermined linear"
msgstr ""
-#: gimplify.cc:9378
+#: gimplify.cc:9388
#, gcc-internal-format
msgid "iteration variable %qE should be private"
msgstr ""
-#: gimplify.cc:9392
+#: gimplify.cc:9402
#, gcc-internal-format
msgid "iteration variable %qE should not be firstprivate"
msgstr ""
-#: gimplify.cc:9395
+#: gimplify.cc:9405
#, gcc-internal-format
msgid "iteration variable %qE should not be reduction"
msgstr ""
-#: gimplify.cc:9398
+#: gimplify.cc:9408
#, gcc-internal-format
msgid "iteration variable %qE should not be linear"
msgstr ""
-#: gimplify.cc:10402 gimplify.cc:10413 gimplify.cc:10425 gimplify.cc:10441
-#: gimplify.cc:10646 gimplify.cc:10669 gimplify.cc:10680 gimplify.cc:10698
+#: gimplify.cc:10412 gimplify.cc:10423 gimplify.cc:10435 gimplify.cc:10451
+#: gimplify.cc:10656 gimplify.cc:10679 gimplify.cc:10690 gimplify.cc:10708
#, gcc-internal-format
msgid "unexpected mapping node"
msgstr ""
-#: gimplify.cc:10735
+#: gimplify.cc:10745
#, gcc-internal-format
msgid "unexpected pointer mapping node"
msgstr ""
-#: gimplify.cc:10948
+#: gimplify.cc:10958
#, gcc-internal-format
msgid "base pointer cycle detected"
msgstr ""
-#: gimplify.cc:11455
+#: gimplify.cc:11465
#, gcc-internal-format
msgid ""
"data movement for component %qE is not compatible with movement for struct "
"%qE"
msgstr ""
-#: gimplify.cc:11771
+#: gimplify.cc:11781
#, gcc-internal-format
msgid "%qE appears more than once in map clauses"
msgstr ""
-#: gimplify.cc:12727
+#: gimplify.cc:12737
#, gcc-internal-format
msgid "mapping field %qE of variable length structure"
msgstr ""
-#: gimplify.cc:12997 gimplify.cc:13003
+#: gimplify.cc:13039 gimplify.cc:13045
#, gcc-internal-format
msgid "conditional %<lastprivate%> clause on %qs construct"
msgstr ""
-#: gimplify.cc:13020
+#: gimplify.cc:13062
#, gcc-internal-format
msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
msgstr ""
-#: gimplify.cc:13042
+#: gimplify.cc:13084
#, gcc-internal-format
msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
msgstr ""
-#: gimplify.cc:13050
+#: gimplify.cc:13092
#, gcc-internal-format
msgid ""
"invalid %<task%> reduction modifier on construct other than %<parallel%>, "
"%qs, %<sections%> or %<scope%>"
msgstr ""
-#: gimplify.cc:13061 gimplify.cc:13067 gimplify.cc:13073 gimplify.cc:13079
-#: gimplify.cc:13085 gimplify.cc:17471
+#: gimplify.cc:13103 gimplify.cc:13109 gimplify.cc:13115 gimplify.cc:13121
+#: gimplify.cc:13127 gimplify.cc:17513
#, gcc-internal-format
msgid "%<inscan%> %<reduction%> clause on %qs construct"
msgstr ""
-#: gimplify.cc:13179
+#: gimplify.cc:13221
#, gcc-internal-format
msgid ""
"%<linear%> clause for variable other than loop iterator specified on "
"construct combined with %<distribute%>"
msgstr ""
-#: gimplify.cc:13804
+#: gimplify.cc:13846
#, gcc-internal-format
msgid ""
"copyprivate variable %qE is not threadprivate or private in outer context"
msgstr ""
-#: gimplify.cc:13861
+#: gimplify.cc:13903
#, gcc-internal-format
msgid "%s variable %qE is private in outer context"
msgstr ""
-#: gimplify.cc:13893
+#: gimplify.cc:13935
#, gcc-internal-format
msgid "expected %qs %<if%> clause modifier rather than %qs"
msgstr ""
-#: gimplify.cc:13932
+#: gimplify.cc:13974
#, gcc-internal-format
msgid ""
"%<device%> clause with %<ancestor%> is only allowed on %<target%> construct"
msgstr ""
-#: gimplify.cc:13948
+#: gimplify.cc:13990
#, gcc-internal-format
msgid ""
"with %<ancestor%>, only the %<device%>, %<firstprivate%>, %<private%>, "
"%<defaultmap%>, and %<map%> clauses may appear on the construct"
msgstr ""
-#: gimplify.cc:14153
+#: gimplify.cc:14195
#, gcc-internal-format
msgid ""
"allocator with access trait set to %<thread%> results in undefined behavior "
"for %qs directive"
msgstr ""
-#: gimplify.cc:14194
+#: gimplify.cc:14236
#, gcc-internal-format
msgid ""
"%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on "
"the containing construct"
msgstr ""
-#: gimplify.cc:14414
+#: gimplify.cc:14456
#, gcc-internal-format
msgid "%<_Atomic%> %qD in implicit %<map%> clause"
msgstr ""
-#: gimplify.cc:14468
+#: gimplify.cc:14510
#, gcc-internal-format
msgid ""
"%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
msgstr ""
-#: gimplify.cc:14806
+#: gimplify.cc:14848
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
msgstr ""
-#: gimplify.cc:14879
+#: gimplify.cc:14921
#, gcc-internal-format
msgid ""
"same variable used in %<firstprivate%> and %<lastprivate%> clauses on "
"%<distribute%> construct"
msgstr ""
-#: gimplify.cc:15056
+#: gimplify.cc:15098
#, gcc-internal-format
msgid ""
"incompatible data clause with reduction on %qE; promoting to "
"%<present_or_copy%>"
msgstr ""
-#: gimplify.cc:15354
+#: gimplify.cc:15396
#, gcc-internal-format
msgid ""
"%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> "
"directive clause"
msgstr ""
-#: gimplify.cc:15373
+#: gimplify.cc:15415
#, gcc-internal-format
msgid "invalid private reduction on %qE"
msgstr ""
-#: gimplify.cc:15540
+#: gimplify.cc:15582
#, gcc-internal-format
msgid ""
"%<inscan%> %<reduction%> clause used together with %<linear%> clause for a "
"variable other than loop iterator"
msgstr ""
-#: gimplify.cc:15856
+#: gimplify.cc:15898
#, gcc-internal-format
msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
msgstr ""
-#: gimplify.cc:15866
+#: gimplify.cc:15908
#, gcc-internal-format
msgid "%<taskwait%> construct with %<nowait%> clause but no %<depend%> clauses"
msgstr ""
-#: gimplify.cc:16304 gimplify.cc:16308 gimplify.cc:16317 gimplify.cc:16329
-#: gimplify.cc:16334
+#: gimplify.cc:16346 gimplify.cc:16350 gimplify.cc:16359 gimplify.cc:16371
+#: gimplify.cc:16376
#, gcc-internal-format
msgid "%qs clause may not appear on non-rectangular %qs"
msgstr ""
-#: gimplify.cc:16499
+#: gimplify.cc:16541
#, gcc-internal-format
msgid ""
"%<linear%> clause may not be specified together with %<ordered%> clause if "
"stand-alone %<ordered%> construct is nested in it"
msgstr ""
-#: gimplify.cc:16564
+#: gimplify.cc:16606
#, gcc-internal-format
msgid "threadprivate iteration variable %qD"
msgstr ""
-#: gimplify.cc:16595 gimplify.cc:16703
+#: gimplify.cc:16637 gimplify.cc:16745
#, gcc-internal-format
msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
msgstr ""
-#: gimplify.cc:17409
+#: gimplify.cc:17451
#, gcc-internal-format
msgid ""
"%<bind%> clause not specified on a %<loop%> construct not nested inside "
"another OpenMP construct"
msgstr ""
-#: gimplify.cc:17433
+#: gimplify.cc:17475
#, gcc-internal-format
msgid ""
"%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
msgstr ""
-#: gimplify.cc:17453
+#: gimplify.cc:17495
#, gcc-internal-format
msgid ""
"%<bind(teams)%> on a %<loop%> region not strictly nested inside of a "
"%<teams%> region"
msgstr ""
-#: gimplify.cc:17478
+#: gimplify.cc:17520
#, gcc-internal-format
msgid ""
"invalid %<task%> reduction modifier on construct other than %<parallel%>, "
"%qs or %<sections%>"
msgstr ""
-#: gimplify.cc:17506
+#: gimplify.cc:17548
#, gcc-internal-format
msgid ""
"%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD "
"which is not the loop iterator"
msgstr ""
-#: gimplify.cc:18588
+#: gimplify.cc:18630
#, gcc-internal-format
msgid ""
"%<ordered%> construct with %qs clause must be closely nested inside a loop "
"with %<ordered%> clause"
msgstr ""
-#: gimplify.cc:18609
+#: gimplify.cc:18651
#, gcc-internal-format
msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
msgstr ""
-#: gimplify.cc:18622
+#: gimplify.cc:18664
#, gcc-internal-format
msgid ""
"number of variables in %qs clause with %<sink%> modifier does not match "
"number of iteration variables"
msgstr ""
-#: gimplify.cc:18636
+#: gimplify.cc:18678
#, gcc-internal-format
msgid ""
"more than one %qs clause with %<source%> modifier on an %<ordered%> construct"
msgstr ""
-#: gimplify.cc:18649
+#: gimplify.cc:18691
#, gcc-internal-format
msgid ""
"%qs clause with %<source%> modifier specified together with %qs clauses with "
"%<sink%> modifier on the same construct"
msgstr ""
-#: gimplify.cc:18816
+#: gimplify.cc:18858
#, gcc-internal-format
msgid ""
"%qD is a virtual function but only a direct call is allowed in a dispatch "
"construct"
msgstr ""
-#: gimplify.cc:20558
+#: gimplify.cc:20600
#, gcc-internal-format
msgid "gimplification failed"
msgstr ""
-#: gimplify.cc:21173
+#: gimplify.cc:21215
#, gcc-internal-format
msgid "%qT is promoted to %qT when passed through %<...%>"
msgstr ""
-#: gimplify.cc:21178
+#: gimplify.cc:21220
#, gcc-internal-format
msgid "(so you should pass %qT not %qT to %<va_arg%>)"
msgstr ""
-#: gimplify.cc:21185
+#: gimplify.cc:21227
#, gcc-internal-format
msgid "if this code is reached, the program will abort"
msgstr ""
@@ -30895,7 +30843,7 @@ msgstr ""
msgid "IPA modref summary is missing in input file"
msgstr ""
-#: ipa-prop.cc:4954 ipa-prop.cc:4996 ipa-prop.cc:5073 ipa-prop.cc:5121
+#: ipa-prop.cc:4991 ipa-prop.cc:5035 ipa-prop.cc:5115 ipa-prop.cc:5167
#, gcc-internal-format
msgid "invalid jump function in LTO stream"
msgstr ""
@@ -31160,95 +31108,95 @@ msgid ""
"%<asm%> operand has impossible constraints or there are not enough registers"
msgstr ""
-#: lto-cgraph.cc:1175
+#: lto-cgraph.cc:1177
#, gcc-internal-format
msgid ""
"function %qs has been referenced in offloaded code but hasn%'t been marked "
"to be included in the offloaded code"
msgstr ""
-#: lto-cgraph.cc:1181
+#: lto-cgraph.cc:1183
#, gcc-internal-format
msgid ""
"variable %qs has been referenced in offloaded code but hasn%'t been marked "
"to be included in the offloaded code"
msgstr ""
-#: lto-cgraph.cc:1349
+#: lto-cgraph.cc:1351
#, gcc-internal-format, gfc-internal-format
msgid "bytecode stream: found multiple instances of cgraph node with uid %d"
msgstr ""
-#: lto-cgraph.cc:1514
+#: lto-cgraph.cc:1516
#, gcc-internal-format
msgid "bytecode stream: no caller found while reading edge"
msgstr ""
-#: lto-cgraph.cc:1520
+#: lto-cgraph.cc:1522
#, gcc-internal-format
msgid "bytecode stream: no callee found while reading edge"
msgstr ""
-#: lto-cgraph.cc:1597
+#: lto-cgraph.cc:1599
#, gcc-internal-format
msgid "bytecode stream: found empty cgraph node"
msgstr ""
-#: lto-cgraph.cc:1713
+#: lto-cgraph.cc:1715
#, gcc-internal-format, gfc-internal-format
msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
msgstr ""
-#: lto-cgraph.cc:1738
+#: lto-cgraph.cc:1740
#, gcc-internal-format, gfc-internal-format
msgid "Profile information in %s corrupted"
msgstr ""
-#: lto-cgraph.cc:1776
+#: lto-cgraph.cc:1778
#, gcc-internal-format, gfc-internal-format
msgid "cannot find LTO cgraph in %s"
msgstr ""
-#: lto-cgraph.cc:1786
+#: lto-cgraph.cc:1788
#, gcc-internal-format, gfc-internal-format
msgid "cannot find LTO section refs in %s"
msgstr ""
-#: lto-cgraph.cc:1947
+#: lto-cgraph.cc:1949
#, gcc-internal-format
msgid ""
"OpenMP %<requires%> directive with non-identical clauses in multiple "
"compilation units: %qs vs. %qs"
msgstr ""
-#: lto-cgraph.cc:1950 lto-cgraph.cc:1951 lto-cgraph.cc:1957
+#: lto-cgraph.cc:1952 lto-cgraph.cc:1953 lto-cgraph.cc:1959
#, gcc-internal-format
msgid "%qs has %qs"
msgstr ""
-#: lto-cgraph.cc:1955
+#: lto-cgraph.cc:1957
#, gcc-internal-format
msgid ""
"OpenMP %<requires%> directive with %qs specified only in some compilation "
"units"
msgstr ""
-#: lto-cgraph.cc:1960
+#: lto-cgraph.cc:1962
#, gcc-internal-format
msgid "but %qs has not"
msgstr ""
-#: lto-cgraph.cc:1968
+#: lto-cgraph.cc:1970
#, gcc-internal-format, gfc-internal-format
msgid "invalid offload table in %s"
msgstr ""
-#: lto-cgraph.cc:1979
+#: lto-cgraph.cc:1981
#, gcc-internal-format
msgid "GCC_OFFLOAD_OMP_REQUIRES_FILE unset"
msgstr ""
-#: lto-cgraph.cc:1982
+#: lto-cgraph.cc:1984
#, gcc-internal-format
msgid "Cannot open omp_requires file %qs"
msgstr ""
@@ -32172,7 +32120,7 @@ msgstr ""
msgid "command-line option %qs is not supported by this configuration"
msgstr ""
-#: opts-common.cc:1463 opts.cc:2589
+#: opts-common.cc:1463 opts.cc:2612
#, gcc-internal-format
msgid "missing argument to %qs"
msgstr ""
@@ -32366,302 +32314,308 @@ msgstr ""
msgid "%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>"
msgstr ""
-#: opts.cc:1073
+#: opts.cc:1053
+#, gcc-internal-format
+msgid ""
+"%<-fipa-reorder-for-locality%> is incompatible with an explicit %qs option"
+msgstr ""
+
+#: opts.cc:1092
#, gcc-internal-format
msgid "section anchors must be disabled when unit-at-a-time is disabled"
msgstr ""
-#: opts.cc:1077
+#: opts.cc:1096
#, gcc-internal-format
msgid "toplevel reorder must be disabled when unit-at-a-time is disabled"
msgstr ""
-#: opts.cc:1091
+#: opts.cc:1110
#, gcc-internal-format
msgid "transactional memory is not supported with non-call exceptions"
msgstr ""
-#: opts.cc:1106
+#: opts.cc:1125
#, gcc-internal-format
msgid "section anchors must be disabled when toplevel reorder is disabled"
msgstr ""
-#: opts.cc:1117
+#: opts.cc:1136
#, gcc-internal-format
msgid ""
"%<-ftrivial-auto-var-init=zero%> is not enabled by %<-fhardened%> because it "
"was specified on the command line"
msgstr ""
-#: opts.cc:1167
+#: opts.cc:1186
#, gcc-internal-format
msgid ""
"%<-fstack-protector-strong%> is not enabled by %<-fhardened%> because it was "
"specified on the command line"
msgstr ""
-#: opts.cc:1212
+#: opts.cc:1231
#, gcc-internal-format
msgid "%<-fno-fat-lto-objects%> are supported only with linker plugin"
msgstr ""
-#: opts.cc:1220
+#: opts.cc:1239
#, gcc-internal-format
msgid "%<-gsplit-dwarf%> is not supported with LTO, disabling"
msgstr ""
-#: opts.cc:1234
+#: opts.cc:1253
#, gcc-internal-format
msgid "%<-fsplit-stack%> is not supported by this compiler configuration"
msgstr ""
-#: opts.cc:1261
+#: opts.cc:1284
#, gcc-internal-format
msgid ""
"%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> "
"or %<-fsanitize=kernel-address%>"
msgstr ""
-#: opts.cc:1265
+#: opts.cc:1288
#, gcc-internal-format
msgid ""
"%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> "
"or %<-fsanitize=kernel-address%>"
msgstr ""
-#: opts.cc:1292
+#: opts.cc:1315
#, gcc-internal-format
msgid "%<-fsanitize-recover=%s%> is not supported"
msgstr ""
-#: opts.cc:1304 opts.cc:2301
+#: opts.cc:1327 opts.cc:2324
#, gcc-internal-format
msgid "%<-fsanitize-trap=%s%> is not supported"
msgstr ""
-#: opts.cc:1331
+#: opts.cc:1354
#, gcc-internal-format
msgid ""
"%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option"
msgstr ""
-#: opts.cc:1338
+#: opts.cc:1361
#, gcc-internal-format
msgid "transactional memory is not supported with %<-fsanitize=address%>"
msgstr ""
-#: opts.cc:1341
+#: opts.cc:1364
#, gcc-internal-format
msgid ""
"transactional memory is not supported with %<-fsanitize=kernel-address%>"
msgstr ""
-#: opts.cc:1346
+#: opts.cc:1369
#, gcc-internal-format
msgid "live patching (with %qs) is not supported with LTO"
msgstr ""
-#: opts.cc:1351
+#: opts.cc:1374
#, gcc-internal-format
msgid "vtable verification is not supported with LTO"
msgstr ""
-#: opts.cc:1426
+#: opts.cc:1449
#, gcc-internal-format
msgid "variable tracking requested, but useless unless producing debug info"
msgstr ""
-#: opts.cc:1430
+#: opts.cc:1453
#, gcc-internal-format
msgid "variable tracking requested, but not supported by this debug format"
msgstr ""
-#: opts.cc:1459
+#: opts.cc:1482
#, gcc-internal-format
msgid "var-tracking-assignments changes selective scheduling"
msgstr ""
-#: opts.cc:1472
+#: opts.cc:1495
#, gcc-internal-format
msgid ""
"%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not "
"present"
msgstr ""
-#: opts.cc:1502 config/darwin.cc:3484
+#: opts.cc:1525 config/darwin.cc:3484
#, gcc-internal-format
msgid ""
"%<-freorder-blocks-and-partition%> does not work with exceptions on this "
"architecture"
msgstr ""
-#: opts.cc:1518
+#: opts.cc:1541
#, gcc-internal-format
msgid ""
"%<-freorder-blocks-and-partition%> does not support unwind info on this "
"architecture"
msgstr ""
-#: opts.cc:1536 config/pa/pa.cc:580
+#: opts.cc:1559 config/pa/pa.cc:580
#, gcc-internal-format
msgid "%<-freorder-blocks-and-partition%> does not work on this architecture"
msgstr ""
-#: opts.cc:2045
+#: opts.cc:2068
#, gcc-internal-format
msgid "unrecognized %<include_flags 0x%x%> passed to %<print_specific_help%>"
msgstr ""
-#: opts.cc:2280
+#: opts.cc:2303
#, gcc-internal-format
msgid "%<-fsanitize=all%> option is not valid"
msgstr ""
-#: opts.cc:2335
+#: opts.cc:2358
#, gcc-internal-format
msgid ""
"unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?"
msgstr ""
-#: opts.cc:2341
+#: opts.cc:2364
#, gcc-internal-format
msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s"
msgstr ""
-#: opts.cc:2376
+#: opts.cc:2399
#, gcc-internal-format
msgid "%qs attribute directive ignored"
msgstr ""
-#: opts.cc:2400
+#: opts.cc:2423
#, gcc-internal-format
msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs"
msgstr ""
-#: opts.cc:2424
+#: opts.cc:2447
#, gcc-internal-format
msgid "invalid arguments for %<-falign-%s%> option: %qs"
msgstr ""
-#: opts.cc:2439
+#: opts.cc:2462
#, gcc-internal-format
msgid "invalid number of arguments for %<-falign-%s%> option: %qs"
msgstr ""
-#: opts.cc:2448
+#: opts.cc:2471
#, gcc-internal-format
msgid "%<-falign-%s%> is not between 0 and %d"
msgstr ""
-#: opts.cc:2507
+#: opts.cc:2530
#, gcc-internal-format
msgid "invalid arguments for %<-fpatchable-function-entry%>"
msgstr ""
-#: opts.cc:2644
+#: opts.cc:2667
#, gcc-internal-format
msgid "%<--help%> argument %q.*s is ambiguous, please be more specific"
msgstr ""
-#: opts.cc:2655
+#: opts.cc:2678
#, gcc-internal-format
msgid "unrecognized argument to %<--help=%> option: %q.*s"
msgstr ""
-#: opts.cc:2835
+#: opts.cc:2858
#, gcc-internal-format
msgid ""
"arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead"
msgstr ""
-#: opts.cc:2841
+#: opts.cc:2864
#, gcc-internal-format
msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>"
msgstr ""
-#: opts.cc:3087
+#: opts.cc:3110
#, gcc-internal-format
msgid "%qs option can be specified only for offload compiler"
msgstr ""
-#: opts.cc:3096
+#: opts.cc:3119
#, gcc-internal-format
msgid "structure alignment must be a small power of two, not %wu"
msgstr ""
-#: opts.cc:3217
+#: opts.cc:3240
#, gcc-internal-format
msgid "unknown stack check parameter %qs"
msgstr ""
-#: opts.cc:3269
+#: opts.cc:3292
#, gcc-internal-format
msgid ""
"%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-"
"gdwarf%> %<-g%s%> for debug level"
msgstr ""
-#: opts.cc:3280
+#: opts.cc:3303
#, gcc-internal-format
msgid "dwarf version %wu is not supported"
msgstr ""
-#: opts.cc:3317
+#: opts.cc:3340
#, gcc-internal-format
msgid "unrecognized argument to %<-flto=%> option: %qs"
msgstr ""
-#: opts.cc:3517
+#: opts.cc:3540
#, gcc-internal-format
msgid "target system does not support debug output"
msgstr ""
-#: opts.cc:3556
+#: opts.cc:3579
#, gcc-internal-format
msgid "debug format %qs conflicts with prior selection"
msgstr ""
-#: opts.cc:3580
+#: opts.cc:3603
#, gcc-internal-format
msgid "unrecognized debug output level %qs"
msgstr ""
-#: opts.cc:3582
+#: opts.cc:3605
#, gcc-internal-format
msgid "debug output level %qs is too high"
msgstr ""
-#: opts.cc:3594
+#: opts.cc:3617
#, gcc-internal-format
msgid "unrecognized btf debug output level %qs"
msgstr ""
-#: opts.cc:3611
+#: opts.cc:3634
#, gcc-internal-format
msgid "getting core file size maximum limit: %m"
msgstr ""
-#: opts.cc:3615
+#: opts.cc:3638
#, gcc-internal-format
msgid "setting core file size limit to maximum: %m"
msgstr ""
-#: opts.cc:3660
+#: opts.cc:3683
#, gcc-internal-format, gfc-internal-format
msgid "unrecognized gcc debugging option: %c"
msgstr ""
-#: opts.cc:3689
+#: opts.cc:3712
#, gcc-internal-format
msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?"
msgstr ""
-#: opts.cc:3693
+#: opts.cc:3716
#, gcc-internal-format
msgid "%<-W%serror=%s%>: no option %<-%s%>"
msgstr ""
-#: opts.cc:3697
+#: opts.cc:3720
#, gcc-internal-format
msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings"
msgstr ""
@@ -34725,95 +34679,95 @@ msgstr ""
msgid "BB %i has incorrect fallthru edge"
msgstr ""
-#: tree-inline.cc:3961
+#: tree-inline.cc:3964
#, gcc-internal-format
msgid "function %q+F can never be copied because it receives a non-local goto"
msgstr ""
-#: tree-inline.cc:3968
+#: tree-inline.cc:3971
#, gcc-internal-format
msgid ""
"function %q+F can never be copied because it saves address of local label in "
"a static variable"
msgstr ""
-#: tree-inline.cc:4008
+#: tree-inline.cc:4011
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it uses alloca (override using "
"the always_inline attribute)"
msgstr ""
-#: tree-inline.cc:4022
+#: tree-inline.cc:4025
#, gcc-internal-format
msgid "function %q+F can never be inlined because it uses setjmp"
msgstr ""
-#: tree-inline.cc:4036
+#: tree-inline.cc:4039
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it uses variable argument lists"
msgstr ""
-#: tree-inline.cc:4048
+#: tree-inline.cc:4051
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it uses setjmp-longjmp exception "
"handling"
msgstr ""
-#: tree-inline.cc:4056
+#: tree-inline.cc:4059
#, gcc-internal-format
msgid "function %q+F can never be inlined because it uses non-local goto"
msgstr ""
-#: tree-inline.cc:4068
+#: tree-inline.cc:4071
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it uses %<__builtin_return%> or "
"%<__builtin_apply_args%>"
msgstr ""
-#: tree-inline.cc:4088
+#: tree-inline.cc:4091
#, gcc-internal-format
msgid "function %q+F can never be inlined because it contains a computed goto"
msgstr ""
-#: tree-inline.cc:4134
+#: tree-inline.cc:4137
#, gcc-internal-format
msgid "function %q+F can never be inlined because it has a VLA argument"
msgstr ""
-#: tree-inline.cc:4201
+#: tree-inline.cc:4204
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it is suppressed using %<-fno-"
"inline%>"
msgstr ""
-#: tree-inline.cc:4209
+#: tree-inline.cc:4212
#, gcc-internal-format
msgid ""
"function %q+F can never be inlined because it uses attributes conflicting "
"with inlining"
msgstr ""
-#: tree-inline.cc:4892
+#: tree-inline.cc:4895
#, gcc-internal-format
msgid "inlining failed in call to %<always_inline%> %q+F: %s"
msgstr ""
-#: tree-inline.cc:4895 tree-inline.cc:4916
+#: tree-inline.cc:4898 tree-inline.cc:4919
#, gcc-internal-format
msgid "called from here"
msgstr ""
-#: tree-inline.cc:4898 tree-inline.cc:4919
+#: tree-inline.cc:4901 tree-inline.cc:4922
#, gcc-internal-format
msgid "called from this function"
msgstr ""
-#: tree-inline.cc:4912
+#: tree-inline.cc:4915
#, gcc-internal-format
msgid "inlining failed in call to %q+F: %s"
msgstr ""
@@ -34828,7 +34782,7 @@ msgstr ""
msgid "cannot update SSA form"
msgstr ""
-#: tree-into-ssa.cc:3517 tree-outof-ssa.cc:907 tree-ssa-coalesce.cc:1012
+#: tree-into-ssa.cc:3517 tree-outof-ssa.cc:907 tree-ssa-coalesce.cc:1014
#, gcc-internal-format
msgid "SSA corruption"
msgstr ""
@@ -34858,12 +34812,12 @@ msgstr ""
msgid "target does not support atomic profile update, single mode is selected"
msgstr ""
-#: tree-ssa-alias.cc:4124
+#: tree-ssa-alias.cc:4125
#, gcc-internal-format, gfc-internal-format
msgid "invalid fn spec attribute \"%s\""
msgstr ""
-#: tree-ssa-alias.cc:4163
+#: tree-ssa-alias.cc:4164
#, gcc-internal-format, gfc-internal-format
msgid "invalid fn spec attribute \"%s\" arg %i"
msgstr ""
@@ -35338,37 +35292,37 @@ msgid ""
"%<--param=switch-lower-slow-alg-max-cases=%d%> limit."
msgstr ""
-#: tree-tailcall.cc:220
+#: tree-tailcall.cc:225
#, gcc-internal-format
msgid "address of label passed to %<musttail%> call argument"
msgstr ""
-#: tree-tailcall.cc:224
+#: tree-tailcall.cc:229
#, gcc-internal-format
msgid "address of parameter %qD passed to %<musttail%> call argument"
msgstr ""
-#: tree-tailcall.cc:228
+#: tree-tailcall.cc:233
#, gcc-internal-format
msgid "address of automatic variable %qD passed to %<musttail%> call argument"
msgstr ""
-#: tree-tailcall.cc:232
+#: tree-tailcall.cc:237
#, gcc-internal-format
msgid "address of local variable passed to %<musttail%> call argument"
msgstr ""
-#: tree-tailcall.cc:849 tree-tailcall.cc:879
+#: tree-tailcall.cc:885 tree-tailcall.cc:914
#, gcc-internal-format
msgid "address of local variable can escape to %<musttail%> call"
msgstr ""
-#: tree-tailcall.cc:874
+#: tree-tailcall.cc:909
#, gcc-internal-format
msgid "address of automatic variable %qD can escape to %<musttail%> call"
msgstr ""
-#: tree-tailcall.cc:905
+#: tree-tailcall.cc:939
#, gcc-internal-format
msgid "address of parameter %qD can escape to %<musttail%> call"
msgstr ""
@@ -35398,7 +35352,7 @@ msgstr ""
msgid "vector shuffling operation will be expanded piecewise"
msgstr ""
-#: tree-vect-loop.cc:5109
+#: tree-vect-loop.cc:5115
#, gcc-internal-format
msgid "vectorization did not happen for a simd loop"
msgstr ""
@@ -35981,7 +35935,7 @@ msgid ""
"requested alignment for %q+D is greater than implemented alignment of %wu"
msgstr ""
-#: varasm.cc:2513 c/c-decl.cc:5970 c/c-parser.cc:1969 m2/gm2-gcc/m2type.cc:1248
+#: varasm.cc:2513 c/c-decl.cc:5971 c/c-parser.cc:1969 m2/gm2-gcc/m2type.cc:1248
#, gcc-internal-format
msgid "storage size of %q+D isn%'t known"
msgstr ""
@@ -36058,7 +36012,7 @@ msgstr ""
msgid "%qs symbol %q+D must have static linkage"
msgstr ""
-#: varasm.cc:6609 config/nvptx/nvptx.cc:7740
+#: varasm.cc:6609 config/nvptx/nvptx.cc:7758
#, gcc-internal-format
msgid "alias definitions not supported in this configuration"
msgstr ""
@@ -36245,27 +36199,27 @@ msgid "%qE attribute ignored for field of type %qT"
msgstr ""
#: c-family/c-attribs.cc:1452 c-family/c-attribs.cc:3650
-#: c-family/c-attribs.cc:6271 ada/gcc-interface/utils.cc:7446
+#: c-family/c-attribs.cc:6271 ada/gcc-interface/utils.cc:7461
#, gcc-internal-format
msgid "%qE argument not a string"
msgstr ""
-#: c-family/c-attribs.cc:1627 ada/gcc-interface/utils.cc:6932
+#: c-family/c-attribs.cc:1627 ada/gcc-interface/utils.cc:6947
#, gcc-internal-format
msgid "%qE attribute ignored because of argument %qE"
msgstr ""
-#: c-family/c-attribs.cc:1648 ada/gcc-interface/utils.cc:6953
+#: c-family/c-attribs.cc:1648 ada/gcc-interface/utils.cc:6968
#, gcc-internal-format
msgid "ignoring attribute %qE because of excess arguments starting at %qE"
msgstr ""
-#: c-family/c-attribs.cc:1662 ada/gcc-interface/utils.cc:6967
+#: c-family/c-attribs.cc:1662 ada/gcc-interface/utils.cc:6982
#, gcc-internal-format
msgid "attribute %qE does not apply to elements of non-scalar type %qT"
msgstr ""
-#: c-family/c-attribs.cc:1667 ada/gcc-interface/utils.cc:6972
+#: c-family/c-attribs.cc:1667 ada/gcc-interface/utils.cc:6987
#, gcc-internal-format
msgid "attribute %qE does not apply to fields of aggregate type %qT"
msgstr ""
@@ -36281,12 +36235,12 @@ msgid "%qE attribute has no effect on unit local functions"
msgstr ""
#: c-family/c-attribs.cc:1993 c-family/c-attribs.cc:3633
-#: ada/gcc-interface/utils.cc:7202
+#: ada/gcc-interface/utils.cc:7217
#, gcc-internal-format
msgid "%qE attribute ignored because %qD is not a variable"
msgstr ""
-#: c-family/c-attribs.cc:1999 ada/gcc-interface/utils.cc:7208
+#: c-family/c-attribs.cc:1999 ada/gcc-interface/utils.cc:7223
#, gcc-internal-format
msgid "%qE attribute ignored because %qD is not a local variable"
msgstr ""
@@ -36571,7 +36525,7 @@ msgid "weak %q+D cannot be defined %qE"
msgstr ""
#: c-family/c-attribs.cc:3209 c-family/c-attribs.cc:4198
-#: ada/gcc-interface/utils.cc:7273 jit/dummy-frontend.cc:883
+#: ada/gcc-interface/utils.cc:7288 jit/dummy-frontend.cc:883
#, gcc-internal-format
msgid "attribute %qE argument not a string"
msgstr ""
@@ -36681,7 +36635,7 @@ msgstr ""
#: c-family/c-attribs.cc:3685 c-family/c-attribs.cc:4281
#: c-family/c-attribs.cc:6236 c-family/c-attribs.cc:6263
-#: config/m32c/m32c.cc:2942 ada/gcc-interface/utils.cc:7432
+#: config/m32c/m32c.cc:2942 ada/gcc-interface/utils.cc:7447
#, gcc-internal-format
msgid "%qE attribute applies only to functions"
msgstr ""
@@ -36781,7 +36735,7 @@ msgstr ""
msgid "%qE attribute argument %E is not in the range [0, %wu]"
msgstr ""
-#: c-family/c-attribs.cc:4211 ada/gcc-interface/utils.cc:7286
+#: c-family/c-attribs.cc:4211 ada/gcc-interface/utils.cc:7301
#, gcc-internal-format
msgid ""
"only %<inbranch%> and %<notinbranch%> flags are allowed for %<__simd__%> "
@@ -36835,7 +36789,7 @@ msgstr ""
msgid "%qE argument is not a function"
msgstr ""
-#: c-family/c-attribs.cc:4635 cp/name-lookup.cc:6571
+#: c-family/c-attribs.cc:4635 cp/name-lookup.cc:6574
#, gcc-internal-format
msgid "deprecated message is not a string"
msgstr ""
@@ -37055,17 +37009,17 @@ msgstr ""
msgid "%qE attribute only applies to variadic functions"
msgstr ""
-#: c-family/c-attribs.cc:6031 ada/gcc-interface/utils.cc:6833
+#: c-family/c-attribs.cc:6031 ada/gcc-interface/utils.cc:6848
#, gcc-internal-format
msgid "requested position is not an integer constant"
msgstr ""
-#: c-family/c-attribs.cc:6039 ada/gcc-interface/utils.cc:6840
+#: c-family/c-attribs.cc:6039 ada/gcc-interface/utils.cc:6855
#, gcc-internal-format
msgid "requested position is less than zero"
msgstr ""
-#: c-family/c-attribs.cc:6088 ada/gcc-interface/utils.cc:7329
+#: c-family/c-attribs.cc:6088 ada/gcc-interface/utils.cc:7344
#: d/d-attribs.cc:771 jit/dummy-frontend.cc:799
#, gcc-internal-format
msgid "empty string in attribute %<target%>"
@@ -37079,7 +37033,7 @@ msgstr ""
msgid "%qE attribute argument not a string constant"
msgstr ""
-#: c-family/c-attribs.cc:6288 ada/gcc-interface/utils.cc:7463
+#: c-family/c-attribs.cc:6288 ada/gcc-interface/utils.cc:7478
#, gcc-internal-format
msgid "unrecognized %qE attribute argument %qs"
msgstr ""
@@ -37363,8 +37317,8 @@ msgstr ""
msgid "suggest parentheses around assignment used as truth value"
msgstr ""
-#: c-family/c-common.cc:3882 c/c-decl.cc:5027 c/c-decl.cc:7693
-#: c/c-parser.cc:4001 c/c-typeck.cc:17894
+#: c-family/c-common.cc:3882 c/c-decl.cc:5028 c/c-decl.cc:7694
+#: c/c-parser.cc:4001 c/c-typeck.cc:17908
#, gcc-internal-format
msgid "invalid use of %<restrict%>"
msgstr ""
@@ -38452,7 +38406,7 @@ msgstr ""
msgid "integer constant is too large for %<_BitInt(%d)%> type"
msgstr ""
-#: c-family/c-lex.cc:1093 c/c-decl.cc:12948
+#: c-family/c-lex.cc:1093 c/c-decl.cc:12949
#, gcc-internal-format
msgid "%<_BitInt(%d)%> is not supported on this target"
msgstr ""
@@ -38536,7 +38490,7 @@ msgstr ""
msgid "traditional C rejects string constant concatenation"
msgstr ""
-#: c-family/c-omp.cc:131 cp/pt.cc:19579
+#: c-family/c-omp.cc:131 cp/pt.cc:19623
#, gcc-internal-format
msgid ""
"%<#pragma omp critical%> with %<hint%> clause requires a name, except when "
@@ -38596,7 +38550,7 @@ msgstr ""
msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
msgstr ""
-#: c-family/c-omp.cc:1002 cp/semantics.cc:11597
+#: c-family/c-omp.cc:1002 cp/semantics.cc:11611
#, gcc-internal-format
msgid "invalid type for iteration variable %qE"
msgstr ""
@@ -38611,17 +38565,17 @@ msgstr ""
msgid "%qE is not initialized"
msgstr ""
-#: c-family/c-omp.cc:1044 cp/semantics.cc:11481
+#: c-family/c-omp.cc:1044 cp/semantics.cc:11495
#, gcc-internal-format
msgid "missing controlling predicate"
msgstr ""
-#: c-family/c-omp.cc:1150 cp/semantics.cc:11072
+#: c-family/c-omp.cc:1150 cp/semantics.cc:11086
#, gcc-internal-format
msgid "invalid controlling predicate"
msgstr ""
-#: c-family/c-omp.cc:1157 cp/semantics.cc:11487
+#: c-family/c-omp.cc:1157 cp/semantics.cc:11501
#, gcc-internal-format
msgid "missing increment expression"
msgstr ""
@@ -38631,7 +38585,7 @@ msgstr ""
msgid "increment is not constant 1 or -1 for %<!=%> condition"
msgstr ""
-#: c-family/c-omp.cc:1289 cp/semantics.cc:11189
+#: c-family/c-omp.cc:1289 cp/semantics.cc:11203
#, gcc-internal-format
msgid "invalid increment expression"
msgstr ""
@@ -38737,7 +38691,7 @@ msgid ""
"%<for simd%>, %<parallel for%>, %<parallel for simd%>"
msgstr ""
-#: c-family/c-omp.cc:3072 c/c-typeck.cc:17677 cp/semantics.cc:10162
+#: c-family/c-omp.cc:3072 c/c-typeck.cc:17691 cp/semantics.cc:10176
#, gcc-internal-format
msgid ""
"%qD specified in %<allocate%> clause but not in an explicit privatization "
@@ -38745,12 +38699,12 @@ msgid ""
msgstr ""
#: c-family/c-omp.cc:3164 c-family/c-omp.cc:3179 c/c-parser.cc:27067
-#: cp/parser.cc:50498
+#: cp/parser.cc:50503
#, gcc-internal-format
msgid "%qD is not a function argument"
msgstr ""
-#: c-family/c-omp.cc:3460 c/c-typeck.cc:16764 cp/semantics.cc:8752
+#: c-family/c-omp.cc:3460 c/c-typeck.cc:16778 cp/semantics.cc:8766
#, gcc-internal-format
msgid "bit-field %qE in %qs clause"
msgstr ""
@@ -38760,8 +38714,8 @@ msgstr ""
msgid "%qE does not have a mappable type in %qs clause"
msgstr ""
-#: c-family/c-omp.cc:3476 c/c-typeck.cc:15164 c/c-typeck.cc:16853
-#: c/c-typeck.cc:17041
+#: c-family/c-omp.cc:3476 c/c-typeck.cc:15178 c/c-typeck.cc:16867
+#: c/c-typeck.cc:17055
#, gcc-internal-format
msgid "%<_Atomic%> %qE in %qs clause"
msgstr ""
@@ -39381,8 +39335,8 @@ msgstr ""
msgid "wrong type argument to %s"
msgstr ""
-#: c-family/c-warn.cc:60 c-family/c-warn.cc:73 cp/constexpr.cc:3693
-#: cp/constexpr.cc:7687 m2/gm2-gcc/m2expr.cc:965
+#: c-family/c-warn.cc:60 c-family/c-warn.cc:73 cp/constexpr.cc:3721
+#: cp/constexpr.cc:7715 m2/gm2-gcc/m2expr.cc:965
#: rust/backend/rust-constexpr.cc:1908 rust/backend/rust-constexpr.cc:4331
#, gcc-internal-format
msgid "overflow in constant expression"
@@ -39907,19 +39861,19 @@ msgstr ""
msgid "function %qD used as %<asm%> output"
msgstr ""
-#: c-family/c-warn.cc:1914 c/c-typeck.cc:5827
+#: c-family/c-warn.cc:1914 c/c-typeck.cc:5841
#: rust/checks/errors/rust-readonly-check.cc:103
#, gcc-internal-format
msgid "assignment of read-only location %qE"
msgstr ""
-#: c-family/c-warn.cc:1915 c/c-typeck.cc:5830
+#: c-family/c-warn.cc:1915 c/c-typeck.cc:5844
#: rust/checks/errors/rust-readonly-check.cc:104
#, gcc-internal-format
msgid "increment of read-only location %qE"
msgstr ""
-#: c-family/c-warn.cc:1916 c/c-typeck.cc:5833
+#: c-family/c-warn.cc:1916 c/c-typeck.cc:5847
#: rust/checks/errors/rust-readonly-check.cc:105
#, gcc-internal-format
msgid "decrement of read-only location %qE"
@@ -40205,7 +40159,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.cc:2934 c/c-typeck.cc:6451 cp/call.cc:6527
+#: c-family/c-warn.cc:2934 c/c-typeck.cc:6465 cp/call.cc:6527
#, gcc-internal-format
msgid "this condition has identical branches"
msgstr ""
@@ -41238,12 +41192,12 @@ msgstr ""
msgid "expected 64-bit address but argument 2 is %d-bit"
msgstr ""
-#: config/aarch64/aarch64-c.cc:374
+#: config/aarch64/aarch64-c.cc:375
#, gcc-internal-format
msgid "%<#pragma GCC aarch64%> requires a string parameter"
msgstr ""
-#: config/aarch64/aarch64-c.cc:390
+#: config/aarch64/aarch64-c.cc:391
#, gcc-internal-format
msgid "unknown %<#pragma GCC aarch64%> option %qs"
msgstr ""
@@ -41628,7 +41582,7 @@ msgstr ""
#: config/aarch64/aarch64-sve-builtins.cc:4830
#: config/arm/arm-mve-builtins.cc:522 config/arm/arm-mve-builtins.cc:547
-#: config/riscv/riscv-vector-builtins.cc:4836
+#: config/riscv/riscv-vector-builtins.cc:4868
#, gcc-internal-format
msgid "duplicate definition of %qs"
msgstr ""
@@ -41663,62 +41617,88 @@ msgstr ""
msgid "unsupported SVE vector size"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5185
+#: config/aarch64/aarch64-sve-builtins.cc:5189
#, gcc-internal-format
msgid "SVE type %qT does not have a fixed size"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5190
+#: config/aarch64/aarch64-sve-builtins.cc:5194
#, gcc-internal-format
msgid "SVE type %qT does not have a defined alignment"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5195
-#: config/riscv/riscv-vector-builtins.cc:4748
+#: config/aarch64/aarch64-sve-builtins.cc:5199
+#: config/riscv/riscv-vector-builtins.cc:4752
#, gcc-internal-format
msgid "variables of type %qT cannot have thread-local storage duration"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5201
+#: config/aarch64/aarch64-sve-builtins.cc:5205
#, gcc-internal-format
msgid "arithmetic on pointer to SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5208
+#: config/aarch64/aarch64-sve-builtins.cc:5212
#, gcc-internal-format
msgid "member variables cannot have SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5210
+#: config/aarch64/aarch64-sve-builtins.cc:5214
#, gcc-internal-format
msgid "fields cannot have SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5215
+#: config/aarch64/aarch64-sve-builtins.cc:5219
#, gcc-internal-format
msgid "array elements cannot have SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5220
+#: config/aarch64/aarch64-sve-builtins.cc:5224
#, gcc-internal-format
msgid "cannot allocate objects with SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5225
+#: config/aarch64/aarch64-sve-builtins.cc:5229
#, gcc-internal-format
msgid "cannot delete objects with SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5230
+#: config/aarch64/aarch64-sve-builtins.cc:5234
#, gcc-internal-format
msgid "cannot throw or catch SVE type %qT"
msgstr ""
-#: config/aarch64/aarch64-sve-builtins.cc:5235
+#: config/aarch64/aarch64-sve-builtins.cc:5239
#, gcc-internal-format
msgid "capture by copy of SVE type %qT"
msgstr ""
+#: config/aarch64/aarch64-sve-builtins.cc:5244
+#, gcc-internal-format
+msgid "SVE type %qT not allowed in %<map%> clause"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:5249
+#: config/riscv/riscv-vector-builtins.cc:4811
+#, gcc-internal-format
+msgid "cannot reference %qT object types in %<target%> region"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:5254
+#, gcc-internal-format
+msgid "SVE type %qT not allowed in %<target%> %<private%> clause"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:5260
+#, gcc-internal-format
+msgid "SVE type %qT not allowed in %<target%> %<firstprivate%> clause"
+msgstr ""
+
+#: config/aarch64/aarch64-sve-builtins.cc:5266
+#, gcc-internal-format
+msgid "SVE type %qT not allowed in %<target%> device clauses"
+msgstr ""
+
#: config/aarch64/aarch64.cc:649
#, gcc-internal-format
msgid "the arguments to %qE must be constant strings"
@@ -42067,8 +42047,8 @@ msgstr ""
#: config/aarch64/aarch64.cc:19834 config/arm/arm.cc:33836
#: config/loongarch/loongarch-target-attr.cc:297
-#: config/riscv/riscv-target-attr.cc:431 config/rs6000/rs6000.cc:24714
-#: config/s390/s390.cc:16638
+#: config/riscv/riscv-target-attr.cc:427 config/rs6000/rs6000.cc:24714
+#: config/s390/s390.cc:16661
#, gcc-internal-format
msgid "attribute %<target%> argument not a string"
msgstr ""
@@ -42096,12 +42076,12 @@ msgid ""
"likely to change"
msgstr ""
-#: config/aarch64/aarch64.cc:20110 config/riscv/riscv-target-attr.cc:497
+#: config/aarch64/aarch64.cc:20110 config/riscv/riscv-target-attr.cc:493
#, gcc-internal-format
msgid "attribute %<target_version%> has multiple values"
msgstr ""
-#: config/aarch64/aarch64.cc:20118 config/riscv/riscv-target-attr.cc:505
+#: config/aarch64/aarch64.cc:20118 config/riscv/riscv-target-attr.cc:501
#, gcc-internal-format
msgid "attribute %<target_version%> argument not a string"
msgstr ""
@@ -42124,13 +42104,13 @@ msgid ""
msgstr ""
#: config/aarch64/aarch64.cc:20736 config/i386/i386-features.cc:3911
-#: config/i386/i386-features.cc:4180 config/riscv/riscv.cc:13694
+#: config/i386/i386-features.cc:4180 config/riscv/riscv.cc:13691
#, gcc-internal-format
msgid "virtual function multiversioning not supported"
msgstr ""
#: config/aarch64/aarch64.cc:20857 config/i386/i386-features.cc:4044
-#: config/riscv/riscv.cc:13819 config/rs6000/rs6000.cc:25404
+#: config/riscv/riscv.cc:13816 config/rs6000/rs6000.cc:25404
#, gcc-internal-format
msgid "multiversioning needs %<ifunc%> which is not supported on this target"
msgstr ""
@@ -42158,8 +42138,8 @@ msgstr ""
msgid "lane %wd out of range %wd - %wd"
msgstr ""
-#: config/aarch64/aarch64.cc:29341 config/i386/i386.cc:25607
-#: config/i386/i386.cc:25738
+#: config/aarch64/aarch64.cc:29341 config/i386/i386.cc:25767
+#: config/i386/i386.cc:25898
#, gcc-internal-format
msgid "unsupported simdlen %wd"
msgstr ""
@@ -42169,7 +42149,7 @@ msgstr ""
msgid "GCC does not currently support return type %qT for simd"
msgstr ""
-#: config/aarch64/aarch64.cc:29359 config/i386/i386.cc:25629
+#: config/aarch64/aarch64.cc:29359 config/i386/i386.cc:25789
#, gcc-internal-format
msgid "unsupported return type %qT for simd"
msgstr ""
@@ -42179,7 +42159,7 @@ msgstr ""
msgid "GCC does not currently support argument type %qT for simd"
msgstr ""
-#: config/aarch64/aarch64.cc:29397 config/i386/i386.cc:25660
+#: config/aarch64/aarch64.cc:29397 config/i386/i386.cc:25820
#, gcc-internal-format
msgid "unsupported argument type %qT for simd"
msgstr ""
@@ -42216,18 +42196,18 @@ msgstr ""
msgid "catching non-call exceptions in functions with SME state"
msgstr ""
-#: config/aarch64/aarch64.cc:31111 config/arm/arm-mve-builtins.cc:634
+#: config/aarch64/aarch64.cc:31107 config/arm/arm-mve-builtins.cc:634
#: config/riscv/riscv-vector-builtins.cc:4493
#, gcc-internal-format
msgid "argument %d of %qE must be an integer constant expression"
msgstr ""
-#: config/aarch64/aarch64.cc:31124
+#: config/aarch64/aarch64.cc:31120
#, gcc-internal-format
msgid "passing %wd to argument %d of %qE, which expects the value %wd"
msgstr ""
-#: config/aarch64/aarch64.cc:31127 config/arm/arm-mve-builtins.cc:646
+#: config/aarch64/aarch64.cc:31123 config/arm/arm-mve-builtins.cc:646
#: config/riscv/riscv-vector-builtins.cc:4507
#, gcc-internal-format
msgid ""
@@ -42235,17 +42215,17 @@ msgid ""
"%wd]"
msgstr ""
-#: config/aarch64/aarch64.cc:31140
+#: config/aarch64/aarch64.cc:31136
#, gcc-internal-format
msgid "passing %wd to argument %d of %qE, which expects either %wd or %wd"
msgstr ""
-#: config/aarch64/aarch64.cc:31154 config/arm/arm-mve-builtins.cc:685
+#: config/aarch64/aarch64.cc:31150 config/arm/arm-mve-builtins.cc:685
#, gcc-internal-format
msgid "passing %wd to argument %d of %qE, which expects %wd, %wd, %wd or %wd"
msgstr ""
-#: config/aarch64/aarch64.cc:31166 config/arm/arm-mve-builtins.cc:672
+#: config/aarch64/aarch64.cc:31162 config/arm/arm-mve-builtins.cc:672
#, gcc-internal-format
msgid "passing %wd to argument %d of %qE, which expects a valid %qT value"
msgstr ""
@@ -42305,7 +42285,7 @@ msgstr ""
msgid "bad value %qs for %<-mmemory-latency%>"
msgstr ""
-#: config/alpha/alpha.cc:7360 config/alpha/alpha.cc:7363 config/arc/arc.cc:6981
+#: config/alpha/alpha.cc:7357 config/alpha/alpha.cc:7360 config/arc/arc.cc:6981
#: config/arc/arc.cc:7255 config/s390/s390.cc:942
#, gcc-internal-format
msgid "bad builtin fcode"
@@ -42436,7 +42416,7 @@ msgstr ""
#: config/i386/i386-options.cc:3906 config/i386/i386-options.cc:3962
#: config/i386/i386-options.cc:4013 config/i386/i386-options.cc:4050
#: config/m68k/m68k.cc:804 config/mcore/mcore.cc:3070
-#: config/nvptx/nvptx.cc:5877 config/riscv/riscv.cc:6533
+#: config/nvptx/nvptx.cc:5895 config/riscv/riscv.cc:6533
#: config/rl78/rl78.cc:821 config/rl78/rl78.cc:890
#: config/rs6000/rs6000.cc:20642 config/rx/rx.cc:2727 config/rx/rx.cc:2753
#: config/s390/s390.cc:1157 config/s390/s390.cc:1247 config/sh/sh.cc:8442
@@ -42576,22 +42556,22 @@ msgid "argument of %qE attribute ignored"
msgstr ""
#: config/arc/arc.cc:11004 config/avr/avr.cc:11384 config/bfin/bfin.cc:4818
-#: config/mingw/winnt.cc:63 config/nvptx/nvptx.cc:5900
+#: config/mingw/winnt.cc:63 config/nvptx/nvptx.cc:5918
#, gcc-internal-format
msgid "%qE attribute only applies to variables"
msgstr ""
-#: config/arm/aarch-common.cc:553 config/i386/i386.cc:24274
+#: config/arm/aarch-common.cc:553 config/i386/i386.cc:24309
#, gcc-internal-format
msgid "alternatives not allowed in %<asm%> flag output"
msgstr ""
-#: config/arm/aarch-common.cc:614 config/i386/i386.cc:24338
+#: config/arm/aarch-common.cc:614 config/i386/i386.cc:24373
#, gcc-internal-format
msgid "unknown %<asm%> flag output %qs"
msgstr ""
-#: config/arm/aarch-common.cc:624 config/i386/i386.cc:24367
+#: config/arm/aarch-common.cc:624 config/i386/i386.cc:24402
#, gcc-internal-format
msgid "invalid type for %<asm%> flag output"
msgstr ""
@@ -43900,7 +43880,7 @@ msgstr ""
msgid "using %<vector_length (64)%>, ignoring runtime setting"
msgstr ""
-#: config/gcn/gcn.cc:6351 config/nvptx/nvptx.cc:6730
+#: config/gcn/gcn.cc:6351 config/nvptx/nvptx.cc:6748
#, gcc-internal-format
msgid "using %<num_workers (%d)%>, ignoring %d"
msgstr ""
@@ -43980,22 +43960,22 @@ msgstr ""
msgid "unhandled architecture"
msgstr ""
-#: config/gcn/mkoffload.cc:1186 config/gcn/mkoffload.cc:1338
+#: config/gcn/mkoffload.cc:1189 config/gcn/mkoffload.cc:1341
#, gcc-internal-format
msgid "cannot open %qs"
msgstr ""
-#: config/gcn/mkoffload.cc:1324 config/nvptx/mkoffload.cc:847
+#: config/gcn/mkoffload.cc:1327 config/nvptx/mkoffload.cc:850
#, gcc-internal-format
msgid "cannot open omp_requires file %qs"
msgstr ""
-#: config/gcn/mkoffload.cc:1328 config/nvptx/mkoffload.cc:851
+#: config/gcn/mkoffload.cc:1331 config/nvptx/mkoffload.cc:854
#, gcc-internal-format
msgid "cannot read omp_requires file %qs"
msgstr ""
-#: config/gcn/mkoffload.cc:1334
+#: config/gcn/mkoffload.cc:1337
#, gcc-internal-format
msgid "cannot open intermediate gcn asm file"
msgstr ""
@@ -44068,170 +44048,170 @@ msgstr ""
msgid "parameter to builtin not valid: %s"
msgstr ""
-#: config/i386/i386-expand.cc:10110
+#: config/i386/i386-expand.cc:10116
#, gcc-internal-format
msgid "interrupt service routine cannot be called directly"
msgstr ""
-#: config/i386/i386-expand.cc:10583 config/i386/i386-expand.cc:12249
+#: config/i386/i386-expand.cc:10589 config/i386/i386-expand.cc:12255
#, gcc-internal-format
msgid "the last argument must be a 2-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:11083
+#: config/i386/i386-expand.cc:11089
#, gcc-internal-format
msgid "the fifth argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:11178
+#: config/i386/i386-expand.cc:11184
#, gcc-internal-format
msgid "the third argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12178
+#: config/i386/i386-expand.cc:12184
#, gcc-internal-format
msgid "the last argument must be an 1-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12193
+#: config/i386/i386-expand.cc:12199
#, gcc-internal-format
msgid "the last argument must be a 3-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12228
+#: config/i386/i386-expand.cc:12234
#, gcc-internal-format
msgid "the last argument must be a 4-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12268
+#: config/i386/i386-expand.cc:12274
#, gcc-internal-format
msgid "the last argument must be a 1-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12277
+#: config/i386/i386-expand.cc:12283
#, gcc-internal-format, gfc-internal-format
msgid "'%s' needs isa option %s"
msgstr ""
-#: config/i386/i386-expand.cc:12290
+#: config/i386/i386-expand.cc:12296
#, gcc-internal-format
msgid "the last argument must be a 5-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12300
+#: config/i386/i386-expand.cc:12306
#, gcc-internal-format
msgid "the next to last argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12305
+#: config/i386/i386-expand.cc:12311
#, gcc-internal-format
msgid "the last argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12444
+#: config/i386/i386-expand.cc:12450
#, gcc-internal-format
msgid "the third argument must be comparison constant"
msgstr ""
-#: config/i386/i386-expand.cc:12449
+#: config/i386/i386-expand.cc:12455
#, gcc-internal-format
msgid "incorrect comparison mode"
msgstr ""
-#: config/i386/i386-expand.cc:12455 config/i386/i386-expand.cc:12878
+#: config/i386/i386-expand.cc:12461 config/i386/i386-expand.cc:12884
#, gcc-internal-format
msgid "incorrect rounding operand"
msgstr ""
-#: config/i386/i386-expand.cc:12858
+#: config/i386/i386-expand.cc:12864
#, gcc-internal-format
msgid "the immediate argument must be a 4-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12866
+#: config/i386/i386-expand.cc:12872
#, gcc-internal-format
msgid "the immediate argument must be a 5-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:12869
+#: config/i386/i386-expand.cc:12875
#, gcc-internal-format
msgid "the immediate argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:13349
+#: config/i386/i386-expand.cc:13355
#, gcc-internal-format
msgid "the fourth argument must be one of enum %qs"
msgstr ""
-#: config/i386/i386-expand.cc:13419
+#: config/i386/i386-expand.cc:13425
#, gcc-internal-format
msgid "selector must be an integer constant in the range [0, %wi]"
msgstr ""
-#: config/i386/i386-expand.cc:13676
+#: config/i386/i386-expand.cc:13682
#, gcc-internal-format
msgid "%qE needs unknown isa option"
msgstr ""
-#: config/i386/i386-expand.cc:13680
+#: config/i386/i386-expand.cc:13686
#, gcc-internal-format
msgid "%qE needs isa option %s"
msgstr ""
-#: config/i386/i386-expand.cc:14180
+#: config/i386/i386-expand.cc:14186
#, gcc-internal-format
msgid "second, third and fourth argument must be a const"
msgstr ""
-#: config/i386/i386-expand.cc:14186
+#: config/i386/i386-expand.cc:14192
#, gcc-internal-format
msgid "invalid second argument to %<__builtin_ia32_prefetch%>; using zero"
msgstr ""
-#: config/i386/i386-expand.cc:14195
+#: config/i386/i386-expand.cc:14201
#, gcc-internal-format
msgid "invalid third argument"
msgstr ""
#. Ignore the hint.
-#: config/i386/i386-expand.cc:14204 config/i386/i386-expand.cc:14265
+#: config/i386/i386-expand.cc:14210 config/i386/i386-expand.cc:14271
#, gcc-internal-format
msgid ""
"instruction prefetch applies when in 64-bit mode with RIP-relative "
"addressing and option %<-mprefetchi%>; they stay NOPs otherwise"
msgstr ""
-#: config/i386/i386-expand.cc:14214
+#: config/i386/i386-expand.cc:14220
#, gcc-internal-format
msgid "invalid forth argument to %<__builtin_ia32_prefetch%>; using zero"
msgstr ""
-#: config/i386/i386-expand.cc:14225
+#: config/i386/i386-expand.cc:14231
#, gcc-internal-format
msgid "invalid third argument to %<__builtin_ia32_prefetch%>; using zero"
msgstr ""
-#: config/i386/i386-expand.cc:14253
+#: config/i386/i386-expand.cc:14259
#, gcc-internal-format
msgid "second argument must be a const"
msgstr ""
-#: config/i386/i386-expand.cc:14799
+#: config/i386/i386-expand.cc:14805
#, gcc-internal-format
msgid "the last argument must be a 32-bit immediate"
msgstr ""
-#: config/i386/i386-expand.cc:14832
+#: config/i386/i386-expand.cc:14838
#, gcc-internal-format
msgid "last argument must be an immediate"
msgstr ""
-#: config/i386/i386-expand.cc:15570 config/i386/i386-expand.cc:15782
+#: config/i386/i386-expand.cc:15576 config/i386/i386-expand.cc:15788
#, gcc-internal-format
msgid "the last argument must be scale 1, 2, 4, 8"
msgstr ""
-#: config/i386/i386-expand.cc:15800
+#: config/i386/i386-expand.cc:15806
#, gcc-internal-format
msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
msgstr ""
@@ -44591,7 +44571,7 @@ msgstr ""
#: config/i386/i386-options.cc:2832
#, gcc-internal-format
-msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>"
+msgid "%<-mnop-mcount%> is not implemented for %<-fno-plt%>"
msgstr ""
#: config/i386/i386-options.cc:2838
@@ -44846,145 +44826,145 @@ msgstr ""
msgid "interrupt service routine must return %<void%>"
msgstr ""
-#: config/i386/i386.cc:1309
+#: config/i386/i386.cc:1316
#, gcc-internal-format
msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
msgstr ""
-#: config/i386/i386.cc:1312
+#: config/i386/i386.cc:1319
#, gcc-internal-format
msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
msgstr ""
-#: config/i386/i386.cc:1616
+#: config/i386/i386.cc:1623
#, gcc-internal-format
msgid "X32 does not support %<ms_abi%> attribute"
msgstr ""
-#: config/i386/i386.cc:1650
+#: config/i386/i386.cc:1657
#, gcc-internal-format
msgid "%<ms_hook_prologue%> attribute is not compatible with nested function"
msgstr ""
-#: config/i386/i386.cc:2002
+#: config/i386/i386.cc:2009
#, gcc-internal-format
msgid "AVX512F vector argument without AVX512F enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2008
+#: config/i386/i386.cc:2015
#, gcc-internal-format
msgid "AVX512F vector return without AVX512F enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2022
+#: config/i386/i386.cc:2029
#, gcc-internal-format
msgid "AVX vector argument without AVX enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2028
+#: config/i386/i386.cc:2035
#, gcc-internal-format
msgid "AVX vector return without AVX enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2044
+#: config/i386/i386.cc:2051
#, gcc-internal-format
msgid "SSE vector argument without SSE enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2050
+#: config/i386/i386.cc:2057
#, gcc-internal-format
msgid "SSE vector return without SSE enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2066
+#: config/i386/i386.cc:2073
#, gcc-internal-format
msgid "MMX vector argument without MMX enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2072
+#: config/i386/i386.cc:2079
#, gcc-internal-format
msgid "MMX vector return without MMX enabled changes the ABI"
msgstr ""
-#: config/i386/i386.cc:2271
+#: config/i386/i386.cc:2278
#, gcc-internal-format
msgid ""
"the ABI of passing struct with a flexible array member has changed in GCC 4.4"
msgstr ""
-#: config/i386/i386.cc:2400
+#: config/i386/i386.cc:2407
#, gcc-internal-format
msgid "the ABI of passing union with %<long double%> has changed in GCC 4.4"
msgstr ""
-#: config/i386/i386.cc:2535
+#: config/i386/i386.cc:2542
#, gcc-internal-format
msgid ""
"the ABI of passing structure with %<complex float%> member has changed in "
"GCC 4.4"
msgstr ""
-#: config/i386/i386.cc:2656
+#: config/i386/i386.cc:2663
msgid ""
"the ABI of passing C structures with zero-width bit-fields has changed in "
"GCC %{12.1%}"
msgstr ""
-#: config/i386/i386.cc:2753 config/i386/i386.cc:4122 config/i386/i386.cc:4132
+#: config/i386/i386.cc:2760 config/i386/i386.cc:4129 config/i386/i386.cc:4139
#, gcc-internal-format
msgid "SSE register return with SSE2 disabled"
msgstr ""
-#: config/i386/i386.cc:2755
+#: config/i386/i386.cc:2762
#, gcc-internal-format
msgid "SSE register return with SSE disabled"
msgstr ""
-#: config/i386/i386.cc:2762
+#: config/i386/i386.cc:2769
#, gcc-internal-format
msgid "SSE register argument with SSE2 disabled"
msgstr ""
-#: config/i386/i386.cc:2764
+#: config/i386/i386.cc:2771
#, gcc-internal-format
msgid "SSE register argument with SSE disabled"
msgstr ""
-#: config/i386/i386.cc:2784
+#: config/i386/i386.cc:2791
#, gcc-internal-format
msgid "x87 register return with x87 disabled"
msgstr ""
-#: config/i386/i386.cc:3112 config/i386/i386.cc:3357 config/i386/i386.cc:4150
+#: config/i386/i386.cc:3119 config/i386/i386.cc:3364 config/i386/i386.cc:4157
#, gcc-internal-format
msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled"
msgstr ""
-#: config/i386/i386.cc:3114 config/i386/i386.cc:3359 config/i386/i386.cc:4152
+#: config/i386/i386.cc:3121 config/i386/i386.cc:3366 config/i386/i386.cc:4159
#, gcc-internal-format
msgid ""
"this is a GCC bug that can be worked around by adding attribute used to "
"function called"
msgstr ""
-#: config/i386/i386.cc:3762
+#: config/i386/i386.cc:3769
#, gcc-internal-format, gfc-internal-format
msgid ""
"the ABI for passing parameters with %d-byte alignment has changed in GCC 4.6"
msgstr ""
-#: config/i386/i386.cc:6834
+#: config/i386/i386.cc:6841
#, gcc-internal-format
msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s"
msgstr ""
-#: config/i386/i386.cc:8854
+#: config/i386/i386.cc:8861
#, gcc-internal-format
msgid ""
"%<ms_hook_prologue%> attribute is not compatible with %<-mfentry%> for 32-bit"
msgstr ""
-#: config/i386/i386.cc:8944
+#: config/i386/i386.cc:8951
#, gcc-internal-format
msgid ""
"Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service "
@@ -44992,22 +44972,22 @@ msgid ""
"return."
msgstr ""
-#: config/i386/i386.cc:10001
+#: config/i386/i386.cc:10008
#, gcc-internal-format
msgid "Stack realignment not supported with %<__builtin_eh_return%>"
msgstr ""
-#: config/i386/i386.cc:10006
+#: config/i386/i386.cc:10013
#, gcc-internal-format
msgid "regparm nested function not supported with %<__builtin_eh_return%>"
msgstr ""
-#: config/i386/i386.cc:10397
+#: config/i386/i386.cc:10404
#, gcc-internal-format
msgid "%<-fsplit-stack%> does not support fastcall with nested function"
msgstr ""
-#: config/i386/i386.cc:10417
+#: config/i386/i386.cc:10424
#, gcc-internal-format
msgid ""
"%<-fsplit-stack%> does not support 2 register parameters for a nested "
@@ -45016,57 +44996,57 @@ msgstr ""
#. FIXME: We could make this work by pushing a register
#. around the addition and comparison.
-#: config/i386/i386.cc:10428
+#: config/i386/i386.cc:10435
#, gcc-internal-format
msgid "%<-fsplit-stack%> does not support 3 register parameters"
msgstr ""
-#: config/i386/i386.cc:13431
+#: config/i386/i386.cc:13438
#, gcc-internal-format
msgid "%<V%> modifier on non-integer register"
msgstr ""
-#: config/i386/i386.cc:13442 config/i386/i386.cc:13456
+#: config/i386/i386.cc:13449 config/i386/i386.cc:13463
#, gcc-internal-format
msgid "unsupported size for integer register"
msgstr ""
-#: config/i386/i386.cc:13488
+#: config/i386/i386.cc:13495
#, gcc-internal-format
msgid "extended registers have no high halves"
msgstr ""
-#: config/i386/i386.cc:13503
+#: config/i386/i386.cc:13510
#, gcc-internal-format
msgid "unsupported operand size for extended register"
msgstr ""
-#: config/i386/i386.cc:13701 config/i386/i386.cc:13703
+#: config/i386/i386.cc:13708 config/i386/i386.cc:13710
#, gcc-internal-format
msgid "non-integer operand used with operand code %<z%>"
msgstr ""
-#: config/i386/i386.cc:17911
+#: config/i386/i386.cc:17918
#, gcc-internal-format
msgid ""
"empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)"
msgstr ""
-#: config/i386/i386.cc:23142
+#: config/i386/i386.cc:23169
msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}"
msgstr ""
-#: config/i386/i386.cc:23223
+#: config/i386/i386.cc:23256
#, gcc-internal-format
msgid "no register available for profiling %<-mcmodel=large%s%>"
msgstr ""
-#: config/i386/i386.cc:23319
+#: config/i386/i386.cc:23352
#, gcc-internal-format
msgid "profiling %<-mcmodel=large%> with PIC is not supported"
msgstr ""
-#: config/i386/i386.cc:24032
+#: config/i386/i386.cc:24067
#, gcc-internal-format
msgid ""
"%<__bfloat16%> is redefined from typedef %<short%> to real %<__bf16%> since "
@@ -45074,22 +45054,22 @@ msgid ""
"%<short%>; an explicit bitcast may be needed here"
msgstr ""
-#: config/i386/i386.cc:25566
+#: config/i386/i386.cc:25726
#, gcc-internal-format
msgid "unknown architecture specific memory model"
msgstr ""
-#: config/i386/i386.cc:25573
+#: config/i386/i386.cc:25733
#, gcc-internal-format
msgid "%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger memory model"
msgstr ""
-#: config/i386/i386.cc:25580
+#: config/i386/i386.cc:25740
#, gcc-internal-format
msgid "%<HLE_RELEASE%> not used with %<RELEASE%> or stronger memory model"
msgstr ""
-#: config/i386/i386.cc:26267
+#: config/i386/i386.cc:26427
#, gcc-internal-format
msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>"
msgstr ""
@@ -45302,8 +45282,8 @@ msgstr ""
msgid "%qs cannot be used for compiling a shared library"
msgstr ""
-#: config/loongarch/loongarch-target-attr.cc:246 config/s390/s390.cc:16704
-#: config/s390/s390.cc:16754 config/s390/s390.cc:16771
+#: config/loongarch/loongarch-target-attr.cc:246 config/s390/s390.cc:16727
+#: config/s390/s390.cc:16777 config/s390/s390.cc:16794
#, gcc-internal-format
msgid "attribute %<target%> argument %qs is unknown"
msgstr ""
@@ -45424,7 +45404,7 @@ msgstr ""
msgid "stack limit expression is not supported"
msgstr ""
-#: config/m68k/m68k.cc:7175 config/s390/s390.cc:17394
+#: config/m68k/m68k.cc:7175 config/s390/s390.cc:17417
#, gcc-internal-format
msgid "%<-fexcess-precision=16%> is not supported on this target"
msgstr ""
@@ -45598,7 +45578,8 @@ msgstr ""
#: config/mips/mips.cc:20427 config/mips/mips.cc:20432
#: config/mips/mips.cc:20522 config/mips/mips.cc:20524
#: config/mips/mips.cc:20554 config/mips/mips.cc:20562
-#: config/mips/mips.cc:20668 config/mips/mips.cc:20692
+#: config/mips/mips.cc:20668 config/mips/mips.cc:20682
+#: config/mips/mips.cc:20695
#, gcc-internal-format, gfc-internal-format
msgid "unsupported combination: %s"
msgstr ""
@@ -45687,92 +45668,92 @@ msgstr ""
msgid "unsupported combination: %qs%s %s"
msgstr ""
-#: config/mips/mips.cc:20685
+#: config/mips/mips.cc:20688
#, gcc-internal-format
msgid "unsupported combination: %qs %s"
msgstr ""
-#: config/mips/mips.cc:20700
+#: config/mips/mips.cc:20703
#, gcc-internal-format
msgid "cannot generate position-independent code for %qs"
msgstr ""
-#: config/mips/mips.cc:20703
+#: config/mips/mips.cc:20706
#, gcc-internal-format
msgid "position-independent code requires %qs"
msgstr ""
-#: config/mips/mips.cc:20736
+#: config/mips/mips.cc:20739
#, gcc-internal-format
msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
msgstr ""
-#: config/mips/mips.cc:20744 config/mips/mips.cc:20747
+#: config/mips/mips.cc:20747 config/mips/mips.cc:20750
#, gcc-internal-format
msgid "cannot use small-data accesses for %qs"
msgstr ""
-#: config/mips/mips.cc:20764
+#: config/mips/mips.cc:20767
#, gcc-internal-format
msgid "the %qs architecture does not support %<-m%s=legacy%>"
msgstr ""
-#: config/mips/mips.cc:20771
+#: config/mips/mips.cc:20774
#, gcc-internal-format
msgid "the %qs architecture does not support %<-m%s=2008%>"
msgstr ""
-#: config/mips/mips.cc:20789
+#: config/mips/mips.cc:20792
#, gcc-internal-format
msgid "%<-mips3d%> requires %<-mpaired-single%>"
msgstr ""
-#: config/mips/mips.cc:20799
+#: config/mips/mips.cc:20802
#, gcc-internal-format
msgid "%qs must be used with %qs"
msgstr ""
-#: config/mips/mips.cc:20809
+#: config/mips/mips.cc:20812
#, gcc-internal-format
msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>"
msgstr ""
-#: config/mips/mips.cc:20816
+#: config/mips/mips.cc:20819
#, gcc-internal-format
msgid "the %qs architecture does not support paired-single instructions"
msgstr ""
-#: config/mips/mips.cc:20825
+#: config/mips/mips.cc:20828
#, gcc-internal-format
msgid "%qs requires a target that provides the %qs instruction"
msgstr ""
-#: config/mips/mips.cc:20836
+#: config/mips/mips.cc:20839
#, gcc-internal-format
msgid "the %qs architecture does not support DSP instructions"
msgstr ""
-#: config/mips/mips.cc:20846
+#: config/mips/mips.cc:20849
#, gcc-internal-format
msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>"
msgstr ""
-#: config/mips/mips.cc:20856
+#: config/mips/mips.cc:20859
#, gcc-internal-format
msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>"
msgstr ""
-#: config/mips/mips.cc:20951
+#: config/mips/mips.cc:20954
#, gcc-internal-format
msgid "%qs requires branch-likely instructions"
msgstr ""
-#: config/mips/mips.cc:20955
+#: config/mips/mips.cc:20958
#, gcc-internal-format
msgid "the %qs architecture does not support the synci instruction"
msgstr ""
-#: config/mips/mips.cc:21791
+#: config/mips/mips.cc:21794
#, gcc-internal-format
msgid "mips16 function profiling"
msgstr ""
@@ -46311,12 +46292,12 @@ msgstr ""
msgid "unrecognizable argument of option "
msgstr ""
-#: config/nvptx/mkoffload.cc:801
+#: config/nvptx/mkoffload.cc:804
#, gcc-internal-format, gfc-internal-format
msgid "cannot open '%s'"
msgstr ""
-#: config/nvptx/mkoffload.cc:857
+#: config/nvptx/mkoffload.cc:860
#, gcc-internal-format
msgid "cannot open intermediate ptx file"
msgstr ""
@@ -46349,64 +46330,64 @@ msgid ""
"static initialization of variable %q+D in %<.shared%> memory is not supported"
msgstr ""
-#: config/nvptx/nvptx.cc:2391
+#: config/nvptx/nvptx.cc:2409
#, gcc-internal-format
msgid "cannot emit unaligned pointers in ptx assembly"
msgstr ""
-#: config/nvptx/nvptx.cc:2641
+#: config/nvptx/nvptx.cc:2659
#, gcc-internal-format
msgid "PTX does not support weak declarations (only weak definitions)"
msgstr ""
-#: config/nvptx/nvptx.cc:5882
+#: config/nvptx/nvptx.cc:5900
#, gcc-internal-format
msgid "%qE attribute requires a void return type"
msgstr ""
-#: config/nvptx/nvptx.cc:5905
+#: config/nvptx/nvptx.cc:5923
#, gcc-internal-format
msgid "%qE attribute not allowed with auto storage class"
msgstr ""
-#: config/nvptx/nvptx.cc:6350
+#: config/nvptx/nvptx.cc:6368
#, gcc-internal-format
msgid "barrier value must be within [0,15]"
msgstr ""
-#: config/nvptx/nvptx.cc:6363
+#: config/nvptx/nvptx.cc:6381
#, gcc-internal-format
msgid "complement argument must be constant"
msgstr ""
-#: config/nvptx/nvptx.cc:6703
+#: config/nvptx/nvptx.cc:6721
#, gcc-internal-format
msgid ""
"using %<vector_length (%d)%> due to call to vector-partitionable routine, "
"ignoring %d"
msgstr ""
-#: config/nvptx/nvptx.cc:6711
+#: config/nvptx/nvptx.cc:6729
#, gcc-internal-format
msgid "using %<vector_length (%d)%>, ignoring runtime setting"
msgstr ""
-#: config/nvptx/nvptx.cc:6725
+#: config/nvptx/nvptx.cc:6743
#, gcc-internal-format
msgid "using %<vector_length (%d)%>, ignoring %d"
msgstr ""
-#: config/nvptx/nvptx.cc:7611
+#: config/nvptx/nvptx.cc:7629
#, gcc-internal-format
msgid "variable %qD adjusted for OpenACC privatization level: %qs"
msgstr ""
-#: config/nvptx/nvptx.cc:7750
+#: config/nvptx/nvptx.cc:7768
#, gcc-internal-format
msgid "weak alias definitions not supported in this configuration"
msgstr ""
-#: config/nvptx/nvptx.cc:7763
+#: config/nvptx/nvptx.cc:7781
#, gcc-internal-format
msgid "non-function alias definitions not supported in this configuration"
msgstr ""
@@ -46595,22 +46576,22 @@ msgstr ""
msgid "%<target()%> attribute: invalid priority %qs"
msgstr ""
-#: config/riscv/riscv-target-attr.cc:297
+#: config/riscv/riscv-target-attr.cc:293
#, gcc-internal-format
msgid "malformed %<target()%> attribute"
msgstr ""
-#: config/riscv/riscv-target-attr.cc:311
+#: config/riscv/riscv-target-attr.cc:307
#, gcc-internal-format
msgid "attribute %<target(\"%s\")%> does not accept an argument"
msgstr ""
-#: config/riscv/riscv-target-attr.cc:331
+#: config/riscv/riscv-target-attr.cc:327
#, gcc-internal-format
msgid "Got unknown attribute %<target(\"%s\")%>"
msgstr ""
-#: config/riscv/riscv-target-attr.cc:394
+#: config/riscv/riscv-target-attr.cc:390
#, gcc-internal-format
msgid "malformed %<target(\"%s\")%> attribute"
msgstr ""
@@ -46632,89 +46613,109 @@ msgid ""
"%wd] or %wd"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4735
+#: config/riscv/riscv-vector-builtins.cc:4739
#, gcc-internal-format
msgid "RVV type %qT does not have a fixed size"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4741
+#: config/riscv/riscv-vector-builtins.cc:4745
#, gcc-internal-format
msgid "RVV type %qT does not have a defined alignment"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4756
+#: config/riscv/riscv-vector-builtins.cc:4760
#, gcc-internal-format
msgid "arithmetic on pointer to RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4764
+#: config/riscv/riscv-vector-builtins.cc:4768
#, gcc-internal-format
msgid "member variables cannot have RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4766
+#: config/riscv/riscv-vector-builtins.cc:4770
#, gcc-internal-format
msgid "fields cannot have RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4772
+#: config/riscv/riscv-vector-builtins.cc:4776
#, gcc-internal-format
msgid "array elements cannot have RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4778
+#: config/riscv/riscv-vector-builtins.cc:4782
#, gcc-internal-format
msgid "cannot allocate objects with RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4784
+#: config/riscv/riscv-vector-builtins.cc:4788
#, gcc-internal-format
msgid "cannot delete objects with RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4790
+#: config/riscv/riscv-vector-builtins.cc:4794
#, gcc-internal-format
msgid "cannot throw or catch RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4796
+#: config/riscv/riscv-vector-builtins.cc:4800
#, gcc-internal-format
msgid "capture by copy of RVV type %qT"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4890
+#: config/riscv/riscv-vector-builtins.cc:4806
+#, gcc-internal-format
+msgid "RVV type %qT not allowed in %<map%> clause"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4816
+#, gcc-internal-format
+msgid "RVV type %qT not allowed in %<target%> %<private%> clause"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4822
+#, gcc-internal-format
+msgid "RVV type %qT not allowed in %<target%> %<firstprivate%> clause"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4828
+#, gcc-internal-format
+msgid "RVV type %qT not allowed in %<target%> device clauses"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:4922
#, gcc-internal-format
msgid "built-in function %qE requires the zvfbfmin or zvfbfwma ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4900
+#: config/riscv/riscv-vector-builtins.cc:4932
#, gcc-internal-format
msgid "built-in function %qE requires the zvfhmin or zvfh ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4910
+#: config/riscv/riscv-vector-builtins.cc:4942
#, gcc-internal-format
msgid ""
"built-in function %qE requires the zve32f, zve64f, zve64d or v ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4920
+#: config/riscv/riscv-vector-builtins.cc:4952
#, gcc-internal-format
msgid "built-in function %qE requires the zve64d or v ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4929
+#: config/riscv/riscv-vector-builtins.cc:4961
#, gcc-internal-format
msgid ""
"built-in function %qE requires the zve64x, zve64f, zve64d or v ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:4949
+#: config/riscv/riscv-vector-builtins.cc:4981
#, gcc-internal-format
msgid "built-in function %qE requires the %qs ISA extension"
msgstr ""
-#: config/riscv/riscv-vector-builtins.cc:5002
+#: config/riscv/riscv-vector-builtins.cc:5034
#, gcc-internal-format
msgid "no matching function call to %qE with empty arguments"
msgstr ""
@@ -47498,19 +47499,19 @@ msgstr ""
msgid "Virtual function multiversioning not supported"
msgstr ""
-#: config/rs6000/rs6000.cc:28798
+#: config/rs6000/rs6000.cc:28801
#, gcc-internal-format
msgid ""
"the result for the xxspltidp instruction is undefined for subnormal input "
"values"
msgstr ""
-#: config/rs6000/rs6000.cc:29276
+#: config/rs6000/rs6000.cc:29279
#, gcc-internal-format
msgid "type %<__vector_quad%> requires the %qs option"
msgstr ""
-#: config/rs6000/rs6000.cc:29281
+#: config/rs6000/rs6000.cc:29284
#, gcc-internal-format
msgid "type %<__vector_pair%> requires the %qs option"
msgstr ""
@@ -47595,7 +47596,7 @@ msgstr ""
#: config/s390/s390-c.cc:965
#, gcc-internal-format
-msgid "%qF requires arch15 or higher"
+msgid "%qF requires z17 or higher"
msgstr ""
#: config/s390/s390-c.cc:979
@@ -47625,7 +47626,7 @@ msgstr ""
#: config/s390/s390-c.cc:1059
#, gcc-internal-format
-msgid "%qs matching variant requires arch15 or higher"
+msgid "%qs matching variant requires z17 or higher"
msgstr ""
#: config/s390/s390-c.cc:1065
@@ -47677,7 +47678,7 @@ msgstr ""
#: config/s390/s390.cc:919
#, gcc-internal-format
-msgid "Builtin %qF requires arch15 or higher"
+msgid "Builtin %qF requires z17 or higher"
msgstr ""
#: config/s390/s390.cc:938
@@ -47749,128 +47750,128 @@ msgstr ""
msgid "nested functions cannot be profiled with %<-mfentry%> on s390"
msgstr ""
-#: config/s390/s390.cc:16273
+#: config/s390/s390.cc:16296
#, gcc-internal-format
msgid "64-bit ABI not supported in ESA/390 mode"
msgstr ""
-#: config/s390/s390.cc:16280
+#: config/s390/s390.cc:16303
#, gcc-internal-format
msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>"
msgstr ""
-#: config/s390/s390.cc:16315
+#: config/s390/s390.cc:16338
#, gcc-internal-format, gfc-internal-format
msgid "hardware vector support not available on %s"
msgstr ""
-#: config/s390/s390.cc:16318
+#: config/s390/s390.cc:16341
#, gcc-internal-format
msgid "hardware vector support not available with %<-msoft-float%>"
msgstr ""
-#: config/s390/s390.cc:16347
+#: config/s390/s390.cc:16370
#, gcc-internal-format, gfc-internal-format
msgid "hardware decimal floating-point instructions not available on %s"
msgstr ""
-#: config/s390/s390.cc:16351
+#: config/s390/s390.cc:16374
#, gcc-internal-format
msgid ""
"hardware decimal floating-point instructions not available in ESA/390 mode"
msgstr ""
-#: config/s390/s390.cc:16363
+#: config/s390/s390.cc:16386
#, gcc-internal-format
msgid "%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>"
msgstr ""
-#: config/s390/s390.cc:16372
+#: config/s390/s390.cc:16395
#, gcc-internal-format
msgid ""
"%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in "
"combination"
msgstr ""
-#: config/s390/s390.cc:16378
+#: config/s390/s390.cc:16401
#, gcc-internal-format
msgid "stack size must be greater than the stack guard value"
msgstr ""
-#: config/s390/s390.cc:16380
+#: config/s390/s390.cc:16403
#, gcc-internal-format
msgid "stack size must not be greater than 64k"
msgstr ""
-#: config/s390/s390.cc:16383
+#: config/s390/s390.cc:16406
#, gcc-internal-format
msgid "%<-mstack-guard%> implies use of %<-mstack-size%>"
msgstr ""
-#: config/s390/s390.cc:16396
+#: config/s390/s390.cc:16419
#, gcc-internal-format
msgid "%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095"
msgstr ""
-#: config/s390/s390.cc:16399
+#: config/s390/s390.cc:16422
#, gcc-internal-format
msgid "%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095"
msgstr ""
-#: config/s390/s390.cc:16402
+#: config/s390/s390.cc:16425
#, gcc-internal-format
msgid "%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095"
msgstr ""
-#: config/s390/s390.cc:16405
+#: config/s390/s390.cc:16428
#, gcc-internal-format
msgid "%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095"
msgstr ""
-#: config/s390/s390.cc:16469
+#: config/s390/s390.cc:16492
#, gcc-internal-format
msgid "%<-mfentry%> is supported only for 64-bit CPUs"
msgstr ""
#. argument is not a plain number
-#: config/s390/s390.cc:16505
+#: config/s390/s390.cc:16528
#, gcc-internal-format
msgid "arguments to %qs should be non-negative integers"
msgstr ""
-#: config/s390/s390.cc:16512
+#: config/s390/s390.cc:16535
#, gcc-internal-format
msgid "argument to %qs is too large (max. %d)"
msgstr ""
-#: config/s390/s390.cc:16543
+#: config/s390/s390.cc:16566
#, gcc-internal-format
msgid ""
"%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>"
msgstr ""
#. Value is not allowed for the target attribute.
-#: config/s390/s390.cc:16710
+#: config/s390/s390.cc:16733
#, gcc-internal-format
msgid "value %qs is not supported by attribute %<target%>"
msgstr ""
-#: config/s390/s390.cc:17769
+#: config/s390/s390.cc:17792
#, gcc-internal-format
msgid "invalid cc output constraint: %qs"
msgstr ""
-#: config/s390/s390.cc:17774
+#: config/s390/s390.cc:17797
#, gcc-internal-format
msgid "multiple cc output constraints not supported"
msgstr ""
-#: config/s390/s390.cc:17779
+#: config/s390/s390.cc:17802
#, gcc-internal-format
msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
msgstr ""
-#: config/s390/s390.cc:17785
+#: config/s390/s390.cc:17808
#, gcc-internal-format
msgid "invalid type for cc output constraint"
msgstr ""
@@ -48247,55 +48248,55 @@ msgstr ""
msgid "number of components of vector not a power of two"
msgstr ""
-#: ada/gcc-interface/utils.cc:6690 ada/gcc-interface/utils.cc:6868
-#: ada/gcc-interface/utils.cc:7108
+#: ada/gcc-interface/utils.cc:6705 ada/gcc-interface/utils.cc:6883
+#: ada/gcc-interface/utils.cc:7123
#, gcc-internal-format
msgid "%qs attribute ignored"
msgstr ""
-#: ada/gcc-interface/utils.cc:6745
+#: ada/gcc-interface/utils.cc:6760
#, gcc-internal-format
msgid "%qs attribute without arguments on a non-prototype"
msgstr ""
-#: ada/gcc-interface/utils.cc:6760
+#: ada/gcc-interface/utils.cc:6775
#, gcc-internal-format
msgid "%qs argument has invalid operand number (argument %lu)"
msgstr ""
-#: ada/gcc-interface/utils.cc:6782
+#: ada/gcc-interface/utils.cc:6797
#, gcc-internal-format
msgid ""
"%qs argument with out-of-range operand number (argument %lu, operand %lu)"
msgstr ""
-#: ada/gcc-interface/utils.cc:6791
+#: ada/gcc-interface/utils.cc:6806
#, gcc-internal-format
msgid "%qs argument references non-pointer operand (argument %lu, operand %lu)"
msgstr ""
-#: ada/gcc-interface/utils.cc:6812
+#: ada/gcc-interface/utils.cc:6827
#, gcc-internal-format
msgid "%qs attribute requires prototypes with named arguments"
msgstr ""
-#: ada/gcc-interface/utils.cc:6821
+#: ada/gcc-interface/utils.cc:6836
#, gcc-internal-format
msgid "%qs attribute only applies to variadic functions"
msgstr ""
-#: ada/gcc-interface/utils.cc:7068 d/d-attribs.cc:362 d/d-attribs.cc:488
+#: ada/gcc-interface/utils.cc:7083 d/d-attribs.cc:362 d/d-attribs.cc:488
#: rust/rust-attribs.cc:176
#, gcc-internal-format
msgid "%qE attribute has no effect"
msgstr ""
-#: ada/gcc-interface/utils.cc:7403
+#: ada/gcc-interface/utils.cc:7418
#, gcc-internal-format
msgid "attribute %qs applies to array types only"
msgstr ""
-#: c/c-convert.cc:104 c/c-typeck.cc:2720 c/c-typeck.cc:14846 cp/typeck.cc:2520
+#: c/c-convert.cc:104 c/c-typeck.cc:2730 c/c-typeck.cc:14860 cp/typeck.cc:2520
#: cp/typeck.cc:9603 cp/typeck.cc:10396 d/d-convert.cc:262
#, gcc-internal-format
msgid "void value not ignored as it ought to be"
@@ -48316,476 +48317,476 @@ msgstr ""
msgid "conversion to non-scalar type requested"
msgstr ""
-#: c/c-decl.cc:913
+#: c/c-decl.cc:914
#, gcc-internal-format
msgid "array %q+D assumed to have one element"
msgstr ""
-#: c/c-decl.cc:954
+#: c/c-decl.cc:955
#, gcc-internal-format
msgid "%qD is static but used in inline function %qD which is not static"
msgstr ""
-#: c/c-decl.cc:959
+#: c/c-decl.cc:960
#, gcc-internal-format
msgid "%q+D is static but declared in inline function %qD which is not static"
msgstr ""
-#: c/c-decl.cc:1155
+#: c/c-decl.cc:1156
#, gcc-internal-format, gfc-internal-format
msgid "GCC supports only %u nested scopes"
msgstr ""
-#: c/c-decl.cc:1297 cp/decl.cc:382
+#: c/c-decl.cc:1298 cp/decl.cc:382
#, gcc-internal-format
msgid "label %q+D used but not defined"
msgstr ""
-#: c/c-decl.cc:1342
+#: c/c-decl.cc:1343
#, gcc-internal-format
msgid "nested function %q+D declared but never defined"
msgstr ""
-#: c/c-decl.cc:1356
+#: c/c-decl.cc:1357
#, gcc-internal-format
msgid "inline function %q+D declared but never defined"
msgstr ""
-#: c/c-decl.cc:1374
+#: c/c-decl.cc:1375
#, gcc-internal-format
msgid "unused variable %q+D"
msgstr ""
-#: c/c-decl.cc:1380 cp/decl.cc:755
+#: c/c-decl.cc:1381 cp/decl.cc:755
#, gcc-internal-format
msgid "variable %qD set but not used"
msgstr ""
-#: c/c-decl.cc:1385
+#: c/c-decl.cc:1386
#, gcc-internal-format
msgid "type of array %q+D completed incompatibly with implicit initialization"
msgstr ""
-#: c/c-decl.cc:1560
+#: c/c-decl.cc:1561
#, gcc-internal-format
msgid ""
"underspecified declaration of %qE, which is already declared in this scope"
msgstr ""
-#: c/c-decl.cc:1731 c/c-decl.cc:7924 c/c-decl.cc:8923 c/c-decl.cc:9858
-#: c/c-decl.cc:9864 c/c-decl.cc:10091
+#: c/c-decl.cc:1732 c/c-decl.cc:7925 c/c-decl.cc:8924 c/c-decl.cc:9859
+#: c/c-decl.cc:9865 c/c-decl.cc:10092
#, gcc-internal-format
msgid "originally defined here"
msgstr ""
-#: c/c-decl.cc:1954
+#: c/c-decl.cc:1955
#, gcc-internal-format
msgid ""
"a parameter list with an ellipsis cannot match an empty parameter name list "
"declaration"
msgstr ""
-#: c/c-decl.cc:1962
+#: c/c-decl.cc:1963
#, gcc-internal-format
msgid ""
"an argument type that has a default promotion cannot match an empty "
"parameter name list declaration"
msgstr ""
-#: c/c-decl.cc:2010
+#: c/c-decl.cc:2011
#, gcc-internal-format
msgid ""
"prototype for %q+D declares more arguments than previous old-style definition"
msgstr ""
-#: c/c-decl.cc:2016
+#: c/c-decl.cc:2017
#, gcc-internal-format
msgid ""
"prototype for %q+D declares fewer arguments than previous old-style "
"definition"
msgstr ""
-#: c/c-decl.cc:2025
+#: c/c-decl.cc:2026
#, gcc-internal-format
msgid "prototype for %q+D declares argument %d with incompatible type"
msgstr ""
#. If we get here, no errors were found, but do issue a warning
#. for this poor-style construct.
-#: c/c-decl.cc:2038
+#: c/c-decl.cc:2039
#, gcc-internal-format
msgid "prototype for %q+D follows non-prototype definition"
msgstr ""
-#: c/c-decl.cc:2056
+#: c/c-decl.cc:2057
#, gcc-internal-format
msgid "previous definition of %q+D with type %qT"
msgstr ""
-#: c/c-decl.cc:2060
+#: c/c-decl.cc:2061
#, gcc-internal-format
msgid "previous implicit declaration of %q+D with type %qT"
msgstr ""
-#: c/c-decl.cc:2064
+#: c/c-decl.cc:2065
#, gcc-internal-format
msgid "previous declaration of %q+D with type %qT"
msgstr ""
-#: c/c-decl.cc:2126
+#: c/c-decl.cc:2127
#, gcc-internal-format
msgid "%q+D redeclared as different kind of symbol"
msgstr ""
-#: c/c-decl.cc:2131
+#: c/c-decl.cc:2132
#, gcc-internal-format
msgid "built-in function %q+D declared as non-function"
msgstr ""
-#: c/c-decl.cc:2134 c/c-decl.cc:3274
+#: c/c-decl.cc:2135 c/c-decl.cc:3275
#, gcc-internal-format
msgid "declaration of %q+D shadows a built-in function"
msgstr ""
-#: c/c-decl.cc:2151
+#: c/c-decl.cc:2152
#, gcc-internal-format
msgid "conflicting redeclaration of enumerator %q+D"
msgstr ""
-#: c/c-decl.cc:2158
+#: c/c-decl.cc:2159
#, gcc-internal-format
msgid "redeclaration of enumerator %q+D"
msgstr ""
-#: c/c-decl.cc:2198
+#: c/c-decl.cc:2199
#, gcc-internal-format
msgid "conflicting types for built-in function %q+D; expected %qT"
msgstr ""
-#: c/c-decl.cc:2208 c/c-decl.cc:2233
+#: c/c-decl.cc:2209 c/c-decl.cc:2234
#, gcc-internal-format
msgid "%qD is declared in header %qs"
msgstr ""
-#: c/c-decl.cc:2219
+#: c/c-decl.cc:2220
#, gcc-internal-format
msgid "mismatch in argument %u type of built-in function %qD; expected %qT"
msgstr ""
-#: c/c-decl.cc:2224
+#: c/c-decl.cc:2225
#, gcc-internal-format
msgid "mismatch in return type of built-in function %qD; expected %qT"
msgstr ""
-#: c/c-decl.cc:2257
+#: c/c-decl.cc:2258
#, gcc-internal-format
msgid "conflicting types for %q+D"
msgstr ""
-#: c/c-decl.cc:2270 c/c-decl.cc:2307
+#: c/c-decl.cc:2271 c/c-decl.cc:2308
#, gcc-internal-format
msgid "conflicting types for %q+D; have %qT"
msgstr ""
-#: c/c-decl.cc:2287
+#: c/c-decl.cc:2288
#, gcc-internal-format
msgid "conflicting named address spaces (generic vs %s) for %q+D"
msgstr ""
-#: c/c-decl.cc:2291
+#: c/c-decl.cc:2292
#, gcc-internal-format
msgid "conflicting named address spaces (%s vs generic) for %q+D"
msgstr ""
-#: c/c-decl.cc:2295
+#: c/c-decl.cc:2296
#, gcc-internal-format
msgid "conflicting named address spaces (%s vs %s) for %q+D"
msgstr ""
-#: c/c-decl.cc:2304
+#: c/c-decl.cc:2305
#, gcc-internal-format
msgid "conflicting type qualifiers for %q+D"
msgstr ""
-#: c/c-decl.cc:2325
+#: c/c-decl.cc:2326
#, gcc-internal-format
msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT"
msgstr ""
-#: c/c-decl.cc:2342
+#: c/c-decl.cc:2343
#, gcc-internal-format
msgid "redefinition of typedef %q+D with different type"
msgstr ""
-#: c/c-decl.cc:2355
+#: c/c-decl.cc:2356
#, gcc-internal-format
msgid "redefinition of typedef %q+D with variably modified type"
msgstr ""
-#: c/c-decl.cc:2360
+#: c/c-decl.cc:2361
#, gcc-internal-format
msgid "redefinition of typedef %q+D"
msgstr ""
-#: c/c-decl.cc:2388
+#: c/c-decl.cc:2389
#, gcc-internal-format
msgid "declaration of %qD shadows a built-in function"
msgstr ""
-#: c/c-decl.cc:2404
+#: c/c-decl.cc:2405
#, gcc-internal-format
msgid "declaration of built-in function %qD without a prototype; expected %qT"
msgstr ""
-#: c/c-decl.cc:2428 c/c-decl.cc:2551
+#: c/c-decl.cc:2429 c/c-decl.cc:2552
#, gcc-internal-format
msgid "redefinition of %q+D"
msgstr ""
-#: c/c-decl.cc:2467 c/c-decl.cc:2591
+#: c/c-decl.cc:2468 c/c-decl.cc:2592
#, gcc-internal-format
msgid "static declaration of %q+D follows non-static declaration"
msgstr ""
-#: c/c-decl.cc:2478 c/c-decl.cc:2486 c/c-decl.cc:2580 c/c-decl.cc:2588
+#: c/c-decl.cc:2479 c/c-decl.cc:2487 c/c-decl.cc:2581 c/c-decl.cc:2589
#, gcc-internal-format
msgid "non-static declaration of %q+D follows static declaration"
msgstr ""
-#: c/c-decl.cc:2503
+#: c/c-decl.cc:2504
#, gcc-internal-format
msgid "%<gnu_inline%> attribute present on %q+D"
msgstr ""
-#: c/c-decl.cc:2506
+#: c/c-decl.cc:2507
#, gcc-internal-format
msgid "but not here"
msgstr ""
-#: c/c-decl.cc:2525
+#: c/c-decl.cc:2526
#, gcc-internal-format
msgid "thread-local declaration of %q+D follows non-thread-local declaration"
msgstr ""
-#: c/c-decl.cc:2528
+#: c/c-decl.cc:2529
#, gcc-internal-format
msgid "non-thread-local declaration of %q+D follows thread-local declaration"
msgstr ""
-#: c/c-decl.cc:2572
+#: c/c-decl.cc:2573
#, gcc-internal-format
msgid "extern declaration of %q+D follows declaration with no linkage"
msgstr ""
-#: c/c-decl.cc:2610
+#: c/c-decl.cc:2611
#, gcc-internal-format
msgid "declaration of %q+D with no linkage follows extern declaration"
msgstr ""
-#: c/c-decl.cc:2617
+#: c/c-decl.cc:2618
#, gcc-internal-format
msgid "redeclaration of %q+D with no linkage"
msgstr ""
-#: c/c-decl.cc:2643
+#: c/c-decl.cc:2644
#, gcc-internal-format
msgid ""
"redeclaration of %q+D with different visibility (old visibility preserved)"
msgstr ""
-#: c/c-decl.cc:2664
+#: c/c-decl.cc:2665
#, gcc-internal-format
msgid "redefinition of parameter %q+D"
msgstr ""
-#: c/c-decl.cc:2691
+#: c/c-decl.cc:2692
#, gcc-internal-format
msgid "redundant redeclaration of %q+D"
msgstr ""
-#: c/c-decl.cc:3232
+#: c/c-decl.cc:3233
#, gcc-internal-format
msgid "declaration of %q+D shadows previous non-variable"
msgstr ""
-#: c/c-decl.cc:3254
+#: c/c-decl.cc:3255
#, gcc-internal-format
msgid "declaration of %qD shadows a parameter"
msgstr ""
-#: c/c-decl.cc:3267 cp/name-lookup.cc:3569
+#: c/c-decl.cc:3268 cp/name-lookup.cc:3569
#, gcc-internal-format
msgid "declaration of %qD shadows a global declaration"
msgstr ""
-#: c/c-decl.cc:3293
+#: c/c-decl.cc:3294
#, gcc-internal-format
msgid "declaration of %qD shadows a previous local"
msgstr ""
-#: c/c-decl.cc:3299 cp/name-lookup.cc:3286
+#: c/c-decl.cc:3300 cp/name-lookup.cc:3286
#, gcc-internal-format
msgid "shadowed declaration is here"
msgstr ""
-#: c/c-decl.cc:3432
+#: c/c-decl.cc:3433
#, gcc-internal-format
msgid "nested extern declaration of %qD"
msgstr ""
-#: c/c-decl.cc:3588 c/c-decl.cc:3602
+#: c/c-decl.cc:3589 c/c-decl.cc:3603
#, gcc-internal-format
msgid "implicit declaration of function %qE; did you mean %qs?"
msgstr ""
-#: c/c-decl.cc:3594 c/c-decl.cc:3607
+#: c/c-decl.cc:3595 c/c-decl.cc:3608
#, gcc-internal-format
msgid "implicit declaration of function %qE"
msgstr ""
-#: c/c-decl.cc:3626
+#: c/c-decl.cc:3627
#, gcc-internal-format
msgid "include %qs or provide a declaration of %qE"
msgstr ""
-#: c/c-decl.cc:3897
+#: c/c-decl.cc:3898
#, gcc-internal-format
msgid "incompatible implicit declaration of built-in function %qD"
msgstr ""
-#: c/c-decl.cc:3907
+#: c/c-decl.cc:3908
#, gcc-internal-format
msgid "include %qs or provide a declaration of %qD"
msgstr ""
-#: c/c-decl.cc:3918
+#: c/c-decl.cc:3919
#, gcc-internal-format
msgid "incompatible implicit declaration of function %qD"
msgstr ""
-#: c/c-decl.cc:3979
+#: c/c-decl.cc:3980
#, gcc-internal-format
msgid "%qE undeclared here (not in a function); did you mean %qs?"
msgstr ""
-#: c/c-decl.cc:3984
+#: c/c-decl.cc:3985
#, gcc-internal-format
msgid "%qE undeclared here (not in a function)"
msgstr ""
-#: c/c-decl.cc:3997
+#: c/c-decl.cc:3998
#, gcc-internal-format
msgid "%qE undeclared (first use in this function); did you mean %qs?"
msgstr ""
-#: c/c-decl.cc:4002
+#: c/c-decl.cc:4003
#, gcc-internal-format
msgid "%qE undeclared (first use in this function)"
msgstr ""
-#: c/c-decl.cc:4006
+#: c/c-decl.cc:4007
#, gcc-internal-format
msgid ""
"each undeclared identifier is reported only once for each function it "
"appears in"
msgstr ""
-#: c/c-decl.cc:4054 cp/decl.cc:3632
+#: c/c-decl.cc:4055 cp/decl.cc:3632
#, gcc-internal-format
msgid "label %qE referenced outside of any function"
msgstr ""
-#: c/c-decl.cc:4091
+#: c/c-decl.cc:4092
#, gcc-internal-format
msgid "jump into scope of identifier with variably modified type"
msgstr ""
-#: c/c-decl.cc:4094
+#: c/c-decl.cc:4095
#, gcc-internal-format
msgid "jump skips OpenMP %<allocate%> allocation"
msgstr ""
-#: c/c-decl.cc:4097
+#: c/c-decl.cc:4098
#, gcc-internal-format
msgid "jump skips variable initialization"
msgstr ""
-#: c/c-decl.cc:4099 c/c-decl.cc:4155 c/c-decl.cc:4246
+#: c/c-decl.cc:4100 c/c-decl.cc:4156 c/c-decl.cc:4247
#, gcc-internal-format
msgid "label %qD defined here"
msgstr ""
-#: c/c-decl.cc:4154 c/c-decl.cc:4245
+#: c/c-decl.cc:4155 c/c-decl.cc:4246
#, gcc-internal-format
msgid "jump into statement expression"
msgstr ""
-#: c/c-decl.cc:4177
+#: c/c-decl.cc:4178
#, gcc-internal-format
msgid "duplicate label declaration %qE"
msgstr ""
-#: c/c-decl.cc:4277 cp/decl.cc:4135
+#: c/c-decl.cc:4278 cp/decl.cc:4135
#, gcc-internal-format
msgid "duplicate label %qD"
msgstr ""
-#: c/c-decl.cc:4308
+#: c/c-decl.cc:4309
#, gcc-internal-format
msgid ""
"traditional C lacks a separate namespace for labels, identifier %qE conflicts"
msgstr ""
-#: c/c-decl.cc:4380
+#: c/c-decl.cc:4381
#, gcc-internal-format
msgid "switch jumps over OpenMP %<allocate%> allocation"
msgstr ""
-#: c/c-decl.cc:4386
+#: c/c-decl.cc:4387
#, gcc-internal-format
msgid "switch jumps over variable initialization"
msgstr ""
-#: c/c-decl.cc:4389 c/c-decl.cc:4402
+#: c/c-decl.cc:4390 c/c-decl.cc:4403
#, gcc-internal-format
msgid "switch starts here"
msgstr ""
-#: c/c-decl.cc:4401
+#: c/c-decl.cc:4402
#, gcc-internal-format
msgid "switch jumps into statement expression"
msgstr ""
-#: c/c-decl.cc:4484
+#: c/c-decl.cc:4485
#, gcc-internal-format
msgid "%qE defined as wrong kind of tag"
msgstr ""
-#: c/c-decl.cc:4681 cp/tree.cc:5085
+#: c/c-decl.cc:4682 cp/tree.cc:5085
#, gcc-internal-format
msgid "%qE attribute applied to %qD with void return type"
msgstr ""
-#: c/c-decl.cc:4690
+#: c/c-decl.cc:4691
#, gcc-internal-format
msgid ""
"%qE attribute can only be applied to functions or to structure, union or "
"enumeration types"
msgstr ""
-#: c/c-decl.cc:4710
+#: c/c-decl.cc:4711
#, gcc-internal-format
msgid "standard %qE attribute can only be applied to functions"
msgstr ""
-#: c/c-decl.cc:4730
+#: c/c-decl.cc:4731
#, gcc-internal-format
msgid ""
"standard %qE attribute can only be applied to function declarators or type "
"specifiers with function type"
msgstr ""
-#: c/c-decl.cc:4732
+#: c/c-decl.cc:4733
#, gcc-internal-format
msgid "did you mean to specify it after %<)%> following function parameters?"
msgstr ""
@@ -48794,125 +48795,125 @@ msgstr ""
#. 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:5037 c/c-decl.cc:8862
+#: c/c-decl.cc:5038 c/c-decl.cc:8863
#, gcc-internal-format
msgid "%qT declared in underspecified object initializer"
msgstr ""
-#: c/c-decl.cc:5048
+#: c/c-decl.cc:5049
#, gcc-internal-format
msgid "unnamed struct/union that defines no instances"
msgstr ""
-#: c/c-decl.cc:5059
+#: c/c-decl.cc:5060
#, gcc-internal-format
msgid "empty declaration with storage class specifier does not redeclare tag"
msgstr ""
-#: c/c-decl.cc:5075
+#: c/c-decl.cc:5076
#, gcc-internal-format
msgid "empty declaration with type qualifier does not redeclare tag"
msgstr ""
-#: c/c-decl.cc:5087
+#: c/c-decl.cc:5088
#, gcc-internal-format
msgid "empty declaration with %<_Alignas%> does not redeclare tag"
msgstr ""
-#: c/c-decl.cc:5101
+#: c/c-decl.cc:5102
#, gcc-internal-format
msgid "empty declaration of %<enum%> type does not redeclare tag"
msgstr ""
-#: c/c-decl.cc:5126 c/c-decl.cc:5134
+#: c/c-decl.cc:5127 c/c-decl.cc:5135
#, gcc-internal-format
msgid "useless type name in empty declaration"
msgstr ""
-#: c/c-decl.cc:5142
+#: c/c-decl.cc:5143
#, gcc-internal-format
msgid "%<inline%> in empty declaration"
msgstr ""
-#: c/c-decl.cc:5148
+#: c/c-decl.cc:5149
#, gcc-internal-format
msgid "%<_Noreturn%> in empty declaration"
msgstr ""
-#: c/c-decl.cc:5154
+#: c/c-decl.cc:5155
#, gcc-internal-format
msgid "%<constexpr%> in empty declaration"
msgstr ""
-#: c/c-decl.cc:5160
+#: c/c-decl.cc:5161
#, gcc-internal-format
msgid "%<auto%> in file-scope empty declaration"
msgstr ""
-#: c/c-decl.cc:5166
+#: c/c-decl.cc:5167
#, gcc-internal-format
msgid "%<register%> in file-scope empty declaration"
msgstr ""
-#: c/c-decl.cc:5174
+#: c/c-decl.cc:5175
#, gcc-internal-format
msgid ""
"storage class specifier in empty declaration with %<enum%> underlying type"
msgstr ""
-#: c/c-decl.cc:5180
+#: c/c-decl.cc:5181
#, gcc-internal-format
msgid "%qs in empty declaration with %<enum%> underlying type"
msgstr ""
-#: c/c-decl.cc:5190
+#: c/c-decl.cc:5191
#, gcc-internal-format
msgid "type qualifier in empty declaration with %<enum%> underlying type"
msgstr ""
-#: c/c-decl.cc:5196
+#: c/c-decl.cc:5197
#, gcc-internal-format
msgid "%<alignas%> in empty declaration with %<enum%> underlying type"
msgstr ""
-#: c/c-decl.cc:5205
+#: c/c-decl.cc:5206
#, gcc-internal-format
msgid "useless storage class specifier in empty declaration"
msgstr ""
-#: c/c-decl.cc:5211
+#: c/c-decl.cc:5212
#, gcc-internal-format
msgid "useless %qs in empty declaration"
msgstr ""
-#: c/c-decl.cc:5224
+#: c/c-decl.cc:5225
#, gcc-internal-format
msgid "useless type qualifier in empty declaration"
msgstr ""
-#: c/c-decl.cc:5231
+#: c/c-decl.cc:5232
#, gcc-internal-format
msgid "useless %<_Alignas%> in empty declaration"
msgstr ""
-#: c/c-decl.cc:5249
+#: c/c-decl.cc:5250
#, gcc-internal-format
msgid "invalid use of attributes in empty declaration"
msgstr ""
-#: c/c-decl.cc:5263 c/c-parser.cc:2513
+#: c/c-decl.cc:5264 c/c-parser.cc:2513
#, gcc-internal-format
msgid "empty declaration"
msgstr ""
-#: c/c-decl.cc:5335
+#: c/c-decl.cc:5336
#, gcc-internal-format
msgid ""
"ISO C90 does not support %<static%> or type qualifiers in parameter array "
"declarators"
msgstr ""
-#: c/c-decl.cc:5339
+#: c/c-decl.cc:5340
#, gcc-internal-format
msgid "ISO C90 does not support %<[*]%> array declarators"
msgstr ""
@@ -48920,318 +48921,318 @@ msgstr ""
#. 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:5345 c/c-decl.cc:8447 c/c-decl.cc:10985
+#: c/c-decl.cc:5346 c/c-decl.cc:8448 c/c-decl.cc:10986
#, gcc-internal-format
msgid "%<[*]%> not allowed in other than function prototype scope"
msgstr ""
-#: c/c-decl.cc:5538 cp/decl2.cc:1960 cp/name-lookup.cc:8991
+#: c/c-decl.cc:5539 cp/decl2.cc:1960 cp/name-lookup.cc:8994
#, gcc-internal-format
msgid "%<omp::%s%> not allowed to be specified in this context"
msgstr ""
-#: c/c-decl.cc:5621
+#: c/c-decl.cc:5622
#, gcc-internal-format
msgid "%q+D is usually a function"
msgstr ""
-#: c/c-decl.cc:5626 c/c-decl.cc:10815 cp/decl.cc:18580
+#: c/c-decl.cc:5627 c/c-decl.cc:10816 cp/decl.cc:18582
#, gcc-internal-format
msgid "no previous declaration for %qD"
msgstr ""
-#: c/c-decl.cc:5635
+#: c/c-decl.cc:5636
#, gcc-internal-format
msgid "typedef %qD is initialized (use %<__typeof__%> instead)"
msgstr ""
-#: c/c-decl.cc:5640
+#: c/c-decl.cc:5641
#, 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:5646
+#: c/c-decl.cc:5647
#, gcc-internal-format
msgid "parameter %qD is initialized"
msgstr ""
-#: c/c-decl.cc:5666
+#: c/c-decl.cc:5667
#, gcc-internal-format
msgid "variable %qD has initializer but incomplete type"
msgstr ""
-#: c/c-decl.cc:5748
+#: c/c-decl.cc:5749
#, gcc-internal-format
msgid "inline function %q+D given attribute %qs"
msgstr ""
-#: c/c-decl.cc:5805
+#: c/c-decl.cc:5806
#, gcc-internal-format
msgid "uninitialized const member in %qT is invalid in C++"
msgstr ""
-#: c/c-decl.cc:5807
+#: c/c-decl.cc:5808
#, gcc-internal-format
msgid "%qD should be initialized"
msgstr ""
-#: c/c-decl.cc:5888
+#: c/c-decl.cc:5889
#, gcc-internal-format
msgid "initializer fails to determine size of %q+D"
msgstr ""
-#: c/c-decl.cc:5893
+#: c/c-decl.cc:5894
#, gcc-internal-format
msgid "array size missing in %q+D"
msgstr ""
-#: c/c-decl.cc:5897
+#: c/c-decl.cc:5898
#, gcc-internal-format
msgid "zero or negative size array %q+D"
msgstr ""
-#: c/c-decl.cc:5988 m2/gm2-gcc/m2type.cc:1258
+#: c/c-decl.cc:5989 m2/gm2-gcc/m2type.cc:1258
#, gcc-internal-format
msgid "storage size of %q+D isn%'t constant"
msgstr ""
-#: c/c-decl.cc:6038
+#: c/c-decl.cc:6039
#, gcc-internal-format
msgid "ignoring %<asm%> specifier for non-static local variable %q+D"
msgstr ""
-#: c/c-decl.cc:6076
+#: c/c-decl.cc:6077
#, gcc-internal-format
msgid "cannot put object with volatile field into register"
msgstr ""
-#: c/c-decl.cc:6162
+#: c/c-decl.cc:6163
#, gcc-internal-format
msgid "uninitialized %<const %D%> is invalid in C++"
msgstr ""
-#: c/c-decl.cc:6177 cp/decl.cc:9535
+#: c/c-decl.cc:6178 cp/decl.cc:9537
#, gcc-internal-format
msgid "%q+D in declare target directive does not have mappable type"
msgstr ""
-#: c/c-decl.cc:6440
+#: c/c-decl.cc:6441
#, gcc-internal-format
msgid "ISO C forbids forward parameter declarations"
msgstr ""
-#: c/c-decl.cc:6480
+#: c/c-decl.cc:6481
#, gcc-internal-format
msgid "file-scope compound literal specifies %<register%>"
msgstr ""
-#: c/c-decl.cc:6486
+#: c/c-decl.cc:6487
#, gcc-internal-format
msgid "compound literal implicitly auto and declared %qs"
msgstr ""
-#: c/c-decl.cc:6537
+#: c/c-decl.cc:6538
#, gcc-internal-format
msgid "array of unknown size with empty initializer"
msgstr ""
-#: c/c-decl.cc:6591
+#: c/c-decl.cc:6592
#, gcc-internal-format
msgid "defining a type in a compound literal is invalid in C++"
msgstr ""
-#: c/c-decl.cc:6612 c/c-decl.cc:6627
+#: c/c-decl.cc:6613 c/c-decl.cc:6628
#, gcc-internal-format
msgid "bit-field %qs width not an integer constant"
msgstr ""
-#: c/c-decl.cc:6622
+#: c/c-decl.cc:6623
#, gcc-internal-format
msgid "bit-field %qs width not an integer constant expression"
msgstr ""
-#: c/c-decl.cc:6633
+#: c/c-decl.cc:6634
#, gcc-internal-format
msgid "negative width in bit-field %qs"
msgstr ""
-#: c/c-decl.cc:6638
+#: c/c-decl.cc:6639
#, gcc-internal-format
msgid "zero width for bit-field %qs"
msgstr ""
-#: c/c-decl.cc:6649
+#: c/c-decl.cc:6650
#, gcc-internal-format
msgid "bit-field %qs has invalid type"
msgstr ""
-#: c/c-decl.cc:6655
+#: c/c-decl.cc:6656
#, gcc-internal-format
msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
msgstr ""
-#: c/c-decl.cc:6666
+#: c/c-decl.cc:6667
#, gcc-internal-format
msgid "type of bit-field %qs is a GCC extension"
msgstr ""
-#: c/c-decl.cc:6672
+#: c/c-decl.cc:6673
#, gcc-internal-format
msgid "width of %qs exceeds its type"
msgstr ""
-#: c/c-decl.cc:6691
+#: c/c-decl.cc:6692
#, gcc-internal-format
msgid "%qs is narrower than values of its type"
msgstr ""
-#: c/c-decl.cc:6706
+#: c/c-decl.cc:6707
#, gcc-internal-format
msgid "ISO C90 forbids array %qE whose size cannot be evaluated"
msgstr ""
-#: c/c-decl.cc:6709
+#: c/c-decl.cc:6710
#, gcc-internal-format
msgid "ISO C90 forbids array whose size cannot be evaluated"
msgstr ""
-#: c/c-decl.cc:6716
+#: c/c-decl.cc:6717
#, gcc-internal-format
msgid "ISO C90 forbids variable length array %qE"
msgstr ""
-#: c/c-decl.cc:6718
+#: c/c-decl.cc:6719
#, gcc-internal-format
msgid "ISO C90 forbids variable length array"
msgstr ""
-#: c/c-decl.cc:6961
+#: c/c-decl.cc:6962
#, gcc-internal-format
msgid "%<enum%> underlying type may not be specified here"
msgstr ""
-#: c/c-decl.cc:6989 c/c-decl.cc:7396 c/c-decl.cc:7406
+#: c/c-decl.cc:6990 c/c-decl.cc:7397 c/c-decl.cc:7407
#, gcc-internal-format
msgid "variably modified %qE at file scope"
msgstr ""
-#: c/c-decl.cc:6991
+#: c/c-decl.cc:6992
#, gcc-internal-format
msgid "variably modified field at file scope"
msgstr ""
-#: c/c-decl.cc:7011
+#: c/c-decl.cc:7012
#, gcc-internal-format
msgid "type defaults to %<int%> in declaration of %qE"
msgstr ""
-#: c/c-decl.cc:7015
+#: c/c-decl.cc:7016
#, gcc-internal-format
msgid "type defaults to %<int%> in type name"
msgstr ""
-#: c/c-decl.cc:7047
+#: c/c-decl.cc:7048
#, gcc-internal-format
msgid "duplicate %<const%>"
msgstr ""
-#: c/c-decl.cc:7049
+#: c/c-decl.cc:7050
#, gcc-internal-format
msgid "duplicate %<restrict%>"
msgstr ""
-#: c/c-decl.cc:7051
+#: c/c-decl.cc:7052
#, gcc-internal-format
msgid "duplicate %<volatile%>"
msgstr ""
-#: c/c-decl.cc:7053
+#: c/c-decl.cc:7054
#, gcc-internal-format
msgid "duplicate %<_Atomic%>"
msgstr ""
-#: c/c-decl.cc:7056
+#: c/c-decl.cc:7057
#, gcc-internal-format, gfc-internal-format
msgid "conflicting named address spaces (%s vs %s)"
msgstr ""
-#: c/c-decl.cc:7079 c/c-parser.cc:3794
+#: c/c-decl.cc:7080 c/c-parser.cc:3794
#, gcc-internal-format
msgid "%<_Atomic%>-qualified array type"
msgstr ""
-#: c/c-decl.cc:7094
+#: c/c-decl.cc:7095
#, gcc-internal-format
msgid "function definition declared %<auto%>"
msgstr ""
-#: c/c-decl.cc:7096
+#: c/c-decl.cc:7097
#, gcc-internal-format
msgid "function definition declared %<register%>"
msgstr ""
-#: c/c-decl.cc:7098
+#: c/c-decl.cc:7099
#, gcc-internal-format
msgid "function definition declared %<typedef%>"
msgstr ""
-#: c/c-decl.cc:7100
+#: c/c-decl.cc:7101
#, gcc-internal-format
msgid "function definition declared %qs"
msgstr ""
-#: c/c-decl.cc:7127
+#: c/c-decl.cc:7128
#, gcc-internal-format
msgid "storage class specified for structure field %qE"
msgstr ""
-#: c/c-decl.cc:7130
+#: c/c-decl.cc:7131
#, gcc-internal-format
msgid "storage class specified for structure field"
msgstr ""
-#: c/c-decl.cc:7134
+#: c/c-decl.cc:7135
#, gcc-internal-format
msgid "storage class specified for parameter %qE"
msgstr ""
-#: c/c-decl.cc:7137
+#: c/c-decl.cc:7138
#, gcc-internal-format
msgid "storage class specified for unnamed parameter"
msgstr ""
-#: c/c-decl.cc:7140 cp/decl.cc:13709
+#: c/c-decl.cc:7141 cp/decl.cc:13711
#, gcc-internal-format
msgid "storage class specified for typename"
msgstr ""
-#: c/c-decl.cc:7158
+#: c/c-decl.cc:7159
#, gcc-internal-format
msgid "%qE initialized and declared %<extern%>"
msgstr ""
-#: c/c-decl.cc:7162
+#: c/c-decl.cc:7163
#, gcc-internal-format
msgid "%qE has both %<extern%> and initializer"
msgstr ""
-#: c/c-decl.cc:7167
+#: c/c-decl.cc:7168
#, gcc-internal-format
msgid "file-scope declaration of %qE specifies %<auto%>"
msgstr ""
-#: c/c-decl.cc:7171
+#: c/c-decl.cc:7172
#, gcc-internal-format
msgid "file-scope declaration of %qE specifies %<register%>"
msgstr ""
-#: c/c-decl.cc:7176
+#: c/c-decl.cc:7177
#, gcc-internal-format
msgid "nested function %qE declared %<extern%>"
msgstr ""
-#: c/c-decl.cc:7179
+#: c/c-decl.cc:7180
#, gcc-internal-format
msgid "function-scope %qE implicitly auto and declared %qs"
msgstr ""
@@ -49239,1170 +49240,1170 @@ msgstr ""
#. 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:7226 c/c-decl.cc:7586
+#: c/c-decl.cc:7227 c/c-decl.cc:7587
#, gcc-internal-format
msgid "static or type qualifiers in non-parameter array declarator"
msgstr ""
-#: c/c-decl.cc:7287
+#: c/c-decl.cc:7288
#, gcc-internal-format
msgid "declaration of %qE as array of voids"
msgstr ""
-#: c/c-decl.cc:7289
+#: c/c-decl.cc:7290
#, gcc-internal-format
msgid "declaration of type name as array of voids"
msgstr ""
-#: c/c-decl.cc:7296
+#: c/c-decl.cc:7297
#, gcc-internal-format
msgid "declaration of %qE as array of functions"
msgstr ""
-#: c/c-decl.cc:7299
+#: c/c-decl.cc:7300
#, gcc-internal-format
msgid "declaration of type name as array of functions"
msgstr ""
-#: c/c-decl.cc:7307 c/c-decl.cc:9661
+#: c/c-decl.cc:7308 c/c-decl.cc:9662
#, gcc-internal-format
msgid "invalid use of structure with flexible array member"
msgstr ""
-#: c/c-decl.cc:7339
+#: c/c-decl.cc:7340
#, gcc-internal-format
msgid "size of array %qE has non-integer type"
msgstr ""
-#: c/c-decl.cc:7343
+#: c/c-decl.cc:7344
#, gcc-internal-format
msgid "size of unnamed array has non-integer type"
msgstr ""
-#: c/c-decl.cc:7351
+#: c/c-decl.cc:7352
#, gcc-internal-format
msgid "size of array %qE has incomplete type"
msgstr ""
-#: c/c-decl.cc:7354
+#: c/c-decl.cc:7355
#, gcc-internal-format
msgid "size of unnamed array has incomplete type"
msgstr ""
-#: c/c-decl.cc:7366
+#: c/c-decl.cc:7367
#, gcc-internal-format
msgid "ISO C forbids zero-size array %qE"
msgstr ""
-#: c/c-decl.cc:7369
+#: c/c-decl.cc:7370
#, gcc-internal-format
msgid "ISO C forbids zero-size array"
msgstr ""
-#: c/c-decl.cc:7378
+#: c/c-decl.cc:7379
#, gcc-internal-format
msgid "size of array %qE is negative"
msgstr ""
-#: c/c-decl.cc:7380
+#: c/c-decl.cc:7381
#, gcc-internal-format
msgid "size of unnamed array is negative"
msgstr ""
-#: c/c-decl.cc:7466
+#: c/c-decl.cc:7467
#, gcc-internal-format
msgid "size of array %qE is too large"
msgstr ""
-#: c/c-decl.cc:7469
+#: c/c-decl.cc:7470
#, gcc-internal-format
msgid "size of unnamed array is too large"
msgstr ""
-#: c/c-decl.cc:7508 c/c-decl.cc:8104
+#: c/c-decl.cc:7509 c/c-decl.cc:8105
#, gcc-internal-format
msgid "ISO C90 does not support flexible array members"
msgstr ""
-#: c/c-decl.cc:7521
+#: c/c-decl.cc:7522
#, gcc-internal-format
msgid "%<[*]%> not in a declaration"
msgstr ""
-#: c/c-decl.cc:7529
+#: c/c-decl.cc:7530
#, gcc-internal-format
msgid "array type has incomplete element type %qT"
msgstr ""
-#: c/c-decl.cc:7535
+#: c/c-decl.cc:7536
#, gcc-internal-format
msgid ""
"declaration of %qE as multidimensional array must have bounds for all "
"dimensions except the first"
msgstr ""
-#: c/c-decl.cc:7539
+#: c/c-decl.cc:7540
#, gcc-internal-format
msgid ""
"declaration of multidimensional array must have bounds for all dimensions "
"except the first"
msgstr ""
-#: c/c-decl.cc:7622
+#: c/c-decl.cc:7623
#, gcc-internal-format
msgid "%qE declared as function returning a function"
msgstr ""
-#: c/c-decl.cc:7625
+#: c/c-decl.cc:7626
#, gcc-internal-format
msgid "type name declared as function returning a function"
msgstr ""
-#: c/c-decl.cc:7632
+#: c/c-decl.cc:7633
#, gcc-internal-format
msgid "%qE declared as function returning an array"
msgstr ""
-#: c/c-decl.cc:7635
+#: c/c-decl.cc:7636
#, gcc-internal-format
msgid "type name declared as function returning an array"
msgstr ""
-#: c/c-decl.cc:7679
+#: c/c-decl.cc:7680
#, gcc-internal-format
msgid "function definition has qualified void return type"
msgstr ""
-#: c/c-decl.cc:7683 cp/decl.cc:14134
+#: c/c-decl.cc:7684 cp/decl.cc:14136
#, gcc-internal-format
msgid "type qualifiers ignored on function return type"
msgstr ""
-#: c/c-decl.cc:7722 c/c-decl.cc:7890 c/c-decl.cc:7944 c/c-decl.cc:8038
-#: c/c-decl.cc:8160 c/c-parser.cc:3796
+#: c/c-decl.cc:7723 c/c-decl.cc:7891 c/c-decl.cc:7945 c/c-decl.cc:8039
+#: c/c-decl.cc:8161 c/c-parser.cc:3796
#, gcc-internal-format
msgid "%<_Atomic%>-qualified function type"
msgstr ""
-#: c/c-decl.cc:7728 c/c-decl.cc:7896 c/c-decl.cc:8043 c/c-decl.cc:8165
+#: c/c-decl.cc:7729 c/c-decl.cc:7897 c/c-decl.cc:8044 c/c-decl.cc:8166
#, gcc-internal-format
msgid "ISO C forbids qualified function types"
msgstr ""
-#: c/c-decl.cc:7781
+#: c/c-decl.cc:7782
#, gcc-internal-format
msgid "%qs combined with %<auto%> qualifier for %qE"
msgstr ""
-#: c/c-decl.cc:7785
+#: c/c-decl.cc:7786
#, gcc-internal-format
msgid "%qs combined with %<register%> qualifier for %qE"
msgstr ""
-#: c/c-decl.cc:7791
+#: c/c-decl.cc:7792
#, gcc-internal-format
msgid "%qs specified for auto variable %qE"
msgstr ""
-#: c/c-decl.cc:7807
+#: c/c-decl.cc:7808
#, gcc-internal-format
msgid "%qs specified for parameter %qE"
msgstr ""
-#: c/c-decl.cc:7810
+#: c/c-decl.cc:7811
#, gcc-internal-format
msgid "%qs specified for unnamed parameter"
msgstr ""
-#: c/c-decl.cc:7816
+#: c/c-decl.cc:7817
#, gcc-internal-format
msgid "%qs specified for structure field %qE"
msgstr ""
-#: c/c-decl.cc:7819
+#: c/c-decl.cc:7820
#, gcc-internal-format
msgid "%qs specified for structure field"
msgstr ""
-#: c/c-decl.cc:7834
+#: c/c-decl.cc:7835
#, gcc-internal-format
msgid "bit-field %qE has atomic type"
msgstr ""
-#: c/c-decl.cc:7836
+#: c/c-decl.cc:7837
#, gcc-internal-format
msgid "bit-field has atomic type"
msgstr ""
-#: c/c-decl.cc:7845
+#: c/c-decl.cc:7846
#, gcc-internal-format
msgid "alignment specified for typedef %qE"
msgstr ""
-#: c/c-decl.cc:7847
+#: c/c-decl.cc:7848
#, gcc-internal-format
msgid "alignment specified for %<register%> object %qE"
msgstr ""
-#: c/c-decl.cc:7852
+#: c/c-decl.cc:7853
#, gcc-internal-format
msgid "alignment specified for parameter %qE"
msgstr ""
-#: c/c-decl.cc:7854
+#: c/c-decl.cc:7855
#, gcc-internal-format
msgid "alignment specified for unnamed parameter"
msgstr ""
-#: c/c-decl.cc:7859
+#: c/c-decl.cc:7860
#, gcc-internal-format
msgid "alignment specified for bit-field %qE"
msgstr ""
-#: c/c-decl.cc:7861
+#: c/c-decl.cc:7862
#, gcc-internal-format
msgid "alignment specified for unnamed bit-field"
msgstr ""
-#: c/c-decl.cc:7864
+#: c/c-decl.cc:7865
#, gcc-internal-format
msgid "alignment specified for function %qE"
msgstr ""
-#: c/c-decl.cc:7871
+#: c/c-decl.cc:7872
#, gcc-internal-format
msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE"
msgstr ""
-#: c/c-decl.cc:7874
+#: c/c-decl.cc:7875
#, gcc-internal-format
msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field"
msgstr ""
-#: c/c-decl.cc:7905
+#: c/c-decl.cc:7906
#, gcc-internal-format
msgid "typedef %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.cc:7907
+#: c/c-decl.cc:7908
#, gcc-internal-format
msgid "typedef %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:7950
+#: c/c-decl.cc:7951
#, gcc-internal-format
msgid "ISO C forbids const or volatile function types"
msgstr ""
#. C99 6.7.2.1p8
-#: c/c-decl.cc:7961
+#: c/c-decl.cc:7962
#, gcc-internal-format
msgid "a member of a structure or union cannot have a variably modified type"
msgstr ""
-#: c/c-decl.cc:7978 cp/decl.cc:12576
+#: c/c-decl.cc:7979 cp/decl.cc:12578
#, gcc-internal-format
msgid "variable or field %qE declared void"
msgstr ""
-#: c/c-decl.cc:8028
+#: c/c-decl.cc:8029
#, gcc-internal-format
msgid "attributes in parameter array declarator ignored"
msgstr ""
-#: c/c-decl.cc:8070
+#: c/c-decl.cc:8071
#, gcc-internal-format
msgid "parameter %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.cc:8072
+#: c/c-decl.cc:8073
#, gcc-internal-format
msgid "parameter %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:8085
+#: c/c-decl.cc:8086
#, gcc-internal-format
msgid "field %qE declared as a function"
msgstr ""
-#: c/c-decl.cc:8092
+#: c/c-decl.cc:8093
#, gcc-internal-format
msgid "field %qE has incomplete type"
msgstr ""
-#: c/c-decl.cc:8094
+#: c/c-decl.cc:8095
#, gcc-internal-format
msgid "unnamed field has incomplete type"
msgstr ""
-#: c/c-decl.cc:8131 c/c-decl.cc:8142 c/c-decl.cc:8145
+#: c/c-decl.cc:8132 c/c-decl.cc:8143 c/c-decl.cc:8146
#, gcc-internal-format
msgid "invalid storage class for function %qE"
msgstr ""
-#: c/c-decl.cc:8202
+#: c/c-decl.cc:8203
#, gcc-internal-format
msgid "cannot inline function %<main%>"
msgstr ""
-#: c/c-decl.cc:8204
+#: c/c-decl.cc:8205
#, gcc-internal-format
msgid "%<main%> declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:8215
+#: c/c-decl.cc:8216
#, gcc-internal-format
msgid "ISO C99 does not support %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:8218
+#: c/c-decl.cc:8219
#, gcc-internal-format
msgid "ISO C90 does not support %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:8240
+#: c/c-decl.cc:8241
#, gcc-internal-format
msgid "function previously declared %<static%> redeclared %<extern%>"
msgstr ""
-#: c/c-decl.cc:8258
+#: c/c-decl.cc:8259
#, gcc-internal-format
msgid "%<constexpr%> object has variably modified type"
msgstr ""
-#: c/c-decl.cc:8262 c/c-parser.cc:13368
+#: c/c-decl.cc:8263 c/c-parser.cc:13368
#, gcc-internal-format
msgid "invalid qualifiers for %<constexpr%> object"
msgstr ""
-#: c/c-decl.cc:8268 c/c-parser.cc:13371
+#: c/c-decl.cc:8269 c/c-parser.cc:13371
#, gcc-internal-format
msgid "invalid qualifiers for field of %<constexpr%> object"
msgstr ""
-#: c/c-decl.cc:8294
+#: c/c-decl.cc:8295
#, gcc-internal-format
msgid "variable previously declared %<static%> redeclared %<extern%>"
msgstr ""
-#: c/c-decl.cc:8306
+#: c/c-decl.cc:8307
#, gcc-internal-format
msgid "variable %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.cc:8308
+#: c/c-decl.cc:8309
#, gcc-internal-format
msgid "variable %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.cc:8343
+#: c/c-decl.cc:8344
#, gcc-internal-format
msgid "non-nested function with variably modified type"
msgstr ""
-#: c/c-decl.cc:8345
+#: c/c-decl.cc:8346
#, gcc-internal-format
msgid "object with variably modified type must have no linkage"
msgstr ""
-#: c/c-decl.cc:8453 c/c-decl.cc:10789
+#: c/c-decl.cc:8454 c/c-decl.cc:10790
#, gcc-internal-format
msgid "function declaration isn%'t a prototype"
msgstr ""
-#: c/c-decl.cc:8465
+#: c/c-decl.cc:8466
#, gcc-internal-format
msgid "parameter names (without types) in function declaration"
msgstr ""
-#: c/c-decl.cc:8513
+#: c/c-decl.cc:8514
#, gcc-internal-format
msgid "parameter %u (%q+D) has incomplete type"
msgstr ""
-#: c/c-decl.cc:8517
+#: c/c-decl.cc:8518
#, gcc-internal-format, gfc-internal-format
msgid "parameter %u has incomplete type"
msgstr ""
-#: c/c-decl.cc:8597
+#: c/c-decl.cc:8598
#, gcc-internal-format
msgid "%<void%> as only parameter may not be qualified"
msgstr ""
-#: c/c-decl.cc:8601
+#: c/c-decl.cc:8602
#, gcc-internal-format
msgid "%<void%> must be the only parameter"
msgstr ""
-#: c/c-decl.cc:8631
+#: c/c-decl.cc:8632
#, gcc-internal-format
msgid "parameter %q+D has just a forward declaration"
msgstr ""
-#: c/c-decl.cc:8639
+#: c/c-decl.cc:8640
#, gcc-internal-format
msgid "%<void%> must be the only parameter and unnamed"
msgstr ""
-#: c/c-decl.cc:8681
+#: c/c-decl.cc:8682
#, 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:8688
+#: c/c-decl.cc:8689
#, 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:8814
+#: c/c-decl.cc:8815
#, gcc-internal-format
msgid "enum type defined here"
msgstr ""
-#: c/c-decl.cc:8820
+#: c/c-decl.cc:8821
#, gcc-internal-format
msgid "struct defined here"
msgstr ""
-#: c/c-decl.cc:8826
+#: c/c-decl.cc:8827
#, gcc-internal-format
msgid "union defined here"
msgstr ""
-#: c/c-decl.cc:8919
+#: c/c-decl.cc:8920
#, gcc-internal-format
msgid "redefinition of %<union %E%>"
msgstr ""
-#: c/c-decl.cc:8921
+#: c/c-decl.cc:8922
#, gcc-internal-format
msgid "redefinition of %<struct %E%>"
msgstr ""
-#: c/c-decl.cc:8930
+#: c/c-decl.cc:8931
#, gcc-internal-format
msgid "nested redefinition of %<union %E%>"
msgstr ""
-#: c/c-decl.cc:8932
+#: c/c-decl.cc:8933
#, gcc-internal-format
msgid "nested redefinition of %<struct %E%>"
msgstr ""
-#: c/c-decl.cc:8965 c/c-decl.cc:10119
+#: c/c-decl.cc:8966 c/c-decl.cc:10120
#, gcc-internal-format
msgid "defining type in %qs expression is invalid in C++"
msgstr ""
-#: c/c-decl.cc:8971 c/c-decl.cc:10125
+#: c/c-decl.cc:8972 c/c-decl.cc:10126
#, gcc-internal-format
msgid "%qT defined in underspecified object initializer"
msgstr ""
-#: c/c-decl.cc:9035 cp/decl.cc:5719 cp/parser.cc:28813
+#: c/c-decl.cc:9036 cp/decl.cc:5721 cp/parser.cc:28813
#, gcc-internal-format
msgid "declaration does not declare anything"
msgstr ""
-#: c/c-decl.cc:9040
+#: c/c-decl.cc:9041
#, gcc-internal-format
msgid "ISO C99 doesn%'t support unnamed structs/unions"
msgstr ""
-#: c/c-decl.cc:9043
+#: c/c-decl.cc:9044
#, gcc-internal-format
msgid "ISO C90 doesn%'t support unnamed structs/unions"
msgstr ""
-#: c/c-decl.cc:9136 c/c-decl.cc:9154 c/c-decl.cc:9215
+#: c/c-decl.cc:9137 c/c-decl.cc:9155 c/c-decl.cc:9216
#, gcc-internal-format
msgid "duplicate member %q+D"
msgstr ""
-#: c/c-decl.cc:9241
+#: c/c-decl.cc:9242
#, gcc-internal-format
msgid "empty struct has size 0 in C, size 1 in C++"
msgstr ""
-#: c/c-decl.cc:9244
+#: c/c-decl.cc:9245
#, gcc-internal-format
msgid "empty union has size 0 in C, size 1 in C++"
msgstr ""
-#: c/c-decl.cc:9478
+#: c/c-decl.cc:9479
#, gcc-internal-format
msgid ""
"argument %qE to the %<counted_by%> attribute is not a field declaration in "
"the same structure as %qD"
msgstr ""
-#: c/c-decl.cc:9494
+#: c/c-decl.cc:9495
#, gcc-internal-format
msgid ""
"argument %qE to the %<counted_by%> attribute is not a field declaration with "
"an integer type"
msgstr ""
-#: c/c-decl.cc:9552
+#: c/c-decl.cc:9553
#, gcc-internal-format
msgid "union has no named members"
msgstr ""
-#: c/c-decl.cc:9554
+#: c/c-decl.cc:9555
#, gcc-internal-format
msgid "union has no members"
msgstr ""
-#: c/c-decl.cc:9559
+#: c/c-decl.cc:9560
#, gcc-internal-format
msgid "struct has no named members"
msgstr ""
-#: c/c-decl.cc:9561
+#: c/c-decl.cc:9562
#, gcc-internal-format
msgid "struct has no members"
msgstr ""
-#: c/c-decl.cc:9639 cp/decl.cc:15166
+#: c/c-decl.cc:9640 cp/decl.cc:15168
#, gcc-internal-format
msgid "flexible array member in union is a GCC extension"
msgstr ""
-#: c/c-decl.cc:9643
+#: c/c-decl.cc:9644
#, gcc-internal-format
msgid "flexible array member not at end of struct"
msgstr ""
-#: c/c-decl.cc:9648
+#: c/c-decl.cc:9649
#, gcc-internal-format
msgid ""
"flexible array member in a struct with no named members is a GCC extension"
msgstr ""
-#: c/c-decl.cc:9683
+#: c/c-decl.cc:9684
#, gcc-internal-format
msgid ""
"structure containing a flexible array member is not at the end of another "
"structure"
msgstr ""
-#: c/c-decl.cc:9710
+#: c/c-decl.cc:9711
#, gcc-internal-format
msgid "type %qT is too large"
msgstr ""
-#: c/c-decl.cc:9774
+#: c/c-decl.cc:9775
#, gcc-internal-format
msgid "type punning toggles scalar storage order"
msgstr ""
-#: c/c-decl.cc:9841
+#: c/c-decl.cc:9842
#, gcc-internal-format
msgid "union cannot be made transparent"
msgstr ""
-#: c/c-decl.cc:9855
+#: c/c-decl.cc:9856
#, gcc-internal-format
msgid "redefinition of struct or union %qT with variably modified type"
msgstr ""
-#: c/c-decl.cc:9862
+#: c/c-decl.cc:9863
#, gcc-internal-format
msgid "redefinition of struct or union %qT"
msgstr ""
-#: c/c-decl.cc:10041
+#: c/c-decl.cc:10042
#, gcc-internal-format
msgid "nested redefinition of %<enum %E%>"
msgstr ""
-#: c/c-decl.cc:10089
+#: c/c-decl.cc:10090
#, gcc-internal-format
msgid "redeclaration of %<enum %E%>"
msgstr ""
-#: c/c-decl.cc:10101
+#: c/c-decl.cc:10102
#, gcc-internal-format
msgid "%<enum%> declared with but defined without fixed underlying type"
msgstr ""
-#: c/c-decl.cc:10188 cp/decl.cc:17838 m2/gm2-gcc/m2type.cc:2088
+#: c/c-decl.cc:10189 cp/decl.cc:17840 m2/gm2-gcc/m2type.cc:2088
#, gcc-internal-format
msgid "specified mode too small for enumerated values"
msgstr ""
-#: c/c-decl.cc:10207
+#: c/c-decl.cc:10208
#, gcc-internal-format
msgid "enumeration values exceed range of largest integer"
msgstr ""
-#: c/c-decl.cc:10216
+#: c/c-decl.cc:10217
#, gcc-internal-format
msgid "enumeration values exceed range of %qs"
msgstr ""
-#: c/c-decl.cc:10329
+#: c/c-decl.cc:10330
#, gcc-internal-format
msgid "conflicting redefinition of enum %qT"
msgstr ""
-#: c/c-decl.cc:10362 c/c-decl.cc:10378
+#: c/c-decl.cc:10363 c/c-decl.cc:10379
#, gcc-internal-format
msgid "enumerator value for %qE is not an integer constant"
msgstr ""
-#: c/c-decl.cc:10373
+#: c/c-decl.cc:10374
#, gcc-internal-format
msgid "enumerator value for %qE is not an integer constant expression"
msgstr ""
-#: c/c-decl.cc:10397
+#: c/c-decl.cc:10398
#, gcc-internal-format
msgid "overflow in enumeration values"
msgstr ""
-#: c/c-decl.cc:10404
+#: c/c-decl.cc:10405
#, gcc-internal-format
msgid "enumerator value outside the range of underlying type"
msgstr ""
-#: c/c-decl.cc:10421
+#: c/c-decl.cc:10422
#, gcc-internal-format
msgid "value of redeclared enumerator outside the range of %qT"
msgstr ""
-#: c/c-decl.cc:10449
+#: c/c-decl.cc:10450
#, gcc-internal-format
msgid "enumerator value outside the range of %qs"
msgstr ""
-#: c/c-decl.cc:10455
+#: c/c-decl.cc:10456
#, gcc-internal-format
msgid "ISO C restricts enumerator values to range of %<int%> before C23"
msgstr ""
-#: c/c-decl.cc:10663 cp/decl.cc:6053 cp/decl.cc:18438
+#: c/c-decl.cc:10664 cp/decl.cc:6055 cp/decl.cc:18440
#, gcc-internal-format
msgid "inline function %qD given attribute %qs"
msgstr ""
-#: c/c-decl.cc:10682
+#: c/c-decl.cc:10683
#, gcc-internal-format
msgid "return type is an incomplete type"
msgstr ""
-#: c/c-decl.cc:10694
+#: c/c-decl.cc:10695
#, gcc-internal-format
msgid "return type defaults to %<int%>"
msgstr ""
-#: c/c-decl.cc:10722
+#: c/c-decl.cc:10723
#, gcc-internal-format
msgid "%q+D defined as variadic function without prototype"
msgstr ""
-#: c/c-decl.cc:10775
+#: c/c-decl.cc:10776
#, gcc-internal-format
msgid ""
"ISO C23 does not allow defining parameters for function %qE declared without "
"parameters"
msgstr ""
-#: c/c-decl.cc:10798
+#: c/c-decl.cc:10799
#, gcc-internal-format
msgid "no previous prototype for %qD"
msgstr ""
-#: c/c-decl.cc:10807
+#: c/c-decl.cc:10808
#, gcc-internal-format
msgid "%qD was used with no prototype before its definition"
msgstr ""
-#: c/c-decl.cc:10825
+#: c/c-decl.cc:10826
#, gcc-internal-format
msgid "%qD was used with no declaration before its definition"
msgstr ""
-#: c/c-decl.cc:10844
+#: c/c-decl.cc:10845
#, gcc-internal-format
msgid "return type of %qD is not %<int%>"
msgstr ""
-#: c/c-decl.cc:10846
+#: c/c-decl.cc:10847
#, gcc-internal-format
msgid "%<_Atomic%>-qualified return type of %qD"
msgstr ""
-#: c/c-decl.cc:10853
+#: c/c-decl.cc:10854
#, gcc-internal-format
msgid "%qD is normally a non-static function"
msgstr ""
-#: c/c-decl.cc:10904
+#: c/c-decl.cc:10905
#, gcc-internal-format
msgid "old-style parameter declarations in prototyped function definition"
msgstr ""
-#: c/c-decl.cc:10920
+#: c/c-decl.cc:10921
#, gcc-internal-format
msgid "traditional C rejects ISO C style function definitions"
msgstr ""
-#: c/c-decl.cc:10937
+#: c/c-decl.cc:10938
#, gcc-internal-format
msgid ""
"ISO C does not support omitting parameter names in function definitions "
"before C23"
msgstr ""
-#: c/c-decl.cc:10977 c/c-decl.cc:10981
+#: c/c-decl.cc:10978 c/c-decl.cc:10982
#, gcc-internal-format
msgid "old-style function definition"
msgstr ""
-#: c/c-decl.cc:10994
+#: c/c-decl.cc:10995
#, gcc-internal-format
msgid "parameter name missing from parameter list"
msgstr ""
-#: c/c-decl.cc:11010
+#: c/c-decl.cc:11011
#, gcc-internal-format
msgid "%qD declared as a non-parameter"
msgstr ""
-#: c/c-decl.cc:11018
+#: c/c-decl.cc:11019
#, gcc-internal-format
msgid "multiple parameters named %qD"
msgstr ""
-#: c/c-decl.cc:11027
+#: c/c-decl.cc:11028
#, gcc-internal-format
msgid "parameter %qD declared with void type"
msgstr ""
-#: c/c-decl.cc:11056 c/c-decl.cc:11061
+#: c/c-decl.cc:11057 c/c-decl.cc:11062
#, gcc-internal-format
msgid "type of %qD defaults to %<int%>"
msgstr ""
-#: c/c-decl.cc:11081
+#: c/c-decl.cc:11082
#, gcc-internal-format
msgid "parameter %qD has incomplete type"
msgstr ""
-#: c/c-decl.cc:11088
+#: c/c-decl.cc:11089
#, gcc-internal-format
msgid "declaration for parameter %qD but no such parameter"
msgstr ""
-#: c/c-decl.cc:11141
+#: c/c-decl.cc:11142
#, gcc-internal-format
msgid "number of arguments doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.cc:11152
+#: c/c-decl.cc:11153
#, gcc-internal-format
msgid "number of arguments doesn%'t match prototype"
msgstr ""
-#: c/c-decl.cc:11155 c/c-decl.cc:11202 c/c-decl.cc:11216
+#: c/c-decl.cc:11156 c/c-decl.cc:11203 c/c-decl.cc:11217
#, gcc-internal-format
msgid "prototype declaration"
msgstr ""
-#: c/c-decl.cc:11194
+#: c/c-decl.cc:11195
#, gcc-internal-format
msgid "promoted argument %qD doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.cc:11199
+#: c/c-decl.cc:11200
#, gcc-internal-format
msgid "promoted argument %qD doesn%'t match prototype"
msgstr ""
-#: c/c-decl.cc:11209
+#: c/c-decl.cc:11210
#, gcc-internal-format
msgid "argument %qD doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.cc:11214
+#: c/c-decl.cc:11215
#, gcc-internal-format
msgid "argument %qD doesn%'t match prototype"
msgstr ""
-#: c/c-decl.cc:11472 cp/decl.cc:19361
+#: c/c-decl.cc:11473 cp/decl.cc:19363
#, gcc-internal-format
msgid "no return statement in function returning non-void"
msgstr ""
-#: c/c-decl.cc:11491 cp/decl.cc:19432
+#: c/c-decl.cc:11492 cp/decl.cc:19434
#, gcc-internal-format
msgid "parameter %qD set but not used"
msgstr ""
-#: c/c-decl.cc:11588
+#: c/c-decl.cc:11589
#, gcc-internal-format
msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
msgstr ""
-#: c/c-decl.cc:11593
+#: c/c-decl.cc:11594
#, gcc-internal-format
msgid ""
"use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to "
"compile your code"
msgstr ""
-#: c/c-decl.cc:11600
+#: c/c-decl.cc:11601
#, gcc-internal-format
msgid "ISO C90 does not support %<for%> loop initial declarations"
msgstr ""
-#: c/c-decl.cc:11634
+#: c/c-decl.cc:11635
#, gcc-internal-format
msgid "declaration of static variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11638
+#: c/c-decl.cc:11639
#, gcc-internal-format
msgid ""
"declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11645
+#: c/c-decl.cc:11646
#, gcc-internal-format
msgid "%<struct %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11650
+#: c/c-decl.cc:11651
#, gcc-internal-format
msgid "%<union %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11656
+#: c/c-decl.cc:11657
#, gcc-internal-format
msgid "%<enum %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11660
+#: c/c-decl.cc:11661
#, gcc-internal-format
msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.cc:11960
+#: c/c-decl.cc:11961
#, gcc-internal-format
msgid "incompatible address space qualifiers %qs and %qs"
msgstr ""
-#: c/c-decl.cc:12019 c/c-decl.cc:12026
+#: c/c-decl.cc:12020 c/c-decl.cc:12027
#, gcc-internal-format
msgid "duplicate %qE declaration specifier"
msgstr ""
-#: c/c-decl.cc:12054 c/c-decl.cc:13175
+#: c/c-decl.cc:12055 c/c-decl.cc:13176
#, gcc-internal-format
msgid "multiple storage classes in declaration specifiers"
msgstr ""
-#: c/c-decl.cc:12056
+#: c/c-decl.cc:12057
#, gcc-internal-format
msgid "%qs used with %<auto%>"
msgstr ""
#. auto may only be used with another storage class specifier,
#. such as constexpr, if the type is inferred.
-#: c/c-decl.cc:12061
+#: c/c-decl.cc:12062
#, gcc-internal-format
msgid "%<auto%> used with %<constexpr%>"
msgstr ""
-#: c/c-decl.cc:12074 c/c-decl.cc:12512 c/c-decl.cc:12970
+#: c/c-decl.cc:12075 c/c-decl.cc:12513 c/c-decl.cc:12971
#, gcc-internal-format
msgid "two or more data types in declaration specifiers"
msgstr ""
-#: c/c-decl.cc:12086 cp/parser.cc:35086
+#: c/c-decl.cc:12087 cp/parser.cc:35091
#, gcc-internal-format
msgid "%<long long long%> is too long for GCC"
msgstr ""
-#: c/c-decl.cc:12099
+#: c/c-decl.cc:12100
#, gcc-internal-format
msgid "ISO C90 does not support %<long long%>"
msgstr ""
-#: c/c-decl.cc:12352 c/c-parser.cc:12542
+#: c/c-decl.cc:12353 c/c-parser.cc:12542
#, gcc-internal-format
msgid "ISO C90 does not support complex types"
msgstr ""
-#: c/c-decl.cc:12406
+#: c/c-decl.cc:12407
#, gcc-internal-format
msgid "ISO C does not support saturating types"
msgstr ""
-#: c/c-decl.cc:12485 c/c-decl.cc:13110 c/c-decl.cc:13169
+#: c/c-decl.cc:12486 c/c-decl.cc:13111 c/c-decl.cc:13170
#, gcc-internal-format
msgid "duplicate %qE"
msgstr ""
-#: c/c-decl.cc:12502
+#: c/c-decl.cc:12503
#, gcc-internal-format
msgid "%qs cannot be defined via %<typedef%>"
msgstr ""
-#: c/c-decl.cc:12506
+#: c/c-decl.cc:12507
#, gcc-internal-format
msgid "%qs cannot be used here"
msgstr ""
-#: c/c-decl.cc:12559
+#: c/c-decl.cc:12560
#, gcc-internal-format
msgid "ISO C does not support %<__int%d%> types"
msgstr ""
-#: c/c-decl.cc:12581
+#: c/c-decl.cc:12582
#, gcc-internal-format
msgid "%<__int%d%> is not supported on this target"
msgstr ""
-#: c/c-decl.cc:12624
+#: c/c-decl.cc:12625
#, gcc-internal-format
msgid "ISO C90 does not support boolean types"
msgstr ""
-#: c/c-decl.cc:12743
+#: c/c-decl.cc:12744
#, gcc-internal-format
msgid "ISO C does not support the %<_Float%d%s%> type before C23"
msgstr ""
-#: c/c-decl.cc:12794 cp/parser.cc:20889
+#: c/c-decl.cc:12795 cp/parser.cc:20889
#, gcc-internal-format
msgid "%<_Float%d%s%> is not supported on this target"
msgstr ""
-#: c/c-decl.cc:12870
+#: c/c-decl.cc:12871
#, gcc-internal-format
msgid "ISO C does not support decimal floating-point before C23"
msgstr ""
-#: c/c-decl.cc:12894 c/c-decl.cc:13271 c/c-parser.cc:11443
+#: c/c-decl.cc:12895 c/c-decl.cc:13272 c/c-parser.cc:11443
#, gcc-internal-format
msgid "fixed-point types not supported for this target"
msgstr ""
-#: c/c-decl.cc:12896
+#: c/c-decl.cc:12897
#, gcc-internal-format
msgid "ISO C does not support fixed-point types"
msgstr ""
-#: c/c-decl.cc:12925
+#: c/c-decl.cc:12926
#, gcc-internal-format
msgid "%<_BitInt%> argument is not an integer constant expression"
msgstr ""
-#: c/c-decl.cc:12931
+#: c/c-decl.cc:12932
#, gcc-internal-format
msgid "%<_BitInt%> argument %qE is not a positive integer constant expression"
msgstr ""
-#: c/c-decl.cc:12938
+#: c/c-decl.cc:12939
#, gcc-internal-format
msgid "%<_BitInt%> argument %qE is larger than %<BITINT_MAXWIDTH%> %qd"
msgstr ""
-#: c/c-decl.cc:12986
+#: c/c-decl.cc:12987
#, gcc-internal-format
msgid "C++ lookup of %qD would return a field, not a type"
msgstr ""
-#: c/c-decl.cc:12999
+#: c/c-decl.cc:13000
#, gcc-internal-format
msgid "%qE fails to be a typedef or built in type"
msgstr ""
-#: c/c-decl.cc:13054
+#: c/c-decl.cc:13055
#, gcc-internal-format
msgid "%qE is not at beginning of declaration"
msgstr ""
#. auto may only be used with another storage class specifier,
#. such as constexpr, if the type is inferred.
-#: c/c-decl.cc:13075 c/c-decl.cc:13152
+#: c/c-decl.cc:13076 c/c-decl.cc:13153
#, gcc-internal-format
msgid "%qE used with %<auto%>"
msgstr ""
-#: c/c-decl.cc:13077
+#: c/c-decl.cc:13078
#, gcc-internal-format
msgid "%qE used with %<register%>"
msgstr ""
-#: c/c-decl.cc:13079 c/c-decl.cc:13148
+#: c/c-decl.cc:13080 c/c-decl.cc:13149
#, gcc-internal-format
msgid "%qE used with %<typedef%>"
msgstr ""
-#: c/c-decl.cc:13081 c/c-decl.cc:13118
+#: c/c-decl.cc:13082 c/c-decl.cc:13119
#, gcc-internal-format
msgid "%qE used with %<constexpr%>"
msgstr ""
-#: c/c-decl.cc:13095 c/c-parser.cc:3320 c/c-parser.cc:4691 c/c-parser.cc:10707
+#: c/c-decl.cc:13096 c/c-parser.cc:3320 c/c-parser.cc:4691 c/c-parser.cc:10707
#, gcc-internal-format
msgid "ISO C99 does not support %qE"
msgstr ""
-#: c/c-decl.cc:13098 c/c-parser.cc:3323 c/c-parser.cc:4694 c/c-parser.cc:10710
+#: c/c-decl.cc:13099 c/c-parser.cc:3323 c/c-parser.cc:4694 c/c-parser.cc:10710
#, gcc-internal-format
msgid "ISO C90 does not support %qE"
msgstr ""
-#: c/c-decl.cc:13124
+#: c/c-decl.cc:13125
#, gcc-internal-format
msgid "%<__thread%> before %<extern%>"
msgstr ""
-#: c/c-decl.cc:13133
+#: c/c-decl.cc:13134
#, gcc-internal-format
msgid "%<__thread%> before %<static%>"
msgstr ""
-#: c/c-decl.cc:13139
+#: c/c-decl.cc:13140
#, gcc-internal-format
msgid "%<typedef%> used with %<auto%>"
msgstr ""
-#: c/c-decl.cc:13146
+#: c/c-decl.cc:13147
#, gcc-internal-format
msgid "%qE used with %<extern%>"
msgstr ""
-#: c/c-decl.cc:13154
+#: c/c-decl.cc:13155
#, gcc-internal-format
msgid "%qE used with %qs"
msgstr ""
-#: c/c-decl.cc:13167
+#: c/c-decl.cc:13168
#, gcc-internal-format
msgid "duplicate %<_Thread_local%> or %<__thread%>"
msgstr ""
-#: c/c-decl.cc:13183
+#: c/c-decl.cc:13184
#, gcc-internal-format
msgid "%qs used with %qE"
msgstr ""
-#: c/c-decl.cc:13191
+#: c/c-decl.cc:13192
#, gcc-internal-format
msgid "%<constexpr%> used with %qE"
msgstr ""
-#: c/c-decl.cc:13268
+#: c/c-decl.cc:13269
#, gcc-internal-format
msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
msgstr ""
-#: c/c-decl.cc:13283
+#: c/c-decl.cc:13284
#, gcc-internal-format
msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
msgstr ""
-#: c/c-decl.cc:13294
+#: c/c-decl.cc:13295
#, gcc-internal-format
msgid "ISO C does not support %<auto%> type deduction before C23"
msgstr ""
-#: c/c-decl.cc:13323
+#: c/c-decl.cc:13324
#, gcc-internal-format
msgid "%<__auto_type%> followed by %<[[]]%> attributes"
msgstr ""
-#: c/c-decl.cc:13349 c/c-decl.cc:13365 c/c-decl.cc:13391
+#: c/c-decl.cc:13350 c/c-decl.cc:13366 c/c-decl.cc:13392
#, gcc-internal-format
msgid "ISO C does not support complex integer types"
msgstr ""
-#: c/c-decl.cc:13537
+#: c/c-decl.cc:13538
#, gcc-internal-format
msgid "%<signed _BitInt%> argument must be at least 2"
msgstr ""
-#: c/c-decl.cc:13546
+#: c/c-decl.cc:13547
#, gcc-internal-format
msgid "ISO C does not support %<%s_BitInt(%d)%> before C23"
msgstr ""
-#: c/c-decl.cc:13846 cp/semantics.cc:6784
+#: c/c-decl.cc:13847 cp/semantics.cc:6798
#, gcc-internal-format
msgid ""
"%<#pragma omp declare reduction%> combiner refers to variable %qD which is "
"not %<omp_out%> nor %<omp_in%>"
msgstr ""
-#: c/c-decl.cc:13850 cp/semantics.cc:6788
+#: c/c-decl.cc:13851 cp/semantics.cc:6802
#, gcc-internal-format
msgid ""
"%<#pragma omp declare reduction%> initializer refers to variable %qD which "
"is not %<omp_priv%> nor %<omp_orig%>"
msgstr ""
-#: c/c-decl.cc:13974
+#: c/c-decl.cc:13975
#, gcc-internal-format
msgid ""
"ISO C does not support %qs statement with an identifier operand before C2Y"
msgstr ""
-#: c/c-decl.cc:14026
+#: c/c-decl.cc:14027
#, gcc-internal-format
msgid ""
"%<break%> statement operand %qE does not refer to a named loop or "
"%<switch%>; did you mean %qs?"
msgstr ""
-#: c/c-decl.cc:14030
+#: c/c-decl.cc:14031
#, gcc-internal-format
msgid ""
"%<continue%> statement operand %qE does not refer to a named loop; did you "
"mean %qs?"
msgstr ""
-#: c/c-decl.cc:14035
+#: c/c-decl.cc:14036
#, gcc-internal-format
msgid ""
"%<break%> statement operand %qE does not refer to a named loop or %<switch%>"
msgstr ""
-#: c/c-decl.cc:14038
+#: c/c-decl.cc:14039
#, gcc-internal-format
msgid "%<continue%> statement operand %qE does not refer to a named loop"
msgstr ""
-#: c/c-decl.cc:14044
+#: c/c-decl.cc:14045
#, gcc-internal-format
msgid "%<continue%> statement operand %qE refers to a named %<switch%>"
msgstr ""
-#: c/c-decl.cc:14046 c/c-decl.cc:14063
+#: c/c-decl.cc:14047 c/c-decl.cc:14064
#, gcc-internal-format
msgid "%<switch%> name defined here"
msgstr ""
-#: c/c-decl.cc:14054
+#: c/c-decl.cc:14055
#, gcc-internal-format
msgid "%qs statement operand %qE refers to a loop outside of its body"
msgstr ""
-#: c/c-decl.cc:14056
+#: c/c-decl.cc:14057
#, gcc-internal-format
msgid "loop name defined here"
msgstr ""
-#: c/c-decl.cc:14060
+#: c/c-decl.cc:14061
#, gcc-internal-format
msgid ""
"%<break%> statement operand %qE refers to a %<switch%> outside of its body"
@@ -50413,37 +50414,37 @@ msgstr ""
msgid "%qs is a keyword with %qs onwards"
msgstr ""
-#: c/c-fold.cc:392 c/c-typeck.cc:14120 cp/typeck.cc:5803
+#: c/c-fold.cc:392 c/c-typeck.cc:14134 cp/typeck.cc:5803
#, gcc-internal-format
msgid "left shift of negative value"
msgstr ""
-#: c/c-fold.cc:405 c/c-typeck.cc:14129 cp/typeck.cc:5811
+#: c/c-fold.cc:405 c/c-typeck.cc:14143 cp/typeck.cc:5811
#, gcc-internal-format
msgid "left shift count is negative"
msgstr ""
-#: c/c-fold.cc:406 c/c-typeck.cc:14056 cp/typeck.cc:5750
+#: c/c-fold.cc:406 c/c-typeck.cc:14070 cp/typeck.cc:5750
#, gcc-internal-format
msgid "right shift count is negative"
msgstr ""
-#: c/c-fold.cc:416 c/c-typeck.cc:14148 cp/typeck.cc:5819
+#: c/c-fold.cc:416 c/c-typeck.cc:14162 cp/typeck.cc:5819
#, gcc-internal-format
msgid "left shift count >= width of type"
msgstr ""
-#: c/c-fold.cc:417 c/c-typeck.cc:14080 cp/typeck.cc:5761
+#: c/c-fold.cc:417 c/c-typeck.cc:14094 cp/typeck.cc:5761
#, gcc-internal-format
msgid "right shift count >= width of type"
msgstr ""
-#: c/c-fold.cc:424 c/c-typeck.cc:14140
+#: c/c-fold.cc:424 c/c-typeck.cc:14154
#, gcc-internal-format
msgid "left shift count >= width of vector element"
msgstr ""
-#: c/c-fold.cc:425 c/c-typeck.cc:14067
+#: c/c-fold.cc:425 c/c-typeck.cc:14081
#, gcc-internal-format
msgid "right shift count >= width of vector element"
msgstr ""
@@ -50463,7 +50464,7 @@ msgstr ""
msgid "to match this %qs"
msgstr ""
-#: c/c-parser.cc:1431 cp/parser.cc:35323
+#: c/c-parser.cc:1431 cp/parser.cc:35328
#, gcc-internal-format
msgid "expected end of line"
msgstr ""
@@ -50473,8 +50474,8 @@ msgstr ""
msgid "ISO C forbids an empty translation unit"
msgstr ""
-#: c/c-parser.cc:1976 c/c-parser.cc:1985 c/c-parser.cc:27770 cp/parser.cc:51245
-#: cp/semantics.cc:4007 cp/semantics.cc:4016
+#: c/c-parser.cc:1976 c/c-parser.cc:1985 c/c-parser.cc:27770 cp/parser.cc:51250
+#: cp/semantics.cc:4011 cp/semantics.cc:4020
#, gcc-internal-format
msgid "%qs without corresponding %qs"
msgstr ""
@@ -50515,8 +50516,8 @@ msgid "unknown type name %qE"
msgstr ""
#: c/c-parser.cc:2424 c/c-parser.cc:15911 c/c-parser.cc:24927
-#: c/c-parser.cc:25670 c/c-parser.cc:26256 cp/parser.cc:48088
-#: cp/parser.cc:53866
+#: c/c-parser.cc:25670 c/c-parser.cc:26256 cp/parser.cc:48093
+#: cp/parser.cc:53871
#, gcc-internal-format
msgid "expected declaration specifiers"
msgstr ""
@@ -50552,7 +50553,7 @@ msgstr ""
msgid "expected %<;%>, identifier or %<(%>"
msgstr ""
-#: c/c-parser.cc:2575 cp/parser.cc:37581 cp/parser.cc:37653
+#: c/c-parser.cc:2575 cp/parser.cc:37586 cp/parser.cc:37658
#, gcc-internal-format
msgid "prefix attributes are ignored for methods"
msgstr ""
@@ -50572,7 +50573,7 @@ msgstr ""
msgid "%<fallthrough%> attribute not followed by %<;%>"
msgstr ""
-#: c/c-parser.cc:2644 c/c-parser.cc:8283 cp/cp-gimplify.cc:3679
+#: c/c-parser.cc:2644 c/c-parser.cc:8283 cp/cp-gimplify.cc:3684
#, gcc-internal-format
msgid "%<assume%> attribute not followed by %<;%>"
msgstr ""
@@ -50641,7 +50642,7 @@ msgid "ISO C forbids nested functions"
msgstr ""
#: c/c-parser.cc:3346 c/c-parser.cc:9636 c/c-parser.cc:15984
-#: c/c-parser.cc:20710 cp/parser.cc:42978
+#: c/c-parser.cc:20710 cp/parser.cc:42983
#, gcc-internal-format
msgid "expected string literal"
msgstr ""
@@ -50671,7 +50672,7 @@ msgstr ""
msgid "static assertion failed: %E"
msgstr ""
-#: c/c-parser.cc:3384 cp/semantics.cc:12469
+#: c/c-parser.cc:3384 cp/semantics.cc:12483
#, gcc-internal-format
msgid "static assertion failed"
msgstr ""
@@ -50725,8 +50726,8 @@ msgstr ""
#: c/c-parser.cc:19478 c/c-parser.cc:19615 c/c-parser.cc:20481
#: c/c-parser.cc:23540 c/c-parser.cc:26738 c/c-parser.cc:26924
#: c/gimple-parser.cc:1981 c/gimple-parser.cc:2028 cp/parser.cc:9871
-#: cp/parser.cc:35326 cp/parser.cc:38558 cp/parser.cc:41803 cp/parser.cc:41995
-#: cp/parser.cc:49785 cp/parser.cc:53093
+#: cp/parser.cc:35331 cp/parser.cc:38563 cp/parser.cc:41808 cp/parser.cc:42000
+#: cp/parser.cc:49790 cp/parser.cc:53098
#, gcc-internal-format
msgid "expected identifier"
msgstr ""
@@ -50761,7 +50762,7 @@ msgstr ""
msgid "comma at end of enumerator list"
msgstr ""
-#: c/c-parser.cc:4109 c/c-parser.cc:20758 cp/parser.cc:43041
+#: c/c-parser.cc:4109 c/c-parser.cc:20758 cp/parser.cc:43046
#: go/gofrontend/embed.cc:424
#, gcc-internal-format
msgid "expected %<,%> or %<}%>"
@@ -50868,7 +50869,7 @@ msgstr ""
msgid "ISO C does not support %<[[]]%> attributes before C23"
msgstr ""
-#: c/c-parser.cc:6397 c/c-parser.cc:6463 c/c-typeck.cc:9628
+#: c/c-parser.cc:6397 c/c-parser.cc:6463 c/c-typeck.cc:9642
#, gcc-internal-format
msgid ""
"variable-sized object may not be initialized except with an empty initializer"
@@ -50921,7 +50922,7 @@ msgid "inner loops must be perfectly nested in %<pragma omp tile%>"
msgstr ""
#: c/c-parser.cc:7084 c/c-parser.cc:7239 cp/parser.cc:12633 cp/parser.cc:12783
-#: cp/parser.cc:50772
+#: cp/parser.cc:50777
#, gcc-internal-format
msgid ""
"mixing OpenMP directives with attribute and pragma syntax on the same "
@@ -50934,7 +50935,7 @@ msgid "OpenMP %<omp::decl%> attribute on a statement"
msgstr ""
#: c/c-parser.cc:7116 c/c-parser.cc:7337 c/c-parser.cc:27447 cp/parser.cc:12665
-#: cp/parser.cc:50752 cp/parser.cc:50891
+#: cp/parser.cc:50757 cp/parser.cc:50896
#, gcc-internal-format
msgid "unknown OpenMP directive name in %qs attribute argument"
msgstr ""
@@ -51301,7 +51302,7 @@ msgstr ""
#: c/c-parser.cc:11517 c/c-parser.cc:13256 c/c-parser.cc:13278
#: c/c-parser.cc:22957 c/gimple-parser.cc:1897 c/gimple-parser.cc:2537
-#: cp/parser.cc:44511
+#: cp/parser.cc:44516
#, gcc-internal-format
msgid "expected expression"
msgstr ""
@@ -51688,12 +51689,12 @@ msgstr ""
msgid "no type or storage class may be specified here,"
msgstr ""
-#: c/c-parser.cc:15275 cp/parser.cc:38415
+#: c/c-parser.cc:15275 cp/parser.cc:38420
#, gcc-internal-format
msgid "empty property attribute list"
msgstr ""
-#: c/c-parser.cc:15289 cp/parser.cc:38428
+#: c/c-parser.cc:15289 cp/parser.cc:38433
#, gcc-internal-format
msgid "missing property attribute"
msgstr ""
@@ -51703,61 +51704,61 @@ msgstr ""
msgid "unknown property attribute %<%s%s%>"
msgstr ""
-#: c/c-parser.cc:15331 cp/parser.cc:38465
+#: c/c-parser.cc:15331 cp/parser.cc:38470
#, gcc-internal-format
msgid "unknown property attribute"
msgstr ""
-#: c/c-parser.cc:15340 cp/parser.cc:38474
+#: c/c-parser.cc:15340 cp/parser.cc:38479
#, gcc-internal-format
msgid "expected %<=%> after Objective-C %qE"
msgstr ""
-#: c/c-parser.cc:15351 cp/parser.cc:38488
+#: c/c-parser.cc:15351 cp/parser.cc:38493
#, gcc-internal-format
msgid "expected %qE selector name"
msgstr ""
-#: c/c-parser.cc:15367 cp/parser.cc:38507
+#: c/c-parser.cc:15367 cp/parser.cc:38512
#, gcc-internal-format
msgid "setter method names must terminate with %<:%>"
msgstr ""
-#: c/c-parser.cc:15591 cp/semantics.cc:14071
+#: c/c-parser.cc:15591 cp/semantics.cc:14085
#, 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:15629 cp/parser.cc:53448
+#: c/c-parser.cc:15629 cp/parser.cc:53453
#, gcc-internal-format
msgid "intervening code must not contain OpenMP directives"
msgstr ""
#: c/c-parser.cc:15649 c/c-parser.cc:25667 c/c-parser.cc:25976
-#: c/c-parser.cc:26039 c/c-parser.cc:26149 cp/parser.cc:48085
-#: cp/parser.cc:48433 cp/parser.cc:48548 cp/parser.cc:48647 cp/parser.cc:53480
-#: cp/parser.cc:53496 cp/parser.cc:53512 cp/parser.cc:53528 cp/parser.cc:53545
-#: cp/parser.cc:53562 cp/parser.cc:53579 cp/parser.cc:53606 cp/parser.cc:53620
-#: cp/parser.cc:53645 cp/parser.cc:53659
+#: c/c-parser.cc:26039 c/c-parser.cc:26149 cp/parser.cc:48090
+#: cp/parser.cc:48438 cp/parser.cc:48553 cp/parser.cc:48652 cp/parser.cc:53485
+#: cp/parser.cc:53501 cp/parser.cc:53517 cp/parser.cc:53533 cp/parser.cc:53550
+#: cp/parser.cc:53567 cp/parser.cc:53584 cp/parser.cc:53611 cp/parser.cc:53625
+#: cp/parser.cc:53650 cp/parser.cc:53664
#, gcc-internal-format
msgid "%<#pragma %s%> may only be used in compound statements"
msgstr ""
-#: c/c-parser.cc:15672 cp/parser.cc:53634
+#: c/c-parser.cc:15672 cp/parser.cc:53639
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be at file scope"
msgstr ""
-#: c/c-parser.cc:15771 cp/parser.cc:53764
+#: c/c-parser.cc:15771 cp/parser.cc:53769
#, gcc-internal-format
msgid ""
"%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> "
"%<reduction%> clause"
msgstr ""
-#: c/c-parser.cc:15778 cp/parser.cc:53770
+#: c/c-parser.cc:15778 cp/parser.cc:53775
#, gcc-internal-format
msgid ""
"%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
@@ -51769,12 +51770,12 @@ msgstr ""
msgid "%<#pragma %s%> may only be used at file scope"
msgstr ""
-#: c/c-parser.cc:15877 cp/parser.cc:53853
+#: c/c-parser.cc:15877 cp/parser.cc:53858
#, gcc-internal-format
msgid "for, while or do statement expected"
msgstr ""
-#: c/c-parser.cc:15893 cp/parser.cc:53470
+#: c/c-parser.cc:15893 cp/parser.cc:53475
#, gcc-internal-format
msgid "%<#pragma GCC pch_preprocess%> must be first"
msgstr ""
@@ -51784,11 +51785,11 @@ msgstr ""
#: c/c-parser.cc:22762 c/c-parser.cc:22769 c/c-parser.cc:27120
#: c/c-parser.cc:28325 c/c-parser.cc:28333 c/c-parser.cc:28709
#: c/c-parser.cc:28719 c/c-parser.cc:28813 c/c-parser.cc:28820
-#: c/c-parser.cc:28827 cp/parser.cc:38954 cp/parser.cc:42635 cp/parser.cc:44037
-#: cp/parser.cc:44074 cp/parser.cc:44263 cp/parser.cc:44326 cp/parser.cc:44333
-#: cp/parser.cc:44340 cp/parser.cc:50006 cp/parser.cc:50013 cp/parser.cc:50020
-#: cp/parser.cc:50553 cp/parser.cc:52334 cp/parser.cc:52342 cp/parser.cc:52494
-#: cp/parser.cc:52504
+#: c/c-parser.cc:28827 cp/parser.cc:38959 cp/parser.cc:42640 cp/parser.cc:44042
+#: cp/parser.cc:44079 cp/parser.cc:44268 cp/parser.cc:44331 cp/parser.cc:44338
+#: cp/parser.cc:44345 cp/parser.cc:50011 cp/parser.cc:50018 cp/parser.cc:50025
+#: cp/parser.cc:50558 cp/parser.cc:52339 cp/parser.cc:52347 cp/parser.cc:52499
+#: cp/parser.cc:52509
#, gcc-internal-format
msgid "too many %qs clauses"
msgstr ""
@@ -51803,58 +51804,58 @@ msgstr ""
msgid "%qD is not a variable"
msgstr ""
-#: c/c-parser.cc:16914 cp/semantics.cc:9112
+#: c/c-parser.cc:16914 cp/semantics.cc:9126
#, gcc-internal-format
msgid "%qD is not a pointer variable"
msgstr ""
-#: c/c-parser.cc:16956 cp/parser.cc:39845
+#: c/c-parser.cc:16956 cp/parser.cc:39850
#, gcc-internal-format
msgid "collapse argument needs positive constant integer expression"
msgstr ""
-#: c/c-parser.cc:17051 cp/parser.cc:39923
+#: c/c-parser.cc:17051 cp/parser.cc:39928
#, gcc-internal-format
msgid "expected %<none%> or %<present%>"
msgstr ""
-#: c/c-parser.cc:17053 cp/parser.cc:39925
+#: c/c-parser.cc:17053 cp/parser.cc:39930
#, gcc-internal-format
msgid "expected %<none%>, %<shared%>, %<private%> or %<firstprivate%>"
msgstr ""
-#: c/c-parser.cc:17138 cp/parser.cc:39995
+#: c/c-parser.cc:17138 cp/parser.cc:40000
#, gcc-internal-format
msgid "expected constant logical expression"
msgstr ""
-#: c/c-parser.cc:17215 cp/parser.cc:40077
+#: c/c-parser.cc:17215 cp/parser.cc:40082
#, gcc-internal-format
msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
msgstr ""
#: c/c-parser.cc:17235 c/c-parser.cc:26032 c/c-parser.cc:26142
-#: cp/parser.cc:40095 cp/parser.cc:48425 cp/parser.cc:48540
+#: cp/parser.cc:40100 cp/parser.cc:48430 cp/parser.cc:48545
#, gcc-internal-format
msgid "expected %<data%>"
msgstr ""
-#: c/c-parser.cc:17288 cp/parser.cc:40150
+#: c/c-parser.cc:17288 cp/parser.cc:40155
#, gcc-internal-format
msgid "too many %<if%> clauses with %qs modifier"
msgstr ""
-#: c/c-parser.cc:17295 cp/parser.cc:40157
+#: c/c-parser.cc:17295 cp/parser.cc:40162
#, gcc-internal-format
msgid "too many %<if%> clauses"
msgstr ""
-#: c/c-parser.cc:17297 cp/parser.cc:40159
+#: c/c-parser.cc:17297 cp/parser.cc:40164
#, gcc-internal-format
msgid "too many %<if%> clauses without modifier"
msgstr ""
-#: c/c-parser.cc:17303 cp/parser.cc:40165
+#: c/c-parser.cc:17303 cp/parser.cc:40170
#, gcc-internal-format
msgid ""
"if any %<if%> clause has modifier, then all %<if%> clauses have to use "
@@ -51879,22 +51880,22 @@ msgstr ""
msgid "%<num_tasks%> value must be positive"
msgstr ""
-#: c/c-parser.cc:17542 cp/semantics.cc:9327
+#: c/c-parser.cc:17542 cp/semantics.cc:9341
#, gcc-internal-format
msgid "%<grainsize%> value must be positive"
msgstr ""
-#: c/c-parser.cc:17591 cp/semantics.cc:9357
+#: c/c-parser.cc:17591 cp/semantics.cc:9371
#, gcc-internal-format
msgid "%<priority%> value must be non-negative"
msgstr ""
-#: c/c-parser.cc:17625 cp/parser.cc:40391
+#: c/c-parser.cc:17625 cp/parser.cc:40396
#, gcc-internal-format
msgid "expected constant integer expression with valid sync-hint value"
msgstr ""
-#: c/c-parser.cc:17697 cp/parser.cc:40461
+#: c/c-parser.cc:17697 cp/parser.cc:40466
#, gcc-internal-format
msgid ""
"expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> "
@@ -51906,96 +51907,96 @@ msgstr ""
msgid "expected %<scalar%>, %<aggregate%>, %<pointer%> or %<all%>"
msgstr ""
-#: c/c-parser.cc:17842 cp/parser.cc:40613
+#: c/c-parser.cc:17842 cp/parser.cc:40618
#, gcc-internal-format
msgid "too many %<defaultmap%> clauses with %qs category"
msgstr ""
-#: c/c-parser.cc:17845 cp/parser.cc:40616
+#: c/c-parser.cc:17845 cp/parser.cc:40621
#, gcc-internal-format
msgid "too many %<defaultmap%> clauses with unspecified category"
msgstr ""
-#: c/c-parser.cc:17929 cp/semantics.cc:8181 cp/semantics.cc:8236
+#: c/c-parser.cc:17929 cp/semantics.cc:8195 cp/semantics.cc:8250
#, gcc-internal-format
msgid "%qs expression must be integral"
msgstr ""
-#: c/c-parser.cc:17941 c/c-parser.cc:18064 cp/semantics.cc:8215
-#: cp/semantics.cc:8250
+#: c/c-parser.cc:17941 c/c-parser.cc:18064 cp/semantics.cc:8229
+#: cp/semantics.cc:8264
#, gcc-internal-format
msgid "%qs value must be positive"
msgstr ""
-#: c/c-parser.cc:18003 cp/parser.cc:39608
+#: c/c-parser.cc:18003 cp/parser.cc:39613
#, gcc-internal-format
msgid "too many %<static%> arguments"
msgstr ""
-#: c/c-parser.cc:18037 cp/parser.cc:39641
+#: c/c-parser.cc:18037 cp/parser.cc:39646
#, gcc-internal-format
msgid "unexpected argument"
msgstr ""
-#: c/c-parser.cc:18204 cp/semantics.cc:9543
+#: c/c-parser.cc:18204 cp/semantics.cc:9557
#, gcc-internal-format
msgid "%<tile%> argument needs positive integral constant"
msgstr ""
-#: c/c-parser.cc:18272 cp/parser.cc:43254
+#: c/c-parser.cc:18272 cp/parser.cc:43259
#, gcc-internal-format
msgid "too many %<self%> clauses"
msgstr ""
-#: c/c-parser.cc:18314 cp/parser.cc:40666
+#: c/c-parser.cc:18314 cp/parser.cc:40671
#, gcc-internal-format
msgid "expected %<reproducible%> or %<unconstrained%>"
msgstr ""
-#: c/c-parser.cc:18323 c/c-parser.cc:18329 cp/parser.cc:40675
-#: cp/parser.cc:40685
+#: c/c-parser.cc:18323 c/c-parser.cc:18329 cp/parser.cc:40680
+#: cp/parser.cc:40690
#, gcc-internal-format
msgid "expected %<concurrent%>"
msgstr ""
-#: c/c-parser.cc:18365 cp/parser.cc:40725
+#: c/c-parser.cc:18365 cp/parser.cc:40730
#, gcc-internal-format
msgid "expected %<teams%>, %<parallel%> or %<thread%>"
msgstr ""
-#: c/c-parser.cc:18418 cp/parser.cc:40793
+#: c/c-parser.cc:18418 cp/parser.cc:40798
#, gcc-internal-format
msgid "ordered argument needs positive constant integer expression"
msgstr ""
-#: c/c-parser.cc:18543 c/c-parser.cc:27870 cp/parser.cc:51944
+#: c/c-parser.cc:18543 c/c-parser.cc:27870 cp/parser.cc:51949
#, gcc-internal-format
msgid ""
"expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or "
"identifier"
msgstr ""
-#: c/c-parser.cc:18665 cp/parser.cc:41051
+#: c/c-parser.cc:18665 cp/parser.cc:41056
#, gcc-internal-format
msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
msgstr ""
-#: c/c-parser.cc:18719 cp/parser.cc:41067
+#: c/c-parser.cc:18719 cp/parser.cc:41072
#, gcc-internal-format
msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
msgstr ""
-#: c/c-parser.cc:18723 cp/parser.cc:41070
+#: c/c-parser.cc:18723 cp/parser.cc:41075
#, gcc-internal-format
msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
msgstr ""
-#: c/c-parser.cc:18736 cp/semantics.cc:8297
+#: c/c-parser.cc:18736 cp/semantics.cc:8311
#, gcc-internal-format
msgid "chunk size value must be positive"
msgstr ""
-#: c/c-parser.cc:18759 cp/parser.cc:41090
+#: c/c-parser.cc:18759 cp/parser.cc:41095
#, gcc-internal-format
msgid "invalid schedule kind"
msgstr ""
@@ -52005,24 +52006,24 @@ msgstr ""
msgid "%<num_teams%> value must be positive"
msgstr ""
-#: c/c-parser.cc:18917 cp/semantics.cc:8264
+#: c/c-parser.cc:18917 cp/semantics.cc:8278
#, gcc-internal-format
msgid "%<num_teams%> lower bound %qE bigger than upper bound %qE"
msgstr ""
-#: c/c-parser.cc:18966 cp/semantics.cc:8393
+#: c/c-parser.cc:18966 cp/semantics.cc:8407
#, gcc-internal-format
msgid "%<thread_limit%> value must be positive"
msgstr ""
-#: c/c-parser.cc:19011 cp/semantics.cc:8521
+#: c/c-parser.cc:19011 cp/semantics.cc:8535
#, gcc-internal-format
msgid ""
"%<aligned%> clause alignment expression must be positive constant integer "
"expression"
msgstr ""
-#: c/c-parser.cc:19123 c/c-parser.cc:22412 cp/parser.cc:44029
+#: c/c-parser.cc:19123 c/c-parser.cc:22412 cp/parser.cc:44034
#, gcc-internal-format
msgid "expected %<allocator%> or %<align%>"
msgstr ""
@@ -52032,26 +52033,26 @@ msgstr ""
msgid "duplicate %qs modifier"
msgstr ""
-#: c/c-parser.cc:19178 cp/semantics.cc:8654
+#: c/c-parser.cc:19178 cp/semantics.cc:8668
#, gcc-internal-format
msgid ""
"%<allocate%> clause allocator expression has type %qT rather than "
"%<omp_allocator_handle_t%>"
msgstr ""
-#: c/c-parser.cc:19189 cp/semantics.cc:8609 cp/semantics.cc:8625
+#: c/c-parser.cc:19189 cp/semantics.cc:8623 cp/semantics.cc:8639
#, gcc-internal-format
msgid ""
"%<allocate%> clause %<align%> modifier argument needs to be positive "
"constant power of two integer expression"
msgstr ""
-#: c/c-parser.cc:19308 cp/parser.cc:41629
+#: c/c-parser.cc:19308 cp/parser.cc:41634
#, gcc-internal-format
msgid "multiple linear modifiers"
msgstr ""
-#: c/c-parser.cc:19320 cp/parser.cc:41642
+#: c/c-parser.cc:19320 cp/parser.cc:41647
#, gcc-internal-format
msgid "multiple %<step%> modifiers"
msgstr ""
@@ -52073,66 +52074,66 @@ msgid ""
"%<simdlen%> clause expression must be positive constant integer expression"
msgstr ""
-#: c/c-parser.cc:19807 cp/parser.cc:42189
+#: c/c-parser.cc:19807 cp/parser.cc:42194
#, gcc-internal-format
msgid "%<iterator%> modifier incompatible with %qs"
msgstr ""
-#: c/c-parser.cc:19855 cp/parser.cc:42244 cp/parser.cc:42696 cp/parser.cc:42763
+#: c/c-parser.cc:19855 cp/parser.cc:42249 cp/parser.cc:42701 cp/parser.cc:42768
#, gcc-internal-format
msgid "invalid depend kind"
msgstr ""
-#: c/c-parser.cc:19916 cp/parser.cc:42274
+#: c/c-parser.cc:19916 cp/parser.cc:42279
#, gcc-internal-format
msgid "invalid doacross kind"
msgstr ""
-#: c/c-parser.cc:19985 cp/parser.cc:42417
+#: c/c-parser.cc:19985 cp/parser.cc:42422
#, gcc-internal-format
msgid "too many %<always%> modifiers"
msgstr ""
-#: c/c-parser.cc:19995 cp/parser.cc:42430
+#: c/c-parser.cc:19995 cp/parser.cc:42435
#, gcc-internal-format
msgid "too many %<close%> modifiers"
msgstr ""
-#: c/c-parser.cc:20005 cp/parser.cc:42443
+#: c/c-parser.cc:20005 cp/parser.cc:42448
#, gcc-internal-format
msgid "too many %<present%> modifiers"
msgstr ""
-#: c/c-parser.cc:20013 cp/parser.cc:42454
+#: c/c-parser.cc:20013 cp/parser.cc:42459
#, gcc-internal-format
msgid ""
"%<map%> clause with map-type modifier other than %<always%>, %<close%> or "
"%<present%>"
msgstr ""
-#: c/c-parser.cc:20051 cp/parser.cc:42494
+#: c/c-parser.cc:20051 cp/parser.cc:42499
#, gcc-internal-format
msgid "invalid map kind"
msgstr ""
-#: c/c-parser.cc:20103 cp/parser.cc:42558
+#: c/c-parser.cc:20103 cp/parser.cc:42563
#, gcc-internal-format
msgid ""
"%<ancestor%> device modifier not preceded by %<requires%> directive with "
"%<reverse_offload%> clause"
msgstr ""
-#: c/c-parser.cc:20115 cp/parser.cc:42569
+#: c/c-parser.cc:20115 cp/parser.cc:42574
#, gcc-internal-format
msgid "expected %<ancestor%> or %<device_num%>"
msgstr ""
-#: c/c-parser.cc:20138 cp/semantics.cc:8418
+#: c/c-parser.cc:20138 cp/semantics.cc:8432
#, gcc-internal-format
msgid "the %<device%> clause expression must evaluate to %<1%>"
msgstr ""
-#: c/c-parser.cc:20171 cp/parser.cc:42640
+#: c/c-parser.cc:20171 cp/parser.cc:42645
#, gcc-internal-format
msgid "invalid dist_schedule kind"
msgstr ""
@@ -52147,171 +52148,171 @@ msgstr ""
msgid "expected %<host%>, %<nohost%> or %<any%>"
msgstr ""
-#: c/c-parser.cc:20400 cp/semantics.cc:9665 cp/semantics.cc:9683
+#: c/c-parser.cc:20400 cp/semantics.cc:9679 cp/semantics.cc:9697
#, gcc-internal-format
msgid "%<partial%> argument needs positive constant integer expression"
msgstr ""
-#: c/c-parser.cc:20501 cp/semantics.cc:8837
+#: c/c-parser.cc:20501 cp/semantics.cc:8851
#, gcc-internal-format
msgid ""
"%<detach%> clause event handle has type %qT rather than "
"%<omp_event_handle_t%>"
msgstr ""
-#: c/c-parser.cc:20572 c/c-parser.cc:20666 cp/parser.cc:42823
-#: cp/parser.cc:42935
+#: c/c-parser.cc:20572 c/c-parser.cc:20666 cp/parser.cc:42828
+#: cp/parser.cc:42940
#, gcc-internal-format
msgid "string literal must not contain %<\\0%>"
msgstr ""
-#: c/c-parser.cc:20581 c/c-parser.cc:20702 cp/parser.cc:42830
-#: cp/parser.cc:42970
+#: c/c-parser.cc:20581 c/c-parser.cc:20702 cp/parser.cc:42835
+#: cp/parser.cc:42975
#, gcc-internal-format
msgid "unknown foreign runtime identifier %qs"
msgstr ""
-#: c/c-parser.cc:20596 c/c-parser.cc:20725 cp/parser.cc:42845
-#: cp/parser.cc:42992
+#: c/c-parser.cc:20596 c/c-parser.cc:20725 cp/parser.cc:42850
+#: cp/parser.cc:42997
#, gcc-internal-format
msgid "expected string literal or constant integer expression"
msgstr ""
-#: c/c-parser.cc:20604 c/c-parser.cc:20733 cp/parser.cc:42853
-#: cp/parser.cc:43000 cp/semantics.cc:7513
+#: c/c-parser.cc:20604 c/c-parser.cc:20733 cp/parser.cc:42858
+#: cp/parser.cc:43005 cp/semantics.cc:7527
#, gcc-internal-format
msgid "unknown foreign runtime identifier %qwd"
msgstr ""
-#: c/c-parser.cc:20642 cp/parser.cc:42912
+#: c/c-parser.cc:20642 cp/parser.cc:42917
#, gcc-internal-format
msgid "expected %<fr%> or %<attr%> preference selector"
msgstr ""
-#: c/c-parser.cc:20650 cp/parser.cc:42920
+#: c/c-parser.cc:20650 cp/parser.cc:42925
#, gcc-internal-format
msgid "duplicated %<fr%> preference selector"
msgstr ""
-#: c/c-parser.cc:20676 cp/parser.cc:42944
+#: c/c-parser.cc:20676 cp/parser.cc:42949
#, gcc-internal-format
msgid "%<attr%> string literal must start with %<ompx_%>"
msgstr ""
-#: c/c-parser.cc:20684 cp/parser.cc:42951
+#: c/c-parser.cc:20684 cp/parser.cc:42956
#, gcc-internal-format
msgid "%<attr%> string literal must not contain a comma"
msgstr ""
-#: c/c-parser.cc:20696 cp/parser.cc:42963
+#: c/c-parser.cc:20696 cp/parser.cc:42968
#, gcc-internal-format
msgid "non-empty string literal expected"
msgstr ""
-#: c/c-parser.cc:20806 cp/parser.cc:43103
+#: c/c-parser.cc:20806 cp/parser.cc:43108
#, gcc-internal-format
msgid "duplicate %<targetsync%> modifier"
msgstr ""
-#: c/c-parser.cc:20813 cp/parser.cc:43110
+#: c/c-parser.cc:20813 cp/parser.cc:43115
#, gcc-internal-format
msgid "duplicate %<target%> modifier"
msgstr ""
-#: c/c-parser.cc:20820 cp/parser.cc:43117
+#: c/c-parser.cc:20820 cp/parser.cc:43122
#, gcc-internal-format
msgid "duplicate %<prefer_type%> modifier"
msgstr ""
-#: c/c-parser.cc:20841 cp/parser.cc:43138
+#: c/c-parser.cc:20841 cp/parser.cc:43143
#, gcc-internal-format
msgid "expected %<prefer_type%>, %<target%>, or %<targetsync%>"
msgstr ""
-#: c/c-parser.cc:20877 c/c-parser.cc:27149 cp/parser.cc:43175
-#: cp/parser.cc:50578
+#: c/c-parser.cc:20877 c/c-parser.cc:27149 cp/parser.cc:43180
+#: cp/parser.cc:50583
#, gcc-internal-format
msgid "missing required %<target%> and/or %<targetsync%> modifier"
msgstr ""
-#: c/c-parser.cc:21118 cp/parser.cc:43470
+#: c/c-parser.cc:21118 cp/parser.cc:43475
#, gcc-internal-format
msgid "expected an OpenACC clause"
msgstr ""
#: c/c-parser.cc:21129 c/c-parser.cc:21526 c/c-parser.cc:29112
-#: cp/parser.cc:43481 cp/parser.cc:43934 cp/parser.cc:51422
+#: cp/parser.cc:43486 cp/parser.cc:43939 cp/parser.cc:51427
#, gcc-internal-format
msgid "%qs is not valid for %qs"
msgstr ""
-#: c/c-parser.cc:21174 cp/parser.cc:43529
+#: c/c-parser.cc:21174 cp/parser.cc:43534
#, gcc-internal-format
msgid "clauses in %<simd%> trait should be separated by %<,%>"
msgstr ""
-#: c/c-parser.cc:21327 cp/parser.cc:43722
+#: c/c-parser.cc:21327 cp/parser.cc:43727
#, gcc-internal-format
msgid "%qs must be the first clause of %qs"
msgstr ""
-#: c/c-parser.cc:21515 cp/parser.cc:43923
+#: c/c-parser.cc:21515 cp/parser.cc:43928
#, gcc-internal-format
msgid "expected an OpenMP clause"
msgstr ""
-#: c/c-parser.cc:21676 cp/parser.cc:49110
+#: c/c-parser.cc:21676 cp/parser.cc:49115
#, gcc-internal-format
msgid "no valid clauses specified in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21686 cp/parser.cc:49120
+#: c/c-parser.cc:21686 cp/parser.cc:49125
#, gcc-internal-format
msgid "array section in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21706 cp/parser.cc:49140
+#: c/c-parser.cc:21706 cp/parser.cc:49145
#, gcc-internal-format
msgid "%qD must be a global variable in %<#pragma acc declare link%>"
msgstr ""
-#: c/c-parser.cc:21717 cp/parser.cc:49151
+#: c/c-parser.cc:21717 cp/parser.cc:49156
#, gcc-internal-format
msgid "invalid OpenACC clause at file scope"
msgstr ""
-#: c/c-parser.cc:21724 cp/parser.cc:49158
+#: c/c-parser.cc:21724 cp/parser.cc:49163
#, gcc-internal-format
msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21732 cp/parser.cc:49166
+#: c/c-parser.cc:21732 cp/parser.cc:49171
#, gcc-internal-format
msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21743 cp/parser.cc:49188
+#: c/c-parser.cc:21743 cp/parser.cc:49193
#, gcc-internal-format
msgid ""
"%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21753 cp/parser.cc:49211
+#: c/c-parser.cc:21753 cp/parser.cc:49216
#, gcc-internal-format
msgid "variable %qD used more than once with %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.cc:21846 cp/parser.cc:49295
+#: c/c-parser.cc:21846 cp/parser.cc:49300
#, gcc-internal-format
msgid "expected %<data%> after %<#pragma acc %s%>"
msgstr ""
-#: c/c-parser.cc:21862 cp/parser.cc:49312
+#: c/c-parser.cc:21862 cp/parser.cc:49317
#, gcc-internal-format
msgid "%<#pragma acc %s data%> has no data movement clause"
msgstr ""
-#: c/c-parser.cc:21894 cp/parser.cc:49070
+#: c/c-parser.cc:21894 cp/parser.cc:49075
#, gcc-internal-format
msgid "%<host_data%> construct requires %<use_device%> clause"
msgstr ""
@@ -52326,7 +52327,7 @@ msgstr ""
msgid "expected function name"
msgstr ""
-#: c/c-parser.cc:22145 cp/parser.cc:52761
+#: c/c-parser.cc:22145 cp/parser.cc:52766
#, gcc-internal-format
msgid "%qD does not refer to a function"
msgstr ""
@@ -52338,24 +52339,24 @@ msgid ""
"definition"
msgstr ""
-#: c/c-parser.cc:22208 cp/parser.cc:52812 cp/parser.cc:52859
+#: c/c-parser.cc:22208 cp/parser.cc:52817 cp/parser.cc:52864
#, gcc-internal-format
msgid ""
"%<#pragma acc routine%> not immediately followed by a single function "
"declaration or definition"
msgstr ""
-#: c/c-parser.cc:22239 cp/parser.cc:52887
+#: c/c-parser.cc:22239 cp/parser.cc:52892
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be applied before use"
msgstr ""
-#: c/c-parser.cc:22240 cp/parser.cc:52889
+#: c/c-parser.cc:22240 cp/parser.cc:52894
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be applied before definition"
msgstr ""
-#: c/c-parser.cc:22285 cp/parser.cc:49528
+#: c/c-parser.cc:22285 cp/parser.cc:49533
#, gcc-internal-format
msgid ""
"%<#pragma acc update%> must contain at least one %<device%> or %<host%> or "
@@ -52385,7 +52386,7 @@ msgstr ""
msgid "modified here"
msgstr ""
-#: c/c-parser.cc:22436 cp/parser.cc:44049 cp/parser.cc:44064
+#: c/c-parser.cc:22436 cp/parser.cc:44054 cp/parser.cc:44069
#, gcc-internal-format
msgid ""
"%<align%> clause argument needs to be positive constant power of two integer "
@@ -52426,17 +52427,17 @@ msgstr ""
msgid "%<allocator%> clause requires a predefined allocator as %qD is static"
msgstr ""
-#: c/c-parser.cc:22663 cp/parser.cc:44229
+#: c/c-parser.cc:22663 cp/parser.cc:44234
#, gcc-internal-format
msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
msgstr ""
-#: c/c-parser.cc:22702 cp/parser.cc:44268
+#: c/c-parser.cc:22702 cp/parser.cc:44273
#, gcc-internal-format
msgid "expected %<seq_cst%>, %<acquire%> or %<relaxed%>"
msgstr ""
-#: c/c-parser.cc:22726 cp/parser.cc:44297
+#: c/c-parser.cc:22726 cp/parser.cc:44302
#, gcc-internal-format
msgid ""
"expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, "
@@ -52444,100 +52445,100 @@ msgid ""
"%<hint%> clause"
msgstr ""
-#: c/c-parser.cc:22741 cp/parser.cc:44312
+#: c/c-parser.cc:22741 cp/parser.cc:44317
#, gcc-internal-format
msgid "too many atomic clauses"
msgstr ""
-#: c/c-parser.cc:22748 cp/parser.cc:44319
+#: c/c-parser.cc:22748 cp/parser.cc:44324
#, gcc-internal-format
msgid "too many memory order clauses"
msgstr ""
-#: c/c-parser.cc:22786 c/c-parser.cc:22793 cp/parser.cc:44357
-#: cp/parser.cc:44364
+#: c/c-parser.cc:22786 c/c-parser.cc:22793 cp/parser.cc:44362
+#: cp/parser.cc:44369
#, gcc-internal-format
msgid "%qs clause is incompatible with %<read%> or %<write%> clauses"
msgstr ""
-#: c/c-parser.cc:22799 c/c-parser.cc:22804 cp/parser.cc:44370
-#: cp/parser.cc:44375
+#: c/c-parser.cc:22799 c/c-parser.cc:22804 cp/parser.cc:44375
+#: cp/parser.cc:44380
#, gcc-internal-format
msgid "%qs clause requires %qs clause"
msgstr ""
-#: c/c-parser.cc:22827 cp/parser.cc:44398
+#: c/c-parser.cc:22827 cp/parser.cc:44403
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic write%> incompatible with %<acquire%> clause implicitly "
"provided by a %<requires%> directive"
msgstr ""
-#: c/c-parser.cc:22838 cp/parser.cc:44409
+#: c/c-parser.cc:22838 cp/parser.cc:44414
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic read%> incompatible with %<release%> clause implicitly "
"provided by a %<requires%> directive"
msgstr ""
-#: c/c-parser.cc:22870 cp/parser.cc:44441
+#: c/c-parser.cc:22870 cp/parser.cc:44446
#, gcc-internal-format
msgid "%<#pragma omp atomic read%> incompatible with %<release%> clause"
msgstr ""
-#: c/c-parser.cc:22880 cp/parser.cc:44451
+#: c/c-parser.cc:22880 cp/parser.cc:44456
#, gcc-internal-format
msgid "%<#pragma omp atomic write%> incompatible with %<acquire%> clause"
msgstr ""
-#: c/c-parser.cc:23001 cp/parser.cc:44551
+#: c/c-parser.cc:23001 cp/parser.cc:44556
#, gcc-internal-format
msgid "expected %<==%> comparison in %<if%> condition"
msgstr ""
-#: c/c-parser.cc:23008 cp/parser.cc:44558
+#: c/c-parser.cc:23008 cp/parser.cc:44563
#, gcc-internal-format
msgid "expected %<==%>, %<<%> or %<>%> comparison in %<if%> condition"
msgstr ""
-#: c/c-parser.cc:23081 cp/parser.cc:44623 cp/parser.cc:44906 cp/parser.cc:45000
-#: cp/parser.cc:45018
+#: c/c-parser.cc:23081 cp/parser.cc:44628 cp/parser.cc:44911 cp/parser.cc:45005
+#: cp/parser.cc:45023
#, gcc-internal-format
msgid "invalid form of %<#pragma omp atomic compare%>"
msgstr ""
-#: c/c-parser.cc:23092 cp/parser.cc:44634
+#: c/c-parser.cc:23092 cp/parser.cc:44639
#, gcc-internal-format
msgid "unexpected %<else%>"
msgstr ""
-#: c/c-parser.cc:23152 cp/parser.cc:45073
+#: c/c-parser.cc:23152 cp/parser.cc:45078
#, gcc-internal-format
msgid "invalid form of %<pragma omp atomic compare%>"
msgstr ""
-#: c/c-parser.cc:23423 cp/parser.cc:44927 cp/parser.cc:44953
+#: c/c-parser.cc:23423 cp/parser.cc:44932 cp/parser.cc:44958
#, gcc-internal-format
msgid "invalid form of %<#pragma omp atomic%>"
msgstr ""
-#: c/c-parser.cc:23427 cp/parser.cc:44993 cp/parser.cc:45027
+#: c/c-parser.cc:23427 cp/parser.cc:44998 cp/parser.cc:45032
#, gcc-internal-format
msgid "invalid operator for %<#pragma omp atomic%>"
msgstr ""
-#: c/c-parser.cc:23478 cp/parser.cc:45062
+#: c/c-parser.cc:23478 cp/parser.cc:45067
#, gcc-internal-format
msgid "%<weak%> clause requires atomic equality comparison"
msgstr ""
-#: c/c-parser.cc:23484 cp/semantics.cc:11909 cp/semantics.cc:11919
+#: c/c-parser.cc:23484 cp/semantics.cc:11923 cp/semantics.cc:11933
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic capture%> uses two different expressions for memory"
msgstr ""
-#: c/c-parser.cc:23587 cp/semantics.cc:11996
+#: c/c-parser.cc:23587 cp/semantics.cc:12010
#, gcc-internal-format
msgid "%<depobj%> expression is not lvalue expression"
msgstr ""
@@ -52547,29 +52548,29 @@ msgstr ""
msgid "%<destroy%> expression is not lvalue expression"
msgstr ""
-#: c/c-parser.cc:23636 cp/parser.cc:45215
+#: c/c-parser.cc:23636 cp/parser.cc:45220
#, gcc-internal-format
msgid ""
"the %<destroy%> expression %qE should be the same as the %<depobj%> argument "
"%qE"
msgstr ""
-#: c/c-parser.cc:23667 cp/parser.cc:45251
+#: c/c-parser.cc:23667 cp/parser.cc:45256
#, gcc-internal-format
msgid "expected %<in%>, %<out%>, %<inout%>, %<mutexinoutset%> or %<inoutset%>"
msgstr ""
-#: c/c-parser.cc:23679 cp/parser.cc:45267
+#: c/c-parser.cc:23679 cp/parser.cc:45272
#, gcc-internal-format
msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
msgstr ""
-#: c/c-parser.cc:23720 cp/parser.cc:45305
+#: c/c-parser.cc:23720 cp/parser.cc:45310
#, gcc-internal-format
msgid "expected %<seq_cst%>, %<acq_rel%>, %<release%> or %<acquire%>"
msgstr ""
-#: c/c-parser.cc:23728 cp/parser.cc:45313
+#: c/c-parser.cc:23728 cp/parser.cc:45318
#, gcc-internal-format
msgid "%<flush%> list specified together with memory order clause"
msgstr ""
@@ -52579,34 +52580,34 @@ msgstr ""
msgid "expected %<(%> or end of line"
msgstr ""
-#: c/c-parser.cc:23804 cp/parser.cc:46034
+#: c/c-parser.cc:23804 cp/parser.cc:46039
#, gcc-internal-format
msgid ""
"%<[[omp::directive(%s)]]%> must be the only specified attribute on a "
"statement"
msgstr ""
-#: c/c-parser.cc:23871 cp/parser.cc:46103
+#: c/c-parser.cc:23871 cp/parser.cc:46108
#, gcc-internal-format
msgid "%<#pragma omp scan%> with zero preceding executable statements"
msgstr ""
-#: c/c-parser.cc:23905 cp/parser.cc:46136
+#: c/c-parser.cc:23905 cp/parser.cc:46141
#, gcc-internal-format
msgid "expected %<inclusive%> or %<exclusive%> clause"
msgstr ""
-#: c/c-parser.cc:23910 cp/parser.cc:46142
+#: c/c-parser.cc:23910 cp/parser.cc:46147
#, gcc-internal-format
msgid "expected %<#pragma omp scan%>"
msgstr ""
-#: c/c-parser.cc:23919 cp/parser.cc:46151
+#: c/c-parser.cc:23919 cp/parser.cc:46156
#, gcc-internal-format
msgid "%<#pragma omp scan%> with zero succeeding executable statements"
msgstr ""
-#: c/c-parser.cc:23944 cp/parser.cc:46174
+#: c/c-parser.cc:23944 cp/parser.cc:46179
#, gcc-internal-format
msgid "for statement expected"
msgstr ""
@@ -52614,73 +52615,73 @@ msgstr ""
#. Don't call cp_parser_error here since it overrides the
#. provided message with a more confusing one if there was
#. a bad pragma or attribute directive.
-#: c/c-parser.cc:23973 cp/parser.cc:46196 cp/parser.cc:46198 cp/parser.cc:46383
+#: c/c-parser.cc:23973 cp/parser.cc:46201 cp/parser.cc:46203 cp/parser.cc:46388
#, gcc-internal-format
msgid "loop nest expected"
msgstr ""
-#: c/c-parser.cc:24025 cp/parser.cc:46271
+#: c/c-parser.cc:24025 cp/parser.cc:46276
#, gcc-internal-format
msgid ""
"attributes other than OpenMP directives are not allowed on %<for%> in loop "
"nest"
msgstr ""
-#: c/c-parser.cc:24054 cp/parser.cc:46302
+#: c/c-parser.cc:24054 cp/parser.cc:46307
#, gcc-internal-format
msgid ""
"%<unroll%> construct with %<partial%> clause generates just one loop with "
"canonical form but %d loops are needed"
msgstr ""
-#: c/c-parser.cc:24065 cp/parser.cc:46313
+#: c/c-parser.cc:24065 cp/parser.cc:46318
#, gcc-internal-format
msgid ""
"generated loop of %<unroll%> construct without %<partial%> clause does not "
"have canonical form"
msgstr ""
-#: c/c-parser.cc:24088 cp/parser.cc:46339
+#: c/c-parser.cc:24088 cp/parser.cc:46344
#, gcc-internal-format
msgid ""
"%<tile%> construct generates %d loops with canonical form but %d loops are "
"needed"
msgstr ""
-#: c/c-parser.cc:24099 cp/parser.cc:46350
+#: c/c-parser.cc:24099 cp/parser.cc:46355
#, gcc-internal-format
msgid "expected %<for%> loop or OpenMP loop transformation construct"
msgstr ""
-#: c/c-parser.cc:24187 cp/semantics.cc:11471 cp/semantics.cc:11564
+#: c/c-parser.cc:24187 cp/semantics.cc:11485 cp/semantics.cc:11578
#, gcc-internal-format
msgid "expected iteration declaration or initialization"
msgstr ""
-#: c/c-parser.cc:24276 c/c-parser.cc:24291 cp/parser.cc:46677
-#: cp/parser.cc:46692
+#: c/c-parser.cc:24276 c/c-parser.cc:24291 cp/parser.cc:46682
+#: cp/parser.cc:46697
#, gcc-internal-format
msgid "not enough nested loops"
msgstr ""
-#: c/c-parser.cc:24394 cp/parser.cc:46977
+#: c/c-parser.cc:24394 cp/parser.cc:46982
#, gcc-internal-format
msgid "%<ordered%> clause parameter is less than %<collapse%>"
msgstr ""
-#: c/c-parser.cc:24517 cp/parser.cc:46512 cp/parser.cc:46555 cp/pt.cc:18542
+#: c/c-parser.cc:24517 cp/parser.cc:46517 cp/parser.cc:46560 cp/pt.cc:18586
#, gcc-internal-format
msgid "iteration variable %qD should not be firstprivate"
msgstr ""
-#: c/c-parser.cc:24951 cp/parser.cc:47523
+#: c/c-parser.cc:24951 cp/parser.cc:47528
#, gcc-internal-format
msgid ""
"%<#pragma omp ordered%> with %qs clause may only be used in compound "
"statements"
msgstr ""
-#: c/c-parser.cc:25167 cp/parser.cc:47729
+#: c/c-parser.cc:25167 cp/parser.cc:47734
#, gcc-internal-format
msgid "expected %<for%> after %qs"
msgstr ""
@@ -52690,7 +52691,7 @@ msgstr ""
msgid "expected a function name"
msgstr ""
-#: c/c-parser.cc:25401 cp/parser.cc:50212
+#: c/c-parser.cc:25401 cp/parser.cc:50217
#, gcc-internal-format
msgid "expected target-function call"
msgstr ""
@@ -52702,59 +52703,59 @@ msgid ""
"assignment"
msgstr ""
-#: c/c-parser.cc:25658 cp/parser.cc:48076
+#: c/c-parser.cc:25658 cp/parser.cc:48081
#, gcc-internal-format
msgid "expected %<point%>"
msgstr ""
-#: c/c-parser.cc:25925 cp/parser.cc:48363
+#: c/c-parser.cc:25925 cp/parser.cc:48368
#, gcc-internal-format
msgid ""
"%<#pragma omp target data%> with map-type other than %<to%>, %<from%>, "
"%<tofrom%> or %<alloc%> on %<map%> clause"
msgstr ""
-#: c/c-parser.cc:25941 cp/parser.cc:48379
+#: c/c-parser.cc:25941 cp/parser.cc:48384
#, gcc-internal-format
msgid ""
"%<#pragma omp target data%> must contain at least one %<map%>, "
"%<use_device_ptr%> or %<use_device_addr%> clause"
msgstr ""
-#: c/c-parser.cc:25989 cp/parser.cc:48660
+#: c/c-parser.cc:25989 cp/parser.cc:48665
#, gcc-internal-format
msgid ""
"%<#pragma omp target update%> must contain at least one %<from%> or %<to%> "
"clauses"
msgstr ""
-#: c/c-parser.cc:26091 cp/parser.cc:48486
+#: c/c-parser.cc:26091 cp/parser.cc:48491
#, gcc-internal-format
msgid ""
"%<#pragma omp target enter data%> with map-type other than %<to%>, "
"%<tofrom%> or %<alloc%> on %<map%> clause"
msgstr ""
-#: c/c-parser.cc:26103 cp/parser.cc:48498
+#: c/c-parser.cc:26103 cp/parser.cc:48503
#, gcc-internal-format
msgid ""
"%<#pragma omp target enter data%> must contain at least one %<map%> clause"
msgstr ""
-#: c/c-parser.cc:26202 cp/parser.cc:48603
+#: c/c-parser.cc:26202 cp/parser.cc:48608
#, gcc-internal-format
msgid ""
"%<#pragma omp target exit data%> with map-type other than %<from%>, "
"%<tofrom%>, %<release%> or %<delete%> on %<map%> clause"
msgstr ""
-#: c/c-parser.cc:26215 cp/parser.cc:48616
+#: c/c-parser.cc:26215 cp/parser.cc:48621
#, gcc-internal-format
msgid ""
"%<#pragma omp target exit data%> must contain at least one %<map%> clause"
msgstr ""
-#: c/c-parser.cc:26460 cp/semantics.cc:10974
+#: c/c-parser.cc:26460 cp/semantics.cc:10988
#, gcc-internal-format
msgid ""
"%<#pragma omp target%> with map-type other than %<to%>, %<from%>, %<tofrom%> "
@@ -52775,68 +52776,68 @@ msgid ""
"definition"
msgstr ""
-#: c/c-parser.cc:26643 cp/parser.cc:49672
+#: c/c-parser.cc:26643 cp/parser.cc:49677
#, gcc-internal-format
msgid "expected trait selector name"
msgstr ""
-#: c/c-parser.cc:26655 cp/parser.cc:49686
+#: c/c-parser.cc:26655 cp/parser.cc:49691
#, gcc-internal-format
msgid "unknown selector %qs for context selector set %qs"
msgstr ""
-#: c/c-parser.cc:26683 cp/parser.cc:49715
+#: c/c-parser.cc:26683 cp/parser.cc:49720
#, gcc-internal-format
msgid "selector %qs does not accept any properties"
msgstr ""
-#: c/c-parser.cc:26705 cp/parser.cc:49747
+#: c/c-parser.cc:26705 cp/parser.cc:49752
#, gcc-internal-format
msgid "%<score%> cannot be specified in traits in the %qs trait-selector-set"
msgstr ""
-#: c/c-parser.cc:26714 cp/parser.cc:49757 cp/pt.cc:18210
+#: c/c-parser.cc:26714 cp/parser.cc:49762 cp/pt.cc:18254
#, gcc-internal-format
msgid "%<score%> argument must be constant integer expression"
msgstr ""
-#: c/c-parser.cc:26717 cp/parser.cc:49760 cp/pt.cc:18217
+#: c/c-parser.cc:26717 cp/parser.cc:49765 cp/pt.cc:18261
#, gcc-internal-format
msgid "%<score%> argument must be non-negative"
msgstr ""
-#: c/c-parser.cc:26758 cp/parser.cc:49806
+#: c/c-parser.cc:26758 cp/parser.cc:49811
#, gcc-internal-format
msgid "expected identifier or string literal"
msgstr ""
-#: c/c-parser.cc:26781 cp/parser.cc:49836 cp/pt.cc:18234
+#: c/c-parser.cc:26781 cp/parser.cc:49841 cp/pt.cc:18278
#, gcc-internal-format
msgid "property must be integer expression"
msgstr ""
-#: c/c-parser.cc:26794 cp/parser.cc:49847
+#: c/c-parser.cc:26794 cp/parser.cc:49852
#, gcc-internal-format
msgid ""
"properties for %<simd%> selector may not be specified in %<metadirective%>"
msgstr ""
-#: c/c-parser.cc:26815 cp/parser.cc:49863 fortran/openmp.cc:6534
+#: c/c-parser.cc:26815 cp/parser.cc:49868 fortran/openmp.cc:6534
#, gcc-internal-format
msgid "%<requires%> selector is not supported yet"
msgstr ""
-#: c/c-parser.cc:26874 cp/parser.cc:49926
+#: c/c-parser.cc:26874 cp/parser.cc:49931
#, gcc-internal-format
msgid "expected context selector set name"
msgstr ""
-#: c/c-parser.cc:26986 cp/parser.cc:50430
+#: c/c-parser.cc:26986 cp/parser.cc:50435
#, gcc-internal-format
msgid "expected %<match%>, %<adjust_args%> or %<append_args%> clause"
msgstr ""
-#: c/c-parser.cc:27002 cp/parser.cc:50443
+#: c/c-parser.cc:27002 cp/parser.cc:50448
#, gcc-internal-format
msgid "too many %<match%> clauses"
msgstr ""
@@ -52846,12 +52847,12 @@ msgstr ""
msgid "variant %qD is not a function"
msgstr ""
-#: c/c-parser.cc:27028 cp/decl.cc:8621
+#: c/c-parser.cc:27028 cp/decl.cc:8623
#, gcc-internal-format
msgid "variant %qD is a built-in"
msgstr ""
-#: c/c-parser.cc:27074 cp/parser.cc:50505
+#: c/c-parser.cc:27074 cp/parser.cc:50510
#, gcc-internal-format
msgid "%qD is specified more than once"
msgstr ""
@@ -52861,7 +52862,7 @@ msgstr ""
msgid "%qD is not of pointer type"
msgstr ""
-#: c/c-parser.cc:27101 cp/parser.cc:50538
+#: c/c-parser.cc:27101 cp/parser.cc:50543
#, gcc-internal-format
msgid "expected %<nothing%> or %<need_device_ptr%>"
msgstr ""
@@ -52871,32 +52872,32 @@ msgstr ""
msgid "%<need_device_addr%> is not valid for C"
msgstr ""
-#: c/c-parser.cc:27111 cp/parser.cc:50545
+#: c/c-parser.cc:27111 cp/parser.cc:50550
#, gcc-internal-format
msgid "expected %<nothing%> or %<need_device_ptr%> followed by %<:%>"
msgstr ""
-#: c/c-parser.cc:27131 cp/parser.cc:50562
+#: c/c-parser.cc:27131 cp/parser.cc:50567
#, gcc-internal-format
msgid "expected %<interop%>"
msgstr ""
-#: c/c-parser.cc:27229 cp/decl.cc:8603
+#: c/c-parser.cc:27229 cp/decl.cc:8605
#, gcc-internal-format
msgid "argument %d of %qD must be of %<omp_interop_t%>"
msgstr ""
-#: c/c-parser.cc:27231 cp/decl.cc:8500 cp/decl.cc:8606
+#: c/c-parser.cc:27231 cp/decl.cc:8502 cp/decl.cc:8608
#, gcc-internal-format
msgid "%<append_args%> specified here"
msgstr ""
-#: c/c-parser.cc:27277 cp/decl.cc:8612
+#: c/c-parser.cc:27277 cp/decl.cc:8614
#, gcc-internal-format
msgid "variant %qD and base %qD have incompatible types"
msgstr ""
-#: c/c-parser.cc:27302 cp/parser.cc:50630
+#: c/c-parser.cc:27302 cp/parser.cc:50635
#, gcc-internal-format
msgid "an %qs clause requires a %<match%> clause"
msgstr ""
@@ -52915,67 +52916,67 @@ msgid ""
"declaration or definition"
msgstr ""
-#: c/c-parser.cc:27366 cp/parser.cc:50675
+#: c/c-parser.cc:27366 cp/parser.cc:50680
#, gcc-internal-format
msgid ""
"%<#pragma omp declare %s%> not immediately followed by a single function "
"declaration or definition"
msgstr ""
-#: c/c-parser.cc:27573 cp/parser.cc:50964
+#: c/c-parser.cc:27573 cp/parser.cc:50969
#, gcc-internal-format
msgid "%qD specified both in declare target %<link%> and %qs clauses"
msgstr ""
-#: c/c-parser.cc:27577 cp/parser.cc:50968
+#: c/c-parser.cc:27577 cp/parser.cc:50973
#, gcc-internal-format
msgid ""
"%qD specified both in declare target %<link%> and %<to%> or %<enter%> clauses"
msgstr ""
-#: c/c-parser.cc:27637 cp/parser.cc:51101
+#: c/c-parser.cc:27637 cp/parser.cc:51106
#, gcc-internal-format
msgid "directive with only %<device_type%> or %<indirect%> clauses"
msgstr ""
-#: c/c-parser.cc:27640 cp/parser.cc:51104
+#: c/c-parser.cc:27640 cp/parser.cc:51109
#, gcc-internal-format
msgid ""
"%<device_type%> clause must specify 'any' when used with an %<indirect%> "
"clause"
msgstr ""
-#: c/c-parser.cc:27689 c/c-parser.cc:27731 cp/parser.cc:51159
-#: cp/parser.cc:51206
+#: c/c-parser.cc:27689 c/c-parser.cc:27731 cp/parser.cc:51164
+#: cp/parser.cc:51211
#, gcc-internal-format
msgid "expected %<target%>"
msgstr ""
-#: c/c-parser.cc:27703 cp/parser.cc:51172
+#: c/c-parser.cc:27703 cp/parser.cc:51177
#, gcc-internal-format
msgid "expected %<declare target%> or %<assumes%>"
msgstr ""
-#: c/c-parser.cc:27738 cp/parser.cc:51213
+#: c/c-parser.cc:27738 cp/parser.cc:51218
#, 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:27749 c/c-parser.cc:27780 cp/parser.cc:51224
-#: cp/parser.cc:51255
+#: c/c-parser.cc:27749 c/c-parser.cc:27780 cp/parser.cc:51229
+#: cp/parser.cc:51260
#, gcc-internal-format
msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
msgstr ""
-#: c/c-parser.cc:27756 c/c-parser.cc:27785 cp/parser.cc:51231
-#: cp/parser.cc:51260
+#: c/c-parser.cc:27756 c/c-parser.cc:27785 cp/parser.cc:51236
+#: cp/parser.cc:51265
#, gcc-internal-format
msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
msgstr ""
-#: c/c-parser.cc:27793 cp/parser.cc:51268
+#: c/c-parser.cc:27793 cp/parser.cc:51273
#, gcc-internal-format
msgid "expected %<declare%> or %<assumes%>"
msgstr ""
@@ -53032,18 +53033,18 @@ msgstr ""
msgid "one of the initializer call arguments should be %<&omp_priv%>"
msgstr ""
-#: c/c-parser.cc:28209 cp/parser.cc:52190
+#: c/c-parser.cc:28209 cp/parser.cc:52195
#, gcc-internal-format
msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
msgstr ""
-#: c/c-parser.cc:28280 cp/parser.cc:52283
+#: c/c-parser.cc:28280 cp/parser.cc:52288
#, gcc-internal-format
msgid ""
"expected %<acq_rel%>, %<acquire%>, %<relaxed%>, %<release%> or %<seq_cst%>"
msgstr ""
-#: c/c-parser.cc:28309 cp/parser.cc:52318
+#: c/c-parser.cc:28309 cp/parser.cc:52323
#, gcc-internal-format
msgid ""
"expected %<unified_address%>, %<unified_shared_memory%>, %<self_maps%>, "
@@ -53051,27 +53052,27 @@ msgid ""
"clause"
msgstr ""
-#: c/c-parser.cc:28328 cp/parser.cc:52337
+#: c/c-parser.cc:28328 cp/parser.cc:52342
#, gcc-internal-format
msgid ""
"%qs clause used lexically after first target construct or offloading API"
msgstr ""
-#: c/c-parser.cc:28340 cp/parser.cc:52349
+#: c/c-parser.cc:28340 cp/parser.cc:52354
#, gcc-internal-format
msgid ""
"more than one %<atomic_default_mem_order%> clause in a single compilation "
"unit"
msgstr ""
-#: c/c-parser.cc:28349 cp/parser.cc:52358
+#: c/c-parser.cc:28349 cp/parser.cc:52363
#, gcc-internal-format
msgid ""
"%<atomic_default_mem_order%> clause used lexically after first %<atomic%> "
"construct without memory order clause"
msgstr ""
-#: c/c-parser.cc:28363 cp/parser.cc:52372
+#: c/c-parser.cc:28363 cp/parser.cc:52377
#, gcc-internal-format
msgid "%<pragma omp requires%> requires at least one clause"
msgstr ""
@@ -53086,140 +53087,140 @@ msgstr ""
msgid "variable sized type %qT in %<reduction%> clause"
msgstr ""
-#: c/c-parser.cc:28506 cp/parser.cc:48879
+#: c/c-parser.cc:28506 cp/parser.cc:48884
#, gcc-internal-format
msgid "expected %<sizes%>"
msgstr ""
-#: c/c-parser.cc:28535 cp/semantics.cc:9567 cp/semantics.cc:9584
+#: c/c-parser.cc:28535 cp/semantics.cc:9581 cp/semantics.cc:9598
#, gcc-internal-format
msgid "%<sizes%> argument needs positive integral constant"
msgstr ""
-#: c/c-parser.cc:28651 cp/parser.cc:52429
+#: c/c-parser.cc:28651 cp/parser.cc:52434
#, gcc-internal-format
msgid "expected %<at%>, %<severity%> or %<message%> clause"
msgstr ""
-#: c/c-parser.cc:28684 cp/parser.cc:52464
+#: c/c-parser.cc:28684 cp/parser.cc:52469
#, gcc-internal-format
msgid "expected %qs or %qs"
msgstr ""
-#: c/c-parser.cc:28741 cp/parser.cc:52526
+#: c/c-parser.cc:28741 cp/parser.cc:52531
#, gcc-internal-format
msgid ""
"%<#pragma omp error%> with %<at(execution)%> clause may only be used in "
"compound statements"
msgstr ""
-#: c/c-parser.cc:28764 cp/parser.cc:52553
+#: c/c-parser.cc:28764 cp/parser.cc:52558
#, gcc-internal-format
msgid "%<pragma omp error%> encountered: %s"
msgstr ""
-#: c/c-parser.cc:28767 cp/parser.cc:52556
+#: c/c-parser.cc:28767 cp/parser.cc:52561
#, gcc-internal-format
msgid "%<pragma omp error%> encountered"
msgstr ""
-#: c/c-parser.cc:28794 cp/parser.cc:49987
+#: c/c-parser.cc:28794 cp/parser.cc:49992
#, gcc-internal-format
msgid "expected at least one assumption clause"
msgstr ""
-#: c/c-parser.cc:28880 c/c-parser.cc:29181 cp/parser.cc:50073
-#: cp/parser.cc:51492 cp/parser.cc:51520
+#: c/c-parser.cc:28880 c/c-parser.cc:29181 cp/parser.cc:50078
+#: cp/parser.cc:51497 cp/parser.cc:51525
#, gcc-internal-format
msgid "expected directive name"
msgstr ""
-#: c/c-parser.cc:28891 cp/parser.cc:50084
+#: c/c-parser.cc:28891 cp/parser.cc:50089
#, gcc-internal-format
msgid ""
"invalid OpenMP directive name in %qs clause argument: declarative, "
"informational, and meta directives not permitted"
msgstr ""
-#: c/c-parser.cc:28899 cp/parser.cc:50092
+#: c/c-parser.cc:28899 cp/parser.cc:50097
#, gcc-internal-format
msgid "unknown OpenMP directive name in %qs clause argument"
msgstr ""
-#: c/c-parser.cc:28906 cp/parser.cc:50099
+#: c/c-parser.cc:28906 cp/parser.cc:50104
#, gcc-internal-format
msgid ""
"%<%s%s%s%s%s%> directive mentioned in both %<absent%> and %<contains%> "
"clauses"
msgstr ""
-#: c/c-parser.cc:28917 cp/parser.cc:50110
+#: c/c-parser.cc:28917 cp/parser.cc:50115
#, gcc-internal-format
msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses"
msgstr ""
-#: c/c-parser.cc:28940 cp/parser.cc:50137
+#: c/c-parser.cc:28940 cp/parser.cc:50142
#, gcc-internal-format
msgid "unknown assumption clause %qs"
msgstr ""
-#: c/c-parser.cc:28953 cp/parser.cc:50147
+#: c/c-parser.cc:28953 cp/parser.cc:50152
#, gcc-internal-format
msgid "expected assumption clause"
msgstr ""
-#: c/c-parser.cc:29082 cp/parser.cc:51390
+#: c/c-parser.cc:29082 cp/parser.cc:51395
#, gcc-internal-format
msgid "expected %<when%>, %<otherwise%>, or %<default%> clause"
msgstr ""
-#: c/c-parser.cc:29096 cp/parser.cc:51405
+#: c/c-parser.cc:29096 cp/parser.cc:51410
#, gcc-internal-format
msgid "too many %<otherwise%> or %<default%> clauses in %<metadirective%>"
msgstr ""
-#: c/c-parser.cc:29105 cp/parser.cc:51415
+#: c/c-parser.cc:29105 cp/parser.cc:51420
#, gcc-internal-format
msgid ""
"%<otherwise%> or %<default%> clause must appear last in %<metadirective%>"
msgstr ""
-#: c/c-parser.cc:29195 cp/parser.cc:51506
+#: c/c-parser.cc:29195 cp/parser.cc:51511
#, gcc-internal-format
msgid "unknown directive name"
msgstr ""
-#: c/c-parser.cc:29210 cp/parser.cc:51526
+#: c/c-parser.cc:29210 cp/parser.cc:51531
#, gcc-internal-format
msgid "metadirectives cannot be used as variants of a %<metadirective%>"
msgstr ""
-#: c/c-parser.cc:29216 cp/parser.cc:51532
+#: c/c-parser.cc:29216 cp/parser.cc:51537
#, gcc-internal-format
msgid "declarative directive variants of a %<metadirective%> are not supported"
msgstr ""
-#: c/c-parser.cc:29541 cp/semantics.cc:10340
+#: c/c-parser.cc:29541 cp/semantics.cc:10354
#, gcc-internal-format
msgid "%qE declared %<threadprivate%> after first use"
msgstr ""
-#: c/c-parser.cc:29543 cp/semantics.cc:10342
+#: c/c-parser.cc:29543 cp/semantics.cc:10356
#, gcc-internal-format
msgid "automatic variable %qE cannot be %<threadprivate%>"
msgstr ""
-#: c/c-parser.cc:29547 cp/semantics.cc:10344
+#: c/c-parser.cc:29547 cp/semantics.cc:10358
#, gcc-internal-format
msgid "%<threadprivate%> %qE has incomplete type"
msgstr ""
-#: c/c-parser.cc:29727 cp/parser.cc:53315
+#: c/c-parser.cc:29727 cp/parser.cc:53320
#, gcc-internal-format
msgid "%<__transaction_cancel%> without transactional memory support enabled"
msgstr ""
-#: c/c-parser.cc:29733 cp/parser.cc:53321
+#: c/c-parser.cc:29733 cp/parser.cc:53326
#, gcc-internal-format
msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
msgstr ""
@@ -53231,7 +53232,7 @@ msgid ""
"a %<transaction_may_cancel_outer%> function"
msgstr ""
-#: c/c-parser.cc:29750 cp/parser.cc:53339
+#: c/c-parser.cc:29750 cp/parser.cc:53344
#, gcc-internal-format
msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
msgstr ""
@@ -53246,7 +53247,7 @@ msgstr ""
msgid "%qD has an incomplete type %qT"
msgstr ""
-#: c/c-typeck.cc:252 c/c-typeck.cc:12528 c/c-typeck.cc:12603 cp/call.cc:5062
+#: c/c-typeck.cc:252 c/c-typeck.cc:12542 c/c-typeck.cc:12617 cp/call.cc:5062
#, gcc-internal-format
msgid "invalid use of void expression"
msgstr ""
@@ -53282,153 +53283,153 @@ msgstr ""
msgid "%qs attribute can only be applied to variadic functions"
msgstr ""
-#: c/c-typeck.cc:938 c/c-typeck.cc:961
+#: c/c-typeck.cc:958 c/c-typeck.cc:981
#, gcc-internal-format
msgid "function types not truly compatible in ISO C"
msgstr ""
-#: c/c-typeck.cc:1117
+#: c/c-typeck.cc:1137
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and vector types"
msgstr ""
-#: c/c-typeck.cc:1122
+#: c/c-typeck.cc:1142
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and complex types"
msgstr ""
-#: c/c-typeck.cc:1127
+#: c/c-typeck.cc:1147
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and other floating types"
msgstr ""
-#: c/c-typeck.cc:1157
+#: c/c-typeck.cc:1177
#, gcc-internal-format
msgid "%<_Complex _BitInt(%d)%> unsupported"
msgstr ""
-#: c/c-typeck.cc:1785
+#: c/c-typeck.cc:1805
#, gcc-internal-format
msgid ""
"invalid use of pointers to arrays with different qualifiers in ISO C before "
"C23"
msgstr ""
-#: c/c-typeck.cc:1789
+#: c/c-typeck.cc:1809
#, gcc-internal-format
msgid "types are not quite compatible"
msgstr ""
-#: c/c-typeck.cc:1793
+#: c/c-typeck.cc:1813
#, gcc-internal-format
msgid "pointer target types incompatible in C++"
msgstr ""
-#: c/c-typeck.cc:2024
+#: c/c-typeck.cc:2034
#, gcc-internal-format
msgid "function return types not compatible due to %<volatile%>"
msgstr ""
-#: c/c-typeck.cc:2274
+#: c/c-typeck.cc:2284
#, gcc-internal-format
msgid ""
"converting an array compound literal to a pointer leads to a dangling "
"pointer in C++"
msgstr ""
-#: c/c-typeck.cc:3095 c/c-typeck.cc:10679
+#: c/c-typeck.cc:3109 c/c-typeck.cc:10693
#, gcc-internal-format
msgid "%qT has no member named %qE; did you mean %qE?"
msgstr ""
-#: c/c-typeck.cc:3099 c/c-typeck.cc:10683
+#: c/c-typeck.cc:3113 c/c-typeck.cc:10697
#, gcc-internal-format
msgid "%qT has no member named %qE"
msgstr ""
-#: c/c-typeck.cc:3108
+#: c/c-typeck.cc:3122
#, gcc-internal-format
msgid "accessing a member %qE of an atomic structure %qE"
msgstr ""
-#: c/c-typeck.cc:3111
+#: c/c-typeck.cc:3125
#, gcc-internal-format
msgid "accessing a member %qE of an atomic union %qE"
msgstr ""
-#: c/c-typeck.cc:3181
+#: c/c-typeck.cc:3195
#, gcc-internal-format
msgid ""
"%qE is a pointer to pointer; did you mean to dereference it before applying "
"%<->%> to it?"
msgstr ""
-#: c/c-typeck.cc:3190
+#: c/c-typeck.cc:3204
#, gcc-internal-format
msgid "%qE is a pointer; did you mean to use %<->%>?"
msgstr ""
-#: c/c-typeck.cc:3197
+#: c/c-typeck.cc:3211
#, gcc-internal-format
msgid "request for member %qE in something not a structure or union"
msgstr ""
-#: c/c-typeck.cc:3245
+#: c/c-typeck.cc:3259
#, gcc-internal-format
msgid "dereferencing %<void *%> pointer"
msgstr ""
-#: c/c-typeck.cc:3300
+#: c/c-typeck.cc:3314
#, gcc-internal-format
msgid "subscripted value is neither array nor pointer nor vector"
msgstr ""
-#: c/c-typeck.cc:3310 cp/typeck.cc:4035 cp/typeck.cc:4130
+#: c/c-typeck.cc:3324 cp/typeck.cc:4035 cp/typeck.cc:4130
#, gcc-internal-format
msgid "array subscript is not an integer"
msgstr ""
-#: c/c-typeck.cc:3316
+#: c/c-typeck.cc:3330
#, gcc-internal-format
msgid "subscripted value is pointer to function"
msgstr ""
-#: c/c-typeck.cc:3371
+#: c/c-typeck.cc:3385
#, gcc-internal-format
msgid "ISO C forbids subscripting %<register%> array"
msgstr ""
-#: c/c-typeck.cc:3374
+#: c/c-typeck.cc:3388
#, gcc-internal-format
msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr ""
-#: c/c-typeck.cc:3493
+#: c/c-typeck.cc:3507
#, gcc-internal-format
msgid "underspecified %qD referenced in its initializer"
msgstr ""
-#: c/c-typeck.cc:3548
+#: c/c-typeck.cc:3562
#, gcc-internal-format
msgid "enum constant defined here"
msgstr ""
-#: c/c-typeck.cc:3656 cp/typeck.cc:2162
+#: c/c-typeck.cc:3670 cp/typeck.cc:2162
#, gcc-internal-format
msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
msgstr ""
-#: c/c-typeck.cc:3841
+#: c/c-typeck.cc:3855
#, gcc-internal-format
msgid "called object %qE is not a function or function pointer"
msgstr ""
-#: c/c-typeck.cc:3847
+#: c/c-typeck.cc:3861
#, gcc-internal-format
msgid "called object %qD is not a function or function pointer"
msgstr ""
-#: c/c-typeck.cc:3853
+#: c/c-typeck.cc:3867
#, gcc-internal-format
msgid "called object is not a function or function pointer"
msgstr ""
@@ -53436,1882 +53437,1882 @@ msgstr ""
#. This situation leads to run-time undefined behavior. We can't,
#. therefore, simply error unless we can prove that all possible
#. executions of the program must execute the code.
-#: c/c-typeck.cc:3882
+#: c/c-typeck.cc:3896
#, gcc-internal-format
msgid "function called through a non-compatible type"
msgstr ""
-#: c/c-typeck.cc:3887 c/c-typeck.cc:3943
+#: c/c-typeck.cc:3901 c/c-typeck.cc:3957
#, gcc-internal-format
msgid "function with qualified void return type called"
msgstr ""
-#: c/c-typeck.cc:3998
+#: c/c-typeck.cc:4012
#, gcc-internal-format, gfc-internal-format
msgid "type of formal parameter %d is incomplete"
msgstr ""
-#: c/c-typeck.cc:4010
+#: c/c-typeck.cc:4024
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as integer rather than floating due to prototype"
msgstr ""
-#: c/c-typeck.cc:4016
+#: c/c-typeck.cc:4030
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as integer rather than complex due to prototype"
msgstr ""
-#: c/c-typeck.cc:4022
+#: c/c-typeck.cc:4036
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as complex rather than floating due to prototype"
msgstr ""
-#: c/c-typeck.cc:4028
+#: c/c-typeck.cc:4042
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as floating rather than integer due to prototype"
msgstr ""
-#: c/c-typeck.cc:4034
+#: c/c-typeck.cc:4048
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as complex rather than integer due to prototype"
msgstr ""
-#: c/c-typeck.cc:4040
+#: c/c-typeck.cc:4054
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as floating rather than complex due to prototype"
msgstr ""
-#: c/c-typeck.cc:4056
+#: c/c-typeck.cc:4070
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as %<float%> rather than %<double%> due to "
"prototype"
msgstr ""
-#: c/c-typeck.cc:4082
+#: c/c-typeck.cc:4096
#, gcc-internal-format
msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
msgstr ""
-#: c/c-typeck.cc:4108
+#: c/c-typeck.cc:4122
#, gcc-internal-format
msgid "passing argument %d of %qE with different width due to prototype"
msgstr ""
-#: c/c-typeck.cc:4132
+#: c/c-typeck.cc:4146
#, gcc-internal-format
msgid "passing argument %d of %qE as unsigned due to prototype"
msgstr ""
-#: c/c-typeck.cc:4137
+#: c/c-typeck.cc:4151
#, gcc-internal-format
msgid "passing argument %d of %qE as signed due to prototype"
msgstr ""
-#: c/c-typeck.cc:4311
+#: c/c-typeck.cc:4325
#, gcc-internal-format
msgid "too many arguments to method %qE; expected %i, have %i"
msgstr ""
-#: c/c-typeck.cc:4315
+#: c/c-typeck.cc:4329
#, gcc-internal-format
msgid "too many arguments to function %qE; expected %i, have %i"
msgstr ""
-#: c/c-typeck.cc:4325
+#: c/c-typeck.cc:4339
#, gcc-internal-format
msgid "too many arguments to built-in function %qE expecting %d"
msgstr ""
-#: c/c-typeck.cc:4337
+#: c/c-typeck.cc:4351
#, gcc-internal-format
msgid ""
"ISO C23 does not allow arguments for method %qE declared without parameters"
msgstr ""
-#: c/c-typeck.cc:4342
+#: c/c-typeck.cc:4356
#, gcc-internal-format
msgid ""
"ISO C23 does not allow arguments for function %qE declared without parameters"
msgstr ""
-#: c/c-typeck.cc:4418
+#: c/c-typeck.cc:4432
#, gcc-internal-format
msgid "implicit conversion from %qT to %qT when passing argument to function"
msgstr ""
-#: c/c-typeck.cc:4499
+#: c/c-typeck.cc:4513
#, gcc-internal-format
msgid "too few arguments to function %qE; expected at least %i, have %i"
msgstr ""
-#: c/c-typeck.cc:4500
+#: c/c-typeck.cc:4514
#, gcc-internal-format
msgid "too few arguments to function %qE; expected %i, have %i"
msgstr ""
-#: c/c-typeck.cc:4514
+#: c/c-typeck.cc:4528
#, gcc-internal-format
msgid "too few arguments to built-in function %qE expecting %u"
msgstr ""
-#: c/c-typeck.cc:4692 c/c-typeck.cc:4720 cp/typeck.cc:5849 cp/typeck.cc:6137
+#: c/c-typeck.cc:4706 c/c-typeck.cc:4734 cp/typeck.cc:5849 cp/typeck.cc:6137
#, gcc-internal-format
msgid "comparison with string literal results in unspecified behavior"
msgstr ""
-#: c/c-typeck.cc:4700 c/c-typeck.cc:4711 cp/typeck.cc:5886 cp/typeck.cc:5910
+#: c/c-typeck.cc:4714 c/c-typeck.cc:4725 cp/typeck.cc:5886 cp/typeck.cc:5910
#, gcc-internal-format
msgid "comparison between pointer and zero character constant"
msgstr ""
-#: c/c-typeck.cc:4703 c/c-typeck.cc:4714 cp/typeck.cc:5889 cp/typeck.cc:5913
+#: c/c-typeck.cc:4717 c/c-typeck.cc:4728 cp/typeck.cc:5889 cp/typeck.cc:5913
#, gcc-internal-format
msgid "did you mean to dereference the pointer?"
msgstr ""
-#: c/c-typeck.cc:4732 c/c-typeck.cc:4739 c/c-typeck.cc:6116 c/c-typeck.cc:6121
-#: c/c-typeck.cc:8669 cp/tree.cc:6464
+#: c/c-typeck.cc:4746 c/c-typeck.cc:4753 c/c-typeck.cc:6130 c/c-typeck.cc:6135
+#: c/c-typeck.cc:8683 cp/tree.cc:6464
#, gcc-internal-format
msgid "zero as null pointer constant"
msgstr ""
-#: c/c-typeck.cc:4760
+#: c/c-typeck.cc:4774
#, gcc-internal-format
msgid "comparison between %qT and %qT"
msgstr ""
-#: c/c-typeck.cc:4819
+#: c/c-typeck.cc:4833
#, gcc-internal-format
msgid "pointer of type %<void *%> used in subtraction"
msgstr ""
-#: c/c-typeck.cc:4822
+#: c/c-typeck.cc:4836
#, gcc-internal-format
msgid "pointer to a function used in subtraction"
msgstr ""
-#: c/c-typeck.cc:4856
+#: c/c-typeck.cc:4870
#, gcc-internal-format
msgid "arithmetic on pointer to an incomplete type"
msgstr ""
-#: c/c-typeck.cc:4865 cp/typeck.cc:6937
+#: c/c-typeck.cc:4879 cp/typeck.cc:6937
#, gcc-internal-format
msgid "arithmetic on pointer to an empty aggregate"
msgstr ""
-#: c/c-typeck.cc:5314
+#: c/c-typeck.cc:5328
#, gcc-internal-format
msgid "%<~%> on a boolean expression"
msgstr ""
-#: c/c-typeck.cc:5318
+#: c/c-typeck.cc:5332
#, gcc-internal-format
msgid "did you mean to use logical not?"
msgstr ""
-#: c/c-typeck.cc:5328
+#: c/c-typeck.cc:5342
#, gcc-internal-format
msgid "ISO C does not support %<~%> for complex conjugation"
msgstr ""
-#: c/c-typeck.cc:5352
+#: c/c-typeck.cc:5366
#, gcc-internal-format
msgid "wrong type argument to absu"
msgstr ""
-#: c/c-typeck.cc:5378
+#: c/c-typeck.cc:5392
#, gcc-internal-format
msgid "wrong type argument to unary exclamation mark"
msgstr ""
-#: c/c-typeck.cc:5436
+#: c/c-typeck.cc:5450
#, gcc-internal-format
msgid "increment of enumeration value is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:5439
+#: c/c-typeck.cc:5453
#, gcc-internal-format
msgid "decrement of enumeration value is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:5446
+#: c/c-typeck.cc:5460
#, gcc-internal-format
msgid "increment of a boolean expression"
msgstr ""
-#: c/c-typeck.cc:5449
+#: c/c-typeck.cc:5463
#, gcc-internal-format
msgid "decrement of a boolean expression"
msgstr ""
-#: c/c-typeck.cc:5465
+#: c/c-typeck.cc:5479
#, gcc-internal-format
msgid "ISO C does not support %<++%> and %<--%> on complex types before C2Y"
msgstr ""
-#: c/c-typeck.cc:5492 c/c-typeck.cc:5526
+#: c/c-typeck.cc:5506 c/c-typeck.cc:5540
#, gcc-internal-format
msgid "wrong type argument to increment"
msgstr ""
-#: c/c-typeck.cc:5494 c/c-typeck.cc:5529
+#: c/c-typeck.cc:5508 c/c-typeck.cc:5543
#, gcc-internal-format
msgid "wrong type argument to decrement"
msgstr ""
-#: c/c-typeck.cc:5514
+#: c/c-typeck.cc:5528
#, gcc-internal-format
msgid "increment of pointer to an incomplete type %qT"
msgstr ""
-#: c/c-typeck.cc:5518
+#: c/c-typeck.cc:5532
#, gcc-internal-format
msgid "decrement of pointer to an incomplete type %qT"
msgstr ""
-#: c/c-typeck.cc:5626
+#: c/c-typeck.cc:5640
#, gcc-internal-format
msgid "taking address of expression of type %<void%>"
msgstr ""
-#: c/c-typeck.cc:5689 c/c-typeck.cc:5885
+#: c/c-typeck.cc:5703 c/c-typeck.cc:5899
#, gcc-internal-format
msgid "cannot take address of bit-field %qD"
msgstr ""
-#: c/c-typeck.cc:5703
+#: c/c-typeck.cc:5717
#, gcc-internal-format
msgid "cannot take address of scalar with reverse storage order"
msgstr ""
-#: c/c-typeck.cc:5711
+#: c/c-typeck.cc:5725
#, gcc-internal-format
msgid "address of array with reverse scalar storage order requested"
msgstr ""
-#: c/c-typeck.cc:5900
+#: c/c-typeck.cc:5914
#, gcc-internal-format
msgid "address of register compound literal requested"
msgstr ""
-#: c/c-typeck.cc:5921
+#: c/c-typeck.cc:5935
#, gcc-internal-format
msgid "global register variable %qD used in nested function"
msgstr ""
-#: c/c-typeck.cc:5924
+#: c/c-typeck.cc:5938
#, gcc-internal-format
msgid "register variable %qD used in nested function"
msgstr ""
-#: c/c-typeck.cc:5929
+#: c/c-typeck.cc:5943
#, gcc-internal-format
msgid "address of global register variable %qD requested"
msgstr ""
-#: c/c-typeck.cc:5931 d/d-codegen.cc:761
+#: c/c-typeck.cc:5945 d/d-codegen.cc:761
#, gcc-internal-format
msgid "address of register variable %qD requested"
msgstr ""
-#: c/c-typeck.cc:6070
+#: c/c-typeck.cc:6084
#, gcc-internal-format
msgid "non-lvalue array in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6166
+#: c/c-typeck.cc:6180
#, gcc-internal-format
msgid ""
"implicit conversion from %qT to %qT to match other result of conditional"
msgstr ""
-#: c/c-typeck.cc:6225 c/c-typeck.cc:6231
+#: c/c-typeck.cc:6239 c/c-typeck.cc:6245
#, gcc-internal-format
msgid ""
"operand of %<?:%> changes signedness from %qT to %qT due to unsignedness of "
"other operand"
msgstr ""
-#: c/c-typeck.cc:6248
+#: c/c-typeck.cc:6262
#, gcc-internal-format
msgid "ISO C forbids conditional expr with only one void side"
msgstr ""
-#: c/c-typeck.cc:6265
+#: c/c-typeck.cc:6279
#, gcc-internal-format
msgid "pointers to disjoint address spaces used in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6289
+#: c/c-typeck.cc:6303
#, gcc-internal-format
msgid "pointer to array loses qualifier in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6293
+#: c/c-typeck.cc:6307
#, gcc-internal-format
msgid ""
"pointer to array loses qualifier in conditional expression in ISO C before "
"C23"
msgstr ""
-#: c/c-typeck.cc:6298
+#: c/c-typeck.cc:6312
#, gcc-internal-format
msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
msgstr ""
-#: c/c-typeck.cc:6320
+#: c/c-typeck.cc:6334
#, gcc-internal-format
msgid "pointer type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6323
+#: c/c-typeck.cc:6337
#, gcc-internal-format
msgid "first expression has type %qT"
msgstr ""
-#: c/c-typeck.cc:6324
+#: c/c-typeck.cc:6338
#, gcc-internal-format
msgid "second expression has type %qT"
msgstr ""
-#: c/c-typeck.cc:6335 c/c-typeck.cc:6348
+#: c/c-typeck.cc:6349 c/c-typeck.cc:6362
#, gcc-internal-format
msgid "pointer/integer type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6375
+#: c/c-typeck.cc:6389
#, gcc-internal-format
msgid "type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.cc:6491
+#: c/c-typeck.cc:6505
#, gcc-internal-format
msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>: %E"
msgstr ""
-#: c/c-typeck.cc:6495
+#: c/c-typeck.cc:6509
#, gcc-internal-format
msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>"
msgstr ""
-#: c/c-typeck.cc:6514
+#: c/c-typeck.cc:6528
#, gcc-internal-format
msgid ""
"ignoring return value of type %qT, declared with attribute %<nodiscard%>: %E"
msgstr ""
-#: c/c-typeck.cc:6519
+#: c/c-typeck.cc:6533
#, gcc-internal-format
msgid ""
"ignoring return value of type %qT, declared with attribute %<nodiscard%>"
msgstr ""
-#: c/c-typeck.cc:6528 cp/cvt.cc:1132 rust/backend/rust-tree.cc:640
+#: c/c-typeck.cc:6542 cp/cvt.cc:1132 rust/backend/rust-tree.cc:640
#, gcc-internal-format
msgid "in call to %qD, declared here"
msgstr ""
-#: c/c-typeck.cc:6577
+#: c/c-typeck.cc:6591
#, gcc-internal-format
msgid "left-hand operand of comma expression has no effect"
msgstr ""
-#: c/c-typeck.cc:6595 c/c-typeck.cc:13195
+#: c/c-typeck.cc:6609 c/c-typeck.cc:13209
#, gcc-internal-format
msgid "right-hand operand of comma expression has no effect"
msgstr ""
-#: c/c-typeck.cc:6666
+#: c/c-typeck.cc:6680
msgid "cast adds %q#v qualifier to function type"
msgstr ""
-#: c/c-typeck.cc:6672
+#: c/c-typeck.cc:6686
msgid "cast discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.cc:6707
+#: c/c-typeck.cc:6721
#, gcc-internal-format
msgid ""
"to be safe all intermediate pointers in cast from %qT to %qT must be "
"%<const%> qualified"
msgstr ""
-#: c/c-typeck.cc:6804
+#: c/c-typeck.cc:6818
#, gcc-internal-format
msgid "cast specifies array type"
msgstr ""
-#: c/c-typeck.cc:6810
+#: c/c-typeck.cc:6824
#, gcc-internal-format
msgid "cast specifies function type"
msgstr ""
-#: c/c-typeck.cc:6825
+#: c/c-typeck.cc:6839
#, gcc-internal-format
msgid "ISO C forbids casting nonscalar to the same type"
msgstr ""
-#: c/c-typeck.cc:6829
+#: c/c-typeck.cc:6843
#, gcc-internal-format
msgid "useless cast to type %qT"
msgstr ""
-#: c/c-typeck.cc:6849
+#: c/c-typeck.cc:6863
#, gcc-internal-format
msgid "ISO C forbids casts to union type"
msgstr ""
-#: c/c-typeck.cc:6859
+#: c/c-typeck.cc:6873
#, gcc-internal-format
msgid "cast to union type from type not present in union"
msgstr ""
-#: c/c-typeck.cc:6894
+#: c/c-typeck.cc:6908
#, gcc-internal-format
msgid ""
"cast to %qs address space pointer from disjoint generic address space pointer"
msgstr ""
-#: c/c-typeck.cc:6899
+#: c/c-typeck.cc:6913
#, gcc-internal-format
msgid ""
"cast to generic address space pointer from disjoint %qs address space pointer"
msgstr ""
-#: c/c-typeck.cc:6904
+#: c/c-typeck.cc:6918
#, gcc-internal-format
msgid ""
"cast to %qs address space pointer from disjoint %qs address space pointer"
msgstr ""
-#: c/c-typeck.cc:6937
+#: c/c-typeck.cc:6951
#, gcc-internal-format
msgid "cast increases required alignment of target type"
msgstr ""
-#: c/c-typeck.cc:6949
+#: c/c-typeck.cc:6963
#, gcc-internal-format
msgid "cast from pointer to integer of different size"
msgstr ""
-#: c/c-typeck.cc:6954
+#: c/c-typeck.cc:6968
#, gcc-internal-format
msgid "cast from function call of type %qT to non-matching type %qT"
msgstr ""
-#: c/c-typeck.cc:6964 cp/typeck.cc:9383
+#: c/c-typeck.cc:6978 cp/typeck.cc:9383
#, gcc-internal-format
msgid "cast to pointer from integer of different size"
msgstr ""
-#: c/c-typeck.cc:6978
+#: c/c-typeck.cc:6992
#, gcc-internal-format
msgid "ISO C forbids conversion of function pointer to object pointer type"
msgstr ""
-#: c/c-typeck.cc:6987
+#: c/c-typeck.cc:7001
#, gcc-internal-format
msgid "ISO C forbids conversion of object pointer to function pointer type"
msgstr ""
-#: c/c-typeck.cc:6997
+#: c/c-typeck.cc:7011
#, gcc-internal-format
msgid "cast between incompatible function types from %qT to %qT"
msgstr ""
-#: c/c-typeck.cc:7112
+#: c/c-typeck.cc:7126
#, gcc-internal-format
msgid "defining a type in a cast is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7154
+#: c/c-typeck.cc:7168
#, gcc-internal-format
msgid "assignment to expression with array type"
msgstr ""
-#: c/c-typeck.cc:7280
+#: c/c-typeck.cc:7294
#, gcc-internal-format
msgid "enum conversion in assignment is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7482 c/c-typeck.cc:7501 c/c-typeck.cc:7558
+#: c/c-typeck.cc:7496 c/c-typeck.cc:7515 c/c-typeck.cc:7572
#, gcc-internal-format
msgid "(near initialization for %qs)"
msgstr ""
-#: c/c-typeck.cc:7574
+#: c/c-typeck.cc:7588
#, gcc-internal-format
msgid "array initialized from parenthesized string constant"
msgstr ""
-#: c/c-typeck.cc:7624
+#: c/c-typeck.cc:7638
msgid "expected %e but argument is of type %e"
msgstr ""
-#: c/c-typeck.cc:7658
+#: c/c-typeck.cc:7672
#, gcc-internal-format
msgid ""
"%qD argument %d type is %qT where %qT is expected in a call to built-in "
"function declared without prototype"
msgstr ""
-#: c/c-typeck.cc:7661
+#: c/c-typeck.cc:7675
#, gcc-internal-format
msgid ""
"%qD argument %d promotes to %qT where %qT is expected in a call to built-in "
"function declared without prototype"
msgstr ""
-#: c/c-typeck.cc:7666
+#: c/c-typeck.cc:7680
#, gcc-internal-format
msgid "built-in %qD declared here"
msgstr ""
-#: c/c-typeck.cc:7723 c/c-typeck.cc:8631
+#: c/c-typeck.cc:7737 c/c-typeck.cc:8645
msgid "%e declared here"
msgstr ""
-#: c/c-typeck.cc:7916
+#: c/c-typeck.cc:7930
#, gcc-internal-format
msgid "enum conversion when passing argument %d of %qE is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7921
+#: c/c-typeck.cc:7935
#, gcc-internal-format
msgid "expected %qT but argument is of type %qT"
msgstr ""
-#: c/c-typeck.cc:7925
+#: c/c-typeck.cc:7939
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in assignment is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7930
+#: c/c-typeck.cc:7944
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in initialization is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7935
+#: c/c-typeck.cc:7949
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in return is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:7953
+#: c/c-typeck.cc:7967
#, gcc-internal-format
msgid "implicit conversion from %qT to %qT"
msgstr ""
-#: c/c-typeck.cc:8135 c/c-typeck.cc:8534
+#: c/c-typeck.cc:8149 c/c-typeck.cc:8548
msgid ""
"passing argument %d of %qE makes %q#v qualified function pointer from "
"unqualified"
msgstr ""
-#: c/c-typeck.cc:8138 c/c-typeck.cc:8537
+#: c/c-typeck.cc:8152 c/c-typeck.cc:8551
msgid "assignment makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.cc:8141 c/c-typeck.cc:8539
+#: c/c-typeck.cc:8155 c/c-typeck.cc:8553
msgid "initialization makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.cc:8144 c/c-typeck.cc:8541
+#: c/c-typeck.cc:8158 c/c-typeck.cc:8555
msgid "return makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.cc:8152 c/c-typeck.cc:8424 c/c-typeck.cc:8467
+#: c/c-typeck.cc:8166 c/c-typeck.cc:8438 c/c-typeck.cc:8481
msgid ""
"passing argument %d of %qE discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.cc:8154 c/c-typeck.cc:8426 c/c-typeck.cc:8469
+#: c/c-typeck.cc:8168 c/c-typeck.cc:8440 c/c-typeck.cc:8483
msgid "assignment discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.cc:8156 c/c-typeck.cc:8428 c/c-typeck.cc:8471
+#: c/c-typeck.cc:8170 c/c-typeck.cc:8442 c/c-typeck.cc:8485
msgid "initialization discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.cc:8158 c/c-typeck.cc:8430 c/c-typeck.cc:8473
+#: c/c-typeck.cc:8172 c/c-typeck.cc:8444 c/c-typeck.cc:8487
msgid "return discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.cc:8167
+#: c/c-typeck.cc:8181
#, gcc-internal-format
msgid "ISO C prohibits argument conversion to union type"
msgstr ""
-#: c/c-typeck.cc:8235
+#: c/c-typeck.cc:8249
#, gcc-internal-format
msgid "request for implicit conversion from %qT to %qT not permitted in C++"
msgstr ""
-#: c/c-typeck.cc:8262
+#: c/c-typeck.cc:8276
#, gcc-internal-format
msgid "passing argument %d of %qE from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.cc:8273
+#: c/c-typeck.cc:8287
#, gcc-internal-format
msgid "assignment from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.cc:8284
+#: c/c-typeck.cc:8298
#, gcc-internal-format
msgid "initialization from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.cc:8294
+#: c/c-typeck.cc:8308
#, gcc-internal-format
msgid "return from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.cc:8310
+#: c/c-typeck.cc:8324
#, gcc-internal-format
msgid "expected %qT but pointer is of type %qT"
msgstr ""
-#: c/c-typeck.cc:8325
+#: c/c-typeck.cc:8339
#, gcc-internal-format
msgid "argument %d of %qE might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.cc:8331
+#: c/c-typeck.cc:8345
#, gcc-internal-format
msgid "assignment left-hand side might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.cc:8337
+#: c/c-typeck.cc:8351
#, gcc-internal-format
msgid ""
"initialization left-hand side might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.cc:8342 cp/typeck.cc:10559
+#: c/c-typeck.cc:8356 cp/typeck.cc:10559
#, gcc-internal-format
msgid "return type might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.cc:8366
+#: c/c-typeck.cc:8380
#, gcc-internal-format
msgid "passing argument %d of %qE from incompatible scalar storage order"
msgstr ""
-#: c/c-typeck.cc:8376
+#: c/c-typeck.cc:8390
#, gcc-internal-format
msgid ""
"assignment to %qT from pointer type %qT with incompatible scalar storage "
"order"
msgstr ""
-#: c/c-typeck.cc:8386
+#: c/c-typeck.cc:8400
#, gcc-internal-format
msgid ""
"initialization of %qT from pointer type %qT with incompatible scalar storage "
"order"
msgstr ""
-#: c/c-typeck.cc:8391
+#: c/c-typeck.cc:8405
#, gcc-internal-format
msgid ""
"returning %qT from pointer type with incompatible scalar storage order %qT"
msgstr ""
-#: c/c-typeck.cc:8441
+#: c/c-typeck.cc:8455
#, gcc-internal-format
msgid ""
"ISO C forbids passing argument %d of %qE between function pointer and %<void "
"*%>"
msgstr ""
-#: c/c-typeck.cc:8444
+#: c/c-typeck.cc:8458
#, gcc-internal-format
msgid "ISO C forbids assignment between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.cc:8446
+#: c/c-typeck.cc:8460
#, gcc-internal-format
msgid "ISO C forbids initialization between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.cc:8448
+#: c/c-typeck.cc:8462
#, gcc-internal-format
msgid "ISO C forbids return between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.cc:8478
+#: c/c-typeck.cc:8492
#, gcc-internal-format
msgid "array with qualifier on the element is not qualified before C23"
msgstr ""
-#: c/c-typeck.cc:8496
+#: c/c-typeck.cc:8510
#, gcc-internal-format
msgid "pointer targets in passing argument %d of %qE differ in signedness"
msgstr ""
-#: c/c-typeck.cc:8504
+#: c/c-typeck.cc:8518
#, gcc-internal-format
msgid "pointer targets in assignment from %qT to %qT differ in signedness"
msgstr ""
-#: c/c-typeck.cc:8510
+#: c/c-typeck.cc:8524
#, gcc-internal-format
msgid "pointer targets in initialization of %qT from %qT differ in signedness"
msgstr ""
-#: c/c-typeck.cc:8515
+#: c/c-typeck.cc:8529
#, gcc-internal-format
msgid ""
"pointer targets in returning %qT from a function with return type %qT differ "
"in signedness"
msgstr ""
-#: c/c-typeck.cc:8562
+#: c/c-typeck.cc:8576
#, gcc-internal-format
msgid "passing argument %d of %qE from incompatible pointer type"
msgstr ""
-#: c/c-typeck.cc:8573
+#: c/c-typeck.cc:8587
msgid "assignment to %e from pointer to %qD with incompatible type %e"
msgstr ""
-#: c/c-typeck.cc:8579
+#: c/c-typeck.cc:8593
msgid "assignment to %e from incompatible pointer type %e"
msgstr ""
-#: c/c-typeck.cc:8588
+#: c/c-typeck.cc:8602
msgid "initialization of %e from pointer to %qD with incompatible type %e"
msgstr ""
-#: c/c-typeck.cc:8594
+#: c/c-typeck.cc:8608
msgid "initialization of %e from incompatible pointer type %e"
msgstr ""
-#: c/c-typeck.cc:8602
+#: c/c-typeck.cc:8616
msgid ""
"returning pointer to %qD of type %e from a function with incompatible type %e"
msgstr ""
-#: c/c-typeck.cc:8608
+#: c/c-typeck.cc:8622
msgid "returning %e from a function with incompatible return type %e"
msgstr ""
-#: c/c-typeck.cc:8684
+#: c/c-typeck.cc:8698
#, gcc-internal-format
msgid "passing argument %d of %qE makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.cc:8694
+#: c/c-typeck.cc:8708
#, gcc-internal-format
msgid "assignment to %qT from %qT makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.cc:8700
+#: c/c-typeck.cc:8714
#, gcc-internal-format
msgid ""
"initialization of %qT from %qT makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.cc:8705
+#: c/c-typeck.cc:8719
#, gcc-internal-format
msgid ""
"returning %qT from a function with return type %qT makes pointer from "
"integer without a cast"
msgstr ""
-#: c/c-typeck.cc:8727
+#: c/c-typeck.cc:8741
#, gcc-internal-format
msgid "passing argument %d of %qE makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.cc:8737
+#: c/c-typeck.cc:8751
#, gcc-internal-format
msgid "assignment to %qT from %qT makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.cc:8743
+#: c/c-typeck.cc:8757
#, gcc-internal-format
msgid ""
"initialization of %qT from %qT makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.cc:8747
+#: c/c-typeck.cc:8761
#, gcc-internal-format
msgid ""
"returning %qT from a function with return type %qT makes integer from "
"pointer without a cast"
msgstr ""
-#: c/c-typeck.cc:8780
+#: c/c-typeck.cc:8794
#, gcc-internal-format
msgid "incompatible type for argument %d of %qE"
msgstr ""
-#: c/c-typeck.cc:8791
+#: c/c-typeck.cc:8805
#, gcc-internal-format
msgid "incompatible types when assigning to type %qT from type %qT"
msgstr ""
-#: c/c-typeck.cc:8802
+#: c/c-typeck.cc:8816
#, gcc-internal-format
msgid "incompatible types when initializing type %qT using type %qT"
msgstr ""
-#: c/c-typeck.cc:8812
+#: c/c-typeck.cc:8826
#, gcc-internal-format
msgid "incompatible types when returning type %qT but %qT was expected"
msgstr ""
-#: c/c-typeck.cc:8892
+#: c/c-typeck.cc:8906
#, gcc-internal-format
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
-#: c/c-typeck.cc:9134
+#: c/c-typeck.cc:9148
#, gcc-internal-format
msgid "%<constexpr%> pointer initializer is not null"
msgstr ""
-#: c/c-typeck.cc:9142
+#: c/c-typeck.cc:9156
#, gcc-internal-format
msgid "%<constexpr%> integer initializer is not an integer constant expression"
msgstr ""
-#: c/c-typeck.cc:9145 c/c-typeck.cc:9207 c/c-typeck.cc:9360
+#: c/c-typeck.cc:9159 c/c-typeck.cc:9221 c/c-typeck.cc:9374
#, gcc-internal-format
msgid "%<constexpr%> initializer not representable in type of object"
msgstr ""
-#: c/c-typeck.cc:9155
+#: c/c-typeck.cc:9169
#, gcc-internal-format
msgid "%<constexpr%> initializer is not an arithmetic constant expression"
msgstr ""
-#: c/c-typeck.cc:9172
+#: c/c-typeck.cc:9186
#, gcc-internal-format
msgid "%<constexpr%> initializer for a real type is of complex type"
msgstr ""
-#: c/c-typeck.cc:9181
+#: c/c-typeck.cc:9195
#, gcc-internal-format
msgid ""
"%<constexpr%> initializer for a binary floating-point type is of decimal type"
msgstr ""
-#: c/c-typeck.cc:9325 c/c-typeck.cc:10293 cp/typeck2.cc:1241
+#: c/c-typeck.cc:9339 c/c-typeck.cc:10307 cp/typeck2.cc:1241
#, gcc-internal-format
msgid "initialization of a flexible array member"
msgstr ""
-#: c/c-typeck.cc:9341 cp/typeck2.cc:1258
+#: c/c-typeck.cc:9355 cp/typeck2.cc:1258
#, gcc-internal-format
msgid ""
"cannot initialize array of %qT from a string literal with type array of %qT"
msgstr ""
-#: c/c-typeck.cc:9387
+#: c/c-typeck.cc:9401
#, gcc-internal-format
msgid ""
"initializer-string for array of %qT is too long (%wu chars into %wu "
"available)"
msgstr ""
-#: c/c-typeck.cc:9392
+#: c/c-typeck.cc:9406
#, gcc-internal-format
msgid ""
"initializer-string for array of %qT is too long for C++ (%wu chars into %wu "
"available)"
msgstr ""
-#: c/c-typeck.cc:9399
+#: c/c-typeck.cc:9413
#, gcc-internal-format
msgid ""
"initializer-string for array of %qT truncates NUL terminator but destination "
"lacks %qs attribute (%wu chars into %wu available)"
msgstr ""
-#: c/c-typeck.cc:9411
+#: c/c-typeck.cc:9425
#, gcc-internal-format
msgid "array of inappropriate type initialized from string constant"
msgstr ""
-#: c/c-typeck.cc:9479 cp/typeck.cc:2556
+#: c/c-typeck.cc:9493 cp/typeck.cc:2556
#, gcc-internal-format
msgid "invalid use of non-lvalue array"
msgstr ""
-#: c/c-typeck.cc:9493 c/c-typeck.cc:9633 c/c-typeck.cc:10387
+#: c/c-typeck.cc:9507 c/c-typeck.cc:9647 c/c-typeck.cc:10401
#, gcc-internal-format
msgid "invalid initializer"
msgstr ""
-#: c/c-typeck.cc:9505 c/c-typeck.cc:9529 c/c-typeck.cc:9532 c/c-typeck.cc:9540
-#: c/c-typeck.cc:9602 c/c-typeck.cc:11370 c/c-typeck.cc:11454
+#: c/c-typeck.cc:9519 c/c-typeck.cc:9543 c/c-typeck.cc:9546 c/c-typeck.cc:9554
+#: c/c-typeck.cc:9616 c/c-typeck.cc:11384 c/c-typeck.cc:11468
#, gcc-internal-format
msgid "initializer element is not constant"
msgstr ""
-#: c/c-typeck.cc:9514
+#: c/c-typeck.cc:9528
#, gcc-internal-format
msgid "array initialized from non-constant array expression"
msgstr ""
-#: c/c-typeck.cc:9545 c/c-typeck.cc:9615 c/c-typeck.cc:11464
+#: c/c-typeck.cc:9559 c/c-typeck.cc:9629 c/c-typeck.cc:11478
#, gcc-internal-format
msgid "initializer element is not a constant expression"
msgstr ""
-#: c/c-typeck.cc:9567 cp/typeck2.cc:1340
+#: c/c-typeck.cc:9581 cp/typeck2.cc:1340
#, gcc-internal-format
msgid "conversion from %qT to %qT changes value from %qd to %qd"
msgstr ""
-#: c/c-typeck.cc:9609 c/c-typeck.cc:11459
+#: c/c-typeck.cc:9623 c/c-typeck.cc:11473
#, gcc-internal-format
msgid "initializer element is not computable at load time"
msgstr ""
-#: c/c-typeck.cc:9915 cp/decl.cc:7906
+#: c/c-typeck.cc:9929 cp/decl.cc:7908
#, gcc-internal-format
msgid "opaque vector types cannot be initialized"
msgstr ""
-#: c/c-typeck.cc:10141
+#: c/c-typeck.cc:10155
#, gcc-internal-format
msgid "extra brace group at end of initializer"
msgstr ""
-#: c/c-typeck.cc:10225
+#: c/c-typeck.cc:10239
#, gcc-internal-format
msgid "braces around scalar initializer"
msgstr ""
-#: c/c-typeck.cc:10295 c/c-typeck.cc:10299 c/c-typeck.cc:12062
-#: c/c-typeck.cc:12187 cp/typeck2.cc:1268 cp/typeck2.cc:1621
+#: c/c-typeck.cc:10309 c/c-typeck.cc:10313 c/c-typeck.cc:12076
+#: c/c-typeck.cc:12201 cp/typeck2.cc:1268 cp/typeck2.cc:1621
#, gcc-internal-format
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c/c-typeck.cc:10336
+#: c/c-typeck.cc:10350
#, gcc-internal-format
msgid "missing braces around initializer"
msgstr ""
-#: c/c-typeck.cc:10359
+#: c/c-typeck.cc:10373
#, gcc-internal-format
msgid "missing initializer for field %qD of %qT"
msgstr ""
-#: c/c-typeck.cc:10399
+#: c/c-typeck.cc:10413
#, gcc-internal-format
msgid "extra elements in scalar initializer"
msgstr ""
-#: c/c-typeck.cc:10521 c/c-typeck.cc:10603
+#: c/c-typeck.cc:10535 c/c-typeck.cc:10617
#, gcc-internal-format
msgid "array index in non-array initializer"
msgstr ""
-#: c/c-typeck.cc:10526 c/c-typeck.cc:10665
+#: c/c-typeck.cc:10540 c/c-typeck.cc:10679
#, gcc-internal-format
msgid "field name not in record or union initializer"
msgstr ""
-#: c/c-typeck.cc:10576
+#: c/c-typeck.cc:10590
#, gcc-internal-format
msgid "array index in initializer not of integer type"
msgstr ""
-#: c/c-typeck.cc:10585 c/c-typeck.cc:10594
+#: c/c-typeck.cc:10599 c/c-typeck.cc:10608
#, gcc-internal-format
msgid "array index in initializer is not an integer constant expression"
msgstr ""
-#: c/c-typeck.cc:10599 c/c-typeck.cc:10601
+#: c/c-typeck.cc:10613 c/c-typeck.cc:10615
#, gcc-internal-format
msgid "nonconstant array index in initializer"
msgstr ""
-#: c/c-typeck.cc:10605 c/c-typeck.cc:10608
+#: c/c-typeck.cc:10619 c/c-typeck.cc:10622
#, gcc-internal-format
msgid "array index in initializer exceeds array bounds"
msgstr ""
-#: c/c-typeck.cc:10627
+#: c/c-typeck.cc:10641
#, gcc-internal-format
msgid "empty index range in initializer"
msgstr ""
-#: c/c-typeck.cc:10636
+#: c/c-typeck.cc:10650
#, gcc-internal-format
msgid "array index range in initializer exceeds array bounds"
msgstr ""
-#: c/c-typeck.cc:10770 c/c-typeck.cc:10825 c/c-typeck.cc:10866
-#: c/c-typeck.cc:10926 c/c-typeck.cc:10973 c/c-typeck.cc:11561
+#: c/c-typeck.cc:10784 c/c-typeck.cc:10839 c/c-typeck.cc:10880
+#: c/c-typeck.cc:10940 c/c-typeck.cc:10987 c/c-typeck.cc:11575
#, gcc-internal-format
msgid "initialized field overwritten"
msgstr ""
-#: c/c-typeck.cc:10861 c/c-typeck.cc:10922 c/c-typeck.cc:10969
-#: c/c-typeck.cc:11558
+#: c/c-typeck.cc:10875 c/c-typeck.cc:10936 c/c-typeck.cc:10983
+#: c/c-typeck.cc:11572
#, gcc-internal-format
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c/c-typeck.cc:11486
+#: c/c-typeck.cc:11500
#, gcc-internal-format
msgid "enum conversion in initialization is invalid in C++"
msgstr ""
-#: c/c-typeck.cc:11932
+#: c/c-typeck.cc:11946
#, gcc-internal-format
msgid "excess elements in %qT initializer"
msgstr ""
-#: c/c-typeck.cc:11944 c/c-typeck.cc:12021
+#: c/c-typeck.cc:11958 c/c-typeck.cc:12035
#, gcc-internal-format
msgid "excess elements in struct initializer"
msgstr ""
-#: c/c-typeck.cc:11965
+#: c/c-typeck.cc:11979
#, gcc-internal-format
msgid ""
"positional initialization of field in %<struct%> declared with "
"%<designated_init%> attribute"
msgstr ""
-#: c/c-typeck.cc:12036 c/c-typeck.cc:12162 cp/typeck2.cc:1245
+#: c/c-typeck.cc:12050 c/c-typeck.cc:12176 cp/typeck2.cc:1245
#, gcc-internal-format
msgid "non-static initialization of a flexible array member"
msgstr ""
-#: c/c-typeck.cc:12132
+#: c/c-typeck.cc:12146
#, gcc-internal-format
msgid "excess elements in union initializer"
msgstr ""
-#: c/c-typeck.cc:12154
+#: c/c-typeck.cc:12168
#, gcc-internal-format
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c/c-typeck.cc:12253
+#: c/c-typeck.cc:12267
#, gcc-internal-format
msgid "excess elements in array initializer"
msgstr ""
-#: c/c-typeck.cc:12330 c/c-typeck.cc:12332
+#: c/c-typeck.cc:12344 c/c-typeck.cc:12346
#, gcc-internal-format
msgid "excess elements in vector initializer"
msgstr ""
-#: c/c-typeck.cc:12366
+#: c/c-typeck.cc:12380
#, gcc-internal-format
msgid "excess elements in scalar initializer"
msgstr ""
-#: c/c-typeck.cc:12533 c/c-typeck.cc:12609 cp/semantics.cc:2346
-#: cp/semantics.cc:2455
+#: c/c-typeck.cc:12547 c/c-typeck.cc:12623 cp/semantics.cc:2349
+#: cp/semantics.cc:2458
#, gcc-internal-format
msgid "constraint allows registers outside of a function"
msgstr ""
-#: c/c-typeck.cc:12545 cp/semantics.cc:2358
+#: c/c-typeck.cc:12559 cp/semantics.cc:2361
#, gcc-internal-format
msgid "side-effects in output operand outside of a function"
msgstr ""
-#: c/c-typeck.cc:12556 cp/semantics.cc:2374
+#: c/c-typeck.cc:12570 cp/semantics.cc:2377
#, gcc-internal-format
msgid "output operand outside of a function is not constant"
msgstr ""
-#: c/c-typeck.cc:12564 c/c-typeck.cc:12654 cp/semantics.cc:2385
-#: cp/semantics.cc:2518
+#: c/c-typeck.cc:12578 c/c-typeck.cc:12668 cp/semantics.cc:2388
+#: cp/semantics.cc:2521
#, gcc-internal-format
msgid "%<-%> modifier used inside of a function"
msgstr ""
-#: c/c-typeck.cc:12622 cp/semantics.cc:2468
+#: c/c-typeck.cc:12636 cp/semantics.cc:2471
#, gcc-internal-format
msgid ""
"%<:%> constraint operand is not address of a function or non-automatic "
"variable"
msgstr ""
-#: c/c-typeck.cc:12635 cp/semantics.cc:2481
+#: c/c-typeck.cc:12649 cp/semantics.cc:2484
#, gcc-internal-format
msgid "side-effects in input operand outside of a function"
msgstr ""
-#: c/c-typeck.cc:12646 cp/semantics.cc:2496 cp/semantics.cc:2510
+#: c/c-typeck.cc:12660 cp/semantics.cc:2499 cp/semantics.cc:2513
#, gcc-internal-format
msgid "input operand outside of a function is not constant"
msgstr ""
-#: c/c-typeck.cc:12698
+#: c/c-typeck.cc:12712
#, gcc-internal-format
msgid "ISO C forbids %<goto *expr;%>"
msgstr ""
-#: c/c-typeck.cc:12704
+#: c/c-typeck.cc:12718
#, gcc-internal-format
msgid "computed goto must be pointer type"
msgstr ""
-#: c/c-typeck.cc:12734 c/gimple-parser.cc:2648 cp/typeck.cc:11159
+#: c/c-typeck.cc:12748 c/gimple-parser.cc:2648 cp/typeck.cc:11159
#, gcc-internal-format
msgid "function declared %<noreturn%> has a %<return%> statement"
msgstr ""
-#: c/c-typeck.cc:12763
+#: c/c-typeck.cc:12777
#, gcc-internal-format
msgid "%<return%> with no value, in function returning non-void"
msgstr ""
-#: c/c-typeck.cc:12776 c/gimple-parser.cc:2658
+#: c/c-typeck.cc:12790 c/gimple-parser.cc:2658
#, gcc-internal-format
msgid "%<return%> with a value, in function returning void"
msgstr ""
-#: c/c-typeck.cc:12779
+#: c/c-typeck.cc:12793
#, gcc-internal-format
msgid "ISO C forbids %<return%> with expression, in function returning void"
msgstr ""
-#: c/c-typeck.cc:12861
+#: c/c-typeck.cc:12875
#, gcc-internal-format
msgid "function returns address of label"
msgstr ""
-#: c/c-typeck.cc:12952 cp/semantics.cc:1921
+#: c/c-typeck.cc:12966 cp/semantics.cc:1924
#, gcc-internal-format
msgid "switch quantity not an integer"
msgstr ""
-#: c/c-typeck.cc:12977
+#: c/c-typeck.cc:12991
#, gcc-internal-format
msgid "%<long%> switch expression not converted to %<int%> in ISO C"
msgstr ""
-#: c/c-typeck.cc:13015 c/c-typeck.cc:13023
+#: c/c-typeck.cc:13029 c/c-typeck.cc:13037
#, gcc-internal-format
msgid "case label is not an integer constant expression"
msgstr ""
-#: c/c-typeck.cc:13029 cp/parser.cc:13521
+#: c/c-typeck.cc:13043 cp/parser.cc:13521
#, gcc-internal-format
msgid "case label not within a switch statement"
msgstr ""
-#: c/c-typeck.cc:13031
+#: c/c-typeck.cc:13045
#, gcc-internal-format
msgid "%<default%> label not within a switch statement"
msgstr ""
-#: c/c-typeck.cc:13107 cp/parser.cc:15291
+#: c/c-typeck.cc:13121 cp/parser.cc:15291
#, gcc-internal-format
msgid "break statement not within loop or switch"
msgstr ""
-#: c/c-typeck.cc:13110 c/c-typeck.cc:13130 cp/decl.cc:4107 cp/parser.cc:15301
+#: c/c-typeck.cc:13124 c/c-typeck.cc:13144 cp/decl.cc:4107 cp/parser.cc:15301
#: cp/parser.cc:15322
#, gcc-internal-format
msgid "invalid exit from OpenMP structured block"
msgstr ""
-#: c/c-typeck.cc:13113 cp/parser.cc:15304
+#: c/c-typeck.cc:13127 cp/parser.cc:15304
#, gcc-internal-format
msgid "break statement used with OpenMP for loop"
msgstr ""
-#: c/c-typeck.cc:13127 cp/parser.cc:15314
+#: c/c-typeck.cc:13141 cp/parser.cc:15314
#, gcc-internal-format
msgid "continue statement not within a loop"
msgstr ""
-#: c/c-typeck.cc:13177 cp/cp-gimplify.cc:277
+#: c/c-typeck.cc:13191 cp/cp-gimplify.cc:277
#, gcc-internal-format
msgid "statement with no effect"
msgstr ""
-#: c/c-typeck.cc:13221
+#: c/c-typeck.cc:13235
#, gcc-internal-format
msgid "expression statement has incomplete type"
msgstr ""
-#: c/c-typeck.cc:13512
+#: c/c-typeck.cc:13526
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<false%> for the pointer operand in "
"%qE must not be NULL"
msgstr ""
-#: c/c-typeck.cc:13517
+#: c/c-typeck.cc:13531
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<true%> for the pointer operand in "
"%qE must not be NULL"
msgstr ""
-#: c/c-typeck.cc:13535 c/c-typeck.cc:13573
+#: c/c-typeck.cc:13549 c/c-typeck.cc:13587
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<false%> for the address of %qE will "
"never be NULL"
msgstr ""
-#: c/c-typeck.cc:13540 c/c-typeck.cc:13578
+#: c/c-typeck.cc:13554 c/c-typeck.cc:13592
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<true%> for the address of %qE will "
"never be NULL"
msgstr ""
-#: c/c-typeck.cc:14170 c/c-typeck.cc:14334 cp/typeck.cc:6163
+#: c/c-typeck.cc:14184 c/c-typeck.cc:14348 cp/typeck.cc:6163
#, gcc-internal-format
msgid "comparing vectors with different element types"
msgstr ""
-#: c/c-typeck.cc:14178 c/c-typeck.cc:14342 cp/typeck.cc:6177
+#: c/c-typeck.cc:14192 c/c-typeck.cc:14356 cp/typeck.cc:6177
#, gcc-internal-format
msgid "comparing vectors with different number of elements"
msgstr ""
-#: c/c-typeck.cc:14193 c/c-typeck.cc:14357 cp/typeck.cc:6195
+#: c/c-typeck.cc:14207 c/c-typeck.cc:14371 cp/typeck.cc:6195
#, gcc-internal-format
msgid "comparison between types %qT and %qT"
msgstr ""
-#: c/c-typeck.cc:14203 c/c-typeck.cc:14367 cp/typeck.cc:6212
+#: c/c-typeck.cc:14217 c/c-typeck.cc:14381 cp/typeck.cc:6212
#, gcc-internal-format
msgid "could not find an integer type of the same size as %qT"
msgstr ""
-#: c/c-typeck.cc:14217 cp/typeck.cc:5838
+#: c/c-typeck.cc:14231 cp/typeck.cc:5838
#, gcc-internal-format
msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
msgstr ""
-#: c/c-typeck.cc:14256 c/c-typeck.cc:14408
+#: c/c-typeck.cc:14270 c/c-typeck.cc:14422
#, gcc-internal-format
msgid "comparison of pointers to disjoint address spaces"
msgstr ""
-#: c/c-typeck.cc:14263 c/c-typeck.cc:14269
+#: c/c-typeck.cc:14277 c/c-typeck.cc:14283
#, gcc-internal-format
msgid "ISO C forbids comparison of %<void *%> with function pointer"
msgstr ""
-#: c/c-typeck.cc:14276 c/c-typeck.cc:14418
+#: c/c-typeck.cc:14290 c/c-typeck.cc:14432
#, gcc-internal-format
msgid "comparison of distinct pointer types lacks a cast"
msgstr ""
-#: c/c-typeck.cc:14289 c/c-typeck.cc:14295 c/c-typeck.cc:14445
-#: c/c-typeck.cc:14451
+#: c/c-typeck.cc:14303 c/c-typeck.cc:14309 c/c-typeck.cc:14459
+#: c/c-typeck.cc:14465
#, gcc-internal-format
msgid "comparison between pointer and integer"
msgstr ""
-#: c/c-typeck.cc:14396
+#: c/c-typeck.cc:14410
#, gcc-internal-format
msgid "comparison of complete and incomplete pointers"
msgstr ""
-#: c/c-typeck.cc:14398
+#: c/c-typeck.cc:14412
#, gcc-internal-format
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr ""
-#: c/c-typeck.cc:14403
+#: c/c-typeck.cc:14417
#, gcc-internal-format
msgid "ordered comparison of pointer with null pointer"
msgstr ""
-#: c/c-typeck.cc:14426 c/c-typeck.cc:14429 c/c-typeck.cc:14436
-#: c/c-typeck.cc:14439
+#: c/c-typeck.cc:14440 c/c-typeck.cc:14443 c/c-typeck.cc:14450
+#: c/c-typeck.cc:14453
#, gcc-internal-format
msgid "ordered comparison of pointer with integer zero"
msgstr ""
-#: c/c-typeck.cc:14516
+#: c/c-typeck.cc:14530
#, gcc-internal-format
msgid ""
"implicit conversion from %qT to %qT to match other operand of binary "
"expression"
msgstr ""
-#: c/c-typeck.cc:14834
+#: c/c-typeck.cc:14848
#, gcc-internal-format
msgid "used array that cannot be converted to pointer where scalar is required"
msgstr ""
-#: c/c-typeck.cc:14838
+#: c/c-typeck.cc:14852
#, gcc-internal-format
msgid "used struct type value where scalar is required"
msgstr ""
-#: c/c-typeck.cc:14842
+#: c/c-typeck.cc:14856
#, gcc-internal-format
msgid "used union type value where scalar is required"
msgstr ""
-#: c/c-typeck.cc:14858
+#: c/c-typeck.cc:14872
#, gcc-internal-format
msgid "used vector type where scalar is required"
msgstr ""
-#: c/c-typeck.cc:15061 cp/semantics.cc:12069
+#: c/c-typeck.cc:15075 cp/semantics.cc:12083
#, gcc-internal-format
msgid ""
"%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, "
"%<sections%> or %<taskgroup%> clauses"
msgstr ""
-#: c/c-typeck.cc:15072 c/c-typeck.cc:15082 cp/semantics.cc:12080
-#: cp/semantics.cc:12090
+#: c/c-typeck.cc:15086 c/c-typeck.cc:15096 cp/semantics.cc:12094
+#: cp/semantics.cc:12104
#, gcc-internal-format
msgid "expected %<cancel%> %<if%> clause modifier"
msgstr ""
-#: c/c-typeck.cc:15117 cp/semantics.cc:12125
+#: c/c-typeck.cc:15131 cp/semantics.cc:12139
#, gcc-internal-format
msgid ""
"%<#pragma omp cancellation point%> must specify one of %<parallel%>, "
"%<for%>, %<sections%> or %<taskgroup%> clauses"
msgstr ""
-#: c/c-typeck.cc:15185 cp/semantics.cc:5948 cp/semantics.cc:9059
+#: c/c-typeck.cc:15199 cp/semantics.cc:5962 cp/semantics.cc:9073
#, gcc-internal-format
msgid "%qD is not a variable in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15189 c/c-typeck.cc:17006 cp/semantics.cc:5952
-#: cp/semantics.cc:9063
+#: c/c-typeck.cc:15203 c/c-typeck.cc:17020 cp/semantics.cc:5966
+#: cp/semantics.cc:9077
#, gcc-internal-format
msgid "%qE is not a variable in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15197
+#: c/c-typeck.cc:15211
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15207 c/c-typeck.cc:17013 c/c-typeck.cc:17167
-#: cp/semantics.cc:5961 cp/semantics.cc:9070 cp/semantics.cc:9259
+#: c/c-typeck.cc:15221 c/c-typeck.cc:17027 c/c-typeck.cc:17181
+#: cp/semantics.cc:5975 cp/semantics.cc:9084 cp/semantics.cc:9273
#, gcc-internal-format
msgid "%qD is threadprivate variable in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15244 cp/semantics.cc:5995
+#: c/c-typeck.cc:15258 cp/semantics.cc:6009
#, gcc-internal-format
msgid "low bound %qE of array section does not have integral type"
msgstr ""
-#: c/c-typeck.cc:15251 cp/semantics.cc:6002
+#: c/c-typeck.cc:15265 cp/semantics.cc:6016
#, gcc-internal-format
msgid "length %qE of array section does not have integral type"
msgstr ""
-#: c/c-typeck.cc:15274 cp/semantics.cc:6035
+#: c/c-typeck.cc:15288 cp/semantics.cc:6049
#, gcc-internal-format
msgid "expected single pointer in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15292 c/c-typeck.cc:15359 c/c-typeck.cc:15652
-#: cp/semantics.cc:6053 cp/semantics.cc:6120
+#: c/c-typeck.cc:15306 c/c-typeck.cc:15373 c/c-typeck.cc:15666
+#: cp/semantics.cc:6067 cp/semantics.cc:6134
#, gcc-internal-format
msgid "zero length array section in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15311 cp/semantics.cc:6072
+#: c/c-typeck.cc:15325 cp/semantics.cc:6086
#, gcc-internal-format
msgid "for unknown bound array type length expression must be specified"
msgstr ""
-#: c/c-typeck.cc:15319 cp/semantics.cc:6080
+#: c/c-typeck.cc:15333 cp/semantics.cc:6094
#, gcc-internal-format
msgid "negative low bound in array section in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15328 c/c-typeck.cc:15452 cp/semantics.cc:6089
-#: cp/semantics.cc:6213
+#: c/c-typeck.cc:15342 c/c-typeck.cc:15466 cp/semantics.cc:6103
+#: cp/semantics.cc:6227
#, gcc-internal-format
msgid "negative length in array section in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15345 cp/semantics.cc:6106
+#: c/c-typeck.cc:15359 cp/semantics.cc:6120
#, gcc-internal-format
msgid "low bound %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15388 cp/semantics.cc:6149
+#: c/c-typeck.cc:15402 cp/semantics.cc:6163
#, gcc-internal-format
msgid "length %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15403 cp/semantics.cc:6164
+#: c/c-typeck.cc:15417 cp/semantics.cc:6178
#, gcc-internal-format
msgid "high bound %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15440 cp/semantics.cc:6201
+#: c/c-typeck.cc:15454 cp/semantics.cc:6215
#, gcc-internal-format
msgid "for array function parameter length expression must be specified"
msgstr ""
-#: c/c-typeck.cc:15444 cp/semantics.cc:6205
+#: c/c-typeck.cc:15458 cp/semantics.cc:6219
#, gcc-internal-format
msgid "for pointer type length expression must be specified"
msgstr ""
-#: c/c-typeck.cc:15472 c/c-typeck.cc:15591 cp/semantics.cc:6232
-#: cp/semantics.cc:6368
+#: c/c-typeck.cc:15486 c/c-typeck.cc:15605 cp/semantics.cc:6246
+#: cp/semantics.cc:6382
#, gcc-internal-format
msgid "array section is not contiguous in %qs clause"
msgstr ""
-#: c/c-typeck.cc:15482 cp/semantics.cc:6242
+#: c/c-typeck.cc:15496 cp/semantics.cc:6256
#, gcc-internal-format
msgid "%qE does not have pointer or array type"
msgstr ""
-#: c/c-typeck.cc:15858 cp/semantics.cc:7305
+#: c/c-typeck.cc:15872 cp/semantics.cc:7319
#, gcc-internal-format
msgid "iterator %qD has neither integral nor pointer type"
msgstr ""
-#: c/c-typeck.cc:15865
+#: c/c-typeck.cc:15879
#, gcc-internal-format
msgid "iterator %qD has %<_Atomic%> qualified type"
msgstr ""
-#: c/c-typeck.cc:15871 cp/semantics.cc:7312
+#: c/c-typeck.cc:15885 cp/semantics.cc:7326
#, gcc-internal-format
msgid "iterator %qD has const qualified type"
msgstr ""
-#: c/c-typeck.cc:15884 cp/semantics.cc:7328
+#: c/c-typeck.cc:15898 cp/semantics.cc:7342
#, gcc-internal-format
msgid "iterator step with non-integral type"
msgstr ""
-#: c/c-typeck.cc:15904 cp/semantics.cc:7364
+#: c/c-typeck.cc:15918 cp/semantics.cc:7378
#, gcc-internal-format
msgid "iterator %qD has zero step"
msgstr ""
-#: c/c-typeck.cc:15931
+#: c/c-typeck.cc:15945
#, gcc-internal-format
msgid "type of iterator %qD refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.cc:15938 cp/semantics.cc:7398
+#: c/c-typeck.cc:15952 cp/semantics.cc:7412
#, gcc-internal-format
msgid "begin expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.cc:15944 cp/semantics.cc:7404
+#: c/c-typeck.cc:15958 cp/semantics.cc:7418
#, gcc-internal-format
msgid "end expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.cc:15950 cp/semantics.cc:7410
+#: c/c-typeck.cc:15964 cp/semantics.cc:7424
#, gcc-internal-format
msgid "step expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.cc:15987 cp/semantics.cc:7458
+#: c/c-typeck.cc:16001 cp/semantics.cc:7472
#, gcc-internal-format
msgid "expected pointer in %qs clause"
msgstr ""
-#: c/c-typeck.cc:16090 cp/semantics.cc:7624
+#: c/c-typeck.cc:16104 cp/semantics.cc:7638
#, gcc-internal-format
msgid ""
"%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
msgstr ""
-#: c/c-typeck.cc:16112 cp/semantics.cc:7644
+#: c/c-typeck.cc:16126 cp/semantics.cc:7658
#, gcc-internal-format
msgid "%<inscan%> %<reduction%> clause with array section"
msgstr ""
-#: c/c-typeck.cc:16138 c/c-typeck.cc:16148
+#: c/c-typeck.cc:16152 c/c-typeck.cc:16162
#, gcc-internal-format
msgid "%qD in %<reduction%> clause is a zero size array"
msgstr ""
-#: c/c-typeck.cc:16168
+#: c/c-typeck.cc:16182
#, gcc-internal-format
msgid "%<_Atomic%> %qE in %<reduction%> clause"
msgstr ""
-#: c/c-typeck.cc:16180
+#: c/c-typeck.cc:16194
#, gcc-internal-format
msgid "zero sized type %qT in %qs clause"
msgstr ""
-#: c/c-typeck.cc:16188
+#: c/c-typeck.cc:16202
#, gcc-internal-format
msgid "variable sized type %qT in %qs clause"
msgstr ""
-#: c/c-typeck.cc:16232
+#: c/c-typeck.cc:16246
#, gcc-internal-format
msgid "%qE has invalid type for %<reduction(%s)%>"
msgstr ""
-#: c/c-typeck.cc:16241 cp/semantics.cc:7197
+#: c/c-typeck.cc:16255 cp/semantics.cc:7211
#, gcc-internal-format
msgid "user defined reduction not found for %qE"
msgstr ""
-#: c/c-typeck.cc:16329
+#: c/c-typeck.cc:16343
#, gcc-internal-format
msgid "variable length element type in array %<reduction%> clause"
msgstr ""
-#: c/c-typeck.cc:16347 c/c-typeck.cc:17261 cp/semantics.cc:9943
+#: c/c-typeck.cc:16361 c/c-typeck.cc:17275 cp/semantics.cc:9957
#, gcc-internal-format
msgid "%<nowait%> clause must not be used together with %<copyprivate%> clause"
msgstr ""
-#: c/c-typeck.cc:16359 cp/semantics.cc:10011
+#: c/c-typeck.cc:16373 cp/semantics.cc:10025
#, gcc-internal-format
msgid "%qE must be %<threadprivate%> for %<copyin%>"
msgstr ""
-#: c/c-typeck.cc:16374 cp/semantics.cc:7687
+#: c/c-typeck.cc:16388 cp/semantics.cc:7701
#, gcc-internal-format
msgid ""
"modifier should not be specified in %<linear%> clause on %<simd%> or %<for%> "
"constructs when not using OpenMP 5.2 modifiers"
msgstr ""
-#: c/c-typeck.cc:16383
+#: c/c-typeck.cc:16397
#, gcc-internal-format
msgid ""
"linear clause applied to non-integral non-pointer variable with type %qT"
msgstr ""
-#: c/c-typeck.cc:16391
+#: c/c-typeck.cc:16405
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<linear%> clause"
msgstr ""
-#: c/c-typeck.cc:16410 cp/semantics.cc:7771
+#: c/c-typeck.cc:16424 cp/semantics.cc:7785
#, gcc-internal-format
msgid "%<linear%> clause step %qE is neither constant nor a parameter"
msgstr ""
-#: c/c-typeck.cc:16440 c/c-typeck.cc:17161 c/c-typeck.cc:17432
-#: cp/semantics.cc:7858 cp/semantics.cc:9253 cp/semantics.cc:9644
+#: c/c-typeck.cc:16454 c/c-typeck.cc:17175 c/c-typeck.cc:17446
+#: cp/semantics.cc:7872 cp/semantics.cc:9267 cp/semantics.cc:9658
#, gcc-internal-format
msgid "%qE is not a variable in clause %qs"
msgstr ""
-#: c/c-typeck.cc:16457 cp/semantics.cc:7876
+#: c/c-typeck.cc:16471 cp/semantics.cc:7890
#, gcc-internal-format
msgid "%qD appears more than once in data-sharing clauses"
msgstr ""
-#: c/c-typeck.cc:16468 cp/semantics.cc:7887
+#: c/c-typeck.cc:16482 cp/semantics.cc:7901
#, gcc-internal-format
msgid "%qD appears more than once in reduction clauses"
msgstr ""
-#: c/c-typeck.cc:16482 c/c-typeck.cc:16552 c/c-typeck.cc:16587
+#: c/c-typeck.cc:16496 c/c-typeck.cc:16566 c/c-typeck.cc:16601
#, gcc-internal-format
msgid "%qE appears more than once in data clauses"
msgstr ""
-#: c/c-typeck.cc:16492 c/c-typeck.cc:16560 c/c-typeck.cc:16909
-#: c/c-typeck.cc:17061 c/c-typeck.cc:17069 c/c-typeck.cc:17085
-#: c/c-typeck.cc:17094 c/c-typeck.cc:17102 cp/semantics.cc:7901
-#: cp/semantics.cc:7911 cp/semantics.cc:8004 cp/semantics.cc:8012
-#: cp/semantics.cc:8059 cp/semantics.cc:8941 cp/semantics.cc:9131
-#: cp/semantics.cc:9139 cp/semantics.cc:9159 cp/semantics.cc:9168
-#: cp/semantics.cc:9176
+#: c/c-typeck.cc:16506 c/c-typeck.cc:16574 c/c-typeck.cc:16923
+#: c/c-typeck.cc:17075 c/c-typeck.cc:17083 c/c-typeck.cc:17099
+#: c/c-typeck.cc:17108 c/c-typeck.cc:17116 cp/semantics.cc:7915
+#: cp/semantics.cc:7925 cp/semantics.cc:8018 cp/semantics.cc:8026
+#: cp/semantics.cc:8073 cp/semantics.cc:8955 cp/semantics.cc:9145
+#: cp/semantics.cc:9153 cp/semantics.cc:9173 cp/semantics.cc:9182
+#: cp/semantics.cc:9190
#, gcc-internal-format
msgid "%qD appears more than once in data clauses"
msgstr ""
-#: c/c-typeck.cc:16495 c/c-typeck.cc:16566 c/c-typeck.cc:17105
-#: cp/semantics.cc:7914 cp/semantics.cc:8018 cp/semantics.cc:9179
+#: c/c-typeck.cc:16509 c/c-typeck.cc:16580 c/c-typeck.cc:17119
+#: cp/semantics.cc:7928 cp/semantics.cc:8032 cp/semantics.cc:9193
#, gcc-internal-format
msgid "%qD appears both in data and map clauses"
msgstr ""
-#: c/c-typeck.cc:16540 cp/semantics.cc:7991
+#: c/c-typeck.cc:16554 cp/semantics.cc:8005
#, gcc-internal-format
msgid "%qE is not a variable in clause %<firstprivate%>"
msgstr ""
-#: c/c-typeck.cc:16580 cp/semantics.cc:8051
+#: c/c-typeck.cc:16594 cp/semantics.cc:8065
#, gcc-internal-format
msgid "%qE is not a variable in clause %<lastprivate%>"
msgstr ""
-#: c/c-typeck.cc:16599 cp/semantics.cc:8473
+#: c/c-typeck.cc:16613 cp/semantics.cc:8487
#, gcc-internal-format
msgid "%qE is not a variable in %<aligned%> clause"
msgstr ""
-#: c/c-typeck.cc:16606
+#: c/c-typeck.cc:16620
#, gcc-internal-format
msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
msgstr ""
-#: c/c-typeck.cc:16613
+#: c/c-typeck.cc:16627
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<aligned%> clause"
msgstr ""
-#: c/c-typeck.cc:16620
+#: c/c-typeck.cc:16634
#, gcc-internal-format
msgid "%qE appears more than once in %<aligned%> clauses"
msgstr ""
-#: c/c-typeck.cc:16633 cp/semantics.cc:8542
+#: c/c-typeck.cc:16647 cp/semantics.cc:8556
#, gcc-internal-format
msgid "%qE is not a variable in %<nontemporal%> clause"
msgstr ""
-#: c/c-typeck.cc:16639
+#: c/c-typeck.cc:16653
#, gcc-internal-format
msgid "%qE appears more than once in %<nontemporal%> clauses"
msgstr ""
-#: c/c-typeck.cc:16652 cp/semantics.cc:8581
+#: c/c-typeck.cc:16666 cp/semantics.cc:8595
#, gcc-internal-format
msgid "%qE is not a variable in %<allocate%> clause"
msgstr ""
-#: c/c-typeck.cc:16658
+#: c/c-typeck.cc:16672
#, gcc-internal-format
msgid "%qE appears more than once in %<allocate%> clauses"
msgstr ""
-#: c/c-typeck.cc:16730 cp/semantics.cc:8709
+#: c/c-typeck.cc:16744 cp/semantics.cc:8723
#, gcc-internal-format
msgid "%<depend%> clause with %<depobj%> dependence type on array section"
msgstr ""
-#: c/c-typeck.cc:16745 cp/semantics.cc:8724
+#: c/c-typeck.cc:16759 cp/semantics.cc:8738
#, gcc-internal-format
msgid ""
"%<omp_all_memory%> used with %<depend%> kind other than %<out%> or %<inout%>"
msgstr ""
-#: c/c-typeck.cc:16753 cp/semantics.cc:8742
+#: c/c-typeck.cc:16767 cp/semantics.cc:8756
#, gcc-internal-format
msgid "%qE is not lvalue expression nor array section in %qs clause"
msgstr ""
-#: c/c-typeck.cc:16774 cp/semantics.cc:8764
+#: c/c-typeck.cc:16788 cp/semantics.cc:8778
#, gcc-internal-format
msgid ""
"%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> "
"dependence type"
msgstr ""
-#: c/c-typeck.cc:16784 cp/semantics.cc:8776
+#: c/c-typeck.cc:16798 cp/semantics.cc:8790
#, gcc-internal-format
msgid ""
"%qE should not have %<omp_depend_t%> type in %<depend%> clause with "
"dependence type other than %<depobj%>"
msgstr ""
-#: c/c-typeck.cc:16845 cp/semantics.cc:8876
+#: c/c-typeck.cc:16859 cp/semantics.cc:8890
#, gcc-internal-format
msgid "array section does not have mappable type in %qs clause"
msgstr ""
-#: c/c-typeck.cc:16865 c/c-typeck.cc:16941 c/c-typeck.cc:16977
-#: cp/semantics.cc:8896 cp/semantics.cc:8975 cp/semantics.cc:9011
+#: c/c-typeck.cc:16879 c/c-typeck.cc:16955 c/c-typeck.cc:16991
+#: cp/semantics.cc:8910 cp/semantics.cc:8989 cp/semantics.cc:9025
#, gcc-internal-format
msgid "unsupported map expression %qE"
msgstr ""
-#: c/c-typeck.cc:16905 c/c-typeck.cc:17082 cp/semantics.cc:8937
-#: cp/semantics.cc:9156
+#: c/c-typeck.cc:16919 c/c-typeck.cc:17096 cp/semantics.cc:8951
+#: cp/semantics.cc:9170
#, gcc-internal-format
msgid "%qD appears more than once in motion clauses"
msgstr ""
-#: c/c-typeck.cc:16913 c/c-typeck.cc:17088 cp/semantics.cc:8945
-#: cp/semantics.cc:9162
+#: c/c-typeck.cc:16927 c/c-typeck.cc:17102 cp/semantics.cc:8959
+#: cp/semantics.cc:9176
#, gcc-internal-format
msgid "%qD appears more than once in map clauses"
msgstr ""
-#: c/c-typeck.cc:17032 c/c-typeck.cc:17174 cp/semantics.cc:9099
-#: cp/semantics.cc:9267
+#: c/c-typeck.cc:17046 c/c-typeck.cc:17188 cp/semantics.cc:9113
+#: cp/semantics.cc:9281
#, gcc-internal-format
msgid "%qD does not have a mappable type in %qs clause"
msgstr ""
-#: c/c-typeck.cc:17157 cp/semantics.cc:9248
+#: c/c-typeck.cc:17171 cp/semantics.cc:9262
#, gcc-internal-format
msgid "%qE is neither a variable nor a function name in clause %qs"
msgstr ""
-#: c/c-typeck.cc:17183 cp/semantics.cc:9279
+#: c/c-typeck.cc:17197 cp/semantics.cc:9293
#, gcc-internal-format
msgid "%qE appears more than once on the same %<declare target%> directive"
msgstr ""
-#: c/c-typeck.cc:17197 cp/semantics.cc:9295
+#: c/c-typeck.cc:17211 cp/semantics.cc:9309
#, gcc-internal-format
msgid "%qD is not an argument in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.cc:17200 cp/semantics.cc:9298
+#: c/c-typeck.cc:17214 cp/semantics.cc:9312
#, gcc-internal-format
msgid "%qE is not an argument in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.cc:17219
+#: c/c-typeck.cc:17233
#, gcc-internal-format
msgid "%qs variable is not a pointer"
msgstr ""
-#: c/c-typeck.cc:17226
+#: c/c-typeck.cc:17240
#, gcc-internal-format
msgid "%qs variable is neither a pointer nor an array"
msgstr ""
-#: c/c-typeck.cc:17274 c/c-typeck.cc:17379 cp/semantics.cc:9894
+#: c/c-typeck.cc:17288 c/c-typeck.cc:17393 cp/semantics.cc:9908
#, gcc-internal-format
msgid "%<order%> clause must not be used together with %<ordered%> clause"
msgstr ""
-#: c/c-typeck.cc:17294 cp/semantics.cc:8816
+#: c/c-typeck.cc:17308 cp/semantics.cc:8830
#, gcc-internal-format
msgid "too many %qs clauses on a task construct"
msgstr ""
-#: c/c-typeck.cc:17415 cp/semantics.cc:9612
+#: c/c-typeck.cc:17429 cp/semantics.cc:9626
#, gcc-internal-format
msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
msgstr ""
-#: c/c-typeck.cc:17450 cp/semantics.cc:9706
+#: c/c-typeck.cc:17464 cp/semantics.cc:9720
#, gcc-internal-format
msgid "%qD appears more than once in action clauses"
msgstr ""
-#: c/c-typeck.cc:17461 cp/semantics.cc:9720
+#: c/c-typeck.cc:17475 cp/semantics.cc:9734
#, gcc-internal-format
msgid "%qD must be of %<omp_interop_t%>"
msgstr ""
-#: c/c-typeck.cc:17470 cp/semantics.cc:9729
+#: c/c-typeck.cc:17484 cp/semantics.cc:9743
#, gcc-internal-format
msgid "%qD shall not be const"
msgstr ""
-#: c/c-typeck.cc:17519 cp/semantics.cc:10082
+#: c/c-typeck.cc:17533 cp/semantics.cc:10096
#, gcc-internal-format
msgid "%qE is predetermined %qs for %qs"
msgstr ""
-#: c/c-typeck.cc:17529
+#: c/c-typeck.cc:17543
#, gcc-internal-format
msgid ""
"%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> "
"clauses"
msgstr ""
-#: c/c-typeck.cc:17560 cp/semantics.cc:9835
+#: c/c-typeck.cc:17574 cp/semantics.cc:9849
#, gcc-internal-format
msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
msgstr ""
-#: c/c-typeck.cc:17572 cp/semantics.cc:9848
+#: c/c-typeck.cc:17586 cp/semantics.cc:9862
#, gcc-internal-format
msgid ""
"%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
msgstr ""
-#: c/c-typeck.cc:17583 c/c-typeck.cc:17591 cp/semantics.cc:9857
-#: cp/semantics.cc:9886
+#: c/c-typeck.cc:17597 c/c-typeck.cc:17605 cp/semantics.cc:9871
+#: cp/semantics.cc:9900
#, gcc-internal-format
msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
msgstr ""
-#: c/c-typeck.cc:17639 cp/semantics.cc:9815
+#: c/c-typeck.cc:17653 cp/semantics.cc:9829
#, gcc-internal-format
msgid ""
"%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.cc:17690 cp/semantics.cc:9865
+#: c/c-typeck.cc:17704 cp/semantics.cc:9879
#, gcc-internal-format
msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
msgstr ""
-#: c/c-typeck.cc:17698 cp/semantics.cc:9876
+#: c/c-typeck.cc:17712 cp/semantics.cc:9890
#, gcc-internal-format
msgid ""
"%<grainsize%> clause must not be used together with %<num_tasks%> clause"
msgstr ""
-#: c/c-typeck.cc:17706 cp/semantics.cc:9932
+#: c/c-typeck.cc:17720 cp/semantics.cc:9946
#, gcc-internal-format
msgid "%<full%> clause must not be used together with %<partial%> clause"
msgstr ""
-#: c/c-typeck.cc:17716 cp/semantics.cc:9905
+#: c/c-typeck.cc:17730 cp/semantics.cc:9919
#, gcc-internal-format
msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
msgstr ""
-#: c/c-typeck.cc:17734 cp/semantics.cc:10107
+#: c/c-typeck.cc:17748 cp/semantics.cc:10121
#, gcc-internal-format
msgid ""
"the event handle of a %<detach%> clause should not be in a data-sharing "
"clause"
msgstr ""
-#: c/c-typeck.cc:17752 cp/semantics.cc:10178
+#: c/c-typeck.cc:17766 cp/semantics.cc:10192
#, gcc-internal-format
msgid ""
"%<depend%> clause requires action clauses with %<targetsync%> interop-type"
msgstr ""
-#: c/c-typeck.cc:17756 cp/semantics.cc:10182
+#: c/c-typeck.cc:17770 cp/semantics.cc:10196
#, gcc-internal-format
msgid "%<init%> clause lacks the %<targetsync%> modifier"
msgstr ""
-#: c/c-typeck.cc:17928
+#: c/c-typeck.cc:17942
#, gcc-internal-format
msgid "cannot use %<va_arg%> with reverse storage order"
msgstr ""
-#: c/c-typeck.cc:17933
+#: c/c-typeck.cc:17947
#, gcc-internal-format
msgid "second argument to %<va_arg%> is of incomplete type %qT"
msgstr ""
-#: c/c-typeck.cc:17939
+#: c/c-typeck.cc:17953
#, gcc-internal-format
msgid "second argument to %<va_arg%> is a function type %qT"
msgstr ""
-#: c/c-typeck.cc:17945
+#: c/c-typeck.cc:17959
#, gcc-internal-format
msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
msgstr ""
@@ -55541,18 +55542,18 @@ msgstr ""
msgid "exception '%s'"
msgstr ""
-#: cobol/cobol1.cc:412
+#: cobol/cobol1.cc:408
#, gcc-internal-format, gfc-internal-format
msgid "could not execute preprocessor %s"
msgstr ""
-#: cobol/cobol1.cc:417
+#: cobol/cobol1.cc:413
#, gcc-internal-format, gfc-internal-format
msgid "could not include %s"
msgstr ""
#. This isn't right. All OPT_main should be replaced
-#: cobol/cobol1.cc:423
+#: cobol/cobol1.cc:419
#, gcc-internal-format
msgid "We should never see a non-equal dash-main in cobol1.c"
msgstr ""
@@ -55561,245 +55562,245 @@ msgstr ""
msgid "no such exception: 0x%04x"
msgstr ""
-#: cobol/genapi.cc:331
+#: cobol/genapi.cc:332
#, gcc-internal-format
msgid "Probable cause: it was referenced without being defined."
msgstr ""
-#: cobol/genapi.cc:570
+#: cobol/genapi.cc:571
#, gcc-internal-format
msgid "Nice try, but you can't fire me. I quit!"
msgstr ""
-#: cobol/genapi.cc:1485
+#: cobol/genapi.cc:1486
#, gcc-internal-format, gfc-internal-format
msgid "%s(): Knows not the variable type %s for %s"
msgstr ""
-#: cobol/genapi.cc:2172
+#: cobol/genapi.cc:2176
#, gcc-internal-format, gfc-internal-format
msgid "I don't know how to MOVE an alphabetical string to %s(%s) \n"
msgstr ""
-#: cobol/genapi.cc:2240
+#: cobol/genapi.cc:2244
#, gcc-internal-format, gfc-internal-format
msgid "%s(): field->type %s must be literal or alphanumeric"
msgstr ""
-#: cobol/genapi.cc:5720
+#: cobol/genapi.cc:5728
#, gcc-internal-format, gfc-internal-format
msgid "%s(): Invalid field type %s:"
msgstr ""
-#: cobol/genapi.cc:6937 cobol/genapi.cc:6943 cobol/genapi.cc:6949
+#: cobol/genapi.cc:6929 cobol/genapi.cc:6935 cobol/genapi.cc:6941
#, gcc-internal-format, gfc-internal-format
msgid ""
"parser_logop() was called with variable %s on line %d, which is not a "
"FldConditional\n"
msgstr ""
-#: cobol/genapi.cc:7056 cobol/genapi.cc:7120
+#: cobol/genapi.cc:7048 cobol/genapi.cc:7112
#, gcc-internal-format, gfc-internal-format
msgid ""
"parser_relop() was called with variable %s, which is not a FldConditional\n"
msgstr ""
-#: cobol/genapi.cc:7166
+#: cobol/genapi.cc:7158
#, gcc-internal-format, gfc-internal-format
msgid ""
"parser_if() was called with variable %s, which is not a FldConditional\n"
msgstr ""
-#: cobol/genapi.cc:7419
+#: cobol/genapi.cc:7411
#, gcc-internal-format, gfc-internal-format
msgid "###### candidate %s has unimplemented CVT_type %d(%s)\n"
msgstr ""
-#: cobol/genapi.cc:7430
+#: cobol/genapi.cc:7422
#, gcc-internal-format, gfc-internal-format
msgid "###### unknown setop_t code %d\n"
msgstr ""
-#: cobol/genapi.cc:7626
+#: cobol/genapi.cc:7618
msgid "%s:%d: %zu exceeds MAXIMUM_UNTILS of %d, line %d"
msgstr ""
-#: cobol/genapi.cc:8632
+#: cobol/genapi.cc:8624
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d: ignoring subscripts"
msgstr ""
-#: cobol/genapi.cc:8854 cobol/genapi.cc:9314
+#: cobol/genapi.cc:8846 cobol/genapi.cc:9306
#, gcc-internal-format, gfc-internal-format
msgid "%s(): called with NULL *file"
msgstr ""
-#: cobol/genapi.cc:8979
+#: cobol/genapi.cc:8971
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s access mode is 'file_inaccessible_e' in %s"
msgstr ""
-#: cobol/genapi.cc:9052
+#: cobol/genapi.cc:9044
#, gcc-internal-format
msgid "parser_file_open called with NULL *file"
msgstr ""
-#: cobol/genapi.cc:9057
+#: cobol/genapi.cc:9049
#, gcc-internal-format, gfc-internal-format
msgid "parser_file_open for %s called with NULL var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9062
+#: cobol/genapi.cc:9054
#, gcc-internal-format, gfc-internal-format
msgid "EXTEND can only be used where %s is ACCESS MODE SEQUENTIAL"
msgstr ""
-#: cobol/genapi.cc:9130
+#: cobol/genapi.cc:9122
#, gcc-internal-format
msgid "parser_file_close called with NULL *file"
msgstr ""
-#: cobol/genapi.cc:9135
+#: cobol/genapi.cc:9127
#, gcc-internal-format, gfc-internal-format
msgid "parser_file_close for %s called with NULL file->var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9188
+#: cobol/genapi.cc:9180
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s 'where' is zero in %s"
msgstr ""
-#: cobol/genapi.cc:9198
+#: cobol/genapi.cc:9190
#, gcc-internal-format
msgid "parser_file_read called with NULL *file"
msgstr ""
-#: cobol/genapi.cc:9203
+#: cobol/genapi.cc:9195
#, gcc-internal-format, gfc-internal-format
msgid "parser_file_read for %s called with NULL file->var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9208
+#: cobol/genapi.cc:9200
#, gcc-internal-format
msgid "parser_file_read called with NULL *field"
msgstr ""
-#: cobol/genapi.cc:9213
+#: cobol/genapi.cc:9205
#, gcc-internal-format, gfc-internal-format
msgid "parser_file_read for %s called with NULL field->var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9218
+#: cobol/genapi.cc:9210
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s is RELATIVE/SEQUENTIAL, but 'where' >= 0"
msgstr ""
-#: cobol/genapi.cc:9227
+#: cobol/genapi.cc:9219
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s is RELATIVE/RANDOM, but 'where' < 0"
msgstr ""
-#: cobol/genapi.cc:9270
+#: cobol/genapi.cc:9262
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s 'sequentially' is %d in %s"
msgstr ""
-#: cobol/genapi.cc:9319
+#: cobol/genapi.cc:9311
#, gcc-internal-format, gfc-internal-format
msgid "%s(): for %s called with NULL file->var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9325
+#: cobol/genapi.cc:9317
#, gcc-internal-format, gfc-internal-format
msgid "%s(): called with NULL *field"
msgstr ""
-#: cobol/genapi.cc:9330
+#: cobol/genapi.cc:9322
#, gcc-internal-format, gfc-internal-format
msgid "%s(): for %s called with NULL field->var_decl_node"
msgstr ""
-#: cobol/genapi.cc:9465
+#: cobol/genapi.cc:9457
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d file %s is INDEXED/SEQUENTIAL, but 'sequentially' is false"
msgstr ""
-#: cobol/genapi.cc:11124
+#: cobol/genapi.cc:11122
#, gcc-internal-format, gfc-internal-format
msgid "%s(): asked to sort %s, but it's not a table"
msgstr ""
#. Having both or neither violates SORT syntax
-#: cobol/genapi.cc:11252
+#: cobol/genapi.cc:11250
#, gcc-internal-format, gfc-internal-format
msgid ""
"%s(): syntax error -- both (or neither) USING and input-proc are specified"
msgstr ""
-#: cobol/genapi.cc:11381
+#: cobol/genapi.cc:11379
#, gcc-internal-format, gfc-internal-format
msgid ""
"%s(): syntax error -- both (or neither) GIVING and output-proc are specified"
msgstr ""
-#: cobol/genapi.cc:11787
+#: cobol/genapi.cc:11786
#, gcc-internal-format, gfc-internal-format
msgid ""
"%s(): syntax error -- both (or neither) files and output-proc are specified"
msgstr ""
-#: cobol/genapi.cc:12188
+#: cobol/genapi.cc:12187
#, gcc-internal-format
msgid "CALL USING BY CONTENT <temporary> would require REPOSITORY PROTOTYPES."
msgstr ""
-#: cobol/genapi.cc:12440
+#: cobol/genapi.cc:12439
#, gcc-internal-format, gfc-internal-format
msgid "%s(): What in the name of Nero's fiddle are we doing here?"
msgstr ""
-#: cobol/genapi.cc:13949
+#: cobol/genapi.cc:13948
#, gcc-internal-format, gfc-internal-format
msgid ""
"In parser_move(%s to %s), the move of FldLiteralN to %s hasn't been "
"implemented"
msgstr ""
-#: cobol/genapi.cc:14185
+#: cobol/genapi.cc:14184
#, gcc-internal-format, gfc-internal-format
msgid ""
"In mh_dest_is_float(%s to %s), the move of %s to %s hasn't been implemented"
msgstr ""
-#: cobol/genapi.cc:16312
+#: cobol/genapi.cc:16279
#, gcc-internal-format, gfc-internal-format
msgid "LEVEL 01 (%s) OCCURS has insufficient data.memsize"
msgstr ""
-#: cobol/genapi.cc:16384
+#: cobol/genapi.cc:16351
#, gcc-internal-format
msgid "parser_symbol_add() was called with a NULL new_var\n"
msgstr ""
-#: cobol/genapi.cc:16412
+#: cobol/genapi.cc:16379
msgid "%s(): %2.2d %s is a table, but it improperly has a capacity of zero"
msgstr ""
-#: cobol/genapi.cc:16452
+#: cobol/genapi.cc:16419
#, gcc-internal-format, gfc-internal-format
msgid "parser_symbol_add(): %s is its own ancestor"
msgstr ""
-#: cobol/genapi.cc:16458
+#: cobol/genapi.cc:16425
msgid "parser_symbol_add(): %2.2d %s has null ancestor"
msgstr ""
-#: cobol/genapi.cc:16466
+#: cobol/genapi.cc:16433
#, gcc-internal-format, gfc-internal-format
msgid "parser_symbol_add( %s ) improperly has a non-null var_decl_node\n"
msgstr ""
-#: cobol/genapi.cc:16671
+#: cobol/genapi.cc:16638
msgid "%s(): %2.2d %s<%s> improperly has a data.capacity of zero"
msgstr ""
@@ -55833,26 +55834,26 @@ msgstr ""
msgid "Too many subscripts"
msgstr ""
-#: cobol/lexio.cc:1488
+#: cobol/lexio.cc:1490
#, gcc-internal-format, gfc-internal-format
msgid "%s pid %d terminated by %s"
msgstr ""
-#: cobol/lexio.cc:1493
+#: cobol/lexio.cc:1495
#, gcc-internal-format, gfc-internal-format
msgid "%s exited with status %d"
msgstr ""
-#: cobol/symbols.cc:456
+#: cobol/symbols.cc:450
msgid "%s:%d: LblNone '%s' has parent #%zu"
msgstr ""
-#: cobol/symbols.cc:1968
+#: cobol/symbols.cc:1907
#, gcc-internal-format, gfc-internal-format
msgid "%s: key must be field"
msgstr ""
-#: cobol/symbols.cc:3855 cobol/symbols.cc:3976 cobol/symbols.cc:4011
+#: cobol/symbols.cc:3709 cobol/symbols.cc:3816 cobol/symbols.cc:3846
#, gcc-internal-format, gfc-internal-format
msgid "%s:%d: could not add '%s'"
msgstr ""
@@ -55862,17 +55863,17 @@ msgstr ""
msgid "logic error: MOVE %s %s invalid type:"
msgstr ""
-#: cobol/util.cc:1726
+#: cobol/util.cc:1705
#, gcc-internal-format, gfc-internal-format
msgid "%s: regcomp: %s"
msgstr ""
-#: cobol/util.cc:1836
+#: cobol/util.cc:1815
#, gcc-internal-format, gfc-internal-format
msgid "logic error: missing inode for %s"
msgstr ""
-#: cobol/util.cc:2174
+#: cobol/util.cc:2141
#, gcc-internal-format, gfc-internal-format
msgid "failed compiling %s"
msgstr ""
@@ -56343,7 +56344,7 @@ msgstr ""
msgid "%q#D is private within this context"
msgstr ""
-#: cp/call.cc:8377 cp/decl.cc:9615
+#: cp/call.cc:8377 cp/decl.cc:9617
#, gcc-internal-format
msgid "declared private here"
msgstr ""
@@ -56353,7 +56354,7 @@ msgstr ""
msgid "%q#D is protected within this context"
msgstr ""
-#: cp/call.cc:8383 cp/decl.cc:9616
+#: cp/call.cc:8383 cp/decl.cc:9618
#, gcc-internal-format
msgid "declared protected here"
msgstr ""
@@ -56728,7 +56729,7 @@ msgstr ""
msgid "call to non-function %qD"
msgstr ""
-#: cp/call.cc:11947 cp/pt.cc:17448 cp/typeck.cc:3508
+#: cp/call.cc:11947 cp/pt.cc:17467 cp/typeck.cc:3508
#, gcc-internal-format
msgid "cannot call constructor %<%T::%D%> directly"
msgstr ""
@@ -57330,7 +57331,7 @@ msgstr ""
msgid "next member %q#D declared here"
msgstr ""
-#: cp/class.cc:7840 cp/decl.cc:18273 cp/parser.cc:28411
+#: cp/class.cc:7840 cp/decl.cc:18275 cp/parser.cc:28411
#, gcc-internal-format
msgid "redefinition of %q#T"
msgstr ""
@@ -57468,7 +57469,7 @@ msgstr ""
msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
msgstr ""
-#: cp/constexpr.cc:270 cp/decl.cc:15267
+#: cp/constexpr.cc:270 cp/decl.cc:15269
#, gcc-internal-format
msgid ""
"%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu+"
@@ -57481,134 +57482,139 @@ msgstr ""
msgid "invalid return type %qT of %<constexpr%> function %q+D"
msgstr ""
-#: cp/constexpr.cc:310
+#: cp/constexpr.cc:312
#, gcc-internal-format
-msgid "%q#T has virtual base classes"
+msgid "%<constexpr%> constructor in %q#T that has virtual base classes"
msgstr ""
-#: cp/constexpr.cc:568
+#: cp/constexpr.cc:315
+#, gcc-internal-format
+msgid "%<constexpr%> destructor in %q#T that has virtual base classes"
+msgstr ""
+
+#: cp/constexpr.cc:575
#, gcc-internal-format
msgid "%<constexpr%> constructor does not have empty body"
msgstr ""
-#: cp/constexpr.cc:826
+#: cp/constexpr.cc:833
#, gcc-internal-format
msgid ""
"%<constexpr%> constructor for union %qT must initialize exactly one non-"
"static data member"
msgstr ""
-#: cp/constexpr.cc:887
+#: cp/constexpr.cc:894
#, gcc-internal-format
msgid ""
"member %qD must be initialized by mem-initializer in %<constexpr%> "
"constructor"
msgstr ""
-#: cp/constexpr.cc:950
+#: cp/constexpr.cc:957
#, gcc-internal-format
msgid "body of %<constexpr%> function %qD not a return-statement"
msgstr ""
-#: cp/constexpr.cc:1069
+#: cp/constexpr.cc:1082
#, gcc-internal-format
msgid "%<-fimplicit-constexpr%> only affects %<inline%> functions"
msgstr ""
-#: cp/constexpr.cc:1085
+#: cp/constexpr.cc:1098
#, gcc-internal-format
msgid "%qD is not usable as a %<constexpr%> function because:"
msgstr ""
-#: cp/constexpr.cc:1339 cp/constexpr.cc:6558
+#: cp/constexpr.cc:1354 cp/constexpr.cc:6586
#, gcc-internal-format
msgid "destroying %qE outside its lifetime"
msgstr ""
-#: cp/constexpr.cc:1631 cp/constexpr.cc:3389
+#: cp/constexpr.cc:1644 cp/constexpr.cc:3402
#: rust/backend/rust-constexpr.cc:3329
#, gcc-internal-format
msgid "%<constexpr%> call flows off the end of the function"
msgstr ""
-#: cp/constexpr.cc:1633 cp/constexpr.cc:1732 cp/constexpr.cc:1741
-#: cp/constexpr.cc:3683 rust/backend/rust-constexpr.cc:3334
+#: cp/constexpr.cc:1646 cp/constexpr.cc:1745 cp/constexpr.cc:1754
+#: cp/constexpr.cc:3711 rust/backend/rust-constexpr.cc:3334
#: rust/backend/rust-constexpr.cc:3344 rust/backend/rust-constexpr.cc:4324
#, gcc-internal-format
msgid "%q+E is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:1891 cp/constexpr.cc:2790 cp/constexpr.cc:3077
-#: cp/constexpr.cc:10075 rust/backend/rust-constexpr.cc:5789
+#: cp/constexpr.cc:1904 cp/constexpr.cc:2803 cp/constexpr.cc:3086
+#: cp/constexpr.cc:10141 rust/backend/rust-constexpr.cc:5789
#, gcc-internal-format
msgid "call to non-%<constexpr%> function %qD"
msgstr ""
-#: cp/constexpr.cc:1938 cp/constexpr.cc:6116 cp/constexpr.cc:8564
+#: cp/constexpr.cc:1951 cp/constexpr.cc:6144 cp/constexpr.cc:8592
#: rust/backend/rust-constexpr.cc:875 rust/backend/rust-constexpr.cc:2494
#, gcc-internal-format
msgid "dereferencing a null pointer"
msgstr ""
-#: cp/constexpr.cc:2126
+#: cp/constexpr.cc:2139
#, gcc-internal-format
msgid "the comparison reduces to %qE"
msgstr ""
-#: cp/constexpr.cc:2129
+#: cp/constexpr.cc:2142
#, gcc-internal-format
msgid "%qE evaluates to false"
msgstr ""
-#: cp/constexpr.cc:2208
+#: cp/constexpr.cc:2221
#, gcc-internal-format
msgid "failed %<assume%> attribute assumption"
msgstr ""
-#: cp/constexpr.cc:2243 cp/constexpr.cc:10039
+#: cp/constexpr.cc:2256 cp/constexpr.cc:10105
#: rust/backend/rust-constexpr.cc:5758
#, gcc-internal-format
msgid "call to internal function %qE"
msgstr ""
-#: cp/constexpr.cc:2297 rust/backend/rust-constexpr.cc:2615
+#: cp/constexpr.cc:2310 rust/backend/rust-constexpr.cc:2615
#, gcc-internal-format
msgid "modifying a const object %qE is not allowed in a constant expression"
msgstr ""
-#: cp/constexpr.cc:2325 rust/backend/rust-constexpr.cc:2618
+#: cp/constexpr.cc:2338 rust/backend/rust-constexpr.cc:2618
#, gcc-internal-format
msgid "originally declared %<const%> here"
msgstr ""
-#: cp/constexpr.cc:2578 cp/constexpr.cc:2634 cp/constexpr.cc:2667
-#: cp/constexpr.cc:2689
+#: cp/constexpr.cc:2591 cp/constexpr.cc:2647 cp/constexpr.cc:2680
+#: cp/constexpr.cc:2702
#, gcc-internal-format
msgid "reference %<dynamic_cast%> failed"
msgstr ""
-#: cp/constexpr.cc:2579
+#: cp/constexpr.cc:2592
#, gcc-internal-format
msgid "dynamic type %qT of its operand does not have a base class of type %qT"
msgstr ""
-#: cp/constexpr.cc:2603
+#: cp/constexpr.cc:2616
#, gcc-internal-format
msgid "virtual table pointer is used uninitialized"
msgstr ""
-#: cp/constexpr.cc:2635 cp/constexpr.cc:2668
+#: cp/constexpr.cc:2648 cp/constexpr.cc:2681
#, gcc-internal-format
msgid ""
"static type %qT of its operand is a non-public base class of dynamic type %qT"
msgstr ""
-#: cp/constexpr.cc:2691
+#: cp/constexpr.cc:2704
#, gcc-internal-format
msgid "%qT is an ambiguous base class of dynamic type %qT of its operand"
msgstr ""
-#: cp/constexpr.cc:2694
+#: cp/constexpr.cc:2707
#, gcc-internal-format
msgid ""
"dynamic type %qT of its operand does not have an unambiguous public base "
@@ -57617,154 +57623,154 @@ msgstr ""
#. 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:2796
+#: cp/constexpr.cc:2809
#, gcc-internal-format
msgid "calling constexpr member function %qD through virtual base subobject"
msgstr ""
-#: cp/constexpr.cc:2908 rust/backend/rust-constexpr.cc:3390
+#: cp/constexpr.cc:2918 rust/backend/rust-constexpr.cc:3390
#, gcc-internal-format
msgid "expression %qE does not designate a %<constexpr%> function"
msgstr ""
-#: cp/constexpr.cc:2956
+#: cp/constexpr.cc:2965
#, gcc-internal-format
msgid "cannot allocate array: size not constant"
msgstr ""
-#: cp/constexpr.cc:2997
+#: cp/constexpr.cc:3006
#, gcc-internal-format
msgid "array deallocation of object allocated with non-array allocation"
msgstr ""
-#: cp/constexpr.cc:3001 cp/constexpr.cc:3024
+#: cp/constexpr.cc:3010 cp/constexpr.cc:3033
#, gcc-internal-format
msgid "allocation performed here"
msgstr ""
-#: cp/constexpr.cc:3020
+#: cp/constexpr.cc:3029
#, gcc-internal-format
msgid "non-array deallocation of object allocated with array allocation"
msgstr ""
-#: cp/constexpr.cc:3037
+#: cp/constexpr.cc:3046
#, gcc-internal-format
msgid "deallocation of already deallocated storage"
msgstr ""
-#: cp/constexpr.cc:3044
+#: cp/constexpr.cc:3053
#, gcc-internal-format
msgid "deallocation of storage that was not previously allocated"
msgstr ""
-#: cp/constexpr.cc:3170 rust/backend/rust-constexpr.cc:3445
+#: cp/constexpr.cc:3179 rust/backend/rust-constexpr.cc:3445
#, gcc-internal-format
msgid "%qD called in a constant expression before its definition is complete"
msgstr ""
-#: cp/constexpr.cc:3177
+#: cp/constexpr.cc:3186
#, gcc-internal-format
msgid "%qD called in a constant expression"
msgstr ""
-#: cp/constexpr.cc:3181 rust/backend/rust-constexpr.cc:3459
+#: cp/constexpr.cc:3190 rust/backend/rust-constexpr.cc:3459
#, gcc-internal-format
msgid "%qD used before its definition"
msgstr ""
-#: cp/constexpr.cc:3259 rust/backend/rust-constexpr.cc:3501
+#: cp/constexpr.cc:3272 rust/backend/rust-constexpr.cc:3501
#, gcc-internal-format
msgid "call has circular dependency"
msgstr ""
-#: cp/constexpr.cc:3270 rust/backend/rust-constexpr.cc:3512
+#: cp/constexpr.cc:3283 rust/backend/rust-constexpr.cc:3512
#, gcc-internal-format
msgid ""
"%<constexpr%> evaluation depth exceeds maximum of %d (use %<-fconstexpr-"
"depth=%> to increase the maximum)"
msgstr ""
-#: cp/constexpr.cc:3641
+#: cp/constexpr.cc:3669
#, gcc-internal-format
msgid "reference to %qD is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:3644
+#: cp/constexpr.cc:3672
#, gcc-internal-format
msgid "pointer to %qD is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:3650
+#: cp/constexpr.cc:3678
#, gcc-internal-format
msgid ""
"address of non-static constexpr variable %qD may differ on each invocation "
"of the enclosing function; add %<static%> to give it a constant address"
msgstr ""
-#: cp/constexpr.cc:3726
+#: cp/constexpr.cc:3754
#, gcc-internal-format
msgid "right operand of shift expression %q+E is negative"
msgstr ""
-#: cp/constexpr.cc:3733
+#: cp/constexpr.cc:3761
#, gcc-internal-format
msgid ""
"right operand of shift expression %q+E is greater than or equal to the "
"precision %wu of the left operand"
msgstr ""
-#: cp/constexpr.cc:3756
+#: cp/constexpr.cc:3784
#, gcc-internal-format
msgid "left operand of shift expression %q+E is negative"
msgstr ""
-#: cp/constexpr.cc:3775
+#: cp/constexpr.cc:3803
#, gcc-internal-format
msgid "shift expression %q+E overflows"
msgstr ""
-#: cp/constexpr.cc:3974
+#: cp/constexpr.cc:4002
#, gcc-internal-format
msgid "arithmetic involving a null pointer in %qE"
msgstr ""
-#: cp/constexpr.cc:4484 rust/backend/rust-constexpr.cc:4399
+#: cp/constexpr.cc:4512 rust/backend/rust-constexpr.cc:4399
#, gcc-internal-format
msgid ""
"array subscript value %qE is outside the bounds of array %qD of type %qT"
msgstr ""
-#: cp/constexpr.cc:4487 rust/backend/rust-constexpr.cc:4404
+#: cp/constexpr.cc:4515 rust/backend/rust-constexpr.cc:4404
#, gcc-internal-format
msgid ""
"nonzero array subscript %qE is used with array %qD of type %qT with unknown "
"bounds"
msgstr ""
-#: cp/constexpr.cc:4492 rust/backend/rust-constexpr.cc:4411
+#: cp/constexpr.cc:4520 rust/backend/rust-constexpr.cc:4411
#, gcc-internal-format
msgid "array subscript value %qE is outside the bounds of array type %qT"
msgstr ""
-#: cp/constexpr.cc:4495 rust/backend/rust-constexpr.cc:4416
+#: cp/constexpr.cc:4523 rust/backend/rust-constexpr.cc:4416
#, gcc-internal-format
msgid ""
"nonzero array subscript %qE is used with array of type %qT with unknown "
"bounds"
msgstr ""
-#: cp/constexpr.cc:4694 rust/backend/rust-constexpr.cc:1667
+#: cp/constexpr.cc:4722 rust/backend/rust-constexpr.cc:1667
#, gcc-internal-format
msgid "accessing uninitialized array element"
msgstr ""
-#: cp/constexpr.cc:4756 rust/backend/rust-constexpr.cc:1724
+#: cp/constexpr.cc:4784 rust/backend/rust-constexpr.cc:1724
#, gcc-internal-format
msgid "dereferencing a null pointer in %qE"
msgstr ""
-#: cp/constexpr.cc:4775 cp/constexpr.cc:4891 cp/constexpr.cc:4903
-#: cp/constexpr.cc:7739 cp/constexpr.cc:7870 cp/constexpr.cc:9989
+#: cp/constexpr.cc:4803 cp/constexpr.cc:4919 cp/constexpr.cc:4931
+#: cp/constexpr.cc:7767 cp/constexpr.cc:7898 cp/constexpr.cc:10055
#: rust/backend/rust-constexpr.cc:1738 rust/backend/rust-constexpr.cc:1983
#: rust/backend/rust-constexpr.cc:2225 rust/backend/rust-constexpr.cc:4743
#: rust/backend/rust-constexpr.cc:5712
@@ -57772,269 +57778,269 @@ msgstr ""
msgid "%qE is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:4783 rust/backend/rust-constexpr.cc:1744
+#: cp/constexpr.cc:4811 rust/backend/rust-constexpr.cc:1744
#, gcc-internal-format
msgid "mutable %qD is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.cc:4815 cp/constexpr.cc:4851 cp/constexpr.cc:6726
+#: cp/constexpr.cc:4843 cp/constexpr.cc:4879 cp/constexpr.cc:6754
#: rust/backend/rust-constexpr.cc:1774 rust/backend/rust-constexpr.cc:1797
#, gcc-internal-format
msgid "accessing uninitialized member %qD"
msgstr ""
-#: cp/constexpr.cc:4817 cp/constexpr.cc:4830 cp/constexpr.cc:6721
+#: cp/constexpr.cc:4845 cp/constexpr.cc:4858 cp/constexpr.cc:6749
#: rust/backend/rust-constexpr.cc:1776
#, gcc-internal-format
msgid ""
"accessing %qD member instead of initialized %qD member in constant expression"
msgstr ""
-#: cp/constexpr.cc:4969
+#: cp/constexpr.cc:4997
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a union type"
msgstr ""
-#: cp/constexpr.cc:4972
+#: cp/constexpr.cc:5000
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a union type"
msgstr ""
-#: cp/constexpr.cc:4983
+#: cp/constexpr.cc:5011
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a pointer type"
msgstr ""
-#: cp/constexpr.cc:4986
+#: cp/constexpr.cc:5014
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a pointer type"
msgstr ""
-#: cp/constexpr.cc:4997
+#: cp/constexpr.cc:5025
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a reference type"
msgstr ""
-#: cp/constexpr.cc:5000
+#: cp/constexpr.cc:5028
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a reference type"
msgstr ""
-#: cp/constexpr.cc:5011
+#: cp/constexpr.cc:5039
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT is a pointer to member type"
msgstr ""
-#: cp/constexpr.cc:5015
+#: cp/constexpr.cc:5043
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT contains a pointer to member "
"type"
msgstr ""
-#: cp/constexpr.cc:5026
+#: cp/constexpr.cc:5054
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is volatile"
msgstr ""
-#: cp/constexpr.cc:5029
+#: cp/constexpr.cc:5057
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT contains a volatile subobject"
msgstr ""
-#: cp/constexpr.cc:5184
+#: cp/constexpr.cc:5212
#, gcc-internal-format
msgid "%qs cannot be constant evaluated on the target"
msgstr ""
-#: cp/constexpr.cc:5193 cp/constexpr.cc:5203
+#: cp/constexpr.cc:5221 cp/constexpr.cc:5231
#, gcc-internal-format
msgid "%qs cannot be constant evaluated because the type is too large"
msgstr ""
-#: cp/constexpr.cc:5223
+#: cp/constexpr.cc:5251
#, gcc-internal-format
msgid "%qs cannot be constant evaluated because the argument cannot be encoded"
msgstr ""
-#: cp/constexpr.cc:5269
+#: cp/constexpr.cc:5297
#, gcc-internal-format
msgid "%qs accessing uninitialized byte at offset %d"
msgstr ""
-#: cp/constexpr.cc:5281
+#: cp/constexpr.cc:5309
#, gcc-internal-format
msgid ""
"%qs cannot be constant evaluated because the argument cannot be interpreted"
msgstr ""
-#: cp/constexpr.cc:6136 rust/backend/rust-constexpr.cc:895
+#: cp/constexpr.cc:6164 rust/backend/rust-constexpr.cc:895
#, gcc-internal-format
msgid "accessing value of %qE through a %qT glvalue in a constant expression"
msgstr ""
#. Provide a more accurate message for deleted variables.
-#: cp/constexpr.cc:6176 cp/constexpr.cc:6209
+#: cp/constexpr.cc:6204 cp/constexpr.cc:6237
#, gcc-internal-format
msgid "use of allocated storage after deallocation in a constant expression"
msgstr ""
-#: cp/constexpr.cc:6178 cp/constexpr.cc:6204 cp/constexpr.cc:6211
-#: cp/constexpr.cc:6553
+#: cp/constexpr.cc:6206 cp/constexpr.cc:6232 cp/constexpr.cc:6239
+#: cp/constexpr.cc:6581 cp/constexpr.cc:9260 cp/constexpr.cc:9273
#, gcc-internal-format
msgid "allocated here"
msgstr ""
-#: cp/constexpr.cc:6182
+#: cp/constexpr.cc:6210
#, gcc-internal-format
msgid "accessing %qE outside its lifetime"
msgstr ""
-#: cp/constexpr.cc:6202
+#: cp/constexpr.cc:6230
#, gcc-internal-format
msgid ""
"the content of uninitialized storage is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.cc:6214 rust/backend/rust-constexpr.cc:4041
+#: cp/constexpr.cc:6242 rust/backend/rust-constexpr.cc:4041
#, gcc-internal-format
msgid "the value of %qD is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.cc:6222
+#: cp/constexpr.cc:6250
#, gcc-internal-format
msgid "%qD used in its own initializer"
msgstr ""
-#: cp/constexpr.cc:6227
+#: cp/constexpr.cc:6255
#, gcc-internal-format
msgid "%q#D is not const"
msgstr ""
-#: cp/constexpr.cc:6230
+#: cp/constexpr.cc:6258
#, gcc-internal-format
msgid "%q#D is volatile"
msgstr ""
-#: cp/constexpr.cc:6235 cp/constexpr.cc:6242
+#: cp/constexpr.cc:6263 cp/constexpr.cc:6270
#, gcc-internal-format
msgid "%qD was not initialized with a constant expression"
msgstr ""
-#: cp/constexpr.cc:6248
+#: cp/constexpr.cc:6276
#, gcc-internal-format
msgid "%qD was not declared %<constexpr%>"
msgstr ""
-#: cp/constexpr.cc:6251
+#: cp/constexpr.cc:6279
#, gcc-internal-format
msgid "%qD does not have integral or enumeration type"
msgstr ""
-#: cp/constexpr.cc:6551
+#: cp/constexpr.cc:6579
#, gcc-internal-format
msgid ""
"modification of allocated storage after deallocation is not a constant "
"expression"
msgstr ""
-#: cp/constexpr.cc:6560
+#: cp/constexpr.cc:6588
#, gcc-internal-format
msgid "modification of %qE outside its lifetime is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:6567
+#: cp/constexpr.cc:6595
#, gcc-internal-format
msgid ""
"destroying %qE from outside current evaluation is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:6570
+#: cp/constexpr.cc:6598
#, gcc-internal-format
msgid ""
"modification of %qE from outside current evaluation is not a constant "
"expression"
msgstr ""
-#: cp/constexpr.cc:6701
+#: cp/constexpr.cc:6729
#, gcc-internal-format
msgid ""
"change of the active member of a union from %qD to %qD is not a constant "
"expression before C++20"
msgstr ""
-#: cp/constexpr.cc:6730
+#: cp/constexpr.cc:6758
#, gcc-internal-format
msgid ""
"%qD does not implicitly begin its lifetime because %qT does not have a non-"
"deleted trivial default constructor, use %<std::construct_at%> instead"
msgstr ""
-#: cp/constexpr.cc:6737
+#: cp/constexpr.cc:6765
#, gcc-internal-format
msgid ""
"initializing %qD requires a member access expression as the left operand of "
"the assignment"
msgstr ""
-#: cp/constexpr.cc:6749 rust/backend/rust-constexpr.cc:2820
+#: cp/constexpr.cc:6777 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:7201 cp/constexpr.cc:8906 cp/constexpr.cc:8918
+#: cp/constexpr.cc:7229 cp/constexpr.cc:8934 cp/constexpr.cc:8946
#: rust/backend/rust-constexpr.cc:4668
#, gcc-internal-format
msgid "statement is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:7408 rust/backend/rust-constexpr.cc:4933
+#: cp/constexpr.cc:7436 rust/backend/rust-constexpr.cc:4933
#, gcc-internal-format
msgid ""
"%<constexpr%> loop iteration count exceeds limit of %d (use %<-fconstexpr-"
"loop-limit=%> to increase the limit)"
msgstr ""
-#: cp/constexpr.cc:7517 rust/backend/rust-constexpr.cc:999
+#: cp/constexpr.cc:7545 rust/backend/rust-constexpr.cc:999
#, gcc-internal-format
msgid "inline assembly is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:7519 rust/backend/rust-constexpr.cc:1000
+#: cp/constexpr.cc:7547 rust/backend/rust-constexpr.cc:1000
#, gcc-internal-format
msgid ""
"only unevaluated inline assembly is allowed in a %<constexpr%> function in C+"
"+20"
msgstr ""
-#: cp/constexpr.cc:7538
+#: cp/constexpr.cc:7566
#, gcc-internal-format
msgid "use of %qD"
msgstr ""
-#: cp/constexpr.cc:7542
+#: cp/constexpr.cc:7570
#, gcc-internal-format
msgid ""
"its value can vary between compiler versions or with different %<-mtune%> or "
"%<-mcpu%> flags"
msgstr ""
-#: cp/constexpr.cc:7544
+#: cp/constexpr.cc:7572
#, 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:7546
+#: cp/constexpr.cc:7574
#, gcc-internal-format, gfc-internal-format
msgid "the default value for the current CPU tuning is %d bytes"
msgstr ""
-#: cp/constexpr.cc:7548
+#: cp/constexpr.cc:7576
#, gcc-internal-format
msgid ""
"you can stabilize this value with %<--param "
@@ -58042,239 +58048,234 @@ msgid ""
"Wno-interference-size%>"
msgstr ""
-#: cp/constexpr.cc:7701
+#: cp/constexpr.cc:7729
#, gcc-internal-format
msgid "value %qE of type %qT is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:7714
+#: cp/constexpr.cc:7742
#, gcc-internal-format
msgid ""
"%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-"
"fconstexpr-ops-limit=%> to increase the limit)"
msgstr ""
-#: cp/constexpr.cc:7900
+#: cp/constexpr.cc:7928
#, gcc-internal-format
msgid "control passes through definition of %qD with thread storage duration"
msgstr ""
-#: cp/constexpr.cc:7903
+#: cp/constexpr.cc:7931
#, gcc-internal-format
msgid "control passes through definition of %qD with static storage duration"
msgstr ""
-#: cp/constexpr.cc:7968 cp/constexpr.cc:10700
+#: cp/constexpr.cc:7996 cp/constexpr.cc:10751
#: rust/backend/rust-constexpr.cc:2056 rust/backend/rust-constexpr.cc:6206
#, gcc-internal-format
msgid "temporary of non-literal type %qT in a constant expression"
msgstr ""
-#: cp/constexpr.cc:8426 cp/constexpr.cc:10190
+#: cp/constexpr.cc:8454 cp/constexpr.cc:10256
#, gcc-internal-format
msgid "%<reinterpret_cast%> is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:8457 rust/backend/rust-constexpr.cc:2461
+#: cp/constexpr.cc:8485 rust/backend/rust-constexpr.cc:2461
#, gcc-internal-format
msgid ""
"conversion from pointer type %qT to arithmetic type %qT in a constant "
"expression"
msgstr ""
-#: cp/constexpr.cc:8509
+#: cp/constexpr.cc:8537
#, gcc-internal-format
msgid ""
"cast from %qT is not allowed in a constant expression because pointed-to "
"type %qT is not similar to %qT"
msgstr ""
-#: cp/constexpr.cc:8519
+#: cp/constexpr.cc:8547
#, gcc-internal-format
msgid "pointed-to object declared here"
msgstr ""
-#: cp/constexpr.cc:8527
+#: cp/constexpr.cc:8555
#, gcc-internal-format
msgid "cast from %qT is not allowed in a constant expression before C++26"
msgstr ""
-#: cp/constexpr.cc:8541
+#: cp/constexpr.cc:8569
#, gcc-internal-format
msgid "%qE is not a constant expression when the class %qT is still incomplete"
msgstr ""
-#: cp/constexpr.cc:8581 rust/backend/rust-constexpr.cc:2506
+#: cp/constexpr.cc:8609 rust/backend/rust-constexpr.cc:2506
#, gcc-internal-format
msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:8719 cp/constexpr.cc:10512 cp/constexpr.cc:10923
+#: cp/constexpr.cc:8747 cp/constexpr.cc:10563 cp/constexpr.cc:10974
#: rust/backend/rust-constexpr.cc:6100 rust/backend/rust-constexpr.cc:6415
#, gcc-internal-format
msgid "expression %qE is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:8763 cp/constexpr.cc:10964
+#: cp/constexpr.cc:8791 cp/constexpr.cc:11015
#, gcc-internal-format
msgid "%<goto%> is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:8821
+#: cp/constexpr.cc:8849
#, gcc-internal-format
msgid "contract predicate is false in constant expression"
msgstr ""
-#: cp/constexpr.cc:8856
+#: cp/constexpr.cc:8884
#, gcc-internal-format
msgid "address of a call to %qs is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:8921
+#: cp/constexpr.cc:8949
#, gcc-internal-format
msgid "unexpected expression %qE of kind %s"
msgstr ""
-#: cp/constexpr.cc:9211 rust/backend/rust-constexpr.cc:5158
+#: cp/constexpr.cc:9243 rust/backend/rust-constexpr.cc:5158
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it refers to mutable subobjects of "
"%qT"
msgstr ""
-#: cp/constexpr.cc:9219 rust/backend/rust-constexpr.cc:5167
-#, gcc-internal-format
-msgid ""
-"%qE is not a constant expression because it refers to an incompletely "
-"initialized variable"
-msgstr ""
-
-#: cp/constexpr.cc:9235 rust/backend/rust-constexpr.cc:5183
+#: cp/constexpr.cc:9258 rust/backend/rust-constexpr.cc:5183
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it refers to a result of %<operator "
"new%>"
msgstr ""
-#: cp/constexpr.cc:9246 rust/backend/rust-constexpr.cc:5195
+#: cp/constexpr.cc:9271 rust/backend/rust-constexpr.cc:5195
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because allocated storage has not been "
"deallocated"
msgstr ""
-#: cp/constexpr.cc:9266 rust/backend/rust-constexpr.cc:5213
+#: cp/constexpr.cc:9293 rust/backend/rust-constexpr.cc:5213
#, gcc-internal-format
msgid "immediate evaluation returns address of immediate function %qD"
msgstr ""
-#: cp/constexpr.cc:9270
+#: cp/constexpr.cc:9297
#, gcc-internal-format
msgid "constant evaluation returns address of immediate function %qD"
msgstr ""
-#: cp/constexpr.cc:9305
+#: cp/constexpr.cc:9313 rust/backend/rust-constexpr.cc:5167
+#, gcc-internal-format
+msgid ""
+"%qE is not a constant expression because it refers to an incompletely "
+"initialized variable"
+msgstr ""
+
+#: cp/constexpr.cc:9351
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it initializes a %qT rather than %qT"
msgstr ""
-#: cp/constexpr.cc:9926 rust/backend/rust-constexpr.cc:5667
+#: cp/constexpr.cc:9992 rust/backend/rust-constexpr.cc:5667
#, gcc-internal-format
msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT"
msgstr ""
-#: cp/constexpr.cc:10155
+#: cp/constexpr.cc:10221
#, gcc-internal-format
msgid "lambda capture of %qE is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:10158
+#: cp/constexpr.cc:10224
#, gcc-internal-format
msgid "because it is used as a glvalue"
msgstr ""
-#: cp/constexpr.cc:10214 rust/backend/rust-constexpr.cc:5893
+#: cp/constexpr.cc:10280 rust/backend/rust-constexpr.cc:5893
#, gcc-internal-format
msgid "%<reinterpret_cast%> from integer to pointer"
msgstr ""
-#: cp/constexpr.cc:10248 rust/backend/rust-constexpr.cc:5921
+#: cp/constexpr.cc:10314 rust/backend/rust-constexpr.cc:5921
#, gcc-internal-format
msgid ""
"address-of an object %qE with thread local or automatic storage is not a "
"constant expression"
msgstr ""
-#: cp/constexpr.cc:10290
-#, gcc-internal-format
-msgid "use of %<this%> in a constant expression"
-msgstr ""
-
-#: cp/constexpr.cc:10447
+#: cp/constexpr.cc:10498
#, gcc-internal-format
msgid "lambda-expression is not a constant expression before C++17"
msgstr ""
-#: cp/constexpr.cc:10459
+#: cp/constexpr.cc:10510
#, gcc-internal-format
msgid "new-expression is not a constant expression before C++20"
msgstr ""
-#: cp/constexpr.cc:10526
+#: cp/constexpr.cc:10577
#, gcc-internal-format
msgid "virtual functions cannot be %<constexpr%> before C++20"
msgstr ""
-#: cp/constexpr.cc:10542
+#: cp/constexpr.cc:10593
#, gcc-internal-format
msgid ""
"%<typeid%> is not a constant expression because %qE is of polymorphic type"
msgstr ""
-#: cp/constexpr.cc:10606
+#: cp/constexpr.cc:10657
#, gcc-internal-format
msgid "cast to non-integral type %qT in a constant expression"
msgstr ""
-#: cp/constexpr.cc:10664
+#: cp/constexpr.cc:10715
#, gcc-internal-format
msgid "%qD defined %<thread_local%> in %<constexpr%> context"
msgstr ""
-#: cp/constexpr.cc:10672
+#: cp/constexpr.cc:10723
#, gcc-internal-format
msgid "%qD defined %<static%> in %<constexpr%> context"
msgstr ""
-#: cp/constexpr.cc:10750 rust/backend/rust-constexpr.cc:6251
+#: cp/constexpr.cc:10801 rust/backend/rust-constexpr.cc:6251
#, gcc-internal-format
msgid "division by zero is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:10851 rust/backend/rust-constexpr.cc:6349
+#: cp/constexpr.cc:10902 rust/backend/rust-constexpr.cc:6349
#, gcc-internal-format
msgid "%<delete[]%> is not a constant expression"
msgstr ""
-#: cp/constexpr.cc:10920
+#: cp/constexpr.cc:10971
#, gcc-internal-format
msgid "neither branch of %<if%> is a constant expression"
msgstr ""
-#: cp/constexpr.cc:10933
+#: cp/constexpr.cc:10984
#, gcc-internal-format
msgid "non-constant array initialization"
msgstr ""
-#: cp/constexpr.cc:10981
+#: cp/constexpr.cc:11032
#, gcc-internal-format
msgid ""
"label definition in %<constexpr%> function only available with %<-std=c+"
"+23%> or %<-std=gnu++23%>"
msgstr ""
-#: cp/constexpr.cc:11017 rust/backend/rust-constexpr.cc:6438
+#: cp/constexpr.cc:11068 rust/backend/rust-constexpr.cc:6438
#, gcc-internal-format, gfc-internal-format
msgid "unexpected AST of kind %s"
msgstr ""
@@ -58396,316 +58397,316 @@ msgstr ""
msgid "the operand %qE is unsatisfied because"
msgstr ""
-#: cp/constraint.cc:3042
+#: cp/constraint.cc:3044
#, gcc-internal-format
msgid " %qT is not nothrow copy assignable"
msgstr ""
-#: cp/constraint.cc:3045 cp/constraint.cc:3139
+#: cp/constraint.cc:3047 cp/constraint.cc:3141
#, gcc-internal-format
msgid " %qT is not nothrow default constructible"
msgstr ""
-#: cp/constraint.cc:3048
+#: cp/constraint.cc:3050
#, gcc-internal-format
msgid " %qT is not nothrow copy constructible"
msgstr ""
-#: cp/constraint.cc:3051
+#: cp/constraint.cc:3053
#, gcc-internal-format
msgid " %qT is not trivially copy assignable"
msgstr ""
-#: cp/constraint.cc:3054 cp/constraint.cc:3188
+#: cp/constraint.cc:3056 cp/constraint.cc:3190
#, gcc-internal-format
msgid " %qT is not trivially default constructible"
msgstr ""
-#: cp/constraint.cc:3057
+#: cp/constraint.cc:3059
#, gcc-internal-format
msgid " %qT is not trivially copy constructible"
msgstr ""
-#: cp/constraint.cc:3060
+#: cp/constraint.cc:3062
#, gcc-internal-format
msgid " %qT is not trivially destructible"
msgstr ""
-#: cp/constraint.cc:3063
+#: cp/constraint.cc:3065
#, gcc-internal-format
msgid " %qT does not have unique object representations"
msgstr ""
-#: cp/constraint.cc:3066
+#: cp/constraint.cc:3068
#, gcc-internal-format
msgid " %qT does not have a virtual destructor"
msgstr ""
-#: cp/constraint.cc:3069
+#: cp/constraint.cc:3071
#, gcc-internal-format
msgid " %qT is not an abstract class"
msgstr ""
-#: cp/constraint.cc:3072
+#: cp/constraint.cc:3074
#, gcc-internal-format
msgid " %qT is not an aggregate"
msgstr ""
-#: cp/constraint.cc:3075
+#: cp/constraint.cc:3077
#, gcc-internal-format
msgid " %qT is not an array"
msgstr ""
-#: cp/constraint.cc:3078
+#: cp/constraint.cc:3080
#, gcc-internal-format
msgid " %qT is not assignable from %qT"
msgstr ""
-#: cp/constraint.cc:3081
+#: cp/constraint.cc:3083
#, gcc-internal-format
msgid " %qT is not a base of %qT"
msgstr ""
-#: cp/constraint.cc:3084
+#: cp/constraint.cc:3086
#, gcc-internal-format
msgid " %qT is not a bounded array"
msgstr ""
-#: cp/constraint.cc:3087
+#: cp/constraint.cc:3089
#, gcc-internal-format
msgid " %qT is not a class"
msgstr ""
-#: cp/constraint.cc:3090
+#: cp/constraint.cc:3092
#, gcc-internal-format
msgid " %qT is not a const type"
msgstr ""
-#: cp/constraint.cc:3094
+#: cp/constraint.cc:3096
#, gcc-internal-format
msgid " %qT is not default constructible"
msgstr ""
-#: cp/constraint.cc:3096
+#: cp/constraint.cc:3098
#, gcc-internal-format
msgid " %qT is not constructible from %qE"
msgstr ""
-#: cp/constraint.cc:3099
+#: cp/constraint.cc:3101
#, gcc-internal-format
msgid " %qT is not convertible from %qE"
msgstr ""
-#: cp/constraint.cc:3102
+#: cp/constraint.cc:3104
#, gcc-internal-format
msgid " %qT is not an empty class"
msgstr ""
-#: cp/constraint.cc:3105
+#: cp/constraint.cc:3107
#, gcc-internal-format
msgid " %qT is not an enum"
msgstr ""
-#: cp/constraint.cc:3108
+#: cp/constraint.cc:3110
#, gcc-internal-format
msgid " %qT is not a final class"
msgstr ""
-#: cp/constraint.cc:3111
+#: cp/constraint.cc:3113
#, gcc-internal-format
msgid " %qT is not a function"
msgstr ""
-#: cp/constraint.cc:3115
+#: cp/constraint.cc:3117
#, gcc-internal-format
msgid " %qT is not invocable"
msgstr ""
-#: cp/constraint.cc:3117
+#: cp/constraint.cc:3119
#, gcc-internal-format
msgid " %qT is not invocable by %qE"
msgstr ""
-#: cp/constraint.cc:3120
+#: cp/constraint.cc:3122
#, gcc-internal-format
msgid " %qT is not layout compatible with %qT"
msgstr ""
-#: cp/constraint.cc:3123
+#: cp/constraint.cc:3125
#, gcc-internal-format
msgid " %qT is not a literal type"
msgstr ""
-#: cp/constraint.cc:3126
+#: cp/constraint.cc:3128
#, gcc-internal-format
msgid " %qT is not a member function pointer"
msgstr ""
-#: cp/constraint.cc:3129
+#: cp/constraint.cc:3131
#, gcc-internal-format
msgid " %qT is not a member object pointer"
msgstr ""
-#: cp/constraint.cc:3132
+#: cp/constraint.cc:3134
#, gcc-internal-format
msgid " %qT is not a member pointer"
msgstr ""
-#: cp/constraint.cc:3135
+#: cp/constraint.cc:3137
#, gcc-internal-format
msgid " %qT is not nothrow assignable from %qT"
msgstr ""
-#: cp/constraint.cc:3141
+#: cp/constraint.cc:3143
#, gcc-internal-format
msgid " %qT is not nothrow constructible from %qE"
msgstr ""
-#: cp/constraint.cc:3144
+#: cp/constraint.cc:3146
#, gcc-internal-format
msgid " %qT is not nothrow convertible from %qE"
msgstr ""
-#: cp/constraint.cc:3148
+#: cp/constraint.cc:3150
#, gcc-internal-format
msgid " %qT is not nothrow invocable"
msgstr ""
-#: cp/constraint.cc:3150
+#: cp/constraint.cc:3152
#, gcc-internal-format
msgid " %qT is not nothrow invocable by %qE"
msgstr ""
-#: cp/constraint.cc:3153
+#: cp/constraint.cc:3155
#, gcc-internal-format
msgid " %qT is not an object type"
msgstr ""
-#: cp/constraint.cc:3156
+#: cp/constraint.cc:3158
#, gcc-internal-format
msgid " %qT is not pointer-interconvertible base of %qT"
msgstr ""
-#: cp/constraint.cc:3160
+#: cp/constraint.cc:3162
#, gcc-internal-format
msgid " %qT is not a POD type"
msgstr ""
-#: cp/constraint.cc:3163
+#: cp/constraint.cc:3165
#, gcc-internal-format
msgid " %qT is not a pointer"
msgstr ""
-#: cp/constraint.cc:3166
+#: cp/constraint.cc:3168
#, gcc-internal-format
msgid " %qT is not a polymorphic type"
msgstr ""
-#: cp/constraint.cc:3169
+#: cp/constraint.cc:3171
#, gcc-internal-format
msgid " %qT is not a reference"
msgstr ""
-#: cp/constraint.cc:3172
+#: cp/constraint.cc:3174
#, gcc-internal-format
msgid " %qT is not the same as %qT"
msgstr ""
-#: cp/constraint.cc:3175
+#: cp/constraint.cc:3177
#, gcc-internal-format
msgid " %qT is not a scoped enum"
msgstr ""
-#: cp/constraint.cc:3178
+#: cp/constraint.cc:3180
#, gcc-internal-format
msgid " %qT is not an standard layout type"
msgstr ""
-#: cp/constraint.cc:3181
+#: cp/constraint.cc:3183
#, gcc-internal-format
msgid " %qT is not a trivial type"
msgstr ""
-#: cp/constraint.cc:3184
+#: cp/constraint.cc:3186
#, gcc-internal-format
msgid " %qT is not trivially assignable from %qT"
msgstr ""
-#: cp/constraint.cc:3190
+#: cp/constraint.cc:3192
#, gcc-internal-format
msgid " %qT is not trivially constructible from %qE"
msgstr ""
-#: cp/constraint.cc:3193
+#: cp/constraint.cc:3195
#, gcc-internal-format
msgid " %qT is not trivially copyable"
msgstr ""
-#: cp/constraint.cc:3196
+#: cp/constraint.cc:3198
#, gcc-internal-format
msgid " %qT is not an unbounded array"
msgstr ""
-#: cp/constraint.cc:3199
+#: cp/constraint.cc:3201
#, gcc-internal-format
msgid " %qT is not a union"
msgstr ""
-#: cp/constraint.cc:3202
+#: cp/constraint.cc:3204
#, gcc-internal-format
msgid " %qT is not a virtual base of %qT"
msgstr ""
-#: cp/constraint.cc:3205
+#: cp/constraint.cc:3207
#, gcc-internal-format
msgid " %qT is not a volatile type"
msgstr ""
-#: cp/constraint.cc:3208
+#: cp/constraint.cc:3210
#, gcc-internal-format
msgid " %qT cannot yield a rank"
msgstr ""
-#: cp/constraint.cc:3211
+#: cp/constraint.cc:3213
#, gcc-internal-format
msgid ""
" %qT is not a reference that binds to a temporary object of type %qT "
"(direct-initialization)"
msgstr ""
-#: cp/constraint.cc:3215
+#: cp/constraint.cc:3217
#, gcc-internal-format
msgid ""
" %qT is not a reference that binds to a temporary object of type %qT (copy-"
"initialization)"
msgstr ""
-#: cp/constraint.cc:3219
+#: cp/constraint.cc:3221
#, gcc-internal-format
msgid " %qD is not deducible from %qT"
msgstr ""
-#: cp/constraint.cc:3246
+#: cp/constraint.cc:3248
#, gcc-internal-format
msgid "invalid constraints"
msgstr ""
-#: cp/constraint.cc:3271
+#: cp/constraint.cc:3273
#, gcc-internal-format
msgid "constraint %qE has type %qT, not %<bool%>"
msgstr ""
-#: cp/constraint.cc:3274
+#: cp/constraint.cc:3276
#, gcc-internal-format
msgid "the expression %qE evaluated to %<false%>"
msgstr ""
-#: cp/constraint.cc:3325
+#: cp/constraint.cc:3327
#, gcc-internal-format
msgid "constraints not satisfied"
msgstr ""
-#: cp/constraint.cc:3342
+#: cp/constraint.cc:3344
#, gcc-internal-format
msgid "set %qs to at least %d for more detail"
msgstr ""
@@ -58813,58 +58814,58 @@ msgstr ""
msgid "function does not return a value to test"
msgstr ""
-#: cp/contracts.cc:1139
+#: cp/contracts.cc:1143
#, gcc-internal-format
msgid "mismatched contract attribute in declaration"
msgstr ""
-#: cp/contracts.cc:1141 cp/contracts.cc:1172
+#: cp/contracts.cc:1145 cp/contracts.cc:1176
#, gcc-internal-format
msgid "previous contract here"
msgstr ""
-#: cp/contracts.cc:1169
+#: cp/contracts.cc:1173
#, gcc-internal-format
msgid "mismatched contract condition in declaration"
msgstr ""
-#: cp/contracts.cc:1212
+#: cp/contracts.cc:1216
#, gcc-internal-format
msgid ""
"declaration has a different number of contracts than previously declared"
msgstr ""
-#: cp/contracts.cc:1218
+#: cp/contracts.cc:1222
#, gcc-internal-format
msgid "original declaration with fewer contracts here"
msgstr ""
-#: cp/contracts.cc:1964
+#: cp/contracts.cc:1968
#, gcc-internal-format
msgid "contracts must appertain to a function type"
msgstr ""
-#: cp/contracts.cc:2261
+#: cp/contracts.cc:2265
#, gcc-internal-format
msgid "cannot add contracts after definition"
msgstr ""
-#: cp/contracts.cc:2262
+#: cp/contracts.cc:2266
#, gcc-internal-format
msgid "original definition here"
msgstr ""
-#: cp/contracts.cc:2270
+#: cp/contracts.cc:2274
#, gcc-internal-format
msgid "cannot add contracts to a virtual function"
msgstr ""
-#: cp/contracts.cc:2271
+#: cp/contracts.cc:2275
#, gcc-internal-format
msgid "original declaration here"
msgstr ""
-#: cp/contracts.cc:2281
+#: cp/contracts.cc:2285
#, gcc-internal-format
msgid "declaration adds contracts to %q#D"
msgstr ""
@@ -58936,7 +58937,7 @@ msgstr ""
msgid "%<return_void%> declared here"
msgstr ""
-#: cp/coroutines.cc:919 cp/coroutines.cc:997 cp/coroutines.cc:4553
+#: cp/coroutines.cc:919 cp/coroutines.cc:997 cp/coroutines.cc:4536
#, gcc-internal-format
msgid "no member named %qE in %qT"
msgstr ""
@@ -59025,39 +59026,39 @@ msgstr ""
msgid "the direction argument to %<__builtin_coro_promise%> must be a constant"
msgstr ""
-#: cp/coroutines.cc:2267
+#: cp/coroutines.cc:2252
#, gcc-internal-format
msgid "no suspend point info for %qD"
msgstr ""
-#: cp/coroutines.cc:2829
+#: cp/coroutines.cc:2812
#, gcc-internal-format
msgid "duplicate info for %qE"
msgstr ""
-#: cp/coroutines.cc:3958
+#: cp/coroutines.cc:3941
#, gcc-internal-format
msgid "await expressions are not permitted in handlers"
msgstr ""
-#: cp/coroutines.cc:4183
+#: cp/coroutines.cc:4166
#, gcc-internal-format
msgid "variable length arrays are not yet supported in coroutines"
msgstr ""
-#: cp/coroutines.cc:4701
+#: cp/coroutines.cc:4684
#, gcc-internal-format
msgid ""
"%qE is provided by %qT but is not usable with the function signature %qD"
msgstr ""
-#: cp/coroutines.cc:4708
+#: cp/coroutines.cc:4691
#, gcc-internal-format
msgid ""
"%qE is provided by %qT but %qE is not marked %<throw()%> or %<noexcept%>"
msgstr ""
-#: cp/coroutines.cc:4713
+#: cp/coroutines.cc:4696
#, gcc-internal-format
msgid ""
"%qE is marked %<throw()%> or %<noexcept%> but no usable "
@@ -59065,17 +59066,17 @@ msgid ""
msgstr ""
#. Something is seriously wrong, punt.
-#: cp/coroutines.cc:4744
+#: cp/coroutines.cc:4727
#, gcc-internal-format
msgid "%qE is provided by %qT but %<std::nothrow%> cannot be found"
msgstr ""
-#: cp/coroutines.cc:4840
+#: cp/coroutines.cc:4823
#, gcc-internal-format
msgid "%qE is provided by %qT but is not usable with the function %qD"
msgstr ""
-#: cp/coroutines.cc:5146
+#: cp/coroutines.cc:5129
#, gcc-internal-format
msgid ""
"no viable conversion from %<void%> provided by %<get_return_object%> to "
@@ -59104,65 +59105,65 @@ msgstr ""
msgid "taking address of an immediate function %qD"
msgstr ""
-#: cp/cp-gimplify.cc:1315
+#: cp/cp-gimplify.cc:1318
#, gcc-internal-format
msgid "call to consteval function %qE is not a constant expression"
msgstr ""
-#: cp/cp-gimplify.cc:2045
+#: cp/cp-gimplify.cc:2050
#, gcc-internal-format
msgid "%<throw%> will always call %<terminate%>"
msgstr ""
-#: cp/cp-gimplify.cc:2048
+#: cp/cp-gimplify.cc:2053
#, gcc-internal-format
msgid "in C++11 destructors default to %<noexcept%>"
msgstr ""
-#: cp/cp-gimplify.cc:2060
+#: cp/cp-gimplify.cc:2065
#, gcc-internal-format
msgid ""
"in C++11 this %<throw%> will call %<terminate%> because destructors default "
"to %<noexcept%>"
msgstr ""
-#: cp/cp-gimplify.cc:3645
+#: cp/cp-gimplify.cc:3650
#, gcc-internal-format
msgid "ignoring attribute %qE after earlier %qE"
msgstr ""
-#: cp/cp-gimplify.cc:3688
+#: cp/cp-gimplify.cc:3693
#, gcc-internal-format
msgid "pack expansion of %qE attribute"
msgstr ""
-#: cp/cp-gimplify.cc:3691
+#: cp/cp-gimplify.cc:3696
#, gcc-internal-format
msgid "use fold expression in the attribute argument instead"
msgstr ""
-#: cp/cp-gimplify.cc:3730 cp/cp-gimplify.cc:3742 cp/decl.cc:4511
+#: cp/cp-gimplify.cc:3735 cp/cp-gimplify.cc:3747 cp/decl.cc:4511
#: cp/method.cc:990
#, gcc-internal-format
msgid "%qD is not a type"
msgstr ""
-#: cp/cp-gimplify.cc:3748
+#: cp/cp-gimplify.cc:3753
#, gcc-internal-format
msgid "%qD is not a class type"
msgstr ""
-#: cp/cp-gimplify.cc:3765
+#: cp/cp-gimplify.cc:3770
#, gcc-internal-format
msgid "%qD does not have %<const char *%> type"
msgstr ""
-#: cp/cp-gimplify.cc:3775
+#: cp/cp-gimplify.cc:3780
#, gcc-internal-format
msgid "%qD does not have integral type"
msgstr ""
-#: cp/cp-gimplify.cc:3787
+#: cp/cp-gimplify.cc:3792
#, gcc-internal-format
msgid ""
"%<std::source_location::__impl%> does not contain only non-static data "
@@ -59655,7 +59656,7 @@ msgstr ""
msgid "redeclaration %qD differs in %qs from previous declaration"
msgstr ""
-#: cp/decl.cc:1492 cp/decl.cc:17249
+#: cp/decl.cc:1492 cp/decl.cc:17251
#, gcc-internal-format
msgid "previous declaration %qD"
msgstr ""
@@ -59868,12 +59869,12 @@ msgstr ""
msgid "previous specification in %q#D here"
msgstr ""
-#: cp/decl.cc:2321 cp/decl.cc:17267
+#: cp/decl.cc:2321 cp/decl.cc:17269
#, gcc-internal-format
msgid "conflicting exporting for declaration %qD"
msgstr ""
-#: cp/decl.cc:2323 cp/decl.cc:17269
+#: cp/decl.cc:2323 cp/decl.cc:17271
#, gcc-internal-format
msgid "previously declared here without exporting"
msgstr ""
@@ -60150,848 +60151,848 @@ msgid ""
"cache-line-size=%d%>"
msgstr ""
-#: cp/decl.cc:5567
+#: cp/decl.cc:5569
#, gcc-internal-format
msgid ""
"%q#D invalid; an anonymous union may only have public non-static data members"
msgstr ""
-#: cp/decl.cc:5577 cp/parser.cc:24254
+#: cp/decl.cc:5579 cp/parser.cc:24254
#, gcc-internal-format
msgid "this flexibility is deprecated and will be removed"
msgstr ""
-#: cp/decl.cc:5606
+#: cp/decl.cc:5608
#, gcc-internal-format
msgid "anonymous struct with base classes"
msgstr ""
-#: cp/decl.cc:5618
+#: cp/decl.cc:5620
#, gcc-internal-format
msgid "member %q+#D with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.cc:5621
+#: cp/decl.cc:5623
#, gcc-internal-format
msgid "member %q+#D with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.cc:5624
+#: cp/decl.cc:5626
#, gcc-internal-format
msgid ""
"member %q+#D with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.cc:5643
+#: cp/decl.cc:5645
#, gcc-internal-format
msgid "attribute ignored in declaration of %q#T"
msgstr ""
-#: cp/decl.cc:5646
+#: cp/decl.cc:5648
#, gcc-internal-format
msgid "attribute for %q#T must follow the %qs keyword"
msgstr ""
-#: cp/decl.cc:5688
+#: cp/decl.cc:5690
#, gcc-internal-format
msgid "multiple types in one declaration"
msgstr ""
-#: cp/decl.cc:5693
+#: cp/decl.cc:5695
#, gcc-internal-format
msgid "redeclaration of C++ built-in type %qT"
msgstr ""
-#: cp/decl.cc:5710
+#: cp/decl.cc:5712
#, gcc-internal-format
msgid "%<auto%> can only be specified for variables or function declarations"
msgstr ""
-#: cp/decl.cc:5743
+#: cp/decl.cc:5745
#, gcc-internal-format
msgid "missing type-name in typedef-declaration"
msgstr ""
-#: cp/decl.cc:5751
+#: cp/decl.cc:5753
#, gcc-internal-format
msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/decl.cc:5758
+#: cp/decl.cc:5760
#, gcc-internal-format
msgid "%<inline%> can only be specified for functions"
msgstr ""
-#: cp/decl.cc:5761
+#: cp/decl.cc:5763
#, gcc-internal-format
msgid "%<virtual%> can only be specified for functions"
msgstr ""
-#: cp/decl.cc:5766
+#: cp/decl.cc:5768
#, gcc-internal-format
msgid "%<friend%> can only be specified inside a class"
msgstr ""
-#: cp/decl.cc:5769
+#: cp/decl.cc:5771
#, gcc-internal-format
msgid "%<explicit%> can only be specified for constructors"
msgstr ""
-#: cp/decl.cc:5772
+#: cp/decl.cc:5774
#, gcc-internal-format
msgid "a storage class can only be specified for objects and functions"
msgstr ""
-#: cp/decl.cc:5776
+#: cp/decl.cc:5778
#, gcc-internal-format
msgid "%<const%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.cc:5780
+#: cp/decl.cc:5782
#, gcc-internal-format
msgid "%<volatile%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.cc:5784
+#: cp/decl.cc:5786
#, gcc-internal-format
msgid "%<__restrict%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.cc:5788
+#: cp/decl.cc:5790
#, gcc-internal-format
msgid "%<__thread%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.cc:5792
+#: cp/decl.cc:5794
#, gcc-internal-format
msgid "%<typedef%> was ignored in this declaration"
msgstr ""
-#: cp/decl.cc:5795 cp/decl.cc:5798 cp/decl.cc:5801
+#: cp/decl.cc:5797 cp/decl.cc:5800 cp/decl.cc:5803
#, gcc-internal-format
msgid "%qs cannot be used for type declarations"
msgstr ""
-#: cp/decl.cc:5824
+#: cp/decl.cc:5826
#, gcc-internal-format
msgid "attribute ignored in explicit instantiation %q#T"
msgstr ""
-#: cp/decl.cc:5827
+#: cp/decl.cc:5829
#, gcc-internal-format
msgid "no attribute can be applied to an explicit instantiation"
msgstr ""
-#: cp/decl.cc:5840 cp/decl.cc:13780 cp/decl.cc:15427 cp/parser.cc:16037
+#: cp/decl.cc:5842 cp/decl.cc:13782 cp/decl.cc:15429 cp/parser.cc:16037
#: cp/parser.cc:21975 cp/parser.cc:28867
#, gcc-internal-format
msgid "attribute ignored"
msgstr ""
-#: cp/decl.cc:5842 cp/decl.cc:13781
+#: cp/decl.cc:5844 cp/decl.cc:13783
#, gcc-internal-format
msgid "an attribute that appertains to a type-specifier is ignored"
msgstr ""
-#: cp/decl.cc:5917
+#: cp/decl.cc:5919
#, gcc-internal-format
msgid "ignoring attributes applied to class type %qT outside of definition"
msgstr ""
#. A template type parameter or other dependent type.
-#: cp/decl.cc:5921
+#: cp/decl.cc:5923
#, gcc-internal-format
msgid ""
"ignoring attributes applied to dependent type %qT without an associated "
"declaration"
msgstr ""
-#: cp/decl.cc:5987 cp/decl2.cc:1069 cp/decl2.cc:1271
+#: cp/decl.cc:5989 cp/decl2.cc:1069 cp/decl2.cc:1271
#, gcc-internal-format
msgid "typedef %qD is initialized (use %qs instead)"
msgstr ""
-#: cp/decl.cc:6000
+#: cp/decl.cc:6002
#, gcc-internal-format
msgid "declaration of %q#D has %<extern%> and is initialized"
msgstr ""
-#: cp/decl.cc:6038
+#: cp/decl.cc:6040
#, gcc-internal-format
msgid "definition of %q#D is marked %<dllimport%>"
msgstr ""
-#: cp/decl.cc:6065
+#: cp/decl.cc:6067
#, gcc-internal-format
msgid "%q+#D is not a static data member of %q#T"
msgstr ""
-#: cp/decl.cc:6074
+#: cp/decl.cc:6076
#, gcc-internal-format
msgid "non-member-template declaration of %qD"
msgstr ""
-#: cp/decl.cc:6075
+#: cp/decl.cc:6077
#, gcc-internal-format
msgid "does not match member template declaration here"
msgstr ""
-#: cp/decl.cc:6087
+#: cp/decl.cc:6089
#, gcc-internal-format
msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
msgstr ""
-#: cp/decl.cc:6099
+#: cp/decl.cc:6101
#, gcc-internal-format
msgid "duplicate initialization of %qD"
msgstr ""
-#: cp/decl.cc:6149 cp/decl.cc:6153
+#: cp/decl.cc:6151 cp/decl.cc:6155
#, gcc-internal-format
msgid "declaration of %q#D outside of class is not definition"
msgstr ""
-#: cp/decl.cc:6171
+#: cp/decl.cc:6173
#, gcc-internal-format
msgid ""
"block-scope extern declaration %q#D must not be attached to a named module"
msgstr ""
-#: cp/decl.cc:6207
+#: cp/decl.cc:6209
#, gcc-internal-format
msgid ""
"%qD defined %<thread_local%> in %qs function only available with %<-std=c+"
"+23%> or %<-std=gnu++23%>"
msgstr ""
-#: cp/decl.cc:6213
+#: cp/decl.cc:6215
#, gcc-internal-format
msgid ""
"%qD defined %<static%> in %qs function only available with %<-std=c++23%> or "
"%<-std=gnu++23%>"
msgstr ""
-#: cp/decl.cc:6279
+#: cp/decl.cc:6281
#, gcc-internal-format
msgid "variable %q#D has initializer but incomplete type"
msgstr ""
-#: cp/decl.cc:6288 cp/decl.cc:7763
+#: cp/decl.cc:6290 cp/decl.cc:7765
#, gcc-internal-format
msgid "elements of array %q#D have incomplete type"
msgstr ""
-#: cp/decl.cc:6299
+#: cp/decl.cc:6301
#, gcc-internal-format
msgid "aggregate %q#D has incomplete type and cannot be defined"
msgstr ""
-#: cp/decl.cc:6369
+#: cp/decl.cc:6371
#, gcc-internal-format
msgid "%qD declared as reference but not initialized"
msgstr ""
-#: cp/decl.cc:6452
+#: cp/decl.cc:6454
#, gcc-internal-format
msgid "name used in a GNU-style designated initializer for an array"
msgstr ""
-#: cp/decl.cc:6458
+#: cp/decl.cc:6460
#, gcc-internal-format
msgid "name %qD used in a GNU-style designated initializer for an array"
msgstr ""
-#: cp/decl.cc:6477
+#: cp/decl.cc:6479
#, gcc-internal-format
msgid "non-trivial designated initializers not supported"
msgstr ""
-#: cp/decl.cc:6481
+#: cp/decl.cc:6483
#, gcc-internal-format
msgid "C99 designator %qE is not an integral constant-expression"
msgstr ""
-#: cp/decl.cc:6546
+#: cp/decl.cc:6548
#, gcc-internal-format
msgid "initializer fails to determine size of %qD"
msgstr ""
-#: cp/decl.cc:6553
+#: cp/decl.cc:6555
#, gcc-internal-format
msgid "array size missing in %qD"
msgstr ""
-#: cp/decl.cc:6565
+#: cp/decl.cc:6567
#, gcc-internal-format
msgid "zero-size array %qD"
msgstr ""
-#: cp/decl.cc:6605
+#: cp/decl.cc:6607
#, gcc-internal-format
msgid "storage size of %qD isn%'t known"
msgstr ""
-#: cp/decl.cc:6630
+#: cp/decl.cc:6632
#, gcc-internal-format
msgid "storage size of %qD isn%'t constant"
msgstr ""
-#: cp/decl.cc:6732
+#: cp/decl.cc:6734
#, gcc-internal-format
msgid ""
"sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with "
"multiple copies)"
msgstr ""
-#: cp/decl.cc:6736
+#: cp/decl.cc:6738
#, gcc-internal-format
msgid ""
"sorry: semantics of inline function static data %q#D are wrong (you%'ll wind "
"up with multiple copies)"
msgstr ""
-#: cp/decl.cc:6743
+#: cp/decl.cc:6745
#, gcc-internal-format
msgid "you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.cc:6786 rust/backend/rust-tree.cc:3265
+#: cp/decl.cc:6788 rust/backend/rust-tree.cc:3265
#, gcc-internal-format
msgid "uninitialized %<const %D%>"
msgstr ""
-#: cp/decl.cc:6793 rust/backend/rust-tree.cc:3272
+#: cp/decl.cc:6795 rust/backend/rust-tree.cc:3272
#, gcc-internal-format
msgid "uninitialized variable %qD in %<constexpr%> function"
msgstr ""
-#: cp/decl.cc:6802 rust/backend/rust-tree.cc:3281
+#: cp/decl.cc:6804 rust/backend/rust-tree.cc:3281
#, gcc-internal-format
msgid "uninitialized variable %qD in %<constexpr%> context"
msgstr ""
-#: cp/decl.cc:6810
+#: cp/decl.cc:6812
#, gcc-internal-format
msgid "%q#T has no user-provided default constructor"
msgstr ""
-#: cp/decl.cc:6814
+#: cp/decl.cc:6816
#, gcc-internal-format
msgid ""
"constructor is not user-provided because it is explicitly defaulted in the "
"class body"
msgstr ""
-#: cp/decl.cc:6817
+#: cp/decl.cc:6819
#, gcc-internal-format
msgid "and the implicitly-defined constructor does not initialize %q#D"
msgstr ""
-#: cp/decl.cc:7117
+#: cp/decl.cc:7119
#, gcc-internal-format
msgid "invalid type %qT as initializer for a vector of type %qT"
msgstr ""
-#: cp/decl.cc:7189
+#: cp/decl.cc:7191
#, gcc-internal-format
msgid "initializer for %qT must be brace-enclosed"
msgstr ""
-#: cp/decl.cc:7234
+#: cp/decl.cc:7236
#, gcc-internal-format
msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
msgstr ""
-#: cp/decl.cc:7251 cp/init.cc:3424 cp/search.cc:1244
+#: cp/decl.cc:7253 cp/init.cc:3424 cp/search.cc:1244
#, gcc-internal-format
msgid "request for member %qD is ambiguous"
msgstr ""
-#: cp/decl.cc:7256
+#: cp/decl.cc:7258
#, gcc-internal-format
msgid "%qT has no non-static data member named %qD"
msgstr ""
-#: cp/decl.cc:7281
+#: cp/decl.cc:7283
#, gcc-internal-format
msgid "%qD is not a direct member of %qT"
msgstr ""
-#: cp/decl.cc:7337
+#: cp/decl.cc:7339
#, gcc-internal-format
msgid "invalid initializer for %q#D"
msgstr ""
-#: cp/decl.cc:7391
+#: cp/decl.cc:7393
#, gcc-internal-format
msgid "C99 designator %qE outside aggregate initializer"
msgstr ""
-#: cp/decl.cc:7430 cp/decl.cc:7721 cp/typeck2.cc:1634 cp/typeck2.cc:1969
+#: cp/decl.cc:7432 cp/decl.cc:7723 cp/typeck2.cc:1634 cp/typeck2.cc:1969
#: cp/typeck2.cc:2017 cp/typeck2.cc:2064
#, gcc-internal-format
msgid "too many initializers for %qT"
msgstr ""
-#: cp/decl.cc:7473
+#: cp/decl.cc:7475
#, gcc-internal-format
msgid "braces around scalar initializer for type %qT"
msgstr ""
-#: cp/decl.cc:7483
+#: cp/decl.cc:7485
#, gcc-internal-format
msgid "too many braces around scalar initializer for type %qT"
msgstr ""
-#: cp/decl.cc:7617
+#: cp/decl.cc:7619
#, gcc-internal-format
msgid "missing braces around initializer for %qT"
msgstr ""
-#: cp/decl.cc:7751
+#: cp/decl.cc:7753
#, gcc-internal-format
msgid "structured binding has incomplete type %qT"
msgstr ""
-#: cp/decl.cc:7765
+#: cp/decl.cc:7767
#, gcc-internal-format
msgid "elements of array %q#T have incomplete type"
msgstr ""
-#: cp/decl.cc:7778
+#: cp/decl.cc:7780
#, gcc-internal-format
msgid "variable-sized compound literal"
msgstr ""
-#: cp/decl.cc:7834
+#: cp/decl.cc:7836
#, gcc-internal-format
msgid "%q#D has incomplete type"
msgstr ""
-#: cp/decl.cc:7855
+#: cp/decl.cc:7857
#, gcc-internal-format
msgid "scalar object %qD requires one element in initializer"
msgstr ""
-#: cp/decl.cc:7900
+#: cp/decl.cc:7902
#, gcc-internal-format
msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
msgstr ""
-#: cp/decl.cc:8043
+#: cp/decl.cc:8045
#, gcc-internal-format
msgid "array %qD initialized by parenthesized string literal %qE"
msgstr ""
-#: cp/decl.cc:8083
+#: cp/decl.cc:8085
#, gcc-internal-format
msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cp/decl.cc:8085
+#: cp/decl.cc:8087
#, gcc-internal-format
msgid "non-constant in-class initialization invalid for static member %qD"
msgstr ""
-#: cp/decl.cc:8088
+#: cp/decl.cc:8090
#, gcc-internal-format
msgid ""
"non-constant in-class initialization invalid for non-inline static member %qD"
msgstr ""
-#: cp/decl.cc:8093
+#: cp/decl.cc:8095
#, gcc-internal-format
msgid "(an out of class initialization is required)"
msgstr ""
-#: cp/decl.cc:8295
+#: cp/decl.cc:8297
#, gcc-internal-format
msgid "reference %qD is initialized with itself"
msgstr ""
-#: cp/decl.cc:8497
+#: cp/decl.cc:8499
#, gcc-internal-format
msgid "argument %d of %qE must be of %<omp_interop_t%>"
msgstr ""
-#: cp/decl.cc:8668
+#: cp/decl.cc:8670
#, gcc-internal-format
msgid "could not find variant declaration"
msgstr ""
-#: cp/decl.cc:8692
+#: cp/decl.cc:8694
#, gcc-internal-format
msgid "%<declare variant%> on constructor %qD"
msgstr ""
-#: cp/decl.cc:8697
+#: cp/decl.cc:8699
#, gcc-internal-format
msgid "%<declare variant%> on destructor %qD"
msgstr ""
-#: cp/decl.cc:8702
+#: cp/decl.cc:8704
#, gcc-internal-format
msgid "%<declare variant%> on defaulted %qD"
msgstr ""
-#: cp/decl.cc:8707
+#: cp/decl.cc:8709
#, gcc-internal-format
msgid "%<declare variant%> on deleted %qD"
msgstr ""
-#: cp/decl.cc:8712
+#: cp/decl.cc:8714
#, gcc-internal-format
msgid "%<declare variant%> on virtual %qD"
msgstr ""
-#: cp/decl.cc:8777
+#: cp/decl.cc:8779
#, gcc-internal-format
msgid "assignment (not initialization) in declaration"
msgstr ""
-#: cp/decl.cc:8798 cp/decl.cc:15827
+#: cp/decl.cc:8800 cp/decl.cc:15829
#, gcc-internal-format
msgid "ISO C++17 does not allow %<register%> storage class specifier"
msgstr ""
-#: cp/decl.cc:8802 cp/decl.cc:15831
+#: cp/decl.cc:8804 cp/decl.cc:15833
#, gcc-internal-format
msgid "%<register%> storage class specifier used"
msgstr ""
-#: cp/decl.cc:8847 cp/decl.cc:15794
+#: cp/decl.cc:8849 cp/decl.cc:15796
#, gcc-internal-format
msgid "declaration of %q#D has no initializer"
msgstr ""
-#: cp/decl.cc:8883
+#: cp/decl.cc:8885
#, gcc-internal-format
msgid ""
"initializer for %<decltype(auto) %D%> has function type; did you forget the "
"%<()%>?"
msgstr ""
-#: cp/decl.cc:8895
+#: cp/decl.cc:8897
#, gcc-internal-format
msgid "deduced type %qT for %qD is incomplete"
msgstr ""
#. [basic.start.main]/3: A program that defines main as deleted
#. is ill-formed.
-#: cp/decl.cc:8946
+#: cp/decl.cc:8948
#, gcc-internal-format
msgid "%<::main%> cannot be deleted"
msgstr ""
-#: cp/decl.cc:9100
+#: cp/decl.cc:9102
#, gcc-internal-format
msgid "shadowing previous type declaration of %q#D"
msgstr ""
-#: cp/decl.cc:9143
+#: cp/decl.cc:9145
#, gcc-internal-format
msgid ""
"%<constinit%> can only be applied to a variable with static or thread "
"storage duration"
msgstr ""
-#: cp/decl.cc:9351
+#: cp/decl.cc:9353
#, gcc-internal-format
msgid "function %q#D is initialized like a variable"
msgstr ""
-#: cp/decl.cc:9583
+#: cp/decl.cc:9585
#, gcc-internal-format
msgid "cannot decompose lambda closure type %qT"
msgstr ""
-#: cp/decl.cc:9584
+#: cp/decl.cc:9586
#, gcc-internal-format
msgid "lambda declared here"
msgstr ""
-#: cp/decl.cc:9600
+#: cp/decl.cc:9602
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT because it has an anonymous struct member"
msgstr ""
-#: cp/decl.cc:9603
+#: cp/decl.cc:9605
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT because it has an anonymous union member"
msgstr ""
-#: cp/decl.cc:9611
+#: cp/decl.cc:9613
#, gcc-internal-format
msgid "cannot decompose inaccessible member %qD of %qT"
msgstr ""
-#: cp/decl.cc:9634
+#: cp/decl.cc:9636
#, gcc-internal-format
msgid "in base class of %qT"
msgstr ""
-#: cp/decl.cc:9641
+#: cp/decl.cc:9643
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT: both it and its base class %qT have non-"
"static data members"
msgstr ""
-#: cp/decl.cc:9650
+#: cp/decl.cc:9652
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT: its base classes %qT and %qT have non-"
"static data members"
msgstr ""
-#: cp/decl.cc:9888
+#: cp/decl.cc:9890
#, gcc-internal-format
msgid "structured binding refers to incomplete type %qT"
msgstr ""
-#: cp/decl.cc:9904
+#: cp/decl.cc:9906
#, gcc-internal-format
msgid "array initializer for structured binding declaration in condition"
msgstr ""
-#: cp/decl.cc:9910
+#: cp/decl.cc:9912
#, gcc-internal-format
msgid "cannot decompose variable length array %qT"
msgstr ""
-#: cp/decl.cc:9920 cp/decl.cc:10000
+#: cp/decl.cc:9922 cp/decl.cc:10002
#, gcc-internal-format, gfc-internal-format
msgid "%u name provided for structured binding"
msgid_plural "%u names provided for structured binding"
msgstr[0] ""
msgstr[1] ""
-#: cp/decl.cc:9924
+#: cp/decl.cc:9926
#, gcc-internal-format, gfc-internal-format
msgid "only %u name provided for structured binding"
msgid_plural "only %u names provided for structured binding"
msgstr[0] ""
msgstr[1] ""
-#: cp/decl.cc:9927
+#: cp/decl.cc:9929
#, gcc-internal-format
msgid "while %qT decomposes into %wu element"
msgid_plural "while %qT decomposes into %wu elements"
msgstr[0] ""
msgstr[1] ""
-#: cp/decl.cc:9968
+#: cp/decl.cc:9970
#, gcc-internal-format
msgid "cannot decompose variable length vector %qT"
msgstr ""
-#: cp/decl.cc:9992
+#: cp/decl.cc:9994
#, gcc-internal-format
msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
msgstr ""
-#: cp/decl.cc:10002
+#: cp/decl.cc:10004
#, gcc-internal-format
msgid "while %qT decomposes into %E elements"
msgstr ""
-#: cp/decl.cc:10049
+#: cp/decl.cc:10051
#, gcc-internal-format
msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
msgstr ""
-#: cp/decl.cc:10055
+#: cp/decl.cc:10057
#, gcc-internal-format
msgid "in initialization of structured binding variable %qD"
msgstr ""
-#: cp/decl.cc:10084
+#: cp/decl.cc:10086
#, gcc-internal-format
msgid "cannot decompose union type %qT"
msgstr ""
-#: cp/decl.cc:10089
+#: cp/decl.cc:10091
#, gcc-internal-format
msgid "cannot decompose non-array non-class type %qT"
msgstr ""
-#: cp/decl.cc:10095
+#: cp/decl.cc:10097
#, gcc-internal-format
msgid "structured binding refers to incomplete class type %qT"
msgstr ""
-#: cp/decl.cc:10104
+#: cp/decl.cc:10106
#, gcc-internal-format
msgid "cannot decompose class type %qT without non-static data members"
msgstr ""
-#: cp/decl.cc:10600
+#: cp/decl.cc:10602
#, gcc-internal-format
msgid ""
"non-local variable %qD declared %<__thread%> needs dynamic initialization"
msgstr ""
-#: cp/decl.cc:10603
+#: cp/decl.cc:10605
#, gcc-internal-format
msgid ""
"non-local variable %qD declared %<__thread%> has a non-trivial destructor"
msgstr ""
-#: cp/decl.cc:10608
+#: cp/decl.cc:10610
#, gcc-internal-format
msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
msgstr ""
-#: cp/decl.cc:10827
+#: cp/decl.cc:10829
#, gcc-internal-format
msgid "initializer fails to determine size of %qT"
msgstr ""
-#: cp/decl.cc:10831
+#: cp/decl.cc:10833
#, gcc-internal-format
msgid "array size missing in %qT"
msgstr ""
-#: cp/decl.cc:10834
+#: cp/decl.cc:10836
#, gcc-internal-format
msgid "zero-size array %qT"
msgstr ""
-#: cp/decl.cc:10850
+#: cp/decl.cc:10852
#, gcc-internal-format
msgid "destructor for alien class %qT cannot be a member"
msgstr ""
-#: cp/decl.cc:10852
+#: cp/decl.cc:10854
#, gcc-internal-format
msgid "constructor for alien class %qT cannot be a member"
msgstr ""
-#: cp/decl.cc:10878
+#: cp/decl.cc:10880
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> variable"
msgstr ""
-#: cp/decl.cc:10880
+#: cp/decl.cc:10882
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in variable "
"declaration"
msgstr ""
-#: cp/decl.cc:10886
+#: cp/decl.cc:10888
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> parameter"
msgstr ""
-#: cp/decl.cc:10889
+#: cp/decl.cc:10891
#, gcc-internal-format
msgid "%qD declared as an %<inline%> parameter"
msgstr ""
-#: cp/decl.cc:10891
+#: cp/decl.cc:10893
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in parameter "
"declaration"
msgstr ""
-#: cp/decl.cc:10897
+#: cp/decl.cc:10899
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> type"
msgstr ""
-#: cp/decl.cc:10900
+#: cp/decl.cc:10902
#, gcc-internal-format
msgid "%qD declared as an %<inline%> type"
msgstr ""
-#: cp/decl.cc:10902
+#: cp/decl.cc:10904
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in type "
"declaration"
msgstr ""
-#: cp/decl.cc:10908
+#: cp/decl.cc:10910
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> field"
msgstr ""
-#: cp/decl.cc:10911
+#: cp/decl.cc:10913
#, gcc-internal-format
msgid "%qD declared as an %<inline%> field"
msgstr ""
-#: cp/decl.cc:10913
+#: cp/decl.cc:10915
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in field "
"declaration"
msgstr ""
-#: cp/decl.cc:10920
+#: cp/decl.cc:10922
#, gcc-internal-format
msgid "%q+D declared as a friend"
msgstr ""
-#: cp/decl.cc:10927
+#: cp/decl.cc:10929
#, gcc-internal-format
msgid "%q+D declared with an exception specification"
msgstr ""
-#: cp/decl.cc:10959
+#: cp/decl.cc:10961
#, gcc-internal-format
msgid "definition of %qD is not in namespace enclosing %qT"
msgstr ""
-#: cp/decl.cc:10999
+#: cp/decl.cc:11001
#, gcc-internal-format
msgid "static member function %q#D declared with type qualifiers"
msgstr ""
-#: cp/decl.cc:11075
+#: cp/decl.cc:11077
#, gcc-internal-format
msgid "function concepts are no longer supported"
msgstr ""
-#: cp/decl.cc:11113
+#: cp/decl.cc:11115
#, gcc-internal-format
msgid "constraints on a non-templated function"
msgstr ""
-#: cp/decl.cc:11115
+#: cp/decl.cc:11117
#, gcc-internal-format
msgid "constrained non-template friend declaration must be a definition"
msgstr ""
-#: cp/decl.cc:11122
+#: cp/decl.cc:11124
#, gcc-internal-format
msgid ""
"friend function template with constraints that depend on outer template "
"parameters must be a definition"
msgstr ""
-#: cp/decl.cc:11174
+#: cp/decl.cc:11176
#, gcc-internal-format
msgid "defining explicit specialization %qD in friend declaration"
msgstr ""
-#: cp/decl.cc:11185
+#: cp/decl.cc:11187
#, gcc-internal-format
msgid "invalid use of template-id %qD in declaration of primary template"
msgstr ""
-#: cp/decl.cc:11203
+#: cp/decl.cc:11205
#, gcc-internal-format
msgid ""
"default arguments are not allowed in declaration of friend template "
"specialization %qD"
msgstr ""
-#: cp/decl.cc:11212
+#: cp/decl.cc:11214
#, gcc-internal-format
msgid ""
"%<inline%> is not allowed in declaration of friend template specialization "
@@ -60999,1593 +61000,1593 @@ msgid ""
msgstr ""
#. diagnostic_option_id=
-#: cp/decl.cc:11243
+#: cp/decl.cc:11245
#, gcc-internal-format
msgid ""
"friend declaration of %qD specifies default arguments and isn%'t a definition"
msgstr ""
-#: cp/decl.cc:11285
+#: cp/decl.cc:11287
#, gcc-internal-format
msgid "cannot declare %<::main%> to be a template"
msgstr ""
-#: cp/decl.cc:11288
+#: cp/decl.cc:11290
#, gcc-internal-format
msgid "cannot declare %<::main%> to be inline"
msgstr ""
-#: cp/decl.cc:11291 cp/decl.cc:11294
+#: cp/decl.cc:11293 cp/decl.cc:11296
#, gcc-internal-format
msgid "cannot declare %<::main%> to be %qs"
msgstr ""
-#: cp/decl.cc:11296
+#: cp/decl.cc:11298
#, gcc-internal-format
msgid "cannot declare %<::main%> to be static"
msgstr ""
-#: cp/decl.cc:11298
+#: cp/decl.cc:11300
#, gcc-internal-format
msgid "cannot declare %<::main%> with a linkage specification"
msgstr ""
-#: cp/decl.cc:11301
+#: cp/decl.cc:11303
#, gcc-internal-format
msgid "cannot attach %<::main%> to a named module"
msgstr ""
-#: cp/decl.cc:11360
+#: cp/decl.cc:11362
#, gcc-internal-format
msgid "non-member function %qD cannot have cv-qualifier"
msgstr ""
-#: cp/decl.cc:11362
+#: cp/decl.cc:11364
#, gcc-internal-format
msgid "static member function %qD cannot have cv-qualifier"
msgstr ""
-#: cp/decl.cc:11363
+#: cp/decl.cc:11365
#, gcc-internal-format
msgid "explicit object member function %qD cannot have cv-qualifier"
msgstr ""
-#: cp/decl.cc:11368
+#: cp/decl.cc:11370
#, gcc-internal-format
msgid "non-member function %qD cannot have ref-qualifier"
msgstr ""
-#: cp/decl.cc:11370
+#: cp/decl.cc:11372
#, gcc-internal-format
msgid "static member function %qD cannot have ref-qualifier"
msgstr ""
-#: cp/decl.cc:11371
+#: cp/decl.cc:11373
#, gcc-internal-format
msgid "explicit object member function %qD cannot have ref-qualifier"
msgstr ""
-#: cp/decl.cc:11377 cp/decl.cc:14310 cp/decl.cc:14320 cp/parser.cc:12368
+#: cp/decl.cc:11379 cp/decl.cc:14312 cp/decl.cc:14322 cp/parser.cc:12368
#, gcc-internal-format
msgid "explicit object parameter declared here"
msgstr ""
-#: cp/decl.cc:11390
+#: cp/decl.cc:11392
#, gcc-internal-format
msgid "deduction guide %qD must be declared in the same scope as %qT"
msgstr ""
-#: cp/decl.cc:11392 cp/decl.cc:11401 cp/typeck.cc:4667
+#: cp/decl.cc:11394 cp/decl.cc:11403 cp/typeck.cc:4667
#, gcc-internal-format
msgid " declared here"
msgstr ""
-#: cp/decl.cc:11399
+#: cp/decl.cc:11401
#, gcc-internal-format
msgid "deduction guide %qD must have the same access as %qT"
msgstr ""
-#: cp/decl.cc:11405
+#: cp/decl.cc:11407
#, gcc-internal-format
msgid "deduction guide %qD must not have a function body"
msgstr ""
-#: cp/decl.cc:11419
+#: cp/decl.cc:11421
#, gcc-internal-format
msgid "literal operator with C linkage"
msgstr ""
-#: cp/decl.cc:11429
+#: cp/decl.cc:11431
#, gcc-internal-format
msgid "%qD has invalid argument list"
msgstr ""
-#: cp/decl.cc:11437
+#: cp/decl.cc:11439
#, gcc-internal-format
msgid "integer suffix %qs shadowed by implementation"
msgstr ""
-#: cp/decl.cc:11443
+#: cp/decl.cc:11445
#, gcc-internal-format
msgid "floating-point suffix %qs shadowed by implementation"
msgstr ""
-#: cp/decl.cc:11450
+#: cp/decl.cc:11452
#, gcc-internal-format
msgid ""
"literal operator suffixes not preceded by %<_%> are reserved for future "
"standardization"
msgstr ""
-#: cp/decl.cc:11455
+#: cp/decl.cc:11457
#, gcc-internal-format
msgid "%qD must be a non-member function"
msgstr ""
-#: cp/decl.cc:11540
+#: cp/decl.cc:11542
#, gcc-internal-format
msgid "%<::main%> must return %<int%>"
msgstr ""
-#: cp/decl.cc:11580
+#: cp/decl.cc:11582
#, gcc-internal-format
msgid "definition of implicitly-declared %qD"
msgstr ""
-#: cp/decl.cc:11586
+#: cp/decl.cc:11588
#, gcc-internal-format
msgid "definition of explicitly-defaulted %q+D"
msgstr ""
-#: cp/decl.cc:11588
+#: cp/decl.cc:11590
#, gcc-internal-format
msgid "%q#D explicitly defaulted here"
msgstr ""
-#: cp/decl.cc:11605
+#: cp/decl.cc:11607
#, gcc-internal-format
msgid "no %q#D member function declared in class %qT"
msgstr ""
-#: cp/decl.cc:11802
+#: cp/decl.cc:11804
#, gcc-internal-format
msgid "cannot declare %<::main%> to be a global variable"
msgstr ""
-#: cp/decl.cc:11805
+#: cp/decl.cc:11807
#, gcc-internal-format
msgid "an entity named %<main%> cannot be declared with C language linkage"
msgstr ""
-#: cp/decl.cc:11814
+#: cp/decl.cc:11816
#, gcc-internal-format
msgid "a non-template variable cannot be %<concept%>"
msgstr ""
-#: cp/decl.cc:11817
+#: cp/decl.cc:11819
#, gcc-internal-format
msgid "concept must be defined at namespace scope"
msgstr ""
-#: cp/decl.cc:11820
+#: cp/decl.cc:11822
#, gcc-internal-format
msgid "variable concepts are no longer supported"
msgstr ""
-#: cp/decl.cc:11941
+#: cp/decl.cc:11943
#, gcc-internal-format
msgid "in-class initialization of static data member %q#D of incomplete type"
msgstr ""
-#: cp/decl.cc:11945
+#: cp/decl.cc:11947
#, gcc-internal-format
msgid ""
"%<constexpr%> needed for in-class initialization of static data member %q#D "
"of non-integral type"
msgstr ""
-#: cp/decl.cc:11949
+#: cp/decl.cc:11951
#, gcc-internal-format
msgid "in-class initialization of static data member %q#D of non-literal type"
msgstr ""
-#: cp/decl.cc:11960
+#: cp/decl.cc:11962
#, gcc-internal-format
msgid ""
"invalid in-class initialization of static data member of non-integral type "
"%qT"
msgstr ""
-#: cp/decl.cc:11965
+#: cp/decl.cc:11967
#, gcc-internal-format
msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
msgstr ""
-#: cp/decl.cc:11970
+#: cp/decl.cc:11972
#, gcc-internal-format
msgid ""
"ISO C++ forbids initialization of member constant %qD of non-integral type "
"%qT"
msgstr ""
-#: cp/decl.cc:12082
+#: cp/decl.cc:12084
#, gcc-internal-format
msgid "size of array %qD has non-integral type %qT"
msgstr ""
-#: cp/decl.cc:12085
+#: cp/decl.cc:12087
#, gcc-internal-format
msgid "size of array has non-integral type %qT"
msgstr ""
-#: cp/decl.cc:12116 cp/decl.cc:12188
+#: cp/decl.cc:12118 cp/decl.cc:12190
#, gcc-internal-format
msgid "size of array %qD is not an integral constant-expression"
msgstr ""
-#: cp/decl.cc:12120 cp/decl.cc:12191
+#: cp/decl.cc:12122 cp/decl.cc:12193
#, gcc-internal-format
msgid "size of array is not an integral constant-expression"
msgstr ""
-#: cp/decl.cc:12171
+#: cp/decl.cc:12173
#, gcc-internal-format
msgid "ISO C++ forbids zero-size array %qD"
msgstr ""
-#: cp/decl.cc:12174
+#: cp/decl.cc:12176
#, gcc-internal-format
msgid "ISO C++ forbids zero-size array"
msgstr ""
-#: cp/decl.cc:12198
+#: cp/decl.cc:12200
#, gcc-internal-format
msgid "ISO C++ forbids variable length array %qD"
msgstr ""
-#: cp/decl.cc:12201
+#: cp/decl.cc:12203
#, gcc-internal-format
msgid "ISO C++ forbids variable length array"
msgstr ""
-#: cp/decl.cc:12207
+#: cp/decl.cc:12209
#, gcc-internal-format
msgid "variable length array %qD is used"
msgstr ""
-#: cp/decl.cc:12210
+#: cp/decl.cc:12212
#, gcc-internal-format
msgid "variable length array is used"
msgstr ""
-#: cp/decl.cc:12262
+#: cp/decl.cc:12264
#, gcc-internal-format
msgid "overflow in array dimension"
msgstr ""
-#: cp/decl.cc:12322
+#: cp/decl.cc:12324
#, gcc-internal-format
msgid "%qD declared as array of template placeholder type %qT"
msgstr ""
-#: cp/decl.cc:12325
+#: cp/decl.cc:12327
#, gcc-internal-format
msgid "creating array of template placeholder type %qT"
msgstr ""
-#: cp/decl.cc:12335
+#: cp/decl.cc:12337
#, gcc-internal-format
msgid "declaration of %qD as array of void"
msgstr ""
-#: cp/decl.cc:12337
+#: cp/decl.cc:12339
#, gcc-internal-format
msgid "creating array of void"
msgstr ""
-#: cp/decl.cc:12342
+#: cp/decl.cc:12344
#, gcc-internal-format
msgid "declaration of %qD as array of functions"
msgstr ""
-#: cp/decl.cc:12344
+#: cp/decl.cc:12346
#, gcc-internal-format
msgid "creating array of functions"
msgstr ""
-#: cp/decl.cc:12349
+#: cp/decl.cc:12351
#, gcc-internal-format
msgid "declaration of %qD as array of references"
msgstr ""
-#: cp/decl.cc:12351
+#: cp/decl.cc:12353
#, gcc-internal-format
msgid "creating array of references"
msgstr ""
-#: cp/decl.cc:12356
+#: cp/decl.cc:12358
#, gcc-internal-format
msgid "declaration of %qD as array of function members"
msgstr ""
-#: cp/decl.cc:12359
+#: cp/decl.cc:12361
#, gcc-internal-format
msgid "creating array of function members"
msgstr ""
-#: cp/decl.cc:12377
+#: cp/decl.cc:12379
#, gcc-internal-format
msgid ""
"declaration of %qD as multidimensional array must have bounds for all "
"dimensions except the first"
msgstr ""
-#: cp/decl.cc:12381
+#: cp/decl.cc:12383
#, gcc-internal-format
msgid ""
"multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.cc:12395
+#: cp/decl.cc:12397
#, gcc-internal-format
msgid "variable-length array of %<auto%>"
msgstr ""
-#: cp/decl.cc:12493
+#: cp/decl.cc:12495
#, gcc-internal-format
msgid "return type specification for constructor invalid"
msgstr ""
-#: cp/decl.cc:12496
+#: cp/decl.cc:12498
#, gcc-internal-format
msgid "qualifiers are not allowed on constructor declaration"
msgstr ""
-#: cp/decl.cc:12507
+#: cp/decl.cc:12509
#, gcc-internal-format
msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/decl.cc:12510
+#: cp/decl.cc:12512
#, gcc-internal-format
msgid "qualifiers are not allowed on destructor declaration"
msgstr ""
-#: cp/decl.cc:12523
+#: cp/decl.cc:12525
#, gcc-internal-format
msgid "return type specified for %<operator %T%>"
msgstr ""
-#: cp/decl.cc:12526
+#: cp/decl.cc:12528
#, gcc-internal-format
msgid "qualifiers are not allowed on declaration of %<operator %T%>"
msgstr ""
-#: cp/decl.cc:12535
+#: cp/decl.cc:12537
#, gcc-internal-format
msgid "return type specified for deduction guide"
msgstr ""
-#: cp/decl.cc:12538
+#: cp/decl.cc:12540
#, gcc-internal-format
msgid "qualifiers are not allowed on declaration of deduction guide"
msgstr ""
-#: cp/decl.cc:12542
+#: cp/decl.cc:12544
#, gcc-internal-format
msgid "template template parameter %qT in declaration of deduction guide"
msgstr ""
-#: cp/decl.cc:12551
+#: cp/decl.cc:12553
#, gcc-internal-format
msgid "%<decl-specifier%> in declaration of deduction guide"
msgstr ""
-#: cp/decl.cc:12572
+#: cp/decl.cc:12574
#, gcc-internal-format
msgid "unnamed variable or field declared void"
msgstr ""
-#: cp/decl.cc:12580
+#: cp/decl.cc:12582
#, gcc-internal-format
msgid "variable or field declared void"
msgstr ""
-#: cp/decl.cc:12595
+#: cp/decl.cc:12597
#, gcc-internal-format
msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
msgstr ""
-#: cp/decl.cc:12600
+#: cp/decl.cc:12602
#, gcc-internal-format
msgid ""
"inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/decl.cc:12656
+#: cp/decl.cc:12658
#, gcc-internal-format
msgid "%qT as type rather than plain %<decltype(auto)%>"
msgstr ""
-#: cp/decl.cc:12662
+#: cp/decl.cc:12664
#, gcc-internal-format
msgid "%<decltype(auto)%> cannot be cv-qualified"
msgstr ""
-#: cp/decl.cc:12683
+#: cp/decl.cc:12685
msgid "%e and %e specified together"
msgstr ""
-#: cp/decl.cc:12895
+#: cp/decl.cc:12897
#, gcc-internal-format
msgid "invalid use of qualified-name %<::%D%>"
msgstr ""
-#: cp/decl.cc:12898 cp/decl.cc:12920
+#: cp/decl.cc:12900 cp/decl.cc:12922
#, gcc-internal-format
msgid "invalid use of qualified-name %<%T::%D%>"
msgstr ""
-#: cp/decl.cc:12901
+#: cp/decl.cc:12903
#, gcc-internal-format
msgid "invalid use of qualified-name %<%D::%D%>"
msgstr ""
-#: cp/decl.cc:12911
+#: cp/decl.cc:12913
#, gcc-internal-format
msgid "%q#T is not a class or namespace"
msgstr ""
-#: cp/decl.cc:12935
+#: cp/decl.cc:12937
#, gcc-internal-format
msgid "declaration of %qE as non-function"
msgstr ""
-#: cp/decl.cc:12942
+#: cp/decl.cc:12944
#, gcc-internal-format
msgid "declaration of %qE as non-member"
msgstr ""
-#: cp/decl.cc:12970
+#: cp/decl.cc:12972
#, gcc-internal-format
msgid "declarator-id missing; using reserved word %qD"
msgstr ""
-#: cp/decl.cc:13021
+#: cp/decl.cc:13023
#, gcc-internal-format
msgid "function definition does not declare parameters"
msgstr ""
-#: cp/decl.cc:13029 cp/decl.cc:13038 cp/decl.cc:15034
+#: cp/decl.cc:13031 cp/decl.cc:13040 cp/decl.cc:15036
#, gcc-internal-format
msgid "declaration of %qD as non-function"
msgstr ""
-#: cp/decl.cc:13046
+#: cp/decl.cc:13048
#, gcc-internal-format
msgid "declaration of %qD as %<typedef%>"
msgstr ""
-#: cp/decl.cc:13051
+#: cp/decl.cc:13053
#, gcc-internal-format
msgid "declaration of %qD as parameter"
msgstr ""
-#: cp/decl.cc:13086
+#: cp/decl.cc:13088
#, gcc-internal-format
msgid "both %qs and %qs specified"
msgstr ""
-#: cp/decl.cc:13093 cp/decl.cc:13100 cp/decl.cc:13107 cp/decl.cc:13114
+#: cp/decl.cc:13095 cp/decl.cc:13102 cp/decl.cc:13109 cp/decl.cc:13116
#, gcc-internal-format
msgid "%qs cannot appear in a typedef declaration"
msgstr ""
-#: cp/decl.cc:13125
+#: cp/decl.cc:13127
#, gcc-internal-format
msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
msgstr ""
-#: cp/decl.cc:13135
+#: cp/decl.cc:13137
#, gcc-internal-format
msgid "two or more data types in declaration of %qs"
msgstr ""
-#: cp/decl.cc:13189
+#: cp/decl.cc:13191
#, gcc-internal-format
msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
msgstr ""
-#: cp/decl.cc:13239 cp/decl.cc:13243 cp/decl.cc:13246
+#: cp/decl.cc:13241 cp/decl.cc:13245 cp/decl.cc:13248
#, gcc-internal-format
msgid "ISO C++ forbids declaration of %qs with no type"
msgstr ""
-#: cp/decl.cc:13263
+#: cp/decl.cc:13265
#, gcc-internal-format
msgid "%<__int%d%> is not supported by this target"
msgstr ""
-#: cp/decl.cc:13271
+#: cp/decl.cc:13273
#, gcc-internal-format
msgid "ISO C++ does not support %<__int%d%> for %qs"
msgstr ""
-#: cp/decl.cc:13334
+#: cp/decl.cc:13336
#, gcc-internal-format
msgid "%qs specified with %qT"
msgstr ""
-#: cp/decl.cc:13341
+#: cp/decl.cc:13343
#, gcc-internal-format
msgid "%qs specified with typedef-name %qD"
msgstr ""
-#: cp/decl.cc:13350
+#: cp/decl.cc:13352
#, gcc-internal-format
msgid "%qs specified with %<decltype%>"
msgstr ""
-#: cp/decl.cc:13352
+#: cp/decl.cc:13354
#, gcc-internal-format
msgid "%qs specified with %<typeof%>"
msgstr ""
-#: cp/decl.cc:13421
+#: cp/decl.cc:13423
#, gcc-internal-format
msgid "complex invalid for %qs"
msgstr ""
-#: cp/decl.cc:13465
+#: cp/decl.cc:13467
#, gcc-internal-format
msgid ""
"missing template argument list after %qE; for deduction, template "
"placeholder must be followed by a simple declarator-id"
msgstr ""
-#: cp/decl.cc:13491
+#: cp/decl.cc:13493
#, gcc-internal-format
msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
msgstr ""
-#: cp/decl.cc:13500
+#: cp/decl.cc:13502
#, gcc-internal-format
msgid ""
"member %qD can be declared both %<virtual%> and %<constexpr%> only in %<-"
"std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/decl.cc:13513
+#: cp/decl.cc:13515
#, gcc-internal-format
msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cp/decl.cc:13520
+#: cp/decl.cc:13522
#, gcc-internal-format
msgid "storage class specified for template parameter %qs"
msgstr ""
-#: cp/decl.cc:13530 cp/decl.cc:13707
+#: cp/decl.cc:13532 cp/decl.cc:13709
#, gcc-internal-format
msgid "storage class specified for parameter %qs"
msgstr ""
-#: cp/decl.cc:13538 cp/decl.cc:13547 cp/decl.cc:13553 cp/decl.cc:13559
+#: cp/decl.cc:13540 cp/decl.cc:13549 cp/decl.cc:13555 cp/decl.cc:13561
#, gcc-internal-format
msgid "a parameter cannot be declared %qs"
msgstr ""
-#: cp/decl.cc:13569
+#: cp/decl.cc:13571
#, gcc-internal-format
msgid "%<virtual%> outside class declaration"
msgstr ""
-#: cp/decl.cc:13579 cp/decl.cc:13582 cp/decl.cc:13584 cp/decl.cc:13587
-#: cp/decl.cc:13597 cp/decl.cc:13607 cp/decl.cc:13617 cp/decl.cc:13621
+#: cp/decl.cc:13581 cp/decl.cc:13584 cp/decl.cc:13586 cp/decl.cc:13589
+#: cp/decl.cc:13599 cp/decl.cc:13609 cp/decl.cc:13619 cp/decl.cc:13623
#, gcc-internal-format
msgid "structured binding declaration cannot be %qs"
msgstr ""
-#: cp/decl.cc:13591 cp/decl.cc:13613
+#: cp/decl.cc:13593 cp/decl.cc:13615
#, gcc-internal-format
msgid ""
"structured binding declaration can be %qs only in %<-std=c++20%> or %<-"
"std=gnu++20%>"
msgstr ""
-#: cp/decl.cc:13601
+#: cp/decl.cc:13603
#, gcc-internal-format
msgid "%<volatile%>-qualified structured binding is deprecated"
msgstr ""
-#: cp/decl.cc:13625
+#: cp/decl.cc:13627
#, gcc-internal-format
msgid "structured binding declaration cannot be C++98 %<auto%>"
msgstr ""
-#: cp/decl.cc:13637
+#: cp/decl.cc:13639
#, gcc-internal-format
msgid "structured binding declaration cannot have type %qT"
msgstr ""
-#: cp/decl.cc:13640
+#: cp/decl.cc:13642
#, gcc-internal-format
msgid ""
"type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
msgstr ""
-#: cp/decl.cc:13648
+#: cp/decl.cc:13650
#, gcc-internal-format
msgid ""
"structured binding declaration cannot have constrained %<auto%> type %qT"
msgstr ""
-#: cp/decl.cc:13679
+#: cp/decl.cc:13681
#, gcc-internal-format
msgid "multiple storage classes in declaration of %qs"
msgstr ""
-#: cp/decl.cc:13705
+#: cp/decl.cc:13707
#, gcc-internal-format
msgid "storage class specified for %qs"
msgstr ""
-#: cp/decl.cc:13719
+#: cp/decl.cc:13721
#, gcc-internal-format
msgid "nested function %qs declared %<extern%>"
msgstr ""
-#: cp/decl.cc:13724
+#: cp/decl.cc:13726
#, gcc-internal-format
msgid "top-level declaration of %qs specifies %<auto%>"
msgstr ""
-#: cp/decl.cc:13732
+#: cp/decl.cc:13734
#, gcc-internal-format
msgid "function-scope %qs implicitly auto and declared %<__thread%>"
msgstr ""
-#: cp/decl.cc:13746
+#: cp/decl.cc:13748
#, gcc-internal-format
msgid "storage class specifiers invalid in friend function declarations"
msgstr ""
-#: cp/decl.cc:13852
+#: cp/decl.cc:13854
#, gcc-internal-format
msgid "unnecessary parentheses in declaration of %qs"
msgstr ""
-#: cp/decl.cc:13858
+#: cp/decl.cc:13860
#, gcc-internal-format
msgid "remove parentheses"
msgstr ""
-#: cp/decl.cc:13925
+#: cp/decl.cc:13927
#, gcc-internal-format
msgid ""
"explicit object member function only available with %<-std=c++23%> or %<-"
"std=gnu++23%>"
msgstr ""
-#: cp/decl.cc:13939
+#: cp/decl.cc:13941
#, gcc-internal-format
msgid "a function type cannot have an explicit object parameter"
msgstr ""
-#: cp/decl.cc:13945
+#: cp/decl.cc:13947
#, gcc-internal-format
msgid "a pointer to function type cannot have an explicit object parameter"
msgstr ""
-#: cp/decl.cc:13949
+#: cp/decl.cc:13951
#, gcc-internal-format
msgid ""
"a pointer to member function type cannot have an explicit object parameter"
msgstr ""
-#: cp/decl.cc:13957
+#: cp/decl.cc:13959
#, gcc-internal-format
msgid ""
"the type of a pointer to explicit object member function is a regular "
"pointer to function type"
msgstr ""
-#: cp/decl.cc:13961
+#: cp/decl.cc:13963
#, gcc-internal-format
msgid ""
"the type of an explicit object member function is a regular function type"
msgstr ""
-#: cp/decl.cc:13982
+#: cp/decl.cc:13984
#, gcc-internal-format
msgid ""
"only the first parameter of a member function can be declared as an explicit "
"object parameter"
msgstr ""
-#: cp/decl.cc:13987
+#: cp/decl.cc:13989
#, gcc-internal-format
msgid "valid explicit object parameter declared here"
msgstr ""
-#: cp/decl.cc:13991
+#: cp/decl.cc:13993
#, gcc-internal-format
msgid "requires-clause on return type"
msgstr ""
-#: cp/decl.cc:14012
+#: cp/decl.cc:14014
#, gcc-internal-format
msgid "%qs function uses %<auto%> type specifier without trailing return type"
msgstr ""
-#: cp/decl.cc:14016
+#: cp/decl.cc:14018
#, gcc-internal-format
msgid ""
"deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
msgstr ""
-#: cp/decl.cc:14021
+#: cp/decl.cc:14023
#, gcc-internal-format
msgid "virtual function cannot have deduced return type"
msgstr ""
-#: cp/decl.cc:14028
+#: cp/decl.cc:14030
#, gcc-internal-format
msgid ""
"%qs function with trailing return type has %qT as its type rather than plain "
"%<auto%>"
msgstr ""
-#: cp/decl.cc:14037
+#: cp/decl.cc:14039
#, gcc-internal-format
msgid ""
"%qs function with trailing return type has %<decltype(auto)%> as its type "
"rather than plain %<auto%>"
msgstr ""
-#: cp/decl.cc:14042
+#: cp/decl.cc:14044
#, gcc-internal-format
msgid "invalid use of %<decltype(auto)%>"
msgstr ""
-#: cp/decl.cc:14049
+#: cp/decl.cc:14051
#, gcc-internal-format
msgid ""
"%qs function with trailing return type has constrained %<auto%> type "
"specifier rather than plain %<auto%>"
msgstr ""
-#: cp/decl.cc:14055
+#: cp/decl.cc:14057
#, gcc-internal-format
msgid "invalid use of constrained %<auto%> type"
msgstr ""
-#: cp/decl.cc:14067
+#: cp/decl.cc:14069
#, gcc-internal-format
msgid "deduced class type %qD in function return type"
msgstr ""
-#: cp/decl.cc:14077
+#: cp/decl.cc:14079
#, gcc-internal-format
msgid "deduction guide for %qT must have trailing return type"
msgstr ""
-#: cp/decl.cc:14090
+#: cp/decl.cc:14092
#, gcc-internal-format
msgid ""
"trailing return type %qT of deduction guide is not a specialization of %qT"
msgstr ""
-#: cp/decl.cc:14104
+#: cp/decl.cc:14106
#, gcc-internal-format
msgid ""
"trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/decl.cc:14107
+#: cp/decl.cc:14109
#, gcc-internal-format
msgid ""
"%qs function with trailing return type not declared with %<auto%> type "
"specifier"
msgstr ""
-#: cp/decl.cc:14114
+#: cp/decl.cc:14116
#, gcc-internal-format
msgid "a conversion function cannot have a trailing return type"
msgstr ""
-#: cp/decl.cc:14140
+#: cp/decl.cc:14142
#, gcc-internal-format
msgid "%<volatile%>-qualified return type is deprecated"
msgstr ""
-#: cp/decl.cc:14152
+#: cp/decl.cc:14154
#, gcc-internal-format
msgid "%qs declared as function returning a function"
msgstr ""
-#: cp/decl.cc:14158
+#: cp/decl.cc:14160
#, gcc-internal-format
msgid "%qs declared as function returning an array"
msgstr ""
-#: cp/decl.cc:14165
+#: cp/decl.cc:14167
#, gcc-internal-format
msgid "%<constinit%> on function return type is not allowed"
msgstr ""
-#: cp/decl.cc:14198
+#: cp/decl.cc:14200
#, gcc-internal-format
msgid "destructor cannot be static member function"
msgstr ""
-#: cp/decl.cc:14200
+#: cp/decl.cc:14202
#, gcc-internal-format
msgid "constructor cannot be static member function"
msgstr ""
-#: cp/decl.cc:14205
+#: cp/decl.cc:14207
#, gcc-internal-format
msgid "destructors may not be cv-qualified"
msgstr ""
-#: cp/decl.cc:14206
+#: cp/decl.cc:14208
#, gcc-internal-format
msgid "constructors may not be cv-qualified"
msgstr ""
-#: cp/decl.cc:14214
+#: cp/decl.cc:14216
#, gcc-internal-format
msgid "destructors may not be ref-qualified"
msgstr ""
-#: cp/decl.cc:14215
+#: cp/decl.cc:14217
#, gcc-internal-format
msgid "constructors may not be ref-qualified"
msgstr ""
-#: cp/decl.cc:14233
+#: cp/decl.cc:14235
#, gcc-internal-format
msgid "constructors cannot be declared %<virtual%>"
msgstr ""
-#: cp/decl.cc:14250
+#: cp/decl.cc:14252
#, gcc-internal-format
msgid "virtual functions cannot be friends"
msgstr ""
-#: cp/decl.cc:14255
+#: cp/decl.cc:14257
#, gcc-internal-format
msgid "friend declaration not in class definition"
msgstr ""
-#: cp/decl.cc:14259
+#: cp/decl.cc:14261
#, gcc-internal-format
msgid "cannot define friend function %qs in a local class definition"
msgstr ""
-#: cp/decl.cc:14269
+#: cp/decl.cc:14271
#, gcc-internal-format
msgid "friend function definition %qs cannot have a name qualified with %<::%>"
msgstr ""
-#: cp/decl.cc:14273
+#: cp/decl.cc:14275
#, gcc-internal-format
msgid ""
"friend function definition %qs cannot have a name qualified with %<%D::%>"
msgstr ""
-#: cp/decl.cc:14299
+#: cp/decl.cc:14301
#, gcc-internal-format
msgid "a non-member function cannot have an explicit object parameter"
msgstr ""
-#: cp/decl.cc:14307
+#: cp/decl.cc:14309
#, gcc-internal-format
msgid "an explicit object member function cannot be %<virtual%>"
msgstr ""
-#: cp/decl.cc:14317
+#: cp/decl.cc:14319
#, gcc-internal-format
msgid "an explicit object member function cannot be %<static%>"
msgstr ""
-#: cp/decl.cc:14326
+#: cp/decl.cc:14328
#, gcc-internal-format
msgid "%qD cannot be an explicit object member function"
msgstr ""
-#: cp/decl.cc:14349
+#: cp/decl.cc:14351
#, gcc-internal-format
msgid "destructors may not have parameters"
msgstr ""
-#: cp/decl.cc:14407
+#: cp/decl.cc:14409
#, gcc-internal-format
msgid "cannot declare pointer to %q#T"
msgstr ""
-#: cp/decl.cc:14420 cp/decl.cc:14427
+#: cp/decl.cc:14422 cp/decl.cc:14429
#, gcc-internal-format
msgid "cannot declare reference to %q#T"
msgstr ""
-#: cp/decl.cc:14429
+#: cp/decl.cc:14431
#, gcc-internal-format
msgid "cannot declare pointer to %q#T member"
msgstr ""
-#: cp/decl.cc:14458
+#: cp/decl.cc:14460
#, gcc-internal-format
msgid "cannot declare reference to qualified function type %qT"
msgstr ""
-#: cp/decl.cc:14459
+#: cp/decl.cc:14461
#, gcc-internal-format
msgid "cannot declare pointer to qualified function type %qT"
msgstr ""
-#: cp/decl.cc:14532
+#: cp/decl.cc:14534
#, gcc-internal-format
msgid ""
"cannot declare reference to %q#T, which is not a typedef or a template type "
"argument"
msgstr ""
-#: cp/decl.cc:14611
+#: cp/decl.cc:14613
#, gcc-internal-format
msgid "template-id %qD used as a declarator"
msgstr ""
-#: cp/decl.cc:14637
+#: cp/decl.cc:14639
#, gcc-internal-format
msgid "member functions are implicitly friends of their class"
msgstr ""
-#: cp/decl.cc:14642
+#: cp/decl.cc:14644
#, gcc-internal-format
msgid "extra qualification %<%T::%> on member %qs"
msgstr ""
-#: cp/decl.cc:14672
+#: cp/decl.cc:14674
#, gcc-internal-format
msgid "cannot define member function %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.cc:14674
+#: cp/decl.cc:14676
#, gcc-internal-format
msgid "cannot declare member function %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.cc:14682
+#: cp/decl.cc:14684
#, gcc-internal-format
msgid "cannot declare member %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.cc:14722
+#: cp/decl.cc:14724
#, gcc-internal-format
msgid "non-parameter %qs cannot be a parameter pack"
msgstr ""
-#: cp/decl.cc:14731
+#: cp/decl.cc:14733
#, gcc-internal-format
msgid "data member may not have variably modified type %qT"
msgstr ""
-#: cp/decl.cc:14734
+#: cp/decl.cc:14736
#, gcc-internal-format
msgid "parameter may not have variably modified type %qT"
msgstr ""
-#: cp/decl.cc:14745
+#: cp/decl.cc:14747
#, gcc-internal-format
msgid "%<explicit%> outside class declaration"
msgstr ""
-#: cp/decl.cc:14748
+#: cp/decl.cc:14750
#, gcc-internal-format
msgid "%<explicit%> in friend declaration"
msgstr ""
-#: cp/decl.cc:14751
+#: cp/decl.cc:14753
#, gcc-internal-format
msgid ""
"only declarations of constructors and conversion operators can be "
"%<explicit%>"
msgstr ""
-#: cp/decl.cc:14761
+#: cp/decl.cc:14763
#, gcc-internal-format
msgid "non-member %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14768
+#: cp/decl.cc:14770
#, gcc-internal-format
msgid "non-object member %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14774
+#: cp/decl.cc:14776
#, gcc-internal-format
msgid "function %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14780
+#: cp/decl.cc:14782
#, gcc-internal-format
msgid "%<static%> %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14786
+#: cp/decl.cc:14788
#, gcc-internal-format
msgid "%<const%> %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14792
+#: cp/decl.cc:14794
#, gcc-internal-format
msgid "reference %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.cc:14808
+#: cp/decl.cc:14810
#, gcc-internal-format
msgid "typedef may not be a function definition"
msgstr ""
-#: cp/decl.cc:14811
+#: cp/decl.cc:14813
#, gcc-internal-format
msgid "typedef may not be a member function definition"
msgstr ""
-#: cp/decl.cc:14837
+#: cp/decl.cc:14839
#, gcc-internal-format
msgid "%<auto%> not allowed in alias declaration"
msgstr ""
-#: cp/decl.cc:14840
+#: cp/decl.cc:14842
#, gcc-internal-format
msgid "typedef declared %<auto%>"
msgstr ""
-#: cp/decl.cc:14845
+#: cp/decl.cc:14847
#, gcc-internal-format
msgid "requires-clause on typedef"
msgstr ""
-#: cp/decl.cc:14849
+#: cp/decl.cc:14851
#, gcc-internal-format
msgid "typedef name may not be a nested-name-specifier"
msgstr ""
-#: cp/decl.cc:14875
+#: cp/decl.cc:14877
#, gcc-internal-format
msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
msgstr ""
-#: cp/decl.cc:14964
+#: cp/decl.cc:14966
#, gcc-internal-format
msgid "%<inline%> specified for friend class declaration"
msgstr ""
-#: cp/decl.cc:14972
+#: cp/decl.cc:14974
#, gcc-internal-format
msgid "template parameters cannot be friends"
msgstr ""
-#: cp/decl.cc:14974
+#: cp/decl.cc:14976
#, gcc-internal-format
msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
msgstr ""
-#: cp/decl.cc:14978
+#: cp/decl.cc:14980
#, gcc-internal-format
msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
msgstr ""
-#: cp/decl.cc:14991
+#: cp/decl.cc:14993
#, gcc-internal-format
msgid "trying to make class %qT a friend of global scope"
msgstr ""
-#: cp/decl.cc:15011
+#: cp/decl.cc:15013
#, gcc-internal-format
msgid "invalid qualifiers on non-member function type"
msgstr ""
-#: cp/decl.cc:15015
+#: cp/decl.cc:15017
#, gcc-internal-format
msgid "requires-clause on type-id"
msgstr ""
-#: cp/decl.cc:15025
+#: cp/decl.cc:15027
#, gcc-internal-format
msgid "abstract declarator %qT used as declaration"
msgstr ""
-#: cp/decl.cc:15040
+#: cp/decl.cc:15042
#, gcc-internal-format
msgid "requires-clause on declaration of non-function type %qT"
msgstr ""
-#: cp/decl.cc:15059
+#: cp/decl.cc:15061
#, gcc-internal-format
msgid "cannot use %<::%> in parameter declaration"
msgstr ""
-#: cp/decl.cc:15069 cp/parser.cc:21410
+#: cp/decl.cc:15071 cp/parser.cc:21410
#, gcc-internal-format
msgid "cannot declare a parameter with %<decltype(auto)%>"
msgstr ""
-#: cp/decl.cc:15076
+#: cp/decl.cc:15078
#, gcc-internal-format
msgid ""
"missing template argument list after %qE; template placeholder not permitted "
"in parameter"
msgstr ""
-#: cp/decl.cc:15079
+#: cp/decl.cc:15081
#, gcc-internal-format
msgid "or use %<auto%> for an abbreviated function template"
msgstr ""
-#: cp/decl.cc:15085 cp/parser.cc:26076
+#: cp/decl.cc:15087 cp/parser.cc:26076
#, gcc-internal-format
msgid "%<auto%> parameter not permitted in this context"
msgstr ""
-#: cp/decl.cc:15095
+#: cp/decl.cc:15097
#, gcc-internal-format
msgid "parameter declared %<auto%>"
msgstr ""
-#: cp/decl.cc:15149 cp/parser.cc:3855
+#: cp/decl.cc:15151 cp/parser.cc:3855
#, gcc-internal-format
msgid "invalid use of template-name %qE without an argument list"
msgstr ""
-#: cp/decl.cc:15153
+#: cp/decl.cc:15155
#, gcc-internal-format
msgid "non-static data member declared with placeholder %qT"
msgstr ""
-#: cp/decl.cc:15173
+#: cp/decl.cc:15175
#, gcc-internal-format
msgid "ISO C++ forbids flexible array member %qs"
msgstr ""
-#: cp/decl.cc:15176
+#: cp/decl.cc:15178
#, gcc-internal-format
msgid "ISO C++ forbids flexible array members"
msgstr ""
#. Something like struct S { int N::j; };
-#: cp/decl.cc:15192
+#: cp/decl.cc:15194
#, gcc-internal-format
msgid "invalid use of %<::%>"
msgstr ""
-#: cp/decl.cc:15213
+#: cp/decl.cc:15215
#, gcc-internal-format
msgid "declaration of function %qD in invalid context"
msgstr ""
-#: cp/decl.cc:15223
+#: cp/decl.cc:15225
#, gcc-internal-format
msgid "function %qD declared %<virtual%> inside a union"
msgstr ""
-#: cp/decl.cc:15233
+#: cp/decl.cc:15235
#, gcc-internal-format
msgid "%qD cannot be declared %<virtual%>, since it is always static"
msgstr ""
-#: cp/decl.cc:15247
+#: cp/decl.cc:15249
#, gcc-internal-format
msgid "expected qualified name in friend declaration for destructor %qD"
msgstr ""
-#: cp/decl.cc:15254
+#: cp/decl.cc:15256
#, gcc-internal-format
msgid "declaration of %qD as member of %qT"
msgstr ""
-#: cp/decl.cc:15261 cp/decl.cc:15274
+#: cp/decl.cc:15263 cp/decl.cc:15276
#, gcc-internal-format
msgid "a destructor cannot be %qs"
msgstr ""
-#: cp/decl.cc:15280
+#: cp/decl.cc:15282
#, gcc-internal-format
msgid "expected qualified name in friend declaration for constructor %qD"
msgstr ""
-#: cp/decl.cc:15289
+#: cp/decl.cc:15291
#, gcc-internal-format
msgid "a constructor cannot be %<concept%>"
msgstr ""
-#: cp/decl.cc:15295
+#: cp/decl.cc:15297
#, gcc-internal-format
msgid "a concept cannot be a member function"
msgstr ""
-#: cp/decl.cc:15303 cp/decl.cc:15662
+#: cp/decl.cc:15305 cp/decl.cc:15664
#, gcc-internal-format
msgid "%qD cannot be %qs"
msgstr ""
-#: cp/decl.cc:15313
+#: cp/decl.cc:15315
#, gcc-internal-format
msgid "specialization of variable template %qD declared as function"
msgstr ""
-#: cp/decl.cc:15316
+#: cp/decl.cc:15318
#, gcc-internal-format
msgid "variable template declared here"
msgstr ""
-#: cp/decl.cc:15381
+#: cp/decl.cc:15383
#, gcc-internal-format
msgid "field %qD has incomplete type %qT"
msgstr ""
-#: cp/decl.cc:15386
+#: cp/decl.cc:15388
#, gcc-internal-format
msgid "name %qT has incomplete type"
msgstr ""
-#: cp/decl.cc:15406
+#: cp/decl.cc:15408
#, gcc-internal-format
msgid "%qE is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cp/decl.cc:15409
+#: cp/decl.cc:15411
#, gcc-internal-format
msgid ""
"unnamed field is neither function nor member function; cannot be declared "
"friend"
msgstr ""
-#: cp/decl.cc:15428 cp/parser.cc:21976 cp/parser.cc:28868
+#: cp/decl.cc:15430 cp/parser.cc:21976 cp/parser.cc:28868
#, gcc-internal-format
msgid ""
"an attribute that appertains to a friend declaration that is not a "
"definition is ignored"
msgstr ""
-#: cp/decl.cc:15478 cp/decl.cc:15489
+#: cp/decl.cc:15480 cp/decl.cc:15491
#, gcc-internal-format
msgid "static data member %qE declared %qs"
msgstr ""
-#: cp/decl.cc:15483
+#: cp/decl.cc:15485
#, gcc-internal-format
msgid "%<constexpr%> static data member %qD must have an initializer"
msgstr ""
-#: cp/decl.cc:15526 cp/decl.cc:15534 cp/decl.cc:15541 cp/decl.cc:15548
+#: cp/decl.cc:15528 cp/decl.cc:15536 cp/decl.cc:15543 cp/decl.cc:15550
#, gcc-internal-format
msgid "non-static data member %qE declared %qs"
msgstr ""
-#: cp/decl.cc:15600
+#: cp/decl.cc:15602
#, gcc-internal-format
msgid "storage class %<auto%> invalid for function %qs"
msgstr ""
-#: cp/decl.cc:15603
+#: cp/decl.cc:15605
#, gcc-internal-format
msgid "storage class %<register%> invalid for function %qs"
msgstr ""
-#: cp/decl.cc:15609
+#: cp/decl.cc:15611
#, gcc-internal-format
msgid "storage class %<__thread%> invalid for function %qs"
msgstr ""
-#: cp/decl.cc:15613
+#: cp/decl.cc:15615
#, gcc-internal-format
msgid "storage class %<thread_local%> invalid for function %qs"
msgstr ""
-#: cp/decl.cc:15618
+#: cp/decl.cc:15620
#, gcc-internal-format
msgid "%<constinit%> specifier invalid for function %qs"
msgstr ""
-#: cp/decl.cc:15621
+#: cp/decl.cc:15623
#, gcc-internal-format
msgid "virt-specifiers in %qs not allowed outside a class definition"
msgstr ""
-#: cp/decl.cc:15633
+#: cp/decl.cc:15635
#, gcc-internal-format
msgid ""
"%<static%> specifier invalid for function %qs declared out of global scope"
msgstr ""
-#: cp/decl.cc:15637
+#: cp/decl.cc:15639
#, gcc-internal-format
msgid ""
"%<inline%> specifier invalid for function %qs declared out of global scope"
msgstr ""
-#: cp/decl.cc:15645
+#: cp/decl.cc:15647
#, gcc-internal-format
msgid "virtual non-class function %qs"
msgstr ""
-#: cp/decl.cc:15652
+#: cp/decl.cc:15654
#, gcc-internal-format
msgid "%qs defined in a non-class scope"
msgstr ""
-#: cp/decl.cc:15653
+#: cp/decl.cc:15655
#, gcc-internal-format
msgid "%qs declared in a non-class scope"
msgstr ""
-#: cp/decl.cc:15696
+#: cp/decl.cc:15698
#, gcc-internal-format
msgid "cannot declare member function %qD to have static linkage"
msgstr ""
-#: cp/decl.cc:15705
+#: cp/decl.cc:15707
#, gcc-internal-format
msgid "cannot declare static function inside another function"
msgstr ""
-#: cp/decl.cc:15746
+#: cp/decl.cc:15748
#, gcc-internal-format
msgid ""
"%<static%> may not be used when defining (as opposed to declaring) a static "
"data member"
msgstr ""
-#: cp/decl.cc:15753
+#: cp/decl.cc:15755
#, gcc-internal-format
msgid "static member %qD declared %<register%>"
msgstr ""
-#: cp/decl.cc:15759
+#: cp/decl.cc:15761
#, gcc-internal-format
msgid "cannot explicitly declare member %q#D to have extern linkage"
msgstr ""
-#: cp/decl.cc:15767
+#: cp/decl.cc:15769
#, gcc-internal-format
msgid "declaration of %<constexpr%> variable %qD is not a definition"
msgstr ""
-#: cp/decl.cc:15774
+#: cp/decl.cc:15776
#, gcc-internal-format
msgid "a variable cannot be declared %<consteval%>"
msgstr ""
-#: cp/decl.cc:15806
+#: cp/decl.cc:15808
#, gcc-internal-format
msgid "%qs initialized and declared %<extern%>"
msgstr ""
-#: cp/decl.cc:15811
+#: cp/decl.cc:15813
#, gcc-internal-format
msgid "%qs has both %<extern%> and initializer"
msgstr ""
-#: cp/decl.cc:16013
+#: cp/decl.cc:16015
#, gcc-internal-format
msgid "default argument %qE uses %qD"
msgstr ""
-#: cp/decl.cc:16016
+#: cp/decl.cc:16018
#, gcc-internal-format
msgid "default argument %qE uses local variable %qD"
msgstr ""
-#: cp/decl.cc:16143
+#: cp/decl.cc:16145
#, gcc-internal-format
msgid "invalid use of cv-qualified type %qT in parameter declaration"
msgstr ""
-#: cp/decl.cc:16147
+#: cp/decl.cc:16149
#, gcc-internal-format
msgid "invalid use of type %<void%> in parameter declaration"
msgstr ""
-#: cp/decl.cc:16176
+#: cp/decl.cc:16178
#, gcc-internal-format
msgid "%<volatile%>-qualified parameter is deprecated"
msgstr ""
-#: cp/decl.cc:16184
+#: cp/decl.cc:16186
#, gcc-internal-format
msgid "parameter %qD invalidly declared method type"
msgstr ""
-#: cp/decl.cc:16209
+#: cp/decl.cc:16211
#, gcc-internal-format
msgid "parameter %qD includes pointer to array of unknown bound %qT"
msgstr ""
-#: cp/decl.cc:16211
+#: cp/decl.cc:16213
#, gcc-internal-format
msgid "parameter %qD includes reference to array of unknown bound %qT"
msgstr ""
-#: cp/decl.cc:16494
+#: cp/decl.cc:16496
#, gcc-internal-format
msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
msgstr ""
-#: cp/decl.cc:16573
+#: cp/decl.cc:16575
#, gcc-internal-format
msgid "%qD may not be declared within a namespace"
msgstr ""
-#: cp/decl.cc:16580
+#: cp/decl.cc:16582
#, gcc-internal-format
msgid "%qD may not be declared as static"
msgstr ""
-#: cp/decl.cc:16638
+#: cp/decl.cc:16640
#, gcc-internal-format
msgid "%qD must be a non-static member function"
msgstr ""
-#: cp/decl.cc:16646
+#: cp/decl.cc:16648
#, gcc-internal-format
msgid "%qD must be a member function"
msgstr ""
-#: cp/decl.cc:16654
+#: cp/decl.cc:16656
#, gcc-internal-format
msgid ""
"%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu+"
"+23%>"
msgstr ""
-#: cp/decl.cc:16664
+#: cp/decl.cc:16666
#, gcc-internal-format
msgid ""
"%qD must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.cc:16674
+#: cp/decl.cc:16676
#, gcc-internal-format
msgid "%qD must have an argument of class or enumerated type"
msgstr ""
#. 13.4.0.3
-#: cp/decl.cc:16705
+#: cp/decl.cc:16707
#, gcc-internal-format
msgid "ISO C++ prohibits overloading %<operator ?:%>"
msgstr ""
-#: cp/decl.cc:16715
+#: cp/decl.cc:16717
#, gcc-internal-format
msgid "%qD must not have variable number of arguments"
msgstr ""
-#: cp/decl.cc:16741
+#: cp/decl.cc:16743
#, gcc-internal-format
msgid "%qD must have either zero or one argument"
msgstr ""
-#: cp/decl.cc:16742
+#: cp/decl.cc:16744
#, gcc-internal-format
msgid "%qD must have either one or two arguments"
msgstr ""
-#: cp/decl.cc:16754
+#: cp/decl.cc:16756
#, gcc-internal-format
msgid "postfix %qD must have %<int%> as its argument"
msgstr ""
-#: cp/decl.cc:16755
+#: cp/decl.cc:16757
#, gcc-internal-format
msgid "postfix %qD must have %<int%> as its second argument"
msgstr ""
-#: cp/decl.cc:16766
+#: cp/decl.cc:16768
#, gcc-internal-format
msgid "%qD must have no arguments"
msgstr ""
-#: cp/decl.cc:16767 cp/decl.cc:16777
+#: cp/decl.cc:16769 cp/decl.cc:16779
#, gcc-internal-format
msgid "%qD must have exactly one argument"
msgstr ""
-#: cp/decl.cc:16778
+#: cp/decl.cc:16780
#, gcc-internal-format
msgid "%qD must have exactly two arguments"
msgstr ""
-#: cp/decl.cc:16793
+#: cp/decl.cc:16795
#, gcc-internal-format
msgid "%qD cannot have default arguments"
msgstr ""
-#: cp/decl.cc:16817
+#: cp/decl.cc:16819
#, gcc-internal-format
msgid "converting %qT to %<void%> will never use a type conversion operator"
msgstr ""
-#: cp/decl.cc:16824
+#: cp/decl.cc:16826
#, gcc-internal-format
msgid ""
"converting %qT to a reference to the same type will never use a type "
"conversion operator"
msgstr ""
-#: cp/decl.cc:16826
+#: cp/decl.cc:16828
#, gcc-internal-format
msgid ""
"converting %qT to the same type will never use a type conversion operator"
msgstr ""
-#: cp/decl.cc:16835
+#: cp/decl.cc:16837
#, 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:16837
+#: cp/decl.cc:16839
#, gcc-internal-format
msgid ""
"converting %qT to a base class %qT will never use a type conversion operator"
msgstr ""
-#: cp/decl.cc:16853
+#: cp/decl.cc:16855
#, gcc-internal-format
msgid "user-defined %qD always evaluates both arguments"
msgstr ""
-#: cp/decl.cc:16872
+#: cp/decl.cc:16874
#, gcc-internal-format
msgid "prefix %qD should return %qT"
msgstr ""
-#: cp/decl.cc:16879
+#: cp/decl.cc:16881
#, gcc-internal-format
msgid "postfix %qD should return %qT"
msgstr ""
-#: cp/decl.cc:16891
+#: cp/decl.cc:16893
#, gcc-internal-format
msgid "%qD should return by value"
msgstr ""
-#: cp/decl.cc:16946
+#: cp/decl.cc:16948
#, gcc-internal-format
msgid "using template type parameter %qT after %qs"
msgstr ""
-#: cp/decl.cc:16970
+#: cp/decl.cc:16972
#, gcc-internal-format
msgid "using alias template specialization %qT after %qs"
msgstr ""
-#: cp/decl.cc:16973
+#: cp/decl.cc:16975
#, gcc-internal-format
msgid "using typedef-name %qD after %qs"
msgstr ""
-#: cp/decl.cc:16975
+#: cp/decl.cc:16977
#, gcc-internal-format
msgid "%qD has a previous declaration here"
msgstr ""
-#: cp/decl.cc:16984
+#: cp/decl.cc:16986
#, gcc-internal-format
msgid "%qT referred to as %qs"
msgstr ""
-#: cp/decl.cc:16985 cp/decl.cc:16993
+#: cp/decl.cc:16987 cp/decl.cc:16995
#, gcc-internal-format
msgid "%qT has a previous declaration here"
msgstr ""
-#: cp/decl.cc:16992
+#: cp/decl.cc:16994
#, gcc-internal-format
msgid "%qT referred to as enum"
msgstr ""
@@ -62597,100 +62598,100 @@ msgstr ""
#. void f(class C); // No template header here
#.
#. then the required template argument is missing.
-#: cp/decl.cc:17007
+#: cp/decl.cc:17009
#, gcc-internal-format
msgid "template argument required for %<%s %T%>"
msgstr ""
-#: cp/decl.cc:17050 cp/name-lookup.cc:6232 cp/name-lookup.cc:6365
+#: cp/decl.cc:17052 cp/name-lookup.cc:6235 cp/name-lookup.cc:6368
#: cp/parser.cc:7477 cp/parser.cc:33034
#, gcc-internal-format
msgid "reference to %qD is ambiguous"
msgstr ""
-#: cp/decl.cc:17060
+#: cp/decl.cc:17062
#, gcc-internal-format
msgid "class template %qD redeclared as non-template"
msgstr ""
-#: cp/decl.cc:17082 cp/name-lookup.cc:5921
+#: cp/decl.cc:17084 cp/name-lookup.cc:5924
#, gcc-internal-format
msgid "%qD has the same name as the class in which it is declared"
msgstr ""
-#: cp/decl.cc:17111 cp/friend.cc:318 cp/parser.cc:3680 cp/parser.cc:7181
+#: cp/decl.cc:17113 cp/friend.cc:318 cp/parser.cc:3680 cp/parser.cc:7181
#: cp/pt.cc:10128
#, gcc-internal-format
msgid "%qT is not a template"
msgstr ""
-#: cp/decl.cc:17116
+#: cp/decl.cc:17118
#, gcc-internal-format
msgid "perhaps you want to explicitly add %<%T::%>"
msgstr ""
-#: cp/decl.cc:17221
+#: cp/decl.cc:17223
#, gcc-internal-format
msgid "use of enum %q#D without previous declaration"
msgstr ""
-#: cp/decl.cc:17248
+#: cp/decl.cc:17250
#, gcc-internal-format
msgid "redeclaration of %qT as a non-template"
msgstr ""
-#: cp/decl.cc:17385
+#: cp/decl.cc:17387
#, gcc-internal-format
msgid "derived union %qT invalid"
msgstr ""
-#: cp/decl.cc:17392
+#: cp/decl.cc:17394
#, gcc-internal-format
msgid "%qT defined with multiple direct bases"
msgstr ""
-#: cp/decl.cc:17403
+#: cp/decl.cc:17405
#, gcc-internal-format
msgid "%qT defined with direct virtual base"
msgstr ""
-#: cp/decl.cc:17428
+#: cp/decl.cc:17430
#, gcc-internal-format
msgid "base type %qT fails to be a struct or class type"
msgstr ""
-#: cp/decl.cc:17458
+#: cp/decl.cc:17460
#, gcc-internal-format
msgid "recursive type %qT undefined"
msgstr ""
-#: cp/decl.cc:17460
+#: cp/decl.cc:17462
#, gcc-internal-format
msgid "duplicate base type %qT invalid"
msgstr ""
-#: cp/decl.cc:17618
+#: cp/decl.cc:17620
#, gcc-internal-format
msgid "scoped/unscoped mismatch in enum %q#T"
msgstr ""
-#: cp/decl.cc:17621 cp/decl.cc:17630 cp/decl.cc:17641 cp/decl.cc:18242
+#: cp/decl.cc:17623 cp/decl.cc:17632 cp/decl.cc:17643 cp/decl.cc:18244
#: cp/parser.cc:22331
#, gcc-internal-format
msgid "previous definition here"
msgstr ""
-#: cp/decl.cc:17627
+#: cp/decl.cc:17629
#, gcc-internal-format
msgid "underlying type mismatch in enum %q#T"
msgstr ""
-#: cp/decl.cc:17638
+#: cp/decl.cc:17640
#, gcc-internal-format
msgid "different underlying type in enum %q#T"
msgstr ""
-#: cp/decl.cc:17713
+#: cp/decl.cc:17715
#, gcc-internal-format
msgid "underlying type %qT of %qT must be an integral type"
msgstr ""
@@ -62699,83 +62700,83 @@ msgstr ""
#.
#. IF no integral type can represent all the enumerator values, the
#. enumeration is ill-formed.
-#: cp/decl.cc:17862
+#: cp/decl.cc:17864
#, gcc-internal-format
msgid "no integral type can represent all of the enumerator values for %qT"
msgstr ""
-#: cp/decl.cc:18049
+#: cp/decl.cc:18051
#, gcc-internal-format
msgid ""
"enumerator value for %qD must have integral or unscoped enumeration type"
msgstr ""
-#: cp/decl.cc:18059
+#: cp/decl.cc:18061
#, gcc-internal-format
msgid "enumerator value for %qD is not an integer constant"
msgstr ""
-#: cp/decl.cc:18108
+#: cp/decl.cc:18110
#, gcc-internal-format
msgid "incremented enumerator value is too large for %<unsigned long%>"
msgstr ""
-#: cp/decl.cc:18109
+#: cp/decl.cc:18111
#, gcc-internal-format
msgid "incremented enumerator value is too large for %<long%>"
msgstr ""
-#: cp/decl.cc:18120
+#: cp/decl.cc:18122
#, gcc-internal-format
msgid "overflow in enumeration values at %qD"
msgstr ""
-#: cp/decl.cc:18140
+#: cp/decl.cc:18142
#, gcc-internal-format
msgid "enumerator value %qE is outside the range of underlying type %qT"
msgstr ""
-#: cp/decl.cc:18240 cp/parser.cc:22329
+#: cp/decl.cc:18242 cp/parser.cc:22329
#, gcc-internal-format
msgid "multiple definition of %q#T"
msgstr ""
-#: cp/decl.cc:18314
+#: cp/decl.cc:18316
#, gcc-internal-format
msgid "return type %q#T is incomplete"
msgstr ""
-#: cp/decl.cc:18481 cp/typeck.cc:11344
+#: cp/decl.cc:18483 cp/typeck.cc:11344
#, gcc-internal-format
msgid "%<operator=%> should return a reference to %<*this%>"
msgstr ""
-#: cp/decl.cc:19300
+#: cp/decl.cc:19302
#, gcc-internal-format
msgid "no return statements in function returning %qT"
msgstr ""
-#: cp/decl.cc:19302 cp/typeck.cc:11222
+#: cp/decl.cc:19304 cp/typeck.cc:11222
#, gcc-internal-format
msgid "only plain %<auto%> return type can be deduced to %<void%>"
msgstr ""
-#: cp/decl.cc:19358
+#: cp/decl.cc:19360
#, gcc-internal-format
msgid "no return statement in %<constexpr%> function returning non-void"
msgstr ""
-#: cp/decl.cc:19549
+#: cp/decl.cc:19551
#, gcc-internal-format
msgid "%qD is already defined in class %qT"
msgstr ""
-#: cp/decl.cc:19946
+#: cp/decl.cc:19949
#, gcc-internal-format
msgid "using %qs"
msgstr ""
-#: cp/decl.cc:19958
+#: cp/decl.cc:19961
#, gcc-internal-format
msgid "use of %qD before deduction of %<auto%>"
msgstr ""
@@ -63205,145 +63206,280 @@ msgstr ""
msgid "use of built-in parameter pack %qD outside of a template"
msgstr ""
-#: cp/error.cc:4305
+#: cp/error.cc:3791
+msgid " inlined from %qD at %r%s:%d:%d%R"
+msgstr ""
+
+#: cp/error.cc:3796
+msgid " inlined from %qD at %r%s:%d%R"
+msgstr ""
+
+#: cp/error.cc:3802
+#, gcc-internal-format
+msgid " inlined from %qD"
+msgstr ""
+
+#: cp/error.cc:3828
+#, gcc-internal-format
+msgid "In static member function %qD"
+msgstr ""
+
+#: cp/error.cc:3830
+#, gcc-internal-format
+msgid "In copy constructor %qD"
+msgstr ""
+
+#: cp/error.cc:3832
+#, gcc-internal-format
+msgid "In constructor %qD"
+msgstr ""
+
+#: cp/error.cc:3834
+#, gcc-internal-format
+msgid "In destructor %qD"
+msgstr ""
+
+#: cp/error.cc:3836
+#, gcc-internal-format
+msgid "In lambda function"
+msgstr ""
+
+#: cp/error.cc:3838
+#, gcc-internal-format
+msgid "In explicit object member function %qD"
+msgstr ""
+
+#: cp/error.cc:3840
+#, gcc-internal-format
+msgid "In member function %qD"
+msgstr ""
+
+#: cp/error.cc:3843
+#, gcc-internal-format
+msgid "In function %qD"
+msgstr ""
+
+#: cp/error.cc:3870
+msgid "%s%s%sIn substitution of %qS:\n"
+msgstr ""
+
+#: cp/error.cc:3871
+#, gcc-internal-format
+msgid "%s%s%sIn instantiation of %q#D:\n"
+msgstr ""
+
+#: cp/error.cc:3891
+msgid "%r%s:%d:%d:%R "
+msgstr ""
+
+#: cp/error.cc:3894
+msgid "%r%s:%d:%R "
+msgstr ""
+
+#: cp/error.cc:3987
+msgid "recursively required by substitution of %qS\n"
+msgstr ""
+
+#: cp/error.cc:3988
+msgid "required by substitution of %qS\n"
+msgstr ""
+
+#: cp/error.cc:3993
+#, gcc-internal-format
+msgid "recursively required from %q#D\n"
+msgstr ""
+
+#: cp/error.cc:3994
+#, gcc-internal-format
+msgid "required from %q#D\n"
+msgstr ""
+
+#: cp/error.cc:4001
+#, gcc-internal-format
+msgid "recursively required from here\n"
+msgstr ""
+
+#: cp/error.cc:4002
+#, gcc-internal-format
+msgid "required from here\n"
+msgstr ""
+
+#: cp/error.cc:4052
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"[ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to "
+"disable ]\n"
+msgstr ""
+
+#: cp/error.cc:4104
+#, gcc-internal-format
+msgid "in %<constexpr%> expansion of %qs"
+msgstr ""
+
+#: cp/error.cc:4117
+#, gcc-internal-format
+msgid "required by the constraints of %q#D\n"
+msgstr ""
+
+#: cp/error.cc:4132
+#, gcc-internal-format
+msgid "required for the satisfaction of %qE"
+msgstr ""
+
+#: cp/error.cc:4154
+#, gcc-internal-format
+msgid "required for constraint satisfaction\n"
+msgstr ""
+
+#: cp/error.cc:4185
+#, gcc-internal-format
+msgid "in requirements with "
+msgstr ""
+
+#: cp/error.cc:4186
+#, gcc-internal-format
+msgid "in requirements "
+msgstr ""
+
+#: cp/error.cc:4304
#, gcc-internal-format
msgid "(no argument)"
msgstr ""
-#: cp/error.cc:4399
+#: cp/error.cc:4398
#, gcc-internal-format
msgid "[...]"
msgstr ""
-#: cp/error.cc:4751
+#: cp/error.cc:4750
#, gcc-internal-format
msgid ""
"extended initializer lists only available with %<-std=c++11%> or %<-std=gnu+"
"+11%>"
msgstr ""
-#: cp/error.cc:4756
+#: cp/error.cc:4755
#, gcc-internal-format
msgid ""
"explicit conversion operators only available with %<-std=c++11%> or %<-"
"std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4761
+#: cp/error.cc:4760
#, gcc-internal-format
msgid ""
"variadic templates only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4766
+#: cp/error.cc:4765
#, gcc-internal-format
msgid ""
"lambda expressions only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4771
+#: cp/error.cc:4770
#, gcc-internal-format
msgid "C++11 auto only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4776
+#: cp/error.cc:4775
#, gcc-internal-format
msgid "scoped enums only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4781
+#: cp/error.cc:4780
#, gcc-internal-format
msgid ""
"defaulted and deleted functions only available with %<-std=c++11%> or %<-"
"std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4787
+#: cp/error.cc:4786
#, gcc-internal-format
msgid ""
"inline namespaces only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4792
+#: cp/error.cc:4791
#, gcc-internal-format
msgid ""
"override controls (override/final) only available with %<-std=c++11%> or %<-"
"std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4797
+#: cp/error.cc:4796
#, gcc-internal-format
msgid ""
"non-static data member initializers only available with %<-std=c++11%> or %<-"
"std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4802
+#: cp/error.cc:4801
#, gcc-internal-format
msgid ""
"user-defined literals only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4807
+#: cp/error.cc:4806
#, gcc-internal-format
msgid ""
"delegating constructors only available with %<-std=c++11%> or %<-std=gnu+"
"+11%>"
msgstr ""
-#: cp/error.cc:4812
+#: cp/error.cc:4811
#, gcc-internal-format
msgid ""
"inheriting constructors only available with %<-std=c++11%> or %<-std=gnu+"
"+11%>"
msgstr ""
-#: cp/error.cc:4818
+#: cp/error.cc:4817
#, gcc-internal-format
msgid "C++11 attributes only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4823
+#: cp/error.cc:4822
#, gcc-internal-format
msgid "ref-qualifiers only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/error.cc:4876
+#: cp/error.cc:4875
#, gcc-internal-format
msgid "incomplete type %qT used in nested name specifier"
msgstr ""
-#: cp/error.cc:4881
+#: cp/error.cc:4880
#, gcc-internal-format
msgid "reference to %<%T::%D%> is ambiguous"
msgstr ""
-#: cp/error.cc:4896
+#: cp/error.cc:4895
#, gcc-internal-format
msgid "%qD is not a member of %qT; did you mean %qs?"
msgstr ""
-#: cp/error.cc:4900 cp/typeck.cc:2897
+#: cp/error.cc:4899 cp/typeck.cc:2897
#, gcc-internal-format
msgid "%qD is not a member of %qT"
msgstr ""
-#: cp/error.cc:4922
+#: cp/error.cc:4921
#, gcc-internal-format
msgid "%qD is not a member of %qD; did you mean %qs?"
msgstr ""
-#: cp/error.cc:4926 cp/typeck.cc:3492
+#: cp/error.cc:4925 cp/typeck.cc:3492
#, gcc-internal-format
msgid "%qD is not a member of %qD"
msgstr ""
-#: cp/error.cc:4937
+#: cp/error.cc:4936
#, gcc-internal-format
msgid "%<::%D%> has not been declared; did you mean %qs?"
msgstr ""
-#: cp/error.cc:4941
+#: cp/error.cc:4940
#, gcc-internal-format
msgid "%<::%D%> has not been declared"
msgstr ""
@@ -63683,7 +63819,7 @@ msgstr ""
msgid "type %qT is not a direct base of %qT"
msgstr ""
-#: cp/init.cc:2376 cp/semantics.cc:4430 rust/backend/rust-tree.cc:4155
+#: cp/init.cc:2376 cp/semantics.cc:4434 rust/backend/rust-tree.cc:4155
#, gcc-internal-format
msgid "%qT is not a class type"
msgstr ""
@@ -63703,7 +63839,7 @@ msgstr ""
msgid "invalid use of non-static member function %qD"
msgstr ""
-#: cp/init.cc:2541 cp/semantics.cc:2752
+#: cp/init.cc:2541 cp/semantics.cc:2755
#, gcc-internal-format
msgid "invalid use of non-static data member %qD"
msgstr ""
@@ -64026,24 +64162,29 @@ msgstr ""
msgid "%qD not defined"
msgstr ""
-#: cp/lex.cc:763
+#: cp/lex.cc:753 cp/parser.cc:3922 cp/parser.cc:32272
+#, gcc-internal-format
+msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
+msgstr ""
+
+#: cp/lex.cc:766
#, gcc-internal-format
msgid "%qD was not declared in this scope; did you mean %qs?"
msgstr ""
-#: cp/lex.cc:767
+#: cp/lex.cc:770
#, gcc-internal-format
msgid "%qD was not declared in this scope"
msgstr ""
-#: cp/lex.cc:810
+#: cp/lex.cc:813
#, gcc-internal-format
msgid ""
"there are no arguments to %qD that depend on a template parameter, so a "
"declaration of %qD must be available"
msgstr ""
-#: cp/lex.cc:819
+#: cp/lex.cc:822
#, gcc-internal-format
msgid ""
"(if you use %<-fpermissive%>, G++ will accept your code, but allowing the "
@@ -64055,12 +64196,12 @@ msgstr ""
msgid " # %E"
msgstr ""
-#: cp/mangle.cc:2663
+#: cp/mangle.cc:2669
#, gcc-internal-format
msgid "mangling %<typeof%>, use %<decltype%> instead"
msgstr ""
-#: cp/mangle.cc:2667
+#: cp/mangle.cc:2673
#, gcc-internal-format
msgid ""
"use of built-in trait %qT in function signature; use library traits instead"
@@ -64068,61 +64209,61 @@ msgstr ""
#. TODO Mangle pack indexing
#. <https://github.com/itanium-cxx-abi/cxx-abi/issues/175>.
-#: cp/mangle.cc:2674
+#: cp/mangle.cc:2680
#, gcc-internal-format
msgid "mangling type pack index"
msgstr ""
-#: cp/mangle.cc:3887
+#: cp/mangle.cc:3893
#, gcc-internal-format
msgid ""
"use of built-in trait %qE in function signature; use library traits instead"
msgstr ""
-#: cp/mangle.cc:3892
+#: cp/mangle.cc:3898
#, gcc-internal-format, gfc-internal-format
msgid "mangling %C"
msgstr ""
-#: cp/mangle.cc:3966
+#: cp/mangle.cc:3972
#, gcc-internal-format
msgid "omitted middle operand to %<?:%> operand cannot be mangled"
msgstr ""
-#: cp/mangle.cc:4539
+#: cp/mangle.cc:4545
#, 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:4585 cp/mangle.cc:4764
+#: cp/mangle.cc:4591 cp/mangle.cc:4770
#, gcc-internal-format
msgid ""
"the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
msgstr ""
-#: cp/mangle.cc:4591 cp/mangle.cc:4770
+#: cp/mangle.cc:4597 cp/mangle.cc:4776
#, gcc-internal-format
msgid ""
"the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
msgstr ""
-#: cp/mangle.cc:4917
+#: cp/mangle.cc:4923
#, 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:4922
+#: cp/mangle.cc:4928
#, gcc-internal-format
msgid ""
"the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-"
"version=%d%>"
msgstr ""
-#: cp/mangle.cc:4927
+#: cp/mangle.cc:4933
#, gcc-internal-format
msgid ""
"the mangled name of the initialization guard variable for %qD changes "
@@ -64451,405 +64592,440 @@ msgstr ""
msgid "unable to represent further imported source locations"
msgstr ""
-#: cp/module.cc:12041
+#: cp/module.cc:12044
#, gcc-internal-format
msgid "mismatching abi tags for %qD with tags %qE"
msgstr ""
-#: cp/module.cc:12045
+#: cp/module.cc:12048
#, gcc-internal-format
msgid "mismatching abi tags for %qD with no tags"
msgstr ""
-#: cp/module.cc:12048
+#: cp/module.cc:12051
#, gcc-internal-format
msgid "existing declaration here with tags %qE"
msgstr ""
-#: cp/module.cc:12051
+#: cp/module.cc:12054
#, gcc-internal-format
msgid "existing declaration here with no tags"
msgstr ""
-#: cp/module.cc:12193
+#: cp/module.cc:12105 cp/module.cc:12229
+#, gcc-internal-format
+msgid "conflicting type for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12114
#, gcc-internal-format
-msgid "conflicting global module declaration %#qD"
+msgid "conflicting language linkage for imported declaration %#qD"
msgstr ""
-#: cp/module.cc:12195
+#: cp/module.cc:12126
+#, gcc-internal-format
+msgid "conflicting argument list for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12133
+#, gcc-internal-format
+msgid "conflicting argument types for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12171
+#, gcc-internal-format
+msgid "conflicting %<noexcept%> specifier for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12189
+#, gcc-internal-format
+msgid "conflicting deduced return type for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12204
+#, gcc-internal-format
+msgid "conflicting %<constexpr%> for imported declaration %#qD"
+msgstr ""
+
+#: cp/module.cc:12220
+#, gcc-internal-format
+msgid "conflicting imported declaration %q#D"
+msgstr ""
+
+#: cp/module.cc:12246
#, gcc-internal-format
msgid "existing declaration %#qD"
msgstr ""
-#: cp/module.cc:12298
+#: cp/module.cc:12349
#, gcc-internal-format
msgid "conflicting default argument for %#qD"
msgstr ""
-#: cp/module.cc:12300 cp/module.cc:12327
+#: cp/module.cc:12351 cp/module.cc:12378
#, gcc-internal-format
msgid "existing default declared here"
msgstr ""
-#: cp/module.cc:12324
+#: cp/module.cc:12375
#, gcc-internal-format
msgid "conflicting default argument for parameter %P of %#qD"
msgstr ""
-#: cp/module.cc:13383
+#: cp/module.cc:13434
#, gcc-internal-format
msgid "definition of %qD does not match"
msgstr ""
-#: cp/module.cc:13385
+#: cp/module.cc:13436
#, gcc-internal-format
msgid "existing definition %qD"
msgstr ""
-#: cp/module.cc:13397
+#: cp/module.cc:13448
#, gcc-internal-format
msgid "enumerator %qD does not match ..."
msgstr ""
-#: cp/module.cc:13399
+#: cp/module.cc:13450
#, gcc-internal-format
msgid "... this enumerator %qD"
msgstr ""
-#: cp/module.cc:13405
+#: cp/module.cc:13456
#, gcc-internal-format
msgid "additional enumerators beginning with %qD"
msgstr ""
-#: cp/module.cc:13409
+#: cp/module.cc:13460
#, gcc-internal-format
msgid "enumeration range differs"
msgstr ""
-#: cp/module.cc:13622
+#: cp/module.cc:13673
#, gcc-internal-format
msgid "%qD is an alias of TU-local type %qT"
msgstr ""
-#: cp/module.cc:13640
+#: cp/module.cc:13691
#, gcc-internal-format
msgid "%qD is a specialization of TU-local template %qD"
msgstr ""
-#: cp/module.cc:13664
+#: cp/module.cc:13715
#, gcc-internal-format
msgid "%qD declared with internal linkage"
msgstr ""
-#: cp/module.cc:13682
+#: cp/module.cc:13733
#, gcc-internal-format
msgid "%qD has no linkage and is declared in an anonymous namespace"
msgstr ""
-#: cp/module.cc:13694
+#: cp/module.cc:13745
#, gcc-internal-format
msgid "%qD has no linkage and is declared within TU-local entity %qT"
msgstr ""
-#: cp/module.cc:13705
+#: cp/module.cc:13756
#, gcc-internal-format
msgid "%qD has no linkage and is declared within TU-local entity %qD"
msgstr ""
-#: cp/module.cc:13737
+#: cp/module.cc:13788
#, gcc-internal-format
msgid ""
"%qT has no name and cannot be differentiated from similar lambdas in other "
"TUs"
msgstr ""
-#: cp/module.cc:13746
+#: cp/module.cc:13797
#, gcc-internal-format
msgid ""
"%qT has no name and is not defined within a class, function, or initializer"
msgstr ""
-#: cp/module.cc:13782
+#: cp/module.cc:13833
#, gcc-internal-format
msgid "%qD has TU-local template argument %qD"
msgstr ""
-#: cp/module.cc:13794
+#: cp/module.cc:13845
#, gcc-internal-format
msgid "%qD has TU-local template argument %qT"
msgstr ""
-#: cp/module.cc:13846
+#: cp/module.cc:13897
#, gcc-internal-format
msgid "%qD refers to TU-local object %qD"
msgstr ""
-#: cp/module.cc:13848
+#: cp/module.cc:13899
#, gcc-internal-format
msgid "%qD refers to TU-local function %qD"
msgstr ""
-#: cp/module.cc:14970
+#: cp/module.cc:15021
#, gcc-internal-format
msgid "%qD exposes TU-local entity %qD"
msgstr ""
-#: cp/module.cc:14981
+#: cp/module.cc:15032
#, gcc-internal-format
msgid "%qD is declared %<constexpr%> and is initialized to a TU-local value"
msgstr ""
-#: cp/module.cc:15019
+#: cp/module.cc:15070
#, gcc-internal-format
msgid ""
"%qD refers to TU-local entity %qD and cannot be instantiated in other TUs"
msgstr ""
-#: cp/module.cc:15616
+#: cp/module.cc:15667
#, gcc-internal-format
msgid "recursive lazy load"
msgstr ""
-#: cp/module.cc:15636
+#: cp/module.cc:15687
#, gcc-internal-format
msgid "cannot import module in its own purview"
msgstr ""
-#: cp/module.cc:15637 cp/module.cc:21219
+#: cp/module.cc:15688 cp/module.cc:21270
#, gcc-internal-format
msgid "module %qs declared here"
msgstr ""
-#: cp/module.cc:15986
+#: cp/module.cc:16037
#, gcc-internal-format
msgid "indirect import %qs is not already loaded"
msgstr ""
-#: cp/module.cc:15992
+#: cp/module.cc:16043
#, gcc-internal-format
msgid "import %qs has CRC mismatch"
msgstr ""
-#: cp/module.cc:18759
+#: cp/module.cc:18810
#, gcc-internal-format
msgid "not exporting %<#define %E%> as it is a keyword"
msgstr ""
-#: cp/module.cc:18999
+#: cp/module.cc:19050
#, gcc-internal-format
msgid "macro definitions of %qE corrupted"
msgstr ""
-#: cp/module.cc:19024 cp/module.cc:19027
+#: cp/module.cc:19075 cp/module.cc:19078
#, gcc-internal-format
msgid "inconsistent imported macro definition %qE"
msgstr ""
-#: cp/module.cc:19033
+#: cp/module.cc:19084
#, gcc-internal-format
msgid "%<#undef %E%>"
msgstr ""
-#: cp/module.cc:19035
+#: cp/module.cc:19086
#, gcc-internal-format
msgid "%<#define %s%>"
msgstr ""
-#: cp/module.cc:19367
+#: cp/module.cc:19418
#, gcc-internal-format
msgid "compiled module file is %qs"
msgstr ""
-#: cp/module.cc:19405 cp/module.cc:19410
+#: cp/module.cc:19456 cp/module.cc:19461
#, gcc-internal-format, gfc-internal-format
msgid "compiled module is %sversion %s"
msgstr ""
-#: cp/module.cc:19416
+#: cp/module.cc:19467
#, gcc-internal-format, gfc-internal-format
msgid "compiler is %sversion %s%s%s"
msgstr ""
-#: cp/module.cc:19446
+#: cp/module.cc:19497
#, gcc-internal-format
msgid "module %qs found"
msgstr ""
-#: cp/module.cc:19448
+#: cp/module.cc:19499
#, gcc-internal-format
msgid "header module expected, module %qs found"
msgstr ""
-#: cp/module.cc:19449
+#: cp/module.cc:19500
#, gcc-internal-format
msgid "module %qs expected, header module found"
msgstr ""
-#: cp/module.cc:19464
+#: cp/module.cc:19515
#, gcc-internal-format
msgid "module %qs CRC mismatch"
msgstr ""
-#: cp/module.cc:19478
+#: cp/module.cc:19529
#, gcc-internal-format
msgid "target & host is %qs:%qs, expected %qs:%qs"
msgstr ""
-#: cp/module.cc:19490
+#: cp/module.cc:19541
#, gcc-internal-format
msgid "language dialect differs %qs, expected %qs"
msgstr ""
-#: cp/module.cc:19510
+#: cp/module.cc:19561
#, gcc-internal-format
msgid "module contains OpenMP, use %<-fopenmp%> to enable"
msgstr ""
-#: cp/module.cc:19512
+#: cp/module.cc:19563
#, gcc-internal-format
msgid "module contains OpenMP, use %<-fopenmp%> or %<-fopenmp-simd%> to enable"
msgstr ""
-#: cp/module.cc:19515
+#: cp/module.cc:19566
#, gcc-internal-format
msgid "module contains OpenACC, use %<-fopenacc%> to enable"
msgstr ""
-#: cp/module.cc:19533
+#: cp/module.cc:19584
#, gcc-internal-format
msgid "fixed tree mismatch"
msgstr ""
-#: cp/module.cc:19624
+#: cp/module.cc:19675
#, gcc-internal-format
msgid "interface partition is not exported"
msgstr ""
-#: cp/module.cc:20181
+#: cp/module.cc:20232
#, gcc-internal-format, gfc-internal-format
msgid "failed to read compiled module cluster %u: %s"
msgstr ""
-#: cp/module.cc:20220
+#: cp/module.cc:20271
#, gcc-internal-format, gfc-internal-format
msgid "failed to read compiled module: %s"
msgstr ""
-#: cp/module.cc:20230
+#: cp/module.cc:20281
#, gcc-internal-format
msgid ""
"consider using %<-fno-module-lazy%>, increasing %<-param-lazy-modules=%u%> "
"value, or increasing the per-process file descriptor limit"
msgstr ""
-#: cp/module.cc:20235
+#: cp/module.cc:20286
#, gcc-internal-format
msgid "imports must be built before being imported"
msgstr ""
-#: cp/module.cc:20238
+#: cp/module.cc:20289
#, gcc-internal-format
msgid "returning to the gate for a mechanical issue"
msgstr ""
-#: cp/module.cc:20559
+#: cp/module.cc:20610
#, gcc-internal-format
msgid "declaring %qD in module %qs conflicts with builtin in global module"
msgstr ""
-#: cp/module.cc:20562
+#: cp/module.cc:20613
#, gcc-internal-format
msgid "declaration %qD conflicts with builtin"
msgstr ""
-#: cp/module.cc:20568
+#: cp/module.cc:20619
#, gcc-internal-format
msgid "redeclaring %qD in module %qs conflicts with import"
msgstr ""
-#: cp/module.cc:20571
+#: cp/module.cc:20622
#, gcc-internal-format
msgid "redeclaring %qD in global module conflicts with import"
msgstr ""
-#: cp/module.cc:20576
+#: cp/module.cc:20627
#, gcc-internal-format
msgid "import declared attached to module %qs"
msgstr ""
-#: cp/module.cc:20580
+#: cp/module.cc:20631
#, gcc-internal-format
msgid "import declared in global module"
msgstr ""
-#: cp/module.cc:20586
+#: cp/module.cc:20637
#, gcc-internal-format
msgid "conflicting declaration of %qD in module %qs"
msgstr ""
-#: cp/module.cc:20589
+#: cp/module.cc:20640
#, gcc-internal-format
msgid "conflicting declaration of %qD in global module"
msgstr ""
-#: cp/module.cc:20594
+#: cp/module.cc:20645
#, gcc-internal-format
msgid "previously declared in module %qs"
msgstr ""
-#: cp/module.cc:20598
+#: cp/module.cc:20649
#, gcc-internal-format
msgid "previously declared in global module"
msgstr ""
-#: cp/module.cc:20737
+#: cp/module.cc:20788
#, gcc-internal-format
msgid ""
"external linkage definition of %qD in header module must be declared "
"%<inline%>"
msgstr ""
-#: cp/module.cc:20752
+#: cp/module.cc:20803
#, gcc-internal-format
msgid "exporting declaration %qD declared in unnamed namespace"
msgstr ""
-#: cp/module.cc:20759
+#: cp/module.cc:20810
#, gcc-internal-format
msgid "exporting declaration %qD with internal linkage"
msgstr ""
-#: cp/module.cc:20912
+#: cp/module.cc:20963
#, gcc-internal-format
msgid "reading CMI %qs"
msgstr ""
-#: cp/module.cc:21063
+#: cp/module.cc:21114
#, gcc-internal-format
msgid "failed to load binding %<%E%s%E%>"
msgstr ""
-#: cp/module.cc:21064
+#: cp/module.cc:21115
#, gcc-internal-format
msgid "failed to load binding %<%E%s%E@%s%>"
msgstr ""
-#: cp/module.cc:21071
+#: cp/module.cc:21122
#, gcc-internal-format
msgid "during load of binding %<%E%s%E%>"
msgstr ""
-#: cp/module.cc:21072
+#: cp/module.cc:21123
#, gcc-internal-format
msgid "during load of binding %<%E%s%E@%s%>"
msgstr ""
-#: cp/module.cc:21134
+#: cp/module.cc:21185
#, gcc-internal-format
msgid "failed to load pendings for %<%E%s%E%>"
msgstr ""
-#: cp/module.cc:21138
+#: cp/module.cc:21189
#, gcc-internal-format
msgid "during load of pendings for %<%E%s%E%>"
msgstr ""
@@ -64861,102 +65037,102 @@ msgstr ""
#. module, so we don't want to confuse things by having to think
#. about whether 'extern "C++" { import foo; }' puts foo's
#. contents into the global module all of a sudden.
-#: cp/module.cc:21183
+#: cp/module.cc:21234
#, gcc-internal-format
msgid "import of named module %qs inside language-linkage block"
msgstr ""
-#: cp/module.cc:21214
+#: cp/module.cc:21265
#, gcc-internal-format
msgid "module already declared"
msgstr ""
-#: cp/module.cc:21215
+#: cp/module.cc:21266
#, gcc-internal-format
msgid "module already imported"
msgstr ""
-#: cp/module.cc:21220
+#: cp/module.cc:21271
#, gcc-internal-format
msgid "module %qs imported here"
msgstr ""
-#: cp/module.cc:21428
+#: cp/module.cc:21479
#, gcc-internal-format
msgid "mismatching compiled module interface: had %qs, got %qs"
msgstr ""
-#: cp/module.cc:21434
+#: cp/module.cc:21485
#, gcc-internal-format, gfc-internal-format
msgid "unknown compiled module interface: %s"
msgstr ""
-#: cp/module.cc:21478
+#: cp/module.cc:21529
#, gcc-internal-format
msgid "cannot determine %<#include%> translation of %s: %s"
msgstr ""
-#: cp/module.cc:21496
+#: cp/module.cc:21547
#, gcc-internal-format
msgid "include %qs translated to import"
msgstr ""
-#: cp/module.cc:21497
+#: cp/module.cc:21548
#, gcc-internal-format
msgid "include %qs processed textually"
msgstr ""
-#: cp/module.cc:21857
+#: cp/module.cc:21908
#, gcc-internal-format
msgid "C++ modules are incompatible with precompiled headers"
msgstr ""
-#: cp/module.cc:21861
+#: cp/module.cc:21912
#, gcc-internal-format
msgid "C++ modules are incompatible with traditional preprocessing"
msgstr ""
-#: cp/module.cc:21893 cp/module.cc:21922
+#: cp/module.cc:21944 cp/module.cc:21973
#, gcc-internal-format
msgid "invalid header name %qs"
msgstr ""
-#: cp/module.cc:21932
+#: cp/module.cc:21983
#, gcc-internal-format
msgid "invalid module name %qs"
msgstr ""
-#: cp/module.cc:22132
+#: cp/module.cc:22183
#, gcc-internal-format
msgid "%<-fmodule-only%> used for non-interface"
msgstr ""
-#: cp/module.cc:22172
+#: cp/module.cc:22223
#, gcc-internal-format
msgid "writing CMI %qs"
msgstr ""
-#: cp/module.cc:22187
+#: cp/module.cc:22238
#, gcc-internal-format
msgid "not writing module %qs due to errors in template bodies"
msgstr ""
-#: cp/module.cc:22190
+#: cp/module.cc:22241
#, gcc-internal-format
msgid "enable %<-Wtemplate-body%> for more details"
msgstr ""
-#: cp/module.cc:22192
+#: cp/module.cc:22243
#, gcc-internal-format
msgid "first error in %qD appeared here"
msgstr ""
-#: cp/module.cc:22256
+#: cp/module.cc:22307
#, gcc-internal-format, gfc-internal-format
msgid "failed to write compiled module: %s"
msgstr ""
-#: cp/module.cc:22353
+#: cp/module.cc:22404
#, gcc-internal-format
msgid "unknown header kind %qs"
msgstr ""
@@ -65013,259 +65189,259 @@ msgstr ""
msgid "friend declaration %qD in local class without prior local declaration"
msgstr ""
-#: cp/name-lookup.cc:4653
+#: cp/name-lookup.cc:4654
#, gcc-internal-format
msgid "%s %<%s(%E)%> %p %d"
msgstr ""
-#: cp/name-lookup.cc:4656
+#: cp/name-lookup.cc:4657
#, gcc-internal-format
msgid "%s %s %p %d"
msgstr ""
-#: cp/name-lookup.cc:5250
+#: cp/name-lookup.cc:5253
#, gcc-internal-format
msgid "exporting %q#D that does not have external linkage"
msgstr ""
-#: cp/name-lookup.cc:5254
+#: cp/name-lookup.cc:5257
#, gcc-internal-format
msgid "%q#D declared here with no linkage"
msgstr ""
-#: cp/name-lookup.cc:5257
+#: cp/name-lookup.cc:5260
#, gcc-internal-format
msgid "%q#D declared here with internal linkage"
msgstr ""
-#: cp/name-lookup.cc:5260
+#: cp/name-lookup.cc:5263
#, gcc-internal-format
msgid "%q#D declared here with module linkage"
msgstr ""
-#: cp/name-lookup.cc:6068
+#: cp/name-lookup.cc:6071
#, gcc-internal-format
msgid "%<%T%s%D%> names destructor"
msgstr ""
-#: cp/name-lookup.cc:6084
+#: cp/name-lookup.cc:6087
#, gcc-internal-format
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/name-lookup.cc:6092
+#: cp/name-lookup.cc:6095
#, gcc-internal-format
msgid ""
"%<using%> with enumeration scope %q#T only available with %<-std=c++20%> or "
"%<-std=gnu++20%>"
msgstr ""
-#: cp/name-lookup.cc:6108 cp/pt.cc:18889
+#: cp/name-lookup.cc:6111 cp/pt.cc:18933
#, gcc-internal-format
msgid "%qT is not a class, namespace, or enumeration"
msgstr ""
-#: cp/name-lookup.cc:6118
+#: cp/name-lookup.cc:6121
#, gcc-internal-format
msgid "non-member using-declaration names constructor of %qT"
msgstr ""
-#: cp/name-lookup.cc:6129 cp/name-lookup.cc:6202
+#: cp/name-lookup.cc:6132 cp/name-lookup.cc:6205
#, gcc-internal-format
msgid "using-declaration for member at non-class scope"
msgstr ""
-#: cp/name-lookup.cc:6152
+#: cp/name-lookup.cc:6155
#, gcc-internal-format
msgid "%qT is not a direct base of %qT"
msgstr ""
-#: cp/name-lookup.cc:6212
+#: cp/name-lookup.cc:6215
#, gcc-internal-format
msgid "did you mean %<using enum %T::%D%>?"
msgstr ""
-#: cp/name-lookup.cc:6224
+#: cp/name-lookup.cc:6227
#, gcc-internal-format
msgid "%qD has not been declared in %qD"
msgstr ""
-#: cp/name-lookup.cc:6239
+#: cp/name-lookup.cc:6242
#, gcc-internal-format
msgid "using-declaration may not name namespace %qD"
msgstr ""
-#: cp/name-lookup.cc:6250
+#: cp/name-lookup.cc:6253
#, gcc-internal-format
msgid "%<%T::%D%> names constructor in %qT"
msgstr ""
-#: cp/name-lookup.cc:6343
+#: cp/name-lookup.cc:6346
#, gcc-internal-format
msgid "declaration of %qD not in a namespace surrounding %qD"
msgstr ""
-#: cp/name-lookup.cc:6385
+#: cp/name-lookup.cc:6388
#, gcc-internal-format
msgid "explicit qualification in declaration of %qD"
msgstr ""
-#: cp/name-lookup.cc:6395
+#: cp/name-lookup.cc:6398
#, gcc-internal-format
msgid "%qD should have been declared inside %qD"
msgstr ""
-#: cp/name-lookup.cc:6465
+#: cp/name-lookup.cc:6468
#, gcc-internal-format
msgid "%qD has not been declared within %qD"
msgstr ""
-#: cp/name-lookup.cc:6467
+#: cp/name-lookup.cc:6470
#, gcc-internal-format
msgid "only here as a %<friend%>"
msgstr ""
-#: cp/name-lookup.cc:6521
+#: cp/name-lookup.cc:6524
#, gcc-internal-format
msgid "%qD attribute requires a single NTBS argument"
msgstr ""
-#: cp/name-lookup.cc:6528
+#: cp/name-lookup.cc:6531
#, gcc-internal-format
msgid ""
"%qD attribute is meaningless since members of the anonymous namespace get "
"local symbols"
msgstr ""
-#: cp/name-lookup.cc:6538 cp/name-lookup.cc:6565
+#: cp/name-lookup.cc:6541 cp/name-lookup.cc:6568
#, gcc-internal-format
msgid "ignoring %qD attribute on anonymous namespace"
msgstr ""
-#: cp/name-lookup.cc:6544
+#: cp/name-lookup.cc:6547
#, gcc-internal-format
msgid "ignoring %qD attribute on non-inline namespace"
msgstr ""
-#: cp/name-lookup.cc:6581 cp/name-lookup.cc:9002
+#: cp/name-lookup.cc:6584 cp/name-lookup.cc:9005
#, gcc-internal-format
msgid "%qD attribute directive ignored"
msgstr ""
-#: cp/name-lookup.cc:6910
+#: cp/name-lookup.cc:6913
#, gcc-internal-format
msgid "maximum limit of %d namespaces searched for %qE"
msgstr ""
-#: cp/name-lookup.cc:6962
+#: cp/name-lookup.cc:6965
#, gcc-internal-format
msgid "suggested alternative:"
msgid_plural "suggested alternatives:"
msgstr[0] ""
msgstr[1] ""
-#: cp/name-lookup.cc:6968
+#: cp/name-lookup.cc:6971
#, gcc-internal-format
msgid " %qE"
msgstr ""
-#: cp/name-lookup.cc:7293
+#: cp/name-lookup.cc:7296
#, gcc-internal-format
msgid ""
"%<std::%s%> is defined in header %qs; this is probably fixable by adding "
"%<#include %s%>"
msgstr ""
-#: cp/name-lookup.cc:7299
+#: cp/name-lookup.cc:7302
#, gcc-internal-format
msgid "%<std::%s%> is only available from %s onwards"
msgstr ""
-#: cp/name-lookup.cc:7737
+#: cp/name-lookup.cc:7740
#, gcc-internal-format
msgid "the macro %qs had not yet been defined"
msgstr ""
-#: cp/name-lookup.cc:7740
+#: cp/name-lookup.cc:7743
#, gcc-internal-format
msgid "it was later defined here"
msgstr ""
-#: cp/name-lookup.cc:8536
+#: cp/name-lookup.cc:8539
#, gcc-internal-format
msgid ""
"declaration of %<std::initializer_list%> does not match %<#include "
"<initializer_list>%>, isn%'t a template"
msgstr ""
-#: cp/name-lookup.cc:8974
+#: cp/name-lookup.cc:8977
#, gcc-internal-format
msgid "%<strong%> using directive no longer supported"
msgstr ""
-#: cp/name-lookup.cc:8977
+#: cp/name-lookup.cc:8980
#, gcc-internal-format
msgid "you can use an inline namespace instead"
msgstr ""
-#: cp/name-lookup.cc:8996
+#: cp/name-lookup.cc:8999
#, gcc-internal-format
msgid "%<omp::%E%> not allowed to be specified in this context"
msgstr ""
#. We only allow depth 255.
-#: cp/name-lookup.cc:9088
+#: cp/name-lookup.cc:9091
#, gcc-internal-format, gfc-internal-format
msgid "cannot nest more than %d namespaces"
msgstr ""
-#: cp/name-lookup.cc:9190
+#: cp/name-lookup.cc:9193
#, gcc-internal-format
msgid "%<namespace %E%> is ambiguous"
msgstr ""
-#: cp/name-lookup.cc:9206
+#: cp/name-lookup.cc:9209
#, gcc-internal-format
msgid "namespace alias %qD not allowed here, assuming %qD"
msgstr ""
-#: cp/name-lookup.cc:9289
+#: cp/name-lookup.cc:9292
#, gcc-internal-format
msgid "exporting namespace %qD with internal linkage"
msgstr ""
-#: cp/name-lookup.cc:9291
+#: cp/name-lookup.cc:9294
#, gcc-internal-format
msgid ""
"%qD has internal linkage because it was declared in an unnamed namespace"
msgstr ""
-#: cp/name-lookup.cc:9295
+#: cp/name-lookup.cc:9298
#, gcc-internal-format
msgid "exporting unnamed namespace"
msgstr ""
-#: cp/name-lookup.cc:9305
+#: cp/name-lookup.cc:9308
#, gcc-internal-format
msgid "inline namespace must be specified at initial definition"
msgstr ""
-#: cp/name-lookup.cc:9355
+#: cp/name-lookup.cc:9358
#, gcc-internal-format
msgid "%s namespace %qD conflicts with reachable definition"
msgstr ""
-#: cp/name-lookup.cc:9357
+#: cp/name-lookup.cc:9360
#, gcc-internal-format, gfc-internal-format
msgid "reachable %s definition here"
msgstr ""
-#: cp/name-lookup.cc:9400
+#: cp/name-lookup.cc:9403
#, gcc-internal-format
msgid "XXX entering %<pop_everything ()%>"
msgstr ""
-#: cp/name-lookup.cc:9409
+#: cp/name-lookup.cc:9412
#, gcc-internal-format
msgid "XXX leaving %<pop_everything ()%>"
msgstr ""
@@ -65290,7 +65466,7 @@ msgstr ""
msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
msgstr ""
-#: cp/parser.cc:1724 cp/parser.cc:49640
+#: cp/parser.cc:1724 cp/parser.cc:49645
#, gcc-internal-format
msgid ""
"%<#pragma omp declare %s%> not immediately followed by function declaration "
@@ -65572,11 +65748,6 @@ msgstr ""
msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
msgstr ""
-#: cp/parser.cc:3922 cp/parser.cc:32272
-#, gcc-internal-format
-msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
-msgstr ""
-
#: cp/parser.cc:3944
#, gcc-internal-format
msgid "(perhaps %<typename %T::%E%> was intended)"
@@ -65764,7 +65935,7 @@ msgstr ""
msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.cc:6241 cp/parser.cc:6396 cp/parser.cc:6585 cp/semantics.cc:4779
+#: cp/parser.cc:6241 cp/parser.cc:6396 cp/parser.cc:6585 cp/semantics.cc:4783
#, gcc-internal-format
msgid "expected primary-expression"
msgstr ""
@@ -65889,7 +66060,7 @@ msgstr ""
msgid "wrong number of arguments to %<__builtin_addressof%>"
msgstr ""
-#: cp/parser.cc:8002 cp/pt.cc:21478
+#: cp/parser.cc:8002 cp/pt.cc:21522
#, gcc-internal-format
msgid "wrong number of arguments to %<__builtin_launder%>"
msgstr ""
@@ -65904,21 +66075,21 @@ msgstr ""
msgid "wrong number of arguments to %<__builtin_shufflevector%>"
msgstr ""
-#: cp/parser.cc:8069 cp/pt.cc:21593
+#: cp/parser.cc:8069 cp/pt.cc:21637
#, gcc-internal-format
msgid ""
"call to %<__builtin_operator_new%> does not select replaceable global "
"allocation function"
msgstr ""
-#: cp/parser.cc:8073 cp/pt.cc:21597
+#: cp/parser.cc:8073 cp/pt.cc:21641
#, gcc-internal-format
msgid ""
"call to %<__builtin_operator_delete%> does not select replaceable global "
"deallocation function"
msgstr ""
-#: cp/parser.cc:8078 cp/pt.cc:21602
+#: cp/parser.cc:8078 cp/pt.cc:21646
#, gcc-internal-format
msgid "selected function declared here"
msgstr ""
@@ -65973,7 +66144,7 @@ msgstr ""
msgid "%<co_await%> cannot be used in default arguments"
msgstr ""
-#: cp/parser.cc:9791 cp/parser.cc:34817
+#: cp/parser.cc:9791 cp/parser.cc:34822
#, gcc-internal-format
msgid "types may not be defined in %qs expressions"
msgstr ""
@@ -66140,8 +66311,8 @@ msgstr ""
msgid "capture of non-variable %qE"
msgstr ""
-#: cp/parser.cc:12078 cp/parser.cc:12089 cp/semantics.cc:4618
-#: cp/semantics.cc:4634
+#: cp/parser.cc:12078 cp/parser.cc:12089 cp/semantics.cc:4622
+#: cp/semantics.cc:4638
#, gcc-internal-format
msgid "%q#D declared here"
msgstr ""
@@ -66186,7 +66357,7 @@ msgid ""
"with %<-std=c++23%> or %<-std=gnu++23%>"
msgstr ""
-#: cp/parser.cc:12328 cp/pt.cc:14968
+#: cp/parser.cc:12328 cp/pt.cc:14987
#, gcc-internal-format
msgid ""
"a lambda with captures may not have an explicit object parameter of an "
@@ -66331,7 +66502,7 @@ msgid ""
"%<-std=gnu++17%>"
msgstr ""
-#: cp/parser.cc:14260 cp/parser.cc:35329
+#: cp/parser.cc:14260 cp/parser.cc:35334
#, gcc-internal-format
msgid "expected selection-statement"
msgstr ""
@@ -66399,7 +66570,7 @@ msgid ""
"inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
msgstr ""
-#: cp/parser.cc:15171 cp/parser.cc:35332
+#: cp/parser.cc:15171 cp/parser.cc:35337
#, gcc-internal-format
msgid "expected iteration-statement"
msgstr ""
@@ -66431,7 +66602,7 @@ msgstr ""
msgid "ISO C++ forbids computed gotos"
msgstr ""
-#: cp/parser.cc:15423 cp/parser.cc:35335
+#: cp/parser.cc:15423 cp/parser.cc:35340
#, gcc-internal-format
msgid "expected jump-statement"
msgstr ""
@@ -66792,12 +66963,12 @@ msgstr ""
msgid "cannot expand initializer for member %qD"
msgstr ""
-#: cp/parser.cc:18185 cp/pt.cc:28232
+#: cp/parser.cc:18185 cp/pt.cc:28283
#, gcc-internal-format
msgid "mem-initializer for %qD follows constructor delegation"
msgstr ""
-#: cp/parser.cc:18197 cp/pt.cc:28244
+#: cp/parser.cc:18197 cp/pt.cc:28295
#, gcc-internal-format
msgid "constructor delegation follows mem-initializer for %qD"
msgstr ""
@@ -67702,7 +67873,7 @@ msgstr ""
msgid "unexpanded parameter pack in local class in lambda"
msgstr ""
-#: cp/parser.cc:28533 cp/parser.cc:35338
+#: cp/parser.cc:28533 cp/parser.cc:35343
#, gcc-internal-format
msgid "expected class-key"
msgstr ""
@@ -67992,14 +68163,14 @@ msgstr ""
msgid "named return values are no longer supported"
msgstr ""
-#: cp/parser.cc:33786
+#: cp/parser.cc:33791
#, gcc-internal-format
msgid ""
"ISO C++ did not adopt string literal operator templates taking an argument "
"pack of characters"
msgstr ""
-#: cp/parser.cc:33795
+#: cp/parser.cc:33800
#, gcc-internal-format
msgid ""
"literal operator template %qD has invalid parameter list; expected non-type "
@@ -68007,406 +68178,406 @@ msgid ""
"type"
msgstr ""
-#: cp/parser.cc:33801
+#: cp/parser.cc:33806
#, gcc-internal-format
msgid ""
"literal operator template %qD has invalid parameter list; expected non-type "
"template parameter pack %<<char...>%>"
msgstr ""
-#: cp/parser.cc:33841
+#: cp/parser.cc:33846
#, gcc-internal-format
msgid "invalid declaration of member template in local class"
msgstr ""
-#: cp/parser.cc:33851
+#: cp/parser.cc:33856
#, gcc-internal-format
msgid "template with C linkage"
msgstr ""
-#: cp/parser.cc:33871
+#: cp/parser.cc:33876
#, gcc-internal-format
msgid "invalid explicit specialization"
msgstr ""
-#: cp/parser.cc:33981
+#: cp/parser.cc:33986
#, gcc-internal-format
msgid "template declaration of %<typedef%>"
msgstr ""
-#: cp/parser.cc:34032
+#: cp/parser.cc:34037
#, gcc-internal-format
msgid "a class template declaration must not declare anything else"
msgstr ""
-#: cp/parser.cc:34084
+#: cp/parser.cc:34089
#, gcc-internal-format
msgid "explicit template specialization cannot have a storage class"
msgstr ""
-#: cp/parser.cc:34403
+#: cp/parser.cc:34408
#, gcc-internal-format
msgid "%<>>%> should be %<> >%> within a nested template argument list"
msgstr ""
-#: cp/parser.cc:34416
+#: cp/parser.cc:34421
#, gcc-internal-format
msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
msgstr ""
-#: cp/parser.cc:34447
+#: cp/parser.cc:34452
#, gcc-internal-format
msgid "%qs should be %qs to terminate a template argument list"
msgstr ""
-#: cp/parser.cc:34764
+#: cp/parser.cc:34769
#, gcc-internal-format
msgid "%<sizeof...%> argument must be surrounded by parentheses"
msgstr ""
-#: cp/parser.cc:34939
+#: cp/parser.cc:34944
#, gcc-internal-format
msgid "invalid use of %qD in linkage specification"
msgstr ""
-#: cp/parser.cc:34951
+#: cp/parser.cc:34956
#, gcc-internal-format
msgid "duplicate %qD specifier"
msgstr ""
-#: cp/parser.cc:34954
+#: cp/parser.cc:34959
#, gcc-internal-format
msgid "%qD specifier conflicts with %qs"
msgstr ""
-#: cp/parser.cc:34966
+#: cp/parser.cc:34971
#, gcc-internal-format
msgid "%<__thread%> before %qD"
msgstr ""
-#: cp/parser.cc:34983
+#: cp/parser.cc:34988
#, gcc-internal-format
msgid "%qD specifier conflicts with %<typedef%>"
msgstr ""
-#: cp/parser.cc:35092
+#: cp/parser.cc:35097
#, gcc-internal-format
msgid "ISO C++ 1998 does not support %<long long%>"
msgstr ""
-#: cp/parser.cc:35103
+#: cp/parser.cc:35108
#, gcc-internal-format
msgid "both %<__thread%> and %<thread_local%> specified"
msgstr ""
-#: cp/parser.cc:35108
+#: cp/parser.cc:35113
#, gcc-internal-format
msgid "duplicate %qD"
msgstr ""
-#: cp/parser.cc:35137
+#: cp/parser.cc:35142
#, gcc-internal-format
msgid "duplicate %qs"
msgstr ""
-#: cp/parser.cc:35189
+#: cp/parser.cc:35194
#, gcc-internal-format
msgid "expected %<new%>"
msgstr ""
-#: cp/parser.cc:35192
+#: cp/parser.cc:35197
#, gcc-internal-format
msgid "expected %<delete%>"
msgstr ""
-#: cp/parser.cc:35195
+#: cp/parser.cc:35200
#, gcc-internal-format
msgid "expected %<return%>"
msgstr ""
-#: cp/parser.cc:35201
+#: cp/parser.cc:35206
#, gcc-internal-format
msgid "expected %<extern%>"
msgstr ""
-#: cp/parser.cc:35204
+#: cp/parser.cc:35209
#, gcc-internal-format
msgid "expected %<static_assert%>"
msgstr ""
-#: cp/parser.cc:35207
+#: cp/parser.cc:35212
#, gcc-internal-format
msgid "expected %<decltype%>"
msgstr ""
-#: cp/parser.cc:35210
+#: cp/parser.cc:35215
#, gcc-internal-format
msgid "expected %<operator%>"
msgstr ""
-#: cp/parser.cc:35213
+#: cp/parser.cc:35218
#, gcc-internal-format
msgid "expected %<class%>"
msgstr ""
-#: cp/parser.cc:35216
+#: cp/parser.cc:35221
#, gcc-internal-format
msgid "expected %<template%>"
msgstr ""
-#: cp/parser.cc:35219
+#: cp/parser.cc:35224
#, gcc-internal-format
msgid "expected %<namespace%>"
msgstr ""
-#: cp/parser.cc:35222
+#: cp/parser.cc:35227
#, gcc-internal-format
msgid "expected %<using%>"
msgstr ""
-#: cp/parser.cc:35225
+#: cp/parser.cc:35230
#, gcc-internal-format
msgid "expected %<asm%>"
msgstr ""
-#: cp/parser.cc:35228
+#: cp/parser.cc:35233
#, gcc-internal-format
msgid "expected %<try%>"
msgstr ""
-#: cp/parser.cc:35231
+#: cp/parser.cc:35236
#, gcc-internal-format
msgid "expected %<catch%>"
msgstr ""
-#: cp/parser.cc:35234
+#: cp/parser.cc:35239
#, gcc-internal-format
msgid "expected %<throw%>"
msgstr ""
-#: cp/parser.cc:35237
+#: cp/parser.cc:35242
#, gcc-internal-format
msgid "expected %<auto%>"
msgstr ""
-#: cp/parser.cc:35240
+#: cp/parser.cc:35245
#, gcc-internal-format
msgid "expected %<__label__%>"
msgstr ""
-#: cp/parser.cc:35243
+#: cp/parser.cc:35248
#, gcc-internal-format
msgid "expected %<@try%>"
msgstr ""
-#: cp/parser.cc:35246
+#: cp/parser.cc:35251
#, gcc-internal-format
msgid "expected %<@synchronized%>"
msgstr ""
-#: cp/parser.cc:35249
+#: cp/parser.cc:35254
#, gcc-internal-format
msgid "expected %<@throw%>"
msgstr ""
-#: cp/parser.cc:35252
+#: cp/parser.cc:35257
#, gcc-internal-format
msgid "expected %<__transaction_atomic%>"
msgstr ""
-#: cp/parser.cc:35255
+#: cp/parser.cc:35260
#, gcc-internal-format
msgid "expected %<__transaction_relaxed%>"
msgstr ""
-#: cp/parser.cc:35258
+#: cp/parser.cc:35263
#, gcc-internal-format
msgid "expected %<co_yield%>"
msgstr ""
-#: cp/parser.cc:35290
+#: cp/parser.cc:35295
#, gcc-internal-format
msgid "expected %<::%>"
msgstr ""
-#: cp/parser.cc:35302
+#: cp/parser.cc:35307
#, gcc-internal-format
msgid "expected %<...%>"
msgstr ""
-#: cp/parser.cc:35305
+#: cp/parser.cc:35310
#, gcc-internal-format
msgid "expected %<*%>"
msgstr ""
-#: cp/parser.cc:35308
+#: cp/parser.cc:35313
#, gcc-internal-format
msgid "expected %<~%>"
msgstr ""
-#: cp/parser.cc:35314
+#: cp/parser.cc:35319
#, gcc-internal-format
msgid "expected %<:%> or %<::%>"
msgstr ""
-#: cp/parser.cc:35341
+#: cp/parser.cc:35346
#, gcc-internal-format
msgid "expected %<class%>, %<typename%>, or %<template%>"
msgstr ""
-#: cp/parser.cc:35676
+#: cp/parser.cc:35681
#, gcc-internal-format
msgid "redundant enum-key %<enum%s%> in reference to %q#T"
msgstr ""
-#: cp/parser.cc:35828
+#: cp/parser.cc:35833
#, gcc-internal-format
msgid "%qs tag used in naming %q#T"
msgstr ""
-#: cp/parser.cc:35833
+#: cp/parser.cc:35838
#, gcc-internal-format
msgid "%q#T was previously declared here"
msgstr ""
-#: cp/parser.cc:35954
+#: cp/parser.cc:35959
#, gcc-internal-format
msgid "redundant class-key %qs in reference to %q#T"
msgstr ""
-#: cp/parser.cc:36112 cp/parser.cc:36146
+#: cp/parser.cc:36117 cp/parser.cc:36151
#, gcc-internal-format
msgid "%qT declared with a mismatched class-key %qs"
msgstr ""
-#: cp/parser.cc:36119 cp/parser.cc:36152
+#: cp/parser.cc:36124 cp/parser.cc:36157
#, gcc-internal-format
msgid "remove the class-key or replace it with %qs"
msgstr ""
-#: cp/parser.cc:36120 cp/parser.cc:36153
+#: cp/parser.cc:36125 cp/parser.cc:36158
#, gcc-internal-format
msgid "replace the class-key with %qs"
msgstr ""
-#: cp/parser.cc:36127
+#: cp/parser.cc:36132
#, gcc-internal-format
msgid "%qT defined as %qs here"
msgstr ""
-#: cp/parser.cc:36128
+#: cp/parser.cc:36133
#, gcc-internal-format
msgid "%qT first declared as %qs here"
msgstr ""
-#: cp/parser.cc:36211
+#: cp/parser.cc:36216
#, gcc-internal-format
msgid "%qD redeclared with different access"
msgstr ""
-#: cp/parser.cc:36232
+#: cp/parser.cc:36237
#, gcc-internal-format
msgid ""
"in C++98 %<template%> (as a disambiguator) is only allowed within templates"
msgstr ""
-#: cp/parser.cc:36481
+#: cp/parser.cc:36486
#, gcc-internal-format
msgid "file ends in default argument"
msgstr ""
-#: cp/parser.cc:36722 cp/parser.cc:38034 cp/parser.cc:38223
+#: cp/parser.cc:36727 cp/parser.cc:38039 cp/parser.cc:38228
#, gcc-internal-format
msgid "misplaced %<@%D%> Objective-C++ construct"
msgstr ""
-#: cp/parser.cc:36793
+#: cp/parser.cc:36798
#, gcc-internal-format
msgid "objective-c++ message receiver expected"
msgstr ""
-#: cp/parser.cc:36867
+#: cp/parser.cc:36872
#, gcc-internal-format
msgid "objective-c++ message argument(s) are expected"
msgstr ""
-#: cp/parser.cc:36898
+#: cp/parser.cc:36903
#, gcc-internal-format
msgid "%<@encode%> must specify a type as an argument"
msgstr ""
-#: cp/parser.cc:37302
+#: cp/parser.cc:37307
#, gcc-internal-format
msgid "invalid Objective-C++ selector name"
msgstr ""
-#: cp/parser.cc:37377 cp/parser.cc:37395
+#: cp/parser.cc:37382 cp/parser.cc:37400
#, gcc-internal-format
msgid "objective-c++ method declaration is expected"
msgstr ""
-#: cp/parser.cc:37389 cp/parser.cc:37455
+#: cp/parser.cc:37394 cp/parser.cc:37460
#, gcc-internal-format
msgid "method attributes must be specified at the end"
msgstr ""
-#: cp/parser.cc:37498
+#: cp/parser.cc:37503
#, gcc-internal-format
msgid "stray %qs between Objective-C++ methods"
msgstr ""
-#: cp/parser.cc:37695 cp/parser.cc:37702 cp/parser.cc:37709
+#: cp/parser.cc:37700 cp/parser.cc:37707 cp/parser.cc:37714
#, gcc-internal-format
msgid "invalid type for instance variable"
msgstr ""
-#: cp/parser.cc:37826
+#: cp/parser.cc:37831
#, gcc-internal-format
msgid "identifier expected after %<@protocol%>"
msgstr ""
-#: cp/parser.cc:37999
+#: cp/parser.cc:38004
#, gcc-internal-format
msgid ""
"attributes may not be specified before the %<@%D%> Objective-C++ keyword"
msgstr ""
-#: cp/parser.cc:38006
+#: cp/parser.cc:38011
#, gcc-internal-format
msgid "prefix attributes are ignored before %<@%D%>"
msgstr ""
-#: cp/parser.cc:38286 cp/parser.cc:38293 cp/parser.cc:38300
+#: cp/parser.cc:38291 cp/parser.cc:38298 cp/parser.cc:38305
#, gcc-internal-format
msgid "invalid type for property"
msgstr ""
-#: cp/parser.cc:38462
+#: cp/parser.cc:38467
#, gcc-internal-format
msgid "unknown property attribute %qE"
msgstr ""
-#: cp/parser.cc:39760
+#: cp/parser.cc:39765
#, gcc-internal-format
msgid "expected integer expression list"
msgstr ""
-#: cp/parser.cc:39777
+#: cp/parser.cc:39782
#, gcc-internal-format
msgid "%<wait%> expression must be integral"
msgstr ""
-#: cp/parser.cc:40533
+#: cp/parser.cc:40538
#, gcc-internal-format
msgid "expected %<scalar%>, %<aggregate%>, %<all%>"
msgstr ""
-#: cp/parser.cc:40924
+#: cp/parser.cc:40929
#, gcc-internal-format
msgid "invalid reduction-identifier"
msgstr ""
-#: cp/parser.cc:41985
+#: cp/parser.cc:41990
#, gcc-internal-format
msgid "types may not be defined in iterator type"
msgstr ""
@@ -68415,178 +68586,178 @@ msgstr ""
#. 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.
-#: cp/parser.cc:44097
+#: cp/parser.cc:44102
#, gcc-internal-format
msgid "%<#pragma omp allocate%> not yet supported"
msgstr ""
-#: cp/parser.cc:45548
+#: cp/parser.cc:45553
#, gcc-internal-format
msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
msgstr ""
-#: cp/parser.cc:46479
+#: cp/parser.cc:46484
#, gcc-internal-format
msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
msgstr ""
-#: cp/parser.cc:46561 cp/pt.cc:18549
+#: cp/parser.cc:46566 cp/pt.cc:18593
#, gcc-internal-format
msgid "iteration variable %qD should not be reduction"
msgstr ""
-#: cp/parser.cc:49602
+#: cp/parser.cc:49607
#, gcc-internal-format
msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
msgstr ""
-#: cp/parser.cc:50289
+#: cp/parser.cc:50294
#, gcc-internal-format
msgid ""
"%<#pragma omp dispatch%> must be followed by a direct function call with "
"optional assignment"
msgstr ""
-#: cp/parser.cc:50516
+#: cp/parser.cc:50521
#, gcc-internal-format
msgid "%qD is not a C pointer"
msgstr ""
-#: cp/parser.cc:50642
+#: cp/parser.cc:50647
#, gcc-internal-format
msgid ""
"an %qs clause can only be specified if the %<dispatch%> selector of the "
"construct selector set appears in the %<match%> clause"
msgstr ""
-#: cp/parser.cc:50763
+#: cp/parser.cc:50768
#, gcc-internal-format
msgid ""
"OpenMP directive other than %<declare simd%> or %<declare variant%> "
"appertains to a declaration"
msgstr ""
-#: cp/parser.cc:51817
+#: cp/parser.cc:51822
#, gcc-internal-format
msgid "invalid initializer clause"
msgstr ""
-#: cp/parser.cc:51848
+#: cp/parser.cc:51853
#, gcc-internal-format
msgid "expected id-expression (arguments)"
msgstr ""
-#: cp/parser.cc:51860
+#: cp/parser.cc:51865
#, gcc-internal-format
msgid ""
"one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
msgstr ""
-#: cp/parser.cc:51963
+#: cp/parser.cc:51968
#, gcc-internal-format
msgid "types may not be defined in declare reduction type list"
msgstr ""
-#: cp/parser.cc:51983 cp/semantics.cc:6841
+#: cp/parser.cc:51988 cp/semantics.cc:6855
#, gcc-internal-format
msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.cc:51987 cp/semantics.cc:6849
+#: cp/parser.cc:51992 cp/semantics.cc:6863
#, gcc-internal-format
msgid "function or array type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.cc:51990 cp/pt.cc:14861 cp/semantics.cc:6855
+#: cp/parser.cc:51995 cp/pt.cc:14880 cp/semantics.cc:6869
#, gcc-internal-format
msgid "reference type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.cc:51993 cp/semantics.cc:6861
+#: cp/parser.cc:51998 cp/semantics.cc:6875
#, gcc-internal-format
msgid ""
"%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma "
"omp declare reduction%>"
msgstr ""
-#: cp/parser.cc:52744
+#: cp/parser.cc:52749
#, gcc-internal-format
msgid "%<#pragma acc routine%> names a set of overloads"
msgstr ""
-#: cp/parser.cc:52754
+#: cp/parser.cc:52759
#, gcc-internal-format
msgid "%qD does not refer to a namespace scope function"
msgstr ""
-#: cp/parser.cc:52924 cp/parser.cc:53459
+#: cp/parser.cc:52929 cp/parser.cc:53464
#, gcc-internal-format
msgid "OpenMP directives may not appear in %<constexpr%> functions"
msgstr ""
#. cancel-and-throw is unimplemented.
-#: cp/parser.cc:53135
+#: cp/parser.cc:53140
#, gcc-internal-format
msgid "%<atomic_cancel%>"
msgstr ""
-#: cp/parser.cc:53182 cp/semantics.cc:12154
+#: cp/parser.cc:53187 cp/semantics.cc:12168
#, gcc-internal-format
msgid "%<__transaction_relaxed%> without transactional memory support enabled"
msgstr ""
-#: cp/parser.cc:53184 cp/semantics.cc:12156
+#: cp/parser.cc:53189 cp/semantics.cc:12170
#, gcc-internal-format
msgid "%<__transaction_atomic%> without transactional memory support enabled"
msgstr ""
-#: cp/parser.cc:53330
+#: cp/parser.cc:53335
#, gcc-internal-format
msgid ""
"outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
msgstr ""
-#: cp/parser.cc:53333
+#: cp/parser.cc:53338
#, gcc-internal-format
msgid " or a %<transaction_may_cancel_outer%> function"
msgstr ""
-#: cp/parser.cc:53380
+#: cp/parser.cc:53385
#, gcc-internal-format
msgid "malformed %<#pragma GCC pch_preprocess%>"
msgstr ""
-#: cp/parser.cc:53709
+#: cp/parser.cc:53714
#, gcc-internal-format
msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
msgstr ""
-#: cp/parser.cc:53720
+#: cp/parser.cc:53725
#, gcc-internal-format
msgid "%<#pragma omp assumes%> may only be used at file or namespace scope"
msgstr ""
-#: cp/parser.cc:53807
+#: cp/parser.cc:53812
#, gcc-internal-format
msgid "%<#pragma GCC %s%> must be inside a function"
msgstr ""
-#: cp/parser.cc:53949
+#: cp/parser.cc:53954
#, gcc-internal-format
msgid "multi-source compilation not implemented for C++"
msgstr ""
-#: cp/parser.cc:53986
+#: cp/parser.cc:53991
#, gcc-internal-format
msgid "placeholder type not allowed in this context"
msgstr ""
-#: cp/parser.cc:54195
+#: cp/parser.cc:54200
#, gcc-internal-format
msgid "implicit templates may not be %<virtual%>"
msgstr ""
-#: cp/parser.cc:54251
+#: cp/parser.cc:54256
#, gcc-internal-format
msgid "%<extern \"C\"%> linkage started here"
msgstr ""
@@ -68675,7 +68846,7 @@ msgstr ""
msgid "specialization of %qD after instantiation"
msgstr ""
-#: cp/pt.cc:2067 cp/semantics.cc:6711
+#: cp/pt.cc:2067 cp/semantics.cc:6725
#, gcc-internal-format
msgid "%s %#qD"
msgstr ""
@@ -69508,7 +69679,7 @@ msgstr ""
msgid "for template declaration %q+D"
msgstr ""
-#: cp/pt.cc:10311 cp/pt.cc:22795
+#: cp/pt.cc:10311 cp/pt.cc:22841
#, gcc-internal-format
msgid "template constraint failure for %qD"
msgstr ""
@@ -69518,84 +69689,84 @@ msgstr ""
msgid "use of invalid variable template %qE"
msgstr ""
-#: cp/pt.cc:11380
+#: cp/pt.cc:11392
#, gcc-internal-format
msgid ""
"template instantiation depth exceeds maximum of %d (use %<-ftemplate-"
"depth=%> to increase the maximum)"
msgstr ""
-#: cp/pt.cc:12200
+#: cp/pt.cc:12216
#, gcc-internal-format
msgid "score argument must be constant integer expression"
msgstr ""
-#: cp/pt.cc:12209
+#: cp/pt.cc:12225
#, gcc-internal-format
msgid "score argument must be non-negative"
msgstr ""
-#: cp/pt.cc:12236
+#: cp/pt.cc:12252
#, gcc-internal-format
msgid "property must be constant integer expression or string literal"
msgstr ""
-#: cp/pt.cc:12240
+#: cp/pt.cc:12256
#, gcc-internal-format
msgid "property must be constant integer expression"
msgstr ""
-#: cp/pt.cc:12466
+#: cp/pt.cc:12484
#, gcc-internal-format
msgid "instantiating erroneous template"
msgstr ""
-#: cp/pt.cc:12467
+#: cp/pt.cc:12485
#, gcc-internal-format
msgid "first error appeared here"
msgstr ""
-#: cp/pt.cc:12818
+#: cp/pt.cc:12836
#, gcc-internal-format
msgid "flexible array member %qD in union"
msgstr ""
-#: cp/pt.cc:13337
+#: cp/pt.cc:13355
#, gcc-internal-format
msgid "fold of empty expansion over %O"
msgstr ""
-#: cp/pt.cc:13807
+#: cp/pt.cc:13826
#, gcc-internal-format
msgid "%qE is not the entire pattern of the pack expansion"
msgstr ""
-#: cp/pt.cc:13895
+#: cp/pt.cc:13914
#, gcc-internal-format
msgid "mismatched argument pack lengths while expanding %qT"
msgstr ""
-#: cp/pt.cc:13898
+#: cp/pt.cc:13917
#, gcc-internal-format
msgid "mismatched argument pack lengths while expanding %qE"
msgstr ""
-#: cp/pt.cc:14083
+#: cp/pt.cc:14102
#, gcc-internal-format
msgid "cannot index an empty pack"
msgstr ""
-#: cp/pt.cc:14534
+#: cp/pt.cc:14553
#, gcc-internal-format
msgid " when instantiating default argument for call to %qD"
msgstr ""
-#: cp/pt.cc:14631
+#: cp/pt.cc:14650
#, gcc-internal-format
msgid "creating pointer to member function of non-class type %qT"
msgstr ""
-#: cp/pt.cc:15621
+#: cp/pt.cc:15640
#, gcc-internal-format, gfc-internal-format
msgid "mismatched argument pack lengths (%d vs %d)"
msgstr ""
@@ -69613,305 +69784,305 @@ msgstr ""
#.
#. is an attempt to declare a variable with function
#. type.
-#: cp/pt.cc:15809
+#: cp/pt.cc:15828
#, gcc-internal-format
msgid "variable %qD has function type"
msgstr ""
-#: cp/pt.cc:16015
+#: cp/pt.cc:16034
#, gcc-internal-format
msgid "invalid parameter type %qT"
msgstr ""
-#: cp/pt.cc:16017
+#: cp/pt.cc:16036
#, gcc-internal-format
msgid "in declaration %q+D"
msgstr ""
-#: cp/pt.cc:16144
+#: cp/pt.cc:16163
#, gcc-internal-format
msgid "function returning an array"
msgstr ""
-#: cp/pt.cc:16146
+#: cp/pt.cc:16165
#, gcc-internal-format
msgid "function returning a function"
msgstr ""
-#: cp/pt.cc:16877
+#: cp/pt.cc:16896
#, gcc-internal-format
msgid "forming reference to void"
msgstr ""
-#: cp/pt.cc:16879
+#: cp/pt.cc:16898
#, gcc-internal-format
msgid "forming pointer to reference type %qT"
msgstr ""
-#: cp/pt.cc:16881
+#: cp/pt.cc:16900
#, gcc-internal-format
msgid "forming reference to reference type %qT"
msgstr ""
-#: cp/pt.cc:16894
+#: cp/pt.cc:16913
#, gcc-internal-format
msgid "forming pointer to qualified function type %qT"
msgstr ""
-#: cp/pt.cc:16897
+#: cp/pt.cc:16916
#, gcc-internal-format
msgid "forming reference to qualified function type %qT"
msgstr ""
-#: cp/pt.cc:16950
+#: cp/pt.cc:16969
#, gcc-internal-format
msgid "creating pointer to member of non-class type %qT"
msgstr ""
-#: cp/pt.cc:16956
+#: cp/pt.cc:16975
#, gcc-internal-format
msgid "creating pointer to member reference type %qT"
msgstr ""
-#: cp/pt.cc:16962
+#: cp/pt.cc:16981
#, gcc-internal-format
msgid "creating pointer to member of type void"
msgstr ""
-#: cp/pt.cc:17031
+#: cp/pt.cc:17050
#, gcc-internal-format
msgid "creating array of %qT"
msgstr ""
-#: cp/pt.cc:17072
+#: cp/pt.cc:17091
#, gcc-internal-format
msgid "%qD expanded to more than one element"
msgstr ""
-#: cp/pt.cc:17079
+#: cp/pt.cc:17098
#, gcc-internal-format
msgid "%qD is instantiated for an empty pack"
msgstr ""
-#: cp/pt.cc:17100
+#: cp/pt.cc:17119
#, gcc-internal-format
msgid "%qT is not a class, struct, or union type"
msgstr ""
-#: cp/pt.cc:17140
+#: cp/pt.cc:17159
#, gcc-internal-format
msgid "%qT resolves to %qT, which is not an enumeration type"
msgstr ""
-#: cp/pt.cc:17148
+#: cp/pt.cc:17167
#, gcc-internal-format
msgid "%qT resolves to %qT, which is not a class type"
msgstr ""
-#: cp/pt.cc:17271
+#: cp/pt.cc:17290
#, gcc-internal-format
msgid "use of %qs in template"
msgstr ""
-#: cp/pt.cc:17590
+#: cp/pt.cc:17609
#, gcc-internal-format
msgid "qualifying type %qT does not match destructor name ~%qT"
msgstr ""
-#: cp/pt.cc:17606
+#: cp/pt.cc:17625
#, gcc-internal-format
msgid ""
"dependent-name %qE is parsed as a non-type, but instantiation yields a type"
msgstr ""
-#: cp/pt.cc:17608
+#: cp/pt.cc:17627
#, gcc-internal-format
msgid "say %<typename %E%> if a type is meant"
msgstr ""
-#: cp/pt.cc:17692
+#: cp/pt.cc:17711
#, gcc-internal-format
msgid "initializer for %q#D expands to an empty list of expressions"
msgstr ""
-#: cp/pt.cc:19936 cp/pt.cc:22157
+#: cp/pt.cc:19980 cp/pt.cc:22201
#, gcc-internal-format
msgid "invalid use of pack expansion expression"
msgstr ""
-#: cp/pt.cc:19940 cp/pt.cc:22161
+#: cp/pt.cc:19984 cp/pt.cc:22205
#, gcc-internal-format
msgid "use %<...%> to expand argument pack"
msgstr ""
-#: cp/pt.cc:20087
+#: cp/pt.cc:20131
#, gcc-internal-format
msgid "empty initializer in lambda init-capture"
msgstr ""
-#: cp/pt.cc:21393
+#: cp/pt.cc:21437
#, 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:21428
+#: cp/pt.cc:21472
#, gcc-internal-format
msgid "declarations in dependent base %qT are not found by unqualified lookup"
msgstr ""
-#: cp/pt.cc:21433
+#: cp/pt.cc:21477
#, gcc-internal-format
msgid "use %<this->%D%> instead"
msgstr ""
-#: cp/pt.cc:21436
+#: cp/pt.cc:21480
#, gcc-internal-format
msgid "use %<%T::%D%> instead"
msgstr ""
-#: cp/pt.cc:21441
+#: cp/pt.cc:21485
#, gcc-internal-format
msgid "%qD declared here, later in the translation unit"
msgstr ""
-#: cp/pt.cc:21492
+#: cp/pt.cc:21536
#, gcc-internal-format
msgid "wrong number of arguments to %<__builtin_convertvector%>"
msgstr ""
-#: cp/pt.cc:21519
+#: cp/pt.cc:21563
#, gcc-internal-format
msgid "wrong number of arguments to %<assume%> attribute"
msgstr ""
-#: cp/pt.cc:21758
+#: cp/pt.cc:21802
#, gcc-internal-format
msgid "%qT is not a class or namespace"
msgstr ""
-#: cp/pt.cc:21761
+#: cp/pt.cc:21805
#, gcc-internal-format
msgid "%qD is not a class or namespace"
msgstr ""
-#: cp/pt.cc:22077
+#: cp/pt.cc:22121
#, gcc-internal-format
msgid "using invalid field %qD"
msgstr ""
-#: cp/pt.cc:22427
+#: cp/pt.cc:22471
#, gcc-internal-format
msgid "%qT is/uses unnamed type"
msgstr ""
-#: cp/pt.cc:22429
+#: cp/pt.cc:22473
#, gcc-internal-format
msgid "template argument for %qD uses local type %qT"
msgstr ""
-#: cp/pt.cc:22439
+#: cp/pt.cc:22483
#, gcc-internal-format
msgid "%qT is a variably modified type"
msgstr ""
-#: cp/pt.cc:22454
+#: cp/pt.cc:22498
#, gcc-internal-format
msgid "integral expression %qE is not constant"
msgstr ""
-#: cp/pt.cc:22472
+#: cp/pt.cc:22516
#, gcc-internal-format
msgid " trying to instantiate %qD"
msgstr ""
-#: cp/pt.cc:26907
+#: cp/pt.cc:26953
#, gcc-internal-format
msgid "ambiguous template instantiation for %q#T"
msgstr ""
-#: cp/pt.cc:26909
+#: cp/pt.cc:26955
#, gcc-internal-format
msgid "ambiguous template instantiation for %q#D"
msgstr ""
-#: cp/pt.cc:26915
+#: cp/pt.cc:26961
msgid "%s %#qS"
msgstr ""
-#: cp/pt.cc:26942 cp/pt.cc:27029
+#: cp/pt.cc:26988 cp/pt.cc:27075
#, gcc-internal-format
msgid "explicit instantiation of non-template %q#D"
msgstr ""
-#: cp/pt.cc:26961
+#: cp/pt.cc:27007
#, gcc-internal-format
msgid "%qD is not a static data member of a class template"
msgstr ""
-#: cp/pt.cc:26967 cp/pt.cc:27024
+#: cp/pt.cc:27013 cp/pt.cc:27070
#, gcc-internal-format
msgid "no matching template for %qD found"
msgstr ""
-#: cp/pt.cc:26972
+#: cp/pt.cc:27018
#, gcc-internal-format
msgid ""
"type %qT for explicit instantiation %qD does not match declared type %qT"
msgstr ""
-#: cp/pt.cc:26980
+#: cp/pt.cc:27026
#, gcc-internal-format
msgid "explicit instantiation of %q#D"
msgstr ""
-#: cp/pt.cc:27016
+#: cp/pt.cc:27062
#, gcc-internal-format
msgid "duplicate explicit instantiation of %q#D"
msgstr ""
-#: cp/pt.cc:27039 cp/pt.cc:27106
+#: cp/pt.cc:27085 cp/pt.cc:27152
#, gcc-internal-format
msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
msgstr ""
-#: cp/pt.cc:27044 cp/pt.cc:27121
+#: cp/pt.cc:27090 cp/pt.cc:27167
#, gcc-internal-format
msgid "storage class %qD applied to template instantiation"
msgstr ""
-#: cp/pt.cc:27078
+#: cp/pt.cc:27124
#, gcc-internal-format
msgid "explicit instantiation of non-class template %qD"
msgstr ""
-#: cp/pt.cc:27081
+#: cp/pt.cc:27127
#, gcc-internal-format
msgid "explicit instantiation of non-template type %qT"
msgstr ""
-#: cp/pt.cc:27090
+#: cp/pt.cc:27136
#, gcc-internal-format
msgid "explicit instantiation of %q#T before definition of template"
msgstr ""
-#: cp/pt.cc:27111
+#: cp/pt.cc:27157
#, gcc-internal-format
msgid "ISO C++ forbids the use of %qE on explicit instantiations"
msgstr ""
-#: cp/pt.cc:27151
+#: cp/pt.cc:27197
#, gcc-internal-format
msgid "duplicate explicit instantiation of %q#T"
msgstr ""
-#: cp/pt.cc:27481
+#: cp/pt.cc:27527
#, gcc-internal-format
msgid "exception specification of %qD depends on itself"
msgstr ""
-#: cp/pt.cc:27487
+#: cp/pt.cc:27533
#, gcc-internal-format
msgid ""
"exception specification of %qD is not available until end of class definition"
@@ -69924,12 +70095,12 @@ msgstr ""
#. 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:27958
+#: cp/pt.cc:28009
#, gcc-internal-format
msgid "explicit instantiation of %qD but no definition available"
msgstr ""
-#: cp/pt.cc:28004
+#: cp/pt.cc:28055
#, gcc-internal-format
msgid ""
"template instantiation depth exceeds maximum of %d instantiating %q+D, "
@@ -69937,164 +70108,164 @@ msgid ""
"increase the maximum)"
msgstr ""
-#: cp/pt.cc:28379
+#: cp/pt.cc:28430
#, 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:28409
+#: cp/pt.cc:28460
#, 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:28418
+#: cp/pt.cc:28469
#, 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:28426
+#: cp/pt.cc:28477
#, gcc-internal-format
msgid "invalid template non-type parameter"
msgstr ""
-#: cp/pt.cc:28428
+#: cp/pt.cc:28479
#, gcc-internal-format
msgid "%q#T is not a valid type for a template non-type parameter"
msgstr ""
-#: cp/pt.cc:29891
+#: cp/pt.cc:29942
#, gcc-internal-format
msgid "keyword %<template%> not allowed in declarator-id"
msgstr ""
-#: cp/pt.cc:30076
+#: cp/pt.cc:30127
#, gcc-internal-format
msgid "a concept cannot be constrained"
msgstr ""
-#: cp/pt.cc:30085
+#: cp/pt.cc:30136
#, gcc-internal-format
msgid "concept %qE not in namespace scope"
msgstr ""
-#: cp/pt.cc:30091
+#: cp/pt.cc:30142
#, gcc-internal-format
msgid "concept %qE has multiple template parameter lists"
msgstr ""
-#: cp/pt.cc:30135
+#: cp/pt.cc:30186
#, gcc-internal-format
msgid ""
"deducing from brace-enclosed initializer list requires %<#include "
"<initializer_list>%>"
msgstr ""
-#: cp/pt.cc:31407
+#: cp/pt.cc:31457
#, gcc-internal-format
msgid "non-deducible template %qT used without template arguments"
msgstr ""
-#: cp/pt.cc:31420
+#: cp/pt.cc:31470
#, gcc-internal-format
msgid ""
"alias template deduction only available with %<-std=c++20%> or %<-std=gnu+"
"+20%>"
msgstr ""
-#: cp/pt.cc:31426
+#: cp/pt.cc:31476
#, gcc-internal-format
msgid "use %qD directly instead"
msgstr ""
-#: cp/pt.cc:31554
+#: cp/pt.cc:31604
#, 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:31561
+#: cp/pt.cc:31611
#, gcc-internal-format
msgid ""
"cannot deduce template arguments of %qT, as it has no viable deduction guides"
msgstr ""
-#: cp/pt.cc:31574
+#: cp/pt.cc:31624
#, gcc-internal-format
msgid "class template argument deduction failed:"
msgstr ""
-#: cp/pt.cc:31577
+#: cp/pt.cc:31627
#, gcc-internal-format
msgid "explicit deduction guides not considered for copy-initialization"
msgstr ""
-#: cp/pt.cc:31592
+#: cp/pt.cc:31642
#, gcc-internal-format
msgid ""
"class template argument deduction for %qT failed: explicit deduction guide "
"selected in copy-list-initialization"
msgstr ""
-#: cp/pt.cc:31596
+#: cp/pt.cc:31646
#, gcc-internal-format
msgid "explicit deduction guide declared here"
msgstr ""
-#: cp/pt.cc:31611
+#: cp/pt.cc:31661
#, gcc-internal-format
msgid "%qT may not intend to support class template argument deduction"
msgstr ""
-#: cp/pt.cc:31613
+#: cp/pt.cc:31663
#, gcc-internal-format
msgid "add a deduction guide to suppress this warning"
msgstr ""
-#: cp/pt.cc:31736
+#: cp/pt.cc:31786
#, gcc-internal-format
msgid "direct-list-initialization of %<auto%> requires exactly one element"
msgstr ""
-#: cp/pt.cc:31739
+#: cp/pt.cc:31789
#, gcc-internal-format
msgid ""
"for deduction to %<std::initializer_list%>, use copy-list-initialization (i."
"e. add %<=%> before the %<{%>)"
msgstr ""
-#: cp/pt.cc:31799
+#: cp/pt.cc:31849
#, gcc-internal-format
msgid "unable to deduce lambda return type from %qE"
msgstr ""
-#: cp/pt.cc:31802
+#: cp/pt.cc:31852
#, gcc-internal-format
msgid "unable to deduce %qT from %qE"
msgstr ""
-#: cp/pt.cc:31877
+#: cp/pt.cc:31927
#, gcc-internal-format
msgid "placeholder constraints not satisfied"
msgstr ""
-#: cp/pt.cc:31881
+#: cp/pt.cc:31931
#, gcc-internal-format
msgid "deduced initializer does not satisfy placeholder constraints"
msgstr ""
-#: cp/pt.cc:31885
+#: cp/pt.cc:31935
#, gcc-internal-format
msgid "deduced return type does not satisfy placeholder constraints"
msgstr ""
-#: cp/pt.cc:31889
+#: cp/pt.cc:31939
#, gcc-internal-format
msgid "deduced expression type does not satisfy placeholder constraints"
msgstr ""
@@ -70247,724 +70418,729 @@ msgstr ""
msgid "virtual function declared here"
msgstr ""
-#: cp/semantics.cc:1291
+#: cp/semantics.cc:1294
#, gcc-internal-format
msgid ""
"%<std::is_constant_evaluated%> always evaluates to true in %<if constexpr%>"
msgstr ""
-#: cp/semantics.cc:1297
+#: cp/semantics.cc:1300
#, gcc-internal-format
msgid ""
"%<std::is_constant_evaluated%> evaluates to true when checking if trivially "
"empty iteration statement is trivial infinite loop"
msgstr ""
-#: cp/semantics.cc:1302
+#: cp/semantics.cc:1305
#, gcc-internal-format
msgid ""
"and evaluates to false when actually evaluating the condition in non-"
"%<constexpr%> function"
msgstr ""
-#: cp/semantics.cc:1307
+#: cp/semantics.cc:1310
#, gcc-internal-format
msgid ""
"%<std::is_constant_evaluated%> always evaluates to false in a non-"
"%<constexpr%> function"
msgstr ""
-#: cp/semantics.cc:1311
+#: cp/semantics.cc:1314
#, gcc-internal-format
msgid ""
"%<std::is_constant_evaluated%> always evaluates to true in a %<consteval%> "
"function"
msgstr ""
-#: cp/semantics.cc:1537
+#: cp/semantics.cc:1540
#, gcc-internal-format
msgid "suggest explicit braces around empty body in %<do%> statement"
msgstr ""
-#: cp/semantics.cc:2105
+#: cp/semantics.cc:2108
#, gcc-internal-format
msgid "catching polymorphic type %q#T by value"
msgstr ""
-#: cp/semantics.cc:2110
+#: cp/semantics.cc:2113
#, gcc-internal-format
msgid "catching type %q#T by value"
msgstr ""
-#: cp/semantics.cc:2115
+#: cp/semantics.cc:2118
#, gcc-internal-format
msgid "catching non-reference type %q#T"
msgstr ""
-#: cp/semantics.cc:2412
+#: cp/semantics.cc:2415
#, gcc-internal-format
msgid "type of %<asm%> operand %qE could not be determined"
msgstr ""
-#: cp/semantics.cc:2564
+#: cp/semantics.cc:2567
#, gcc-internal-format
msgid "%<__label__%> declarations are only allowed in function scopes"
msgstr ""
-#: cp/semantics.cc:2742
+#: cp/semantics.cc:2745
#, gcc-internal-format
msgid "invalid use of member %qD in static member function"
msgstr ""
-#: cp/semantics.cc:2746
+#: cp/semantics.cc:2749
#, gcc-internal-format
msgid "invalid use of member %qD in constructor %<pre%> contract"
msgstr ""
-#: cp/semantics.cc:2750
+#: cp/semantics.cc:2753
#, gcc-internal-format
msgid "invalid use of member %qD in destructor %<post%> contract"
msgstr ""
-#: cp/semantics.cc:3018
+#: cp/semantics.cc:3021
#, gcc-internal-format
msgid "%qE missing template arguments"
msgstr ""
-#: cp/semantics.cc:3078
+#: cp/semantics.cc:3081
#, gcc-internal-format
msgid ""
"a statement expression is an insufficient context for overload resolution"
msgstr ""
-#: cp/semantics.cc:3430
+#: cp/semantics.cc:3434
#, gcc-internal-format
msgid "cannot call a concept as a function"
msgstr ""
-#: cp/semantics.cc:3510
+#: cp/semantics.cc:3514
#, gcc-internal-format
msgid "arguments to destructor are not allowed"
msgstr ""
-#: cp/semantics.cc:3615
+#: cp/semantics.cc:3619
#, gcc-internal-format
msgid "%<this%> is unavailable for explicit object member functions"
msgstr ""
-#: cp/semantics.cc:3627
+#: cp/semantics.cc:3631
#, gcc-internal-format
msgid "use explicit object parameter %qs instead"
msgstr ""
-#: cp/semantics.cc:3631
+#: cp/semantics.cc:3635
#, gcc-internal-format
msgid "name the explicit object parameter"
msgstr ""
-#: cp/semantics.cc:3636
+#: cp/semantics.cc:3640
#, gcc-internal-format
msgid "%<this%> is unavailable for static member functions"
msgstr ""
-#: cp/semantics.cc:3638
+#: cp/semantics.cc:3642
#, gcc-internal-format
msgid "invalid use of %<this%> before it is valid"
msgstr ""
-#: cp/semantics.cc:3640
+#: cp/semantics.cc:3644
#, gcc-internal-format
msgid "invalid use of %<this%> after it is valid"
msgstr ""
-#: cp/semantics.cc:3642
+#: cp/semantics.cc:3646
#, gcc-internal-format
msgid "invalid use of %<this%> in non-member function"
msgstr ""
-#: cp/semantics.cc:3644
+#: cp/semantics.cc:3648
#, gcc-internal-format
msgid "invalid use of %<this%> at top level"
msgstr ""
-#: cp/semantics.cc:3667
+#: cp/semantics.cc:3671
#, gcc-internal-format
msgid "invalid qualifying scope in pseudo-destructor name"
msgstr ""
-#: cp/semantics.cc:3676 cp/typeck.cc:3109
+#: cp/semantics.cc:3680 cp/typeck.cc:3109
#, gcc-internal-format
msgid "qualified type %qT does not match destructor name ~%qT"
msgstr ""
-#: cp/semantics.cc:3699
+#: cp/semantics.cc:3703
#, gcc-internal-format
msgid "%qE is not of type %qT"
msgstr ""
-#: cp/semantics.cc:3813
+#: cp/semantics.cc:3817
#, gcc-internal-format
msgid "compound literal of non-object type %qT"
msgstr ""
-#: cp/semantics.cc:3833
+#: cp/semantics.cc:3837
#, gcc-internal-format
msgid "%<auto{x}%> cannot be constrained"
msgstr ""
-#: cp/semantics.cc:3838
+#: cp/semantics.cc:3842
#, gcc-internal-format
msgid "%<auto{x}%> only available with %<-std=c++23%> or %<-std=gnu++23%>"
msgstr ""
-#: cp/semantics.cc:4030
+#: cp/semantics.cc:4034
#, gcc-internal-format
msgid "template type parameters must use the keyword %<class%> or %<typename%>"
msgstr ""
-#: cp/semantics.cc:4083
+#: cp/semantics.cc:4087
#, gcc-internal-format
msgid ""
"invalid use of type %qT as a default value for a template template-parameter"
msgstr ""
-#: cp/semantics.cc:4087
+#: cp/semantics.cc:4091
#, gcc-internal-format
msgid "invalid default argument for a template template parameter"
msgstr ""
-#: cp/semantics.cc:4104
+#: cp/semantics.cc:4108
#, gcc-internal-format
msgid "definition of %q#T inside template parameter list"
msgstr ""
-#: cp/semantics.cc:4135
+#: cp/semantics.cc:4139
#, gcc-internal-format
msgid "invalid definition of qualified type %qT"
msgstr ""
-#: cp/semantics.cc:4425
+#: cp/semantics.cc:4429
#, gcc-internal-format
msgid "invalid base-class specification"
msgstr ""
-#: cp/semantics.cc:4591
+#: cp/semantics.cc:4595
#, gcc-internal-format
msgid "cannot capture member %qD of anonymous union"
msgstr ""
-#: cp/semantics.cc:4609
+#: cp/semantics.cc:4613
#, gcc-internal-format
msgid "%qD is not captured"
msgstr ""
-#: cp/semantics.cc:4613
+#: cp/semantics.cc:4617
#, gcc-internal-format
msgid "the lambda has no capture-default"
msgstr ""
-#: cp/semantics.cc:4615
+#: cp/semantics.cc:4619
#, gcc-internal-format
msgid ""
"lambda in local class %q+T cannot capture variables from the enclosing "
"context"
msgstr ""
-#: cp/semantics.cc:4631
+#: cp/semantics.cc:4635
#, gcc-internal-format
msgid "use of local variable with automatic storage from containing function"
msgstr ""
-#: cp/semantics.cc:4633
+#: cp/semantics.cc:4637
#, gcc-internal-format
msgid "use of parameter from containing function"
msgstr ""
-#: cp/semantics.cc:4763
+#: cp/semantics.cc:4767
#, gcc-internal-format
msgid "use of parameter outside function body"
msgstr ""
-#: cp/semantics.cc:4773
+#: cp/semantics.cc:4777
#, gcc-internal-format
msgid "missing template arguments"
msgstr ""
-#: cp/semantics.cc:4809
+#: cp/semantics.cc:4813
#, gcc-internal-format
msgid ""
"template parameter %qD of type %qT is not allowed in an integral constant "
"expression because it is not of integral or enumeration type"
msgstr ""
-#: cp/semantics.cc:4860
+#: cp/semantics.cc:4864
#, gcc-internal-format
msgid "use of class template %qT as expression"
msgstr ""
-#: cp/semantics.cc:4868
+#: cp/semantics.cc:4872
#, gcc-internal-format
msgid "request for member %qD is ambiguous in multiple inheritance lattice"
msgstr ""
-#: cp/semantics.cc:4896
+#: cp/semantics.cc:4900
#, gcc-internal-format
msgid "%qD cannot appear in a constant-expression"
msgstr ""
-#: cp/semantics.cc:5049
+#: cp/semantics.cc:5053
#, gcc-internal-format
msgid "type of %qE is unknown"
msgstr ""
-#: cp/semantics.cc:5067 rust/backend/rust-tree.cc:5498
+#: cp/semantics.cc:5071 rust/backend/rust-tree.cc:5498
#, gcc-internal-format
msgid "%qT is not an enumeration type"
msgstr ""
-#: cp/semantics.cc:5094
+#: cp/semantics.cc:5098
+#, gcc-internal-format
+msgid "pack index has non-integral type %qT"
+msgstr ""
+
+#: cp/semantics.cc:5105
#, gcc-internal-format
msgid "pack index is not an integral constant"
msgstr ""
-#: cp/semantics.cc:5100
+#: cp/semantics.cc:5113
#, gcc-internal-format
-msgid "pack index is negative"
+msgid "pack index %qE is negative"
msgstr ""
-#: cp/semantics.cc:5106
+#: cp/semantics.cc:5119
#, gcc-internal-format
-msgid "pack index is out of range"
+msgid "pack index %qE is out of range for pack of length %qd"
msgstr ""
#. Parameter packs can only be used in templates
-#: cp/semantics.cc:5243
+#: cp/semantics.cc:5257
#, gcc-internal-format
msgid "parameter pack %<__bases%> only valid in template declaration"
msgstr ""
-#: cp/semantics.cc:5275
+#: cp/semantics.cc:5289
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
msgstr ""
-#: cp/semantics.cc:5289
+#: cp/semantics.cc:5303
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to member function %qD"
msgstr ""
-#: cp/semantics.cc:5293
+#: cp/semantics.cc:5307
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to member function"
msgstr ""
-#: cp/semantics.cc:5298
+#: cp/semantics.cc:5312
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to an enumerator %qD"
msgstr ""
-#: cp/semantics.cc:5309
+#: cp/semantics.cc:5323
#, gcc-internal-format
msgid ""
"%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
msgstr ""
-#: cp/semantics.cc:6513
+#: cp/semantics.cc:6527
#, gcc-internal-format
msgid "pointer-to-member mapping %qE not supported"
msgstr ""
-#: cp/semantics.cc:6708
+#: cp/semantics.cc:6722
#, gcc-internal-format
msgid "user defined reduction lookup is ambiguous"
msgstr ""
-#: cp/semantics.cc:6981
+#: cp/semantics.cc:6995
#, gcc-internal-format
msgid "%qE in %<reduction%> clause is a zero size array"
msgstr ""
-#: cp/semantics.cc:7027
+#: cp/semantics.cc:7041
#, gcc-internal-format
msgid "%qE has const type for %<reduction%>"
msgstr ""
-#: cp/semantics.cc:7146
+#: cp/semantics.cc:7160
#, gcc-internal-format
msgid "user defined reduction with constructor initializer for base class %qT"
msgstr ""
-#: cp/semantics.cc:7505
+#: cp/semantics.cc:7519
#, gcc-internal-format
msgid "expected string literal or constant integer expression instead of %qE"
msgstr ""
-#: cp/semantics.cc:7695
+#: cp/semantics.cc:7709
#, gcc-internal-format
msgid ""
"modifier other than %<val%> specified in %<linear%> clause on %<simd%> or "
"%<for%> constructs when using OpenMP 5.2 modifiers"
msgstr ""
-#: cp/semantics.cc:7710
+#: cp/semantics.cc:7724
#, gcc-internal-format
msgid ""
"linear clause with %qs modifier applied to non-reference variable with %qT "
"type"
msgstr ""
-#: cp/semantics.cc:7725
+#: cp/semantics.cc:7739
#, gcc-internal-format
msgid ""
"linear clause applied to non-integral non-pointer variable with %qT type"
msgstr ""
-#: cp/semantics.cc:7749
+#: cp/semantics.cc:7763
#, gcc-internal-format
msgid "linear step expression must be integral"
msgstr ""
-#: cp/semantics.cc:7842 cp/semantics.cc:7974 cp/semantics.cc:8034
-#: cp/semantics.cc:8459 cp/semantics.cc:9627
+#: cp/semantics.cc:7856 cp/semantics.cc:7988 cp/semantics.cc:8048
+#: cp/semantics.cc:8473 cp/semantics.cc:9641
#, gcc-internal-format
msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
msgstr ""
-#: cp/semantics.cc:7854 cp/semantics.cc:9640
+#: cp/semantics.cc:7868 cp/semantics.cc:9654
#, gcc-internal-format
msgid "%qD is not a variable in clause %qs"
msgstr ""
-#: cp/semantics.cc:7987
+#: cp/semantics.cc:8001
#, gcc-internal-format
msgid "%qD is not a variable in clause %<firstprivate%>"
msgstr ""
-#: cp/semantics.cc:8047
+#: cp/semantics.cc:8061
#, gcc-internal-format
msgid "%qD is not a variable in clause %<lastprivate%>"
msgstr ""
-#: cp/semantics.cc:8118
+#: cp/semantics.cc:8132
#, gcc-internal-format
msgid "%<gang%> static expression must be integral"
msgstr ""
-#: cp/semantics.cc:8132
+#: cp/semantics.cc:8146
#, gcc-internal-format
msgid "%<gang%> static value must be positive"
msgstr ""
-#: cp/semantics.cc:8170
+#: cp/semantics.cc:8184
#, gcc-internal-format
msgid "%<gang%> num expression must be integral"
msgstr ""
-#: cp/semantics.cc:8173
+#: cp/semantics.cc:8187
#, gcc-internal-format
msgid "%<vector%> length expression must be integral"
msgstr ""
-#: cp/semantics.cc:8177
+#: cp/semantics.cc:8191
#, gcc-internal-format
msgid "%<worker%> num expression must be integral"
msgstr ""
-#: cp/semantics.cc:8199
+#: cp/semantics.cc:8213
#, gcc-internal-format
msgid "%<gang%> num value must be positive"
msgstr ""
-#: cp/semantics.cc:8203
+#: cp/semantics.cc:8217
#, gcc-internal-format
msgid "%<vector%> length value must be positive"
msgstr ""
-#: cp/semantics.cc:8208
+#: cp/semantics.cc:8222
#, gcc-internal-format
msgid "%<worker%> num value must be positive"
msgstr ""
-#: cp/semantics.cc:8284
+#: cp/semantics.cc:8298
#, gcc-internal-format
msgid "schedule chunk size expression must be integral"
msgstr ""
-#: cp/semantics.cc:8317
+#: cp/semantics.cc:8331
#, gcc-internal-format
msgid "%qs length expression must be integral"
msgstr ""
-#: cp/semantics.cc:8331
+#: cp/semantics.cc:8345
#, gcc-internal-format
msgid "%qs length expression must be positive constant integer expression"
msgstr ""
-#: cp/semantics.cc:8351
+#: cp/semantics.cc:8365
#, gcc-internal-format
msgid "%<async%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:8380
+#: cp/semantics.cc:8394
#, gcc-internal-format
msgid "%<thread_limit%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:8410
+#: cp/semantics.cc:8424
#, gcc-internal-format
msgid "%<device%> id must be integral"
msgstr ""
-#: cp/semantics.cc:8441
+#: cp/semantics.cc:8455
#, gcc-internal-format
msgid "%<dist_schedule%> chunk size expression must be integral"
msgstr ""
-#: cp/semantics.cc:8470
+#: cp/semantics.cc:8484
#, gcc-internal-format
msgid "%qD is not a variable in %<aligned%> clause"
msgstr ""
-#: cp/semantics.cc:8485
+#: cp/semantics.cc:8499
#, gcc-internal-format
msgid ""
"%qE in %<aligned%> clause is neither a pointer nor an array nor a reference "
"to pointer or array"
msgstr ""
-#: cp/semantics.cc:8492
+#: cp/semantics.cc:8506
#, gcc-internal-format
msgid "%qD appears more than once in %<aligned%> clauses"
msgstr ""
-#: cp/semantics.cc:8507
+#: cp/semantics.cc:8521
#, gcc-internal-format
msgid "%<aligned%> clause alignment expression must be integral"
msgstr ""
-#: cp/semantics.cc:8538
+#: cp/semantics.cc:8552
#, gcc-internal-format
msgid "%qD is not a variable in %<nontemporal%> clause"
msgstr ""
-#: cp/semantics.cc:8549
+#: cp/semantics.cc:8563
#, gcc-internal-format
msgid "%qD appears more than once in %<nontemporal%> clauses"
msgstr ""
-#: cp/semantics.cc:8566
+#: cp/semantics.cc:8580
#, gcc-internal-format
msgid "%<this%> not allowed in %<allocate%> clause"
msgstr ""
-#: cp/semantics.cc:8578
+#: cp/semantics.cc:8592
#, gcc-internal-format
msgid "%qD is not a variable in %<allocate%> clause"
msgstr ""
-#: cp/semantics.cc:8587
+#: cp/semantics.cc:8601
#, gcc-internal-format
msgid "%qD appears more than once in %<allocate%> clauses"
msgstr ""
-#: cp/semantics.cc:8737
+#: cp/semantics.cc:8751
#, gcc-internal-format
msgid "%qD is not lvalue expression nor array section in %qs clause"
msgstr ""
-#: cp/semantics.cc:9241
+#: cp/semantics.cc:9255
#, gcc-internal-format
msgid "template %qE in clause %qs"
msgstr ""
-#: cp/semantics.cc:9244
+#: cp/semantics.cc:9258
#, gcc-internal-format
msgid "overloaded function name %qE in clause %qs"
msgstr ""
-#: cp/semantics.cc:9314
+#: cp/semantics.cc:9328
#, gcc-internal-format
msgid "%<grainsize%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:9344
+#: cp/semantics.cc:9358
#, gcc-internal-format
msgid "%<priority%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:9374
+#: cp/semantics.cc:9388
#, gcc-internal-format
msgid "%<hint%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:9386
+#: cp/semantics.cc:9400
#, gcc-internal-format
msgid "%<hint%> expression must be constant integer expression"
msgstr ""
-#: cp/semantics.cc:9403
+#: cp/semantics.cc:9417
#, gcc-internal-format
msgid "%<filter%> expression must be integral"
msgstr ""
-#: cp/semantics.cc:9434
+#: cp/semantics.cc:9448
#, gcc-internal-format
msgid "%qs variable is neither a pointer nor reference to pointer"
msgstr ""
-#: cp/semantics.cc:9444
+#: cp/semantics.cc:9458
#, gcc-internal-format
msgid ""
"%qs variable is neither a pointer, nor an array nor reference to pointer or "
"array"
msgstr ""
-#: cp/semantics.cc:9528
+#: cp/semantics.cc:9542
#, gcc-internal-format
msgid "%<tile%> argument needs integral type"
msgstr ""
-#: cp/semantics.cc:10092
+#: cp/semantics.cc:10106
#, gcc-internal-format
msgid ""
"%<const%> qualified %qE without %<mutable%> member may appear only in "
"%<shared%> or %<firstprivate%> clauses"
msgstr ""
-#: cp/semantics.cc:10333
+#: cp/semantics.cc:10347
#, gcc-internal-format
msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
msgstr ""
-#: cp/semantics.cc:10347
+#: cp/semantics.cc:10361
#, gcc-internal-format
msgid "%<threadprivate%> %qE directive not in %qT definition"
msgstr ""
-#: cp/semantics.cc:11084
+#: cp/semantics.cc:11098
#, gcc-internal-format
msgid "difference between %qE and %qD does not have integer type"
msgstr ""
-#: cp/semantics.cc:11582
+#: cp/semantics.cc:11596
#, gcc-internal-format
msgid "%<#pragma omp simd%> used with class iteration variable %qE"
msgstr ""
-#: cp/semantics.cc:11906 cp/semantics.cc:11916
+#: cp/semantics.cc:11920 cp/semantics.cc:11930
#, gcc-internal-format
msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
msgstr ""
-#: cp/semantics.cc:12248
+#: cp/semantics.cc:12262
#, gcc-internal-format
msgid ""
"constexpr string must be a string literal or object with %<size%> and "
"%<data%> members"
msgstr ""
-#: cp/semantics.cc:12264
+#: cp/semantics.cc:12278
#, gcc-internal-format
msgid ""
"constexpr string %<size()%> must be implicitly convertible to %<std::size_t%>"
msgstr ""
-#: cp/semantics.cc:12273
+#: cp/semantics.cc:12287
#, gcc-internal-format
msgid ""
"constexpr string %<data()%> must be implicitly convertible to %<const char*%>"
msgstr ""
-#: cp/semantics.cc:12311
+#: cp/semantics.cc:12325
#, gcc-internal-format
msgid "constexpr string %<size()%> must be a constant expression"
msgstr ""
-#: cp/semantics.cc:12319
+#: cp/semantics.cc:12333
#, gcc-internal-format
msgid "constexpr string message %<size()%> %qE too large"
msgstr ""
-#: cp/semantics.cc:12346
+#: cp/semantics.cc:12360
#, gcc-internal-format
msgid "constexpr string %<data()[%d]%> must be a constant expression"
msgstr ""
-#: cp/semantics.cc:12372
+#: cp/semantics.cc:12386
#, gcc-internal-format
msgid "constexpr string %<data()%> must be a core constant expression"
msgstr ""
-#: cp/semantics.cc:12471
+#: cp/semantics.cc:12485
#, gcc-internal-format
msgid "static assertion failed: %.*s"
msgstr ""
-#: cp/semantics.cc:12477
+#: cp/semantics.cc:12491
#, gcc-internal-format
msgid "non-constant condition for static assertion"
msgstr ""
-#: cp/semantics.cc:12506
+#: cp/semantics.cc:12520
#, gcc-internal-format
msgid "argument to %<decltype%> must be an expression"
msgstr ""
-#: cp/semantics.cc:12552
+#: cp/semantics.cc:12566
#, gcc-internal-format
msgid "%<decltype%> cannot resolve address of overloaded function"
msgstr ""
-#: cp/semantics.cc:12856 rust/backend/rust-tree.cc:5212
+#: cp/semantics.cc:12870 rust/backend/rust-tree.cc:5212
#, gcc-internal-format
msgid ""
"%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
msgstr ""
-#: cp/semantics.cc:12865 rust/backend/rust-tree.cc:5221
+#: cp/semantics.cc:12879 rust/backend/rust-tree.cc:5221
#, gcc-internal-format
msgid ""
"%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer "
"to member"
msgstr ""
-#: cp/semantics.cc:13036 rust/backend/rust-tree.cc:5825
+#: cp/semantics.cc:13050 rust/backend/rust-tree.cc:5825
#, gcc-internal-format
msgid ""
"%<__builtin_is_corresponding_member%> not well defined for anonymous unions"
msgstr ""
-#: cp/semantics.cc:13060 rust/backend/rust-tree.cc:5869
+#: cp/semantics.cc:13074 rust/backend/rust-tree.cc:5869
#, gcc-internal-format
msgid "%<__builtin_is_corresponding_member%> needs two arguments"
msgstr ""
-#: cp/semantics.cc:13071 rust/backend/rust-tree.cc:5879
+#: cp/semantics.cc:13085 rust/backend/rust-tree.cc:5879
#, gcc-internal-format
msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member"
msgstr ""
-#: cp/semantics.cc:13628
+#: cp/semantics.cc:13642
#, gcc-internal-format
msgid "%qD is not a class or alias template"
msgstr ""
-#: cp/semantics.cc:13869
+#: cp/semantics.cc:13883
#, gcc-internal-format
msgid "operand of fold expression has no unexpanded parameter packs"
msgstr ""
-#: cp/semantics.cc:13929
+#: cp/semantics.cc:13943
#, gcc-internal-format
msgid "both arguments in binary fold have unexpanded parameter packs"
msgstr ""
-#: cp/semantics.cc:13931
+#: cp/semantics.cc:13945
#, gcc-internal-format
msgid "no unexpanded parameter packs in binary fold"
msgstr ""
-#: cp/semantics.cc:13948
+#: cp/semantics.cc:13962
#, gcc-internal-format
msgid ""
"type %qT of argument to %<__builtin_launder%> is not a pointer to object type"
@@ -70973,22 +71149,22 @@ msgstr ""
#. std::bit_cast for destination ARRAY_TYPE is not possible,
#. as functions may not return an array, so don't bother trying
#. to support this (and then deal with VLAs etc.).
-#: cp/semantics.cc:13998
+#: cp/semantics.cc:14012
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
msgstr ""
-#: cp/semantics.cc:14004
+#: cp/semantics.cc:14018
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
msgstr ""
-#: cp/semantics.cc:14031
+#: cp/semantics.cc:14045
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
msgstr ""
-#: cp/semantics.cc:14039
+#: cp/semantics.cc:14053
#, gcc-internal-format
msgid ""
"%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
@@ -72639,53 +72815,53 @@ msgstr ""
msgid "cannot determine the length of a %qs"
msgstr ""
-#: d/d-codegen.cc:1282
+#: d/d-codegen.cc:1285
#, gcc-internal-format
msgid "overlapping initializer for field %qT.%qD"
msgstr ""
-#: d/d-codegen.cc:1477
+#: d/d-codegen.cc:1491
#, gcc-internal-format
msgid "the address of %qD will never be %<null%>"
msgstr ""
-#: d/d-codegen.cc:2262
+#: d/d-codegen.cc:2276
#, gcc-internal-format
msgid "need %<this%> to access member %qE"
msgstr ""
-#: d/d-codegen.cc:2412
+#: d/d-codegen.cc:2426
#, gcc-internal-format
msgid "tried to perform floating-point modulo division on %qT"
msgstr ""
-#: d/d-codegen.cc:2463
+#: d/d-codegen.cc:2477
#, gcc-internal-format
msgid "cannot get frame pointer to %qs"
msgstr ""
#. Should instead error on line that references `fd'.
-#: d/d-codegen.cc:2489
+#: d/d-codegen.cc:2503
#, gcc-internal-format
msgid "nested function missing body"
msgstr ""
-#: d/d-codegen.cc:2531
+#: d/d-codegen.cc:2545
#, gcc-internal-format
msgid "%qs is a nested function and cannot be accessed from %qs"
msgstr ""
-#: d/d-codegen.cc:2840
+#: d/d-codegen.cc:2854
#, gcc-internal-format
msgid "variable %qs has scoped destruction, cannot build closure"
msgstr ""
-#: d/d-codegen.cc:2848
+#: d/d-codegen.cc:2862
#, gcc-internal-format
msgid "explicit register variable %qs cannot be used in nested function"
msgstr ""
-#: d/d-codegen.cc:3073
+#: d/d-codegen.cc:3087
#, gcc-internal-format
msgid "forward reference to frame of %qs"
msgstr ""
@@ -72756,42 +72932,42 @@ msgstr ""
msgid "bad argument for %<-fextern-std%>: %qs"
msgstr ""
-#: d/d-lang.cc:537
+#: d/d-lang.cc:541
#, gcc-internal-format
msgid "bad argument for %<-fmodule-file=%>: %qs"
msgstr ""
-#: d/d-lang.cc:704
+#: d/d-lang.cc:708
#, gcc-internal-format
msgid "bad argument for %<-fversion=%>: %qs"
msgstr ""
-#: d/d-lang.cc:980
+#: d/d-lang.cc:984
#, gcc-internal-format
msgid "unable to open %s for writing: %m"
msgstr ""
-#: d/d-lang.cc:987
+#: d/d-lang.cc:991
#, gcc-internal-format
msgid "writing output file %s: %m"
msgstr ""
-#: d/d-lang.cc:1007
+#: d/d-lang.cc:1011
#, gcc-internal-format
msgid "unable to open %s for reading: %m"
msgstr ""
-#: d/d-lang.cc:1032
+#: d/d-lang.cc:1036
#, gcc-internal-format
msgid "reading ddoc file %s: %m"
msgstr ""
-#: d/d-lang.cc:1091
+#: d/d-lang.cc:1095
#, gcc-internal-format
msgid "%<-fonly=%> argument is different from first input file name"
msgstr ""
-#: d/d-lang.cc:1274
+#: d/d-lang.cc:1278
#, gcc-internal-format
msgid "unable to resolve forward reference in definition"
msgstr ""
@@ -72832,27 +73008,27 @@ msgstr ""
msgid "use %<alias %s = %s.%s;%> to introduce base class overload set"
msgstr ""
-#: d/decl.cc:811
+#: d/decl.cc:815
#, gcc-internal-format
msgid "size is too large"
msgstr ""
-#: d/decl.cc:1423
+#: d/decl.cc:1428
#, gcc-internal-format
msgid "function requires a dual-context, which is not yet supported by GDC"
msgstr ""
-#: d/decl.cc:1600
+#: d/decl.cc:1605
#, gcc-internal-format
msgid "explicit register variable %qs declared %<extern%>"
msgstr ""
-#: d/decl.cc:1603
+#: d/decl.cc:1608
#, gcc-internal-format
msgid "explicit register variable %qs declared thread local"
msgstr ""
-#: d/decl.cc:1816
+#: d/decl.cc:1821
#, gcc-internal-format
msgid ""
"mismatch between declaration %qE size (%wd) and its initializer size (%wd)"
@@ -72913,17 +73089,17 @@ msgstr ""
msgid "recursive reference %qs"
msgstr ""
-#: d/expr.cc:2157 d/expr.cc:3055
+#: d/expr.cc:2157 d/expr.cc:3057
#, gcc-internal-format
msgid "non-constant expression %qs"
msgstr ""
-#: d/expr.cc:3022
+#: d/expr.cc:3024
#, gcc-internal-format
msgid "%qs is not an expression"
msgstr ""
-#: d/expr.cc:3029
+#: d/expr.cc:3031
#, gcc-internal-format
msgid "type %qs is not an expression"
msgstr ""
@@ -72966,7 +73142,7 @@ msgstr ""
msgid "intrinsic function %qE must be directly called"
msgstr ""
-#: d/modules.cc:417
+#: d/modules.cc:418
#, gcc-internal-format
msgid "%<-fmoduleinfo%> is not supported on this target"
msgstr ""
@@ -73035,17 +73211,17 @@ msgstr ""
msgid "%<object.TypeInfo%> could not be found, but is implicitly used"
msgstr ""
-#: d/types.cc:161
+#: d/types.cc:160
#, gcc-internal-format
msgid "missing or corrupt object.d"
msgstr ""
-#: d/types.cc:902
+#: d/types.cc:896
#, gcc-internal-format, gfc-internal-format
msgid "invalid expression for static array dimension: %s"
msgstr ""
-#: d/types.cc:1110
+#: d/types.cc:1104
#, gcc-internal-format
msgid "size of %qs (%wd) differ from its declared size (%wd)"
msgstr ""
@@ -73359,12 +73535,10 @@ msgstr ""
msgid "Array reference at %C cannot have more than %d dimensions"
msgstr ""
-#: fortran/array.cc:335 fortran/array.cc:805 fortran/check.cc:3813
-#: fortran/check.cc:6539 fortran/check.cc:6582 fortran/check.cc:6624
-#: fortran/check.cc:6651 fortran/check.cc:6914 fortran/match.cc:1859
-#: fortran/match.cc:3656 fortran/match.cc:3998 fortran/match.cc:4194
-#: fortran/simplify.cc:3099 fortran/simplify.cc:3129 fortran/simplify.cc:6736
-#: fortran/simplify.cc:9043
+#: fortran/array.cc:335 fortran/array.cc:805 fortran/match.cc:1917
+#: fortran/match.cc:3811 fortran/match.cc:4298 fortran/match.cc:4494
+#: fortran/simplify.cc:3099 fortran/simplify.cc:3129 fortran/simplify.cc:6738
+#: fortran/simplify.cc:9039
#, gcc-internal-format
msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable"
msgstr ""
@@ -73521,7 +73695,7 @@ msgstr ""
msgid "Array constructor including type specification at %C"
msgstr ""
-#: fortran/array.cc:1372 fortran/match.cc:4630
+#: fortran/array.cc:1372 fortran/match.cc:4930
#, gcc-internal-format, gfc-internal-format
msgid "Type-spec at %L cannot contain a deferred type parameter"
msgstr ""
@@ -73641,7 +73815,7 @@ msgstr ""
msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
msgstr ""
-#: fortran/check.cc:123 fortran/resolve.cc:12315
+#: fortran/check.cc:123 fortran/resolve.cc:12453
#, gcc-internal-format, gfc-internal-format
msgid "Invalid use of BOZ literal constant at %L"
msgstr ""
@@ -73704,7 +73878,7 @@ msgstr ""
msgid "%qs argument of %qs intrinsic at %L must be INTEGER or REAL or UNSIGNED"
msgstr ""
-#: fortran/check.cc:681 fortran/check.cc:3768
+#: fortran/check.cc:681 fortran/check.cc:3793
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be of intrinsic type"
msgstr ""
@@ -73719,7 +73893,7 @@ msgstr ""
msgid "%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE"
msgstr ""
-#: fortran/check.cc:742 fortran/check.cc:8216
+#: fortran/check.cc:742 fortran/check.cc:8278
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be a constant"
msgstr ""
@@ -73853,7 +74027,7 @@ msgstr ""
msgid "%qs and %qs arguments of %qs intrinsic at %L must have the same type"
msgstr ""
-#: fortran/check.cc:1531 fortran/check.cc:1564 fortran/check.cc:4085
+#: fortran/check.cc:1531 fortran/check.cc:1564 fortran/check.cc:4111
#, gcc-internal-format, gfc-internal-format
msgid "Different type kinds at %L"
msgstr ""
@@ -73869,7 +74043,7 @@ msgstr ""
msgid "%qs argument of %qs intrinsic at %L must be a POINTER"
msgstr ""
-#: fortran/check.cc:1618 fortran/check.cc:1653 fortran/check.cc:4870
+#: fortran/check.cc:1618 fortran/check.cc:1653 fortran/check.cc:4906
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall not be coindexed"
msgstr ""
@@ -73913,17 +74087,17 @@ msgid ""
"%qs argument of %qs intrinsic at %L shall have the same type as %qs at %L"
msgstr ""
-#: fortran/check.cc:1751 fortran/check.cc:2000
+#: fortran/check.cc:1751 fortran/check.cc:2025
#, gcc-internal-format, gfc-internal-format
msgid "STAT= argument to %s at %L"
msgstr ""
-#: fortran/check.cc:1770 fortran/check.cc:1940 fortran/check.cc:2037
+#: fortran/check.cc:1770 fortran/check.cc:1965 fortran/check.cc:2062
#, gcc-internal-format, gfc-internal-format
msgid "ATOM argument of the %s intrinsic function at %L shall be definable"
msgstr ""
-#: fortran/check.cc:1784 fortran/check.cc:2020
+#: fortran/check.cc:1784 fortran/check.cc:2045
#, gcc-internal-format, gfc-internal-format
msgid ""
"ATOM argument at %L to intrinsic function %s shall be an integer of "
@@ -73935,112 +74109,129 @@ msgstr ""
msgid "VALUE argument of the %s intrinsic function at %L shall be definable"
msgstr ""
-#: fortran/check.cc:1823 fortran/check.cc:1873 fortran/check.cc:1908
+#: fortran/check.cc:1819
#, gcc-internal-format
-msgid "%qs argument of %qs intrinsic at %L not yet supported"
+msgid ""
+"%qs argument of %qs intrinsic at %L shall be of type %<team_type%> from the "
+"intrinsic module %<ISO_FORTRAN_ENV%>"
msgstr ""
-#: fortran/check.cc:1848
+#: fortran/check.cc:1858
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L shall have a type of "
"CHARACTER(KIND=C_CHAR)"
msgstr ""
-#: fortran/check.cc:1893
+#: fortran/check.cc:1883
+#, gcc-internal-format
+msgid "%qs argument of %qs intrinsic at %L not yet supported"
+msgstr ""
+
+#: fortran/check.cc:1903
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall specify a valid integer kind"
msgstr ""
-#: fortran/check.cc:1947 fortran/check.cc:2044
+#: fortran/check.cc:1930
+#, gcc-internal-format
+msgid ""
+"%qs argument of %qs intrinsic at %L shall specify one of the INITIAL_TEAM, "
+"PARENT_TEAM or CURRENT_TEAM constants from the intrinsic module "
+"ISO_FORTRAN_ENV"
+msgstr ""
+
+#: fortran/check.cc:1972 fortran/check.cc:2069
#, gcc-internal-format, gfc-internal-format
msgid "OLD argument of the %s intrinsic function at %L shall be definable"
msgstr ""
-#: fortran/check.cc:1962
+#: fortran/check.cc:1987
#, gcc-internal-format, gfc-internal-format
msgid ""
"EVENT argument at %L to the intrinsic EVENT_QUERY shall be of type EVENT_TYPE"
msgstr ""
-#: fortran/check.cc:1972
+#: fortran/check.cc:1997
#, gcc-internal-format, gfc-internal-format
msgid ""
"COUNT argument of the EVENT_QUERY intrinsic function at %L shall be definable"
msgstr ""
-#: fortran/check.cc:1985
+#: fortran/check.cc:2010
#, gcc-internal-format, gfc-internal-format
msgid ""
"COUNT argument of the EVENT_QUERY intrinsic function at %L shall have at "
"least the range of the default integer"
msgstr ""
-#: fortran/check.cc:2064
+#: fortran/check.cc:2089
#, gcc-internal-format, gfc-internal-format
msgid "Negative argument N at %L"
msgstr ""
-#: fortran/check.cc:2195
+#: fortran/check.cc:2220
#, gcc-internal-format, gfc-internal-format
msgid "BOZ literal constant at %L cannot appear in CHAR intrinsic subprogram"
msgstr ""
-#: fortran/check.cc:2319 fortran/check.cc:2839
+#: fortran/check.cc:2344 fortran/check.cc:2864
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must not be present if %<x%> is COMPLEX"
msgstr ""
-#: fortran/check.cc:2328 fortran/check.cc:2848
+#: fortran/check.cc:2353 fortran/check.cc:2873
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must have a type of either REAL or "
"INTEGER"
msgstr ""
-#: fortran/check.cc:2338 fortran/check.cc:2344
+#: fortran/check.cc:2363 fortran/check.cc:2369
#, gcc-internal-format, gfc-internal-format
msgid ""
"Conversion from %s to default-kind COMPLEX(%d) at %L might lose precision, "
"consider using the KIND argument"
msgstr ""
-#: fortran/check.cc:2366
+#: fortran/check.cc:2391
#, gcc-internal-format
msgid ""
"Argument %<A%> with INTENT(INOUT) at %L of the intrinsic subroutine %s shall "
"not have a vector subscript"
msgstr ""
-#: fortran/check.cc:2374
+#: fortran/check.cc:2399
#, gcc-internal-format, gfc-internal-format
msgid "The A argument at %L to the intrinsic %s shall not be coindexed"
msgstr ""
-#: fortran/check.cc:2397
+#: fortran/check.cc:2422
#, gcc-internal-format, gfc-internal-format
msgid "The stat= argument at %L must be a kind=4 integer variable"
msgstr ""
-#: fortran/check.cc:2413
+#: fortran/check.cc:2438
#, gcc-internal-format, gfc-internal-format
msgid "The errmsg= argument at %L must be a default-kind character variable"
msgstr ""
-#: fortran/check.cc:2421
+#: fortran/check.cc:2446 fortran/check.cc:3838 fortran/check.cc:6576
+#: fortran/check.cc:6627 fortran/check.cc:6657 fortran/check.cc:6675
+#: fortran/check.cc:6975
#, gcc-internal-format
msgid "Coarrays disabled at %L, use %<-fcoarray=%> to enable"
msgstr ""
-#: fortran/check.cc:2436
+#: fortran/check.cc:2461
#, gcc-internal-format, gfc-internal-format
msgid ""
"Support for the A argument at %L which is polymorphic A argument or has "
"allocatable components is not yet implemented"
msgstr ""
-#: fortran/check.cc:2469
+#: fortran/check.cc:2494
#, gcc-internal-format, gfc-internal-format
msgid "OPERATION argument at %L must be a PURE function"
msgstr ""
@@ -74048,903 +74239,903 @@ msgstr ""
#. None of the intrinsics fulfills the criteria of taking two arguments,
#. returning the same type and kind as the arguments and being permitted
#. as actual argument.
-#: fortran/check.cc:2479
+#: fortran/check.cc:2504
#, gcc-internal-format, gfc-internal-format
msgid "Intrinsic function %s at %L is not permitted for %s"
msgstr ""
-#: fortran/check.cc:2497
+#: fortran/check.cc:2522
#, gcc-internal-format, gfc-internal-format
msgid "The function passed as OPERATION at %L shall have two arguments"
msgstr ""
-#: fortran/check.cc:2507
+#: fortran/check.cc:2532
#, gcc-internal-format, gfc-internal-format
msgid ""
"The %s argument at %L has type %s but the function passed as OPERATION at %L "
"returns %s"
msgstr ""
-#: fortran/check.cc:2518
+#: fortran/check.cc:2543
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L has arguments of type %s and %s but "
"shall have type %s"
msgstr ""
-#: fortran/check.cc:2529
+#: fortran/check.cc:2554
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L shall have scalar nonallocatable "
"nonpointer arguments and return a nonallocatable nonpointer scalar"
msgstr ""
-#: fortran/check.cc:2537
+#: fortran/check.cc:2562
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L shall have the VALUE attribute either "
"for none or both arguments"
msgstr ""
-#: fortran/check.cc:2544
+#: fortran/check.cc:2569
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L shall have the TARGET attribute "
"either for none or both arguments"
msgstr ""
-#: fortran/check.cc:2551
+#: fortran/check.cc:2576
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L shall have the ASYNCHRONOUS attribute "
"either for none or both arguments"
msgstr ""
-#: fortran/check.cc:2559
+#: fortran/check.cc:2584
#, gcc-internal-format, gfc-internal-format
msgid ""
"The function passed as OPERATION at %L shall not have the OPTIONAL attribute "
"for either of the arguments"
msgstr ""
-#: fortran/check.cc:2577
+#: fortran/check.cc:2602
#, gcc-internal-format, gfc-internal-format
msgid ""
"The character length of the %s argument at %L and of the arguments of the "
"OPERATION at %L shall be the same"
msgstr ""
-#: fortran/check.cc:2585
+#: fortran/check.cc:2610
#, gcc-internal-format, gfc-internal-format
msgid ""
"The character length of the %s argument at %L and of the function result of "
"the OPERATION at %L shall be the same"
msgstr ""
-#: fortran/check.cc:2602
+#: fortran/check.cc:2627
#, gcc-internal-format, gfc-internal-format
msgid "The A argument at %L of CO_REDUCE shall not be polymorphic"
msgstr ""
-#: fortran/check.cc:2609
+#: fortran/check.cc:2634
#, gcc-internal-format, gfc-internal-format
msgid ""
"Support for the A argument at %L with allocatable components is not yet "
"implemented"
msgstr ""
-#: fortran/check.cc:2631
+#: fortran/check.cc:2656
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L shall be of type integer, real or "
"character"
msgstr ""
-#: fortran/check.cc:2660 fortran/check.cc:2668
+#: fortran/check.cc:2685 fortran/check.cc:2693
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall not be UNSIGNED"
msgstr ""
-#: fortran/check.cc:2676 fortran/check.cc:2690
+#: fortran/check.cc:2701 fortran/check.cc:2715
#, gcc-internal-format, gfc-internal-format
msgid "BOZ constant at %L cannot appear in the COMPLEX intrinsic subprogram"
msgstr ""
-#: fortran/check.cc:2727 fortran/check.cc:3454 fortran/check.cc:3537
-#: fortran/check.cc:3799 fortran/check.cc:3847 fortran/check.cc:5515
-#: fortran/check.cc:5639 fortran/check.cc:5717 fortran/check.cc:6900
-#: fortran/check.cc:7031
+#: fortran/check.cc:2752 fortran/check.cc:3479 fortran/check.cc:3562
+#: fortran/check.cc:3824 fortran/check.cc:3873 fortran/check.cc:5551
+#: fortran/check.cc:5675 fortran/check.cc:5753 fortran/check.cc:6961
+#: fortran/check.cc:7093
#, gcc-internal-format
msgid "%qs intrinsic with KIND argument at %L"
msgstr ""
-#: fortran/check.cc:2774 fortran/check.cc:3082 fortran/check.cc:3142
+#: fortran/check.cc:2799 fortran/check.cc:3107 fortran/check.cc:3167
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/"
"%ld)"
msgstr ""
-#: fortran/check.cc:2789 fortran/check.cc:3097 fortran/check.cc:3157
+#: fortran/check.cc:2814 fortran/check.cc:3122 fortran/check.cc:3182
#, gcc-internal-format
msgid "%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar"
msgstr ""
-#: fortran/check.cc:2911 fortran/check.cc:4197 fortran/check.cc:4205
+#: fortran/check.cc:2936 fortran/check.cc:4223 fortran/check.cc:4231
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be numeric or LOGICAL"
msgstr ""
-#: fortran/check.cc:2919 fortran/check.cc:4215
+#: fortran/check.cc:2944 fortran/check.cc:4241
#, gcc-internal-format
msgid "Argument types of %qs intrinsic at %L must match (%s/%s)"
msgstr ""
-#: fortran/check.cc:2933
+#: fortran/check.cc:2958
#, gcc-internal-format
msgid ""
"Different shape for arguments %qs and %qs at %L for intrinsic %<dot_product%>"
msgstr ""
-#: fortran/check.cc:2953 fortran/check.cc:2961
+#: fortran/check.cc:2978 fortran/check.cc:2986
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be default real"
msgstr ""
-#: fortran/check.cc:3118
+#: fortran/check.cc:3143
#, gcc-internal-format
msgid "%qs must be of same type and kind as %qs at %L in %qs"
msgstr ""
-#: fortran/check.cc:3182
+#: fortran/check.cc:3207
#, gcc-internal-format
msgid "Missing %qs argument to %qs intrinsic at %L for %qs of type %qs"
msgstr ""
-#: fortran/check.cc:3200
+#: fortran/check.cc:3225
#, gcc-internal-format, gfc-internal-format
msgid ""
"BOZ literal constant at %L cannot appear in the FLOAT intrinsic subprogram"
msgstr ""
-#: fortran/check.cc:3214
+#: fortran/check.cc:3239
#, gcc-internal-format, gfc-internal-format
msgid "non-default INTEGER kind argument to %s intrinsic at %L"
msgstr ""
-#: fortran/check.cc:3275
+#: fortran/check.cc:3300
#, gcc-internal-format
msgid "COMPLEX argument %qs of %qs intrinsic at %L"
msgstr ""
-#: fortran/check.cc:3401
+#: fortran/check.cc:3426
#, gcc-internal-format
msgid "Arguments of %qs have different kind type parameters at %L"
msgstr ""
-#: fortran/check.cc:3505
+#: fortran/check.cc:3530
#, gcc-internal-format, gfc-internal-format
msgid "Argument of %s at %L must be of length one"
msgstr ""
-#: fortran/check.cc:3544
+#: fortran/check.cc:3569
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be the same kind as %qs"
msgstr ""
-#: fortran/check.cc:3577
+#: fortran/check.cc:3602
#, gcc-internal-format
msgid "UINT intrinsic only valid with %<-funsigned%> at %L"
msgstr ""
-#: fortran/check.cc:3601
+#: fortran/check.cc:3626
#, gcc-internal-format
msgid ""
"%qs intrinsic subprogram at %L has been removed. Use INT intrinsic "
"subprogram."
msgstr ""
-#: fortran/check.cc:3670
+#: fortran/check.cc:3695
#, gcc-internal-format, gfc-internal-format
msgid "SIZE at %L must be positive"
msgstr ""
-#: fortran/check.cc:3682
+#: fortran/check.cc:3707
#, gcc-internal-format, gfc-internal-format
msgid ""
"The absolute value of SHIFT at %L must be less than or equal to SIZE at %L"
msgstr ""
-#: fortran/check.cc:3741
+#: fortran/check.cc:3766
#, gcc-internal-format, gfc-internal-format
msgid "STATUS at %L shall be an INTENT(OUT) variable"
msgstr ""
-#: fortran/check.cc:3750
+#: fortran/check.cc:3775
#, gcc-internal-format
msgid "%qs at %L shall be an INTENT(OUT) variable"
msgstr ""
-#: fortran/check.cc:3775
+#: fortran/check.cc:3800
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be a data entity"
msgstr ""
-#: fortran/check.cc:3989
+#: fortran/check.cc:4015
#, gcc-internal-format
msgid "Intrinsic %qs at %L must have at least two arguments"
msgstr ""
-#: fortran/check.cc:4037
+#: fortran/check.cc:4063
#, gcc-internal-format
msgid "Missing %qs argument to the %s intrinsic at %L"
msgstr ""
-#: fortran/check.cc:4052
+#: fortran/check.cc:4078
#, gcc-internal-format
msgid "Duplicate argument %qs at %L to intrinsic %s"
msgstr ""
-#: fortran/check.cc:4057
+#: fortran/check.cc:4083
#, gcc-internal-format
msgid "Unknown argument %qs at %L to intrinsic %s"
msgstr ""
-#: fortran/check.cc:4082
+#: fortran/check.cc:4108
#, gcc-internal-format, gfc-internal-format
msgid "Different character kinds at %L"
msgstr ""
-#: fortran/check.cc:4091
+#: fortran/check.cc:4117
#, gcc-internal-format
msgid "%<a%d%> argument of %qs intrinsic at %L must be %s(%d)"
msgstr ""
-#: fortran/check.cc:4122
+#: fortran/check.cc:4148
#, gcc-internal-format
msgid "%qs intrinsic with CHARACTER argument at %L"
msgstr ""
-#: fortran/check.cc:4134
+#: fortran/check.cc:4160
#, gcc-internal-format
msgid ""
"%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL, CHARACTER or "
"UNSIGNED"
msgstr ""
-#: fortran/check.cc:4144
+#: fortran/check.cc:4170
#, gcc-internal-format
msgid ""
"%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER"
msgstr ""
-#: fortran/check.cc:4229
+#: fortran/check.cc:4255
#, gcc-internal-format
msgid ""
"Different shape on dimension 1 for arguments %qs and %qs at %L for intrinsic "
"matmul"
msgstr ""
-#: fortran/check.cc:4248
+#: fortran/check.cc:4274
#, gcc-internal-format
msgid ""
"Different shape on dimension 2 for argument %qs and dimension 1 for argument "
"%qs at %L for intrinsic matmul"
msgstr ""
-#: fortran/check.cc:4257
+#: fortran/check.cc:4283
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be of rank 1 or 2"
msgstr ""
-#: fortran/check.cc:4435
+#: fortran/check.cc:4461
#, gcc-internal-format
msgid ""
"Argument %qs of %qs intrinsic at %L must be in type conformance to argument "
"%qs at %L"
msgstr ""
-#: fortran/check.cc:4569
+#: fortran/check.cc:4595
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be INTEGER or UNSIGNED"
msgstr ""
-#: fortran/check.cc:4577 fortran/check.cc:8136 fortran/check.cc:8151
+#: fortran/check.cc:4603 fortran/check.cc:8198 fortran/check.cc:8213
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be INTEGER"
msgstr ""
-#: fortran/check.cc:4694
+#: fortran/check.cc:4718
+#, gcc-internal-format, gfc-internal-format
+msgid "STAT= or ERRMSG= at %L not supported"
+msgstr ""
+
+#: fortran/check.cc:4730
#, gcc-internal-format, gfc-internal-format
msgid "The FROM argument to MOVE_ALLOC at %L shall not be coindexed"
msgstr ""
-#: fortran/check.cc:4705
+#: fortran/check.cc:4741
#, gcc-internal-format, gfc-internal-format
msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed"
msgstr ""
-#: fortran/check.cc:4712
+#: fortran/check.cc:4748
#, gcc-internal-format, gfc-internal-format
msgid ""
"The TO arguments in MOVE_ALLOC at %L must be polymorphic if FROM is "
"polymorphic"
msgstr ""
-#: fortran/check.cc:4723
+#: fortran/check.cc:4759
#, gcc-internal-format, gfc-internal-format
msgid ""
"The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the "
"same rank %d/%d"
msgstr ""
-#: fortran/check.cc:4732
+#: fortran/check.cc:4768
#, gcc-internal-format, gfc-internal-format
msgid ""
"The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the "
"same corank %d/%d"
msgstr ""
-#: fortran/check.cc:4772
+#: fortran/check.cc:4808
#, gcc-internal-format, gfc-internal-format
msgid ""
"The FROM and TO arguments at %L violate aliasing restrictions (F2003 "
"12.4.1.7)"
msgstr ""
-#: fortran/check.cc:4799
+#: fortran/check.cc:4835
#, gcc-internal-format
msgid "Argument %<S%> of NEAREST at %L shall not be zero"
msgstr ""
-#: fortran/check.cc:4855
+#: fortran/check.cc:4891
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or "
"procedure pointer"
msgstr ""
-#: fortran/check.cc:4863
+#: fortran/check.cc:4899
#, gcc-internal-format, gfc-internal-format
msgid "NULL intrinsic with allocatable MOLD at %L"
msgstr ""
-#: fortran/check.cc:4906
+#: fortran/check.cc:4942
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L shall appear only if %qs is of type REAL "
"and %qs is of type INTEGER or UNSIGNED"
msgstr ""
-#: fortran/check.cc:4984 fortran/check.cc:6978
+#: fortran/check.cc:5020 fortran/check.cc:7040
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must provide at least as many elements "
"as there are .TRUE. values in %qs (%ld/%d)"
msgstr ""
-#: fortran/check.cc:5045
+#: fortran/check.cc:5081
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be of a dummy variable"
msgstr ""
-#: fortran/check.cc:5055
+#: fortran/check.cc:5091
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable"
msgstr ""
-#: fortran/check.cc:5074
+#: fortran/check.cc:5110
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must not be a subobject of %qs"
msgstr ""
-#: fortran/check.cc:5125
+#: fortran/check.cc:5161
#, gcc-internal-format, gfc-internal-format
msgid "The argument of the RANK intrinsic at %L must be a data object"
msgstr ""
-#: fortran/check.cc:5157
+#: fortran/check.cc:5193
#, gcc-internal-format, gfc-internal-format
msgid "The ARRAY argument at %L of REDUCE shall not be polymorphic"
msgstr ""
-#: fortran/check.cc:5167
+#: fortran/check.cc:5203
#, gcc-internal-format, gfc-internal-format
msgid "The DIM argument at %L, if present, must be an integer scalar"
msgstr ""
-#: fortran/check.cc:5174
+#: fortran/check.cc:5210
#, gcc-internal-format, gfc-internal-format
msgid ""
"The MASK argument at %L, if present, must be a logical array with the same "
"rank as ARRAY"
msgstr ""
-#: fortran/check.cc:5186
+#: fortran/check.cc:5222
#, gcc-internal-format, gfc-internal-format
msgid "MASK present at %L without IDENTITY"
msgstr ""
-#: fortran/check.cc:5190
+#: fortran/check.cc:5226
#, gcc-internal-format, gfc-internal-format
msgid "The ORDERED argument at %L, if present, must be a logical scalar"
msgstr ""
-#: fortran/check.cc:5198
+#: fortran/check.cc:5234
#, gcc-internal-format, gfc-internal-format
msgid ""
"The IDENTITY argument at %L, if present, must be a scalar with the same type "
"as ARRAY"
msgstr ""
-#: fortran/check.cc:5289
+#: fortran/check.cc:5325
#, gcc-internal-format
msgid ""
"%<shape%> argument of %<reshape%> intrinsic at %L must be an array of "
"constant size"
msgstr ""
-#: fortran/check.cc:5299
+#: fortran/check.cc:5335
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L is empty"
msgstr ""
-#: fortran/check.cc:5306
+#: fortran/check.cc:5342
#, gcc-internal-format
msgid ""
"%<shape%> argument of %<reshape%> intrinsic at %L has more than %d elements"
msgstr ""
-#: fortran/check.cc:5329
+#: fortran/check.cc:5365
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L has negative element (%d)"
msgstr ""
-#: fortran/check.cc:5369
+#: fortran/check.cc:5405
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)"
msgstr ""
-#: fortran/check.cc:5387
+#: fortran/check.cc:5423
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)"
msgstr ""
-#: fortran/check.cc:5396
+#: fortran/check.cc:5432
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L has invalid permutation of dimensions "
"(dimension %qd duplicated)"
msgstr ""
-#: fortran/check.cc:5431 fortran/simplify.cc:7594
+#: fortran/check.cc:5467 fortran/simplify.cc:7589
#, gcc-internal-format, gfc-internal-format
msgid ""
"Without padding, there are not enough elements in the intrinsic RESHAPE "
"source at %L to match the shape"
msgstr ""
-#: fortran/check.cc:5448 fortran/check.cc:5467
+#: fortran/check.cc:5484 fortran/check.cc:5503
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L cannot be of type %s"
msgstr ""
-#: fortran/check.cc:5458 fortran/check.cc:5477
+#: fortran/check.cc:5494 fortran/check.cc:5513
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be of an extensible type"
msgstr ""
-#: fortran/check.cc:5575
+#: fortran/check.cc:5611
#, gcc-internal-format
msgid "SELECTED_REAL_KIND with neither %<P%> nor %<R%> argument at %L"
msgstr ""
-#: fortran/check.cc:5606
+#: fortran/check.cc:5642
#, gcc-internal-format
msgid "%qs intrinsic with RADIX argument at %L"
msgstr ""
-#: fortran/check.cc:5654
+#: fortran/check.cc:5690
#, gcc-internal-format
msgid ""
"%<source%> argument of %<shape%> intrinsic at %L must not be an assumed size "
"array"
msgstr ""
-#: fortran/check.cc:5735 fortran/check.cc:8196
+#: fortran/check.cc:5771 fortran/check.cc:8258
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall not be a procedure"
msgstr ""
-#: fortran/check.cc:5751 fortran/check.cc:5897 fortran/check.cc:8188
+#: fortran/check.cc:5787 fortran/check.cc:5933 fortran/check.cc:8250
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall not be TYPE(*)"
msgstr ""
-#: fortran/check.cc:5762 fortran/check.cc:5909
+#: fortran/check.cc:5798 fortran/check.cc:5945
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L shall not be an assumed-size array"
msgstr ""
-#: fortran/check.cc:5844
+#: fortran/check.cc:5880
#, gcc-internal-format
msgid "is_c_interoperable(): gfc_simplify_expr failed"
msgstr ""
-#: fortran/check.cc:5888
+#: fortran/check.cc:5924
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s"
msgstr ""
-#: fortran/check.cc:5927
+#: fortran/check.cc:5963
#, gcc-internal-format, gfc-internal-format
msgid ""
"Argument C_PTR_1 at %L to C_ASSOCIATED shall have the type TYPE(C_PTR) or "
"TYPE(C_FUNPTR)"
msgstr ""
-#: fortran/check.cc:5941
+#: fortran/check.cc:5977
#, gcc-internal-format, gfc-internal-format
msgid ""
"Argument C_PTR_2 at %L to C_ASSOCIATED shall have the same type as C_PTR_1: "
"%s instead of %s"
msgstr ""
-#: fortran/check.cc:5965
+#: fortran/check.cc:6001
#, gcc-internal-format, gfc-internal-format
msgid "Argument CPTR at %L to C_F_POINTER shall have the type TYPE(C_PTR)"
msgstr ""
-#: fortran/check.cc:5977
+#: fortran/check.cc:6013
#, gcc-internal-format, gfc-internal-format
msgid "Argument FPTR at %L to C_F_POINTER must be a pointer"
msgstr ""
-#: fortran/check.cc:5984
+#: fortran/check.cc:6020
#, gcc-internal-format, gfc-internal-format
msgid "FPTR argument at %L to C_F_POINTER shall not be polymorphic"
msgstr ""
-#: fortran/check.cc:5991
+#: fortran/check.cc:6027
#, gcc-internal-format, gfc-internal-format
msgid "Argument FPTR at %L to C_F_POINTER shall not be coindexed"
msgstr ""
-#: fortran/check.cc:5998
+#: fortran/check.cc:6034
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected SHAPE argument at %L to C_F_POINTER with scalar FPTR"
msgstr ""
-#: fortran/check.cc:6004
+#: fortran/check.cc:6040
#, gcc-internal-format, gfc-internal-format
msgid "Expected SHAPE argument to C_F_POINTER with array FPTR at %L"
msgstr ""
-#: fortran/check.cc:6023
+#: fortran/check.cc:6059
#, gcc-internal-format, gfc-internal-format
msgid ""
"SHAPE argument at %L to C_F_POINTER must have the same size as the RANK of "
"FPTR"
msgstr ""
-#: fortran/check.cc:6033
+#: fortran/check.cc:6069
#, gcc-internal-format, gfc-internal-format
msgid "Polymorphic FPTR at %L to C_F_POINTER"
msgstr ""
-#: fortran/check.cc:6039
+#: fortran/check.cc:6075
#, gcc-internal-format, gfc-internal-format
msgid "FPTR argument to C_F_POINTER at %L is a function returning a pointer"
msgstr ""
-#: fortran/check.cc:6046
+#: fortran/check.cc:6082
#, gcc-internal-format, gfc-internal-format
msgid "Noninteroperable array FPTR argument to C_F_POINTER at %L: %s"
msgstr ""
-#: fortran/check.cc:6062
+#: fortran/check.cc:6098
#, gcc-internal-format, gfc-internal-format
msgid ""
"Argument CPTR at %L to C_F_PROCPOINTER shall have the type TYPE(C_FUNPTR)"
msgstr ""
-#: fortran/check.cc:6074
+#: fortran/check.cc:6110
#, gcc-internal-format, gfc-internal-format
msgid "Argument FPTR at %L to C_F_PROCPOINTER shall be a procedure pointer"
msgstr ""
-#: fortran/check.cc:6081
+#: fortran/check.cc:6117
#, gcc-internal-format, gfc-internal-format
msgid "Argument FPTR at %L to C_F_PROCPOINTER shall not be coindexed"
msgstr ""
-#: fortran/check.cc:6087
+#: fortran/check.cc:6123
#, gcc-internal-format, gfc-internal-format
msgid "Noninteroperable procedure pointer at %L to C_F_PROCPOINTER"
msgstr ""
-#: fortran/check.cc:6101
+#: fortran/check.cc:6137
#, gcc-internal-format, gfc-internal-format
msgid "Argument X at %L to C_FUNLOC shall not be coindexed"
msgstr ""
-#: fortran/check.cc:6113
+#: fortran/check.cc:6149
#, gcc-internal-format
msgid "Function result %qs at %L is invalid as X argument to C_FUNLOC"
msgstr ""
-#: fortran/check.cc:6120
+#: fortran/check.cc:6156
#, gcc-internal-format, gfc-internal-format
msgid ""
"Argument X at %L to C_FUNLOC shall be a procedure or a procedure pointer"
msgstr ""
-#: fortran/check.cc:6126
+#: fortran/check.cc:6162
#, gcc-internal-format, gfc-internal-format
msgid "Noninteroperable procedure at %L to C_FUNLOC"
msgstr ""
-#: fortran/check.cc:6140
+#: fortran/check.cc:6176
#, gcc-internal-format, gfc-internal-format
msgid "Argument X at %L to C_LOC shall not be coindexed"
msgstr ""
-#: fortran/check.cc:6146
+#: fortran/check.cc:6182
#, gcc-internal-format, gfc-internal-format
msgid "X argument at %L to C_LOC shall not be polymorphic"
msgstr ""
-#: fortran/check.cc:6157
+#: fortran/check.cc:6193
#, gcc-internal-format, gfc-internal-format
msgid ""
"Argument X at %L to C_LOC shall have either the POINTER or the TARGET "
"attribute"
msgstr ""
-#: fortran/check.cc:6165
+#: fortran/check.cc:6201
#, gcc-internal-format, gfc-internal-format
msgid "Argument X at %L to C_LOC shall be not be a zero-sized string"
msgstr ""
-#: fortran/check.cc:6174
+#: fortran/check.cc:6210
#, gcc-internal-format, gfc-internal-format
msgid "Argument at %L to C_LOC shall not be polymorphic"
msgstr ""
-#: fortran/check.cc:6181
+#: fortran/check.cc:6217
#, gcc-internal-format, gfc-internal-format
msgid "Noninteroperable array at %L as argument to C_LOC: %s"
msgstr ""
-#: fortran/check.cc:6192
+#: fortran/check.cc:6228
#, gcc-internal-format, gfc-internal-format
msgid ""
"Array of interoperable type at %L to C_LOC which is nonallocatable and "
"neither assumed size nor explicit size"
msgstr ""
-#: fortran/check.cc:6197
+#: fortran/check.cc:6233
#, gcc-internal-format, gfc-internal-format
msgid "Array section at %L to C_LOC"
msgstr ""
-#: fortran/check.cc:6225
+#: fortran/check.cc:6261
#, gcc-internal-format, gfc-internal-format
msgid "non double precision REAL argument to %s intrinsic at %L"
msgstr ""
-#: fortran/check.cc:6241
+#: fortran/check.cc:6277
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must be less than rank %d"
msgstr ""
-#: fortran/check.cc:6260
+#: fortran/check.cc:6296
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index"
msgstr ""
-#: fortran/check.cc:6284
+#: fortran/check.cc:6320
#, gcc-internal-format
msgid "%qs argument of %qs intrinsic at %L must have length at least 1"
msgstr ""
-#: fortran/check.cc:6548
+#: fortran/check.cc:6586
#, gcc-internal-format, gfc-internal-format
msgid "%s argument to IMAGE_INDEX must be a rank one array at %L"
msgstr ""
-#: fortran/check.cc:6555
-#, gcc-internal-format, gfc-internal-format
-msgid "Type of %s argument of IMAGE_INDEX at %L shall be INTEGER"
-msgstr ""
-
-#: fortran/check.cc:6564
+#: fortran/check.cc:6598
#, gcc-internal-format, gfc-internal-format
msgid ""
"The number of array elements of the SUB argument to IMAGE_INDEX at %L shall "
"be %d (corank) not %d"
msgstr ""
-#: fortran/check.cc:6597
-#, gcc-internal-format, gfc-internal-format
-msgid "DISTANCE= argument to NUM_IMAGES at %L"
-msgstr ""
-
-#: fortran/check.cc:6610
-#, gcc-internal-format, gfc-internal-format
-msgid "FAILED= argument to NUM_IMAGES at %L"
+#: fortran/check.cc:6636
+#, gcc-internal-format
+msgid "%<team%> or %<team_number%> argument to %qs at %L"
msgstr ""
-#: fortran/check.cc:6634
-#, gcc-internal-format, gfc-internal-format
+#: fortran/check.cc:6696
+#, gcc-internal-format
msgid ""
-"TEAM argument at %L to the intrinsic TEAM_NUMBER shall be of type TEAM_TYPE"
+"First argument of %<this_image%> intrinsic at %L must be a coarray variable "
+"or an object of type %<team_type%> from the intrinsic module "
+"%<ISO_FORTRAN_ENV%>"
msgstr ""
-#: fortran/check.cc:6660
-#, gcc-internal-format, gfc-internal-format
+#: fortran/check.cc:6725
+#, gcc-internal-format
msgid ""
-"DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic "
-"at %L"
+"Second argument of %<this_image%> intrinsic at %L must be an %<INTEGER%> "
+"typed scalar or an object of type %<team_type%> from the intrinsic module "
+"%<ISO_FORTRAN_ENV%>"
msgstr ""
-#: fortran/check.cc:6667
-#, gcc-internal-format, gfc-internal-format
+#: fortran/check.cc:6751
+#, gcc-internal-format
msgid ""
-"The DISTANCE argument may not be specified together with the COARRAY or DIM "
-"argument in intrinsic at %L"
+"%<dim%> argument without %<coarray%> argument not allowed for %<this_image%> "
+"intrinsic at %L"
msgstr ""
-#: fortran/check.cc:6678
-#, gcc-internal-format, gfc-internal-format
-msgid "Unexpected DIM argument with noncoarray argument at %L"
+#: fortran/check.cc:6762
+#, gcc-internal-format
+msgid "%<team%> argument to %<this_image%> at %L"
msgstr ""
-#: fortran/check.cc:6696
-#, gcc-internal-format, gfc-internal-format
-msgid "DISTANCE= argument to THIS_IMAGE at %L"
+#: fortran/check.cc:6773
+#, gcc-internal-format
+msgid ""
+"At most one argument of type %<team_type%> from the intrinsic module "
+"%<ISO_FORTRAN_ENV%> to %<this_image%> at %L allowed"
msgstr ""
-#: fortran/check.cc:6754
+#: fortran/check.cc:6815
#, gcc-internal-format
msgid ""
"%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an array and shall not "
"have storage size 0 when %<SOURCE%> argument has size greater than 0"
msgstr ""
-#: fortran/check.cc:6806
+#: fortran/check.cc:6867
#, gcc-internal-format
msgid "%<SOURCE%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
msgstr ""
-#: fortran/check.cc:6825
+#: fortran/check.cc:6886
#, gcc-internal-format
msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
msgstr ""
-#: fortran/check.cc:6833
+#: fortran/check.cc:6894
#, gcc-internal-format
msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be %s"
msgstr ""
-#: fortran/check.cc:6868
+#: fortran/check.cc:6929
msgid ""
"Intrinsic TRANSFER at %L has partly undefined result: source size %zd < "
"result size %zd"
msgstr ""
-#: fortran/check.cc:6992
+#: fortran/check.cc:7054
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must have the same rank as %qs or be a "
"scalar"
msgstr ""
-#: fortran/check.cc:7005
+#: fortran/check.cc:7067
#, gcc-internal-format
msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape."
msgstr ""
-#: fortran/check.cc:7141
+#: fortran/check.cc:7203
#, gcc-internal-format, gfc-internal-format
msgid "VALUES argument of DATE_AND_TIME at %L has non-default kind"
msgstr ""
-#: fortran/check.cc:7153
+#: fortran/check.cc:7215
#, gcc-internal-format, gfc-internal-format
msgid ""
"VALUES argument of DATE_AND_TIME at %L must have a decimal exponent range of "
"at least four"
msgstr ""
-#: fortran/check.cc:7308 fortran/check.cc:7344
+#: fortran/check.cc:7370 fortran/check.cc:7406
#, gcc-internal-format
msgid "Size of %qs argument of %qs intrinsic at %L too small (%i/%i)"
msgstr ""
-#: fortran/check.cc:7355
+#: fortran/check.cc:7417
#, gcc-internal-format, gfc-internal-format
msgid "Too many arguments to %s at %L"
msgstr ""
-#: fortran/check.cc:7373
+#: fortran/check.cc:7435
#, gcc-internal-format
msgid "fe_runtime_error string must be null terminated"
msgstr ""
-#: fortran/check.cc:7385
+#: fortran/check.cc:7447
#, gcc-internal-format, gfc-internal-format
msgid "fe_runtime_error: Wrong number of arguments (%d instead of %d)"
msgstr ""
-#: fortran/check.cc:7427
+#: fortran/check.cc:7489
#, gcc-internal-format, gfc-internal-format
msgid "COUNT argument to SYSTEM_CLOCK at %L has non-default kind"
msgstr ""
-#: fortran/check.cc:7434
+#: fortran/check.cc:7496
#, gcc-internal-format, gfc-internal-format
msgid ""
"COUNT argument to SYSTEM_CLOCK at %L with kind smaller than default integer"
msgstr ""
-#: fortran/check.cc:7455
+#: fortran/check.cc:7517
#, gcc-internal-format, gfc-internal-format
msgid "Real COUNT_RATE argument to SYSTEM_CLOCK at %L"
msgstr ""
-#: fortran/check.cc:7465
+#: fortran/check.cc:7527
#, gcc-internal-format, gfc-internal-format
msgid "COUNT_RATE argument to SYSTEM_CLOCK at %L has non-default kind"
msgstr ""
-#: fortran/check.cc:7472
+#: fortran/check.cc:7534
#, gcc-internal-format, gfc-internal-format
msgid ""
"COUNT_RATE argument to SYSTEM_CLOCK at %L with kind smaller than default "
"integer"
msgstr ""
-#: fortran/check.cc:7492
+#: fortran/check.cc:7554
#, gcc-internal-format, gfc-internal-format
msgid "COUNT_MAX argument to SYSTEM_CLOCK at %L has non-default kind"
msgstr ""
-#: fortran/check.cc:7502
+#: fortran/check.cc:7564
#, gcc-internal-format, gfc-internal-format
msgid ""
"COUNT_MAX argument to SYSTEM_CLOCK at %L with kind smaller than default "
"integer"
msgstr ""
-#: fortran/check.cc:7517 fortran/check.cc:7524
+#: fortran/check.cc:7579 fortran/check.cc:7586
#, gcc-internal-format, gfc-internal-format
msgid "integer arguments to SYSTEM_CLOCK at %L with different kind parameters"
msgstr ""
-#: fortran/check.cc:7738
+#: fortran/check.cc:7800
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must be of a kind not wider than the "
"default kind (%d)"
msgstr ""
-#: fortran/check.cc:7920
+#: fortran/check.cc:7982
#, gcc-internal-format
msgid "Actual argument at %L of %qs intrinsic shall be an associated pointer"
msgstr ""
-#: fortran/check.cc:8109 fortran/check.cc:8120
+#: fortran/check.cc:8171 fortran/check.cc:8182
#, gcc-internal-format
msgid ""
"%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ "
"literal constant"
msgstr ""
-#: fortran/check.cc:8180
+#: fortran/check.cc:8242
#, gcc-internal-format, gfc-internal-format
msgid ""
"Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZE, "
@@ -74953,7 +75144,7 @@ msgstr ""
#. Since the extension field is 8 bit wide, we can only have
#. up to 255 extension levels.
-#: fortran/class.cc:811 fortran/decl.cc:4106 fortran/decl.cc:10866
+#: fortran/class.cc:811 fortran/decl.cc:4106 fortran/decl.cc:10878
#, gcc-internal-format
msgid "Maximum extension level reached with type %qs at %L"
msgstr ""
@@ -75003,12 +75194,12 @@ msgstr ""
msgid "Initialization string at %L was truncated to fit the variable (%wd/%wd)"
msgstr ""
-#: fortran/data.cc:220 fortran/resolve.cc:5568
+#: fortran/data.cc:220 fortran/resolve.cc:5604
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L is less than one"
msgstr ""
-#: fortran/data.cc:226 fortran/resolve.cc:5598
+#: fortran/data.cc:226 fortran/resolve.cc:5634
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L exceeds the string length"
msgstr ""
@@ -75204,7 +75395,7 @@ msgstr ""
msgid "deferred type parameter at %C"
msgstr ""
-#: fortran/decl.cc:1166 fortran/resolve.cc:14128
+#: fortran/decl.cc:1166 fortran/resolve.cc:14246
#, gcc-internal-format, gfc-internal-format
msgid "Scalar INTEGER expression expected at %L"
msgstr ""
@@ -75604,7 +75795,7 @@ msgstr ""
msgid "Pointer initialization at %C requires %<=>%>, not %<=%>"
msgstr ""
-#: fortran/decl.cc:3089 fortran/decl.cc:11040
+#: fortran/decl.cc:3089 fortran/decl.cc:11052
#, gcc-internal-format, gfc-internal-format
msgid "Expected an initialization expression at %C"
msgstr ""
@@ -75988,7 +76179,7 @@ msgstr ""
msgid "CONTIGUOUS attribute at %C"
msgstr ""
-#: fortran/decl.cc:5858 fortran/decl.cc:9389
+#: fortran/decl.cc:5858 fortran/decl.cc:9401
#, gcc-internal-format, gfc-internal-format
msgid "PROTECTED at %C only allowed in specification part of a module"
msgstr ""
@@ -76258,12 +76449,12 @@ msgstr ""
msgid "Procedure %qs at %L already has basic type of %s"
msgstr ""
-#: fortran/decl.cc:7292 fortran/decl.cc:7480 fortran/decl.cc:11524
+#: fortran/decl.cc:7292 fortran/decl.cc:7480 fortran/decl.cc:11536
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in PROCEDURE statement at %C"
msgstr ""
-#: fortran/decl.cc:7341 fortran/decl.cc:11424
+#: fortran/decl.cc:7341 fortran/decl.cc:11436
#, gcc-internal-format
msgid "Expected %<::%> after binding-attributes at %C"
msgstr ""
@@ -76288,7 +76479,7 @@ msgstr ""
msgid "PROCEDURE at %C must be in a generic interface"
msgstr ""
-#: fortran/decl.cc:7451 fortran/decl.cc:10164
+#: fortran/decl.cc:7451 fortran/decl.cc:10176
#, gcc-internal-format, gfc-internal-format
msgid "double colon in MODULE PROCEDURE statement at %L"
msgstr ""
@@ -76451,682 +76642,682 @@ msgstr ""
msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
msgstr ""
-#: fortran/decl.cc:8650
+#: fortran/decl.cc:8657
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected END statement at %C"
msgstr ""
-#: fortran/decl.cc:8659
+#: fortran/decl.cc:8666
#, gcc-internal-format, gfc-internal-format
msgid "END statement instead of %s statement at %L"
msgstr ""
#. We would have required END [something].
-#: fortran/decl.cc:8668
+#: fortran/decl.cc:8675
#, gcc-internal-format, gfc-internal-format
msgid "%s statement expected at %L"
msgstr ""
-#: fortran/decl.cc:8679
+#: fortran/decl.cc:8686
#, gcc-internal-format, gfc-internal-format
msgid "Expecting %s statement at %L"
msgstr ""
-#: fortran/decl.cc:8699
+#: fortran/decl.cc:8711
#, gcc-internal-format
msgid "Expected block name of %qs in %s statement at %L"
msgstr ""
-#: fortran/decl.cc:8716
+#: fortran/decl.cc:8728
#, gcc-internal-format, gfc-internal-format
msgid "Expected terminating name at %C"
msgstr ""
-#: fortran/decl.cc:8730 fortran/decl.cc:8738
+#: fortran/decl.cc:8742 fortran/decl.cc:8750
#, gcc-internal-format
msgid "Expected label %qs for %s statement at %C"
msgstr ""
-#: fortran/decl.cc:8837
+#: fortran/decl.cc:8849
#, gcc-internal-format, gfc-internal-format
msgid "Missing array specification at %L in DIMENSION statement"
msgstr ""
-#: fortran/decl.cc:8845
+#: fortran/decl.cc:8857
#, gcc-internal-format, gfc-internal-format
msgid "Dimensions specified for %s at %L after its initialization"
msgstr ""
-#: fortran/decl.cc:8853
+#: fortran/decl.cc:8865
#, gcc-internal-format, gfc-internal-format
msgid "Missing array specification at %L in CODIMENSION statement"
msgstr ""
-#: fortran/decl.cc:8862
+#: fortran/decl.cc:8874
#, gcc-internal-format, gfc-internal-format
msgid "Array specification must be deferred at %L"
msgstr ""
-#: fortran/decl.cc:8967
+#: fortran/decl.cc:8979
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected character in variable list at %C"
msgstr ""
-#: fortran/decl.cc:9004
+#: fortran/decl.cc:9016
#, gcc-internal-format
msgid "Expected %<(%> at %C"
msgstr ""
-#: fortran/decl.cc:9018 fortran/decl.cc:9058
+#: fortran/decl.cc:9030 fortran/decl.cc:9070
#, gcc-internal-format, gfc-internal-format
msgid "Expected variable name at %C"
msgstr ""
-#: fortran/decl.cc:9034
+#: fortran/decl.cc:9046
#, gcc-internal-format, gfc-internal-format
msgid "Cray pointer at %C must be an integer"
msgstr ""
-#: fortran/decl.cc:9038
+#: fortran/decl.cc:9050
#, gcc-internal-format, gfc-internal-format
msgid ""
"Cray pointer at %C has %d bytes of precision; memory addresses require %d "
"bytes"
msgstr ""
-#: fortran/decl.cc:9044
+#: fortran/decl.cc:9056
#, gcc-internal-format, gfc-internal-format
msgid "Expected \",\" at %C"
msgstr ""
-#: fortran/decl.cc:9083
+#: fortran/decl.cc:9095
#, gcc-internal-format
msgid "Cannot set Cray pointee array spec."
msgstr ""
-#: fortran/decl.cc:9087
+#: fortran/decl.cc:9099
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate array spec for Cray pointee at %C"
msgstr ""
-#: fortran/decl.cc:9107
+#: fortran/decl.cc:9119
#, gcc-internal-format, gfc-internal-format
msgid "Expected \")\" at %C"
msgstr ""
-#: fortran/decl.cc:9119
+#: fortran/decl.cc:9131
#, gcc-internal-format
msgid "Expected %<,%> or end of statement at %C"
msgstr ""
-#: fortran/decl.cc:9145
+#: fortran/decl.cc:9157
#, gcc-internal-format, gfc-internal-format
msgid "INTENT is not allowed inside of BLOCK at %C"
msgstr ""
-#: fortran/decl.cc:9177
+#: fortran/decl.cc:9189
#, gcc-internal-format, gfc-internal-format
msgid "OPTIONAL is not allowed inside of BLOCK at %C"
msgstr ""
-#: fortran/decl.cc:9196
+#: fortran/decl.cc:9208
#, gcc-internal-format
msgid "Cray pointer declaration at %C requires %<-fcray-pointer%> flag"
msgstr ""
-#: fortran/decl.cc:9235
+#: fortran/decl.cc:9247
#, gcc-internal-format, gfc-internal-format
msgid "CONTIGUOUS statement at %C"
msgstr ""
-#: fortran/decl.cc:9333
+#: fortran/decl.cc:9345
#, gcc-internal-format, gfc-internal-format
msgid ""
"Access specification of the %s operator at %C has already been specified"
msgstr ""
-#: fortran/decl.cc:9349
+#: fortran/decl.cc:9361
#, gcc-internal-format, gfc-internal-format
msgid ""
"Access specification of the .%s. operator at %C has already been specified"
msgstr ""
-#: fortran/decl.cc:9397
+#: fortran/decl.cc:9409
#, gcc-internal-format, gfc-internal-format
msgid "PROTECTED statement at %C"
msgstr ""
-#: fortran/decl.cc:9431
+#: fortran/decl.cc:9443
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in PROTECTED statement at %C"
msgstr ""
-#: fortran/decl.cc:9458 fortran/decl.cc:9483
+#: fortran/decl.cc:9470 fortran/decl.cc:9495
#, gcc-internal-format, gfc-internal-format
msgid ""
"PRIVATE statement at %C is only allowed in the specification part of a module"
msgstr ""
-#: fortran/decl.cc:9504 fortran/decl.cc:9524
+#: fortran/decl.cc:9516 fortran/decl.cc:9536
#, gcc-internal-format, gfc-internal-format
msgid ""
"PUBLIC statement at %C is only allowed in the specification part of a module"
msgstr ""
-#: fortran/decl.cc:9546
+#: fortran/decl.cc:9558
#, gcc-internal-format, gfc-internal-format
msgid "Expected variable name at %C in PARAMETER statement"
msgstr ""
-#: fortran/decl.cc:9553
+#: fortran/decl.cc:9565
#, gcc-internal-format, gfc-internal-format
msgid "Expected = sign in PARAMETER statement at %C"
msgstr ""
-#: fortran/decl.cc:9559
+#: fortran/decl.cc:9571
#, gcc-internal-format, gfc-internal-format
msgid "Expected expression at %C in PARAMETER statement"
msgstr ""
-#: fortran/decl.cc:9579
+#: fortran/decl.cc:9591
#, gcc-internal-format, gfc-internal-format
msgid "Initializing already initialized variable at %C"
msgstr ""
#. With legacy PARAMETER statements, don't expect a terminating ')'.
-#: fortran/decl.cc:9604
+#: fortran/decl.cc:9616
#, gcc-internal-format, gfc-internal-format
msgid "PARAMETER without '()' at %C"
msgstr ""
-#: fortran/decl.cc:9620
+#: fortran/decl.cc:9632
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected characters in PARAMETER statement at %C"
msgstr ""
-#: fortran/decl.cc:9639 fortran/decl.cc:9695
+#: fortran/decl.cc:9651 fortran/decl.cc:9707
#, gcc-internal-format
msgid "%s at %C is a DEC extension, enable with %<-fdec-static%>"
msgstr ""
-#: fortran/decl.cc:9674
+#: fortran/decl.cc:9686
#, gcc-internal-format, gfc-internal-format
msgid "Expected entity-list in AUTOMATIC statement at %C"
msgstr ""
-#: fortran/decl.cc:9681
+#: fortran/decl.cc:9693
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in AUTOMATIC statement at %C"
msgstr ""
-#: fortran/decl.cc:9730
+#: fortran/decl.cc:9742
#, gcc-internal-format, gfc-internal-format
msgid "Expected entity-list in STATIC statement at %C"
msgstr ""
-#: fortran/decl.cc:9737
+#: fortran/decl.cc:9749
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in STATIC statement at %C"
msgstr ""
-#: fortran/decl.cc:9756
+#: fortran/decl.cc:9768
#, gcc-internal-format, gfc-internal-format
msgid "Blanket SAVE statement at %C follows previous SAVE statement"
msgstr ""
-#: fortran/decl.cc:9767
+#: fortran/decl.cc:9779
#, gcc-internal-format, gfc-internal-format
msgid "SAVE statement at %C follows blanket SAVE statement"
msgstr ""
-#: fortran/decl.cc:9802
+#: fortran/decl.cc:9814
#, gcc-internal-format
msgid "SAVE of COMMON block %qs at %C is not allowed in a BLOCK construct"
msgstr ""
-#: fortran/decl.cc:9824
+#: fortran/decl.cc:9836
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in SAVE statement at %C"
msgstr ""
-#: fortran/decl.cc:9841
+#: fortran/decl.cc:9853
#, gcc-internal-format, gfc-internal-format
msgid "VALUE is not allowed inside of BLOCK at %C"
msgstr ""
-#: fortran/decl.cc:9845
+#: fortran/decl.cc:9857
#, gcc-internal-format, gfc-internal-format
msgid "VALUE statement at %C"
msgstr ""
-#: fortran/decl.cc:9883
+#: fortran/decl.cc:9895
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in VALUE statement at %C"
msgstr ""
-#: fortran/decl.cc:9895
+#: fortran/decl.cc:9907
#, gcc-internal-format, gfc-internal-format
msgid "VOLATILE statement at %C"
msgstr ""
-#: fortran/decl.cc:9922
+#: fortran/decl.cc:9934
#, gcc-internal-format
msgid ""
"Specifying VOLATILE for coarray variable %qs at %C, which is use-/host-"
"associated"
msgstr ""
-#: fortran/decl.cc:9947
+#: fortran/decl.cc:9959
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in VOLATILE statement at %C"
msgstr ""
-#: fortran/decl.cc:9959
+#: fortran/decl.cc:9971
#, gcc-internal-format, gfc-internal-format
msgid "ASYNCHRONOUS statement at %C"
msgstr ""
-#: fortran/decl.cc:10003
+#: fortran/decl.cc:10015
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in ASYNCHRONOUS statement at %C"
msgstr ""
-#: fortran/decl.cc:10028
+#: fortran/decl.cc:10040
#, gcc-internal-format, gfc-internal-format
msgid "MODULE PROCEDURE declaration at %C"
msgstr ""
-#: fortran/decl.cc:10139
+#: fortran/decl.cc:10151
#, gcc-internal-format, gfc-internal-format
msgid "MODULE PROCEDURE at %C must be in a generic module interface"
msgstr ""
-#: fortran/decl.cc:10197
+#: fortran/decl.cc:10209
#, gcc-internal-format, gfc-internal-format
msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
msgstr ""
-#: fortran/decl.cc:10246
+#: fortran/decl.cc:10258
#, gcc-internal-format, gfc-internal-format
msgid "Ambiguous symbol in TYPE definition at %C"
msgstr ""
-#: fortran/decl.cc:10255
+#: fortran/decl.cc:10267
#, gcc-internal-format
msgid "Symbol %qs at %C has not been previously defined"
msgstr ""
-#: fortran/decl.cc:10261
+#: fortran/decl.cc:10273
#, gcc-internal-format
msgid "%qs in EXTENDS expression at %C is not a derived type"
msgstr ""
-#: fortran/decl.cc:10268
+#: fortran/decl.cc:10280
#, gcc-internal-format
msgid "%qs cannot be extended at %C because it is BIND(C)"
msgstr ""
-#: fortran/decl.cc:10275
+#: fortran/decl.cc:10287
#, gcc-internal-format
msgid "%qs cannot be extended at %C because it is a SEQUENCE type"
msgstr ""
-#: fortran/decl.cc:10298
+#: fortran/decl.cc:10310
#, gcc-internal-format, gfc-internal-format
msgid ""
"Derived type at %C can only be PRIVATE in the specification part of a module"
msgstr ""
-#: fortran/decl.cc:10310
+#: fortran/decl.cc:10322
#, gcc-internal-format, gfc-internal-format
msgid ""
"Derived type at %C can only be PUBLIC in the specification part of a module"
msgstr ""
-#: fortran/decl.cc:10331
+#: fortran/decl.cc:10343
#, gcc-internal-format, gfc-internal-format
msgid "ABSTRACT type at %C"
msgstr ""
-#: fortran/decl.cc:10377
+#: fortran/decl.cc:10389
#, gcc-internal-format, gfc-internal-format
msgid "Failed to create structure type '%s' at %C"
msgstr ""
-#: fortran/decl.cc:10383
+#: fortran/decl.cc:10395
#, gcc-internal-format
msgid "Type definition of %qs at %C was already defined at %L"
msgstr ""
-#: fortran/decl.cc:10430
+#: fortran/decl.cc:10442
#, gcc-internal-format, gfc-internal-format
msgid "Junk after MAP statement at %C"
msgstr ""
-#: fortran/decl.cc:10463
+#: fortran/decl.cc:10475
#, gcc-internal-format, gfc-internal-format
msgid "Junk after UNION statement at %C"
msgstr ""
-#: fortran/decl.cc:10498
+#: fortran/decl.cc:10510
#, gcc-internal-format
msgid "%s at %C is a DEC extension, enable with %<-fdec-structure%>"
msgstr ""
-#: fortran/decl.cc:10512
+#: fortran/decl.cc:10524
#, gcc-internal-format, gfc-internal-format
msgid "Structure name expected in non-nested structure declaration at %C"
msgstr ""
-#: fortran/decl.cc:10530
+#: fortran/decl.cc:10542
#, gcc-internal-format, gfc-internal-format
msgid "Junk after non-nested STRUCTURE statement at %C"
msgstr ""
-#: fortran/decl.cc:10537
+#: fortran/decl.cc:10549
#, gcc-internal-format
msgid "Structure name %qs at %C cannot be the same as an intrinsic type"
msgstr ""
-#: fortran/decl.cc:10700
+#: fortran/decl.cc:10712
#, gcc-internal-format, gfc-internal-format
msgid "Expected :: in TYPE definition at %C"
msgstr ""
-#: fortran/decl.cc:10713
+#: fortran/decl.cc:10725
#, gcc-internal-format, gfc-internal-format
msgid "Mangled derived type definition at %C"
msgstr ""
-#: fortran/decl.cc:10742
+#: fortran/decl.cc:10754
#, gcc-internal-format
msgid "Type name %qs at %C cannot be the same as an intrinsic type"
msgstr ""
-#: fortran/decl.cc:10753
+#: fortran/decl.cc:10765
#, gcc-internal-format
msgid "Derived type name %qs at %C already has a basic type of %s"
msgstr ""
-#: fortran/decl.cc:10756
+#: fortran/decl.cc:10768
#, gcc-internal-format
msgid "Derived type name %qs at %C already has a basic type"
msgstr ""
-#: fortran/decl.cc:10771
+#: fortran/decl.cc:10783
#, gcc-internal-format
msgid "Dummy argument %qs at %L cannot be a derived type at %C"
msgstr ""
-#: fortran/decl.cc:10780
+#: fortran/decl.cc:10792
#, gcc-internal-format
msgid "Derived type definition of %qs at %C has already been defined"
msgstr ""
-#: fortran/decl.cc:10843
+#: fortran/decl.cc:10855
#, gcc-internal-format, gfc-internal-format
msgid "Garbage after PARAMETERIZED TYPE declaration at %C"
msgstr ""
-#: fortran/decl.cc:10926
+#: fortran/decl.cc:10938
#, gcc-internal-format, gfc-internal-format
msgid "Cray Pointee at %C cannot be assumed shape array"
msgstr ""
-#: fortran/decl.cc:10946
+#: fortran/decl.cc:10958
#, gcc-internal-format, gfc-internal-format
msgid "ENUM and ENUMERATOR at %C"
msgstr ""
-#: fortran/decl.cc:10978
+#: fortran/decl.cc:10990
#, gcc-internal-format, gfc-internal-format
msgid "Enumerator exceeds the C integer type at %C"
msgstr ""
-#: fortran/decl.cc:11057
+#: fortran/decl.cc:11069
#, gcc-internal-format, gfc-internal-format
msgid "ENUMERATOR %L not initialized with integer expression"
msgstr ""
-#: fortran/decl.cc:11105
+#: fortran/decl.cc:11117
#, gcc-internal-format, gfc-internal-format
msgid "ENUM definition statement expected before %C"
msgstr ""
-#: fortran/decl.cc:11141
+#: fortran/decl.cc:11153
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in ENUMERATOR definition at %C"
msgstr ""
-#: fortran/decl.cc:11188 fortran/decl.cc:11203
+#: fortran/decl.cc:11200 fortran/decl.cc:11215
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate access-specifier at %C"
msgstr ""
-#: fortran/decl.cc:11223
+#: fortran/decl.cc:11235
#, gcc-internal-format, gfc-internal-format
msgid "Binding attributes already specify passing, illegal NOPASS at %C"
msgstr ""
-#: fortran/decl.cc:11243
+#: fortran/decl.cc:11255
#, gcc-internal-format, gfc-internal-format
msgid "Binding attributes already specify passing, illegal PASS at %C"
msgstr ""
-#: fortran/decl.cc:11270
+#: fortran/decl.cc:11282
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate POINTER attribute at %C"
msgstr ""
-#: fortran/decl.cc:11288
+#: fortran/decl.cc:11300
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate NON_OVERRIDABLE at %C"
msgstr ""
-#: fortran/decl.cc:11304
+#: fortran/decl.cc:11316
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate DEFERRED at %C"
msgstr ""
-#: fortran/decl.cc:11317
+#: fortran/decl.cc:11329
#, gcc-internal-format, gfc-internal-format
msgid "Expected access-specifier at %C"
msgstr ""
-#: fortran/decl.cc:11319
+#: fortran/decl.cc:11331
#, gcc-internal-format, gfc-internal-format
msgid "Expected binding attribute at %C"
msgstr ""
-#: fortran/decl.cc:11327
+#: fortran/decl.cc:11339
#, gcc-internal-format, gfc-internal-format
msgid "NON_OVERRIDABLE and DEFERRED cannot both appear at %C"
msgstr ""
-#: fortran/decl.cc:11340
+#: fortran/decl.cc:11352
#, gcc-internal-format, gfc-internal-format
msgid "POINTER attribute is required for procedure pointer component at %C"
msgstr ""
-#: fortran/decl.cc:11382
+#: fortran/decl.cc:11394
#, gcc-internal-format
msgid "Interface-name expected after %<(%> at %C"
msgstr ""
-#: fortran/decl.cc:11388
+#: fortran/decl.cc:11400
#, gcc-internal-format
msgid "%<)%> expected at %C"
msgstr ""
-#: fortran/decl.cc:11408
+#: fortran/decl.cc:11420
#, gcc-internal-format, gfc-internal-format
msgid "Interface must be specified for DEFERRED binding at %C"
msgstr ""
-#: fortran/decl.cc:11413
+#: fortran/decl.cc:11425
#, gcc-internal-format, gfc-internal-format
msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
msgstr ""
-#: fortran/decl.cc:11436
+#: fortran/decl.cc:11448
#, gcc-internal-format, gfc-internal-format
msgid "Expected binding name at %C"
msgstr ""
-#: fortran/decl.cc:11440
+#: fortran/decl.cc:11452
#, gcc-internal-format, gfc-internal-format
msgid "PROCEDURE list at %C"
msgstr ""
-#: fortran/decl.cc:11452
+#: fortran/decl.cc:11464
#, gcc-internal-format
msgid "%<=> target%> is invalid for DEFERRED binding at %C"
msgstr ""
-#: fortran/decl.cc:11458
+#: fortran/decl.cc:11470
#, gcc-internal-format
msgid "%<::%> needed in PROCEDURE binding with explicit target at %C"
msgstr ""
-#: fortran/decl.cc:11468
+#: fortran/decl.cc:11480
#, gcc-internal-format
msgid "Expected binding target after %<=>%> at %C"
msgstr ""
-#: fortran/decl.cc:11485
+#: fortran/decl.cc:11497
#, gcc-internal-format
msgid "Type %qs containing DEFERRED binding at %C is not ABSTRACT"
msgstr ""
-#: fortran/decl.cc:11496
+#: fortran/decl.cc:11508
#, gcc-internal-format
msgid ""
"There is already a procedure with binding name %qs for the derived type %qs "
"at %C"
msgstr ""
-#: fortran/decl.cc:11547
+#: fortran/decl.cc:11559
#, gcc-internal-format, gfc-internal-format
msgid "GENERIC at %C must be inside a derived-type CONTAINS"
msgstr ""
-#: fortran/decl.cc:11567
+#: fortran/decl.cc:11579
#, gcc-internal-format
msgid "Expected %<::%> at %C"
msgstr ""
-#: fortran/decl.cc:11579
+#: fortran/decl.cc:11591
#, gcc-internal-format, gfc-internal-format
msgid "Expected generic name or operator descriptor at %C"
msgstr ""
-#: fortran/decl.cc:11600
+#: fortran/decl.cc:11612
#, gcc-internal-format, gfc-internal-format
msgid "Malformed GENERIC statement at %C"
msgstr ""
-#: fortran/decl.cc:11611
+#: fortran/decl.cc:11623
#, gcc-internal-format
msgid "Expected %<=>%> at %C"
msgstr ""
-#: fortran/decl.cc:11647
+#: fortran/decl.cc:11659
#, gcc-internal-format
msgid ""
"There's already a non-generic procedure with binding name %qs for the "
"derived type %qs at %C"
msgstr ""
-#: fortran/decl.cc:11655
+#: fortran/decl.cc:11667
#, gcc-internal-format
msgid "Binding at %C must have the same access as already defined binding %qs"
msgstr ""
-#: fortran/decl.cc:11703
+#: fortran/decl.cc:11715
#, gcc-internal-format, gfc-internal-format
msgid "Expected specific binding name at %C"
msgstr ""
-#: fortran/decl.cc:11713
+#: fortran/decl.cc:11725
#, gcc-internal-format
msgid "%qs already defined as specific binding for the generic %qs at %C"
msgstr ""
-#: fortran/decl.cc:11731
+#: fortran/decl.cc:11743
#, gcc-internal-format, gfc-internal-format
msgid "Junk after GENERIC binding at %C"
msgstr ""
-#: fortran/decl.cc:11766
+#: fortran/decl.cc:11778
#, gcc-internal-format, gfc-internal-format
msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
msgstr ""
-#: fortran/decl.cc:11778
+#: fortran/decl.cc:11790
#, gcc-internal-format, gfc-internal-format
msgid ""
"Derived type declaration with FINAL at %C must be in the specification part "
"of a MODULE"
msgstr ""
-#: fortran/decl.cc:11800
+#: fortran/decl.cc:11812
#, gcc-internal-format, gfc-internal-format
msgid "Empty FINAL at %C"
msgstr ""
-#: fortran/decl.cc:11807
+#: fortran/decl.cc:11819
#, gcc-internal-format, gfc-internal-format
msgid "Expected module procedure name at %C"
msgstr ""
-#: fortran/decl.cc:11817
+#: fortran/decl.cc:11829
#, gcc-internal-format
msgid "Expected %<,%> at %C"
msgstr ""
-#: fortran/decl.cc:11823
+#: fortran/decl.cc:11835
#, gcc-internal-format
msgid "Unknown procedure name %qs at %C"
msgstr ""
-#: fortran/decl.cc:11836
+#: fortran/decl.cc:11848
#, gcc-internal-format
msgid "%qs at %C is already defined as FINAL procedure"
msgstr ""
-#: fortran/decl.cc:11910
+#: fortran/decl.cc:11922
#, gcc-internal-format, gfc-internal-format
msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
msgstr ""
-#: fortran/decl.cc:11956
+#: fortran/decl.cc:11968
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
msgstr ""
-#: fortran/decl.cc:11977
+#: fortran/decl.cc:11989
#, gcc-internal-format
msgid ""
"%<GCC unroll%> directive requires a non-negative integral constant less than "
"or equal to %u at %C"
msgstr ""
-#: fortran/decl.cc:11991
+#: fortran/decl.cc:12003
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in !GCC$ UNROLL directive at %C"
msgstr ""
-#: fortran/decl.cc:12055
+#: fortran/decl.cc:12067
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in !GCC$ IVDEP directive at %C"
msgstr ""
-#: fortran/decl.cc:12072
+#: fortran/decl.cc:12084
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in !GCC$ VECTOR directive at %C"
msgstr ""
-#: fortran/decl.cc:12089
+#: fortran/decl.cc:12101
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in !GCC$ NOVECTOR directive at %C"
msgstr ""
@@ -77177,12 +77368,12 @@ msgstr ""
msgid "show_expr(): Don't know how to show expr"
msgstr ""
-#: fortran/dump-parse-tree.cc:3893
+#: fortran/dump-parse-tree.cc:3928
#, gcc-internal-format
msgid "show_code_node(): Bad statement code"
msgstr ""
-#: fortran/dump-parse-tree.cc:4356 fortran/dump-parse-tree.cc:4450
+#: fortran/dump-parse-tree.cc:4391 fortran/dump-parse-tree.cc:4485
#, gcc-internal-format
msgid "Cannot convert %qs to interoperable type at %L"
msgstr ""
@@ -77507,161 +77698,161 @@ msgstr ""
msgid "Variable type is UNKNOWN in assignment at %L"
msgstr ""
-#: fortran/expr.cc:3841
+#: fortran/expr.cc:3847
#, gcc-internal-format, gfc-internal-format
msgid "NULL appears on right-hand side in assignment at %L"
msgstr ""
-#: fortran/expr.cc:3851
+#: fortran/expr.cc:3857
#, gcc-internal-format, gfc-internal-format
msgid "POINTER-valued function appears on right-hand side of assignment at %L"
msgstr ""
-#: fortran/expr.cc:3894
+#: fortran/expr.cc:3900
#, gcc-internal-format
msgid "BOZ literal constant near %L cannot be assigned to a %qs variable"
msgstr ""
-#: fortran/expr.cc:3901
+#: fortran/expr.cc:3907
#, gcc-internal-format, gfc-internal-format
msgid ""
"The assignment to a KIND or LEN component of a parameterized type at %L is "
"not allowed"
msgstr ""
-#: fortran/expr.cc:3932
+#: fortran/expr.cc:3938
#, gcc-internal-format, gfc-internal-format
msgid ""
"Incompatible types in DATA statement at %L; attempted conversion of %s to %s"
msgstr ""
-#: fortran/expr.cc:3976
+#: fortran/expr.cc:3982
#, gcc-internal-format, gfc-internal-format
msgid "Pointer assignment target is not a POINTER at %L"
msgstr ""
-#: fortran/expr.cc:3984
+#: fortran/expr.cc:3990
#, gcc-internal-format
msgid ""
"%qs in the pointer assignment at %L cannot be an l-value since it is a "
"procedure"
msgstr ""
-#: fortran/expr.cc:4008
+#: fortran/expr.cc:4014
#, gcc-internal-format
msgid "Expected bounds specification for %qs at %L"
msgstr ""
-#: fortran/expr.cc:4013
+#: fortran/expr.cc:4019
#, gcc-internal-format
msgid "Bounds specification for %qs in pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4042
+#: fortran/expr.cc:4048
#, gcc-internal-format, gfc-internal-format
msgid "Stride must not be present at %L"
msgstr ""
-#: fortran/expr.cc:4048 fortran/expr.cc:4068
+#: fortran/expr.cc:4054 fortran/expr.cc:4074
#, gcc-internal-format
msgid ""
"Rank remapping requires a list of %<lower-bound : upper-bound%> "
"specifications at %L"
msgstr ""
-#: fortran/expr.cc:4056 fortran/expr.cc:4075
+#: fortran/expr.cc:4062 fortran/expr.cc:4081
#, gcc-internal-format
msgid ""
"Expected list of %<lower-bound :%> or list of %<lower-bound : upper-bound%> "
"specifications at %L"
msgstr ""
-#: fortran/expr.cc:4102
+#: fortran/expr.cc:4108
#, gcc-internal-format, gfc-internal-format
msgid "Pointer object at %L shall not have a coindex"
msgstr ""
-#: fortran/expr.cc:4123
+#: fortran/expr.cc:4129
#, gcc-internal-format, gfc-internal-format
msgid "Invalid procedure pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4148
+#: fortran/expr.cc:4154
#, gcc-internal-format
msgid ""
"Function result %qs is invalid as proc-target in procedure pointer "
"assignment at %L"
msgstr ""
-#: fortran/expr.cc:4157
+#: fortran/expr.cc:4163
#, gcc-internal-format
msgid "Abstract interface %qs is invalid in procedure pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4167
+#: fortran/expr.cc:4173
#, gcc-internal-format
msgid "Statement function %qs is invalid in procedure pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4173
+#: fortran/expr.cc:4179
#, gcc-internal-format
msgid "Internal procedure %qs is invalid in procedure pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4180
+#: fortran/expr.cc:4186
#, gcc-internal-format
msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment"
msgstr ""
-#: fortran/expr.cc:4188
+#: fortran/expr.cc:4194
#, gcc-internal-format
msgid ""
"Nonintrinsic elemental procedure %qs is invalid in procedure pointer "
"assignment at %L"
msgstr ""
-#: fortran/expr.cc:4211
+#: fortran/expr.cc:4217
#, gcc-internal-format, gfc-internal-format
msgid ""
"Mismatch in the procedure pointer assignment at %L: mismatch in the calling "
"convention"
msgstr ""
-#: fortran/expr.cc:4264
+#: fortran/expr.cc:4270
#, gcc-internal-format
msgid ""
"Interface mismatch in procedure pointer assignment at %L: %qs is not a "
"subroutine"
msgstr ""
-#: fortran/expr.cc:4274 fortran/expr.cc:4289
+#: fortran/expr.cc:4280 fortran/expr.cc:4295
#, gcc-internal-format
msgid "Explicit interface required for component %qs at %L: %s"
msgstr ""
-#: fortran/expr.cc:4280 fortran/expr.cc:4295 fortran/resolve.cc:2764
+#: fortran/expr.cc:4286 fortran/expr.cc:4301 fortran/resolve.cc:2764
#, gcc-internal-format
msgid "Explicit interface required for %qs at %L: %s"
msgstr ""
-#: fortran/expr.cc:4307
+#: fortran/expr.cc:4313
#, gcc-internal-format, gfc-internal-format
msgid "Interface mismatch in procedure pointer assignment at %L: %s"
msgstr ""
-#: fortran/expr.cc:4316
+#: fortran/expr.cc:4322
#, gcc-internal-format
msgid ""
"Procedure pointer target %qs at %L must be either an intrinsic, host or use "
"associated, referenced or have the EXTERNAL attribute"
msgstr ""
-#: fortran/expr.cc:4329
+#: fortran/expr.cc:4335
#, gcc-internal-format, gfc-internal-format
msgid "Pointer assignment target cannot be a constant at %L"
msgstr ""
-#: fortran/expr.cc:4343
+#: fortran/expr.cc:4349
#, gcc-internal-format, gfc-internal-format
msgid ""
"Data-pointer-object at %L must be unlimited polymorphic, or of a type with "
@@ -77669,46 +77860,46 @@ msgid ""
"polymorphic target"
msgstr ""
-#: fortran/expr.cc:4348
+#: fortran/expr.cc:4354
#, gcc-internal-format, gfc-internal-format
msgid ""
"Different types in pointer assignment at %L; attempted assignment of %s to %s"
msgstr ""
-#: fortran/expr.cc:4356
+#: fortran/expr.cc:4362
#, gcc-internal-format, gfc-internal-format
msgid "Different kind type parameters in pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4363
+#: fortran/expr.cc:4369
#, gcc-internal-format, gfc-internal-format
msgid "Different ranks in pointer assignment at %L"
msgstr ""
-#: fortran/expr.cc:4384
+#: fortran/expr.cc:4390
#, gcc-internal-format, gfc-internal-format
msgid ""
"Rank remapping target is smaller than size of the pointer (%ld < %ld) at %L"
msgstr ""
-#: fortran/expr.cc:4400
+#: fortran/expr.cc:4406
#, gcc-internal-format, gfc-internal-format
msgid ""
"The assumed rank target at %L is an experimental F202y feature. Use option -"
"std=f202y to enable"
msgstr ""
-#: fortran/expr.cc:4412
+#: fortran/expr.cc:4418
#, gcc-internal-format, gfc-internal-format
msgid "Rank remapping target must be rank 1 or simply contiguous at %L"
msgstr ""
-#: fortran/expr.cc:4416
+#: fortran/expr.cc:4422
#, gcc-internal-format, gfc-internal-format
msgid "Rank remapping target is not rank 1 at %L"
msgstr ""
-#: fortran/expr.cc:4423
+#: fortran/expr.cc:4429
#, gcc-internal-format, gfc-internal-format
msgid ""
"The data-target at %L is an assumed rank object and so the data-pointer-"
@@ -77716,7 +77907,7 @@ msgid ""
"dimension)"
msgstr ""
-#: fortran/expr.cc:4432
+#: fortran/expr.cc:4438
#, gcc-internal-format, gfc-internal-format
msgid "The assumed rank data-target at %L must be contiguous"
msgstr ""
@@ -77724,222 +77915,222 @@ msgstr ""
#. The test above might need to be extend when F08, Note 5.4 has to be
#. interpreted in the way that target and pointer with the same coindex
#. are allowed.
-#: fortran/expr.cc:4456 fortran/expr.cc:4582
+#: fortran/expr.cc:4462 fortran/expr.cc:4588
#, gcc-internal-format, gfc-internal-format
msgid "Data target at %L shall not have a coindex"
msgstr ""
-#: fortran/expr.cc:4459
+#: fortran/expr.cc:4465
#, gcc-internal-format, gfc-internal-format
msgid ""
"Target expression in pointer assignment at %L must deliver a pointer result"
msgstr ""
-#: fortran/expr.cc:4473
+#: fortran/expr.cc:4479
#, gcc-internal-format, gfc-internal-format
msgid ""
"Zero-sized array detected at %L where an entity with the TARGET attribute is "
"expected"
msgstr ""
-#: fortran/expr.cc:4479 fortran/expr.cc:4494
+#: fortran/expr.cc:4485 fortran/expr.cc:4500
#, gcc-internal-format, gfc-internal-format
msgid ""
"Pointer assignment target in initialization expression does not have the "
"TARGET attribute at %L"
msgstr ""
-#: fortran/expr.cc:4510
+#: fortran/expr.cc:4516
#, gcc-internal-format, gfc-internal-format
msgid ""
"Every subscript of target specification at %L must be a constant expression"
msgstr ""
-#: fortran/expr.cc:4521
+#: fortran/expr.cc:4527
#, gcc-internal-format, gfc-internal-format
msgid ""
"Substring starting and ending points of target specification at %L must be "
"constant expressions"
msgstr ""
-#: fortran/expr.cc:4537
+#: fortran/expr.cc:4543
#, gcc-internal-format, gfc-internal-format
msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
msgstr ""
-#: fortran/expr.cc:4552
+#: fortran/expr.cc:4558
#, gcc-internal-format, gfc-internal-format
msgid "Bad target in pointer assignment in PURE procedure at %L"
msgstr ""
-#: fortran/expr.cc:4561
+#: fortran/expr.cc:4567
#, gcc-internal-format, gfc-internal-format
msgid "Pointer assignment with vector subscript on rhs at %L"
msgstr ""
-#: fortran/expr.cc:4569
+#: fortran/expr.cc:4575
#, gcc-internal-format, gfc-internal-format
msgid "Pointer assignment target has PROTECTED attribute at %L"
msgstr ""
-#: fortran/expr.cc:4597 fortran/expr.cc:4602
+#: fortran/expr.cc:4603 fortran/expr.cc:4608
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to contiguous pointer from non-contiguous target at %L"
msgstr ""
-#: fortran/expr.cc:4642
+#: fortran/expr.cc:4648
#, gcc-internal-format, gfc-internal-format
msgid "Pointer at %L in pointer assignment might outlive the pointer target"
msgstr ""
-#: fortran/expr.cc:4722 fortran/resolve.cc:1573
+#: fortran/expr.cc:4728 fortran/resolve.cc:1573
#, gcc-internal-format, gfc-internal-format
msgid "Pointer initialization target at %L must not be ALLOCATABLE"
msgstr ""
-#: fortran/expr.cc:4728
+#: fortran/expr.cc:4734
#, gcc-internal-format, gfc-internal-format
msgid "Pointer initialization target at %L must have the TARGET attribute"
msgstr ""
-#: fortran/expr.cc:4743 fortran/resolve.cc:1579
+#: fortran/expr.cc:4749 fortran/resolve.cc:1579
#, gcc-internal-format, gfc-internal-format
msgid "Pointer initialization target at %L must have the SAVE attribute"
msgstr ""
-#: fortran/expr.cc:4755
+#: fortran/expr.cc:4761
#, gcc-internal-format, gfc-internal-format
msgid ""
"Procedure pointer initialization target at %L may not be a procedure pointer"
msgstr ""
-#: fortran/expr.cc:4761
+#: fortran/expr.cc:4767
#, gcc-internal-format
msgid ""
"Internal procedure %qs is invalid in procedure pointer initialization at %L"
msgstr ""
-#: fortran/expr.cc:4768
+#: fortran/expr.cc:4774
#, gcc-internal-format
msgid ""
"Dummy procedure %qs is invalid in procedure pointer initialization at %L"
msgstr ""
-#: fortran/expr.cc:5252
+#: fortran/expr.cc:5258
#, gcc-internal-format
msgid ""
"generate_isocbinding_initializer(): bad iso_c_binding type, expected "
"%<c_ptr%> or %<c_funptr%>"
msgstr ""
-#: fortran/expr.cc:6385
+#: fortran/expr.cc:6391
#, gcc-internal-format, gfc-internal-format
msgid ""
"Fortran 2008: Pointer functions in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6393
+#: fortran/expr.cc:6399
#, gcc-internal-format, gfc-internal-format
msgid "Non-variable expression in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6401
+#: fortran/expr.cc:6407
#, gcc-internal-format
msgid "Named constant %qs in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6412
+#: fortran/expr.cc:6418
#, gcc-internal-format
msgid "%qs in variable definition context (%s) at %L is not a variable"
msgstr ""
-#: fortran/expr.cc:6423
+#: fortran/expr.cc:6429
#, gcc-internal-format, gfc-internal-format
msgid "Non-POINTER in pointer association context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6432
+#: fortran/expr.cc:6438
#, gcc-internal-format, gfc-internal-format
msgid "Type inaccessible in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6445
+#: fortran/expr.cc:6451
#, gcc-internal-format, gfc-internal-format
msgid "LOCK_TYPE in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6458
+#: fortran/expr.cc:6464
#, gcc-internal-format, gfc-internal-format
msgid "LOCK_EVENT in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6489
+#: fortran/expr.cc:6495
#, gcc-internal-format
msgid "%qs parameter inquiry for %qs in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6506
+#: fortran/expr.cc:6512
#, gcc-internal-format
msgid ""
"Dummy argument %qs with INTENT(IN) in pointer association context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6516
+#: fortran/expr.cc:6522
#, gcc-internal-format
msgid ""
"Dummy argument %qs with INTENT(IN) in variable definition context (%s) at %L"
msgstr ""
-#: fortran/expr.cc:6532
+#: fortran/expr.cc:6538
#, gcc-internal-format
msgid ""
"Variable %qs is PROTECTED and cannot appear in a pointer association context "
"(%s) at %L"
msgstr ""
-#: fortran/expr.cc:6540
+#: fortran/expr.cc:6546
#, gcc-internal-format
msgid ""
"Variable %qs is PROTECTED and cannot appear in a variable definition context "
"(%s) at %L"
msgstr ""
-#: fortran/expr.cc:6555
+#: fortran/expr.cc:6561
#, gcc-internal-format
msgid ""
"Variable %qs cannot appear in a variable definition context (%s) at %L in "
"PURE procedure"
msgstr ""
-#: fortran/expr.cc:6615 fortran/expr.cc:6636
+#: fortran/expr.cc:6621 fortran/expr.cc:6642
#, gcc-internal-format
msgid ""
"%qs at %L associated to vector-indexed target cannot be used in a variable "
"definition context (%s)"
msgstr ""
-#: fortran/expr.cc:6620
+#: fortran/expr.cc:6626
#, gcc-internal-format
msgid ""
"%qs at %L associated to expression cannot be used in a variable definition "
"context (%s)"
msgstr ""
-#: fortran/expr.cc:6629
+#: fortran/expr.cc:6635
#, gcc-internal-format
msgid ""
"%qs at %L associated to pointer function target being used in a variable "
"definition context (%s)"
msgstr ""
-#: fortran/expr.cc:6648
+#: fortran/expr.cc:6654
#, gcc-internal-format
msgid ""
"Associate-name %qs cannot appear in a variable definition context (%s) at %L "
"because its target at %L cannot, either"
msgstr ""
-#: fortran/expr.cc:6690
+#: fortran/expr.cc:6696
#, gcc-internal-format, gfc-internal-format
msgid ""
"Elements with the same value at %L and %L in vector subscript in a variable "
@@ -77963,7 +78154,7 @@ msgstr ""
#: fortran/frontend-passes.cc:874 fortran/trans-array.cc:1565
#: fortran/trans-array.cc:7434 fortran/trans-array.cc:9248
-#: fortran/trans-intrinsic.cc:8570
+#: fortran/trans-intrinsic.cc:8576
#, gcc-internal-format, gfc-internal-format
msgid "Creating array temporary at %L"
msgstr ""
@@ -78074,7 +78265,7 @@ msgstr ""
msgid "Interchanging loops at %L"
msgstr ""
-#: fortran/frontend-passes.cc:5827
+#: fortran/frontend-passes.cc:5828
#, gcc-internal-format, gfc-internal-format
msgid "%s between %L and %L"
msgstr ""
@@ -78198,12 +78389,12 @@ msgstr ""
msgid "Second argument of defined assignment at %L must be INTENT(IN)"
msgstr ""
-#: fortran/interface.cc:1042 fortran/resolve.cc:19107
+#: fortran/interface.cc:1042 fortran/resolve.cc:19225
#, gcc-internal-format, gfc-internal-format
msgid "First argument of operator interface at %L must be INTENT(IN)"
msgstr ""
-#: fortran/interface.cc:1049 fortran/resolve.cc:19125
+#: fortran/interface.cc:1049 fortran/resolve.cc:19243
#, gcc-internal-format, gfc-internal-format
msgid "Second argument of operator interface at %L must be INTENT(IN)"
msgstr ""
@@ -78346,7 +78537,7 @@ msgid "Interface mismatch in dummy procedure at %L conflicts with %L: %s"
msgstr ""
#: fortran/interface.cc:2484 fortran/interface.cc:2500
-#: fortran/interface.cc:2573
+#: fortran/interface.cc:2590
#, gcc-internal-format
msgid "Interface mismatch in dummy procedure %qs at %L: %s"
msgstr ""
@@ -78361,55 +78552,60 @@ msgstr ""
msgid "Passing global function %qs declared at %L as subroutine at %L"
msgstr ""
-#: fortran/interface.cc:2540
+#: fortran/interface.cc:2539
+#, gcc-internal-format, gfc-internal-format
+msgid "Mismatch between subroutine and function at %L"
+msgstr ""
+
+#: fortran/interface.cc:2548
#, gcc-internal-format
msgid "Type mismatch at %L passing global function %qs declared at %L (%s/%s)"
msgstr ""
-#: fortran/interface.cc:2584
+#: fortran/interface.cc:2601
#, gcc-internal-format
msgid ""
"Actual argument to contiguous pointer dummy %qs at %L must be simply "
"contiguous"
msgstr ""
-#: fortran/interface.cc:2607
+#: fortran/interface.cc:2624
#, gcc-internal-format, gfc-internal-format
msgid ""
"Type mismatch between actual argument at %L and actual argument at %L (%s/"
"%s)."
msgstr ""
-#: fortran/interface.cc:2617
+#: fortran/interface.cc:2634
#, gcc-internal-format
msgid "Type mismatch in argument %qs at %L; passed %s to %s"
msgstr ""
-#: fortran/interface.cc:2627
+#: fortran/interface.cc:2644
#, gcc-internal-format
msgid ""
"Assumed-type actual argument at %L requires that dummy argument %qs is of "
"assumed type"
msgstr ""
-#: fortran/interface.cc:2641
+#: fortran/interface.cc:2658
#, gcc-internal-format
msgid ""
"Assumed-type actual argument at %L corresponding to assumed-rank dummy "
"argument %qs must be assumed-shape or assumed-rank"
msgstr ""
-#: fortran/interface.cc:2658
+#: fortran/interface.cc:2675
#, gcc-internal-format
msgid "Actual argument to %qs at %L must be polymorphic"
msgstr ""
-#: fortran/interface.cc:2668
+#: fortran/interface.cc:2685
#, gcc-internal-format
msgid "Actual argument to %qs at %L must have the same declared type"
msgstr ""
-#: fortran/interface.cc:2683
+#: fortran/interface.cc:2700
#, gcc-internal-format
msgid ""
"Actual argument to %qs at %L must be unlimited polymorphic since the formal "
@@ -78417,38 +78613,38 @@ msgid ""
"12.5.2.5]"
msgstr ""
-#: fortran/interface.cc:2699
+#: fortran/interface.cc:2716
#, gcc-internal-format
msgid "Actual argument to %qs at %L must be a coarray"
msgstr ""
-#: fortran/interface.cc:2721
+#: fortran/interface.cc:2738
#, gcc-internal-format
msgid "Corank mismatch in argument %qs at %L (%d and %d)"
msgstr ""
-#: fortran/interface.cc:2739
+#: fortran/interface.cc:2756
#, gcc-internal-format
msgid ""
"Actual argument to %qs at %L must be simply contiguous or an element of such "
"an array"
msgstr ""
-#: fortran/interface.cc:2754
+#: fortran/interface.cc:2771
#, gcc-internal-format
msgid ""
"Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or "
"has a LOCK_TYPE component"
msgstr ""
-#: fortran/interface.cc:2769
+#: fortran/interface.cc:2786
#, gcc-internal-format
msgid ""
"Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is EVENT_TYPE or "
"has a EVENT_TYPE component"
msgstr ""
-#: fortran/interface.cc:2788
+#: fortran/interface.cc:2805
#, gcc-internal-format
msgid ""
"Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array "
@@ -78456,250 +78652,250 @@ msgid ""
"contiguous and both are ASYNCHRONOUS or VOLATILE"
msgstr ""
-#: fortran/interface.cc:2801
+#: fortran/interface.cc:2818
#, gcc-internal-format
msgid ""
"Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument "
"%qs"
msgstr ""
-#: fortran/interface.cc:2808
+#: fortran/interface.cc:2825
#, gcc-internal-format
msgid ""
"Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which "
"is invalid if the allocation status is modified"
msgstr ""
-#: fortran/interface.cc:2895
+#: fortran/interface.cc:2912
#, gcc-internal-format
msgid "Polymorphic scalar passed to array dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:2906
+#: fortran/interface.cc:2923
#, gcc-internal-format, gfc-internal-format
msgid ""
"Element of assumed-shape or pointer array as actual argument at %L cannot "
"correspond to actual argument at %L"
msgstr ""
-#: fortran/interface.cc:2911
+#: fortran/interface.cc:2928
#, gcc-internal-format
msgid ""
"Element of assumed-shape or pointer array passed to array dummy argument %qs "
"at %L"
msgstr ""
-#: fortran/interface.cc:2924
+#: fortran/interface.cc:2941
#, gcc-internal-format
msgid ""
"Extension: Scalar non-default-kind, non-C_CHAR-kind CHARACTER actual "
"argument with array dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:2932
+#: fortran/interface.cc:2949
#, gcc-internal-format
msgid ""
"Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs "
"at %L"
msgstr ""
-#: fortran/interface.cc:3321
+#: fortran/interface.cc:3338
#, gcc-internal-format
msgid "Keyword argument %qs at %L is invalid in a statement function"
msgstr ""
-#: fortran/interface.cc:3344
+#: fortran/interface.cc:3361
#, gcc-internal-format
msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?"
msgstr ""
-#: fortran/interface.cc:3348
+#: fortran/interface.cc:3365
#, gcc-internal-format
msgid "Keyword argument %qs at %L is not in the procedure"
msgstr ""
-#: fortran/interface.cc:3357
+#: fortran/interface.cc:3374
#, gcc-internal-format
msgid ""
"Keyword argument %qs at %L is already associated with another actual argument"
msgstr ""
-#: fortran/interface.cc:3367
+#: fortran/interface.cc:3384
#, gcc-internal-format, gfc-internal-format
msgid "More actual than formal arguments in procedure call at %L"
msgstr ""
-#: fortran/interface.cc:3380
+#: fortran/interface.cc:3397
#, gcc-internal-format, gfc-internal-format
msgid "Missing alternate return specifier in subroutine call at %L"
msgstr ""
-#: fortran/interface.cc:3394
+#: fortran/interface.cc:3415
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected alternate return specifier in subroutine call at %L"
msgstr ""
-#: fortran/interface.cc:3417
+#: fortran/interface.cc:3438
#, gcc-internal-format
msgid ""
"Intrinsic %<NULL()%> without %<MOLD%> argument at %L passed to assumed-rank "
"dummy %qs"
msgstr ""
-#: fortran/interface.cc:3430
+#: fortran/interface.cc:3451
#, gcc-internal-format
msgid ""
"The assumed-size dummy %qs is being passed at %L to an assumed-rank dummy %qs"
msgstr ""
-#: fortran/interface.cc:3441
+#: fortran/interface.cc:3462
#, gcc-internal-format
msgid ""
"Intrinsic %<NULL()%> without %<MOLD%> argument at %L passed to assumed-"
"length dummy %qs"
msgstr ""
-#: fortran/interface.cc:3481
+#: fortran/interface.cc:3502
#, gcc-internal-format
msgid "Unexpected NULL() intrinsic at %L to dummy %qs"
msgstr ""
-#: fortran/interface.cc:3484
+#: fortran/interface.cc:3505
#, gcc-internal-format
msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs"
msgstr ""
-#: fortran/interface.cc:3510
+#: fortran/interface.cc:3531
#, gcc-internal-format, gfc-internal-format
msgid ""
"Actual argument at %L to assumed-type dummy has type parameters or is of "
"derived type with type-bound or FINAL procedures"
msgstr ""
-#: fortran/interface.cc:3522
+#: fortran/interface.cc:3543
#, gcc-internal-format, gfc-internal-format
msgid ""
"Unlimited polymorphic actual argument at %L is not matched with either an "
"unlimited polymorphic or assumed type dummy argument"
msgstr ""
-#: fortran/interface.cc:3546
+#: fortran/interface.cc:3567
#, gcc-internal-format
msgid ""
"Character length mismatch (%ld/%ld) between actual argument and pointer or "
"allocatable dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:3553
+#: fortran/interface.cc:3574
#, gcc-internal-format
msgid ""
"Character length mismatch (%ld/%ld) between actual argument and assumed-"
"shape dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:3568
+#: fortran/interface.cc:3589
#, gcc-internal-format
msgid ""
"Actual argument at %L to allocatable or pointer dummy argument %qs must have "
"a deferred length type parameter if and only if the dummy has one"
msgstr ""
-#: fortran/interface.cc:3591
+#: fortran/interface.cc:3612
#, gcc-internal-format
msgid ""
"Character length of actual argument shorter than of dummy argument %qs (%lu/"
"%lu) at %L"
msgstr ""
-#: fortran/interface.cc:3601 fortran/interface.cc:3606
+#: fortran/interface.cc:3622 fortran/interface.cc:3627
#, gcc-internal-format
msgid ""
"Actual argument contains too few elements for dummy argument %qs (%lu/%lu) "
"at %L"
msgstr ""
-#: fortran/interface.cc:3632
+#: fortran/interface.cc:3653
#, gcc-internal-format
msgid "Expected a procedure pointer for argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:3649
+#: fortran/interface.cc:3670
#, gcc-internal-format
msgid "Expected a procedure for argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:3716
+#: fortran/interface.cc:3737
#, gcc-internal-format
msgid "Actual argument for %qs cannot be an assumed-size array at %L"
msgstr ""
-#: fortran/interface.cc:3745
+#: fortran/interface.cc:3766
#, gcc-internal-format
msgid ""
"Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of "
"unknown size"
msgstr ""
-#: fortran/interface.cc:3760
+#: fortran/interface.cc:3781
#, gcc-internal-format
msgid "Actual argument for %qs at %L must be a pointer"
msgstr ""
-#: fortran/interface.cc:3769
+#: fortran/interface.cc:3790
#, gcc-internal-format
msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs"
msgstr ""
-#: fortran/interface.cc:3778
+#: fortran/interface.cc:3799
#, gcc-internal-format
msgid ""
"Actual argument for %qs at %L must be a pointer or a valid target for the "
"dummy pointer in a pointer assignment statement"
msgstr ""
-#: fortran/interface.cc:3792
+#: fortran/interface.cc:3813
#, gcc-internal-format
msgid "Coindexed actual argument at %L to pointer dummy %qs"
msgstr ""
-#: fortran/interface.cc:3806
+#: fortran/interface.cc:3827
#, gcc-internal-format
msgid ""
"Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)"
msgstr ""
-#: fortran/interface.cc:3821
+#: fortran/interface.cc:3842
#, gcc-internal-format
msgid ""
"Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy "
"%qs has neither ASYNCHRONOUS nor VOLATILE"
msgstr ""
-#: fortran/interface.cc:3836
+#: fortran/interface.cc:3857
#, gcc-internal-format
msgid ""
"Coindexed actual argument at %L with allocatable ultimate component to dummy "
"%qs requires either VALUE or INTENT(IN)"
msgstr ""
-#: fortran/interface.cc:3849
+#: fortran/interface.cc:3870
#, gcc-internal-format
msgid "Actual CLASS array argument for %qs must be a full array at %L"
msgstr ""
-#: fortran/interface.cc:3860
+#: fortran/interface.cc:3881
#, gcc-internal-format
msgid "Actual argument for %qs must be ALLOCATABLE at %L"
msgstr ""
-#: fortran/interface.cc:3871
+#: fortran/interface.cc:3892
#, gcc-internal-format
msgid ""
"Actual argument for %qs at %L is a function result and the dummy argument is "
"ALLOCATABLE"
msgstr ""
-#: fortran/interface.cc:3909
+#: fortran/interface.cc:3930
#, gcc-internal-format
msgid ""
"Array-section actual argument with vector subscripts at %L is incompatible "
@@ -78707,341 +78903,341 @@ msgid ""
"dummy argument %qs"
msgstr ""
-#: fortran/interface.cc:3929
+#: fortran/interface.cc:3950
#, gcc-internal-format
msgid ""
"Assumed-shape actual argument at %L is incompatible with the non-assumed-"
"shape dummy argument %qs due to VOLATILE attribute"
msgstr ""
-#: fortran/interface.cc:3947
+#: fortran/interface.cc:3968
#, gcc-internal-format
msgid ""
"Array-section actual argument at %L is incompatible with the non-assumed-"
"shape dummy argument %qs due to VOLATILE attribute"
msgstr ""
-#: fortran/interface.cc:3968
+#: fortran/interface.cc:3989
#, gcc-internal-format
msgid ""
"Pointer-array actual argument at %L requires an assumed-shape or pointer-"
"array dummy argument %qs due to VOLATILE attribute"
msgstr ""
-#: fortran/interface.cc:3996
+#: fortran/interface.cc:4017
#, gcc-internal-format, gfc-internal-format
msgid "Missing alternate return spec in subroutine call at %L"
msgstr ""
-#: fortran/interface.cc:4009
+#: fortran/interface.cc:4030
#, gcc-internal-format
msgid "Missing actual argument for argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:4137
+#: fortran/interface.cc:4158
#, gcc-internal-format
msgid "compare_actual_expr(): Bad component code"
msgstr ""
-#: fortran/interface.cc:4166
+#: fortran/interface.cc:4187
#, gcc-internal-format
msgid "check_some_aliasing(): List mismatch"
msgstr ""
-#: fortran/interface.cc:4192
+#: fortran/interface.cc:4213
#, gcc-internal-format
msgid "check_some_aliasing(): corrupted data"
msgstr ""
-#: fortran/interface.cc:4202
+#: fortran/interface.cc:4223
#, gcc-internal-format
msgid ""
"Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) "
"argument %qs at %L"
msgstr ""
-#: fortran/interface.cc:4232
+#: fortran/interface.cc:4253
#, gcc-internal-format
msgid "check_intents(): List mismatch"
msgstr ""
-#: fortran/interface.cc:4252
+#: fortran/interface.cc:4273
#, gcc-internal-format, gfc-internal-format
msgid ""
"Procedure argument at %L is local to a PURE procedure and has the POINTER "
"attribute"
msgstr ""
-#: fortran/interface.cc:4264
+#: fortran/interface.cc:4285
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed actual argument at %L in PURE procedure is passed to an INTENT(%s) "
"argument"
msgstr ""
-#: fortran/interface.cc:4274
+#: fortran/interface.cc:4295
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed actual argument at %L in PURE procedure is passed to a POINTER "
"dummy argument"
msgstr ""
-#: fortran/interface.cc:4285
+#: fortran/interface.cc:4306
#, gcc-internal-format
msgid ""
"Coindexed polymorphic actual argument at %L is passed polymorphic dummy "
"argument %qs"
msgstr ""
-#: fortran/interface.cc:4327
+#: fortran/interface.cc:4348
#, gcc-internal-format
msgid ""
"Procedure %qs called at %L is not explicitly declared; did you mean %qs?"
msgstr ""
-#: fortran/interface.cc:4331 fortran/interface.cc:4341
+#: fortran/interface.cc:4352 fortran/interface.cc:4362
#, gcc-internal-format
msgid "Procedure %qs called at %L is not explicitly declared"
msgstr ""
-#: fortran/interface.cc:4337
+#: fortran/interface.cc:4358
#, gcc-internal-format
msgid "Procedure %qs called with an implicit interface at %L"
msgstr ""
-#: fortran/interface.cc:4350
+#: fortran/interface.cc:4371
#, gcc-internal-format
msgid ""
"The pointer object %qs at %L must have an explicit function interface or be "
"declared as array"
msgstr ""
-#: fortran/interface.cc:4358
+#: fortran/interface.cc:4379
#, gcc-internal-format
msgid ""
"The allocatable object %qs at %L must have an explicit function interface or "
"be declared as array"
msgstr ""
-#: fortran/interface.cc:4366
+#: fortran/interface.cc:4387
#, gcc-internal-format
msgid "Allocatable function %qs at %L must have an explicit function interface"
msgstr ""
-#: fortran/interface.cc:4383
+#: fortran/interface.cc:4404
#, gcc-internal-format, gfc-internal-format
msgid "Explicit interface required for polymorphic argument at %L"
msgstr ""
-#: fortran/interface.cc:4392
+#: fortran/interface.cc:4413
#, gcc-internal-format
msgid "Keyword argument requires explicit interface for procedure %qs at %L"
msgstr ""
-#: fortran/interface.cc:4401
+#: fortran/interface.cc:4422
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type argument %s at %L requires an explicit interface"
msgstr ""
-#: fortran/interface.cc:4416
+#: fortran/interface.cc:4437
#, gcc-internal-format
msgid ""
"Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an "
"explicit interface for procedure %qs"
msgstr ""
-#: fortran/interface.cc:4431
+#: fortran/interface.cc:4452
#, gcc-internal-format
msgid ""
"Actual argument of EVENT_TYPE or with EVENT_TYPE component at %L requires an "
"explicit interface for procedure %qs"
msgstr ""
-#: fortran/interface.cc:4441
+#: fortran/interface.cc:4462
#, gcc-internal-format, gfc-internal-format
msgid "MOLD argument to NULL required at %L"
msgstr ""
-#: fortran/interface.cc:4449
+#: fortran/interface.cc:4470
#, gcc-internal-format, gfc-internal-format
msgid ""
"Passing intrinsic NULL as actual argument at %L requires an explicit "
"interface"
msgstr ""
-#: fortran/interface.cc:4459
+#: fortran/interface.cc:4480
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank argument requires an explicit interface at %L"
msgstr ""
-#: fortran/interface.cc:4501
+#: fortran/interface.cc:4522
#, gcc-internal-format
msgid "Procedure pointer component %qs called with an implicit interface at %L"
msgstr ""
-#: fortran/interface.cc:4512
+#: fortran/interface.cc:4533
#, gcc-internal-format
msgid ""
"Keyword argument requires explicit interface for procedure pointer component "
"%qs at %L"
msgstr ""
-#: fortran/interface.cc:4597
+#: fortran/interface.cc:4618
#, gcc-internal-format, gfc-internal-format
msgid ""
"MOLD= required in NULL() argument at %L: Ambiguity between specific "
"functions %s and %s"
msgstr ""
-#: fortran/interface.cc:4667
+#: fortran/interface.cc:4688
#, gcc-internal-format
msgid "Unable to find symbol %qs"
msgstr ""
-#: fortran/interface.cc:5051
+#: fortran/interface.cc:5072
#, gcc-internal-format
msgid "Entity %qs at %L is already present in the interface"
msgstr ""
-#: fortran/interface.cc:5168
+#: fortran/interface.cc:5189
#, gcc-internal-format
msgid "gfc_add_interface(): Bad interface type"
msgstr ""
-#: fortran/interface.cc:5262
+#: fortran/interface.cc:5283
#, gcc-internal-format
msgid "Cannot overwrite GENERIC %qs at %L"
msgstr ""
-#: fortran/interface.cc:5274
+#: fortran/interface.cc:5295
#, gcc-internal-format
msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE"
msgstr ""
-#: fortran/interface.cc:5282
+#: fortran/interface.cc:5303
#, gcc-internal-format
msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
msgstr ""
-#: fortran/interface.cc:5290
+#: fortran/interface.cc:5311
#, gcc-internal-format
msgid "%qs at %L overrides a PURE procedure and must also be PURE"
msgstr ""
-#: fortran/interface.cc:5299
+#: fortran/interface.cc:5320
#, gcc-internal-format
msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
msgstr ""
-#: fortran/interface.cc:5305
+#: fortran/interface.cc:5326
#, gcc-internal-format
msgid ""
"%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
"either"
msgstr ""
-#: fortran/interface.cc:5314
+#: fortran/interface.cc:5335
#, gcc-internal-format
msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
msgstr ""
-#: fortran/interface.cc:5325
+#: fortran/interface.cc:5346
#, gcc-internal-format
msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION"
msgstr ""
-#: fortran/interface.cc:5333
+#: fortran/interface.cc:5354
#, gcc-internal-format
msgid "Result mismatch for the overriding procedure %qs at %L: %s"
msgstr ""
-#: fortran/interface.cc:5344
+#: fortran/interface.cc:5365
#, gcc-internal-format
msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE"
msgstr ""
-#: fortran/interface.cc:5374
+#: fortran/interface.cc:5395
#, gcc-internal-format
msgid ""
"Dummy argument %qs of %qs at %L should be named %qs as to match the "
"corresponding argument of the overridden procedure"
msgstr ""
-#: fortran/interface.cc:5385
+#: fortran/interface.cc:5406
#, gcc-internal-format
msgid "Argument mismatch for the overriding procedure %qs at %L: %s"
msgstr ""
-#: fortran/interface.cc:5394
+#: fortran/interface.cc:5415
#, gcc-internal-format
msgid ""
"%qs at %L must have the same number of formal arguments as the overridden "
"procedure"
msgstr ""
-#: fortran/interface.cc:5403
+#: fortran/interface.cc:5424
#, gcc-internal-format
msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS"
msgstr ""
-#: fortran/interface.cc:5414
+#: fortran/interface.cc:5435
#, gcc-internal-format
msgid "%qs at %L overrides a binding with PASS and must also be PASS"
msgstr ""
-#: fortran/interface.cc:5421
+#: fortran/interface.cc:5442
#, gcc-internal-format
msgid ""
"Passed-object dummy argument of %qs at %L must be at the same position as "
"the passed-object dummy argument of the overridden procedure"
msgstr ""
-#: fortran/interface.cc:5442
+#: fortran/interface.cc:5463
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be of type %s"
msgstr ""
-#: fortran/interface.cc:5449
+#: fortran/interface.cc:5470
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be of KIND = %d"
msgstr ""
-#: fortran/interface.cc:5456
+#: fortran/interface.cc:5477
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be a scalar"
msgstr ""
-#: fortran/interface.cc:5460
+#: fortran/interface.cc:5481
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY"
msgstr ""
-#: fortran/interface.cc:5464
+#: fortran/interface.cc:5485
#, gcc-internal-format, gfc-internal-format
msgid "DTIO character argument at %L must have assumed length"
msgstr ""
-#: fortran/interface.cc:5468
+#: fortran/interface.cc:5489
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must have INTENT %s"
msgstr ""
-#: fortran/interface.cc:5526 fortran/interface.cc:5572
+#: fortran/interface.cc:5547 fortran/interface.cc:5593
#, gcc-internal-format, gfc-internal-format
msgid "Alternate return at %L is not permitted in a DTIO procedure"
msgstr ""
-#: fortran/interface.cc:5538
+#: fortran/interface.cc:5559
#, gcc-internal-format
msgid "DTIO procedure %qs at %L must be a subroutine"
msgstr ""
-#: fortran/interface.cc:5550
+#: fortran/interface.cc:5571
#, gcc-internal-format
msgid "Too few dummy arguments in DTIO procedure %qs at %L"
msgstr ""
-#: fortran/interface.cc:5557
+#: fortran/interface.cc:5578
#, gcc-internal-format
msgid "Too many dummy arguments in DTIO procedure %qs at %L"
msgstr ""
@@ -79188,63 +79384,63 @@ msgstr ""
msgid "init_arglist(): too many arguments"
msgstr ""
-#: fortran/intrinsic.cc:5065
+#: fortran/intrinsic.cc:5068
#, gcc-internal-format
msgid "Invalid standard code on intrinsic %qs (%d)"
msgstr ""
-#: fortran/intrinsic.cc:5074
+#: fortran/intrinsic.cc:5077
#, gcc-internal-format
msgid "Intrinsic %qs (%s) used at %L"
msgstr ""
-#: fortran/intrinsic.cc:5146
+#: fortran/intrinsic.cc:5149
#, gcc-internal-format
msgid "Function %qs as initialization expression at %L"
msgstr ""
-#: fortran/intrinsic.cc:5165
+#: fortran/intrinsic.cc:5168
#, gcc-internal-format
msgid ""
"Transformational function %qs at %L is invalid in an initialization "
"expression"
msgstr ""
-#: fortran/intrinsic.cc:5241
+#: fortran/intrinsic.cc:5244
#, gcc-internal-format, gfc-internal-format
msgid ""
"Elemental function as initialization expression with non-integer/non-"
"character arguments at %L"
msgstr ""
-#: fortran/intrinsic.cc:5332
+#: fortran/intrinsic.cc:5335
#, gcc-internal-format
msgid ""
"Subroutine call to intrinsic %qs in DO CONCURRENT block at %L is not PURE"
msgstr ""
-#: fortran/intrinsic.cc:5339
+#: fortran/intrinsic.cc:5342
#, gcc-internal-format
msgid "Subroutine call to intrinsic %qs at %L is not PURE"
msgstr ""
-#: fortran/intrinsic.cc:5442
+#: fortran/intrinsic.cc:5445
#, gcc-internal-format, gfc-internal-format
msgid "Extension: Conversion from %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.cc:5463
+#: fortran/intrinsic.cc:5466
#, gcc-internal-format, gfc-internal-format
msgid "Nonstandard conversion from %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.cc:5481 fortran/intrinsic.cc:5498
+#: fortran/intrinsic.cc:5484 fortran/intrinsic.cc:5501
#, gcc-internal-format, gfc-internal-format
msgid "Possible change of value in conversion from %s to %s at %L"
msgstr ""
#. If HOLLERITH is involved, all bets are off.
-#: fortran/intrinsic.cc:5486 fortran/intrinsic.cc:5506
+#: fortran/intrinsic.cc:5489 fortran/intrinsic.cc:5509
#, gcc-internal-format, gfc-internal-format
msgid "Conversion from %s to %s at %L"
msgstr ""
@@ -79252,24 +79448,24 @@ msgstr ""
#. Use of -fdec-char-conversions allows assignment of character data
#. to non-character variables. This not permitted for nonconstant
#. strings.
-#: fortran/intrinsic.cc:5573 fortran/resolve.cc:12283
+#: fortran/intrinsic.cc:5576 fortran/resolve.cc:12421
#, gcc-internal-format, gfc-internal-format
msgid "Cannot convert %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.cc:5578
+#: fortran/intrinsic.cc:5581
#, gcc-internal-format
msgid "Cannot convert %qs to %qs at %L"
msgstr ""
-#: fortran/intrinsic.cc:5671
+#: fortran/intrinsic.cc:5674
#, gcc-internal-format
msgid ""
"%qs declared at %L may shadow the intrinsic of the same name. In order to "
"call the intrinsic, explicit INTRINSIC declarations may be required."
msgstr ""
-#: fortran/intrinsic.cc:5677
+#: fortran/intrinsic.cc:5680
#, gcc-internal-format
msgid ""
"%qs declared at %L is also the name of an intrinsic. It can only be called "
@@ -79719,7 +79915,7 @@ msgstr ""
msgid "UNIT number in CLOSE statement at %L must be non-negative"
msgstr ""
-#: fortran/io.cc:2846 fortran/match.cc:3471
+#: fortran/io.cc:2846 fortran/match.cc:3626
#, gcc-internal-format, gfc-internal-format
msgid "%s statement not allowed in PURE procedure at %C"
msgstr ""
@@ -79820,7 +80016,7 @@ msgid ""
"defined input/output procedure"
msgstr ""
-#: fortran/io.cc:3422 fortran/resolve.cc:16912
+#: fortran/io.cc:3422 fortran/resolve.cc:17030
#, gcc-internal-format
msgid ""
"NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER "
@@ -79992,7 +80188,14 @@ msgstr ""
msgid "check_charlen_present(): length not set"
msgstr ""
-#: fortran/iresolve.cc:3323
+#: fortran/iresolve.cc:3218
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"GET_TEAM at %L needs USE of the intrinsic module ISO_FORTRAN_ENV to define "
+"its result type TEAM_TYPE"
+msgstr ""
+
+#: fortran/iresolve.cc:3349
#, gcc-internal-format, gfc-internal-format
msgid "TODO: unlimited polymorphic MOLD in TRANSFER intrinsic at %L"
msgstr ""
@@ -80024,7 +80227,7 @@ msgstr ""
msgid "Integer too large at %C"
msgstr ""
-#: fortran/match.cc:553 fortran/parse.cc:1550
+#: fortran/match.cc:553 fortran/parse.cc:1549
#, gcc-internal-format, gfc-internal-format
msgid "Too many digits in statement label at %C"
msgstr ""
@@ -80178,662 +80381,684 @@ msgstr ""
msgid "Label %qs after %L doesn't match IF label %qs"
msgstr ""
-#: fortran/match.cc:1841
+#: fortran/match.cc:1834
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicate %s attribute in %C"
+msgstr ""
+
+#: fortran/match.cc:1899
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement CRITICAL at %C in PURE procedure"
msgstr ""
-#: fortran/match.cc:1847
+#: fortran/match.cc:1905
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement CRITICAL at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:1854
+#: fortran/match.cc:1912
#, gcc-internal-format, gfc-internal-format
msgid "CRITICAL statement at %C"
msgstr ""
-#: fortran/match.cc:1866
+#: fortran/match.cc:1924
#, gcc-internal-format, gfc-internal-format
msgid "Nested CRITICAL block at %C"
msgstr ""
-#: fortran/match.cc:1918
-#, gcc-internal-format, gfc-internal-format
-msgid "Expected association list at %C"
+#: fortran/match.cc:1975
+#, gcc-internal-format
+msgid ""
+"Codimension decl name %qs in association at %L must not be the same as a "
+"selector"
msgstr ""
-#: fortran/match.cc:1930
+#: fortran/match.cc:1996
#, gcc-internal-format, gfc-internal-format
msgid "Expected associate name at %C"
msgstr ""
-#: fortran/match.cc:1940
+#: fortran/match.cc:2006
#, gcc-internal-format, gfc-internal-format
msgid "Bad bounds remapping list at %C"
msgstr ""
-#: fortran/match.cc:1946
+#: fortran/match.cc:2012
#, gcc-internal-format, gfc-internal-format
msgid ""
"The bounds remapping list at %C is an experimental F202y feature. Use "
"std=f202y to enable"
msgstr ""
-#: fortran/match.cc:1952
+#: fortran/match.cc:2043
#, gcc-internal-format, gfc-internal-format
-msgid "Expected association at %C"
+msgid "Invalid association target at %C"
msgstr ""
-#: fortran/match.cc:1963
+#: fortran/match.cc:2057
#, gcc-internal-format, gfc-internal-format
-msgid "Invalid association target at %C"
+msgid "Selector in coarray association as %C shall be a named coarray"
msgstr ""
-#: fortran/match.cc:1974
+#: fortran/match.cc:2067
#, gcc-internal-format
msgid "Duplicate name %qs in association at %C"
msgstr ""
-#: fortran/match.cc:1982
+#: fortran/match.cc:2094
+#, gcc-internal-format, gfc-internal-format
+msgid "Selector at %L duplicates selector at %L"
+msgstr ""
+
+#: fortran/match.cc:2104
#, gcc-internal-format, gfc-internal-format
msgid "Association target at %C must not be coindexed"
msgstr ""
-#: fortran/match.cc:1989
+#: fortran/match.cc:2111
#, gcc-internal-format, gfc-internal-format
msgid "Association target at %L cannot be a BOZ literal constant"
msgstr ""
-#: fortran/match.cc:2009
+#: fortran/match.cc:2131
#, gcc-internal-format, gfc-internal-format
msgid ""
"The associate name %s with an assumed rank target at %L must have a bounds "
"remapping list (list of lbound:ubound for each dimension)"
msgstr ""
-#: fortran/match.cc:2018
+#: fortran/match.cc:2140
#, gcc-internal-format, gfc-internal-format
msgid "The assumed rank target at %C must be contiguous"
msgstr ""
-#: fortran/match.cc:2037
+#: fortran/match.cc:2159
#, gcc-internal-format
msgid "Expected %<)%> or %<,%> at %C"
msgstr ""
-#: fortran/match.cc:2055
+#: fortran/match.cc:2188
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected association list at %C"
+msgstr ""
+
+#: fortran/match.cc:2197
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected association at %C"
+msgstr ""
+
+#: fortran/match.cc:2209
#, gcc-internal-format, gfc-internal-format
msgid "Junk after ASSOCIATE statement at %C"
msgstr ""
-#: fortran/match.cc:2177
+#: fortran/match.cc:2331
#, gcc-internal-format
msgid "Derived type %qs at %L may not be ABSTRACT"
msgstr ""
-#: fortran/match.cc:2256 fortran/match.cc:2328 fortran/match.cc:2351
+#: fortran/match.cc:2410 fortran/match.cc:2482 fortran/match.cc:2505
#, gcc-internal-format, gfc-internal-format
msgid "Invalid type-spec at %C"
msgstr ""
-#: fortran/match.cc:2446
+#: fortran/match.cc:2600
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in FORALL iterator at %C"
msgstr ""
-#: fortran/match.cc:2722
+#: fortran/match.cc:2876
#, gcc-internal-format, gfc-internal-format
msgid "DO CONCURRENT construct at %C"
msgstr ""
-#: fortran/match.cc:2826
+#: fortran/match.cc:2980
#, gcc-internal-format, gfc-internal-format
msgid "DEFAULT (NONE) specified more than once in DO CONCURRENT at %C"
msgstr ""
-#: fortran/match.cc:2915
+#: fortran/match.cc:3069
#, gcc-internal-format, gfc-internal-format
msgid "Expected reduction operator or function name at %C"
msgstr ""
-#: fortran/match.cc:2935 fortran/openmp.cc:2439 fortran/openmp.cc:2475
+#: fortran/match.cc:3089 fortran/openmp.cc:2439 fortran/openmp.cc:2475
#: fortran/openmp.cc:2885 fortran/openmp.cc:2910
#, gcc-internal-format
msgid "Expected %<:%> at %C"
msgstr ""
-#: fortran/match.cc:2945
+#: fortran/match.cc:3099
#, gcc-internal-format, gfc-internal-format
msgid "Expected variable name in reduction list at %C"
msgstr ""
-#: fortran/match.cc:2964
+#: fortran/match.cc:3118
#, gcc-internal-format, gfc-internal-format
msgid "Expected ',' or ')' in reduction list at %C"
msgstr ""
-#: fortran/match.cc:2970
+#: fortran/match.cc:3124
#, gcc-internal-format, gfc-internal-format
msgid "REDUCE locality spec at %L"
msgstr ""
-#: fortran/match.cc:2977
+#: fortran/match.cc:3131
#, gcc-internal-format, gfc-internal-format
msgid "Locality spec at %L"
msgstr ""
-#: fortran/match.cc:3112
+#: fortran/match.cc:3266
#, gcc-internal-format
msgid "Name %qs in %s statement at %C is unknown"
msgstr ""
-#: fortran/match.cc:3120
+#: fortran/match.cc:3274
#, gcc-internal-format
msgid "Name %qs in %s statement at %C is not a construct name"
msgstr ""
-#: fortran/match.cc:3132
+#: fortran/match.cc:3286
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C leaves CRITICAL construct"
msgstr ""
#. F2008, C821 & C845.
-#: fortran/match.cc:3140
+#: fortran/match.cc:3294
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C leaves DO CONCURRENT construct"
msgstr ""
-#: fortran/match.cc:3152
+#: fortran/match.cc:3306
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C is not within a construct"
msgstr ""
-#: fortran/match.cc:3155
+#: fortran/match.cc:3309
#, gcc-internal-format
msgid "%s statement at %C is not within construct %qs"
msgstr ""
-#: fortran/match.cc:3181
+#: fortran/match.cc:3336
#, gcc-internal-format
msgid "CYCLE statement at %C is not applicable to non-loop construct %qs"
msgstr ""
-#: fortran/match.cc:3186
+#: fortran/match.cc:3341
#, gcc-internal-format, gfc-internal-format
msgid "EXIT statement with no do-construct-name at %C"
msgstr ""
-#: fortran/match.cc:3192
+#: fortran/match.cc:3347
#, gcc-internal-format
msgid "%s statement at %C is not applicable to construct %qs"
msgstr ""
-#: fortran/match.cc:3200
+#: fortran/match.cc:3355
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C leaving OpenACC structured block"
msgstr ""
-#: fortran/match.cc:3201
+#: fortran/match.cc:3356
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C leaving OpenMP structured block"
msgstr ""
-#: fortran/match.cc:3241
+#: fortran/match.cc:3396
#, gcc-internal-format, gfc-internal-format
msgid "EXIT statement at %C terminating !$ACC LOOP loop"
msgstr ""
-#: fortran/match.cc:3247
+#: fortran/match.cc:3402
#, gcc-internal-format, gfc-internal-format
msgid "CYCLE statement at %C to non-innermost tiled !$ACC LOOP loop"
msgstr ""
-#: fortran/match.cc:3249
+#: fortran/match.cc:3404
#, gcc-internal-format, gfc-internal-format
msgid "CYCLE statement at %C to non-innermost collapsed !$ACC LOOP loop"
msgstr ""
-#: fortran/match.cc:3296
+#: fortran/match.cc:3451
#, gcc-internal-format, gfc-internal-format
msgid "EXIT statement at %C terminating !$OMP DO loop"
msgstr ""
-#: fortran/match.cc:3301
+#: fortran/match.cc:3456
#, gcc-internal-format, gfc-internal-format
msgid "CYCLE statement at %C to non-innermost collapsed !$OMP DO loop"
msgstr ""
-#: fortran/match.cc:3406
+#: fortran/match.cc:3561
#, gcc-internal-format, gfc-internal-format
msgid "Blank required in %s statement near %C"
msgstr ""
-#: fortran/match.cc:3429
+#: fortran/match.cc:3584
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %C cannot be negative"
msgstr ""
-#: fortran/match.cc:3435
+#: fortran/match.cc:3590
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %C contains too many digits"
msgstr ""
-#: fortran/match.cc:3451
+#: fortran/match.cc:3606
#, gcc-internal-format, gfc-internal-format
msgid "QUIET= specifier for %s at %L"
msgstr ""
-#: fortran/match.cc:3465
+#: fortran/match.cc:3620
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C in PURE procedure"
msgstr ""
-#: fortran/match.cc:3481
+#: fortran/match.cc:3636
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement STOP at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:3486
+#: fortran/match.cc:3641
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement STOP at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:3498
+#: fortran/match.cc:3653
#, gcc-internal-format, gfc-internal-format
msgid ""
"STOP code at %L must be a scalar CHARACTER constant or "
"digit[digit[digit[digit[digit]]]]"
msgstr ""
-#: fortran/match.cc:3510
+#: fortran/match.cc:3665
#, gcc-internal-format, gfc-internal-format
msgid ""
"STOP code at %L must be a scalar default CHARACTER or INTEGER constant "
"expression"
msgstr ""
-#: fortran/match.cc:3517
+#: fortran/match.cc:3672
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %L must be either INTEGER or CHARACTER type"
msgstr ""
-#: fortran/match.cc:3524
+#: fortran/match.cc:3679
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %L must be scalar"
msgstr ""
-#: fortran/match.cc:3531
+#: fortran/match.cc:3686
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %L must be default character KIND=%d"
msgstr ""
-#: fortran/match.cc:3538
+#: fortran/match.cc:3693
#, gcc-internal-format, gfc-internal-format
msgid "STOP code at %L must be default integer KIND=%d"
msgstr ""
-#: fortran/match.cc:3550 fortran/resolve.cc:13424
+#: fortran/match.cc:3705 fortran/resolve.cc:13545
#, gcc-internal-format, gfc-internal-format
msgid "QUIET specifier at %L must be a scalar LOGICAL"
msgstr ""
-#: fortran/match.cc:3600
+#: fortran/match.cc:3755
#, gcc-internal-format, gfc-internal-format
msgid "PAUSE statement at %C"
msgstr ""
-#: fortran/match.cc:3621
+#: fortran/match.cc:3776
#, gcc-internal-format, gfc-internal-format
msgid "ERROR STOP statement at %C"
msgstr ""
-#: fortran/match.cc:3647
+#: fortran/match.cc:3802
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement EVENT %s at %C in PURE procedure"
msgstr ""
-#: fortran/match.cc:3662
+#: fortran/match.cc:3817
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement EVENT %s at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:3669
+#: fortran/match.cc:3824
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement EVENT %s at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:3699 fortran/match.cc:4041 fortran/match.cc:4253
-#: fortran/match.cc:4805 fortran/match.cc:5177
+#: fortran/match.cc:3854 fortran/match.cc:4341 fortran/match.cc:4553
+#: fortran/match.cc:5105 fortran/match.cc:5477
#, gcc-internal-format, gfc-internal-format
msgid "Redundant STAT tag found at %L"
msgstr ""
-#: fortran/match.cc:3720 fortran/match.cc:4062 fortran/match.cc:4273
-#: fortran/match.cc:4837 fortran/match.cc:5202
+#: fortran/match.cc:3875 fortran/match.cc:4362 fortran/match.cc:4573
+#: fortran/match.cc:5137 fortran/match.cc:5502
#, gcc-internal-format, gfc-internal-format
msgid "Redundant ERRMSG tag found at %L"
msgstr ""
-#: fortran/match.cc:3741
+#: fortran/match.cc:3896
#, gcc-internal-format, gfc-internal-format
msgid "Redundant UNTIL_COUNT tag found at %L"
msgstr ""
-#: fortran/match.cc:3807
+#: fortran/match.cc:3962
#, gcc-internal-format, gfc-internal-format
msgid "EVENT POST statement at %C"
msgstr ""
-#: fortran/match.cc:3817
+#: fortran/match.cc:3972
#, gcc-internal-format, gfc-internal-format
msgid "EVENT WAIT statement at %C"
msgstr ""
-#: fortran/match.cc:3829
+#: fortran/match.cc:3984
#, gcc-internal-format, gfc-internal-format
msgid "FAIL IMAGE statement at %C"
msgstr ""
-#: fortran/match.cc:3853
+#: fortran/match.cc:4010
#, gcc-internal-format, gfc-internal-format
msgid "FORM TEAM statement at %C"
msgstr ""
-#: fortran/match.cc:3892
+#: fortran/match.cc:4098
#, gcc-internal-format, gfc-internal-format
msgid "CHANGE TEAM statement at %C"
msgstr ""
-#: fortran/match.cc:3922
-#, gcc-internal-format, gfc-internal-format
-msgid "END TEAM statement at %C"
-msgstr ""
-
-#: fortran/match.cc:3946
+#: fortran/match.cc:4215
#, gcc-internal-format, gfc-internal-format
msgid "SYNC TEAM statement at %C"
msgstr ""
-#: fortran/match.cc:3989
+#: fortran/match.cc:4289
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement %s at %C in PURE procedure"
msgstr ""
-#: fortran/match.cc:4004
+#: fortran/match.cc:4304
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement %s at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:4011
+#: fortran/match.cc:4311
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement %s at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:4083
+#: fortran/match.cc:4383
#, gcc-internal-format, gfc-internal-format
msgid "Redundant ACQUIRED_LOCK tag found at %L"
msgstr ""
-#: fortran/match.cc:4148
+#: fortran/match.cc:4448
#, gcc-internal-format, gfc-internal-format
msgid "LOCK statement at %C"
msgstr ""
-#: fortran/match.cc:4158
+#: fortran/match.cc:4458
#, gcc-internal-format, gfc-internal-format
msgid "UNLOCK statement at %C"
msgstr ""
-#: fortran/match.cc:4183
+#: fortran/match.cc:4483
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement SYNC at %C in PURE procedure"
msgstr ""
-#: fortran/match.cc:4189
+#: fortran/match.cc:4489
#, gcc-internal-format, gfc-internal-format
msgid "SYNC statement at %C"
msgstr ""
-#: fortran/match.cc:4201
+#: fortran/match.cc:4501
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement SYNC at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:4207
+#: fortran/match.cc:4507
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement SYNC at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:4387
+#: fortran/match.cc:4687
#, gcc-internal-format, gfc-internal-format
msgid "ASSIGN statement at %C"
msgstr ""
-#: fortran/match.cc:4431
+#: fortran/match.cc:4731
#, gcc-internal-format, gfc-internal-format
msgid "Assigned GOTO statement at %C"
msgstr ""
-#: fortran/match.cc:4475 fortran/match.cc:4526
+#: fortran/match.cc:4775 fortran/match.cc:4826
#, gcc-internal-format, gfc-internal-format
msgid "Statement label list in GOTO at %C cannot be empty"
msgstr ""
-#: fortran/match.cc:4536
+#: fortran/match.cc:4836
#, gcc-internal-format, gfc-internal-format
msgid "Computed GOTO at %C"
msgstr ""
-#: fortran/match.cc:4611
+#: fortran/match.cc:4911
#, gcc-internal-format, gfc-internal-format
msgid "Error in type-spec at %L"
msgstr ""
-#: fortran/match.cc:4624
+#: fortran/match.cc:4924
#, gcc-internal-format, gfc-internal-format
msgid "typespec in ALLOCATE at %L"
msgstr ""
-#: fortran/match.cc:4647
+#: fortran/match.cc:4947
#, gcc-internal-format, gfc-internal-format
msgid ""
"The type parameter spec list in the type-spec at %L cannot contain DEFERRED "
"parameters"
msgstr ""
-#: fortran/match.cc:4677 fortran/match.cc:5115
+#: fortran/match.cc:4977 fortran/match.cc:5415
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected constant at %C"
msgstr ""
-#: fortran/match.cc:4687
+#: fortran/match.cc:4987
#, gcc-internal-format, gfc-internal-format
msgid "Bad allocate-object at %C for a PURE procedure"
msgstr ""
-#: fortran/match.cc:4702
+#: fortran/match.cc:5002
#, gcc-internal-format, gfc-internal-format
msgid "Incompatible allocate-object at %C for CHARACTER type-spec at %L"
msgstr ""
-#: fortran/match.cc:4724
+#: fortran/match.cc:5024
#, gcc-internal-format, gfc-internal-format
msgid "ALLOCATE of coarray at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:4729
+#: fortran/match.cc:5029
#, gcc-internal-format, gfc-internal-format
msgid "ALLOCATE of coarray at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:4751
+#: fortran/match.cc:5051
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocate-object at %L is neither a data pointer nor an allocatable variable"
msgstr ""
-#: fortran/match.cc:4763
+#: fortran/match.cc:5063
#, gcc-internal-format, gfc-internal-format
msgid "Type of entity at %L is type incompatible with typespec"
msgstr ""
-#: fortran/match.cc:4771
+#: fortran/match.cc:5071
#, gcc-internal-format, gfc-internal-format
msgid ""
"Kind type parameter for entity at %L differs from the kind type parameter of "
"the typespec"
msgstr ""
-#: fortran/match.cc:4788
+#: fortran/match.cc:5088
#, gcc-internal-format, gfc-internal-format
msgid "Shape specification for allocatable scalar at %C"
msgstr ""
-#: fortran/match.cc:4815
+#: fortran/match.cc:5115
#, gcc-internal-format, gfc-internal-format
msgid "STAT tag at %L cannot be a constant"
msgstr ""
-#: fortran/match.cc:4831
+#: fortran/match.cc:5131
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG tag at %L"
msgstr ""
-#: fortran/match.cc:4854
+#: fortran/match.cc:5154
#, gcc-internal-format, gfc-internal-format
msgid "SOURCE tag at %L"
msgstr ""
-#: fortran/match.cc:4860
+#: fortran/match.cc:5160
#, gcc-internal-format, gfc-internal-format
msgid "Redundant SOURCE tag found at %L"
msgstr ""
-#: fortran/match.cc:4867
+#: fortran/match.cc:5167
#, gcc-internal-format, gfc-internal-format
msgid "SOURCE tag at %L conflicts with the typespec at %L"
msgstr ""
-#: fortran/match.cc:4873
+#: fortran/match.cc:5173
#, gcc-internal-format, gfc-internal-format
msgid "SOURCE tag at %L with more than a single allocate object"
msgstr ""
-#: fortran/match.cc:4891
+#: fortran/match.cc:5191
#, gcc-internal-format, gfc-internal-format
msgid "MOLD tag at %L"
msgstr ""
-#: fortran/match.cc:4897
+#: fortran/match.cc:5197
#, gcc-internal-format, gfc-internal-format
msgid "Redundant MOLD tag found at %L"
msgstr ""
-#: fortran/match.cc:4904
+#: fortran/match.cc:5204
#, gcc-internal-format, gfc-internal-format
msgid "MOLD tag at %L conflicts with the typespec at %L"
msgstr ""
-#: fortran/match.cc:4930
+#: fortran/match.cc:5230
#, gcc-internal-format, gfc-internal-format
msgid "MOLD tag at %L conflicts with SOURCE tag at %L"
msgstr ""
-#: fortran/match.cc:4938
+#: fortran/match.cc:5238
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocate-object at %L with a deferred type parameter requires either a type-"
"spec or SOURCE tag or a MOLD tag"
msgstr ""
-#: fortran/match.cc:4950
+#: fortran/match.cc:5250
#, gcc-internal-format, gfc-internal-format
msgid ""
"Unlimited polymorphic allocate-object at %L requires either a type-spec or "
"SOURCE tag or a MOLD tag"
msgstr ""
-#: fortran/match.cc:5017
+#: fortran/match.cc:5317
#, gcc-internal-format, gfc-internal-format
msgid "Pointer object at %C shall not be coindexed"
msgstr ""
-#: fortran/match.cc:5032
+#: fortran/match.cc:5332
#, gcc-internal-format, gfc-internal-format
msgid "NULLIFY does not allow bounds remapping for pointer object at %C"
msgstr ""
-#: fortran/match.cc:5127
+#: fortran/match.cc:5427
#, gcc-internal-format, gfc-internal-format
msgid "Illegal allocate-object at %C for a PURE procedure"
msgstr ""
-#: fortran/match.cc:5137
+#: fortran/match.cc:5437
#, gcc-internal-format, gfc-internal-format
msgid "DEALLOCATE of coarray at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:5144
+#: fortran/match.cc:5444
#, gcc-internal-format, gfc-internal-format
msgid "DEALLOCATE of coarray at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:5160
+#: fortran/match.cc:5460
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocate-object at %C is not a nonprocedure pointer nor an allocatable "
"variable"
msgstr ""
-#: fortran/match.cc:5197
+#: fortran/match.cc:5497
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG at %L"
msgstr ""
-#: fortran/match.cc:5254
+#: fortran/match.cc:5554
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement RETURN at %C in CRITICAL block"
msgstr ""
-#: fortran/match.cc:5260
+#: fortran/match.cc:5560
#, gcc-internal-format, gfc-internal-format
msgid "Image control statement RETURN at %C in DO CONCURRENT block"
msgstr ""
-#: fortran/match.cc:5269
+#: fortran/match.cc:5569
+#, gcc-internal-format, gfc-internal-format
+msgid "Image control statement RETURN at %C in CHANGE TEAM-END TEAM block"
+msgstr ""
+
+#: fortran/match.cc:5578
#, gcc-internal-format, gfc-internal-format
msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
msgstr ""
-#: fortran/match.cc:5300
+#: fortran/match.cc:5609
#, gcc-internal-format, gfc-internal-format
msgid "RETURN statement in main program at %C"
msgstr ""
-#: fortran/match.cc:5328
+#: fortran/match.cc:5637
#, gcc-internal-format, gfc-internal-format
msgid "Expected component reference at %C"
msgstr ""
-#: fortran/match.cc:5337
+#: fortran/match.cc:5646
#, gcc-internal-format, gfc-internal-format
msgid "Junk after CALL at %C"
msgstr ""
-#: fortran/match.cc:5348
+#: fortran/match.cc:5657
#, gcc-internal-format, gfc-internal-format
msgid "Expected type-bound procedure or procedure pointer component at %C"
msgstr ""
-#: fortran/match.cc:5446
+#: fortran/match.cc:5755
#, gcc-internal-format, gfc-internal-format
msgid ""
"A BOZ literal constant at %L cannot appear as an actual argument in a "
"subroutine reference"
msgstr ""
-#: fortran/match.cc:5587
+#: fortran/match.cc:5896
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in common block name at %C"
msgstr ""
@@ -80841,69 +81066,69 @@ msgstr ""
#. If we find an error, just print it and continue,
#. cause it's just semantic, and we can see if there
#. are more errors.
-#: fortran/match.cc:5662
+#: fortran/match.cc:5971
#, gcc-internal-format
msgid ""
"Variable %qs at %L in common block %qs at %C must be declared with a C "
"interoperable kind since common block %qs is bind(c)"
msgstr ""
-#: fortran/match.cc:5671
+#: fortran/match.cc:5980
#, gcc-internal-format
msgid ""
"Variable %qs in common block %qs at %C cannot be bind(c) since it is not "
"global"
msgstr ""
-#: fortran/match.cc:5678
+#: fortran/match.cc:5987
#, gcc-internal-format
msgid "Symbol %qs at %C is already in a COMMON block"
msgstr ""
-#: fortran/match.cc:5686
+#: fortran/match.cc:5995
#, gcc-internal-format
msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA"
msgstr ""
-#: fortran/match.cc:5697
+#: fortran/match.cc:6006
#, gcc-internal-format
msgid ""
"Symbol %qs at %C is USE associated from module %qs and cannot occur in COMMON"
msgstr ""
-#: fortran/match.cc:5712
+#: fortran/match.cc:6021
#, gcc-internal-format
msgid "Array specification for symbol %qs in COMMON at %C must be explicit"
msgstr ""
-#: fortran/match.cc:5719
+#: fortran/match.cc:6028
#, gcc-internal-format
msgid "Symbol %qs in COMMON at %C cannot be a coarray"
msgstr ""
-#: fortran/match.cc:5729
+#: fortran/match.cc:6038
#, gcc-internal-format
msgid "Symbol %qs in COMMON at %C cannot be a POINTER array"
msgstr ""
-#: fortran/match.cc:5775
+#: fortran/match.cc:6084
#, gcc-internal-format
msgid ""
"Symbol %qs, in COMMON block %qs at %C is being indirectly equivalenced to "
"another COMMON block %qs"
msgstr ""
-#: fortran/match.cc:5837
+#: fortran/match.cc:6146
#, gcc-internal-format, gfc-internal-format
msgid "BLOCK DATA construct at %L"
msgstr ""
-#: fortran/match.cc:5950
+#: fortran/match.cc:6259
#, gcc-internal-format
msgid "Namelist group name %qs at %C already has a basic type of %s"
msgstr ""
-#: fortran/match.cc:5960
+#: fortran/match.cc:6269
#, gcc-internal-format
msgid ""
"Namelist group name %qs at %C already is USE associated and cannot be "
@@ -80913,197 +81138,197 @@ msgstr ""
#. It is required that members of a namelist be declared
#. before the namelist. We check this by checking if the
#. symbol has a defined type for IMPLICIT NONE.
-#: fortran/match.cc:5985
+#: fortran/match.cc:6294
#, gcc-internal-format
msgid ""
"Symbol %qs in namelist %qs at %C must be declared before the namelist is "
"declared."
msgstr ""
-#: fortran/match.cc:6005
+#: fortran/match.cc:6314
#, gcc-internal-format
msgid "Derived type %qs at %L conflicts with namelist object %qs at %C"
msgstr ""
-#: fortran/match.cc:6025
+#: fortran/match.cc:6334
#, gcc-internal-format
msgid "Assumed size array %qs in namelist %qs at %C is not allowed"
msgstr ""
-#: fortran/match.cc:6168
+#: fortran/match.cc:6477
#, gcc-internal-format, gfc-internal-format
msgid "Derived type component %C is not a permitted EQUIVALENCE member"
msgstr ""
-#: fortran/match.cc:6176
+#: fortran/match.cc:6485
#, gcc-internal-format, gfc-internal-format
msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
msgstr ""
-#: fortran/match.cc:6209
+#: fortran/match.cc:6518
#, gcc-internal-format, gfc-internal-format
msgid "EQUIVALENCE at %C requires two or more objects"
msgstr ""
-#: fortran/match.cc:6223
+#: fortran/match.cc:6532
#, gcc-internal-format, gfc-internal-format
msgid ""
"Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
msgstr ""
-#: fortran/match.cc:6236
+#: fortran/match.cc:6545
#, gcc-internal-format, gfc-internal-format
msgid "Expecting a comma in EQUIVALENCE at %C"
msgstr ""
-#: fortran/match.cc:6241
+#: fortran/match.cc:6550
#, gcc-internal-format, gfc-internal-format
msgid "EQUIVALENCE statement at %C"
msgstr ""
-#: fortran/match.cc:6334
+#: fortran/match.cc:6643
#, gcc-internal-format, gfc-internal-format
msgid "Invalid use of statement function argument at %L"
msgstr ""
-#: fortran/match.cc:6401
+#: fortran/match.cc:6710
#, gcc-internal-format, gfc-internal-format
msgid "Statement function at %L is recursive"
msgstr ""
-#: fortran/match.cc:6407
+#: fortran/match.cc:6716
#, gcc-internal-format
msgid "Statement function %qs at %L conflicts with function name"
msgstr ""
-#: fortran/match.cc:6421
+#: fortran/match.cc:6730
#, gcc-internal-format, gfc-internal-format
msgid "Statement function at %L cannot appear within an INTERFACE"
msgstr ""
-#: fortran/match.cc:6426
+#: fortran/match.cc:6735
#, gcc-internal-format, gfc-internal-format
msgid "Statement function at %C"
msgstr ""
-#: fortran/match.cc:6553 fortran/match.cc:6571 fortran/match.cc:6592
+#: fortran/match.cc:6862 fortran/match.cc:6880 fortran/match.cc:6901
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE selector at %L cannot be %s"
msgstr ""
-#: fortran/match.cc:6602 fortran/match.cc:6608
+#: fortran/match.cc:6911 fortran/match.cc:6917
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE selector at %L must be scalar"
msgstr ""
-#: fortran/match.cc:6617
+#: fortran/match.cc:6926
#, gcc-internal-format, gfc-internal-format
msgid "Expected initialization expression in CASE at %C"
msgstr ""
-#: fortran/match.cc:6649
+#: fortran/match.cc:6958
#, gcc-internal-format
msgid "Expected block name %qs of SELECT construct at %C"
msgstr ""
-#: fortran/match.cc:7029
+#: fortran/match.cc:7338
#, gcc-internal-format, gfc-internal-format
msgid "SELECT TYPE at %C cannot appear in this scope"
msgstr ""
-#: fortran/match.cc:7057
+#: fortran/match.cc:7366
#, gcc-internal-format, gfc-internal-format
msgid "parse error in SELECT TYPE statement at %C"
msgstr ""
-#: fortran/match.cc:7082
+#: fortran/match.cc:7391
#, gcc-internal-format, gfc-internal-format
msgid ""
"Selector in SELECT TYPE at %C is not a named variable; use associate-name=>"
msgstr ""
-#: fortran/match.cc:7270
+#: fortran/match.cc:7579
#, gcc-internal-format, gfc-internal-format
msgid "SELECT RANK statement at %C"
msgstr ""
-#: fortran/match.cc:7311 fortran/match.cc:7365
+#: fortran/match.cc:7620 fortran/match.cc:7674
#, gcc-internal-format, gfc-internal-format
msgid "The SELECT RANK selector at %C must be an assumed rank variable"
msgstr ""
-#: fortran/match.cc:7375
+#: fortran/match.cc:7684
#, gcc-internal-format, gfc-internal-format
msgid "parse error in SELECT RANK statement at %C"
msgstr ""
-#: fortran/match.cc:7411
+#: fortran/match.cc:7720
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected CASE statement at %C"
msgstr ""
-#: fortran/match.cc:7463
+#: fortran/match.cc:7772
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in CASE specification at %C"
msgstr ""
-#: fortran/match.cc:7481
+#: fortran/match.cc:7790
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected TYPE IS statement at %C"
msgstr ""
-#: fortran/match.cc:7513
+#: fortran/match.cc:7822
#, gcc-internal-format, gfc-internal-format
msgid ""
"The type-spec shall not specify a sequence derived type or a type with the "
"BIND attribute in SELECT TYPE at %C [F2003:C815]"
msgstr ""
-#: fortran/match.cc:7524
+#: fortran/match.cc:7833
#, gcc-internal-format, gfc-internal-format
msgid ""
"All the LEN type parameters in the TYPE IS statement at %C must be ASSUMED"
msgstr ""
-#: fortran/match.cc:7535
+#: fortran/match.cc:7844
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in TYPE IS specification at %C"
msgstr ""
-#: fortran/match.cc:7611
+#: fortran/match.cc:7920
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in CLASS IS specification at %C"
msgstr ""
-#: fortran/match.cc:7631
+#: fortran/match.cc:7940
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected RANK statement at %C"
msgstr ""
-#: fortran/match.cc:7677
+#: fortran/match.cc:7986
#, gcc-internal-format, gfc-internal-format
msgid ""
"The SELECT RANK CASE expression at %C must be a scalar, integer constant"
msgstr ""
-#: fortran/match.cc:7686
+#: fortran/match.cc:7995
#, gcc-internal-format, gfc-internal-format
msgid ""
"The value of the SELECT RANK CASE expression at %C must not be less than "
"zero or greater than %d"
msgstr ""
-#: fortran/match.cc:7713
+#: fortran/match.cc:8022
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in RANK specification at %C"
msgstr ""
-#: fortran/match.cc:7835
+#: fortran/match.cc:8144
#, gcc-internal-format, gfc-internal-format
msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
msgstr ""
-#: fortran/match.cc:7873
+#: fortran/match.cc:8182
#, gcc-internal-format
msgid "Label %qs at %C doesn't match WHERE label %qs"
msgstr ""
@@ -82087,7 +82312,7 @@ msgid ""
"DEPEND clause at %L of OMP DEPOBJ construct shall have only a single locator"
msgstr ""
-#: fortran/openmp.cc:5536 fortran/openmp.cc:10390
+#: fortran/openmp.cc:5536 fortran/openmp.cc:10386
#, gcc-internal-format, gfc-internal-format
msgid ""
"MESSAGE clause at %L requires a scalar default-kind CHARACTER expression"
@@ -82124,12 +82349,12 @@ msgstr ""
msgid "Unexpected junk after $OMP FLUSH statement at %C"
msgstr ""
-#: fortran/openmp.cc:6013 fortran/openmp.cc:13208
+#: fortran/openmp.cc:6013 fortran/openmp.cc:13204
#, gcc-internal-format, gfc-internal-format
msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L"
msgstr ""
-#: fortran/openmp.cc:6017 fortran/openmp.cc:13212
+#: fortran/openmp.cc:6017 fortran/openmp.cc:13208
#, gcc-internal-format, gfc-internal-format
msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L"
msgstr ""
@@ -82634,7 +82859,7 @@ msgstr ""
msgid "%s clause at %L requires a scalar INTEGER expression"
msgstr ""
-#: fortran/openmp.cc:8219 fortran/openmp.cc:10425
+#: fortran/openmp.cc:8219 fortran/openmp.cc:10421
#, gcc-internal-format, gfc-internal-format
msgid "INTEGER expression of %s clause at %L must be positive"
msgstr ""
@@ -82654,7 +82879,7 @@ msgstr ""
msgid "Cray pointee object %qs of derived type in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8251 fortran/openmp.cc:10248
+#: fortran/openmp.cc:8251 fortran/openmp.cc:10244
#, gcc-internal-format
msgid "POINTER object %qs of polymorphic type in %s clause at %L"
msgstr ""
@@ -82669,7 +82894,7 @@ msgstr ""
msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8271 fortran/openmp.cc:9682 fortran/openmp.cc:9983
+#: fortran/openmp.cc:8271 fortran/openmp.cc:9682 fortran/openmp.cc:9967
#, gcc-internal-format
msgid "Assumed size array %qs in %s clause at %L"
msgstr ""
@@ -82679,22 +82904,22 @@ msgstr ""
msgid "Assumed rank array %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8290 fortran/openmp.cc:9970
+#: fortran/openmp.cc:8290 fortran/openmp.cc:9954
#, gcc-internal-format
msgid "POINTER object %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8295 fortran/openmp.cc:10252
+#: fortran/openmp.cc:8295 fortran/openmp.cc:10248
#, gcc-internal-format
msgid "Cray pointer object %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8300 fortran/openmp.cc:10255
+#: fortran/openmp.cc:8300 fortran/openmp.cc:10251
#, gcc-internal-format
msgid "Cray pointee object %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:8305 fortran/openmp.cc:10243
+#: fortran/openmp.cc:8305 fortran/openmp.cc:10239
#, gcc-internal-format
msgid "ALLOCATABLE object %qs in %s clause at %L"
msgstr ""
@@ -82828,8 +83053,8 @@ msgstr ""
msgid "ORDER clause must not be used together with ORDERED at %L"
msgstr ""
-#: fortran/openmp.cc:8630 fortran/openmp.cc:8641 fortran/resolve.cc:12061
-#: fortran/resolve.cc:13670
+#: fortran/openmp.cc:8630 fortran/openmp.cc:8641 fortran/resolve.cc:12199
+#: fortran/resolve.cc:13788
#, gcc-internal-format, gfc-internal-format
msgid "IF clause at %L requires a scalar LOGICAL expression"
msgstr ""
@@ -82913,7 +83138,7 @@ msgid ""
"mapped"
msgstr ""
-#: fortran/openmp.cc:8908 fortran/openmp.cc:12763
+#: fortran/openmp.cc:8908 fortran/openmp.cc:12759
#, gcc-internal-format
msgid "Object %qs is not a variable at %L"
msgstr ""
@@ -82940,7 +83165,7 @@ msgstr ""
#: fortran/openmp.cc:8958 fortran/openmp.cc:8970 fortran/openmp.cc:8991
#: fortran/openmp.cc:9003 fortran/openmp.cc:9065 fortran/openmp.cc:9073
#: fortran/openmp.cc:9094 fortran/openmp.cc:9105 fortran/openmp.cc:9117
-#: fortran/openmp.cc:9352 fortran/openmp.cc:12787
+#: fortran/openmp.cc:9352 fortran/openmp.cc:12783
#, gcc-internal-format
msgid "Symbol %qs present on multiple clauses at %L"
msgstr ""
@@ -82985,7 +83210,7 @@ msgstr ""
msgid "%qs appears more than once in %<allocate%> at %L"
msgstr ""
-#: fortran/openmp.cc:9216 fortran/trans-openmp.cc:7432
+#: fortran/openmp.cc:9216 fortran/trans-openmp.cc:8309
#, gcc-internal-format
msgid ""
"%qs specified in %<allocate%> clause at %L but not in an explicit "
@@ -83189,669 +83414,666 @@ msgstr ""
msgid "%qs in %s clause at %L is a zero size array section"
msgstr ""
-#: fortran/openmp.cc:9688
-#, gcc-internal-format
-msgid ""
-"List item %qs with allocatable components is not permitted in map clause at "
-"%L"
-msgstr ""
-
-#: fortran/openmp.cc:9698
-#, gcc-internal-format, gfc-internal-format
-msgid "Mapping polymorphic list item at %L is unspecified behavior"
-msgstr ""
-
-#: fortran/openmp.cc:9734
+#: fortran/openmp.cc:9718
#, 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:9765
+#: fortran/openmp.cc:9749
#, 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:9794
+#: fortran/openmp.cc:9778
#, 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:9810 fortran/openmp.cc:9954
+#: fortran/openmp.cc:9794 fortran/openmp.cc:9938
#, gcc-internal-format
msgid "THREADPRIVATE object %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:9813 fortran/openmp.cc:9957
+#: fortran/openmp.cc:9797 fortran/openmp.cc:9941
#, 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:9827
+#: fortran/openmp.cc:9811
#, gcc-internal-format
msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)"
msgstr ""
-#: fortran/openmp.cc:9886
+#: fortran/openmp.cc:9870
#, gcc-internal-format
msgid "Memspace %qs at %L in USES_ALLOCATORS must be a predefined memory space"
msgstr ""
-#: fortran/openmp.cc:9894
+#: fortran/openmp.cc:9878
#, gcc-internal-format
msgid ""
"Allocator %qs at %L in USES_ALLOCATORS must be a scalar integer of kind "
"%<omp_allocator_handle_kind%>"
msgstr ""
-#: fortran/openmp.cc:9902
+#: fortran/openmp.cc:9886
#, gcc-internal-format
msgid ""
"Allocator %qs at %L in USES_ALLOCATORS must either a variable or a "
"predefined allocator"
msgstr ""
-#: fortran/openmp.cc:9907
+#: fortran/openmp.cc:9891
#, gcc-internal-format
msgid ""
"A memory space or traits array may not be specified for predefined allocator "
"%qs at %L"
msgstr ""
-#: fortran/openmp.cc:9918
+#: fortran/openmp.cc:9902
#, gcc-internal-format
msgid ""
"Traits array %qs in USES_ALLOCATORS %L must be a one-dimensional named "
"constant array of type %<omp_alloctrait%>"
msgstr ""
-#: fortran/openmp.cc:9948
+#: fortran/openmp.cc:9932
#, gcc-internal-format
msgid ""
"%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct at "
"%L"
msgstr ""
-#: fortran/openmp.cc:9960
+#: fortran/openmp.cc:9944
#, gcc-internal-format
msgid "Associate name %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:9967
+#: fortran/openmp.cc:9951
#, gcc-internal-format
msgid "Procedure pointer %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:9973
+#: fortran/openmp.cc:9957
#, gcc-internal-format
msgid "Cray pointer %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:9986
+#: fortran/openmp.cc:9970
#, gcc-internal-format
msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
msgstr ""
#. case OMP_LIST_REDUCTION:
-#: fortran/openmp.cc:9996
+#: fortran/openmp.cc:9980
#, gcc-internal-format
msgid "INTENT(IN) POINTER %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:10007
+#: fortran/openmp.cc:9991
#, gcc-internal-format
msgid "DETACH event handle %qs in %s clause at %L"
msgstr ""
-#: fortran/openmp.cc:10029
-#, gcc-internal-format, gfc-internal-format
-msgid "FIRSTPRIVATE with polymorphic list item at %L is unspecified behavior"
+#: fortran/openmp.cc:10016
+#, gcc-internal-format
+msgid ""
+"Sorry, list item %qs at %L with allocatable components is not yet supported "
+"in %s clause"
msgstr ""
-#: fortran/openmp.cc:10058
+#: fortran/openmp.cc:10022
+#, gcc-internal-format
+msgid ""
+"Polymorphic list item %qs at %L in %s clause has unspecified behavior and "
+"unsupported"
+msgstr ""
+
+#: fortran/openmp.cc:10054
#, gcc-internal-format, gfc-internal-format
msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L"
msgstr ""
-#: fortran/openmp.cc:10151
+#: fortran/openmp.cc:10147
#, gcc-internal-format, gfc-internal-format
msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L"
msgstr ""
-#: fortran/openmp.cc:10179
+#: fortran/openmp.cc:10175
#, gcc-internal-format, gfc-internal-format
msgid "LINEAR clause modifier used on DO or SIMD construct at %L"
msgstr ""
-#: fortran/openmp.cc:10185
+#: fortran/openmp.cc:10181
#, 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:10193
+#: fortran/openmp.cc:10189
#, gcc-internal-format
msgid "LINEAR variable %qs must be INTEGER at %L"
msgstr ""
-#: fortran/openmp.cc:10198
+#: fortran/openmp.cc:10194
#, gcc-internal-format
msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L"
msgstr ""
-#: fortran/openmp.cc:10209
+#: fortran/openmp.cc:10205
#, gcc-internal-format
msgid ""
"%qs in LINEAR clause at %L requires a scalar integer linear-step expression"
msgstr ""
-#: fortran/openmp.cc:10226
+#: fortran/openmp.cc:10222
#, 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:10260
+#: fortran/openmp.cc:10256
#, gcc-internal-format
msgid "%s clause variable %qs at %L is neither a POINTER nor an array"
msgstr ""
-#: fortran/openmp.cc:10320
+#: fortran/openmp.cc:10316
#, gcc-internal-format, gfc-internal-format
msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L"
msgstr ""
-#: fortran/openmp.cc:10333
+#: fortran/openmp.cc:10329
#, gcc-internal-format, gfc-internal-format
msgid "Value of HINT clause at %L shall be a valid constant hint expression"
msgstr ""
-#: fortran/openmp.cc:10343
+#: fortran/openmp.cc:10339
#, gcc-internal-format, gfc-internal-format
msgid ""
"DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
msgstr ""
-#: fortran/openmp.cc:10353
+#: fortran/openmp.cc:10349
#, gcc-internal-format
msgid ""
"%<GRAINSIZE%> clause at %L must not be used together with %<NUM_TASKS%> "
"clause"
msgstr ""
-#: fortran/openmp.cc:10356
+#: fortran/openmp.cc:10352
#, gcc-internal-format
msgid ""
"%<REDUCTION%> clause at %L must not be used together with %<NOGROUP%> clause"
msgstr ""
-#: fortran/openmp.cc:10360
+#: fortran/openmp.cc:10356
#, gcc-internal-format
msgid "%<FULL%> clause at %C must not be used together with %<PARTIAL%> clause"
msgstr ""
-#: fortran/openmp.cc:10383
+#: fortran/openmp.cc:10379
#, gcc-internal-format, gfc-internal-format
msgid "Incompatible use of TILE and COLLAPSE at %L"
msgstr ""
-#: fortran/openmp.cc:10407
+#: fortran/openmp.cc:10403
#, 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:10410
+#: fortran/openmp.cc:10406
#, gcc-internal-format, gfc-internal-format
msgid "%s must contain at least one MAP clause at %L"
msgstr ""
-#: fortran/openmp.cc:10420
+#: fortran/openmp.cc:10416
#, gcc-internal-format, gfc-internal-format
msgid "SIZES requires constant expression at %L"
msgstr ""
-#: fortran/openmp.cc:10436
+#: fortran/openmp.cc:10432
#, gcc-internal-format
msgid ""
"%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)"
msgstr ""
-#: fortran/openmp.cc:10441
+#: fortran/openmp.cc:10437
#, gcc-internal-format, gfc-internal-format
msgid "The event handle at %L must not be an array element"
msgstr ""
-#: fortran/openmp.cc:10445
+#: fortran/openmp.cc:10441
#, 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:10449
+#: fortran/openmp.cc:10445
#, gcc-internal-format
msgid ""
"%<DETACH%> clause at %L must not be used together with %<MERGEABLE%> clause"
msgstr ""
-#: fortran/openmp.cc:10456
+#: fortran/openmp.cc:10452
#, gcc-internal-format
msgid "%<host_data%> construct at %L requires %<use_device%> clause"
msgstr ""
-#: fortran/openmp.cc:10610
+#: fortran/openmp.cc:10606
#, gcc-internal-format, gfc-internal-format
msgid "Expected IF at %L in atomic compare capture"
msgstr ""
-#: fortran/openmp.cc:10618
+#: fortran/openmp.cc:10614
#, gcc-internal-format, gfc-internal-format
msgid "Expected ELSE at %L in atomic compare capture"
msgstr ""
-#: fortran/openmp.cc:10730
+#: fortran/openmp.cc:10726
#, gcc-internal-format
msgid ""
"Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L"
msgstr ""
-#: fortran/openmp.cc:10736
+#: fortran/openmp.cc:10732
#, gcc-internal-format, gfc-internal-format
msgid "Expected scalar intrinsic variable at %L in atomic comparison"
msgstr ""
-#: fortran/openmp.cc:10744
+#: fortran/openmp.cc:10740
#, gcc-internal-format, gfc-internal-format
msgid "Expected scalar intrinsic expression at %L in atomic comparison"
msgstr ""
-#: fortran/openmp.cc:10752
+#: fortran/openmp.cc:10748
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
msgstr ""
-#: fortran/openmp.cc:10761
+#: fortran/openmp.cc:10757
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP ATOMIC statement must assign an expression of intrinsic type at %L"
msgstr ""
-#: fortran/openmp.cc:10768
+#: fortran/openmp.cc:10764
#, gcc-internal-format, gfc-internal-format
msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L"
msgstr ""
-#: fortran/openmp.cc:10785
+#: fortran/openmp.cc:10781
#, 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:10790
+#: fortran/openmp.cc:10786
#, 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:10802
+#: fortran/openmp.cc:10798
#, 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:10810
+#: fortran/openmp.cc:10806
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type "
"at %L"
msgstr ""
-#: fortran/openmp.cc:10820
+#: fortran/openmp.cc:10816
#, 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:10836
+#: fortran/openmp.cc:10832
#, 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:10844
+#: fortran/openmp.cc:10840
#, 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:10862
+#: fortran/openmp.cc:10858
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP ATOMIC UPDATE at %L with FAIL clause requires either the COMPARE "
"clause or using the intrinsic MIN/MAX procedure"
msgstr ""
-#: fortran/openmp.cc:10889
+#: fortran/openmp.cc:10885
#, 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:10937
+#: fortran/openmp.cc:10933
#, 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:10951
+#: fortran/openmp.cc:10947
#, 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:10984
+#: fortran/openmp.cc:10980
#, 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:11008
+#: fortran/openmp.cc:11004
#, 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:11015
+#: fortran/openmp.cc:11011
#, 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:11038
+#: fortran/openmp.cc:11034
#, gcc-internal-format
msgid ""
"!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L"
msgstr ""
-#: fortran/openmp.cc:11045
+#: fortran/openmp.cc:11041
#, gcc-internal-format, gfc-internal-format
msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
msgstr ""
-#: fortran/openmp.cc:11053
+#: fortran/openmp.cc:11049
#, gcc-internal-format
msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L"
msgstr ""
-#: fortran/openmp.cc:11071
+#: fortran/openmp.cc:11067
#, 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:11076
+#: fortran/openmp.cc:11072
#, gcc-internal-format, gfc-internal-format
msgid "unexpected !$OMP ATOMIC expression at %L"
msgstr ""
-#: fortran/openmp.cc:11184
+#: fortran/openmp.cc:11180
#, 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:11191
+#: fortran/openmp.cc:11187
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP SCAN at %L with zero executable statements in preceding structured "
"block sequence"
msgstr ""
-#: fortran/openmp.cc:11198
+#: fortran/openmp.cc:11194
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP SCAN at %L with zero executable statements in succeeding structured "
"block sequence"
msgstr ""
-#: fortran/openmp.cc:11414
+#: fortran/openmp.cc:11410
#, gcc-internal-format, gfc-internal-format
msgid "%s cannot contain loop in intervening code at %L"
msgstr ""
-#: fortran/openmp.cc:11495
+#: fortran/openmp.cc:11491
#, gcc-internal-format, gfc-internal-format
msgid "%s cannot contain OpenMP directive in intervening code at %L"
msgstr ""
-#: fortran/openmp.cc:11507 fortran/openmp.cc:11533
+#: fortran/openmp.cc:11503 fortran/openmp.cc:11529
#, gcc-internal-format, gfc-internal-format
msgid "%s cannot contain OpenMP API call in intervening code at %L"
msgstr ""
-#: fortran/openmp.cc:12056
+#: fortran/openmp.cc:12052
#, gcc-internal-format, gfc-internal-format
msgid "SIZES clause is required on !$OMP TILE construct at %L"
msgstr ""
-#: fortran/openmp.cc:12083
+#: fortran/openmp.cc:12079
#, gcc-internal-format, gfc-internal-format
msgid "%s cannot be a DO WHILE or DO without loop control at %L"
msgstr ""
-#: fortran/openmp.cc:12089
+#: fortran/openmp.cc:12085
#, gcc-internal-format, gfc-internal-format
msgid "%s cannot be a DO CONCURRENT loop at %L"
msgstr ""
-#: fortran/openmp.cc:12099
+#: fortran/openmp.cc:12095
#, gcc-internal-format, gfc-internal-format
msgid ""
"Generated loop of UNROLL construct at %L without PARTIAL clause does not "
"have canonical form"
msgstr ""
-#: fortran/openmp.cc:12106
+#: fortran/openmp.cc:12102
#, gcc-internal-format, gfc-internal-format
msgid ""
"UNROLL construct at %L with PARTIAL clause generates just one loop with "
"canonical form but %d loops are needed"
msgstr ""
-#: fortran/openmp.cc:12121
+#: fortran/openmp.cc:12117
#, gcc-internal-format, gfc-internal-format
msgid ""
"TILE construct at %L generates %d loops with canonical form but %d loops are "
"needed"
msgstr ""
-#: fortran/openmp.cc:12132
+#: fortran/openmp.cc:12128
#, gcc-internal-format
msgid "Imperfectly nested loop using generated loops"
msgstr ""
-#: fortran/openmp.cc:12144
+#: fortran/openmp.cc:12140
#, gcc-internal-format, gfc-internal-format
msgid "%s iteration variable must be of type integer at %L"
msgstr ""
-#: fortran/openmp.cc:12151
+#: fortran/openmp.cc:12147
#, gcc-internal-format, gfc-internal-format
msgid "%s iteration variable must not be THREADPRIVATE at %L"
msgstr ""
-#: fortran/openmp.cc:12166
+#: fortran/openmp.cc:12162
#, 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:12170
+#: fortran/openmp.cc:12166
#, 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:12177
+#: fortran/openmp.cc:12173
#, gcc-internal-format, gfc-internal-format
msgid "%s iteration variable used in more than one loop at %L"
msgstr ""
-#: fortran/openmp.cc:12183
+#: fortran/openmp.cc:12179
#, gcc-internal-format, gfc-internal-format
msgid "%s iteration variable at %L is bound in intervening code"
msgstr ""
-#: fortran/openmp.cc:12192
+#: fortran/openmp.cc:12188
#, gcc-internal-format, gfc-internal-format
msgid "%s loop start expression not in canonical form at %L"
msgstr ""
-#: fortran/openmp.cc:12199
+#: fortran/openmp.cc:12195
#, gcc-internal-format, gfc-internal-format
msgid "%s loop start expression at %L uses variable bound in intervening code"
msgstr ""
-#: fortran/openmp.cc:12208
+#: fortran/openmp.cc:12204
#, gcc-internal-format, gfc-internal-format
msgid "%s loop end expression not in canonical form at %L"
msgstr ""
-#: fortran/openmp.cc:12215
+#: fortran/openmp.cc:12211
#, gcc-internal-format, gfc-internal-format
msgid "%s loop end expression at %L uses variable bound in intervening code"
msgstr ""
-#: fortran/openmp.cc:12222
+#: fortran/openmp.cc:12218
#, gcc-internal-format, gfc-internal-format
msgid "%s loop bounds reference different iteration variables at %L"
msgstr ""
-#: fortran/openmp.cc:12228
+#: fortran/openmp.cc:12224
#, gcc-internal-format, gfc-internal-format
msgid "%s loop increment not in canonical form at %L"
msgstr ""
-#: fortran/openmp.cc:12235
+#: fortran/openmp.cc:12231
#, gcc-internal-format, gfc-internal-format
msgid ""
"%s loop increment expression at %L uses variable bound in intervening code"
msgstr ""
-#: fortran/openmp.cc:12246
+#: fortran/openmp.cc:12242
#, gcc-internal-format
msgid "Non-rectangular loops from generated loops unsupported"
msgstr ""
#. Parse error, can't recover from this.
-#: fortran/openmp.cc:12262
+#: fortran/openmp.cc:12258
#, gcc-internal-format, gfc-internal-format
msgid "not enough DO loops for collapsed %s (level %d) at %L"
msgstr ""
-#: fortran/openmp.cc:12274
+#: fortran/openmp.cc:12270
#, gcc-internal-format, gfc-internal-format
msgid "%s inner loops must be perfectly nested with ORDERED clause at %L"
msgstr ""
-#: fortran/openmp.cc:12281
+#: fortran/openmp.cc:12277
#, gcc-internal-format, gfc-internal-format
msgid ""
"%s inner loops must be perfectly nested with REDUCTION INSCAN clause at %L"
msgstr ""
-#: fortran/openmp.cc:12288
+#: fortran/openmp.cc:12284
#, gcc-internal-format, gfc-internal-format
msgid "%s inner loops must be perfectly nested at %L"
msgstr ""
-#: fortran/openmp.cc:12542 fortran/openmp.cc:12555
+#: fortran/openmp.cc:12538 fortran/openmp.cc:12551
#, gcc-internal-format, gfc-internal-format
msgid "The %s directive cannot be specified within a %s region at %L"
msgstr ""
-#: fortran/openmp.cc:12574
+#: fortran/openmp.cc:12570
#, 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:12580
+#: fortran/openmp.cc:12576
#, gcc-internal-format, gfc-internal-format
msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L"
msgstr ""
-#: fortran/openmp.cc:12586
+#: fortran/openmp.cc:12582
#, gcc-internal-format, gfc-internal-format
msgid "!$ACC LOOP iteration variable must be of type integer at %L"
msgstr ""
-#: fortran/openmp.cc:12602
+#: fortran/openmp.cc:12598
#, gcc-internal-format, gfc-internal-format
msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L"
msgstr ""
-#: fortran/openmp.cc:12614
+#: fortran/openmp.cc:12610
#, gcc-internal-format, gfc-internal-format
msgid "%s !$ACC LOOP loops not perfectly nested at %L"
msgstr ""
-#: fortran/openmp.cc:12624 fortran/openmp.cc:12633
+#: fortran/openmp.cc:12620 fortran/openmp.cc:12629
#, gcc-internal-format, gfc-internal-format
msgid "not enough DO loops for %s !$ACC LOOP at %L"
msgstr ""
-#: fortran/openmp.cc:12649
+#: fortran/openmp.cc:12645
#, 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:12670
+#: fortran/openmp.cc:12666
#, gcc-internal-format, gfc-internal-format
msgid "TILE requires constant expression at %L"
msgstr ""
-#: fortran/openmp.cc:12770
+#: fortran/openmp.cc:12766
#, gcc-internal-format
msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
msgstr ""
-#: fortran/openmp.cc:12817
+#: fortran/openmp.cc:12813
#, gcc-internal-format
msgid ""
"NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE "
"( NAME ) at %L"
msgstr ""
-#: fortran/openmp.cc:12823
+#: fortran/openmp.cc:12819
#, gcc-internal-format
msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L"
msgstr ""
-#: fortran/openmp.cc:12910
+#: fortran/openmp.cc:12906
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP TARGET region at %L with a nested TEAMS at %L may not contain any "
@@ -83859,113 +84081,113 @@ msgid ""
"construct"
msgstr ""
-#: fortran/openmp.cc:12914
+#: fortran/openmp.cc:12910
#, gcc-internal-format, gfc-internal-format
msgid ""
"!$OMP TARGET region at %L with a nested TEAMS may not contain any other "
"statement, declaration or directive outside of the single TEAMS construct"
msgstr ""
-#: fortran/openmp.cc:12932
+#: fortran/openmp.cc:12928
#, gcc-internal-format
msgid ""
"%<OMP DISPATCH%> directive at %L must be followed by a procedure call with "
"optional assignment"
msgstr ""
-#: fortran/openmp.cc:12939
+#: fortran/openmp.cc:12935
#, gcc-internal-format
msgid ""
"%<OMP DISPATCH%> directive at %L cannot be followed by a procedure pointer"
msgstr ""
-#: fortran/openmp.cc:13034
+#: fortran/openmp.cc:13030
#, gcc-internal-format, gfc-internal-format
msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause"
msgstr ""
-#: fortran/openmp.cc:13048
+#: fortran/openmp.cc:13044
#, 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:13054
+#: fortran/openmp.cc:13050
#, gcc-internal-format
msgid ""
"Unexpected !$OMP SCAN at %L outside loop construct with %<inscan%> REDUCTION "
"clause"
msgstr ""
-#: fortran/openmp.cc:13083
+#: fortran/openmp.cc:13079
#, gcc-internal-format
msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L"
msgstr ""
-#: fortran/openmp.cc:13119
+#: fortran/openmp.cc:13115
#, gcc-internal-format, gfc-internal-format
msgid "Expected constant non-negative scalar integer offset expression at %L"
msgstr ""
-#: fortran/openmp.cc:13122
+#: fortran/openmp.cc:13118
#, gcc-internal-format
msgid ""
"For range-based %<adjust_args%>, a constant positive scalar integer "
"expression is required at %L"
msgstr ""
-#: fortran/openmp.cc:13136
+#: fortran/openmp.cc:13132
#, gcc-internal-format, gfc-internal-format
msgid "Expected dummy parameter name or a positive integer at %L"
msgstr ""
-#: fortran/openmp.cc:13162
+#: fortran/openmp.cc:13158
#, 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:13170
+#: fortran/openmp.cc:13166
#, 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:13199
+#: fortran/openmp.cc:13195
#, gcc-internal-format, gfc-internal-format
msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L"
msgstr ""
-#: fortran/openmp.cc:13221
+#: fortran/openmp.cc:13217
#, gcc-internal-format, gfc-internal-format
msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L"
msgstr ""
-#: fortran/openmp.cc:13237
+#: fortran/openmp.cc:13233
#, gcc-internal-format, gfc-internal-format
msgid ""
"Subroutine call with alternate returns in combiner of !$OMP DECLARE "
"REDUCTION at %L"
msgstr ""
-#: fortran/openmp.cc:13252
+#: fortran/openmp.cc:13248
#, 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:13262
+#: fortran/openmp.cc:13258
#, 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:13270
+#: fortran/openmp.cc:13266
#, gcc-internal-format, gfc-internal-format
msgid ""
"Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type "
@@ -84078,23 +84300,23 @@ msgstr ""
msgid "command-line option %<-fno-builtin-%s%> is not valid for Fortran"
msgstr ""
-#: fortran/parse.cc:665
+#: fortran/parse.cc:664
#, gcc-internal-format, gfc-internal-format
msgid "Unclassifiable statement at %C"
msgstr ""
-#: fortran/parse.cc:729
+#: fortran/parse.cc:728
#, gcc-internal-format, gfc-internal-format
msgid ""
"OpenACC directives other than ROUTINE may not appear in PURE procedures at %C"
msgstr ""
-#: fortran/parse.cc:795
+#: fortran/parse.cc:794
#, gcc-internal-format, gfc-internal-format
msgid "Unclassifiable OpenACC directive at %C"
msgstr ""
-#: fortran/parse.cc:827
+#: fortran/parse.cc:826
#, gcc-internal-format
msgid ""
"%qs directive at %L must either have a variable argument or, if associated "
@@ -84102,7 +84324,7 @@ msgid ""
"construct"
msgstr ""
-#: fortran/parse.cc:839
+#: fortran/parse.cc:838
#, gcc-internal-format
msgid ""
"Structure-component expression at %L in %qs directive not permitted in "
@@ -84110,7 +84332,7 @@ msgid ""
"be preceded by an executable statement or OpenMP construct"
msgstr ""
-#: fortran/parse.cc:865
+#: fortran/parse.cc:864
#, gcc-internal-format
msgid ""
"%qs directive at %L associated with an ALLOCATE stmt must be preceded by an "
@@ -84118,66 +84340,66 @@ msgid ""
"have the allocatable or pointer attribute"
msgstr ""
-#: fortran/parse.cc:1055 fortran/parse.cc:1366
+#: fortran/parse.cc:1054 fortran/parse.cc:1365
#, gcc-internal-format, gfc-internal-format
msgid ""
"OpenMP directive at %C is not pure and thus may not appear in a PURE "
"procedure"
msgstr ""
-#: fortran/parse.cc:1333
+#: fortran/parse.cc:1332
#, gcc-internal-format, gfc-internal-format
msgid "Unclassifiable OpenMP directive at %C"
msgstr ""
-#: fortran/parse.cc:1353
+#: fortran/parse.cc:1352
#, gcc-internal-format
msgid ""
"OpenMP ERROR directive at %L with %<at(execution)%> clause in a PURE "
"procedure"
msgstr ""
-#: fortran/parse.cc:1491
+#: fortran/parse.cc:1490
#, gcc-internal-format, gfc-internal-format
msgid "Unclassifiable GCC directive at %C"
msgstr ""
-#: fortran/parse.cc:1493
+#: fortran/parse.cc:1492
#, gcc-internal-format, gfc-internal-format
msgid "Unclassifiable GCC directive at %C, ignored"
msgstr ""
-#: fortran/parse.cc:1553 fortran/parse.cc:1780
+#: fortran/parse.cc:1552 fortran/parse.cc:1779
#, gcc-internal-format, gfc-internal-format
msgid "Zero is not a valid statement label at %C"
msgstr ""
-#: fortran/parse.cc:1560 fortran/parse.cc:1772
+#: fortran/parse.cc:1559 fortran/parse.cc:1771
#, gcc-internal-format, gfc-internal-format
msgid "Non-numeric character in statement label at %C"
msgstr ""
-#: fortran/parse.cc:1572 fortran/parse.cc:1821
+#: fortran/parse.cc:1571 fortran/parse.cc:1820
#, gcc-internal-format, gfc-internal-format
msgid "Semicolon at %C needs to be preceded by statement"
msgstr ""
-#: fortran/parse.cc:1579 fortran/parse.cc:1836
+#: fortran/parse.cc:1578 fortran/parse.cc:1835
#, gcc-internal-format, gfc-internal-format
msgid "Statement label without statement at %L"
msgstr ""
-#: fortran/parse.cc:1642 fortran/parse.cc:1823
+#: fortran/parse.cc:1641 fortran/parse.cc:1822
#, gcc-internal-format, gfc-internal-format
msgid "Fortran 2008: Semicolon at %C without preceding statement"
msgstr ""
-#: fortran/parse.cc:1665 fortran/parse.cc:1799
+#: fortran/parse.cc:1664 fortran/parse.cc:1798
#, gcc-internal-format, gfc-internal-format
msgid "Bad continuation line at %C"
msgstr ""
-#: fortran/parse.cc:2151
+#: fortran/parse.cc:2150
#, gcc-internal-format, gfc-internal-format
msgid "FORMAT statement at %L does not have a statement label"
msgstr ""
@@ -84187,82 +84409,82 @@ msgstr ""
msgid "gfc_ascii_statement(): Bad statement code"
msgstr ""
-#: fortran/parse.cc:3247
+#: fortran/parse.cc:3249
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement at %C"
msgstr ""
-#: fortran/parse.cc:3404
+#: fortran/parse.cc:3408
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C cannot follow %s statement at %L"
msgstr ""
-#: fortran/parse.cc:3421
+#: fortran/parse.cc:3425
#, gcc-internal-format
msgid "Unexpected end of file in %qs"
msgstr ""
-#: fortran/parse.cc:3456
+#: fortran/parse.cc:3460
#, gcc-internal-format
msgid "Derived-type %qs with SEQUENCE must not have a CONTAINS section at %C"
msgstr ""
-#: fortran/parse.cc:3459
+#: fortran/parse.cc:3463
#, gcc-internal-format
msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C"
msgstr ""
-#: fortran/parse.cc:3479
+#: fortran/parse.cc:3483
#, gcc-internal-format, gfc-internal-format
msgid "Components in TYPE at %C must precede CONTAINS"
msgstr ""
-#: fortran/parse.cc:3483
+#: fortran/parse.cc:3487
#, gcc-internal-format, gfc-internal-format
msgid "Type-bound procedure at %C"
msgstr ""
-#: fortran/parse.cc:3491
+#: fortran/parse.cc:3495
#, gcc-internal-format, gfc-internal-format
msgid "GENERIC binding at %C"
msgstr ""
-#: fortran/parse.cc:3499
+#: fortran/parse.cc:3503
#, gcc-internal-format, gfc-internal-format
msgid "FINAL procedure declaration at %C"
msgstr ""
-#: fortran/parse.cc:3511
+#: fortran/parse.cc:3515
#, gcc-internal-format, gfc-internal-format
msgid "Derived type definition at %C with empty CONTAINS section"
msgstr ""
-#: fortran/parse.cc:3521 fortran/parse.cc:3976
+#: fortran/parse.cc:3525 fortran/parse.cc:3980
#, gcc-internal-format, gfc-internal-format
msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
msgstr ""
-#: fortran/parse.cc:3528
+#: fortran/parse.cc:3532
#, gcc-internal-format, gfc-internal-format
msgid "PRIVATE statement at %C must precede procedure bindings"
msgstr ""
-#: fortran/parse.cc:3535 fortran/parse.cc:3989
+#: fortran/parse.cc:3539 fortran/parse.cc:3993
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate PRIVATE statement at %C"
msgstr ""
-#: fortran/parse.cc:3545
+#: fortran/parse.cc:3549
#, gcc-internal-format, gfc-internal-format
msgid "SEQUENCE statement at %C must precede CONTAINS"
msgstr ""
-#: fortran/parse.cc:3549
+#: fortran/parse.cc:3553
#, gcc-internal-format, gfc-internal-format
msgid "Already inside a CONTAINS block at %C"
msgstr ""
-#: fortran/parse.cc:3668
+#: fortran/parse.cc:3672
#, gcc-internal-format, gfc-internal-format
msgid ""
"Component %s at %L of type LOCK_TYPE must have a codimension or be a "
@@ -84270,27 +84492,27 @@ msgid ""
"pointer attribute"
msgstr ""
-#: fortran/parse.cc:3674
+#: fortran/parse.cc:3678
#, gcc-internal-format, gfc-internal-format
msgid ""
"Pointer component %s at %L has a noncoarray subcomponent of type LOCK_TYPE, "
"which must have a codimension or be a subcomponent of a coarray"
msgstr ""
-#: fortran/parse.cc:3679
+#: fortran/parse.cc:3683
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocatable component %s at %L of type LOCK_TYPE must have a codimension"
msgstr ""
-#: fortran/parse.cc:3683
+#: fortran/parse.cc:3687
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocatable component %s at %L must have a codimension as it has a "
"noncoarray subcomponent of type LOCK_TYPE"
msgstr ""
-#: fortran/parse.cc:3688
+#: fortran/parse.cc:3692
#, gcc-internal-format, gfc-internal-format
msgid ""
"Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -84299,7 +84521,7 @@ msgid ""
"subcomponent exists)"
msgstr ""
-#: fortran/parse.cc:3695
+#: fortran/parse.cc:3699
#, gcc-internal-format, gfc-internal-format
msgid ""
"Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -84308,7 +84530,7 @@ msgid ""
"codimension or a coarray subcomponent)"
msgstr ""
-#: fortran/parse.cc:3705
+#: fortran/parse.cc:3709
#, gcc-internal-format, gfc-internal-format
msgid ""
"Component %s at %L of type EVENT_TYPE must have a codimension or be a "
@@ -84316,27 +84538,27 @@ msgid ""
"pointer attribute"
msgstr ""
-#: fortran/parse.cc:3711
+#: fortran/parse.cc:3715
#, gcc-internal-format, gfc-internal-format
msgid ""
"Pointer component %s at %L has a noncoarray subcomponent of type EVENT_TYPE, "
"which must have a codimension or be a subcomponent of a coarray"
msgstr ""
-#: fortran/parse.cc:3716
+#: fortran/parse.cc:3720
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocatable component %s at %L of type EVENT_TYPE must have a codimension"
msgstr ""
-#: fortran/parse.cc:3720
+#: fortran/parse.cc:3724
#, gcc-internal-format, gfc-internal-format
msgid ""
"Allocatable component %s at %L must have a codimension as it has a "
"noncoarray subcomponent of type EVENT_TYPE"
msgstr ""
-#: fortran/parse.cc:3725
+#: fortran/parse.cc:3729
#, gcc-internal-format, gfc-internal-format
msgid ""
"Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -84345,7 +84567,7 @@ msgid ""
"subcomponent exists)"
msgstr ""
-#: fortran/parse.cc:3732
+#: fortran/parse.cc:3736
#, gcc-internal-format, gfc-internal-format
msgid ""
"Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -84354,201 +84576,206 @@ msgid ""
"codimension or a coarray subcomponent)"
msgstr ""
-#: fortran/parse.cc:3784
+#: fortran/parse.cc:3788
#, gcc-internal-format, gfc-internal-format
msgid "failed to create map component '%s'"
msgstr ""
-#: fortran/parse.cc:3817
+#: fortran/parse.cc:3821
#, gcc-internal-format, gfc-internal-format
msgid "failed to create union component '%s'"
msgstr ""
-#: fortran/parse.cc:3872
+#: fortran/parse.cc:3876
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in nested structure declaration at %C"
msgstr ""
-#: fortran/parse.cc:3959
+#: fortran/parse.cc:3963
#, gcc-internal-format, gfc-internal-format
msgid "FINAL declaration at %C must be inside CONTAINS"
msgstr ""
-#: fortran/parse.cc:3967
+#: fortran/parse.cc:3971
#, gcc-internal-format, gfc-internal-format
msgid "Derived type definition at %C without components"
msgstr ""
-#: fortran/parse.cc:3983
+#: fortran/parse.cc:3987
#, gcc-internal-format, gfc-internal-format
msgid "PRIVATE statement at %C must precede structure components"
msgstr ""
-#: fortran/parse.cc:4000
+#: fortran/parse.cc:4004
#, gcc-internal-format, gfc-internal-format
msgid "SEQUENCE statement at %C must precede structure components"
msgstr ""
-#: fortran/parse.cc:4006
+#: fortran/parse.cc:4010
#, gcc-internal-format, gfc-internal-format
msgid "SEQUENCE attribute at %C already specified in TYPE statement"
msgstr ""
-#: fortran/parse.cc:4011
+#: fortran/parse.cc:4015
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate SEQUENCE statement at %C"
msgstr ""
-#: fortran/parse.cc:4021
+#: fortran/parse.cc:4025
#, gcc-internal-format, gfc-internal-format
msgid "CONTAINS block in derived type definition at %C"
msgstr ""
-#: fortran/parse.cc:4079
+#: fortran/parse.cc:4083
#, gcc-internal-format, gfc-internal-format
msgid "ENUM declaration at %C has no ENUMERATORS"
msgstr ""
-#: fortran/parse.cc:4166
+#: fortran/parse.cc:4170
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in INTERFACE block at %C"
msgstr ""
-#: fortran/parse.cc:4191
+#: fortran/parse.cc:4195
#, gcc-internal-format
msgid ""
"Name %qs of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
msgstr ""
-#: fortran/parse.cc:4222
+#: fortran/parse.cc:4226
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement at %C in INTERFACE body"
msgstr ""
-#: fortran/parse.cc:4240
+#: fortran/parse.cc:4244
#, gcc-internal-format
msgid ""
"INTERFACE procedure %qs at %L has the same name as the enclosing procedure"
msgstr ""
-#: fortran/parse.cc:4379
+#: fortran/parse.cc:4383
#, gcc-internal-format, gfc-internal-format
msgid "%s statement is not allowed inside of BLOCK at %C"
msgstr ""
-#: fortran/parse.cc:4411
+#: fortran/parse.cc:4415
#, gcc-internal-format, gfc-internal-format
msgid "%s statement is not allowed inside of BLOCK DATA at %C"
msgstr ""
-#: fortran/parse.cc:4495
+#: fortran/parse.cc:4499
#, gcc-internal-format, gfc-internal-format
msgid "%s statement must appear in a MODULE"
msgstr ""
-#: fortran/parse.cc:4503
+#: fortran/parse.cc:4507
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C follows another accessibility specification"
msgstr ""
-#: fortran/parse.cc:4555
+#: fortran/parse.cc:4559
#, gcc-internal-format
msgid "Bad kind expression for function %qs at %L"
msgstr ""
-#: fortran/parse.cc:4559
+#: fortran/parse.cc:4563
#, gcc-internal-format
msgid "The type for function %qs at %L is not accessible"
msgstr ""
-#: fortran/parse.cc:4619
+#: fortran/parse.cc:4623
#, gcc-internal-format, gfc-internal-format
msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
msgstr ""
-#: fortran/parse.cc:4641
+#: fortran/parse.cc:4645
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in WHERE block at %C"
msgstr ""
-#: fortran/parse.cc:4700
+#: fortran/parse.cc:4704
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in FORALL block at %C"
msgstr ""
-#: fortran/parse.cc:4751
+#: fortran/parse.cc:4755
#, gcc-internal-format, gfc-internal-format
msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
msgstr ""
-#: fortran/parse.cc:4769
+#: fortran/parse.cc:4773
#, gcc-internal-format, gfc-internal-format
msgid "Duplicate ELSE statements at %L and %C"
msgstr ""
-#: fortran/parse.cc:4830
+#: fortran/parse.cc:4834
#, gcc-internal-format, gfc-internal-format
msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
msgstr ""
-#: fortran/parse.cc:4914
+#: fortran/parse.cc:4918
#, gcc-internal-format, gfc-internal-format
msgid ""
"Expected TYPE IS, CLASS IS or END SELECT statement following SELECT TYPE at "
"%C"
msgstr ""
-#: fortran/parse.cc:4990
+#: fortran/parse.cc:4994
#, gcc-internal-format, gfc-internal-format
msgid "Expected RANK or RANK DEFAULT following SELECT RANK at %C"
msgstr ""
-#: fortran/parse.cc:5054
+#: fortran/parse.cc:5058
#, gcc-internal-format
msgid "Variable %qs at %C cannot be redefined inside loop beginning at %L"
msgstr ""
-#: fortran/parse.cc:5087
+#: fortran/parse.cc:5091
#, gcc-internal-format, gfc-internal-format
msgid "End of nonblock DO statement at %C is within another block"
msgstr ""
-#: fortran/parse.cc:5097
+#: fortran/parse.cc:5101
#, gcc-internal-format, gfc-internal-format
msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
msgstr ""
-#: fortran/parse.cc:5123
+#: fortran/parse.cc:5127
#, gcc-internal-format, gfc-internal-format
msgid "CRITICAL block inside of OpenACC region at %C"
msgstr ""
-#: fortran/parse.cc:5124
+#: fortran/parse.cc:5128
#, gcc-internal-format, gfc-internal-format
msgid "CRITICAL block inside of OpenMP region at %C"
msgstr ""
-#: fortran/parse.cc:5150
+#: fortran/parse.cc:5154
#, gcc-internal-format, gfc-internal-format
msgid "Statement label in END CRITICAL at %C does not match CRITICAL label"
msgstr ""
-#: fortran/parse.cc:5219 fortran/parse.cc:6162
+#: fortran/parse.cc:5223 fortran/parse.cc:6210
#, gcc-internal-format, gfc-internal-format
msgid "BLOCK construct at %C"
msgstr ""
-#: fortran/parse.cc:5254
+#: fortran/parse.cc:5445
#, gcc-internal-format, gfc-internal-format
msgid "ASSOCIATE construct at %C"
msgstr ""
-#: fortran/parse.cc:5567
+#: fortran/parse.cc:5489
+#, gcc-internal-format, gfc-internal-format
+msgid "CHANGE TEAM construct at %C"
+msgstr ""
+
+#: fortran/parse.cc:5615
#, gcc-internal-format, gfc-internal-format
msgid "Statement label in ENDDO at %C doesn't match DO label"
msgstr ""
-#: fortran/parse.cc:5583
+#: fortran/parse.cc:5631
#, gcc-internal-format, gfc-internal-format
msgid "Named block DO at %L requires matching ENDDO name"
msgstr ""
@@ -84561,168 +84788,168 @@ msgstr ""
#. and the "end metadirective" which is required in a
#. "begin metadirective" construct, or perhaps the
#. "end metadirective" is missing entirely.
-#: fortran/parse.cc:5817 fortran/parse.cc:6314
+#: fortran/parse.cc:5865 fortran/parse.cc:6362
#, gcc-internal-format, gfc-internal-format
msgid "Expected OMP END METADIRECTIVE at %C"
msgstr ""
-#: fortran/parse.cc:5827 fortran/parse.cc:6330 fortran/parse.cc:6348
+#: fortran/parse.cc:5875 fortran/parse.cc:6378 fortran/parse.cc:6396
#, gcc-internal-format, gfc-internal-format
msgid "Duplicated NOWAIT clause on %s and %s at %C"
msgstr ""
-#: fortran/parse.cc:5931 fortran/parse.cc:5993
+#: fortran/parse.cc:5979 fortran/parse.cc:6041
#, gcc-internal-format, gfc-internal-format
msgid "OpenACC directive inside of CRITICAL block at %C"
msgstr ""
-#: fortran/parse.cc:5968
+#: fortran/parse.cc:6016
#, gcc-internal-format, gfc-internal-format
msgid "Expecting %s at %C"
msgstr ""
-#: fortran/parse.cc:6012
+#: fortran/parse.cc:6060
#, gcc-internal-format, gfc-internal-format
msgid "Expected DO loop at %C"
msgstr ""
-#: fortran/parse.cc:6032
+#: fortran/parse.cc:6080
#, gcc-internal-format, gfc-internal-format
msgid "Redundant !$ACC END LOOP at %C"
msgstr ""
-#: fortran/parse.cc:6082
+#: fortran/parse.cc:6130
#, gcc-internal-format, gfc-internal-format
msgid "%s statements at %L and %L have both no list item but only one may"
msgstr ""
-#: fortran/parse.cc:6102
+#: fortran/parse.cc:6150
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s at %C; expected ALLOCATE or %s statement"
msgstr ""
-#: fortran/parse.cc:6105
+#: fortran/parse.cc:6153
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s at %C; expected ALLOCATE statement after %s"
msgstr ""
-#: fortran/parse.cc:6341
+#: fortran/parse.cc:6389
#, gcc-internal-format, gfc-internal-format
msgid "Name after !$omp critical and !$omp end critical does not match at %C"
msgstr ""
-#: fortran/parse.cc:6405
+#: fortran/parse.cc:6453
#, gcc-internal-format
msgid ""
"%<OMP DISPATCH%> directive must be followed by a procedure call with "
"optional assignment at %C"
msgstr ""
-#: fortran/parse.cc:6416
+#: fortran/parse.cc:6464
#, gcc-internal-format, gfc-internal-format
msgid "Duplicated NOWAIT clause on !$OMP DISPATCH and !$OMP END DISPATCH at %C"
msgstr ""
-#: fortran/parse.cc:6488
+#: fortran/parse.cc:6536
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in OMP METADIRECTIVE block at %C"
msgstr ""
-#: fortran/parse.cc:6529
+#: fortran/parse.cc:6577
#, gcc-internal-format, gfc-internal-format
msgid ""
"Variants in a metadirective at %L have different associations; consider "
"using a BLOCK construct or BEGIN/END METADIRECTIVE"
msgstr ""
-#: fortran/parse.cc:6534
+#: fortran/parse.cc:6582
#, gcc-internal-format, gfc-internal-format
msgid ""
"Variants in a metadirective at %L have different associations; consider "
"using a BLOCK construct"
msgstr ""
-#: fortran/parse.cc:6584
+#: fortran/parse.cc:6633
#, gcc-internal-format, gfc-internal-format
msgid "%s statement at %C cannot terminate a non-block DO loop"
msgstr ""
-#: fortran/parse.cc:6598
+#: fortran/parse.cc:6647
#, gcc-internal-format, gfc-internal-format
msgid "DATA statement at %C after the first executable statement"
msgstr ""
-#: fortran/parse.cc:6714
+#: fortran/parse.cc:6767
#, gcc-internal-format
msgid "%<GCC unroll%> directive not at the start of a loop at %C"
msgstr ""
-#: fortran/parse.cc:6717
+#: fortran/parse.cc:6770
#, gcc-internal-format
msgid "%<GCC ivdep%> directive not at the start of a loop at %C"
msgstr ""
-#: fortran/parse.cc:6720
+#: fortran/parse.cc:6773
#, gcc-internal-format
msgid "%<GCC vector%> directive not at the start of a loop at %C"
msgstr ""
-#: fortran/parse.cc:6723
+#: fortran/parse.cc:6776
#, gcc-internal-format
msgid "%<GCC novector%> directive not at the start of a loop at %C"
msgstr ""
-#: fortran/parse.cc:6839
+#: fortran/parse.cc:6892
#, gcc-internal-format
msgid "Contained procedure %qs at %C is already ambiguous"
msgstr ""
-#: fortran/parse.cc:6896
+#: fortran/parse.cc:6949
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in CONTAINS section at %C"
msgstr ""
-#: fortran/parse.cc:6921
+#: fortran/parse.cc:6974
#, gcc-internal-format, gfc-internal-format
msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %L"
msgstr ""
-#: fortran/parse.cc:7035
+#: fortran/parse.cc:7088
#, gcc-internal-format, gfc-internal-format
msgid "CONTAINS statement at %C is already in a contained program unit"
msgstr ""
-#: fortran/parse.cc:7087
+#: fortran/parse.cc:7140
#, gcc-internal-format
msgid "Global binding name %qs at %L is already being used as a %s at %L"
msgstr ""
-#: fortran/parse.cc:7091
+#: fortran/parse.cc:7144
#, gcc-internal-format
msgid "Global name %qs at %L is already being used as a %s at %L"
msgstr ""
-#: fortran/parse.cc:7097
+#: fortran/parse.cc:7150
#, gcc-internal-format
msgid "Global binding name %qs at %L is already being used at %L"
msgstr ""
-#: fortran/parse.cc:7100
+#: fortran/parse.cc:7153
#, gcc-internal-format
msgid "Global name %qs at %L is already being used at %L"
msgstr ""
-#: fortran/parse.cc:7122
+#: fortran/parse.cc:7175
#, gcc-internal-format, gfc-internal-format
msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
msgstr ""
-#: fortran/parse.cc:7148
+#: fortran/parse.cc:7201
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in BLOCK DATA at %C"
msgstr ""
-#: fortran/parse.cc:7251
+#: fortran/parse.cc:7304
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected %s statement in MODULE at %C"
msgstr ""
@@ -84730,7 +84957,7 @@ msgstr ""
#. If we see a duplicate main program, shut down. If the second
#. instance is an implied main program, i.e. data decls or executable
#. statements, we're in for lots of errors.
-#: fortran/parse.cc:7768
+#: fortran/parse.cc:7821
#, gcc-internal-format, gfc-internal-format
msgid "Two main PROGRAMs at %L and %C"
msgstr ""
@@ -85650,14 +85877,14 @@ msgid ""
"recursively in procedure %qs. Declare it RECURSIVE or use %<-frecursive%>"
msgstr ""
-#: fortran/resolve.cc:1994 fortran/resolve.cc:7143
+#: fortran/resolve.cc:1994 fortran/resolve.cc:7179
#, gcc-internal-format
msgid ""
"Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. "
"Declare it RECURSIVE or use %<-frecursive%>"
msgstr ""
-#: fortran/resolve.cc:2053 fortran/resolve.cc:11574 fortran/resolve.cc:13597
+#: fortran/resolve.cc:2053 fortran/resolve.cc:11708 fortran/resolve.cc:13715
#, gcc-internal-format, gfc-internal-format
msgid "Label %d referenced at %L is never defined"
msgstr ""
@@ -85790,47 +86017,47 @@ msgstr ""
msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
msgstr ""
-#: fortran/resolve.cc:3129 fortran/resolve.cc:19037
+#: fortran/resolve.cc:3129 fortran/resolve.cc:19155
#, gcc-internal-format
msgid "Function %qs at %L has no IMPLICIT type"
msgstr ""
-#: fortran/resolve.cc:3261
+#: fortran/resolve.cc:3283
#, gcc-internal-format, gfc-internal-format
msgid "Reference to impure function at %L inside a DO CONCURRENT"
msgstr ""
-#: fortran/resolve.cc:3271
+#: fortran/resolve.cc:3294
#, gcc-internal-format
msgid "Reference to impure function %qs at %L inside a FORALL %s"
msgstr ""
-#: fortran/resolve.cc:3278
+#: fortran/resolve.cc:3301
#, gcc-internal-format
msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s"
msgstr ""
-#: fortran/resolve.cc:3285
+#: fortran/resolve.cc:3308
#, gcc-internal-format
msgid "Reference to impure function %qs at %L within a PURE procedure"
msgstr ""
-#: fortran/resolve.cc:3352
+#: fortran/resolve.cc:3375
#, gcc-internal-format
msgid "Unexpected junk after %qs at %L"
msgstr ""
-#: fortran/resolve.cc:3363
+#: fortran/resolve.cc:3386
#, gcc-internal-format
msgid "%qs at %L is not a function"
msgstr ""
-#: fortran/resolve.cc:3371 fortran/resolve.cc:3930
+#: fortran/resolve.cc:3394 fortran/resolve.cc:3966
#, gcc-internal-format
msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
msgstr ""
-#: fortran/resolve.cc:3383
+#: fortran/resolve.cc:3406
#, gcc-internal-format
msgid ""
"ABSTRACT INTERFACE %qs at %L must not have an assumed character length "
@@ -85838,498 +86065,498 @@ msgid ""
msgstr ""
#. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.cc:3426
+#: fortran/resolve.cc:3449
#, gcc-internal-format
msgid ""
"Function %qs is declared CHARACTER(*) and cannot be used at %L since it is "
"not a dummy argument"
msgstr ""
-#: fortran/resolve.cc:3447
+#: fortran/resolve.cc:3470
#, gcc-internal-format, gfc-internal-format
msgid "Different argument lists in external dummy function %s at %L and %L"
msgstr ""
-#: fortran/resolve.cc:3486
+#: fortran/resolve.cc:3509
#, gcc-internal-format
msgid "resolve_function(): bad function type"
msgstr ""
-#: fortran/resolve.cc:3500
+#: fortran/resolve.cc:3523
#, gcc-internal-format, gfc-internal-format
msgid ""
"A BOZ literal constant at %L cannot appear as an actual argument in a "
"function reference"
msgstr ""
-#: fortran/resolve.cc:3516
+#: fortran/resolve.cc:3539
#, gcc-internal-format
msgid ""
"User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE "
"construct"
msgstr ""
-#: fortran/resolve.cc:3578
+#: fortran/resolve.cc:3601
#, gcc-internal-format
msgid ""
"ENTRY %qs at %L cannot be called recursively, as function %qs is not "
"RECURSIVE"
msgstr ""
-#: fortran/resolve.cc:3582
+#: fortran/resolve.cc:3605
#, gcc-internal-format
msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE"
msgstr ""
-#: fortran/resolve.cc:3640
+#: fortran/resolve.cc:3663
#, gcc-internal-format
msgid "Using function %qs at %L is deprecated"
msgstr ""
-#: fortran/resolve.cc:3666
+#: fortran/resolve.cc:3701
#, gcc-internal-format, gfc-internal-format
msgid "Subroutine call at %L in a DO CONCURRENT block is not PURE"
msgstr ""
-#: fortran/resolve.cc:3674
+#: fortran/resolve.cc:3710
#, gcc-internal-format
msgid "Subroutine call to %qs in FORALL block at %L is not PURE"
msgstr ""
-#: fortran/resolve.cc:3680
+#: fortran/resolve.cc:3716
#, gcc-internal-format
msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE"
msgstr ""
-#: fortran/resolve.cc:3686
+#: fortran/resolve.cc:3722
#, gcc-internal-format
msgid "Subroutine call to %qs at %L is not PURE"
msgstr ""
-#: fortran/resolve.cc:3754
+#: fortran/resolve.cc:3790
#, gcc-internal-format
msgid "There is no specific subroutine for the generic %qs at %L"
msgstr ""
-#: fortran/resolve.cc:3763
+#: fortran/resolve.cc:3799
#, gcc-internal-format
msgid ""
"Generic subroutine %qs at %L is not consistent with an intrinsic subroutine "
"interface"
msgstr ""
-#: fortran/resolve.cc:3798
+#: fortran/resolve.cc:3834
#, gcc-internal-format
msgid ""
"Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic"
msgstr ""
-#: fortran/resolve.cc:3843
+#: fortran/resolve.cc:3879
#, gcc-internal-format
msgid "Unable to resolve the specific subroutine %qs at %L"
msgstr ""
-#: fortran/resolve.cc:3901
+#: fortran/resolve.cc:3937
#, gcc-internal-format
msgid "%qs at %L has a type, which is not consistent with the CALL at %L"
msgstr ""
-#: fortran/resolve.cc:3940
+#: fortran/resolve.cc:3976
#, gcc-internal-format
msgid ""
"ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not "
"RECURSIVE"
msgstr ""
-#: fortran/resolve.cc:3944
+#: fortran/resolve.cc:3980
#, gcc-internal-format
msgid ""
"SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE"
msgstr ""
-#: fortran/resolve.cc:3995
+#: fortran/resolve.cc:4031
#, gcc-internal-format, gfc-internal-format
msgid "Different argument lists in external dummy subroutine %s at %L and %L"
msgstr ""
-#: fortran/resolve.cc:4026
+#: fortran/resolve.cc:4062
#, gcc-internal-format
msgid "resolve_subroutine(): bad function type"
msgstr ""
-#: fortran/resolve.cc:4043
+#: fortran/resolve.cc:4079
#, gcc-internal-format
msgid "Using subroutine %qs at %L is deprecated"
msgstr ""
-#: fortran/resolve.cc:4070
+#: fortran/resolve.cc:4106
#, gcc-internal-format, gfc-internal-format
msgid "Shapes for operands at %L and %L are not conformable"
msgstr ""
-#: fortran/resolve.cc:4122
+#: fortran/resolve.cc:4158
#, gcc-internal-format
msgid "logical_to_bitwise(): Bad intrinsic"
msgstr ""
-#: fortran/resolve.cc:4225
+#: fortran/resolve.cc:4261
#, gcc-internal-format
msgid "Impure function %qs at %L might not be evaluated"
msgstr ""
-#: fortran/resolve.cc:4229
+#: fortran/resolve.cc:4265
#, gcc-internal-format, gfc-internal-format
msgid "Impure function at %L might not be evaluated"
msgstr ""
-#: fortran/resolve.cc:4324
+#: fortran/resolve.cc:4360
#, gcc-internal-format
msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
msgstr ""
-#: fortran/resolve.cc:4332
+#: fortran/resolve.cc:4368
#, gcc-internal-format, gfc-internal-format
msgid "Negation of unsigned expression at %L not permitted "
msgstr ""
-#: fortran/resolve.cc:4353
+#: fortran/resolve.cc:4389
#, gcc-internal-format
msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
msgstr ""
-#: fortran/resolve.cc:4363
+#: fortran/resolve.cc:4399
#, gcc-internal-format, gfc-internal-format
msgid "Invalid context for NULL() pointer at %L"
msgstr ""
-#: fortran/resolve.cc:4381
+#: fortran/resolve.cc:4417
#, gcc-internal-format
msgid "Operand of unary numeric operator %qs at %L is %s"
msgstr ""
-#: fortran/resolve.cc:4396 fortran/resolve.cc:4430
+#: fortran/resolve.cc:4432 fortran/resolve.cc:4466
#, gcc-internal-format
msgid "Operands of binary numeric operator %qs at %L are %s/%s"
msgstr ""
-#: fortran/resolve.cc:4410 fortran/resolve.cc:4599 fortran/resolve.cc:4768
+#: fortran/resolve.cc:4446 fortran/resolve.cc:4635 fortran/resolve.cc:4804
#, gcc-internal-format, gfc-internal-format
msgid "Inconsistent ranks for operator at %L and %L"
msgstr ""
-#: fortran/resolve.cc:4422
+#: fortran/resolve.cc:4458
#, gcc-internal-format
msgid ""
"Unexpected derived-type entities in binary intrinsic numeric operator %qs at "
"%L"
msgstr ""
-#: fortran/resolve.cc:4446
+#: fortran/resolve.cc:4482
#, gcc-internal-format, gfc-internal-format
msgid "Operands of string concatenation operator at %L are %s/%s"
msgstr ""
-#: fortran/resolve.cc:4489
+#: fortran/resolve.cc:4525
#, gcc-internal-format
msgid "Operands of logical operator %qs at %L are %s/%s"
msgstr ""
-#: fortran/resolve.cc:4512
+#: fortran/resolve.cc:4548
#, gcc-internal-format, gfc-internal-format
msgid "Operand of .not. operator at %L is %s"
msgstr ""
-#: fortran/resolve.cc:4527
+#: fortran/resolve.cc:4563
#, gcc-internal-format, gfc-internal-format
msgid "COMPLEX quantities cannot be compared at %L"
msgstr ""
-#: fortran/resolve.cc:4557 fortran/resolve.cc:4572
+#: fortran/resolve.cc:4593 fortran/resolve.cc:4608
#, 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:4607
+#: fortran/resolve.cc:4643
#, gcc-internal-format, gfc-internal-format
msgid "Inconsistent types for operator at %L and %L: %s and %s"
msgstr ""
-#: fortran/resolve.cc:4631
+#: fortran/resolve.cc:4667
#, gcc-internal-format, gfc-internal-format
msgid "Equality comparison for %s at %L"
msgstr ""
-#: fortran/resolve.cc:4633
+#: fortran/resolve.cc:4669
#, gcc-internal-format, gfc-internal-format
msgid "Inequality comparison for %s at %L"
msgstr ""
-#: fortran/resolve.cc:4646
+#: fortran/resolve.cc:4682
#, gcc-internal-format, gfc-internal-format
msgid "Logicals at %L must be compared with %s instead of %s"
msgstr ""
-#: fortran/resolve.cc:4654
+#: fortran/resolve.cc:4690
#, gcc-internal-format
msgid "Operands of comparison operator %qs at %L are %s/%s"
msgstr ""
-#: fortran/resolve.cc:4669
+#: fortran/resolve.cc:4705
#, gcc-internal-format
msgid "Unknown operator %qs at %L; did you mean %qs?"
msgstr ""
-#: fortran/resolve.cc:4672
+#: fortran/resolve.cc:4708
#, gcc-internal-format
msgid "Unknown operator %qs at %L"
msgstr ""
-#: fortran/resolve.cc:4677
+#: fortran/resolve.cc:4713
#, gcc-internal-format
msgid "Operand of user operator %qs at %L is %s"
msgstr ""
-#: fortran/resolve.cc:4684
+#: fortran/resolve.cc:4720
#, gcc-internal-format
msgid "Operands of user operator %qs at %L are %s/%s"
msgstr ""
-#: fortran/resolve.cc:4698
+#: fortran/resolve.cc:4734
#, gcc-internal-format
msgid "resolve_operator(): Bad intrinsic"
msgstr ""
-#: fortran/resolve.cc:4796
+#: fortran/resolve.cc:4832
#, gcc-internal-format, gfc-internal-format
msgid "Inconsistent coranks for operator at %L and %L"
msgstr ""
-#: fortran/resolve.cc:4995
+#: fortran/resolve.cc:5031
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.cc:5000
+#: fortran/resolve.cc:5036
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
msgstr ""
-#: fortran/resolve.cc:5010
+#: fortran/resolve.cc:5046
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.cc:5015
+#: fortran/resolve.cc:5051
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
msgstr ""
-#: fortran/resolve.cc:5036
+#: fortran/resolve.cc:5072
#, gcc-internal-format, gfc-internal-format
msgid "Illegal stride of zero at %L"
msgstr ""
-#: fortran/resolve.cc:5053
+#: fortran/resolve.cc:5089
#, 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:5061
+#: fortran/resolve.cc:5097
#, 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:5077
+#: fortran/resolve.cc:5113
#, 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:5086
+#: fortran/resolve.cc:5122
#, 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:5102
+#: fortran/resolve.cc:5138
#, gcc-internal-format
msgid "check_dimension(): Bad array reference"
msgstr ""
-#: fortran/resolve.cc:5125
+#: fortran/resolve.cc:5161
#, gcc-internal-format, gfc-internal-format
msgid "Rightmost upper bound of assumed size array section not specified at %L"
msgstr ""
-#: fortran/resolve.cc:5135
+#: fortran/resolve.cc:5171
#, gcc-internal-format, gfc-internal-format
msgid "Rank mismatch in array reference at %L (%d/%d)"
msgstr ""
-#: fortran/resolve.cc:5143
+#: fortran/resolve.cc:5179
#, gcc-internal-format, gfc-internal-format
msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
msgstr ""
-#: fortran/resolve.cc:5159
+#: fortran/resolve.cc:5195
#, gcc-internal-format, gfc-internal-format
msgid "Coindex of codimension %d must be a scalar at %L"
msgstr ""
-#: fortran/resolve.cc:5187
+#: fortran/resolve.cc:5223
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5193
+#: fortran/resolve.cc:5229
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L must be of INTEGER type, found %s"
msgstr ""
-#: fortran/resolve.cc:5199
+#: fortran/resolve.cc:5235
#, gcc-internal-format, gfc-internal-format
msgid "REAL array index at %L"
msgstr ""
-#: fortran/resolve.cc:5239
+#: fortran/resolve.cc:5275
#, gcc-internal-format, gfc-internal-format
msgid "Argument dim at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5246
+#: fortran/resolve.cc:5282
#, gcc-internal-format, gfc-internal-format
msgid "Argument dim at %L must be of INTEGER type"
msgstr ""
-#: fortran/resolve.cc:5307
+#: fortran/resolve.cc:5343
#, gcc-internal-format, gfc-internal-format
msgid "Invalid array reference of a non-array entity at %L"
msgstr ""
-#: fortran/resolve.cc:5322
+#: fortran/resolve.cc:5358
#, gcc-internal-format
msgid "find_array_spec(): unused as(1)"
msgstr ""
-#: fortran/resolve.cc:5334
+#: fortran/resolve.cc:5370
#, gcc-internal-format
msgid "find_array_spec(): unused as(2)"
msgstr ""
-#: fortran/resolve.cc:5379
+#: fortran/resolve.cc:5415
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L is an array of rank %d"
msgstr ""
-#: fortran/resolve.cc:5470
+#: fortran/resolve.cc:5506
#, gcc-internal-format, gfc-internal-format
msgid "TEAM_NUMBER argument at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5477
+#: fortran/resolve.cc:5513
#, gcc-internal-format, gfc-internal-format
msgid "TEAM_NUMBER argument at %L must be of INTEGER type, found %s"
msgstr ""
-#: fortran/resolve.cc:5491
+#: fortran/resolve.cc:5527
#, gcc-internal-format, gfc-internal-format
msgid "TEAM argument at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5500
+#: fortran/resolve.cc:5536
#, gcc-internal-format, gfc-internal-format
msgid ""
"TEAM argument at %L must be of TEAM_TYPE from the intrinsic module "
"ISO_FORTRAN_ENV, found %s"
msgstr ""
-#: fortran/resolve.cc:5514
+#: fortran/resolve.cc:5550
#, gcc-internal-format, gfc-internal-format
msgid "STAT argument at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5521
+#: fortran/resolve.cc:5557
#, gcc-internal-format, gfc-internal-format
msgid "STAT argument at %L must be of INTEGER type, found %s"
msgstr ""
-#: fortran/resolve.cc:5530
+#: fortran/resolve.cc:5566
#, gcc-internal-format, gfc-internal-format
msgid "STAT's expression at %L must be a variable"
msgstr ""
-#: fortran/resolve.cc:5552
+#: fortran/resolve.cc:5588
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L must be of type INTEGER"
msgstr ""
-#: fortran/resolve.cc:5559
+#: fortran/resolve.cc:5595
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5581
+#: fortran/resolve.cc:5617
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L must be of type INTEGER"
msgstr ""
-#: fortran/resolve.cc:5588
+#: fortran/resolve.cc:5624
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:5608
+#: fortran/resolve.cc:5644
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L is too large"
msgstr ""
-#: fortran/resolve.cc:5799
+#: fortran/resolve.cc:5835
#, gcc-internal-format
msgid "resolve_ref(): Bad array reference"
msgstr ""
-#: fortran/resolve.cc:5813
+#: fortran/resolve.cc:5849
#, 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:5823
+#: fortran/resolve.cc:5859
#, 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:5871
+#: fortran/resolve.cc:5907
#, 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:5983
+#: fortran/resolve.cc:6019
#, gcc-internal-format
msgid "gfc_expression_rank(): Two array specs"
msgstr ""
-#: fortran/resolve.cc:6012
+#: fortran/resolve.cc:6048
#, gcc-internal-format
msgid "Illegal coarray index"
msgstr ""
-#: fortran/resolve.cc:6060
+#: fortran/resolve.cc:6096
#, 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:6070
+#: fortran/resolve.cc:6106
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L may only be used as actual argument"
msgstr ""
@@ -86338,14 +86565,14 @@ msgstr ""
#. for all inquiry functions in resolve_function; the reason is
#. that the function-name resolution happens too late in that
#. function.
-#: fortran/resolve.cc:6080
+#: fortran/resolve.cc:6116
#, 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:6101
+#: fortran/resolve.cc:6137
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank variable %s at %L may only be used as actual argument"
msgstr ""
@@ -86354,457 +86581,450 @@ msgstr ""
#. for all inquiry functions in resolve_function; the reason is
#. that the function-name resolution happens too late in that
#. function.
-#: fortran/resolve.cc:6111
+#: fortran/resolve.cc:6147
#, 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:6122
+#: fortran/resolve.cc:6158
#, 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:6131
+#: fortran/resolve.cc:6167
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L shall not have a subobject reference"
msgstr ""
-#: fortran/resolve.cc:6148
+#: fortran/resolve.cc:6184
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
msgstr ""
-#: fortran/resolve.cc:6209
+#: fortran/resolve.cc:6245
#, gcc-internal-format
msgid "Scalar variable %qs has an array reference at %L"
msgstr ""
-#: fortran/resolve.cc:6365
+#: fortran/resolve.cc:6401
#, 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:6370
+#: fortran/resolve.cc:6406
#, gcc-internal-format
msgid ""
"Variable %qs is used at %L before the ENTRY statement in which it is a "
"parameter"
msgstr ""
-#: fortran/resolve.cc:6444
+#: fortran/resolve.cc:6480
#, gcc-internal-format, gfc-internal-format
msgid "Polymorphic subobject of coindexed object at %L"
msgstr ""
-#: fortran/resolve.cc:6457
+#: fortran/resolve.cc:6493
#, gcc-internal-format, gfc-internal-format
msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
msgstr ""
-#: fortran/resolve.cc:6470
+#: fortran/resolve.cc:6506
#, gcc-internal-format
msgid "Using variable %qs at %L is deprecated"
msgstr ""
-#: fortran/resolve.cc:6526 fortran/resolve.cc:6614 fortran/resolve.cc:6638
+#: fortran/resolve.cc:6562 fortran/resolve.cc:6650 fortran/resolve.cc:6674
#, gcc-internal-format, gfc-internal-format
msgid "Invalid array reference at %L"
msgstr ""
-#: fortran/resolve.cc:6723
+#: fortran/resolve.cc:6759
#, 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:6902 fortran/resolve.cc:7054
+#: fortran/resolve.cc:6938 fortran/resolve.cc:7090
#, gcc-internal-format, gfc-internal-format
msgid "Error in typebound call at %L"
msgstr ""
-#: fortran/resolve.cc:7018
+#: fortran/resolve.cc:7054
#, gcc-internal-format, gfc-internal-format
msgid "Passed-object at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:7025
+#: fortran/resolve.cc:7061
#, gcc-internal-format
msgid ""
"Base object for procedure-pointer component call at %L is of ABSTRACT type "
"%qs"
msgstr ""
-#: fortran/resolve.cc:7064
+#: fortran/resolve.cc:7100
#, gcc-internal-format
msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
msgstr ""
-#: fortran/resolve.cc:7073
+#: fortran/resolve.cc:7109
#, 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:7268
+#: fortran/resolve.cc:7304
#, gcc-internal-format
msgid ""
"Found no matching specific binding for the call to the GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.cc:7302
+#: fortran/resolve.cc:7338
#, gcc-internal-format
msgid "%qs at %L should be a SUBROUTINE"
msgstr ""
-#: fortran/resolve.cc:7355
+#: fortran/resolve.cc:7391
#, gcc-internal-format
msgid "%qs at %L should be a FUNCTION"
msgstr ""
-#: fortran/resolve.cc:7896
+#: fortran/resolve.cc:7932
#, gcc-internal-format
msgid "gfc_resolve_expr(): Bad expression type"
msgstr ""
-#: fortran/resolve.cc:7929
+#: fortran/resolve.cc:7965
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be a scalar"
msgstr ""
-#: fortran/resolve.cc:7939
+#: fortran/resolve.cc:7975
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be integer"
msgstr ""
-#: fortran/resolve.cc:7943 fortran/resolve.cc:7950
+#: fortran/resolve.cc:7979 fortran/resolve.cc:7986
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be INTEGER"
msgstr ""
-#: fortran/resolve.cc:8005
+#: fortran/resolve.cc:8041
#, gcc-internal-format, gfc-internal-format
msgid "Step expression in DO loop at %L cannot be zero"
msgstr ""
-#: fortran/resolve.cc:8028
+#: fortran/resolve.cc:8064
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L will be executed zero times"
msgstr ""
-#: fortran/resolve.cc:8045
+#: fortran/resolve.cc:8081
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L is undefined as it overflows"
msgstr ""
-#: fortran/resolve.cc:8051
+#: fortran/resolve.cc:8087
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L is undefined as it underflows"
msgstr ""
-#: fortran/resolve.cc:8111
+#: fortran/resolve.cc:8147
#, gcc-internal-format
msgid ""
"Variable %qs referenced in concurrent-header at %L must not appear in LOCAL "
"locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8147
+#: fortran/resolve.cc:8183
#, gcc-internal-format
msgid ""
"Variable %qs at %L not specified in a locality spec of DO CONCURRENT at %L "
"but required due to DEFAULT (NONE)"
msgstr ""
-#: fortran/resolve.cc:8199
+#: fortran/resolve.cc:8235
#, gcc-internal-format, gfc-internal-format
msgid "Expected variable name in %s locality spec at %L"
msgstr ""
-#: fortran/resolve.cc:8208
+#: fortran/resolve.cc:8244
#, gcc-internal-format
msgid "Variable %qs at %L has already been specified in a locality-spec"
msgstr ""
-#: fortran/resolve.cc:8218
+#: fortran/resolve.cc:8254
#, gcc-internal-format
msgid "Index variable %qs at %L cannot be specified in a locality-spec"
msgstr ""
-#: fortran/resolve.cc:8231
+#: fortran/resolve.cc:8267
#, gcc-internal-format
msgid "OPTIONAL attribute not permitted for %qs in %s locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8238
+#: fortran/resolve.cc:8274
#, gcc-internal-format
msgid "Assumed-size array not permitted for %qs in %s locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8251
+#: fortran/resolve.cc:8287
#, gcc-internal-format
msgid "ALLOCATABLE attribute not permitted for %qs in %s locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8256
+#: fortran/resolve.cc:8292
#, gcc-internal-format
msgid ""
"Nonpointer polymorphic dummy argument not permitted for %qs in %s locality-"
"spec at %L"
msgstr ""
-#: fortran/resolve.cc:8261
+#: fortran/resolve.cc:8297
#, gcc-internal-format
msgid "Coarray not permitted for %qs in %s locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8267
+#: fortran/resolve.cc:8303
#, gcc-internal-format
msgid "Finalizable type not permitted for %qs in %s locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8272
+#: fortran/resolve.cc:8308
#, gcc-internal-format
msgid ""
"Type with ultimate allocatable component not permitted for %qs in %s "
"locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8280
+#: fortran/resolve.cc:8316
#, gcc-internal-format
msgid ""
"ASYNCHRONOUS attribute not permitted for %qs in REDUCE locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8284
+#: fortran/resolve.cc:8320
#, gcc-internal-format
msgid "VOLATILE attribute not permitted for %qs in REDUCE locality-spec at %L"
msgstr ""
-#: fortran/resolve.cc:8338
+#: fortran/resolve.cc:8374
#, gcc-internal-format
msgid "Expected numeric type for %qs in REDUCE at %L, got %s"
msgstr ""
-#: fortran/resolve.cc:8347
+#: fortran/resolve.cc:8383
#, gcc-internal-format
msgid "Expected logical type for %qs in REDUCE at %L, got %qs"
msgstr ""
-#: fortran/resolve.cc:8365
+#: fortran/resolve.cc:8401
#, gcc-internal-format
msgid ""
"Expected INTEGER, REAL or CHARACTER type for %qs in REDUCE with MIN/MAX at "
"%L, got %s"
msgstr ""
-#: fortran/resolve.cc:8374
+#: fortran/resolve.cc:8410
#, gcc-internal-format
msgid ""
"Expected integer type for %qs in REDUCE with IAND/IOR/IEOR at %L, got %s"
msgstr ""
-#: fortran/resolve.cc:8412
+#: fortran/resolve.cc:8448
#, gcc-internal-format
msgid "Variable %qs in locality-spec at %L is not used"
msgstr ""
-#: fortran/resolve.cc:8429
-#, gcc-internal-format
-msgid ""
-"Sorry, LOCAL and LOCAL_INIT are not yet supported for %<do concurrent%> "
-"constructs at %L"
-msgstr ""
-
-#: fortran/resolve.cc:8450
+#: fortran/resolve.cc:8479
#, gcc-internal-format, gfc-internal-format
msgid "FORALL index-name at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.cc:8455
+#: fortran/resolve.cc:8484
#, gcc-internal-format, gfc-internal-format
msgid "FORALL start expression at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.cc:8462
+#: fortran/resolve.cc:8491
#, gcc-internal-format, gfc-internal-format
msgid "FORALL end expression at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.cc:8470
+#: fortran/resolve.cc:8499
#, gcc-internal-format, gfc-internal-format
msgid "FORALL stride expression at %L must be a scalar %s"
msgstr ""
-#: fortran/resolve.cc:8475
+#: fortran/resolve.cc:8504
#, gcc-internal-format, gfc-internal-format
msgid "FORALL stride expression at %L cannot be zero"
msgstr ""
-#: fortran/resolve.cc:8488
+#: fortran/resolve.cc:8517
#, gcc-internal-format
msgid "FORALL index %qs may not appear in triplet specification at %L"
msgstr ""
-#: fortran/resolve.cc:8593 fortran/resolve.cc:8899
+#: fortran/resolve.cc:8622 fortran/resolve.cc:8928
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
msgstr ""
-#: fortran/resolve.cc:8601 fortran/resolve.cc:8862
+#: fortran/resolve.cc:8630 fortran/resolve.cc:8891
#, gcc-internal-format, gfc-internal-format
msgid "Coindexed allocatable object at %L"
msgstr ""
-#: fortran/resolve.cc:8719
+#: fortran/resolve.cc:8748
#, 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:8750
+#: fortran/resolve.cc:8779
#, 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:8914
+#: fortran/resolve.cc:8943
#, gcc-internal-format, gfc-internal-format
msgid "The intrinsic NULL cannot be used as source-expr at %L"
msgstr ""
-#: fortran/resolve.cc:8922
+#: fortran/resolve.cc:8951
#, gcc-internal-format, gfc-internal-format
msgid "Type of entity at %L is type incompatible with source-expr at %L"
msgstr ""
-#: fortran/resolve.cc:8934
+#: fortran/resolve.cc:8963
#, 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:8948
+#: fortran/resolve.cc:8977
#, 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:8973
+#: fortran/resolve.cc:9002
#, 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:8986
+#: fortran/resolve.cc:9015
#, 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:9000
+#: fortran/resolve.cc:9029
#, gcc-internal-format
msgid ""
"The type parameter in ALLOCATE statement with type-spec shall be an asterisk "
"as allocate object %qs at %L is a dummy argument with assumed type parameter"
msgstr ""
-#: fortran/resolve.cc:9020
+#: fortran/resolve.cc:9049
#, 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:9104 fortran/resolve.cc:9119
+#: fortran/resolve.cc:9133 fortran/resolve.cc:9148
#, gcc-internal-format, gfc-internal-format
msgid "Array specification required in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.cc:9111
+#: fortran/resolve.cc:9140
#, gcc-internal-format, gfc-internal-format
msgid ""
"Array specification or array-valued SOURCE= expression required in ALLOCATE "
"statement at %L"
msgstr ""
-#: fortran/resolve.cc:9136
+#: fortran/resolve.cc:9165
#, gcc-internal-format, gfc-internal-format
msgid "Coarray specification required in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.cc:9146 fortran/resolve.cc:9248
+#: fortran/resolve.cc:9175 fortran/resolve.cc:9277
#, gcc-internal-format, gfc-internal-format
msgid "Bad coarray specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.cc:9152
+#: fortran/resolve.cc:9181
#, gcc-internal-format, gfc-internal-format
msgid "Upper cobound is less than lower cobound at %L"
msgstr ""
-#: fortran/resolve.cc:9164
+#: fortran/resolve.cc:9193
#, gcc-internal-format, gfc-internal-format
msgid "Upper cobound is less than lower cobound of 1 at %L"
msgstr ""
-#: fortran/resolve.cc:9175 fortran/resolve.cc:9203
+#: fortran/resolve.cc:9204 fortran/resolve.cc:9232
#, gcc-internal-format, gfc-internal-format
msgid "Bad array specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.cc:9222
+#: fortran/resolve.cc:9251
#, 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:9237
+#: fortran/resolve.cc:9266
#, gcc-internal-format
msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.cc:9279
+#: fortran/resolve.cc:9308
#, gcc-internal-format, gfc-internal-format
msgid "Stat-variable at %L must be a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.cc:9308
+#: fortran/resolve.cc:9337
#, gcc-internal-format, gfc-internal-format
msgid "Stat-variable at %L shall not be %sd within the same %s statement"
msgstr ""
-#: fortran/resolve.cc:9321
+#: fortran/resolve.cc:9350
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG at %L is useless without a STAT tag"
msgstr ""
-#: fortran/resolve.cc:9335
+#: fortran/resolve.cc:9364
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
msgstr ""
-#: fortran/resolve.cc:9364
+#: fortran/resolve.cc:9393
#, gcc-internal-format, gfc-internal-format
msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
msgstr ""
-#: fortran/resolve.cc:9396
+#: fortran/resolve.cc:9425
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L also appears at %L"
msgstr ""
-#: fortran/resolve.cc:9402 fortran/resolve.cc:9408
+#: fortran/resolve.cc:9431 fortran/resolve.cc:9437
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L is subobject of object at %L"
msgstr ""
@@ -86813,394 +87033,416 @@ msgstr ""
#. 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:9636
+#: fortran/resolve.cc:9665
#, gcc-internal-format, gfc-internal-format
msgid "CASE label at %L overlaps with CASE label at %L"
msgstr ""
-#: fortran/resolve.cc:9687
+#: fortran/resolve.cc:9716
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be of type %s"
msgstr ""
-#: fortran/resolve.cc:9698
+#: fortran/resolve.cc:9727
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be of kind %d"
msgstr ""
-#: fortran/resolve.cc:9711
+#: fortran/resolve.cc:9740
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:9757
+#: fortran/resolve.cc:9786
#, 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:9778
+#: fortran/resolve.cc:9807
#, gcc-internal-format, gfc-internal-format
msgid "Argument of SELECT statement at %L cannot be %s"
msgstr ""
-#: fortran/resolve.cc:9788
+#: fortran/resolve.cc:9817
#, gcc-internal-format, gfc-internal-format
msgid "Argument of SELECT statement at %L must be a scalar expression"
msgstr ""
-#: fortran/resolve.cc:9806 fortran/resolve.cc:9814
+#: fortran/resolve.cc:9835 fortran/resolve.cc:9843
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L is not in the range of %s"
msgstr ""
-#: fortran/resolve.cc:9876 fortran/resolve.cc:10710
+#: fortran/resolve.cc:9905 fortran/resolve.cc:10739
#, 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:9902
+#: fortran/resolve.cc:9931
#, gcc-internal-format, gfc-internal-format
msgid "Logical range in CASE statement at %L is not allowed"
msgstr ""
-#: fortran/resolve.cc:9915
+#: fortran/resolve.cc:9944
#, gcc-internal-format, gfc-internal-format
msgid "Constant logical value in CASE statement is repeated at %L"
msgstr ""
-#: fortran/resolve.cc:9930
+#: fortran/resolve.cc:9959
#, gcc-internal-format, gfc-internal-format
msgid "Range specification at %L can never be matched"
msgstr ""
-#: fortran/resolve.cc:10033
+#: fortran/resolve.cc:10062
#, gcc-internal-format, gfc-internal-format
msgid "Logical SELECT CASE block at %L has more that two cases"
msgstr ""
-#: fortran/resolve.cc:10095
+#: fortran/resolve.cc:10124
#, gcc-internal-format, gfc-internal-format
msgid ""
"(F202y)Missing or invalid bound in ASSOCIATE rank remapping of associate "
"name %s at %L"
msgstr ""
-#: fortran/resolve.cc:10111
+#: fortran/resolve.cc:10140
#, gcc-internal-format
msgid "Associating entity %qs at %L is a procedure pointer"
msgstr ""
-#: fortran/resolve.cc:10120
+#: fortran/resolve.cc:10149
#, gcc-internal-format
msgid "Derived type %qs cannot be used as a variable at %L"
msgstr ""
-#: fortran/resolve.cc:10137
+#: fortran/resolve.cc:10166
#, gcc-internal-format
msgid "Associating entity %qs at %L is a procedure name"
msgstr ""
-#: fortran/resolve.cc:10153
+#: fortran/resolve.cc:10182
#, gcc-internal-format, gfc-internal-format
msgid "Associating selector-expression at %L yields a procedure"
msgstr ""
-#: fortran/resolve.cc:10207
+#: fortran/resolve.cc:10236
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L cannot be NULL()"
msgstr ""
-#: fortran/resolve.cc:10212
+#: fortran/resolve.cc:10241
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L has no type"
msgstr ""
-#: fortran/resolve.cc:10271
+#: fortran/resolve.cc:10300
#, gcc-internal-format
msgid "Associate-name %qs at %L is used as array"
msgstr ""
-#: fortran/resolve.cc:10282
+#: fortran/resolve.cc:10311
#, gcc-internal-format, gfc-internal-format
msgid "CLASS selector at %L needs a temporary which is not yet implemented"
msgstr ""
-#: fortran/resolve.cc:10569
+#: fortran/resolve.cc:10598
#, gcc-internal-format, gfc-internal-format
msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
msgstr ""
-#: fortran/resolve.cc:10618 fortran/resolve.cc:10630
+#: fortran/resolve.cc:10647 fortran/resolve.cc:10659
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L must not be coindexed"
msgstr ""
-#: fortran/resolve.cc:10659
+#: fortran/resolve.cc:10688
#, gcc-internal-format, gfc-internal-format
msgid "TYPE IS at %L overlaps with TYPE IS at %L"
msgstr ""
-#: fortran/resolve.cc:10672
+#: fortran/resolve.cc:10701
#, gcc-internal-format
msgid "Derived type %qs at %L must be extensible"
msgstr ""
-#: fortran/resolve.cc:10685
+#: fortran/resolve.cc:10714
#, gcc-internal-format
msgid "Derived type %qs at %L must be an extension of %qs"
msgstr ""
-#: fortran/resolve.cc:10688
+#: fortran/resolve.cc:10717
#, gcc-internal-format
msgid "Unexpected intrinsic type %qs at %L"
msgstr ""
-#: fortran/resolve.cc:10698
+#: fortran/resolve.cc:10727
#, 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:10949
+#: fortran/resolve.cc:10978
#, gcc-internal-format, gfc-internal-format
msgid "Double CLASS IS block in SELECT TYPE statement at %L"
msgstr ""
-#: fortran/resolve.cc:11082
+#: fortran/resolve.cc:11111
#, gcc-internal-format, gfc-internal-format
msgid "RANK DEFAULT at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.cc:11091
+#: fortran/resolve.cc:11120
#, gcc-internal-format, gfc-internal-format
msgid "RANK (*) at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.cc:11094
+#: fortran/resolve.cc:11123
#, gcc-internal-format, gfc-internal-format
msgid "RANK (%i) at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.cc:11104
+#: fortran/resolve.cc:11133
#, 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:11213
+#: fortran/resolve.cc:11242
#, gcc-internal-format, gfc-internal-format
msgid "Invalid context for NULL () intrinsic at %L"
msgstr ""
-#: fortran/resolve.cc:11267
+#: fortran/resolve.cc:11296
#, gcc-internal-format, gfc-internal-format
msgid "DTIO %s procedure at %L must be recursive"
msgstr ""
-#: fortran/resolve.cc:11277
+#: fortran/resolve.cc:11306
#, 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:11290
+#: fortran/resolve.cc:11319
#, 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:11299
+#: fortran/resolve.cc:11328
#, gcc-internal-format, gfc-internal-format
msgid "Data transfer element at %L cannot have procedure pointer components"
msgstr ""
-#: fortran/resolve.cc:11306
+#: fortran/resolve.cc:11335
#, 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:11317
+#: fortran/resolve.cc:11346
#, gcc-internal-format, gfc-internal-format
msgid "Data transfer element at %L cannot have PRIVATE components"
msgstr ""
-#: fortran/resolve.cc:11323
+#: fortran/resolve.cc:11352
#, 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:11341
+#: fortran/resolve.cc:11370
#, 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:11392
+#: fortran/resolve.cc:11421
#, gcc-internal-format, gfc-internal-format
msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
msgstr ""
-#: fortran/resolve.cc:11402
+#: fortran/resolve.cc:11431
#, gcc-internal-format, gfc-internal-format
msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
msgstr ""
-#: fortran/resolve.cc:11406
+#: fortran/resolve.cc:11435
#, gcc-internal-format, gfc-internal-format
msgid "Event variable argument at %L must be a coarray or coindexed"
msgstr ""
-#: fortran/resolve.cc:11409
+#: fortran/resolve.cc:11438
#, gcc-internal-format, gfc-internal-format
msgid "Event variable argument at %L must be a coarray but not coindexed"
msgstr ""
-#: fortran/resolve.cc:11416 fortran/resolve.cc:11538
+#: fortran/resolve.cc:11445 fortran/resolve.cc:11672
#, gcc-internal-format, gfc-internal-format
msgid "STAT= argument at %L must be a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.cc:11428 fortran/resolve.cc:11550
+#: fortran/resolve.cc:11457 fortran/resolve.cc:11684
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
msgstr ""
-#: fortran/resolve.cc:11440
+#: fortran/resolve.cc:11469
#, gcc-internal-format, gfc-internal-format
msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
msgstr ""
-#: fortran/resolve.cc:11453
+#: fortran/resolve.cc:11482
#, gcc-internal-format, gfc-internal-format
msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
msgstr ""
-#: fortran/resolve.cc:11514
+#: fortran/resolve.cc:11495
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"TEAM argument at %L must be a scalar expression of type TEAM_TYPE from the "
+"intrinsic module ISO_FORTRAN_ENV"
+msgstr ""
+
+#: fortran/resolve.cc:11509
+#, gcc-internal-format, gfc-internal-format
+msgid "%s argument at %L must be a scalar %s variable of at least kind %d"
+msgstr ""
+
+#: fortran/resolve.cc:11530
+#, gcc-internal-format, gfc-internal-format
+msgid "%s argument at %L must be a scalar %s of at least kind %d"
+msgstr ""
+
+#: fortran/resolve.cc:11648
#, gcc-internal-format, gfc-internal-format
msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
msgstr ""
-#: fortran/resolve.cc:11518 fortran/resolve.cc:11528
+#: fortran/resolve.cc:11652 fortran/resolve.cc:11662
#, gcc-internal-format, gfc-internal-format
msgid "Imageset argument at %L must between 1 and num_images()"
msgstr ""
-#: fortran/resolve.cc:11581
+#: fortran/resolve.cc:11715
#, 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:11591
+#: fortran/resolve.cc:11724
#, 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:11608 fortran/resolve.cc:11631
+#: fortran/resolve.cc:11742 fortran/resolve.cc:11769
#, gcc-internal-format, gfc-internal-format
msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
msgstr ""
-#: fortran/resolve.cc:11612 fortran/resolve.cc:11637
+#: fortran/resolve.cc:11746 fortran/resolve.cc:11775
#, gcc-internal-format, gfc-internal-format
msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
msgstr ""
+#: fortran/resolve.cc:11750
+#, gcc-internal-format, gfc-internal-format
+msgid "GOTO statement at %L leaves CHANGE TEAM construct for label at %L"
+msgstr ""
+
#. 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:11652
+#: fortran/resolve.cc:11790
#, 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:11724
+#: fortran/resolve.cc:11862
#, gcc-internal-format, gfc-internal-format
msgid "WHERE mask at %L has inconsistent shape"
msgstr ""
-#: fortran/resolve.cc:11740
+#: fortran/resolve.cc:11878
#, gcc-internal-format, gfc-internal-format
msgid "WHERE assignment target at %L has inconsistent shape"
msgstr ""
-#: fortran/resolve.cc:11753 fortran/resolve.cc:11845
+#: fortran/resolve.cc:11891 fortran/resolve.cc:11983
#, gcc-internal-format, gfc-internal-format
msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
msgstr ""
-#: fortran/resolve.cc:11763 fortran/resolve.cc:11855
+#: fortran/resolve.cc:11901 fortran/resolve.cc:11993
#, gcc-internal-format, gfc-internal-format
msgid "Unsupported statement inside WHERE at %L"
msgstr ""
-#: fortran/resolve.cc:11794
+#: fortran/resolve.cc:11932
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to a FORALL index variable at %L"
msgstr ""
-#: fortran/resolve.cc:11803
+#: fortran/resolve.cc:11941
#, 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:11960
+#: fortran/resolve.cc:12098
#, gcc-internal-format, gfc-internal-format
msgid "FORALL construct at %L"
msgstr ""
-#: fortran/resolve.cc:11981
+#: fortran/resolve.cc:12119
#, gcc-internal-format, gfc-internal-format
msgid "FORALL index-name at %L must be a scalar variable of type integer"
msgstr ""
-#: fortran/resolve.cc:11991
+#: fortran/resolve.cc:12129
#, gcc-internal-format, gfc-internal-format
msgid "An outer FORALL construct already has an index with this name %L"
msgstr ""
-#: fortran/resolve.cc:12069
+#: fortran/resolve.cc:12207
#, gcc-internal-format, gfc-internal-format
msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
msgstr ""
-#: fortran/resolve.cc:12190
+#: fortran/resolve.cc:12328
#, gcc-internal-format
msgid "gfc_resolve_blocks(): Bad block type"
msgstr ""
-#: fortran/resolve.cc:12270
+#: fortran/resolve.cc:12408
#, gcc-internal-format, gfc-internal-format
msgid ""
"Variable in the ordinary assignment at %L is a procedure pointer component"
msgstr ""
-#: fortran/resolve.cc:12290
+#: fortran/resolve.cc:12428
#, gcc-internal-format, gfc-internal-format
msgid "Cannot assign %s to %s at %L"
msgstr ""
-#: fortran/resolve.cc:12338
+#: fortran/resolve.cc:12476
#, gcc-internal-format
msgid "CHARACTER expression will be truncated in assignment (%wd/%wd) at %L"
msgstr ""
-#: fortran/resolve.cc:12370
+#: fortran/resolve.cc:12508
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed expression at %L is assigned to a derived type variable with a "
@@ -87208,7 +87450,7 @@ msgid ""
msgstr ""
#. F2008, C1283 (4).
-#: fortran/resolve.cc:12376
+#: fortran/resolve.cc:12514
#, gcc-internal-format, gfc-internal-format
msgid ""
"In a pure subprogram an INTENT(IN) dummy argument shall not be used as the "
@@ -87217,43 +87459,43 @@ msgid ""
"component selection."
msgstr ""
-#: fortran/resolve.cc:12388
+#: fortran/resolve.cc:12526
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to coindexed variable at %L in a PURE procedure"
msgstr ""
-#: fortran/resolve.cc:12420
+#: fortran/resolve.cc:12558
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to polymorphic coarray at %L is not permitted"
msgstr ""
-#: fortran/resolve.cc:12424
+#: fortran/resolve.cc:12562
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to an allocatable polymorphic variable at %L"
msgstr ""
-#: fortran/resolve.cc:12429
+#: fortran/resolve.cc:12567
#, gcc-internal-format
msgid ""
"Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-"
"lhs%>"
msgstr ""
-#: fortran/resolve.cc:12436
+#: fortran/resolve.cc:12574
#, 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:12447
+#: fortran/resolve.cc:12585
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed variable must not have an allocatable ultimate component in "
"assignment at %L"
msgstr ""
-#: fortran/resolve.cc:12836
+#: fortran/resolve.cc:12974
#, gcc-internal-format, gfc-internal-format
msgid ""
"TODO: type-bound defined assignment(s) at %L not done because multiple part "
@@ -87262,93 +87504,82 @@ msgstr ""
#. Even if standard does not support this feature, continue to build
#. the two statements to avoid upsetting frontend_passes.c.
-#: fortran/resolve.cc:13150
+#: fortran/resolve.cc:13288
#, gcc-internal-format, gfc-internal-format
msgid "Pointer procedure assignment at %L"
msgstr ""
-#: fortran/resolve.cc:13162
+#: fortran/resolve.cc:13300
#, 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:13258
-#, gcc-internal-format
-msgid ""
-"TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE"
-msgstr ""
-
-#: fortran/resolve.cc:13457
-#, gcc-internal-format, gfc-internal-format
-msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER"
-msgstr ""
-
-#: fortran/resolve.cc:13493
+#: fortran/resolve.cc:13611
#, gcc-internal-format, gfc-internal-format
msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.cc:13497
+#: fortran/resolve.cc:13615
#, gcc-internal-format
msgid "Variable %qs has not been assigned a target label at %L"
msgstr ""
-#: fortran/resolve.cc:13508
+#: fortran/resolve.cc:13626
#, gcc-internal-format, gfc-internal-format
msgid ""
"Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
msgstr ""
-#: fortran/resolve.cc:13564
+#: fortran/resolve.cc:13682
#, gcc-internal-format, gfc-internal-format
msgid "Expected intrinsic assignment in OMP WORKSHARE at %L"
msgstr ""
-#: fortran/resolve.cc:13606
+#: fortran/resolve.cc:13724
#, gcc-internal-format, gfc-internal-format
msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
msgstr ""
-#: fortran/resolve.cc:13653
+#: fortran/resolve.cc:13771
#, gcc-internal-format, gfc-internal-format
msgid "Invalid NULL at %L"
msgstr ""
-#: fortran/resolve.cc:13657
+#: fortran/resolve.cc:13775
#, gcc-internal-format, gfc-internal-format
msgid ""
"Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
msgstr ""
-#: fortran/resolve.cc:13718
+#: fortran/resolve.cc:13836
#, gcc-internal-format
msgid "gfc_resolve_code(): No expression on DO WHILE"
msgstr ""
-#: fortran/resolve.cc:13723
+#: fortran/resolve.cc:13841
#, 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:13807
+#: fortran/resolve.cc:13925
#, gcc-internal-format, gfc-internal-format
msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
msgstr ""
-#: fortran/resolve.cc:13919
+#: fortran/resolve.cc:14037
#, gcc-internal-format
msgid "gfc_resolve_code(): Bad statement code"
msgstr ""
-#: fortran/resolve.cc:13940
+#: fortran/resolve.cc:14058
#, gcc-internal-format
msgid "Using parameter %qs declared at %L is deprecated"
msgstr ""
-#: fortran/resolve.cc:14036
+#: fortran/resolve.cc:14154
#, gcc-internal-format
msgid ""
"Variable %qs with binding label %qs at %L uses the same global identifier as "
@@ -87357,7 +87588,7 @@ 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:14050
+#: fortran/resolve.cc:14168
#, gcc-internal-format
msgid ""
"Variable %qs from module %qs with binding label %qs at %L uses the same "
@@ -87367,1169 +87598,1169 @@ msgstr ""
#. 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:14069
+#: fortran/resolve.cc:14187
#, 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:14155
+#: fortran/resolve.cc:14273
#, gcc-internal-format, gfc-internal-format
msgid "String length at %L is too large"
msgstr ""
-#: fortran/resolve.cc:14393
+#: fortran/resolve.cc:14511
#, gcc-internal-format
msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
msgstr ""
-#: fortran/resolve.cc:14397
+#: fortran/resolve.cc:14515
#, gcc-internal-format
msgid "Scalar object %qs at %L may not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.cc:14405
+#: fortran/resolve.cc:14523
#, gcc-internal-format
msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
msgstr ""
-#: fortran/resolve.cc:14416
+#: fortran/resolve.cc:14534
#, gcc-internal-format
msgid "Array %qs at %L cannot have a deferred shape"
msgstr ""
-#: fortran/resolve.cc:14434
+#: fortran/resolve.cc:14552
#, gcc-internal-format
msgid "Type %qs of CLASS variable %qs at %L is not extensible"
msgstr ""
-#: fortran/resolve.cc:14448
+#: fortran/resolve.cc:14566
#, gcc-internal-format
msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
msgstr ""
-#: fortran/resolve.cc:14481
+#: fortran/resolve.cc:14599
#, 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:14503
+#: fortran/resolve.cc:14621
#, gcc-internal-format
msgid ""
"Implied SAVE for module variable %qs at %L, needed due to the default "
"initialization"
msgstr ""
-#: fortran/resolve.cc:14536
+#: fortran/resolve.cc:14654
#, gcc-internal-format
msgid ""
"Entity %qs at %L has a deferred type parameter and requires either the "
"POINTER or ALLOCATABLE attribute"
msgstr ""
-#: fortran/resolve.cc:14550
+#: fortran/resolve.cc:14668
#, gcc-internal-format
msgid "Automatic object %qs at %L cannot have the SAVE attribute"
msgstr ""
#. F08:C541. The shape of an array defined in a main program or module
#. * needs to be constant.
-#: fortran/resolve.cc:14572
+#: fortran/resolve.cc:14690
#, gcc-internal-format
msgid "The module or main program array %qs at %L must have constant shape"
msgstr ""
-#: fortran/resolve.cc:14597
+#: fortran/resolve.cc:14715
#, 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:14618
+#: fortran/resolve.cc:14736
#, gcc-internal-format
msgid "%qs at %L must have constant character length in this context"
msgstr ""
-#: fortran/resolve.cc:14625
+#: fortran/resolve.cc:14743
#, gcc-internal-format
msgid "COMMON variable %qs at %L must have constant character length"
msgstr ""
-#: fortran/resolve.cc:14673
+#: fortran/resolve.cc:14791
#, gcc-internal-format
msgid "Allocatable %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14676
+#: fortran/resolve.cc:14794
#, gcc-internal-format
msgid "External %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14679
+#: fortran/resolve.cc:14797
#, gcc-internal-format
msgid "Dummy %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14682
+#: fortran/resolve.cc:14800
#, gcc-internal-format
msgid "Intrinsic %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14685
+#: fortran/resolve.cc:14803
#, gcc-internal-format
msgid "Function result %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14688
+#: fortran/resolve.cc:14806
#, gcc-internal-format
msgid "Automatic array %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14730
+#: fortran/resolve.cc:14848
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L"
msgstr ""
-#: fortran/resolve.cc:14762
+#: fortran/resolve.cc:14880
#, gcc-internal-format
msgid "Character-valued statement function %qs at %L must have constant length"
msgstr ""
-#: fortran/resolve.cc:14785
+#: fortran/resolve.cc:14903
#, 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:14807
+#: fortran/resolve.cc:14925
#, gcc-internal-format
msgid ""
"Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs "
"which is PRIVATE"
msgstr ""
-#: fortran/resolve.cc:14825
+#: fortran/resolve.cc:14943
#, gcc-internal-format
msgid "Function %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.cc:14837
+#: fortran/resolve.cc:14955
#, gcc-internal-format
msgid "External object %qs at %L may not have an initializer"
msgstr ""
-#: fortran/resolve.cc:14847
+#: fortran/resolve.cc:14965
#, gcc-internal-format
msgid "ELEMENTAL function %qs at %L must have a scalar result"
msgstr ""
-#: fortran/resolve.cc:14857
+#: fortran/resolve.cc:14975
#, gcc-internal-format
msgid ""
"Statement function %qs at %L may not have pointer or allocatable attribute"
msgstr ""
-#: fortran/resolve.cc:14876
+#: fortran/resolve.cc:14994
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
msgstr ""
-#: fortran/resolve.cc:14880
+#: fortran/resolve.cc:14998
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
msgstr ""
-#: fortran/resolve.cc:14884
+#: fortran/resolve.cc:15002
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be pure"
msgstr ""
-#: fortran/resolve.cc:14888
+#: fortran/resolve.cc:15006
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be recursive"
msgstr ""
-#: fortran/resolve.cc:14901
+#: fortran/resolve.cc:15019
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L"
msgstr ""
-#: fortran/resolve.cc:14912
+#: fortran/resolve.cc:15030
#, gcc-internal-format
msgid "Procedure pointer %qs at %L shall not be elemental"
msgstr ""
-#: fortran/resolve.cc:14918
+#: fortran/resolve.cc:15036
#, gcc-internal-format
msgid "Dummy procedure %qs at %L shall not be elemental"
msgstr ""
-#: fortran/resolve.cc:14938
+#: fortran/resolve.cc:15056
#, 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:14995
+#: fortran/resolve.cc:15113
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15001
+#: fortran/resolve.cc:15119
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15007
+#: fortran/resolve.cc:15125
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15015
+#: fortran/resolve.cc:15133
#, gcc-internal-format
msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15021
+#: fortran/resolve.cc:15139
#, gcc-internal-format
msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
msgstr ""
-#: fortran/resolve.cc:15064
+#: fortran/resolve.cc:15182
#, 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:15072
+#: fortran/resolve.cc:15190
#, 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:15080
+#: fortran/resolve.cc:15198
#, 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:15089
+#: fortran/resolve.cc:15207
#, 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:15113
+#: fortran/resolve.cc:15231
#, gcc-internal-format
msgid "Interface of %qs at %L must be explicit"
msgstr ""
-#: fortran/resolve.cc:15183
+#: fortran/resolve.cc:15301
#, gcc-internal-format
msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
msgstr ""
-#: fortran/resolve.cc:15192
+#: fortran/resolve.cc:15310
#, gcc-internal-format, gfc-internal-format
msgid "FINAL procedure at %L must have exactly one argument"
msgstr ""
-#: fortran/resolve.cc:15200 fortran/resolve.cc:15217
+#: fortran/resolve.cc:15318 fortran/resolve.cc:15335
#, gcc-internal-format
msgid "Argument of FINAL procedure at %L must be of type %qs"
msgstr ""
-#: fortran/resolve.cc:15208
+#: fortran/resolve.cc:15326
#, 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:15225
+#: fortran/resolve.cc:15343
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be a POINTER"
msgstr ""
-#: fortran/resolve.cc:15231
+#: fortran/resolve.cc:15349
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.cc:15237
+#: fortran/resolve.cc:15355
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
msgstr ""
-#: fortran/resolve.cc:15245
+#: fortran/resolve.cc:15363
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.cc:15254
+#: fortran/resolve.cc:15372
#, gcc-internal-format, gfc-internal-format
msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
msgstr ""
-#: fortran/resolve.cc:15276
+#: fortran/resolve.cc:15394
#, gcc-internal-format
msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
msgstr ""
-#: fortran/resolve.cc:15313
+#: fortran/resolve.cc:15431
#, 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:15354
+#: fortran/resolve.cc:15472
#, gcc-internal-format
msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15390
+#: fortran/resolve.cc:15508
#, gcc-internal-format
msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
msgstr ""
-#: fortran/resolve.cc:15449
+#: fortran/resolve.cc:15567
#, gcc-internal-format
msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15461
+#: fortran/resolve.cc:15579
#, gcc-internal-format
msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
msgstr ""
-#: fortran/resolve.cc:15489
+#: fortran/resolve.cc:15607
#, gcc-internal-format
msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
msgstr ""
-#: fortran/resolve.cc:15545
+#: fortran/resolve.cc:15663
#, gcc-internal-format, gfc-internal-format
msgid "Type-bound operator at %L cannot be NOPASS"
msgstr ""
-#: fortran/resolve.cc:15757
+#: fortran/resolve.cc:15875
#, gcc-internal-format
msgid ""
"%qs must be a module procedure or an external procedure with an explicit "
"interface at %L"
msgstr ""
-#: fortran/resolve.cc:15800
+#: fortran/resolve.cc:15918
#, gcc-internal-format
msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
msgstr ""
-#: fortran/resolve.cc:15814
+#: fortran/resolve.cc:15932
#, gcc-internal-format
msgid "Procedure %qs with PASS at %L must have at least one argument"
msgstr ""
-#: fortran/resolve.cc:15828 fortran/resolve.cc:16370
+#: fortran/resolve.cc:15946 fortran/resolve.cc:16488
#, gcc-internal-format
msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
msgstr ""
-#: fortran/resolve.cc:15837
+#: fortran/resolve.cc:15955
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
msgstr ""
-#: fortran/resolve.cc:15847
+#: fortran/resolve.cc:15965
#, gcc-internal-format
msgid ""
"Argument %qs of %qs with PASS(%s) at %L must be of the parametric derived-"
"type %qs"
msgstr ""
-#: fortran/resolve.cc:15889
+#: fortran/resolve.cc:16007
#, gcc-internal-format
msgid ""
"All LEN type parameters of the passed dummy argument %qs of %qs at %L must "
"be ASSUMED."
msgstr ""
-#: fortran/resolve.cc:15899
+#: fortran/resolve.cc:16017
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:15905
+#: fortran/resolve.cc:16023
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.cc:15911
+#: fortran/resolve.cc:16029
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
msgstr ""
-#: fortran/resolve.cc:15940
+#: fortran/resolve.cc:16058
#, gcc-internal-format
msgid "Procedure %qs at %L has the same name as a component of %qs"
msgstr ""
-#: fortran/resolve.cc:15950
+#: fortran/resolve.cc:16068
#, gcc-internal-format
msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
msgstr ""
-#: fortran/resolve.cc:16045
+#: fortran/resolve.cc:16163
#, gcc-internal-format
msgid ""
"Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and "
"not overridden"
msgstr ""
-#: fortran/resolve.cc:16150
+#: fortran/resolve.cc:16268
#, gcc-internal-format
msgid "Coarray component %qs at %L must be allocatable with deferred shape"
msgstr ""
-#: fortran/resolve.cc:16159
+#: fortran/resolve.cc:16277
#, 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:16169
+#: fortran/resolve.cc:16287
#, gcc-internal-format
msgid ""
"Component %qs at %L with coarray component shall be a nonpointer, "
"nonallocatable scalar"
msgstr ""
-#: fortran/resolve.cc:16194
+#: fortran/resolve.cc:16312
#, gcc-internal-format
msgid ""
"Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
msgstr ""
-#: fortran/resolve.cc:16205
+#: fortran/resolve.cc:16323
#, gcc-internal-format
msgid "Component %qs of BIND(C) type at %L must have length one"
msgstr ""
-#: fortran/resolve.cc:16303
+#: fortran/resolve.cc:16421
#, gcc-internal-format
msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
msgstr ""
-#: fortran/resolve.cc:16317
+#: fortran/resolve.cc:16435
#, gcc-internal-format
msgid ""
"Procedure pointer component %qs with PASS at %L must have at least one "
"argument"
msgstr ""
-#: fortran/resolve.cc:16333
+#: fortran/resolve.cc:16451
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
msgstr ""
-#: fortran/resolve.cc:16343
+#: fortran/resolve.cc:16461
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
msgstr ""
-#: fortran/resolve.cc:16352
+#: fortran/resolve.cc:16470
#, gcc-internal-format
msgid ""
"Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
msgstr ""
-#: fortran/resolve.cc:16361
+#: fortran/resolve.cc:16479
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.cc:16403
+#: fortran/resolve.cc:16521
#, gcc-internal-format
msgid ""
"Component %qs of %qs at %L has the same name as an inherited type-bound "
"procedure"
msgstr ""
-#: fortran/resolve.cc:16416
+#: fortran/resolve.cc:16534
#, gcc-internal-format
msgid ""
"Character length of component %qs needs to be a constant specification "
"expression at %L"
msgstr ""
-#: fortran/resolve.cc:16427
+#: fortran/resolve.cc:16545
#, gcc-internal-format
msgid ""
"Character length expression of component %qs at %L must be of INTEGER type, "
"found %s"
msgstr ""
-#: fortran/resolve.cc:16440
+#: fortran/resolve.cc:16558
#, gcc-internal-format
msgid ""
"Character component %qs of %qs at %L with deferred length must be a POINTER "
"or ALLOCATABLE"
msgstr ""
-#: fortran/resolve.cc:16473
+#: fortran/resolve.cc:16591
#, 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:16481
+#: fortran/resolve.cc:16599
#, gcc-internal-format, gfc-internal-format
msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
msgstr ""
-#: fortran/resolve.cc:16490
+#: fortran/resolve.cc:16608
#, 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:16576
+#: fortran/resolve.cc:16694
#, gcc-internal-format, gfc-internal-format
msgid "Conflicting initializers in union at %L and %L"
msgstr ""
-#: fortran/resolve.cc:16668
+#: fortran/resolve.cc:16786
#, 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:16681
+#: fortran/resolve.cc:16799
#, gcc-internal-format
msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
msgstr ""
-#: fortran/resolve.cc:16751
+#: fortran/resolve.cc:16869
#, gcc-internal-format
msgid ""
"Parameterized type %qs does not have a component corresponding to parameter "
"%qs at %L"
msgstr ""
-#: fortran/resolve.cc:16783
+#: fortran/resolve.cc:16901
#, 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:16797
+#: fortran/resolve.cc:16915
#, gcc-internal-format
msgid "Derived type %qs at %L has not been declared"
msgstr ""
-#: fortran/resolve.cc:16865
+#: fortran/resolve.cc:16983
#, gcc-internal-format
msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
msgstr ""
-#: fortran/resolve.cc:16871
+#: fortran/resolve.cc:16989
#, gcc-internal-format
msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.cc:16877
+#: fortran/resolve.cc:16995
#, gcc-internal-format
msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.cc:16885
+#: fortran/resolve.cc:17003
#, gcc-internal-format
msgid ""
"NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.cc:16902
+#: fortran/resolve.cc:17020
#, gcc-internal-format
msgid ""
"NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC "
"namelist %qs at %L"
msgstr ""
-#: fortran/resolve.cc:16924
+#: fortran/resolve.cc:17042
#, 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:16935
+#: fortran/resolve.cc:17053
#, 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:16962
+#: fortran/resolve.cc:17080
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.cc:16981
+#: fortran/resolve.cc:17099
#, gcc-internal-format
msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
msgstr ""
-#: fortran/resolve.cc:16997
+#: fortran/resolve.cc:17115
#, gcc-internal-format
msgid ""
"Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
msgstr ""
-#: fortran/resolve.cc:17008
+#: fortran/resolve.cc:17126
#, gcc-internal-format, gfc-internal-format
msgid "Incompatible derived type in PARAMETER at %L"
msgstr ""
-#: fortran/resolve.cc:17016
+#: fortran/resolve.cc:17134
#, gcc-internal-format
msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
msgstr ""
-#: fortran/resolve.cc:17068
+#: fortran/resolve.cc:17186
#, gcc-internal-format
msgid ""
"Entity %qs at %L has a deferred LEN parameter %qs and requires either the "
"POINTER or ALLOCATABLE attribute"
msgstr ""
-#: fortran/resolve.cc:17080
+#: fortran/resolve.cc:17198
#, 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:17087
+#: fortran/resolve.cc:17205
#, 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:17146
+#: fortran/resolve.cc:17264
#, gcc-internal-format, gfc-internal-format
msgid ""
"Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays "
"at %L are unsupported"
msgstr ""
-#: fortran/resolve.cc:17159
+#: fortran/resolve.cc:17277
#, gcc-internal-format
msgid ""
"%<omp_all_memory%>, declared at %L, may only be used in the OpenMP DEPEND "
"clause"
msgstr ""
-#: fortran/resolve.cc:17224
+#: fortran/resolve.cc:17342
#, gcc-internal-format, gfc-internal-format
msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
msgstr ""
-#: fortran/resolve.cc:17227
+#: fortran/resolve.cc:17345
#, gcc-internal-format, gfc-internal-format
msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
msgstr ""
-#: fortran/resolve.cc:17333
+#: fortran/resolve.cc:17451
#, 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:17354
+#: fortran/resolve.cc:17472
#, gcc-internal-format, gfc-internal-format
msgid "Bad specification for assumed size array at %L"
msgstr ""
-#: fortran/resolve.cc:17368
+#: fortran/resolve.cc:17486
#, gcc-internal-format, gfc-internal-format
msgid "Assumed size array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.cc:17371
+#: fortran/resolve.cc:17489
#, gcc-internal-format, gfc-internal-format
msgid "Assumed shape array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.cc:17383
+#: fortran/resolve.cc:17501
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.cc:17390
+#: fortran/resolve.cc:17508
#, gcc-internal-format, gfc-internal-format
msgid ""
"Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
msgstr ""
-#: fortran/resolve.cc:17403
+#: fortran/resolve.cc:17521
#, gcc-internal-format, gfc-internal-format
msgid "Symbol at %L is not a DUMMY variable"
msgstr ""
-#: fortran/resolve.cc:17409
+#: fortran/resolve.cc:17527
#, gcc-internal-format
msgid ""
"%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
msgstr ""
-#: fortran/resolve.cc:17419
+#: fortran/resolve.cc:17537
#, gcc-internal-format
msgid ""
"Character dummy variable %qs at %L with VALUE attribute must have constant "
"length"
msgstr ""
-#: fortran/resolve.cc:17428
+#: fortran/resolve.cc:17546
#, gcc-internal-format
msgid ""
"C interoperable character dummy variable %qs at %L with VALUE attribute must "
"have length one"
msgstr ""
-#: fortran/resolve.cc:17441 fortran/resolve.cc:17618
+#: fortran/resolve.cc:17559 fortran/resolve.cc:17736
#, gcc-internal-format
msgid "The derived type %qs at %L is of type %qs, which has not been defined"
msgstr ""
-#: fortran/resolve.cc:17455
+#: fortran/resolve.cc:17573
#, 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:17464
+#: fortran/resolve.cc:17582
#, 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:17473
+#: fortran/resolve.cc:17591
#, 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:17481
+#: fortran/resolve.cc:17599
#, 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:17488
+#: fortran/resolve.cc:17606
#, 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:17508
+#: fortran/resolve.cc:17626
#, gcc-internal-format, gfc-internal-format
msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
msgstr ""
-#: fortran/resolve.cc:17515
+#: fortran/resolve.cc:17633
#, 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:17522
+#: fortran/resolve.cc:17640
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
msgstr ""
-#: fortran/resolve.cc:17529
+#: fortran/resolve.cc:17647
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
msgstr ""
-#: fortran/resolve.cc:17555
+#: fortran/resolve.cc:17673
#, 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:17565
+#: fortran/resolve.cc:17683
#, gcc-internal-format
msgid "BIND(C) Variable %qs at %L must have length one"
msgstr ""
-#: fortran/resolve.cc:17644
+#: fortran/resolve.cc:17762
#, gcc-internal-format
msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
msgstr ""
-#: fortran/resolve.cc:17659
+#: fortran/resolve.cc:17777
#, 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:17672
+#: fortran/resolve.cc:17790
#, 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:17690
+#: fortran/resolve.cc:17808
#, 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:17702
+#: fortran/resolve.cc:17820
#, gcc-internal-format
msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.cc:17711
+#: fortran/resolve.cc:17829
#, gcc-internal-format
msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.cc:17724
+#: fortran/resolve.cc:17842
#, gcc-internal-format
msgid ""
"Function result %qs at %L shall not be a coarray or have a coarray component"
msgstr ""
-#: fortran/resolve.cc:17733
+#: fortran/resolve.cc:17851
#, 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:17746
+#: fortran/resolve.cc:17864
#, 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:17762
+#: fortran/resolve.cc:17880
#, gcc-internal-format
msgid ""
"Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy "
"argument"
msgstr ""
-#: fortran/resolve.cc:17770
+#: fortran/resolve.cc:17888
#, gcc-internal-format
msgid ""
"Coarray variable %qs at %L shall not have codimensions with deferred shape "
"without allocatable"
msgstr ""
-#: fortran/resolve.cc:17778
+#: fortran/resolve.cc:17896
#, gcc-internal-format
msgid "Allocatable coarray variable %qs at %L must have deferred shape"
msgstr ""
-#: fortran/resolve.cc:17791
+#: fortran/resolve.cc:17909
#, 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:17800
+#: fortran/resolve.cc:17918
#, gcc-internal-format
msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
msgstr ""
-#: fortran/resolve.cc:17816
+#: fortran/resolve.cc:17934
#, gcc-internal-format
msgid ""
"LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure "
"%qs"
msgstr ""
-#: fortran/resolve.cc:17822
+#: fortran/resolve.cc:17940
#, gcc-internal-format
msgid ""
"LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure "
"%qs"
msgstr ""
-#: fortran/resolve.cc:17847
+#: fortran/resolve.cc:17965
#, gcc-internal-format
msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
msgstr ""
-#: fortran/resolve.cc:17907
+#: fortran/resolve.cc:18025
#, gcc-internal-format, gfc-internal-format
msgid "Threadprivate at %L isn't SAVEd"
msgstr ""
-#: fortran/resolve.cc:17919
+#: fortran/resolve.cc:18037
#, gcc-internal-format
msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
msgstr ""
-#: fortran/resolve.cc:18030
+#: fortran/resolve.cc:18148
#, gcc-internal-format, gfc-internal-format
msgid "Expecting definable entity near %L"
msgstr ""
-#: fortran/resolve.cc:18038
+#: fortran/resolve.cc:18156
#, gcc-internal-format
msgid "BLOCK DATA element %qs at %L must be in COMMON"
msgstr ""
-#: fortran/resolve.cc:18045
+#: fortran/resolve.cc:18163
#, gcc-internal-format
msgid "DATA array %qs at %L must be specified in a previous declaration"
msgstr ""
-#: fortran/resolve.cc:18052
+#: fortran/resolve.cc:18170
#, gcc-internal-format
msgid "DATA element %qs at %L cannot have a coindex"
msgstr ""
-#: fortran/resolve.cc:18068
+#: fortran/resolve.cc:18186
#, gcc-internal-format
msgid "DATA element %qs at %L is a pointer and so must be a full array"
msgstr ""
-#: fortran/resolve.cc:18075
+#: fortran/resolve.cc:18193
#, 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:18084
+#: fortran/resolve.cc:18202
#, gcc-internal-format
msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
msgstr ""
-#: fortran/resolve.cc:18146
+#: fortran/resolve.cc:18264
#, gcc-internal-format, gfc-internal-format
msgid "Nonconstant array section at %L in DATA statement"
msgstr ""
-#: fortran/resolve.cc:18159
+#: fortran/resolve.cc:18277
#, gcc-internal-format, gfc-internal-format
msgid "DATA statement at %L has more variables than values"
msgstr ""
-#: fortran/resolve.cc:18235
+#: fortran/resolve.cc:18353
#, gcc-internal-format, gfc-internal-format
msgid "Non-constant character length at %L in DATA statement"
msgstr ""
-#: fortran/resolve.cc:18263
+#: fortran/resolve.cc:18381
#, 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:18271
+#: fortran/resolve.cc:18389
#, 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:18279
+#: fortran/resolve.cc:18397
#, 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:18286
+#: fortran/resolve.cc:18404
#, gcc-internal-format, gfc-internal-format
msgid "step of implied-do loop at %L shall not be zero"
msgstr ""
-#: fortran/resolve.cc:18411
+#: fortran/resolve.cc:18529
#, gcc-internal-format, gfc-internal-format
msgid "DATA statement at %L has more values than variables"
msgstr ""
-#: fortran/resolve.cc:18577
+#: fortran/resolve.cc:18695
#, gcc-internal-format, gfc-internal-format
msgid "Label %d at %L defined but not used"
msgstr ""
-#: fortran/resolve.cc:18583
+#: fortran/resolve.cc:18701
#, gcc-internal-format, gfc-internal-format
msgid "Label %d at %L defined but cannot be used"
msgstr ""
-#: fortran/resolve.cc:18667
+#: fortran/resolve.cc:18785
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L must have SEQUENCE attribute to be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.cc:18676
+#: fortran/resolve.cc:18794
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L cannot have ALLOCATABLE components to be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.cc:18684
+#: fortran/resolve.cc:18802
#, 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:18700
+#: fortran/resolve.cc:18818
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L with pointer component(s) cannot be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.cc:18803
+#: fortran/resolve.cc:18921
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in EQUIVALENCE statement at %L"
msgstr ""
-#: fortran/resolve.cc:18818
+#: fortran/resolve.cc:18936
#, 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:18843
+#: fortran/resolve.cc:18961
#, gcc-internal-format
msgid ""
"COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure "
"procedure %qs"
msgstr ""
-#: fortran/resolve.cc:18852
+#: fortran/resolve.cc:18970
#, gcc-internal-format
msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
msgstr ""
#. Since the pair of objects is not of the same type, mixed or
#. non-default sequences can be rejected.
-#: fortran/resolve.cc:18882
+#: fortran/resolve.cc:19000
#, gcc-internal-format, gfc-internal-format
msgid ""
"Sequence %s with mixed components in EQUIVALENCE statement at %L with "
"different type objects"
msgstr ""
-#: fortran/resolve.cc:18892
+#: fortran/resolve.cc:19010
#, gcc-internal-format, gfc-internal-format
msgid ""
"Non-default type object or sequence %s in EQUIVALENCE statement at %L with "
"objects of different type"
msgstr ""
-#: fortran/resolve.cc:18902
+#: fortran/resolve.cc:19020
#, gcc-internal-format
msgid ""
"Non-CHARACTER object %qs in default CHARACTER EQUIVALENCE statement at %L"
msgstr ""
-#: fortran/resolve.cc:18909
+#: fortran/resolve.cc:19027
#, gcc-internal-format
msgid "Non-NUMERIC object %qs in default NUMERIC EQUIVALENCE statement at %L"
msgstr ""
-#: fortran/resolve.cc:18927
+#: fortran/resolve.cc:19045
#, gcc-internal-format
msgid ""
"Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.cc:18938
+#: fortran/resolve.cc:19056
#, gcc-internal-format
msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.cc:18949
+#: fortran/resolve.cc:19067
#, gcc-internal-format, gfc-internal-format
msgid "Substring at %L has length zero"
msgstr ""
-#: fortran/resolve.cc:18980
+#: fortran/resolve.cc:19098
#, gcc-internal-format
msgid "Self reference in character length expression for %qs at %L"
msgstr ""
-#: fortran/resolve.cc:19047
+#: fortran/resolve.cc:19165
#, gcc-internal-format
msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
msgstr ""
-#: fortran/resolve.cc:19060
+#: fortran/resolve.cc:19178
#, gcc-internal-format
msgid "ENTRY %qs at %L has no IMPLICIT type"
msgstr ""
-#: fortran/resolve.cc:19082
+#: fortran/resolve.cc:19200
#, gcc-internal-format
msgid "User operator procedure %qs at %L must be a FUNCTION"
msgstr ""
-#: fortran/resolve.cc:19092
+#: fortran/resolve.cc:19210
#, gcc-internal-format
msgid "User operator procedure %qs at %L cannot be assumed character length"
msgstr ""
-#: fortran/resolve.cc:19100
+#: fortran/resolve.cc:19218
#, gcc-internal-format
msgid "User operator procedure %qs at %L must have at least one argument"
msgstr ""
-#: fortran/resolve.cc:19114
+#: fortran/resolve.cc:19232
#, gcc-internal-format, gfc-internal-format
msgid "First argument of operator interface at %L cannot be optional"
msgstr ""
-#: fortran/resolve.cc:19132
+#: fortran/resolve.cc:19250
#, gcc-internal-format, gfc-internal-format
msgid "Second argument of operator interface at %L cannot be optional"
msgstr ""
-#: fortran/resolve.cc:19139
+#: fortran/resolve.cc:19257
#, gcc-internal-format, gfc-internal-format
msgid "Operator interface at %L must have, at most, two arguments"
msgstr ""
-#: fortran/resolve.cc:19221
+#: fortran/resolve.cc:19339
#, gcc-internal-format
msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
msgstr ""
@@ -88804,190 +89035,190 @@ msgstr ""
msgid "in gfc_simplify_exp(): Bad type"
msgstr ""
-#: fortran/simplify.cc:3267
+#: fortran/simplify.cc:3269
#, gcc-internal-format
msgid "gfc_simplify_floor(): Bad kind"
msgstr ""
-#: fortran/simplify.cc:3384
+#: fortran/simplify.cc:3386
#, gcc-internal-format, gfc-internal-format
msgid "Argument of IACHAR at %L must be of length one"
msgstr ""
-#: fortran/simplify.cc:3392
+#: fortran/simplify.cc:3394
#, gcc-internal-format, gfc-internal-format
msgid "Argument of IACHAR function at %L outside of range 0..127"
msgstr ""
-#: fortran/simplify.cc:3553
+#: fortran/simplify.cc:3555
#, gcc-internal-format, gfc-internal-format
msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
msgstr ""
-#: fortran/simplify.cc:3579
+#: fortran/simplify.cc:3581
#, gcc-internal-format
msgid "IBITS: Bad bit"
msgstr ""
-#: fortran/simplify.cc:3646
+#: fortran/simplify.cc:3648
#, gcc-internal-format, gfc-internal-format
msgid "Argument of ICHAR at %L must be of length one"
msgstr ""
#. Left shift, as in SHIFTL.
-#: fortran/simplify.cc:4007 fortran/simplify.cc:4015
+#: fortran/simplify.cc:4009 fortran/simplify.cc:4017
#, gcc-internal-format, gfc-internal-format
msgid "Second argument of %s is negative at %L"
msgstr ""
-#: fortran/simplify.cc:4027
+#: fortran/simplify.cc:4029
#, gcc-internal-format, gfc-internal-format
msgid "Magnitude of second argument of %s exceeds bit size at %L"
msgstr ""
-#: fortran/simplify.cc:4159
+#: fortran/simplify.cc:4161
#, gcc-internal-format, gfc-internal-format
msgid ""
"Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at "
"%C"
msgstr ""
-#: fortran/simplify.cc:4162
+#: fortran/simplify.cc:4164
#, gcc-internal-format, gfc-internal-format
msgid "Absolute value of SHIFT shall be less than or equal to SIZE at %C"
msgstr ""
-#: fortran/simplify.cc:4509 fortran/simplify.cc:4642
+#: fortran/simplify.cc:4511 fortran/simplify.cc:4644
#, gcc-internal-format, gfc-internal-format
msgid "DIM argument at %L is out of bounds"
msgstr ""
-#: fortran/simplify.cc:4975
+#: fortran/simplify.cc:4977
#, gcc-internal-format, gfc-internal-format
msgid "Argument of LOG at %L cannot be less than or equal to zero"
msgstr ""
-#: fortran/simplify.cc:4988
+#: fortran/simplify.cc:4990
#, gcc-internal-format, gfc-internal-format
msgid "Complex argument of LOG at %L cannot be zero"
msgstr ""
-#: fortran/simplify.cc:4999
+#: fortran/simplify.cc:5001
#, gcc-internal-format
msgid "gfc_simplify_log: bad type"
msgstr ""
-#: fortran/simplify.cc:5016
+#: fortran/simplify.cc:5018
#, gcc-internal-format, gfc-internal-format
msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
msgstr ""
-#: fortran/simplify.cc:5448
+#: fortran/simplify.cc:5450
#, gcc-internal-format
msgid "simplify_min_max(): Bad type in arglist"
msgstr ""
-#: fortran/simplify.cc:6371 fortran/simplify.cc:6379
+#: fortran/simplify.cc:6373 fortran/simplify.cc:6381
#, gcc-internal-format
msgid "Argument %qs of MOD at %L shall not be zero"
msgstr ""
-#: fortran/simplify.cc:6385
+#: fortran/simplify.cc:6387
#, gcc-internal-format
msgid "gfc_simplify_mod(): Bad arguments"
msgstr ""
-#: fortran/simplify.cc:6424 fortran/simplify.cc:6432
+#: fortran/simplify.cc:6426 fortran/simplify.cc:6434
#, gcc-internal-format
msgid "Argument %qs of MODULO at %L shall not be zero"
msgstr ""
-#: fortran/simplify.cc:6438
+#: fortran/simplify.cc:6440
#, gcc-internal-format
msgid "gfc_simplify_modulo(): Bad arguments"
msgstr ""
-#: fortran/simplify.cc:6510
+#: fortran/simplify.cc:6512
#, gcc-internal-format, gfc-internal-format
msgid "Result of NEAREST is NaN at %L"
msgstr ""
-#: fortran/simplify.cc:7304
+#: fortran/simplify.cc:7299
#, gcc-internal-format, gfc-internal-format
msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
msgstr ""
-#: fortran/simplify.cc:7360
+#: fortran/simplify.cc:7355
#, gcc-internal-format, gfc-internal-format
msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
msgstr ""
-#: fortran/simplify.cc:7397
+#: fortran/simplify.cc:7392
#, gcc-internal-format, gfc-internal-format
msgid ""
"Evaluation of string longer than 2**28 at %L deferred to runtime, expect bugs"
msgstr ""
-#: fortran/simplify.cc:7455
+#: fortran/simplify.cc:7450
#, gcc-internal-format, gfc-internal-format
msgid ""
"The SHAPE array for the RESHAPE intrinsic at %L has a negative value %d for "
"dimension %d"
msgstr ""
-#: fortran/simplify.cc:7480
+#: fortran/simplify.cc:7475
#, gcc-internal-format, gfc-internal-format
msgid "Shapes of ORDER at %L and SHAPE at %L are different"
msgstr ""
-#: fortran/simplify.cc:7494
+#: fortran/simplify.cc:7489
#, gcc-internal-format, gfc-internal-format
msgid "Sizes of ORDER at %L and SHAPE at %L are different"
msgstr ""
-#: fortran/simplify.cc:7509
+#: fortran/simplify.cc:7504
#, gcc-internal-format, gfc-internal-format
msgid ""
"Element with a value of %d in ORDER at %L must be in the range [1, ..., %d] "
"for the RESHAPE intrinsic near %L"
msgstr ""
-#: fortran/simplify.cc:7520
+#: fortran/simplify.cc:7515
#, gcc-internal-format, gfc-internal-format
msgid "ORDER at %L is not a permutation of the size of SHAPE at %L"
msgstr ""
-#: fortran/simplify.cc:7582
+#: fortran/simplify.cc:7577
#, gcc-internal-format, gfc-internal-format
msgid "Reshaped array too large at %C"
msgstr ""
-#: fortran/simplify.cc:7703
+#: fortran/simplify.cc:7698
#, gcc-internal-format, gfc-internal-format
msgid "Result of SCALE overflows its kind at %L"
msgstr ""
-#: fortran/simplify.cc:8223
+#: fortran/simplify.cc:8218
#, gcc-internal-format, gfc-internal-format
msgid "DIM argument (%d) to intrinsic SIZE at %L out of range (1:%d)"
msgstr ""
-#: fortran/simplify.cc:8352
+#: fortran/simplify.cc:8347
#, gcc-internal-format
msgid "Bad type in gfc_simplify_sign"
msgstr ""
-#: fortran/simplify.cc:8381
+#: fortran/simplify.cc:8376
#, gcc-internal-format
msgid "in gfc_simplify_sin(): Bad type"
msgstr ""
-#: fortran/simplify.cc:8519 fortran/simplify.cc:8802
+#: fortran/simplify.cc:8514 fortran/simplify.cc:8797
#, gcc-internal-format
msgid "Failure getting length of a constant array."
msgstr ""
-#: fortran/simplify.cc:8529
+#: fortran/simplify.cc:8524
#, gcc-internal-format
msgid ""
"The number of elements (%d) in the array constructor at %L requires an "
@@ -88995,36 +89226,36 @@ msgid ""
"option."
msgstr ""
-#: fortran/simplify.cc:8596
+#: fortran/simplify.cc:8591
#, gcc-internal-format, gfc-internal-format
msgid "Simplification of SPREAD at %C not yet implemented"
msgstr ""
-#: fortran/simplify.cc:8620
+#: fortran/simplify.cc:8615
#, gcc-internal-format, gfc-internal-format
msgid "Argument of SQRT at %L has a negative value"
msgstr ""
-#: fortran/simplify.cc:8636
+#: fortran/simplify.cc:8631
#, gcc-internal-format, gfc-internal-format
msgid "invalid argument of SQRT at %L"
msgstr ""
-#: fortran/simplify.cc:8983
+#: fortran/simplify.cc:8979
#, gcc-internal-format, gfc-internal-format
msgid ""
"Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY "
"lower bound is %ld)"
msgstr ""
-#: fortran/simplify.cc:9006
+#: fortran/simplify.cc:9002
#, gcc-internal-format, gfc-internal-format
msgid ""
"Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY "
"upper bound is %ld)"
msgstr ""
-#: fortran/simplify.cc:9549
+#: fortran/simplify.cc:9544
#, gcc-internal-format
msgid ""
"Character %qs in string at %L cannot be converted into character kind %d"
@@ -89486,7 +89717,7 @@ msgstr ""
msgid "Overlapping unequal initializers in EQUIVALENCE at %C"
msgstr ""
-#: fortran/trans-array.cc:2466 fortran/trans-expr.cc:10457
+#: fortran/trans-array.cc:2466 fortran/trans-expr.cc:10442
#, gcc-internal-format, gfc-internal-format
msgid ""
"The structure constructor at %L has been finalized. This feature was removed "
@@ -89634,89 +89865,89 @@ msgstr ""
msgid "intrinsic variable which isn't a procedure"
msgstr ""
-#: fortran/trans-decl.cc:4705 fortran/trans-decl.cc:8144
+#: fortran/trans-decl.cc:4699 fortran/trans-decl.cc:8139
#, gcc-internal-format
msgid "Return value of function %qs at %L not set"
msgstr ""
-#: fortran/trans-decl.cc:5237
+#: fortran/trans-decl.cc:5231
#, gcc-internal-format
msgid "Deferred type parameter not yet supported"
msgstr ""
-#: fortran/trans-decl.cc:5549
+#: fortran/trans-decl.cc:5543
#, gcc-internal-format
msgid "backend decl for module variable %qs already exists"
msgstr ""
-#: fortran/trans-decl.cc:5562
+#: fortran/trans-decl.cc:5556
#, gcc-internal-format
msgid "Unused PRIVATE module variable %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.cc:6248
+#: fortran/trans-decl.cc:6242
#, gcc-internal-format
msgid "Symbol %qs at %L has the WEAK attribute but is a dummy argument"
msgstr ""
-#: fortran/trans-decl.cc:6251
+#: fortran/trans-decl.cc:6245
#, gcc-internal-format
msgid "Symbol %qs at %L has the WEAK attribute but is a local variable"
msgstr ""
-#: fortran/trans-decl.cc:6266
+#: fortran/trans-decl.cc:6260
#, gcc-internal-format
msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set"
msgstr ""
-#: fortran/trans-decl.cc:6272
+#: fortran/trans-decl.cc:6266
#, gcc-internal-format
msgid ""
"Derived-type dummy argument %qs at %L was declared INTENT(OUT) but was not "
"set and does not have a default initializer"
msgstr ""
-#: fortran/trans-decl.cc:6283 fortran/trans-decl.cc:6434
+#: fortran/trans-decl.cc:6277 fortran/trans-decl.cc:6428
#, gcc-internal-format
msgid "Unused dummy argument %qs at %L"
msgstr ""
-#: fortran/trans-decl.cc:6299
+#: fortran/trans-decl.cc:6293
#, gcc-internal-format
msgid "Unused module variable %qs which has been explicitly imported at %L"
msgstr ""
-#: fortran/trans-decl.cc:6318
+#: fortran/trans-decl.cc:6312
#, gcc-internal-format
msgid "Unused variable %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.cc:6367
+#: fortran/trans-decl.cc:6361
#, gcc-internal-format
msgid "Unused parameter %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.cc:6371
+#: fortran/trans-decl.cc:6365
#, gcc-internal-format
msgid "Unused parameter %qs which has been explicitly imported at %L"
msgstr ""
-#: fortran/trans-decl.cc:6401
+#: fortran/trans-decl.cc:6395
#, gcc-internal-format
msgid "Return value %qs of function %qs declared at %L not set"
msgstr ""
-#: fortran/trans-decl.cc:6999
+#: fortran/trans-decl.cc:6994
#, gcc-internal-format, gfc-internal-format
msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
msgstr ""
-#: fortran/trans-decl.cc:7198 fortran/trans-expr.cc:6117
+#: fortran/trans-decl.cc:7193 fortran/trans-expr.cc:6115
#, gcc-internal-format
msgid "Unsigned not yet implemented"
msgstr ""
-#: fortran/trans-decl.cc:8316
+#: fortran/trans-decl.cc:8311
#, gcc-internal-format
msgid ""
"Symbol %qs at %L is declared in a BLOCK DATA program unit but is not in a "
@@ -89747,17 +89978,17 @@ msgid ""
"supported"
msgstr ""
-#: fortran/trans-expr.cc:4279
+#: fortran/trans-expr.cc:4277
#, gcc-internal-format
msgid "Unknown intrinsic op"
msgstr ""
-#: fortran/trans-expr.cc:5865
+#: fortran/trans-expr.cc:5863
#, gcc-internal-format, gfc-internal-format
msgid "Unknown argument list function at %L"
msgstr ""
-#: fortran/trans-expr.cc:11055
+#: fortran/trans-expr.cc:11040
#, gcc-internal-format, gfc-internal-format
msgid ""
"If bounds remapping is specified at %L, the pointer target shall not be NULL"
@@ -89768,18 +89999,18 @@ msgstr ""
msgid "Intrinsic function %qs (%d) not recognized"
msgstr ""
-#: fortran/trans-intrinsic.cc:1897 fortran/trans-intrinsic.cc:2446
-#: fortran/trans-intrinsic.cc:2649
+#: fortran/trans-intrinsic.cc:1899 fortran/trans-intrinsic.cc:2447
+#: fortran/trans-intrinsic.cc:2650
#, gcc-internal-format
msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index"
msgstr ""
-#: fortran/trans-intrinsic.cc:12702 fortran/trans-stmt.cc:1107
+#: fortran/trans-intrinsic.cc:12709 fortran/trans-stmt.cc:1164
#, gcc-internal-format, gfc-internal-format
msgid "Sorry, the event component of derived type at %L is not yet supported"
msgstr ""
-#: fortran/trans-intrinsic.cc:12709
+#: fortran/trans-intrinsic.cc:12716
#, gcc-internal-format, gfc-internal-format
msgid "The event variable at %L shall not be coindexed"
msgstr ""
@@ -89794,54 +90025,61 @@ msgstr ""
msgid "Bad IO basetype (%d)"
msgstr ""
-#: fortran/trans-openmp.cc:881 fortran/trans-openmp.cc:1398
+#: fortran/trans-openmp.cc:932 fortran/trans-openmp.cc:1449
#, gcc-internal-format
msgid "Sorry, polymorphic arrays not yet supported for firstprivate"
msgstr ""
-#: fortran/trans-openmp.cc:1552
+#: fortran/trans-openmp.cc:1604
#, gcc-internal-format
msgid "implicit mapping of assumed size array %qD"
msgstr ""
-#: fortran/trans-openmp.cc:1558
+#: fortran/trans-openmp.cc:2149
#, gcc-internal-format
-msgid "Implicit mapping of polymorphic variable %qD is unspecified behavior"
+msgid ""
+"Mapping of unlimited polymorphic list item %qD is unspecified behavior and "
+"unsupported"
msgstr ""
-#: fortran/trans-openmp.cc:3376
+#: fortran/trans-openmp.cc:2154
+#, gcc-internal-format
+msgid "Mapping of polymorphic list item %qD is unspecified behavior"
+msgstr ""
+
+#: fortran/trans-openmp.cc:4176
#, gcc-internal-format
msgid "optional class parameter"
msgstr ""
-#: fortran/trans-openmp.cc:3793
+#: fortran/trans-openmp.cc:4640
#, gcc-internal-format
msgid "unhandled expression type"
msgstr ""
-#: fortran/trans-openmp.cc:4073
+#: fortran/trans-openmp.cc:4949
#, gcc-internal-format
msgid "unhandled expression"
msgstr ""
-#: fortran/trans-openmp.cc:4195
+#: fortran/trans-openmp.cc:5072
#, gcc-internal-format
msgid "%<uses_allocators%> clause with traits and memory spaces"
msgstr ""
-#: fortran/trans-openmp.cc:5173
+#: fortran/trans-openmp.cc:6050
#, gcc-internal-format
msgid "%<!$OMP %s%> at %L requires %<-fopenmp-allocators%>"
msgstr ""
-#: fortran/trans-openmp.cc:5176
+#: fortran/trans-openmp.cc:6053
#, gcc-internal-format
msgid ""
"All files that might deallocate such a variable must be compiled with %<-"
"fopenmp-allocators%>"
msgstr ""
-#: fortran/trans-openmp.cc:5179
+#: fortran/trans-openmp.cc:6056
#, gcc-internal-format
msgid ""
"This includes explicit DEALLOCATE, reallocation on intrinsic assignment, "
@@ -89849,74 +90087,74 @@ msgid ""
"components allocated with an OpenMP allocator"
msgstr ""
-#: fortran/trans-openmp.cc:5756 fortran/trans-openmp.cc:5776
+#: fortran/trans-openmp.cc:6633 fortran/trans-openmp.cc:6653
#, gcc-internal-format
msgid "non-rectangular loop nest with non-constant step for %qs"
msgstr ""
-#: fortran/trans-openmp.cc:5778
+#: fortran/trans-openmp.cc:6655
#, gcc-internal-format
msgid "Used here"
msgstr ""
-#: fortran/trans-openmp.cc:8344
+#: fortran/trans-openmp.cc:9221
#, gcc-internal-format
msgid "gfc_trans_omp_workshare(): Bad statement code"
msgstr ""
-#: fortran/trans-openmp.cc:8754
+#: fortran/trans-openmp.cc:9631
#, gcc-internal-format
msgid "The base name for %<declare variant%> must be specified at %L"
msgstr ""
-#: fortran/trans-openmp.cc:8765
+#: fortran/trans-openmp.cc:9642
#, 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:8768
+#: fortran/trans-openmp.cc:9645
#, gcc-internal-format, gfc-internal-format
msgid "The base name at %L must not be an entry name"
msgstr ""
-#: fortran/trans-openmp.cc:8771
+#: fortran/trans-openmp.cc:9648
#, gcc-internal-format, gfc-internal-format
msgid "The base name at %L must not be a generic name"
msgstr ""
-#: fortran/trans-openmp.cc:8774
+#: fortran/trans-openmp.cc:9651
#, gcc-internal-format, gfc-internal-format
msgid "The base name at %L must not be a procedure pointer"
msgstr ""
-#: fortran/trans-openmp.cc:8777
+#: fortran/trans-openmp.cc:9654
#, gcc-internal-format, gfc-internal-format
msgid "The base procedure at %L must have an explicit interface"
msgstr ""
-#: fortran/trans-openmp.cc:8813
+#: fortran/trans-openmp.cc:9690
#, gcc-internal-format
msgid "Cannot find symbol %qs"
msgstr ""
-#: fortran/trans-openmp.cc:8825
+#: fortran/trans-openmp.cc:9702
#, gcc-internal-format
msgid "variant %qs at %L is not a function or subroutine"
msgstr ""
-#: fortran/trans-openmp.cc:8867
+#: fortran/trans-openmp.cc:9744
#, gcc-internal-format
msgid "variant %qs and base %qs at %L have incompatible types: %s"
msgstr ""
-#: fortran/trans-openmp.cc:8873
+#: fortran/trans-openmp.cc:9750
#, gcc-internal-format
msgid ""
"%<append_args%> clause implies that %qs has %d dummy arguments of integer "
"type with %<omp_interop_kind%> kind"
msgstr ""
-#: fortran/trans-openmp.cc:8899
+#: fortran/trans-openmp.cc:9776
#, gcc-internal-format
msgid ""
"%qs at %L must be a nonpointer, nonallocatable scalar integer dummy argument "
@@ -89924,72 +90162,72 @@ msgid ""
"at %L"
msgstr ""
-#: fortran/trans-openmp.cc:8909
+#: fortran/trans-openmp.cc:9786
#, gcc-internal-format
msgid ""
"%qs at %L with OPTIONAL attribute not support when utilized with the "
"%<append_args%> clause at %L"
msgstr ""
-#: fortran/trans-openmp.cc:8919
+#: fortran/trans-openmp.cc:9796
#, gcc-internal-format
msgid ""
"%qs at %L has %d but requires %d %<omp_interop_kind%> kind dummy arguments "
"as it is utilized with the %<append_args%> clause at %L"
msgstr ""
-#: fortran/trans-openmp.cc:8934
+#: fortran/trans-openmp.cc:9811
#, gcc-internal-format
msgid ""
"the %qs clause can only be specified if the %<dispatch%> selector of the "
"construct selector set appears in the %<match%> clause at %L"
msgstr ""
-#: fortran/trans-openmp.cc:9035 fortran/trans-openmp.cc:9074
+#: fortran/trans-openmp.cc:9912 fortran/trans-openmp.cc:9951
#, gcc-internal-format, gfc-internal-format
msgid "Expected positive argument index at %L"
msgstr ""
-#: fortran/trans-openmp.cc:9046
+#: fortran/trans-openmp.cc:9923
#, gcc-internal-format, gfc-internal-format
msgid "Argument index at %L exceeds number of arguments %d"
msgstr ""
-#: fortran/trans-openmp.cc:9084
+#: fortran/trans-openmp.cc:9961
#, gcc-internal-format, gfc-internal-format
msgid "Upper argument index smaller than lower one at %L"
msgstr ""
-#: fortran/trans-openmp.cc:9110
+#: fortran/trans-openmp.cc:9987
#, gcc-internal-format
msgid "List item %qs at %L, declared at %L, is not a dummy argument"
msgstr ""
-#: fortran/trans-openmp.cc:9124
+#: fortran/trans-openmp.cc:10001
#, gcc-internal-format
msgid ""
"Argument %qs at %L to list item in %<need_device_ptr%> at %L must be a "
"scalar of TYPE(C_PTR)"
msgstr ""
-#: fortran/trans-openmp.cc:9131
+#: fortran/trans-openmp.cc:10008
#, gcc-internal-format
msgid "Consider using %<need_device_addr%> instead"
msgstr ""
-#: fortran/trans-openmp.cc:9138
+#: fortran/trans-openmp.cc:10015
#, gcc-internal-format
msgid ""
"Argument %qs at %L to list item in %<need_device_addr%> at %L must not have "
"the VALUE attribute"
msgstr ""
-#: fortran/trans-openmp.cc:9147
+#: fortran/trans-openmp.cc:10024
#, gcc-internal-format
msgid "%qs at %L is specified more than once"
msgstr ""
-#: fortran/trans-openmp.cc:9164
+#: fortran/trans-openmp.cc:10041
#, gcc-internal-format
msgid "%<need_device_addr%> not yet supported"
msgstr ""
@@ -89999,21 +90237,35 @@ msgstr ""
msgid "An alternate return at %L without a * dummy argument"
msgstr ""
-#: fortran/trans-stmt.cc:908
+#: fortran/trans-stmt.cc:965
#, gcc-internal-format, gfc-internal-format
msgid "Sorry, the lock component of derived type at %L is not yet supported"
msgstr ""
-#: fortran/trans-stmt.cc:1370
+#: fortran/trans-stmt.cc:1426
#, gcc-internal-format, gfc-internal-format
msgid "Sorry, only support for integer kind %d implemented for image-set at %L"
msgstr ""
-#: fortran/trans-stmt.cc:3807
+#: fortran/trans-stmt.cc:3901
#, gcc-internal-format
msgid "gfc_trans_select(): Bad type for case expr."
msgstr ""
+#: fortran/trans-stmt.cc:5264
+#, gcc-internal-format
+msgid ""
+"Sorry, %s specifier at %L for assumed-size array %qs is not yet supported"
+msgstr ""
+
+#. Cf. PR fortran/
+#: fortran/trans-stmt.cc:5301
+#, gcc-internal-format
+msgid ""
+"Sorry, LOCAL specifier at %L for %qs of derived type with default "
+"initializer is not yet supported"
+msgstr ""
+
#: fortran/trans-types.cc:619
#, gcc-internal-format
msgid ""
@@ -90086,7 +90338,7 @@ msgstr ""
msgid "gfc_validate_kind(): Got bad kind"
msgstr ""
-#: fortran/trans.cc:2663
+#: fortran/trans.cc:2671
#, gcc-internal-format
msgid "gfc_trans_code(): Bad statement code"
msgstr ""
@@ -90317,7 +90569,7 @@ msgstr ""
msgid "two or more sections for %s"
msgstr ""
-#: lto/lto-partition.cc:1122
+#: lto/lto-partition.cc:1123
#, gcc-internal-format
msgid "min partition size cannot be greater than max partition size"
msgstr ""
@@ -91736,7 +91988,7 @@ msgid "unused name %qE"
msgstr ""
#: rust/resolve/rust-ast-resolve-expr.cc:134
-#: rust/resolve/rust-late-name-resolver-2.0.cc:233
+#: rust/resolve/rust-late-name-resolver-2.0.cc:268
#, gcc-internal-format, gfc-internal-format
msgid "are you trying to break %s? how dare you?"
msgstr ""
diff --git a/gcc/po/sv.po b/gcc/po/sv.po
index 10c543e..b7fd55b 100644
--- a/gcc/po/sv.po
+++ b/gcc/po/sv.po
@@ -29,10 +29,10 @@
# thunk snutt
msgid ""
msgstr ""
-"Project-Id-Version: gcc 15.1-b20250316\n"
+"Project-Id-Version: gcc 15.1-b20250406\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
"POT-Creation-Date: 2025-04-04 20:42+0000\n"
-"PO-Revision-Date: 2025-04-06 09:20+0200\n"
+"PO-Revision-Date: 2025-04-20 20:30+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -1328,13 +1328,12 @@ msgstr "Använd WIP-lånekontrolleraren."
#: rust/lang.opt:217
#, no-c-format
msgid "-frust-edition=[unwind|abort] Panic strategy to compile crate with"
-msgstr ""
+msgstr "-frust-edition=[unwind|abort] Panikstrategi att kompilera lådan med"
#: rust/lang.opt:230
-#, fuzzy, no-c-format
-#| msgid "Select the eBPF ISA version to target in code generation."
+#, no-c-format
msgid "Enable the overflow checks in code generation"
-msgstr "Välj eBPF ISA-versionen att ha som mål i kodgenereringen."
+msgstr "Aktivera spillkontroller i kodgenereringen"
#: c-family/c.opt:71
#, no-c-format
@@ -1841,10 +1840,9 @@ msgstr "Varna för aritmetiska konverteringar som bör undvikas pÃ¥ operander dÃ
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118985
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118979
#: c-family/c.opt:669
-#, fuzzy, no-c-format
-#| msgid "Warn about deprecated space between and suffix in a user-defined literal operator."
+#, no-c-format
msgid "Warn about deprecated space between \"\" and suffix in a user-defined literal operator."
-msgstr "Varna för föråldrade mellanrum mellan och suffix i en användardefinierad literal operator."
+msgstr "Varna för föråldrade mellanrum mellan \"\" och suffix i en användardefinierad literal operator."
#: c-family/c.opt:673
#, no-c-format
@@ -8332,10 +8330,9 @@ msgid "Support USER_MSR built-in functions and code generation."
msgstr "Stöd inbyggda USER_MSR-funktioner och -kodgenerering."
#: config/i386/i386.opt:1368
-#, fuzzy, no-c-format
-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-512 built-in functions and code generation."
+#, no-c-format
msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-256 built-in functions and code generation."
-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2- och AVX10.1-512-funktioner och -kodgenerering."
+msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2- och AVX10.1-256-funktioner och -kodgenerering."
#: config/i386/i386.opt:1373 config/i386/i386.opt:1378
#, no-c-format
@@ -8343,16 +8340,14 @@ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10
msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2- och AVX10.1-512-funktioner och -kodgenerering."
#: config/i386/i386.opt:1383
-#, fuzzy, no-c-format
-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 and AVX10.2-512 built-in functions and code generation."
+#, no-c-format
msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 and AVX10.2 built-in functions and code generation."
-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX10.1-512- och AVX10.2-512-funktioner och -kodgenerering."
+msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX10.1-512- och AVX10.2-funktioner och -kodgenerering."
#: config/i386/i386.opt:1388
-#, fuzzy, no-c-format
-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2-512 and AMX-AVX512 built-in functions and code generation."
+#, no-c-format
msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 and AMX-AVX512 built-in functions and code generation."
-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX10.1-512-, AVX10.2-512- och AMX-AVX512-funktioner och -kodgenerering."
+msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX10.1-512-, AVX10.2- och AMX-AVX512-funktioner och -kodgenerering."
#: config/i386/i386.opt:1393
#, no-c-format
@@ -8798,7 +8793,7 @@ msgstr "Denna flagga är på som standard för att undvika PR118012."
#: config/avr/avr.opt:70
#, no-c-format
msgid "Optimization. Allow to use nonzero_bits() in some insn conditions."
-msgstr ""
+msgstr "Optimering. Tillåt användning av nonzero_bits() i några instruktionsvillkor."
#: config/avr/avr.opt:74
#, no-c-format
@@ -9927,10 +9922,9 @@ msgid "Put everything in the regular TOC."
msgstr "Placera allting i den vanliga TOC."
#: config/rs6000/rs6000.opt:305
-#, fuzzy, no-c-format
-#| msgid "invalid arguments for %<-fpatchable-function-entry%>"
+#, no-c-format
msgid "Emit NOPs before global and after local entry point for -fpatchable-function-entry."
-msgstr "ogiltigt argument till %<-fpatchable-function-entry%>"
+msgstr "Mata ut NOP:ar före globala och efter lokala ingångspunkter för -fpatchable-function-entry"
#: config/rs6000/rs6000.opt:309
#, no-c-format
@@ -10427,12 +10421,12 @@ msgstr "Avge kod för ISA-utökningen för räkning."
#: config/alpha/alpha.opt:74
#, no-c-format
msgid "Emit multi-thread and async-signal safe code for byte and word memory accesses."
-msgstr ""
+msgstr "Avge multitrådat och asynk-signal-säker kod för byte- och ordminnesåtkomster."
#: config/alpha/alpha.opt:78
#, no-c-format
msgid "Emit multi-thread and async-signal safe code for partial memory accesses."
-msgstr ""
+msgstr "Avge multitrådat och asynk-signal-säker kod för partiella minnesåtkomster."
#: config/alpha/alpha.opt:82
#, no-c-format
@@ -13350,16 +13344,14 @@ msgid "Warn when an optimization pass is disabled."
msgstr "Varna när ett optimerarpass är avaktiverat."
#: common.opt:617
-#, fuzzy, no-c-format
-#| msgid "Treat all warnings as errors."
+#, no-c-format
msgid "Turn all warnings into errors."
-msgstr "Behandla alla varningar som fel."
+msgstr "Gör om alla varningar till fel."
#: common.opt:621
-#, fuzzy, no-c-format
-#| msgid "Treat specified warning as error."
+#, no-c-format
msgid "Turn the specified warning into an error."
-msgstr "Behandla angivna varningar som fel."
+msgstr "Gör om de angivna varningarna till ett fel."
#: common.opt:625
#, no-c-format
@@ -13427,16 +13419,14 @@ msgid "Warn if dereferencing a NULL pointer may lead to erroneous or undefined b
msgstr "Varna om dereferering av en NULL-pekare kan leda till felaktigt eller odefinierat beteende."
#: common.opt:698
-#, fuzzy, no-c-format
-#| msgid "Warn about returning a pointer/reference to a local or temporary variable."
+#, no-c-format
msgid "Warn about passing a pointer/reference to a local or temporary variable to a musttail call argument."
-msgstr "Varna för retur av en pekare/referens till en lokal eller temporär variabel."
+msgstr "Varna för att skicka en pekare/referens till en lokal eller temporär variabel till ett argument till ett musttail-anrop."
#: common.opt:702
-#, fuzzy, no-c-format
-#| msgid "Warn about returning a pointer/reference to a local or temporary variable."
+#, no-c-format
msgid "Warn about pointer/reference to a local or temporary variable possibly escaping to a musttail call."
-msgstr "Varna för retur av en pekare/referens till en lokal eller temporär variabel."
+msgstr "Varna för pekare/referens till en lokal eller temporär variabel som möjligen kan rymma till ett musttail-anrop."
#: common.opt:706
#, no-c-format
@@ -13656,12 +13646,12 @@ msgstr "Varna när ett villkor har för många termer och villkorstäckningsprof
#: common.opt:898
#, no-c-format
msgid "-fpath-coverage-limit=<number> Don't instrument functions path count exceeding <number>."
-msgstr ""
+msgstr "-fpath-coverage-limit=<antal> Instrumentera inte funktionvägsantal som överskrider <antal>."
#: common.opt:903
#, no-c-format
msgid "Warn if a function exceeds the number of paths (controlled by -fpath-coverage-limit) and path coverage give up instrumenting the function. The limit is approximate and conservative and coverage might give up even if the actual number is slightly below the limit."
-msgstr ""
+msgstr "Varna om en funktion överskrider antalet vägar (styrt av -fpath-coverage-limit) och vägtäckningen ger upp att instrumentera funktionen. Gränsen är ungefärlig och konservativ och täckningen kan ge upp även om det faktiska antalet är något under gränsen."
#: common.opt:910
#, no-c-format
@@ -14854,10 +14844,9 @@ msgid "Optimize sibling and tail recursive calls."
msgstr "Optimera syskon- och svansrekursiva anrop."
#: common.opt:2479
-#, fuzzy, no-c-format
-#| msgid "Insert arc-based program profiling code."
+#, no-c-format
msgid "Insert path profiling code."
-msgstr "Lägg in bågbaserad programprofileringskod."
+msgstr "Lägg vägprofileringskod."
#: common.opt:2483
#, no-c-format
@@ -16045,10 +16034,9 @@ msgid "Enable function profiling."
msgstr "Aktivera funktionsprofilering."
#: common.opt:3808
-#, fuzzy, no-c-format
-#| msgid "Like -pedantic but issue them as errors."
+#, no-c-format
msgid "Like -pedantic but issue errors instead of warnings."
-msgstr "Som -pedantic men ange dem som fel."
+msgstr "Som -pedantic men ange fel istället för varningar."
#: common.opt:3848
#, no-c-format
@@ -18465,10 +18453,9 @@ msgstr ""
" villkor/beslut (maskerat MC/DC) i utdata\n"
#: gcov.cc:1104
-#, fuzzy, c-format
-#| msgid " -p, --preserve-paths Preserve all pathname components\n"
+#, c-format
msgid " -e, --prime-paths Show prime path coverage summary\n"
-msgstr " -p, --preserve-paths Bevara alla sökvägskomponenter\n"
+msgstr " -e, --prime-paths Visa sammanfattning av primevägstäckning\n"
#: gcov.cc:1105
#, c-format
@@ -18478,6 +18465,10 @@ msgid ""
" TYPE is 'covered', 'uncovered', or 'both'\n"
" and defaults to 'uncovered'\n"
msgstr ""
+" --prime-paths-lines[=TYP] Inkludera vägar i utmatningens\n"
+" radspårningsläge — påverkar inte json\n"
+" TYP är â€coveredâ€, â€uncovered†eller â€bothâ€\n"
+" och standardvärdet är â€uncoveredâ€\n"
#: gcov.cc:1109
#, c-format
@@ -18487,6 +18478,10 @@ msgid ""
" TYPE is 'covered', 'uncovered', or 'both'\n"
" and defaults to 'uncovered'\n"
msgstr ""
+" --prime-paths-source[=TYP] Inkludera vägar i utmatningens\n"
+" källspårningsläge — påverkar inte json\n"
+" TYP är â€coveredâ€, â€uncovered†eller â€bothâ€\n"
+" och standardvärdet är â€uncoveredâ€\n"
#: gcov.cc:1113
#, c-format
@@ -18649,12 +18644,12 @@ msgstr "JSON-formatversion: %s\n"
#: gcov.cc:1237
#, c-format
msgid "invalid argument '%s' for '--prime-paths-lines'. Valid arguments are: 'covered', 'uncovered', 'both'\n"
-msgstr ""
+msgstr "felaktigt argument â€%s†till â€--prime-paths-linesâ€. Giltiga argument är: â€coveredâ€, â€uncoveredâ€, â€bothâ€\n"
#: gcov.cc:1258
#, c-format
msgid "invalid argument '%s' for '--prime-paths-source'. Valid arguments are: 'covered', 'uncovered', 'both'\n"
-msgstr ""
+msgstr "felaktigt argument â€%s†till â€--prime-paths-sourceâ€. Giltiga argument är: â€coveredâ€, â€uncoveredâ€, â€bothâ€\n"
#: gcov.cc:1726
#, c-format
@@ -18837,16 +18832,14 @@ msgid "No conditions\n"
msgstr "Inga villkor\n"
#: gcov.cc:3101 gcov.cc:3155
-#, fuzzy, c-format
-#| msgid "Condition outcomes covered:%s of %d\n"
+#, c-format
msgid "Prime paths covered:%s of %d\n"
-msgstr "Täckta villkorsresultat:%s av %d\n"
+msgstr "Täckta primärvägar:%s av %d\n"
#: gcov.cc:3105 gcov.cc:3159
-#, fuzzy, c-format
-#| msgid "Display this information."
+#, c-format
msgid "No path information\n"
-msgstr "Visa den här informationen."
+msgstr "Ingen väginformation\n"
#: gcov.cc:3379
#, c-format
@@ -18901,12 +18894,12 @@ msgstr "ovillkorligt hopp %2d aldrig utfört\n"
#: gcov.cc:3729
#, c-format
msgid "path coverage omitted\n"
-msgstr ""
+msgstr "vägtäckning utesluten\n"
#: gcov.cc:3731
#, c-format
msgid "paths covered %u of %zu\n"
-msgstr ""
+msgstr "täckte %u vägar av %zu\n"
#: gcov.cc:3806
#, c-format
@@ -19296,10 +19289,8 @@ msgid "call may throw exception that does not propagate"
msgstr "anropet kan kasta ett undantag som inte propagerar"
#: tree-tailcall.cc:725
-#, fuzzy
-#| msgid "call may throw exception that does not propagate"
msgid "call may throw exception caught locally or perform cleanups"
-msgstr "anropet kan kasta ett undantag som inte propagerar"
+msgstr "anropet kan kasta ett undantag som fångas lokalt eller utför uppstädningar"
#: tree-tailcall.cc:759
msgid "return value used after call"
@@ -19318,10 +19309,8 @@ msgid "return value changed after call"
msgstr "returvärdet ändrat efter anropet"
#: tree-tailcall.cc:1012
-#, fuzzy
-#| msgid "inside another call"
msgid "internal call"
-msgstr "inuti ett annat anrop"
+msgstr "internt anrop"
#: tree-tailcall.cc:1021 tree-tailcall.cc:1061
msgid "call and return value are different"
@@ -19337,7 +19326,7 @@ msgstr "svansrekursion med pekare kan endast använda additioner"
#: tree-tailcall.cc:1563
msgid "tail recursion with accumulation mixed with musttail non-recursive call"
-msgstr ""
+msgstr "svansrekursion med ackumulering blandad med ickerekursivt musttail-anrop"
#: c-family/c-format.cc:434
msgid "format"
@@ -21726,10 +21715,8 @@ msgid "elemental binary operation"
msgstr "elementär binär operation"
#: fortran/check.cc:70
-#, fuzzy
-#| msgid " [see %<-fno-allow-invalid-boz%>]"
msgid " [see %<-fallow-invalid-boz%>]"
-msgstr " [se %<-fno-allow-invalid-boz%>]"
+msgstr " [se %<-fallow-invalid-boz%>]"
#: fortran/check.cc:482
msgid "BOZ constant truncated at %L"
@@ -23218,10 +23205,9 @@ msgid "unknown rust compile-until %qs"
msgstr "okänd rust compile-until %qs"
#: rust/lang.opt:220
-#, fuzzy, gcc-internal-format
-#| msgid "unknown attribute %qs"
+#, gcc-internal-format
msgid "unknown panic strategy %qs"
-msgstr "okänt attribut %qs"
+msgstr "okänd panikstrategi %qs"
#: c-family/c.opt:43 c-family/c.opt:46 c-family/c.opt:191
#, gcc-internal-format
@@ -23389,12 +23375,12 @@ msgstr "okänd lam-typ %qs"
#: config/i386/i386.opt:1359
#, gcc-internal-format
msgid "%<-mevex512%> will be deprecated in GCC 16 due to all machines 512 bit vector size supported"
-msgstr ""
+msgstr "%<-mevex512%> bör undvikas från GCC 16 på grund av att alla maskiners 512-bitarsvektorstorlekar stödjs"
#: config/i386/i386.opt:1367 config/i386/i386.opt:1372
#, gcc-internal-format
msgid "%<-mavx10.1%> is aliased to 512 bit since GCC14.3 and GCC15.1 while %<-mavx10.1-256%> and %<-mavx10.1-512%> will be deprecated in GCC 16 due to all machines 512 bit vector size supported"
-msgstr ""
+msgstr "%<-mavx10.1%> är ett alias för 512-bitar sedan GCC14.3 och GCC15.1 medan %<-mavx10.1-256%> och %<-mavx10.1-512%> bör undvikas i GCC 16 på grund av att alla maskiners 512-bitarsvektorstorlekar stödjs"
#: config/avr/avr.opt:34
#, gcc-internal-format
@@ -26496,7 +26482,7 @@ msgstr "%qD har fler än %u block, det begärda maximumet för %<-fharden-contro
#: gimple-low.cc:110
#, gcc-internal-format
msgid "reference to label %qD defined inside of %<assume%> attribute expression from outside of the attribute"
-msgstr ""
+msgstr "en referens till etiketten %qD definierad inuti attribututtrycket %<assume%> från utsidan av attributet"
#: gimple-low.cc:112 cp/name-lookup.cc:9306
#, gcc-internal-format
@@ -27984,8 +27970,7 @@ msgid "statement will never be executed"
msgstr "satsen kommer aldrig utföras"
#: gimplify.cc:2398
-#, fuzzy, gcc-internal-format
-#| msgid "%qs cannot be initialized with%<-ftrivial-auto-var_init%>"
+#, gcc-internal-format
msgid "%qs cannot be initialized with %<-ftrivial-auto-var_init%>"
msgstr "%qs får inte initieras med %<-ftrivial-auto-var_init%>"
@@ -30530,7 +30515,7 @@ msgstr "pass %qs fanns inte men refereras av nytt pass %qs"
#: path-coverage.cc:516
#, gcc-internal-format
msgid "paths exceeding limit, giving up path coverage"
-msgstr ""
+msgstr "vägar överskrider gränsen, ger upp vägtäckning"
#: plugin.cc:214
#, gcc-internal-format
@@ -33044,40 +33029,37 @@ msgstr "Anväder snabbare algoritmer för switch-sänkning. Antalet switch-fall
#: tree-tailcall.cc:220
#, gcc-internal-format
msgid "address of label passed to %<musttail%> call argument"
-msgstr ""
+msgstr "adressen till en etikett skickad till %<musttail%>-anropsargument"
#: tree-tailcall.cc:224
#, gcc-internal-format
msgid "address of parameter %qD passed to %<musttail%> call argument"
-msgstr ""
+msgstr "adressen till parametern %qD skickad till %<musttail%>-anropsargument"
#: tree-tailcall.cc:228
#, gcc-internal-format
msgid "address of automatic variable %qD passed to %<musttail%> call argument"
-msgstr ""
+msgstr "adressen till den automatiska variabeln %qD skickad till %<musttail%>-anropsargument"
#: tree-tailcall.cc:232
-#, fuzzy, gcc-internal-format
-#| msgid "address of local variable %qD returned"
+#, gcc-internal-format
msgid "address of local variable passed to %<musttail%> call argument"
-msgstr "adress till lokal variabel %qD returnerad"
+msgstr "adress till en lokal variabel skickat som argument till ett %<musttail%>-anrop"
#: tree-tailcall.cc:849 tree-tailcall.cc:879
-#, fuzzy, gcc-internal-format
-#| msgid "address of local variable %qD returned"
+#, gcc-internal-format
msgid "address of local variable can escape to %<musttail%> call"
-msgstr "adress till lokal variabel %qD returnerad"
+msgstr "adressen till en lokal variabel kan rymma till ett %<musttail%>-anrop"
#: tree-tailcall.cc:874
-#, fuzzy, gcc-internal-format
-#| msgid "automatic variable %qE cannot be %<threadprivate%>"
+#, gcc-internal-format
msgid "address of automatic variable %qD can escape to %<musttail%> call"
-msgstr "automatisk variabel %qE kan inte vara %<threadprivate%>"
+msgstr "adressen till en automatisk variabel %qD kan rymma till ett %<musttail%>-anrop"
#: tree-tailcall.cc:905
#, gcc-internal-format
msgid "address of parameter %qD can escape to %<musttail%> call"
-msgstr ""
+msgstr "adressen till parametern %qD kan rymma till ett %<musttail%>-anrop"
#: tree-vect-generic.cc:308 tree-vect-generic.cc:437 tree-vect-generic.cc:1939
#, gcc-internal-format
@@ -39313,10 +39295,9 @@ msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
msgstr "stackkrockvaktsstorlek %<%d%> måste vara lika med testintervallet %<%d%>"
#: config/aarch64/aarch64.cc:18902
-#, fuzzy, gcc-internal-format
-#| msgid "support for mode %qs"
+#, gcc-internal-format
msgid "no support for %qs without %qs"
-msgstr "stöd för läge %qs"
+msgstr "inget stöd för %qs utan %qs"
#: config/aarch64/aarch64.cc:18955
#, gcc-internal-format
@@ -40514,10 +40495,9 @@ msgid "supported core architectures:%s"
msgstr "stödda kärnarkitekturer:%s"
#: config/avr/avr-passes.cc:4907
-#, fuzzy, gcc-internal-format
-#| msgid "could not split insn"
+#, gcc-internal-format
msgid "failed to split insn"
-msgstr "gick inte att dela instruktion"
+msgstr "det gick inte att dela instruktionen"
#. Reached the end of `avr_mcu_types'. This should actually never
#. happen as options are provided by device-specs. It could be a
@@ -41803,10 +41783,9 @@ msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
msgstr "%<target(\"rtd\")%> ignoreras i 64-bitsläge"
#: config/i386/i386-options.cc:2693
-#, fuzzy, gcc-internal-format
-#| msgid "%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10.1-512 is available"
+#, gcc-internal-format
msgid "%<-mno-evex512%> or %<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10.1-512 is available in GCC 15, behavior will change to it will disable that part of AVX512 instructions since GCC 16"
-msgstr "%<-mno-evex512%> eller %<-mno-avx512XXX%> kan inte avaktivera AVX10-instruktioner när AVX10.1-512 är tillgängligt"
+msgstr "%<-mno-evex512%> eller %<-mno-avx512XXX%> kan inte avaktivera AVX10-instruktioner när AVX10.1-512 är tillgängligt i GCC 15, beteendet kommer ändras till att det kommer att avaktivera den delen av AVX512-instruktionerna från GCC 16."
#. We should not emit 512 bit instructions under AVX10.1-256
#. when EVEX512 is enabled w/o any AVX512 features enabled.
@@ -41822,16 +41801,14 @@ msgid "Vector size conflicts between AVX10.1 and AVX512, using 512 as max vector
msgstr "Vektorstorleken står i konflikt mellan AVX10.1 och AVX512, använder 512 som maximal vektorstorlek"
#: config/i386/i386-options.cc:2731
-#, fuzzy, gcc-internal-format
-#| msgid "%<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10 is available"
+#, gcc-internal-format
msgid "%<-mno-avx512XXX%> cannot disable AVX10 instructions when AVX10 is available in GCC 15, behavior will change to it will disable that part of AVX512 instructions since GCC 16"
-msgstr "%<-mno-avx512XXX%> kan inte avaktivera AVX10-instruktioner när AVX10 är tillgängligt"
+msgstr "%<-mno-avx512XXX%> kan inte avaktivera AVX10-instruktioner när AVX10 är tillgängligt i GCC 15, beteendet kommer ändras till att det kommer att avaktivera den delen av AVX512-instruktionerna från GCC 16."
#: config/i386/i386-options.cc:2743
-#, fuzzy, gcc-internal-format
-#| msgid "%<-mno-avx10.1-256, -mno-avx10.1-512%> cannot disable AVX512 instructions when %<-mavx512XXX%>"
+#, gcc-internal-format
msgid "%<-mno-avx10.1-256, -mno-avx10.1-512%> cannot disable AVX512 instructions when %<-mavx512XXX%> in GCC 15, behavior will change to it will disable all the instructions in GCC 16"
-msgstr "%<-mno-avx10.1-256, -mno-avx10.1-512%> kan inte avaktivera AVX512-instruktioner när %<-mavx512XXX%>"
+msgstr "%<-mno-avx10.1-256, -mno-avx10.1-512%> kan inte avaktivera AVX512-instruktioner när %<-mavx512XXX%> i GCC 15, beteendet kommer ändras till att det kommer alla instruktionerna från GCC 16."
#: config/i386/i386-options.cc:2790
#, gcc-internal-format
@@ -47604,7 +47581,7 @@ msgstr "attributet %<fallthrough%> på toppnivå"
#: c/c-parser.cc:2541 c/c-parser.cc:8296
#, gcc-internal-format
msgid "attribute %<musttail%> mixed with other attributes on %<return%> statement"
-msgstr ""
+msgstr "attributet %<musttail%> blandat med andra attribut på satsen %<return%>"
#: c/c-parser.cc:2557 c/c-parser.cc:4483
#, gcc-internal-format
@@ -48012,10 +47989,9 @@ msgid "mixing OpenMP directives with attribute and pragma syntax on the same dec
msgstr "OpenMP-direktiv blandas med attribut- och pragma-syntax på samma deklaration"
#: c/c-parser.cc:7407 cp/parser.cc:15356
-#, fuzzy, gcc-internal-format
-#| msgid "%qE attribute does not take any arguments"
+#, gcc-internal-format
msgid "%qs attribute does not take any arguments"
-msgstr "attributet %qE tar inga argument"
+msgstr "attributet %qs tar inga argument"
#: c/c-parser.cc:7504
#, gcc-internal-format
@@ -49193,17 +49169,15 @@ msgid "duplicate %<prefer_type%> modifier"
msgstr "dubblerad %<prefer_type%>-modifierare"
#: c/c-parser.cc:20841 cp/parser.cc:43138
-#, fuzzy, gcc-internal-format
-#| msgid "Expected %<)%> or %<,%> at %C"
+#, gcc-internal-format
msgid "expected %<prefer_type%>, %<target%>, or %<targetsync%>"
-msgstr "%<)%> eller %<,%> förväntades vid %C"
+msgstr "%<prefer_type%>, %<target%> eller %<targetsync%> förväntades"
#: c/c-parser.cc:20877 c/c-parser.cc:27149 cp/parser.cc:43175
#: cp/parser.cc:50578
-#, fuzzy, gcc-internal-format
-#| msgid "Expected %<)%> or %<,%> at %C"
+#, gcc-internal-format
msgid "missing required %<target%> and/or %<targetsync%> modifier"
-msgstr "%<)%> eller %<,%> förväntades vid %C"
+msgstr "saknad nödvändig modifierare %<target%> och/eller %<targetsync%>"
#: c/c-parser.cc:21118 cp/parser.cc:43470
#, gcc-internal-format
@@ -60750,24 +60724,22 @@ msgstr "kan inte representera ytterligare importerade källplatser"
#: cp/module.cc:12041
#, gcc-internal-format
msgid "mismatching abi tags for %qD with tags %qE"
-msgstr ""
+msgstr "abi-taggarna stämmer inte för %qD med taggarna %qE"
#: cp/module.cc:12045
#, gcc-internal-format
msgid "mismatching abi tags for %qD with no tags"
-msgstr ""
+msgstr "abi-taggarna stämmer inte för %qD med inga taggar"
#: cp/module.cc:12048
-#, fuzzy, gcc-internal-format
-#| msgid "existing declaration %#qD"
+#, gcc-internal-format
msgid "existing declaration here with tags %qE"
-msgstr "befintlig deklaration %#qD"
+msgstr "befintlig deklaration här med taggarna %qE"
#: cp/module.cc:12051
-#, fuzzy, gcc-internal-format
-#| msgid "exporting declaration %qD with internal linkage"
+#, gcc-internal-format
msgid "existing declaration here with no tags"
-msgstr "en exporterande deklaration %qD med intern länkklass"
+msgstr "en befintlig deklaration här utan taggar"
#: cp/module.cc:12193
#, gcc-internal-format
@@ -61811,16 +61783,14 @@ msgid "%qE is not recognized as a module control-line"
msgstr "%qE ser inte ut som en modulstyrrad"
#: cp/parser.cc:3904
-#, fuzzy, gcc-internal-format
-#| msgid "C++20 %qE only available with %<-fmodules-ts%>"
+#, gcc-internal-format
msgid "C++20 %qE only available with %<-fmodules%>"
-msgstr "C++20 %qE är endast tillgängligt med %<-fmodules-ts%>"
+msgstr "C++20 %qE är endast tillgängligt med %<-fmodules%>"
#: cp/parser.cc:3907
-#, fuzzy, gcc-internal-format
-#| msgid "C++20 %qE only available with %<-fmodules-ts%>, which is not yet enabled with %<-std=c++20%>"
+#, gcc-internal-format
msgid "C++20 %qE only available with %<-fmodules%>, which is not yet enabled with %<-std=c++20%>"
-msgstr "C++20 %qE är endast tillgängligt med %<-fmodules-ts%>, som inte ännu aktiveras med %<-std=c++20%>"
+msgstr "C++20 %qE är endast tillgängligt med %<-fmodules%>, som inte ännu aktiveras med %<-std=c++20%>"
#: cp/parser.cc:3913
#, gcc-internal-format
@@ -63040,10 +63010,9 @@ msgid "keyword %<export%> is deprecated, and is ignored"
msgstr "nyckelordet %<export%> bör undvikas, och ignoreras"
#: cp/parser.cc:18861
-#, fuzzy, gcc-internal-format
-#| msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
+#, gcc-internal-format
msgid "keyword %<export%> is enabled with %<-fmodules%>"
-msgstr "nyckelordet %<export%> är aktiverat med %<-fmodules-ts%>"
+msgstr "nyckelordet %<export%> är aktiverat med %<-fmodules%>"
#: cp/parser.cc:18966
#, gcc-internal-format
@@ -63442,10 +63411,9 @@ msgid "types may not be defined in alias template declarations"
msgstr "typer får inte definieras i aliasmalldeklarationer"
#: cp/parser.cc:23293
-#, fuzzy, gcc-internal-format
-#| msgid "Expected register or constant integer."
+#, gcc-internal-format
msgid "expected string-literal or constexpr in parentheses"
-msgstr "Register eller konstant heltal förväntades."
+msgstr "en strängliteral constexpr i parenteser förväntades"
#: cp/parser.cc:23354
#, gcc-internal-format
@@ -63660,10 +63628,9 @@ msgid "expected type-specifier"
msgstr "typspecificerare förväntades"
#: cp/parser.cc:26047
-#, fuzzy, gcc-internal-format
-#| msgid "comparison between two arrays is deprecated in C++20"
+#, gcc-internal-format
msgid "omission of %<,%> before varargs %<...%> is deprecated in C++26"
-msgstr "jämförelse mellan två vektorer bör undvikas enligt C++20"
+msgstr "att utelämna %<,%> före varargs %<...%> bör undvikas enligt C++26"
#: cp/parser.cc:26254
#, gcc-internal-format
@@ -63681,10 +63648,9 @@ msgid "%<this%> specifier in template parameter declaration"
msgstr "specificeraren %<this%> i en mallparameterdeklaration"
#: cp/parser.cc:26459
-#, fuzzy, gcc-internal-format
-#| msgid "%<this%> specifier in template parameter declaration"
+#, gcc-internal-format
msgid "%<this%> specifier in a requires-expression parameter"
-msgstr "specificeraren %<this%> i en mallparameterdeklaration"
+msgstr "specificeraren %<this%> i en parameter till ett requires-uttryck"
#: cp/parser.cc:26519
#, gcc-internal-format
@@ -63812,10 +63778,9 @@ msgid "invalid class name in declaration of %qD"
msgstr "ogiltigt klassnamn i deklaration av %qD"
#: cp/parser.cc:28249
-#, fuzzy, gcc-internal-format
-#| msgid "defining explicit specialization %qD in friend declaration"
+#, gcc-internal-format
msgid "declaration of partial specialization in unbraced export-declaration"
-msgstr "definierar explicit specialisering %qD i vändeklaration"
+msgstr "deklaration av en partiell specialisering i exportdeklaration utan klamrar"
#: cp/parser.cc:28275
#, gcc-internal-format
@@ -63871,10 +63836,9 @@ msgid "in C++03 a class-key must be used when declaring a friend"
msgstr "i C++03 måste en klassnyckel användas när en vän deklareras"
#: cp/parser.cc:28837
-#, fuzzy, gcc-internal-format
-#| msgid "name-independent declarations only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
+#, gcc-internal-format
msgid "variadic friends or friend type declarations with multiple types only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
-msgstr "namnoberoende deklarationer är endast tillgängliga med %<-std=c++2c%> eller %<-std=gnu++2c%>"
+msgstr "deklarationer av variadiska vänner väntyp med flera typer är endast tillgängligt med %<-std=c++2c%> eller %<-std=gnu++2c%>"
#: cp/parser.cc:28878
#, gcc-internal-format
@@ -63922,10 +63886,9 @@ msgid "expected %<;%> at end of member declaration"
msgstr "%<;%> förväntades vid slutet av medlemsdeklaration"
#: cp/parser.cc:29407
-#, fuzzy, gcc-internal-format
-#| msgid "defaulted %qD only available with %<-std=c++20%> or %<-std=gnu++20%>"
+#, gcc-internal-format
msgid "%<delete%> reason only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
-msgstr "standarddefinierad %qD är endast tillgänglig med %<-std=c++20%> eller %<-std=gnu++20%>"
+msgstr "orsaken till %<delete%> är endast tillgänglig med %<-std=c++2c%> eller %<-std=gnu++2c%>"
#: cp/parser.cc:29430
#, gcc-internal-format
@@ -63938,10 +63901,9 @@ msgid "a brace-enclosed initializer is not allowed here"
msgstr "en klammeromsluten initierare är inte tillåten här"
#: cp/parser.cc:29596
-#, fuzzy, gcc-internal-format
-#| msgid "method attributes must be specified at the end"
+#, gcc-internal-format
msgid "attributes on base specifiers are ignored"
-msgstr "metodattribut måste anges på slutet"
+msgstr "attribut på basspecificerare ignoreras"
#: cp/parser.cc:29611
#, gcc-internal-format
@@ -63994,16 +63956,14 @@ msgid "types may not be defined in exception-declarations"
msgstr "typer får inte definieras i undantagsdeklarationer"
#: cp/parser.cc:30200
-#, fuzzy, gcc-internal-format
-#| msgid "%<inline%> in empty declaration"
+#, gcc-internal-format
msgid "%<alignas%> on exception declaration"
-msgstr "%<inline%> i tom deklaration"
+msgstr "%<alignas%> på en undantagsdeklaration"
#: cp/parser.cc:30279
-#, fuzzy, gcc-internal-format
-#| msgid "%qD cannot have default arguments"
+#, gcc-internal-format
msgid "%<co_yield%> cannot be used in default arguments"
-msgstr "%qD kan inte ha standardargument"
+msgstr "%<co_yield%> kan inte användas i standardargument"
#: cp/parser.cc:30747
#, gcc-internal-format
@@ -64572,16 +64532,14 @@ msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
msgstr "%<#pragma omp declare %s%> följt av %<#pragma omp declare %s%>"
#: cp/parser.cc:50289
-#, fuzzy, gcc-internal-format
-#| msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition"
+#, gcc-internal-format
msgid "%<#pragma omp dispatch%> must be followed by a direct function call with optional assignment"
-msgstr "%<#pragma omp declare %s%> måste följas av en funktionsdeklaration eller -definition"
+msgstr "%<#pragma omp dispatch%> måste följas av ett direkt funktionsanrop med en möjlig tilldelning"
#: cp/parser.cc:50516
-#, fuzzy, gcc-internal-format
-#| msgid "%qD is not a pointer variable"
+#, gcc-internal-format
msgid "%qD is not a C pointer"
-msgstr "%qD är inte en pekarvariabel"
+msgstr "%qD är inte en C-pekare"
#: cp/parser.cc:50642
#, gcc-internal-format
@@ -64644,10 +64602,9 @@ msgid "%qD does not refer to a namespace scope function"
msgstr "%qD refererar inte till en funktion med namnrymdsräckvidd"
#: cp/parser.cc:52924 cp/parser.cc:53459
-#, fuzzy, gcc-internal-format
-#| msgid "compound-statement in %<constexpr%> function"
+#, gcc-internal-format
msgid "OpenMP directives may not appear in %<constexpr%> functions"
-msgstr "sammansatt sats i en %<constexpr%>-funktion"
+msgstr "OpenMP-direktiv får inte förekomma i %<constexpr%>-funktioner"
#. cancel-and-throw is unimplemented.
#: cp/parser.cc:53135
@@ -64859,16 +64816,12 @@ msgid "explicit specialization %q#D may be missing attributes"
msgstr "explicit specialisering %q#D kan sakna attribut"
#: cp/pt.cc:2802
-#, fuzzy
-#| msgid "missing primary template attributes %s"
msgid "missing primary template attributes %e"
-msgstr "primära mallattribut %s saknas"
+msgstr "primära mallattribut %e saknas"
#: cp/pt.cc:2803
-#, fuzzy
-#| msgid "missing primary template attribute %s"
msgid "missing primary template attribute %e"
-msgstr "primärt mallattribut %s saknas"
+msgstr "primärt mallattribut %e saknas"
#: cp/pt.cc:2896 cp/pt.cc:2956
#, gcc-internal-format
@@ -65618,16 +65571,14 @@ msgid "property must be constant integer expression"
msgstr "egenskapen måste vara ett konstant heltalsuttryck"
#: cp/pt.cc:12466
-#, fuzzy, gcc-internal-format
-#| msgid "explicit instantiation of non-class template %qD"
+#, gcc-internal-format
msgid "instantiating erroneous template"
-msgstr "explicit instansieringar av mallen %q#D som inte är en klass"
+msgstr "instansiering av felaktig mall"
#: cp/pt.cc:12467
-#, fuzzy, gcc-internal-format
-#| msgid "first specified here"
+#, gcc-internal-format
msgid "first error appeared here"
-msgstr "först specificerad här"
+msgstr "först felet uppstod här"
#: cp/pt.cc:12818
#, gcc-internal-format
@@ -65655,10 +65606,9 @@ msgid "mismatched argument pack lengths while expanding %qE"
msgstr "argumentpaketlängder stämmer inte överens vid expansion av %qE"
#: cp/pt.cc:14083
-#, fuzzy, gcc-internal-format
-#| msgid "%qD is instantiated for an empty pack"
+#, gcc-internal-format
msgid "cannot index an empty pack"
-msgstr "%qD instansieras för ett tomt paket"
+msgstr "det går inte att indexera ett tomt paket"
#: cp/pt.cc:14534
#, gcc-internal-format
@@ -65759,10 +65709,9 @@ msgid "creating array of %qT"
msgstr "skapar vektor av %qT"
#: cp/pt.cc:17072
-#, fuzzy, gcc-internal-format
-#| msgid "array %q+D assumed to have one element"
+#, gcc-internal-format
msgid "%qD expanded to more than one element"
-msgstr "vektor %q+D antas ha ett element"
+msgstr "%qD expanderde till mer än ett element"
#: cp/pt.cc:17079
#, gcc-internal-format
@@ -65984,10 +65933,9 @@ msgid "exception specification of %qD depends on itself"
msgstr "explicit specifikation av %qD beror på sig själv"
#: cp/pt.cc:27487
-#, fuzzy, gcc-internal-format
-#| msgid "virt-specifiers in %qs not allowed outside a class definition"
+#, gcc-internal-format
msgid "exception specification of %qD is not available until end of class definition"
-msgstr "virt-specificerare i %qs är inte tillåtet utanför en klassdefinition"
+msgstr "undantagspecifikationen för %qD är inte tillgänglig förrän slutet av klassdefinitionen"
#. [temp.explicit]
#.
@@ -66453,10 +66401,9 @@ msgid "%<auto{x}%> cannot be constrained"
msgstr "%<auto{x}%> kan inte begränsas"
#: cp/semantics.cc:3838
-#, fuzzy, gcc-internal-format
-#| msgid "%<auto{x}%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
+#, gcc-internal-format
msgid "%<auto{x}%> only available with %<-std=c++23%> or %<-std=gnu++23%>"
-msgstr "%<auto{x}%> är endast tillgängligt med %<-std=c++2b%> eller %<-std=gnu++2b%>"
+msgstr "%<auto{x}%> är endast tillgängligt med %<-std=c++23%> eller %<-std=gnu++23%>"
#: cp/semantics.cc:4030
#, gcc-internal-format
@@ -66559,22 +66506,19 @@ msgid "%qT is not an enumeration type"
msgstr "%qT är inte ett uppräkningstyp"
#: cp/semantics.cc:5094
-#, fuzzy, gcc-internal-format
-#| msgid "%<__type_pack_element%> index is not an integral constant"
+#, gcc-internal-format
msgid "pack index is not an integral constant"
-msgstr "indexet till %<__type_pack_element%> är inte en heltalskonstant"
+msgstr "paketindexet är inte en heltalskonstant"
#: cp/semantics.cc:5100
-#, fuzzy, gcc-internal-format
-#| msgid "%<__type_pack_element%> index is negative"
+#, gcc-internal-format
msgid "pack index is negative"
-msgstr "indexet till %<__type_pack_element%> är negativt"
+msgstr "paketindexet är negativt"
#: cp/semantics.cc:5106
-#, fuzzy, gcc-internal-format
-#| msgid "%<__type_pack_element%> index is out of range"
+#, gcc-internal-format
msgid "pack index is out of range"
-msgstr "indexet till %<__type_pack_element%> är utanför intervallet"
+msgstr "paketindexet är utanför intervallet"
#. Parameter packs can only be used in templates
#: cp/semantics.cc:5243
@@ -66633,10 +66577,9 @@ msgid "user defined reduction with constructor initializer for base class %qT"
msgstr "användardefinierad reduktion med konstruerarinitierare för basklassen %qT"
#: cp/semantics.cc:7505
-#, fuzzy, gcc-internal-format
-#| msgid "property must be a constant integer expression at %C"
+#, gcc-internal-format
msgid "expected string literal or constant integer expression instead of %qE"
-msgstr "egenskapen måste vara ett konstant heltalsuttryck vid %C"
+msgstr "en strängliteral eller ett konstant heltalsuttryck förväntades istället för %qE"
#: cp/semantics.cc:7695
#, gcc-internal-format
@@ -66885,40 +66828,34 @@ msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
msgstr "%<#pragma omp atomic update%> använder två olika uttryck för minne"
#: cp/semantics.cc:12248
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message must be a string literal or object with %<size%> and %<data%> members"
+#, gcc-internal-format
msgid "constexpr string must be a string literal or object with %<size%> and %<data%> members"
-msgstr "meddelandet i %<static_assert%> måste vara en strängliteral eller ett objekt med medlemmarna %<size%> och %<data%>"
+msgstr "constexpr-strängen måste vara en strängliteral eller ett objekt med medlemmarna %<size%> och %<data%>"
#: cp/semantics.cc:12264
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message %<size()%> must be implicitly convertible to %<std::size_t%>"
+#, gcc-internal-format
msgid "constexpr string %<size()%> must be implicitly convertible to %<std::size_t%>"
-msgstr "meddelandet %<size()%> till %<static_assert%> måste vara implicit konverterbart till %<std::size_t%>"
+msgstr "constexpr-strängen %<size()%> måste vara implicit konverterbar till %<std::size_t%>"
#: cp/semantics.cc:12273
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message %<data()%> must be implicitly convertible to %<const char*%>"
+#, gcc-internal-format
msgid "constexpr string %<data()%> must be implicitly convertible to %<const char*%>"
-msgstr "meddelandet %<data()%> till %<static_assert%> måste vara implicit konverterbart till %<const char*%>"
+msgstr "constexpr-strängen %<data()%> måste vara implicit konverterbart till %<const char*%>"
#: cp/semantics.cc:12311
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message %<size()%> must be a constant expression"
+#, gcc-internal-format
msgid "constexpr string %<size()%> must be a constant expression"
-msgstr "meddelandet %<size()%> till %<static_assert%> måste vara ett konstant uttryck"
+msgstr "constexpr-strängen %<size()%> måste vara ett konstant uttryck"
#: cp/semantics.cc:12319
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message %<size()%> %qE too large"
+#, gcc-internal-format
msgid "constexpr string message %<size()%> %qE too large"
-msgstr "meddelandet %<size()%> till %<static_assert%> %qE är för stort"
+msgstr "constexpr-strängmeddelandet %<size()%> %qE är för stort"
#: cp/semantics.cc:12346
-#, fuzzy, gcc-internal-format
-#| msgid "%<static_assert%> message %<data()[%d]%> must be a constant expression"
+#, gcc-internal-format
msgid "constexpr string %<data()[%d]%> must be a constant expression"
-msgstr "meddelandet %<data()[%d]%> till %<static_assert%> måste vara ett konstant uttryck"
+msgstr "constexpr-strängen %<data()[%d]%> måste vara ett konstant uttryck"
#: cp/semantics.cc:12372
#, fuzzy, gcc-internal-format
@@ -70327,12 +70264,12 @@ msgstr "stat=-argumentet vid %L måste vara en heltalsvariabel av kind=4"
#: fortran/check.cc:5174
#, gcc-internal-format, gfc-internal-format
msgid "The MASK argument at %L, if present, must be a logical array with the same rank as ARRAY"
-msgstr ""
+msgstr "Argumentet MASK vid %L, om det finns, måste vara en logisk vektor med samma ordning som ARRAY"
#: fortran/check.cc:5186
#, gcc-internal-format, gfc-internal-format
msgid "MASK present at %L without IDENTITY"
-msgstr ""
+msgstr "MASK finns vid %L utan IDENTITY"
#: fortran/check.cc:5190
#, fuzzy, gcc-internal-format, gfc-internal-format
@@ -70343,7 +70280,7 @@ msgstr "Dim-argumentet vid %L måste vara skalärt"
#: fortran/check.cc:5198
#, gcc-internal-format, gfc-internal-format
msgid "The IDENTITY argument at %L, if present, must be a scalar with the same type as ARRAY"
-msgstr ""
+msgstr "Argumentet IDENTITY vid %L, om det finns, måste vara en skalär med samma ordning som ARRRAY"
#: fortran/check.cc:5289
#, gcc-internal-format
@@ -81721,7 +81658,7 @@ msgstr "Allokering %s av ABSTRACT bastyp vid %L behöver en typspecifikation ell
#: fortran/resolve.cc:9000
#, gcc-internal-format
msgid "The type parameter in ALLOCATE statement with type-spec shall be an asterisk as allocate object %qs at %L is a dummy argument with assumed type parameter"
-msgstr ""
+msgstr "Typparametern i satsen ALLOCATE med typspecifikationen skall vara en asterisk eftersom allokeringsobjektet %qs vid %L är ett attrappargumentparameter med antagen typ"
#: fortran/resolve.cc:9020
#, gcc-internal-format, gfc-internal-format
@@ -86476,11 +86413,6 @@ msgstr "försöker du göra sönder %s? hur vågar du?"
#~ msgid "%<init%> clause with modifier other than %<prefer_type%>, %<target%> or %<targetsync%>"
#~ msgstr "en klausul %<init%> med en annan modifierare än %<prefer_type%>, %<target%> eller %<targetsync%>"
-#, fuzzy, gcc-internal-format, gfc-internal-format
-#~| msgid "Interface mismatch in dummy procedure %qs at %L: %s"
-#~ msgid "Interface mismatch in dummy procedure at %L conflichts with %L: %s"
-#~ msgstr "Gränssnitt stämmer inte överens i attrapprocedur %qs vid %L: %s"
-
#, c-format
#~ msgid "bad I/O address 0x"
#~ msgstr "felaktig I/O-adress 0x"
diff --git a/gcc/profile-count.cc b/gcc/profile-count.cc
index 8b9d8e1..374f06f 100644
--- a/gcc/profile-count.cc
+++ b/gcc/profile-count.cc
@@ -519,3 +519,26 @@ profile_probability::pow (int n) const
}
return ret;
}
+profile_count
+profile_count::operator* (const sreal &num) const
+{
+ if (m_val == 0)
+ return *this;
+ if (!initialized_p ())
+ return uninitialized ();
+ sreal scaled = num * m_val;
+ gcc_checking_assert (scaled >= 0);
+ profile_count ret;
+ if (m_val > max_count)
+ ret.m_val = max_count;
+ else
+ ret.m_val = scaled.to_nearest_int ();
+ ret.m_quality = MIN (m_quality, ADJUSTED);
+ return ret;
+}
+
+profile_count
+profile_count::operator*= (const sreal &num)
+{
+ return *this * num;
+}
diff --git a/gcc/profile-count.h b/gcc/profile-count.h
index 015aee9..0e79fd2 100644
--- a/gcc/profile-count.h
+++ b/gcc/profile-count.h
@@ -1061,6 +1061,9 @@ public:
return *this;
}
+ profile_count operator* (const sreal &num) const;
+ profile_count operator*= (const sreal &num);
+
profile_count operator/ (int64_t den) const
{
return apply_scale (1, den);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a812bf1..af49263 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,321 @@
+2025-04-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.target/i386/pr89618-2.c: XFAIL.
+
+2025-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/119327
+ * g++.dg/opt/pr119327.C: New test.
+
+2025-04-22 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test
+ __ARM_FEATURE_FAMINMAX.
+
+2025-04-22 Spencer Abson <spencer.abson@arm.com>
+
+ * gcc.target/aarch64/_Float16_cmp_1.c: New test.
+ * gcc.target/aarch64/_Float16_cmp_2.c: New (negative) test.
+
+2025-04-22 Spencer Abson <spencer.abson@arm.com>
+
+ PR target/117013
+ * g++.target/aarch64/spaceship_1.C: New test.
+ * g++.target/aarch64/spaceship_2.C: New test.
+ * g++.target/aarch64/spaceship_3.C: New test.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * gfortran.dg/coarray/coindexed_3.f08: Add minimal test for
+ get_team().
+ * gfortran.dg/team_change_2.f90: Add test for change team with
+ label and exiting out of it.
+ * gfortran.dg/team_end_2.f90: Check parsing to labeled team
+ blocks is correct now.
+ * gfortran.dg/team_end_3.f90: Check that end_team call is
+ generated for labeled end_teams, too.
+ * gfortran.dg/coarray/coindexed_5.f90: New test.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * gfortran.dg/coarray_49.f90: Adapt to changed error message.
+ * gfortran.dg/coarray_collectives_12.f90: Adapt to changed
+ function signature of num_images.
+ * gfortran.dg/coarray_collectives_16.f90: Same.
+ * gfortran.dg/coarray_lib_this_image_1.f90: Same.
+ * gfortran.dg/coarray_lib_this_image_2.f90: Same.
+ * gfortran.dg/coarray_this_image_1.f90: Adapt tests for
+ num_images.
+ * gfortran.dg/coarray_this_image_2.f90: Same.
+ * gfortran.dg/coarray_this_image_3.f90: Same.
+ * gfortran.dg/num_images_1.f90: Check that deprecated syntax is
+ no longer supported.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ * gfortran.dg/coarray_10.f90: Update error messages.
+ * gfortran.dg/coarray_lib_this_image_1.f90: Same.
+ * gfortran.dg/coarray_lib_this_image_2.f90: Same.
+ * gfortran.dg/coarray_this_image_1.f90: Add more tests and
+ remove incorrect ones.
+ * gfortran.dg/coarray_this_image_2.f90: Test more features.
+ * gfortran.dg/coarray_this_image_3.f90: New test.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/88154
+ PR fortran/88960
+ PR fortran/97210
+ PR fortran/103001
+ * gfortran.dg/coarray/image_status_1.f08: Correct check for
+ team_type.
+ * gfortran.dg/pr102458.f90: Adapt to multiple errors.
+ * gfortran.dg/coarray/get_team_1.f90: New test.
+ * gfortran.dg/team_get_1.f90: New test.
+ * gfortran.dg/team_number_1.f90: Correct Fortran syntax.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ PR fortran/87556
+ PR fortran/88254
+ PR fortran/103796
+ * gfortran.dg/team_change_2.f90: New test.
+ * gfortran.dg/team_change_3.f90: New test.
+ * gfortran.dg/team_end_2.f90: New test.
+ * gfortran.dg/team_end_3.f90: New test.
+ * gfortran.dg/team_form_2.f90: New test.
+ * gfortran.dg/team_form_3.f90: New test.
+ * gfortran.dg/team_sync_2.f90: New test.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87939
+ * gfortran.dg/coarray_critical_2.f90: New test.
+ * gfortran.dg/coarray_critical_3.f90: New test.
+ * gfortran.dg/team_sync_1.f90: New test.
+ * gfortran.dg/move_alloc_11.f90: New test.
+
+2025-04-22 Yixuan Chen <chenyixuan@iscas.ac.cn>
+
+ * gcc.target/riscv/mcpu-xt-c908.c: test -mcpu=xt-c908.
+ * gcc.target/riscv/mcpu-xt-c910.c: test -mcpu=xt-c910.
+ * gcc.target/riscv/mcpu-xt-c920v2.c: test -mcpu=xt-c920v2.
+ * gcc.target/riscv/mcpu-xt-c908v.c: test -mcpu=xt-c908v.
+ * gcc.target/riscv/mcpu-xt-c910v2.c: test -mcpu=xt-c910v2.
+ * gcc.target/riscv/mcpu-xt-c920.c: test -mcpu=xt-c920.
+
+2025-04-22 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * g++.dg/gcov/gcov.exp: Handle GCOV_UNDER_TEST.
+ * gcc.misc-tests/gcov.exp: Likewise.
+ * gdc.dg/gcov.exp: Likewise.
+ * gnat.dg/gcov/gcov.exp: Likewise.
+
+2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.misc-tests/gcov-31.c (run_pending_traps): Use sigsetjmp
+ instead of __sigsetjmp.
+
+2025-04-22 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/119863
+ * g++.dg/modules/tpl-friend-18_a.C: New test.
+ * g++.dg/modules/tpl-friend-18_b.C: New test.
+ * g++.dg/modules/tpl-friend-18_c.C: New test.
+
+2025-04-22 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * g++.dg/eh/pr119507.C: Skip for arm eabi.
+
+2025-04-22 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc.target/powerpc/power11-3.c: Require ifunc support.
+
+2025-04-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/118775
+ * g++.dg/cpp2a/constexpr-new24.C: Adjust diagnostic.
+
+2025-04-21 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * gcc.dg/memcpy-4.c: Remove mips specific code.
+ * gcc.target/mips/memcpy-2.c: New test.
+
+2025-04-21 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.target/mips/clear-cache-1.c: Also allow jrc.
+
+2025-04-21 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Do not check output for
+ MIPS lp64 abi.
+
+2025-04-21 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/119507
+ * g++.dg/eh/pr119507.C: New test.
+
+2025-04-21 hongtao.liu <hongtao.liu@intel.com>
+
+ * gcc.target/i386/recip-vec-divf-fma.c: New test.
+
+2025-04-20 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/117863
+ * gcc.dg/rtl/i386/vector_eq-2.c: New test.
+ * gcc.dg/rtl/i386/vector_eq-3.c: Likewise.
+
+2025-04-19 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR testsuite/119508
+ * rust/compile/nr2/compile.exp: Disable parallel testing.
+
+2025-04-19 Co-authored-by: Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/118410
+ * gcc.target/riscv/pr118410-1.c: New test.
+ * gcc.target/riscv/pr118410-2.c: Likewise.
+
+2025-04-19 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * gcc.dg/pr118947-1.c: Use 1025 as the size of the buf.
+ * gcc.dg/pr78408-3.c: Likewise.
+
+2025-04-19 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR rtl-optimization/111949
+ * gcc.target/aarch64/bic-1.c: New test.
+
+2025-04-19 Jiaxun Yang <jiaxun.yang@flygoat.com>
+
+ PR target/111814
+ * gcc.target/sh/pr111814.c: New test.
+
+2025-04-19 Maciej W. Rozycki <macro@orcam.me.uk>
+
+ * gcc.target/alpha/memcpy-nested-offset-long.c: New file.
+ * gcc.target/alpha/memcpy-nested-offset-quad.c: New file.
+
+2025-04-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/119836
+ * gfortran.dg/do_concurrent_all_clauses.f90: Remove invalid
+ dg-error test.
+ * gfortran.dg/pr119836_1.f90: New test.
+ * gfortran.dg/pr119836_2.f90: New test.
+ * gfortran.dg/pr119836_3.f90: New test.
+ * gfortran.dg/pr119836_4.f90: New test.
+
+2025-04-18 Thomas Schwinge <tschwinge@baylibre.com>
+
+ PR cobol/119818
+ * cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob:
+ 'dg-set-target-env-var TZ UTC0'.
+
+2025-04-18 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.target/riscv/bext-ext-2.c: New test
+
+2025-04-18 Jonathan Yong <10walls@gmail.com>
+
+ * g++.dg/abi/ref-temp1.C: Replicate some test based on
+ PE expectations.
+ * lib/target-supports.exp: New check_effective_target_pe.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/87901
+ * gcc.dg/tree-ssa/ssa-dse-53.c: New test.
+ * gcc.dg/tree-ssa/ssa-dse-54.c: New test.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/87901
+ * gcc.dg/tree-ssa/ssa-dse-52.c: New test.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/118902
+ * gcc.dg/tree-ssa/pr118902-1.c: New test.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/118947
+ * gcc.dg/pr118947-1.c: New test.
+
+2025-04-18 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/78408
+ PR tree-optimization/118947
+ * gcc.dg/pr78408-3.c: New test.
+
+2025-04-18 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * gcc.dg/pr116357.c: Use sizeof(int) instead of alignof(int).
+
+2025-04-18 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
+
+ PR middle-end/108016
+ * gcc.target/riscv/pr108016.c: New test.
+
+2025-04-18 kelefth <konstantinos.eleftheriou@vrull.eu>
+
+ PR rtl-optimization/119160
+ * gcc.dg/pr119160.c: New test.
+
+2025-04-18 Xing Li <lixing@loongson.cn>
+
+ * gcc.target/loongarch/vector/loongarch-vector.exp: Change
+ {dg-do-what-default} save and restore logical.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp2a/constexpr-dtor16.C: Adjust diagnostic.
+ * g++.dg/cpp2a/constexpr-dynamic10.C: Likewise.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp1y/constexpr-new.C: Adjust diagnostics.
+ * g++.dg/cpp1z/constexpr-asm-5.C: Likewise.
+ * g++.dg/cpp26/static_assert1.C: Likewise.
+ * g++.dg/cpp2a/constexpr-dtor7.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new26.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new3.C: Likewise.
+ * g++.dg/cpp2a/constinit14.C: Likewise.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp26/pack-indexing2.C: Adjust diagnostics.
+ * g++.dg/ext/type_pack_element2.C: Likewise.
+ * g++.dg/ext/type_pack_element4.C: Likewise.
+
+2025-04-17 Tamar Christina <tamar.christina@arm.com>
+
+ PR tree-optimization/119351
+ * gcc.target/aarch64/sve/pr119351.c: New test.
+ * gcc.target/aarch64/sve/pr119351_run.c: New test.
+
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/119834
+ * g++.target/s390/pr119834.C: New test.
+
+2025-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * gdc.test/fail_compilation/test21247.d: New test.
+ * gdc.test/fail_compilation/test21247b.d: New test.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/113360
+ * g++.dg/cpp23/constexpr-nonlit18.C: Remove redundant message.
+ * g++.dg/cpp1y/constexpr-diag2.C: New test.
+ * g++.dg/cpp1y/pr63996.C: Adjust expected errors.
+ * g++.dg/template/explicit-args6.C: Likewise.
+ * g++.dg/cpp0x/constexpr-ice21.C: Likewise.
+
2025-04-16 Alexandre Oliva <oliva@adacore.com>
* gcc.dg/ipa/ipa-sra-19.c: Add -Wno-psabi on ppc-elf too.
diff --git a/gcc/testsuite/cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob b/gcc/testsuite/cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob
index cc2a4e1..88b1b84 100644
--- a/gcc/testsuite/cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob
+++ b/gcc/testsuite/cobol.dg/group2/FUNCTION_DATE___TIME_OMNIBUS.cob
@@ -1,4 +1,5 @@
*> { dg-do run }
+ *> { dg-set-target-env-var TZ UTC0 }
identification division.
program-id. test.
diff --git a/gcc/testsuite/g++.dg/abi/ref-temp1.C b/gcc/testsuite/g++.dg/abi/ref-temp1.C
index 70c9a7a..b02dcf6 100644
--- a/gcc/testsuite/g++.dg/abi/ref-temp1.C
+++ b/gcc/testsuite/g++.dg/abi/ref-temp1.C
@@ -7,11 +7,16 @@ struct B { const A (&x)[2]; };
template <typename T> B &&b = { { { { 1, 2, 3 } }, { { 4, 5, 6 } } } };
B &temp = b<void>;
-// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE_" } }
-// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE0_" } }
-// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE1_" } }
-// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE2_" } }
+// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE_" { target { ! pe } } } }
+// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE0_" { target { ! pe } } } }
+// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE1_" { target { ! pe } } } }
+// { dg-final { scan-assembler ".weak\(_definition\)?\[ \t\]_?_ZGR1bIvE2_" { target { ! pe } } } }
+// { dg-final { scan-assembler "\.section\t\.data\\\$_ZGR1bIvE_,\"w\"\n\t\.linkonce same_size" { target pe } } }
+// { dg-final { scan-assembler "\.section\t\.rdata\\\$_ZGR1bIvE0_,\"dr\"\n\t\.linkonce same_size" { target pe } } }
+// { dg-final { scan-assembler "\.section\t\.rdata\\\$_ZGR1bIvE1_,\"dr\"\n\t\.linkonce same_size" { target pe } } }
+// { dg-final { scan-assembler "\.section\t\.rdata\\\$_ZGR1bIvE2_,\"dr\"\n\t\.linkonce same_size" { target pe } } }
+//
// { dg-final { scan-assembler "_ZGR1bIvE_:\n\[^\n]+_ZGR1bIvE0_" } }
// { dg-final { scan-assembler "_ZGR1bIvE0_:\n\[^\n]+_ZGR1bIvE1_" } }
// { dg-final { scan-assembler "_ZGR1bIvE1_:\n\[^\n]+\[ \t\]1" } }
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new24.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new24.C
index ee62f18..17c9f54 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new24.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new24.C
@@ -6,14 +6,14 @@ int a;
constexpr char *
f1 ()
{
- constexpr auto p = new char[(long int) &a]; // { dg-error "size not constant" }
+ constexpr auto p = new char[(long int) &a]; // { dg-error "conversion from pointer" }
return p;
}
constexpr char *
f2 ()
{
- auto p = new char[(long int) &a]; // { dg-error "size not constant" }
+ auto p = new char[(long int) &a]; // { dg-error "conversion from pointer" }
return p;
}
diff --git a/gcc/testsuite/g++.dg/eh/pr119507.C b/gcc/testsuite/g++.dg/eh/pr119507.C
new file mode 100644
index 0000000..168779b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/eh/pr119507.C
@@ -0,0 +1,21 @@
+// { dg-do compile { target comdat_group } }
+// ARM EABI has its own exception handling data handling and does not use gcc_except_table
+// { dg-skip-if "!TARGET_EXCEPTION_DATA" { arm_eabi } }
+// Solaris/SPARC as uses a widely different COMDAT section syntax.
+// { dg-skip-if "Solaris/SPARC as syntax" { sparc*-*-solaris2* && { ! gas } } }
+// Force off function sections
+// Force on exceptions
+// { dg-options "-fno-function-sections -fexceptions" }
+// PR middle-end/119507
+
+
+inline int comdat() { try { throw 1; } catch (int) { return 1; } return 0; }
+int another_func_with_exception() { try { throw 1; } catch (int) { return 1; } return 0; }
+inline int comdat1() { try { throw 1; } catch (int) { return 1; } return 0; }
+int foo() { return comdat() + comdat1(); }
+
+// Make sure the gcc puts the exception table for both comdat and comdat1 in their own section
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table._Z6comdatv" 1 } }
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table._Z7comdat1v" 1 } }
+// There should be 3 exception tables,
+// { dg-final { scan-assembler-times ".section\[\t \]\[^\n\]*.gcc_except_table" 3 } }
diff --git a/gcc/testsuite/g++.dg/gcov/gcov.exp b/gcc/testsuite/g++.dg/gcov/gcov.exp
index 50f60c4..04c7c95 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov.exp
+++ b/gcc/testsuite/g++.dg/gcov/gcov.exp
@@ -21,12 +21,19 @@ load_lib g++-dg.exp
load_lib gcov.exp
global GXX_UNDER_TEST
+global GCOV_UNDER_TEST
-# Find gcov in the same directory as $GXX_UNDER_TEST.
-if { ![is_remote host] && [string match "*/*" [lindex $GXX_UNDER_TEST 0]] } {
- set GCOV [file dirname [lindex $GXX_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+# Find gcov in the same directory as $GXX_UNDER_TEST, unless
+# GCOV_UNDER_TEST is defined.
+
+if ![info exists GCOV_UNDER_TEST] {
+ if { ![is_remote host] && [string match "*/*" [lindex $GXX_UNDER_TEST 0]] } {
+ set GCOV [file dirname [lindex $GXX_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+ } else {
+ set GCOV [gcc-transform-out-of-tree gcov]
+ }
} else {
- set GCOV [gcc-transform-out-of-tree gcov]
+ set GCOV $GCOV_UNDER_TEST
}
# Initialize harness.
diff --git a/gcc/testsuite/g++.dg/modules/tpl-friend-18_a.C b/gcc/testsuite/g++.dg/modules/tpl-friend-18_a.C
new file mode 100644
index 0000000..333c976
--- /dev/null
+++ b/gcc/testsuite/g++.dg/modules/tpl-friend-18_a.C
@@ -0,0 +1,25 @@
+// PR c++/119863
+// { dg-additional-options "-fmodules" }
+// { dg-module-cmi A }
+
+export module A;
+
+template<typename>
+class T;
+
+template<typename>
+class U
+{
+ template<typename>
+ friend class T;
+};
+
+template<typename V>
+class T
+{
+ U<V> x = {};
+};
+
+export
+template<typename V>
+T<V> f(V) { return {}; }
diff --git a/gcc/testsuite/g++.dg/modules/tpl-friend-18_b.C b/gcc/testsuite/g++.dg/modules/tpl-friend-18_b.C
new file mode 100644
index 0000000..2e537ed
--- /dev/null
+++ b/gcc/testsuite/g++.dg/modules/tpl-friend-18_b.C
@@ -0,0 +1,9 @@
+// PR c++/119863
+// { dg-additional-options "-fmodules" }
+// { dg-module-cmi B }
+
+export module B;
+
+// this should not be considered conflicting
+template <typename>
+class T;
diff --git a/gcc/testsuite/g++.dg/modules/tpl-friend-18_c.C b/gcc/testsuite/g++.dg/modules/tpl-friend-18_c.C
new file mode 100644
index 0000000..6c8d85b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/modules/tpl-friend-18_c.C
@@ -0,0 +1,10 @@
+// PR c++/119863
+// { dg-additional-options "-fmodules" }
+
+import A;
+import B;
+
+int main()
+{
+ auto const x = f(1);
+}
diff --git a/gcc/testsuite/g++.dg/no-stack-protector-attr-3.C b/gcc/testsuite/g++.dg/no-stack-protector-attr-3.C
index 147c2b7..b858d70 100644
--- a/gcc/testsuite/g++.dg/no-stack-protector-attr-3.C
+++ b/gcc/testsuite/g++.dg/no-stack-protector-attr-3.C
@@ -6,6 +6,7 @@
/* { dg-additional-options "-fno-PIE" { target ia32 } } */
/* { dg-do compile { target { ! hppa*-*-* } } } */
+/* { dg-require-effective-target fstack_protector } */
int __attribute__((no_stack_protector)) foo()
{
diff --git a/gcc/testsuite/g++.dg/opt/pr119327.C b/gcc/testsuite/g++.dg/opt/pr119327.C
new file mode 100644
index 0000000..598ae1c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr119327.C
@@ -0,0 +1,16 @@
+// PR target/119327
+// { dg-do compile { target c++11 } }
+// { dg-options "-Os" }
+
+#pragma GCC optimize "fp-contract=off"
+
+template <class T>
+void
+foo (T f)
+{
+ f ();
+}
+
+struct S {
+ S () { [] {}; foo ([] __attribute__((always_inline)) {}); }
+} s;
diff --git a/gcc/testsuite/g++.target/aarch64/spaceship_1.C b/gcc/testsuite/g++.target/aarch64/spaceship_1.C
new file mode 100644
index 0000000..e6daf62
--- /dev/null
+++ b/gcc/testsuite/g++.target/aarch64/spaceship_1.C
@@ -0,0 +1,192 @@
+// PR117013
+/* { dg-do run } */
+/* { dg-options "-O2 -std=c++20 -save-temps -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" ""} } */
+
+#include <compare>
+#include <stdint.h>
+
+/* Some implementation-defined value (other than 2) to represent
+ partial_ordering::unordered (that for libc++ in this case). */
+#define IMP_UN -127
+
+#define SPACESHIP_FN(TYPE) \
+ [[gnu::noipa]] \
+ auto ss_##TYPE (TYPE a, TYPE b) \
+ { return a <=> b; } \
+
+#define SPACESHIP_FN_NN(TYPE) \
+ [[gnu::noipa, gnu::optimize ("-ffinite-math-only")]] \
+ auto ss_##TYPE##_no_nans (TYPE a, TYPE b) \
+ { return a <=> b; } \
+
+/* <=> implementation for floating-point operands. */
+#define SPACESHIP_FP_IDIOM(TYPE) \
+ [[gnu::noipa]] \
+ int ss_##TYPE##_idiom (TYPE a, TYPE b) \
+ { return ((a) == (b) ? 0 : (a) < (b) ? -1 : (a) > (b) ? 1 : IMP_UN); } \
+
+#define RUN_TEST(TYPE, ARGA, ARGB, EXPECT, SUFF) \
+ if (ss_##TYPE##SUFF ((ARGA), (ARGB)) != (EXPECT)) \
+ __builtin_abort(); \
+
+/*
+** _Z8ss_floatff:
+** fcmpe s0, s1
+** csinv (w[0-9]+), wzr, wzr, pl
+** cset (w[0-9]+), vs
+** csinc w0, \1, \2, ls
+** ret
+*/
+SPACESHIP_FN(float);
+
+/*
+** _Z16ss_float_no_nansff:
+** fcmpe s0, s1
+** csinv (w[0-9]+), wzr, wzr, pl
+** csinc w0, \1, wzr, ls
+** ret
+*/
+SPACESHIP_FN_NN(float);
+
+/*
+** _Z9ss_doubledd:
+** fcmpe d0, d1
+** csinv (w[0-9]+), wzr, wzr, pl
+** cset (w[0-9]+), vs
+** csinc w0, \1, \2, ls
+** ret
+*/
+SPACESHIP_FN(double);
+
+/*
+** _Z17ss_double_no_nansdd:
+** fcmpe d0, d1
+** csinv (w[0-9]+), wzr, wzr, pl
+** csinc w0, \1, wzr, ls
+** ret
+*/
+SPACESHIP_FN_NN(double);
+
+/*
+** _Z14ss_float_idiomff:
+** fcmpe s0, s1
+** csinv (w[0-9]+), wzr, wzr, pl
+** mov (w[0-9]+), -128
+** csel (w[0-9]+), \2, wzr, vs
+** csinc w0, \1, \3, ls
+** ret
+*/
+SPACESHIP_FP_IDIOM(float);
+
+/*
+** _Z15ss_double_idiomdd:
+** fcmpe d0, d1
+** csinv (w[0-9]+), wzr, wzr, pl
+** mov (w[0-9]+), -128
+** csel (w[0-9]+), \2, wzr, vs
+** csinc w0, \1, \3, ls
+** ret
+*/
+SPACESHIP_FP_IDIOM(double);
+
+/*
+** _Z10ss_int32_tii:
+** cmp w0, w1
+** cset (w[0-9]+), gt
+** csinv w0, \1, wzr, ge
+** ret
+*/
+SPACESHIP_FN(int32_t);
+
+/*
+** _Z10ss_int64_tll:
+** cmp x0, x1
+** cset (w[0-9]+), gt
+** csinv w0, \1, wzr, ge
+** ret
+*/
+SPACESHIP_FN(int64_t);
+
+/*
+** _Z11ss_uint32_tjj:
+** cmp w0, w1
+** cset (w[0-9]+), hi
+** csinv w0, \1, wzr, cs
+** ret
+*/
+SPACESHIP_FN(uint32_t);
+
+/*
+** _Z11ss_uint64_tmm:
+** cmp x0, x1
+** cset (w[0-9]+), hi
+** csinv w0, \1, wzr, cs
+** ret
+*/
+SPACESHIP_FN(uint64_t);
+
+
+int
+main()
+{
+ /* Single precision floating point. */
+ RUN_TEST (float, -1.0f, 1.0f, std::partial_ordering::less,);
+ RUN_TEST (float, -1.0f, 1.0f, -1, _idiom);
+
+ RUN_TEST (float, 1.0f, -1.0f, std::partial_ordering::greater,);
+ RUN_TEST (float, 1.0f, -1.0f, 1, _idiom);
+
+ RUN_TEST (float, -1.0f, -1.0f, std::partial_ordering::equivalent,);
+ RUN_TEST (float, -1.0f, -1.0f, 0, _idiom);
+
+ RUN_TEST (float, __builtin_nanf(""), 1.0f, std::partial_ordering::unordered,);
+ RUN_TEST (float, __builtin_nanf(""), 1.0f, IMP_UN, _idiom);
+ RUN_TEST (float, 1.0f ,__builtin_nanf(""), std::partial_ordering::unordered,);
+ RUN_TEST (float, 1.0f, __builtin_nanf(""), IMP_UN, _idiom);
+
+ /* No-NaNs. */
+ RUN_TEST (float, -1.0f, 1.0f, std::partial_ordering::less, _no_nans);
+ RUN_TEST (float, 1.0f, -1.0f, std::partial_ordering::greater, _no_nans);
+ RUN_TEST (float, -1.0f, -1.0f, std::partial_ordering::equivalent, _no_nans);
+
+ /* Double precision floating point. */
+ RUN_TEST (double, -1.0f, 1.0f, std::partial_ordering::less,);
+ RUN_TEST (double, -1.0f, 1.0f, -1, _idiom);
+
+ RUN_TEST (double, 1.0f, -1.0f, std::partial_ordering::greater,);
+ RUN_TEST (double, 1.0f, -1.0f, 1, _idiom);
+
+ RUN_TEST (double, -1.0f, -1.0f, std::partial_ordering::equivalent,);
+ RUN_TEST (double, -1.0f, -1.0f, 0, _idiom);
+
+ RUN_TEST (double, __builtin_nanf(""), 1.0f, std::partial_ordering::unordered,);
+ RUN_TEST (double, __builtin_nanf(""), 1.0f, IMP_UN, _idiom);
+ RUN_TEST (double, 1.0f, __builtin_nanf(""), std::partial_ordering::unordered,);
+ RUN_TEST (double, 1.0f, __builtin_nanf(""), IMP_UN, _idiom);
+
+ /* No-NaNs. */
+ RUN_TEST (double, -1.0f, 1.0f, std::partial_ordering::less, _no_nans);
+ RUN_TEST (double, 1.0f, -1.0f, std::partial_ordering::greater, _no_nans);
+ RUN_TEST (double, -1.0f, -1.0f, std::partial_ordering::equivalent, _no_nans);
+
+ /* Single integer. */
+ RUN_TEST (int32_t, -42, 0, std::strong_ordering::less,);
+ RUN_TEST (int32_t, 0, -42, std::strong_ordering::greater,);
+ RUN_TEST (int32_t, 42, 42, std::strong_ordering::equal,);
+
+ RUN_TEST (uint32_t, 0, 42, std::strong_ordering::less,);
+ RUN_TEST (uint32_t, 42, 0, std::strong_ordering::greater,);
+ RUN_TEST (uint32_t, 42, 42, std::strong_ordering::equal,);
+
+ /* Double integer. */
+ RUN_TEST (int64_t, -42, 0, std::strong_ordering::less,);
+ RUN_TEST (int64_t, 42, 0, std::strong_ordering::greater,);
+ RUN_TEST (int64_t, 42, 42, std::strong_ordering::equal,);
+
+ RUN_TEST (uint64_t, 0, 42, std::strong_ordering::less,);
+ RUN_TEST (uint64_t, 42, 0, std::strong_ordering::greater,);
+ RUN_TEST (uint64_t, 42, 42, std::strong_ordering::equal,);
+
+ return 0;
+} \ No newline at end of file
diff --git a/gcc/testsuite/g++.target/aarch64/spaceship_2.C b/gcc/testsuite/g++.target/aarch64/spaceship_2.C
new file mode 100644
index 0000000..c1d3900
--- /dev/null
+++ b/gcc/testsuite/g++.target/aarch64/spaceship_2.C
@@ -0,0 +1,72 @@
+// PR117013
+/* { dg-do run } */
+// { dg-options "-O2 -std=c++20 -save-temps" }
+
+#include <compare>
+
+#ifndef fp_type
+#define fp_type float
+#endif
+
+#define TEST_SS_IDIOM(ARGA, ARGB, EXPECT) \
+ if (spaceship_idiom ((ARGA), (ARGB)) != (EXPECT)) \
+ __builtin_abort(); \
+
+#define TEST_BR_ON_SS(ARGA, ARGB, EXPECT) \
+ if(branch_on_spaceship ((ARGA), (ARGB)) != (EXPECT)) \
+ __builtin_abort(); \
+
+
+#define RUN_TEST(ARGA, ARGB, EXPECT) \
+ TEST_SS_IDIOM(ARGA, ARGB, EXPECT) \
+ TEST_BR_ON_SS(ARGA, ARGB, EXPECT) \
+
+/* Test when .SPACESHIP prompts the back end to implement <=> with
+ conditional branches (only applies to floating-point operands). */
+
+[[gnu::noipa]] auto
+equiv() { return std::partial_ordering::equivalent; }
+[[gnu::noipa]] auto
+less() { return std::partial_ordering::less; }
+[[gnu::noipa]] auto
+greater() { return std::partial_ordering::greater; }
+[[gnu::noipa]] auto
+unordered() { return std::partial_ordering::unordered; }
+
+auto
+spaceship_idiom(fp_type a, fp_type b)
+{
+ if (a == b)
+ return equiv();
+ if (a < b)
+ return less();
+ if (a > b)
+ return greater();
+ return unordered();
+}
+
+auto
+branch_on_spaceship(fp_type a, fp_type b)
+{
+ auto res = a <=> b;
+ if (res == 0)
+ return equiv();
+ else if (res < 0)
+ return less();
+ else if (res > 0)
+ return greater();
+ return unordered();
+}
+
+int
+main()
+{
+ RUN_TEST (-1.0f, 1.0f, std::partial_ordering::less);
+ RUN_TEST (1.0f, -1.0f, std::partial_ordering::greater);
+ RUN_TEST (1.0f, 1.0f, std::partial_ordering::equivalent);
+ RUN_TEST (1.0f, __builtin_nanf(""), std::partial_ordering::unordered);
+ RUN_TEST (__builtin_nanf(""), 1.0f, std::partial_ordering::unordered);
+}
+
+/* { dg-final { scan-assembler-not "\tfcmp\t" } } */
+/* { dg-final { scan-assembler-times "\tfcmpe\t" 2 } } */ \ No newline at end of file
diff --git a/gcc/testsuite/g++.target/aarch64/spaceship_3.C b/gcc/testsuite/g++.target/aarch64/spaceship_3.C
new file mode 100644
index 0000000..f58b084
--- /dev/null
+++ b/gcc/testsuite/g++.target/aarch64/spaceship_3.C
@@ -0,0 +1,9 @@
+// PR117013
+/* { dg-do run } */
+// { dg-options "-O2 -std=c++20 -save-temps" }
+
+#define fp_type double
+#include "spaceship_2.C"
+
+/* { dg-final { scan-assembler-not "\tfcmp\t" } } */
+/* { dg-final { scan-assembler-times "\tfcmpe\t" 2 } } */ \ No newline at end of file
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-clone-4.c b/gcc/testsuite/gcc.dg/ipa/ipa-clone-4.c
new file mode 100644
index 0000000..bf74e64
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-clone-4.c
@@ -0,0 +1,30 @@
+/* { dg-options "-O3 -fdump-ipa-cp" } */
+__attribute__ ((used))
+int a[1000];
+
+__attribute__ ((noinline))
+void
+test2(int sz)
+{
+ for (int i = 0; i < sz; i++)
+ a[i]++;
+ asm volatile (""::"m"(a));
+}
+
+__attribute__ ((noinline))
+void
+test1 (int sz)
+{
+ for (int i = 0; i < 1000; i++)
+ test2(sz);
+}
+int main()
+{
+ test1(1000);
+ return 0;
+}
+/* We should clone test1 and test2 for constant 1000.
+ In the past we did not do this since we did not clone for edges that are not hot
+ and call main->test1 is not considered hot since it is executed just once. */
+/* { dg-final { scan-ipa-dump-times "Creating a specialized node of test1" 1 "cp"} } */
+/* { dg-final { scan-ipa-dump-times "Creating a specialized node of test2" 1 "cp"} } */
diff --git a/gcc/testsuite/gcc.dg/memcpy-4.c b/gcc/testsuite/gcc.dg/memcpy-4.c
index 4c726f0..b17b369 100644
--- a/gcc/testsuite/gcc.dg/memcpy-4.c
+++ b/gcc/testsuite/gcc.dg/memcpy-4.c
@@ -1,13 +1,8 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fdump-rtl-expand" } */
+/* { dg-options "-O2" } */
-#ifdef __mips
-__attribute__((nomips16))
-#endif
void
f1 (char *p)
{
__builtin_memcpy (p, "12345", 5);
}
-
-/* { dg-final { scan-rtl-dump "mem/u.*mem/u" "expand" { target mips*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/pr116357.c b/gcc/testsuite/gcc.dg/pr116357.c
index 07effa1..12aaf62 100644
--- a/gcc/testsuite/gcc.dg/pr116357.c
+++ b/gcc/testsuite/gcc.dg/pr116357.c
@@ -2,9 +2,9 @@
/* { dg-do compile } */
/* { dg-options "" } */
-typedef int A __attribute__((aligned (2 * alignof (int))));
+typedef int A __attribute__((aligned (2 * sizeof (int))));
A a[4]; /* { dg-error "alignment of array elements is greater than element size" } */
-typedef volatile int B __attribute__((aligned (2 * alignof (int))));
+typedef volatile int B __attribute__((aligned (2 * sizeof (int))));
B b[4]; /* { dg-error "alignment of array elements is greater than element size" } */
-typedef const int C __attribute__((aligned (2 * alignof (int))));
+typedef const int C __attribute__((aligned (2 * sizeof (int))));
C c[4]; /* { dg-error "alignment of array elements is greater than element size" } */
diff --git a/gcc/testsuite/gcc.dg/pr118947-1.c b/gcc/testsuite/gcc.dg/pr118947-1.c
new file mode 100644
index 0000000..8733e8d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr118947-1.c
@@ -0,0 +1,15 @@
+/* PR tree-optimization/118947 */
+/* { dg-do compile { target size32plus } } */
+/* { dg-options "-O2 -fdump-tree-forwprop1-details" } */
+/* { dg-final { scan-tree-dump-times "after previous" 1 "forwprop1" } } */
+
+void* aaa();
+void* bbb()
+{
+ char buf[1025] = {};
+ /* Tha call to aaa should not matter and clobber buf. */
+ void* ret = aaa();
+ __builtin_memcpy(ret, buf, sizeof(buf));
+ return ret;
+}
+
diff --git a/gcc/testsuite/gcc.dg/pr119160.c b/gcc/testsuite/gcc.dg/pr119160.c
new file mode 100644
index 0000000..b4629a1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr119160.c
@@ -0,0 +1,26 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -finstrument-functions-once -favoid-store-forwarding -fnon-call-exceptions -fschedule-insns -mgeneral-regs-only -Wno-psabi" } */
+
+typedef __attribute__((__vector_size__ (32))) int V;
+
+void
+foo (V v, V, V, V *r)
+{
+ V u = (V){} + v[0];
+ *r = u;
+}
+
+__attribute__((__noipa__)) void
+bar(int x)
+{
+ if (x != 2) __builtin_abort();
+}
+
+int
+main ()
+{
+ V x;
+ foo ((V){ 2, 3 }, (V){ }, (V){ }, &x);
+ for (unsigned i = 0; i < sizeof(x)/sizeof(x[0]); i++)
+ bar(x[i]);
+} \ No newline at end of file
diff --git a/gcc/testsuite/gcc.dg/pr78408-3.c b/gcc/testsuite/gcc.dg/pr78408-3.c
new file mode 100644
index 0000000..5ea5458
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr78408-3.c
@@ -0,0 +1,14 @@
+/* PR tree-optimization/78408 */
+/* { dg-do compile { target size32plus } } */
+/* { dg-options "-O2 -fdump-tree-forwprop1-details" } */
+/* { dg-final { scan-tree-dump-times "after previous" 1 "forwprop1" } } */
+
+void* aaa();
+void* bbb()
+{
+ void* ret = aaa();
+ char buf[1025] = {};
+ __builtin_memcpy(ret, buf, sizeof(buf));
+ return ret;
+}
+
diff --git a/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-2.c b/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-2.c
new file mode 100644
index 0000000..871d489
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-2.c
@@ -0,0 +1,71 @@
+/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-additional-options "-O2 -march=x86-64-v3" } */
+
+typedef int v4si __attribute__((vector_size(16)));
+typedef int v8si __attribute__((vector_size(32)));
+typedef int v2di __attribute__((vector_size(16)));
+
+v4si __RTL (startwith ("vregs1")) foo1 (void)
+{
+(function "foo1"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V4SI <0>) (const_vector:V4SI [(const_int -1) (const_int -1) (const_int -1) (const_int -1)])))
+ (cinsn 4 (set (reg:V4SI <1>) (const_vector:V4SI [(const_int -1) (const_int -1) (const_int -1) (const_int -1)])))
+ (cinsn 5 (set (reg:V4SI <2>)
+ (eq:V4SI (reg:V4SI <0>) (reg:V4SI <1>))))
+ (cinsn 6 (set (reg:V4SI <3>) (reg:V4SI <2>)))
+ (cinsn 7 (set (reg:V4SI xmm0) (reg:V4SI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V4SI xmm0)))
+)
+}
+
+v8si __RTL (startwith ("vregs1")) foo2 (void)
+{
+(function "foo2"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V8SI <0>) (const_vector:V8SI [(const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1)])))
+ (cinsn 4 (set (reg:V8SI <1>) (const_vector:V8SI [(const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1) (const_int -1)])))
+ (cinsn 5 (set (reg:V8SI <2>)
+ (eq:V8SI (reg:V8SI <0>) (reg:V8SI <1>))))
+ (cinsn 6 (set (reg:V8SI <3>) (reg:V8SI <2>)))
+ (cinsn 7 (set (reg:V8SI xmm0) (reg:V8SI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V8SI xmm0)))
+)
+}
+
+v2di __RTL (startwith ("vregs1")) foo3 (void)
+{
+(function "foo3"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V2DI <0>) (const_vector:V2DI [(const_int -1) (const_int -1)])))
+ (cinsn 4 (set (reg:V2DI <1>) (const_vector:V2DI [(const_int -1) (const_int -1)])))
+ (cinsn 5 (set (reg:V2DI <2>)
+ (eq:V2DI (reg:V2DI <0>) (reg:V2DI <1>))))
+ (cinsn 6 (set (reg:V2DI <3>) (reg:V2DI <2>)))
+ (cinsn 7 (set (reg:V2DI xmm0) (reg:V2DI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V2DI xmm0)))
+)
+}
+
+/* { dg-final { scan-assembler-times "vpcmpeq" 3 } } */
diff --git a/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-3.c b/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-3.c
new file mode 100644
index 0000000..276c4c2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/rtl/i386/vector_eq-3.c
@@ -0,0 +1,74 @@
+/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-additional-options "-O2 -march=x86-64-v3" } */
+
+typedef int v4si __attribute__((vector_size(16)));
+typedef int v8si __attribute__((vector_size(32)));
+typedef int v2di __attribute__((vector_size(16)));
+
+v4si __RTL (startwith ("vregs1")) foo1 (void)
+{
+(function "foo1"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V4SI <1>)
+ (mem:V4SI (reg:SI di) [0 ptr S128 A128])))
+ (cinsn 4 (set (reg:V4SI <2>)
+ (eq:V4SI (reg:V4SI <1>)
+ (mem:V4SI (reg:SI di) [0 ptr S128 A128]))))
+ (cinsn 5 (set (reg:V4SI <3>) (reg:V4SI <2>)))
+ (cinsn 6 (set (reg:V4SI xmm0) (reg:V4SI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V4SI xmm0)))
+)
+}
+
+v8si __RTL (startwith ("vregs1")) foo2 (void)
+{
+(function "foo2"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V8SI <1>)
+ (mem:V8SI (reg:SI di) [0 ptr S256 A256])))
+ (cinsn 4 (set (reg:V8SI <2>)
+ (eq:V8SI (mem:V8SI (reg:SI di) [0 ptr S256 A256])
+ (reg:V8SI <1>))))
+ (cinsn 5 (set (reg:V8SI <3>) (reg:V8SI <2>)))
+ (cinsn 6 (set (reg:V8SI xmm0) (reg:V8SI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V8SI xmm0)))
+)
+}
+
+v2di __RTL (startwith ("vregs1")) foo3 (void)
+{
+(function "foo3"
+ (insn-chain
+ (block 2
+ (edge-from entry (flags "FALLTHRU"))
+ (cnote 1 [bb 2] NOTE_INSN_BASIC_BLOCK)
+ (cnote 2 NOTE_INSN_FUNCTION_BEG)
+ (cinsn 3 (set (reg:V2DI <1>)
+ (mem:V2DI (reg:SI di) [0 ptr S128 A128])))
+ (cinsn 4 (set (reg:V2DI <2>)
+ (eq:V2DI (reg:V2DI <1>)
+ (mem:V2DI (reg:SI di) [0 ptr S128 A128]))))
+ (cinsn 5 (set (reg:V2DI <3>) (reg:V2DI <2>)))
+ (cinsn 6 (set (reg:V2DI xmm0) (reg:V2DI <3>)))
+ (edge-to exit (flags "FALLTHRU"))
+ )
+ )
+ (crtl (return_rtx (reg/i:V2DI xmm0)))
+)
+}
+
+/* { dg-final { scan-assembler-times "vpcmpeq" 3 } } */
diff --git a/gcc/testsuite/gcc.dg/tree-prof/ipa-cp-1.c b/gcc/testsuite/gcc.dg/tree-prof/ipa-cp-1.c
new file mode 100644
index 0000000..ab6a7f7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-prof/ipa-cp-1.c
@@ -0,0 +1,30 @@
+/* { dg-options "-O2 -fdump-ipa-cp" } */
+__attribute__ ((used))
+int a[1000];
+
+__attribute__ ((noinline))
+void
+test2(int sz)
+{
+ for (int i = 0; i < sz; i++)
+ a[i]++;
+ asm volatile (""::"m"(a));
+}
+
+__attribute__ ((noinline))
+void
+test1 (int sz)
+{
+ for (int i = 0; i < 1000; i++)
+ test2(sz);
+}
+int main()
+{
+ test1(1000);
+ return 0;
+}
+/* We should clone test1 and test2 for constant 1000.
+ In the past we did not do this since we did not clone for edges that are not hot
+ and call main->test1 is not considered hot since it is executed just once. */
+/* { dg-final-use { scan-ipa-dump-times "Creating a specialized node of test1" 1 "cp"} } */
+/* { dg-final-use { scan-ipa-dump-times "Creating a specialized node of test2" 1 "cp"} } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr118902-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr118902-1.c
new file mode 100644
index 0000000..fa21b8a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr118902-1.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+void foo(int);
+void l(int**);
+int f1(int j, int t)
+{
+ int p = 0;
+ int *a = &p;
+ l(&a);
+ if (a == &p)
+ return 0;
+ for(int i = 0; i < j; i++)
+ {
+ if (a == &p) foo(p);
+ }
+ return 0;
+}
+
+/* We should be able to remove the call to foo because a is never equal to &p inside the loop. */
+/* { dg-final { scan-tree-dump-not "foo " "optimized"} } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
index a879d30..6fa52f6 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-2.c
@@ -27,4 +27,4 @@ foo ()
but the loop reads only one element at a time, and DOM cannot resolve these.
The same happens on powerpc depending on the SIMD support available. */
-/* { dg-final { scan-tree-dump "return 28;" "optimized" { xfail { { alpha*-*-* hppa*64*-*-* nvptx*-*-* mmix-knuth-mmixware } || { { { lp64 && { powerpc*-*-* sparc*-*-* riscv*-*-* } } || aarch64_sve } || { arm*-*-* && { ! arm_neon } } } } } } } */
+/* { dg-final { scan-tree-dump "return 28;" "optimized" { xfail { { alpha*-*-* hppa*64*-*-* nvptx*-*-* mmix-knuth-mmixware } || { { { lp64 && { mips*-*-* powerpc*-*-* sparc*-*-* riscv*-*-* } } || aarch64_sve } || { arm*-*-* && { ! arm_neon } } } } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-52.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-52.c
new file mode 100644
index 0000000..9e605ac
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-52.c
@@ -0,0 +1,30 @@
+/* { dg-options "-O2 -fdump-tree-dse-details -fno-tree-fre -fdump-tree-optimized" } */
+
+/* PR tree-optimization/87901 */
+
+char z[32];
+void foo1(void)
+{
+ char z1[17];
+ char z2[24];
+ __builtin_memset (z1, 0, 17);
+ __builtin_memcpy (z, z1, 17);
+ __builtin_memset (z2, 0, 24);
+ __builtin_memcpy (z+8, z2, 24);
+}
+
+/* we should get:
+ MEM <unsigned char[8]> [(char * {ref-all})&z] = {};
+ MEM <unsigned char[24]> [(char * {ref-all})&z + 8B] = {};
+ after DSE; trimming the first memset to z (which was memcpy) to 8 bytes
+ from the original 17.
+ and not have a [17] in the IR after DSE.
+ The two memset to z1/z2 will also be removed.
+ */
+/* { dg-final { scan-tree-dump-not "\\\[17\\\]" "optimized" } } */
+/* { dg-final { scan-tree-dump "\\\[8\\\]" "dse1" } } */
+
+/* { dg-final { scan-tree-dump-times "Trimming statement " 1 "dse1" } } */
+/* { dg-final { scan-tree-dump-times "Deleted dead call:" 2 "dse1" } } */
+
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-53.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-53.c
new file mode 100644
index 0000000..a2df591
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-53.c
@@ -0,0 +1,26 @@
+/* { dg-options "-O2 -fno-strict-aliasing -fdump-tree-dse-details -fno-tree-fre -fdump-tree-optimized" } */
+
+/* PR tree-optimization/87901 */
+
+
+int i;
+int foo ()
+{
+ i = 0;
+ *((short *)&i + 1) = 1;
+ return i;
+}
+
+/* we should get:
+ MEM <char[2]> [(int *)&i] = {};
+ MEM[(short int *)&i + 2B] = 1;
+ in DSE1.
+
+ Note later on the stores will be merged. */
+/* { dg-final { scan-tree-dump "return 65536;" "optimized" { target le } } } */
+/* { dg-final { scan-tree-dump "return 1;" "optimized" { target be } } } */
+/* { dg-final { scan-tree-dump "\\\[2\\\]" "dse1" } } */
+
+/* { dg-final { scan-tree-dump-times "Trimming statement " 1 "dse1" } } */
+
+
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-54.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-54.c
new file mode 100644
index 0000000..7e79a73
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-54.c
@@ -0,0 +1,25 @@
+/* { dg-options "-O2 -fdump-tree-dse-details -fno-tree-fre -fdump-tree-optimized" } */
+
+/* PR tree-optimization/87901 */
+
+int z[128];
+void foo1(void)
+{
+ int z1;
+ int z2[24/sizeof(int)];
+ __builtin_memset (&z1, 0, sizeof(int));
+ __builtin_memcpy (z, &z1, sizeof(int));
+ __builtin_memset (z2, 0, 24);
+ __builtin_memcpy (((char*)z)+1, z2, 24);
+}
+
+/* we should get:
+ MEM[(char * {ref-all})&z] = {};
+ __builtin_memset (&MEM <int[128]> [(void *)&z + 1B], 0, 24);
+ */
+
+/* { dg-final { scan-tree-dump-not "MEM <unsigned int>" "optimized" } } */
+/* { dg-final { scan-tree-dump-not "MEM \\\[" "dse1" } } */
+/* { dg-final { scan-tree-dump-times "Trimming statement " 1 "dse1" } } */
+/* { dg-final { scan-tree-dump-times "Deleted dead call:" 1 "dse1" } } */
+
diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_38.c b/gcc/testsuite/gcc.dg/vect/vect-early-break_38.c
index 36fc6a6..010e7ea 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-early-break_38.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_38.c
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target vect_early_break } */
/* { dg-require-effective-target vect_int } */
+/* { dg-additional-options "-march=gfx908" { target amdgcn*-*-* } } */
#ifndef N
#define N 803
diff --git a/gcc/testsuite/gcc.misc-tests/gcov-31.c b/gcc/testsuite/gcc.misc-tests/gcov-31.c
index 6c42d34..5f060e9 100644
--- a/gcc/testsuite/gcc.misc-tests/gcov-31.c
+++ b/gcc/testsuite/gcc.misc-tests/gcov-31.c
@@ -20,7 +20,7 @@ run_pending_traps ()
jump_to_top_level (2);
for (sig = 1; sig < (64 + 1) ; sig++)
- __sigsetjmp ((return_catch), 0);
+ sigsetjmp ((return_catch), 0);
}
/* Distilled from alsalib-1.2.11 pcm/pcm_route.c. */
diff --git a/gcc/testsuite/gcc.misc-tests/gcov.exp b/gcc/testsuite/gcc.misc-tests/gcov.exp
index c8f20e1..4d427c8 100644
--- a/gcc/testsuite/gcc.misc-tests/gcov.exp
+++ b/gcc/testsuite/gcc.misc-tests/gcov.exp
@@ -21,12 +21,19 @@ load_lib gcc-dg.exp
load_lib gcov.exp
global GCC_UNDER_TEST
+global GCOV_UNDER_TEST
-# For now find gcov in the same directory as $GCC_UNDER_TEST.
-if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
- set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+# For now find gcov in the same directory as $GCC_UNDER_TEST, unless
+# GCOV_UNDER_TEST is defined.
+
+if ![info exists GCOV_UNDER_TEST] {
+ if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
+ set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+ } else {
+ set GCOV [gcc-transform-out-of-tree gcov]
+ }
} else {
- set GCOV [gcc-transform-out-of-tree gcov]
+ set GCOV $GCOV_UNDER_TEST
}
# Initialize harness.
diff --git a/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_1.c b/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_1.c
new file mode 100644
index 0000000..e49ace1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_1.c
@@ -0,0 +1,54 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv8.2-a+fp16" } */
+
+/*
+** test_fcmp_store:
+** fcmp h0, h1
+** cset w0, eq
+** ret
+*/
+int
+test_fcmp_store(_Float16 a, _Float16 b)
+{
+ return a == b;
+}
+
+/*
+** test_fcmpe_store:
+** fcmpe h0, h1
+** cset w0, mi
+** ret
+*/
+int
+test_fcmpe_store(_Float16 a, _Float16 b)
+{
+ return a < b;
+}
+
+/*
+** test_fcmp_branch:
+** fcmp h0, h1
+** ...
+*/
+_Float16
+test_fcmp_branch(_Float16 a, _Float16 b)
+{
+ if (a == b)
+ return a * b;
+ return a;
+}
+
+/*
+** test_fcmpe_branch:
+** fcmpe h0, h1
+** ...
+*/
+_Float16
+test_fcmpe_branch(_Float16 a, _Float16 b)
+{
+ if (a < b)
+ return a * b;
+ return a;
+}
+
+/* { dg-final { check-function-bodies "**" "" "" } } */ \ No newline at end of file
diff --git a/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_2.c b/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_2.c
new file mode 100644
index 0000000..0ff7cda
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/_Float16_cmp_2.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=armv8.2-a+nofp16" } */
+
+#include "_Float16_cmp_1.c"
+
+/* { dg-final { scan-assembler-not {\tfcmp\th[0-9]+} } } */
+/* { dg-final { scan-assembler-not {\tfcmpe\th[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x2.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x2.c
index 0892ce7..a653296 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x2.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x2.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -39,7 +35,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -51,17 +46,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
/* Tests of vld1_x2 and vld1q_x2. */
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x3.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x3.c
index 9465e4a..832ee75 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x3.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x3.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -40,7 +36,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -52,17 +47,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x4.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x4.c
index a1461fd..e5f55f0 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x4.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vld1x4.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <stdbool.h>
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -42,8 +38,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (poly64, 1, _p64) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -55,18 +49,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (poly64, 2, q_p64) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
/* Tests of vld1_x4 and vld1q_x4. */
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x2.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x2.c
index 3cf5eb3..8399290 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x2.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x2.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -39,7 +35,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -51,17 +46,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
/* Tests of vst1_x2 and vst1q_x2. */
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x3.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x3.c
index c05f8e7..e7d9e02 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x3.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x3.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -40,7 +36,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -52,17 +47,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
/* Tests of vst1_x3 and vst1q_x3. */
diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x4.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x4.c
index a9867c3..83b0567 100644
--- a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x4.c
+++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vst1x4.c
@@ -1,7 +1,3 @@
-/* We haven't implemented these intrinsics for arm yet. */
-/* { dg-skip-if "unimplemented" { arm*-*-* } } */
-/* { dg-options "-O3" } */
-
#include <arm_neon.h>
#include "arm-neon-ref.h"
@@ -41,8 +37,6 @@ VARIANT (int32, 2, _s32) \
VARIANT (int64, 1, _s64) \
VARIANT (poly8, 8, _p8) \
VARIANT (poly16, 4, _p16) \
-VARIANT (poly64, 1, _p64) \
-VARIANT (float16, 4, _f16) \
VARIANT (float32, 2, _f32) \
VARIANT (uint8, 16, q_u8) \
VARIANT (uint16, 8, q_u16) \
@@ -54,18 +48,30 @@ VARIANT (int32, 4, q_s32) \
VARIANT (int64, 2, q_s64) \
VARIANT (poly8, 16, q_p8) \
VARIANT (poly16, 8, q_p16) \
-VARIANT (poly64, 2, q_p64) \
-VARIANT (float16, 8, q_f16) \
VARIANT (float32, 4, q_f32)
+#if defined (__ARM_FP16_FORMAT_IEEE) \
+ || defined (__ARM_FP16_FORMAT_ALTERNATIVE) \
+ || defined (__aarch64__)
+#define VARIANTS_F16(VARIANT) \
+ VARIANT (float16, 4, _f16) \
+ VARIANT (float16, 8, q_f16)
+#else
+#define VARIANTS_F16(VARIANTS_F16)
+#endif
+
#ifdef __aarch64__
#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT) \
+VARIANT (poly64, 1, _p64) \
+VARIANT (poly64, 2, q_p64) \
VARIANT (mfloat8, 8, _mf8) \
VARIANT (mfloat8, 16, q_mf8) \
VARIANT (float64, 1, _f64) \
VARIANT (float64, 2, q_f64)
#else
-#define VARIANTS(VARIANT) VARIANTS_1(VARIANT)
+#define VARIANTS(VARIANT) VARIANTS_1(VARIANT) \
+VARIANTS_F16(VARIANT)
#endif
/* Tests of vst1_x4 and vst1q_x4. */
diff --git a/gcc/testsuite/gcc.target/aarch64/bic-1.c b/gcc/testsuite/gcc.target/aarch64/bic-1.c
new file mode 100644
index 0000000..65e1514
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/bic-1.c
@@ -0,0 +1,40 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-final { check-function-bodies "**" "" "" } } */
+
+/* PR rtl-optmization/111949 */
+
+/*
+**func1:
+** bic w([0-9]+), w0, w1
+** and w0, w\1, 1
+** ret
+*/
+
+unsigned func1(unsigned a, bool b)
+{
+ int c = a & b;
+ return (c ^ a)&1;
+}
+
+/*
+**func2:
+** bic w([0-9]+), w1, w0
+** and w0, w\1, 255
+** ret
+*/
+unsigned func2(bool a, bool b)
+{
+ return ~a & b;
+}
+
+/*
+**func3:
+** bic w([0-9]+), w1, w0
+** and w0, w\1, 1
+** ret
+*/
+bool func3(bool a, unsigned char b)
+{
+ return !a & b;
+}
diff --git a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
index dcac6d5..3799fb4 100644
--- a/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
+++ b/gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
@@ -315,3 +315,18 @@
#ifndef __ARM_FEATURE_FP8DOT2
#error Foo
#endif
+
+#pragma GCC target "arch=armv9.4-a"
+#ifdef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif
+
+#pragma GCC target "arch=armv9.5-a"
+#ifndef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif
+
+#pragma GCC target "arch=armv8-a+faminmax"
+#ifndef __ARM_FEATURE_FAMINMAX
+#error Foo
+#endif
diff --git a/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-long.c b/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-long.c
new file mode 100644
index 0000000..631d14f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-long.c
@@ -0,0 +1,76 @@
+/* { dg-do compile } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
+
+typedef unsigned int __attribute__ ((mode (DI))) int64_t;
+typedef unsigned int __attribute__ ((mode (SI))) int32_t;
+
+typedef union
+ {
+ int32_t l[8];
+ }
+val;
+
+typedef struct
+ {
+ int32_t l[2];
+ val v;
+ }
+tre;
+
+typedef struct
+ {
+ int32_t l[3];
+ tre t;
+ }
+due;
+
+typedef struct
+ {
+ val v;
+ int64_t q;
+ int32_t l[2];
+ due d;
+ }
+uno;
+
+void
+memcpy_nested_offset_long (uno *u)
+{
+ u->d.t.v = u->v;
+}
+
+/* Expect assembly such as:
+
+ ldq $4,0($16)
+ ldq $3,8($16)
+ ldq $2,16($16)
+ srl $4,32,$7
+ ldq $1,24($16)
+ srl $3,32,$6
+ stl $4,68($16)
+ srl $2,32,$5
+ stl $7,72($16)
+ srl $1,32,$4
+ stl $3,76($16)
+ stl $6,80($16)
+ stl $2,84($16)
+ stl $5,88($16)
+ stl $1,92($16)
+ stl $4,96($16)
+
+ that is with four quadword loads at offsets 0, 8, 16, 24 each and
+ eight longword stores at offsets 68, 72, 76, 80, 84, 88, 92, 96 each. */
+
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,0\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,8\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,16\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,24\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,68\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,72\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,76\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,80\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,84\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,88\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,92\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstl\\s\\\$\[0-9\]+,96\\\(\\\$16\\\)\\s" 1 } } */
diff --git a/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-quad.c b/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-quad.c
new file mode 100644
index 0000000..1d2227e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/alpha/memcpy-nested-offset-quad.c
@@ -0,0 +1,64 @@
+/* { dg-do compile } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
+
+typedef unsigned int __attribute__ ((mode (DI))) int64_t;
+typedef unsigned int __attribute__ ((mode (SI))) int32_t;
+
+typedef union
+ {
+ int32_t l[8];
+ }
+val;
+
+typedef struct
+ {
+ int32_t l[2];
+ val v;
+ }
+tre;
+
+typedef struct
+ {
+ int32_t l[3];
+ tre t;
+ }
+due;
+
+typedef struct
+ {
+ val v;
+ int64_t q;
+ int32_t l[3];
+ due d;
+ }
+uno;
+
+void
+memcpy_nested_offset_quad (uno *u)
+{
+ u->d.t.v = u->v;
+}
+
+/* Expect assembly such as:
+
+ ldq $4,0($16)
+ ldq $3,8($16)
+ ldq $2,16($16)
+ ldq $1,24($16)
+ stq $4,72($16)
+ stq $3,80($16)
+ stq $2,88($16)
+ stq $1,96($16)
+
+ that is with four quadword loads at offsets 0, 8, 16, 24 each
+ and four quadword stores at offsets 72, 80, 88, 96 each. */
+
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,0\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,8\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,16\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sldq\\s\\\$\[0-9\]+,24\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstq\\s\\\$\[0-9\]+,72\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstq\\s\\\$\[0-9\]+,80\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstq\\s\\\$\[0-9\]+,88\\\(\\\$16\\\)\\s" 1 } } */
+/* { dg-final { scan-assembler-times "\\sstq\\s\\\$\[0-9\]+,96\\\(\\\$16\\\)\\s" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-pr96891-3.c b/gcc/testsuite/gcc.target/i386/avx512f-pr96891-3.c
index 5b26081..5eb60d9 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-pr96891-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-pr96891-3.c
@@ -1,11 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-mavx512vl -mavx512bw -mavx512dq -O2 -masm=att -mstv -mno-stackrealign" } */
/* { dg-final { scan-assembler-not {not[bwlqd]\]} } } */
-/* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$5} 4} } */
-/* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$6} 4} } */
+/* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$5} 2} } */
+/* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$6} 3} } */
/* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$[37]} 4} } */
-/* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$5} 2} } */
-/* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$6} 2} } */
+/* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$6} 1} } */
/* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$7} 2} } */
#include<immintrin.h>
@@ -20,20 +19,14 @@
FOO (__m128i,, epi8, __mmask16, 128, 1);
FOO (__m128i,, epi16, __mmask8, 128, 1);
-FOO (__m128i,, epi32, __mmask8, 128, 1);
-FOO (__m128i,, epi64, __mmask8, 128, 1);
FOO (__m256i, 256, epi8, __mmask32, 256, 2);
FOO (__m256i, 256, epi16, __mmask16, 256, 2);
FOO (__m256i, 256, epi32, __mmask8, 256, 2);
-FOO (__m256i, 256, epi64, __mmask8, 256, 2);
FOO (__m512i, 512, epi8, __mmask64, 512, 3);
FOO (__m512i, 512, epi16, __mmask32, 512, 3);
FOO (__m512i, 512, epi32, __mmask16, 512, 3);
FOO (__m512i, 512, epi64, __mmask8, 512, 3);
-FOO (__m128,, ps, __mmask8, 128, 1);
-FOO (__m128d,, pd, __mmask8, 128, 1);
FOO (__m256, 256, ps, __mmask8, 256, 2);
-FOO (__m256d, 256, pd, __mmask8, 256, 2);
FOO (__m512, 512, ps, __mmask16, 512, 3);
FOO (__m512d, 512, pd, __mmask8, 512, 3);
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpcmpgtuq-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vpcmpgtuq-1.c
index ef6a525..37ca646 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpcmpgtuq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpcmpgtuq-1.c
@@ -12,5 +12,5 @@ void extern
avx512f_test (void)
{
m = _mm512_cmpgt_epu64_mask (x, x);
- m = _mm512_mask_cmpgt_epu64_mask (3, x, x);
+ m = _mm512_mask_cmpgt_epu64_mask (5, x, x);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-pr103750-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-pr103750-1.c
new file mode 100644
index 0000000..a15fae8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-pr103750-1.c
@@ -0,0 +1,79 @@
+/* PR target/103750 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx512vl" } */
+/* { dg-final { scan-assembler-not "and" } } */
+
+#include <immintrin.h>
+extern __m128i* pi128;
+extern __m256i* pi256;
+
+extern __m128* ps128;
+extern __m256* ps256;
+
+extern __m128d* pd128;
+extern __m256d* pd256;
+
+extern char a;
+void
+foo ()
+{
+ __mmask8 mask1 = _mm_cmpeq_epu32_mask (pi128[0], pi128[1]);
+ a = mask1 & 15;
+}
+
+void
+foo1 ()
+{
+ __mmask8 mask1 = _mm_cmpeq_epu64_mask (pi128[0], pi128[1]);
+ a = mask1 & 3;
+}
+
+void
+foo2 ()
+{
+ __mmask8 mask1 = _mm256_cmpeq_epu64_mask (pi256[0], pi256[1]);
+ a = mask1 & 15;
+}
+
+void
+sign_foo ()
+{
+ __mmask8 mask1 = _mm_cmpeq_epi32_mask (pi128[0], pi128[1]);
+ a = mask1 & 15;
+}
+
+void
+sign_foo1 ()
+{
+ __mmask8 mask1 = _mm_cmpeq_epi64_mask (pi128[0], pi128[1]);
+ a = mask1 & 3;
+}
+
+
+void
+sign_foo2 ()
+{
+ __mmask8 mask1 = _mm256_cmpeq_epi64_mask (pi256[0], pi256[1]);
+ a = mask1 & 15;
+}
+
+void
+float_foo ()
+{
+ __mmask8 mask1 = _mm_cmp_ps_mask (ps128[0], ps128[1], 1);
+ a = mask1 & 15;
+}
+
+void
+double_foo ()
+{
+ __mmask8 mask1 = _mm_cmp_pd_mask (pd128[0], pd128[1], 1);
+ a = mask1 & 3;
+}
+
+void
+double_foo2 ()
+{
+ __mmask8 mask1 = _mm256_cmp_pd_mask (pd256[0], pd256[1], 1);
+ a = mask1 & 15;
+}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c
index 69b200a..a798d06 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpeq_epi64_mask (x128, x128);
m = _mm256_cmpeq_epi64_mask (x256, x256);
- m = _mm_mask_cmpeq_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmpeq_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmpeq_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmpeq_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c
index c925d32..736763f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpeq_epu64_mask (x128, x128);
m = _mm256_cmpeq_epu64_mask (x256, x256);
- m = _mm_mask_cmpeq_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmpeq_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmpeq_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmpeq_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c
index ef40e41..19110a5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpge_epi64_mask (x128, x128);
m = _mm256_cmpge_epi64_mask (x256, x256);
- m = _mm_mask_cmpge_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmpge_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmpge_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmpge_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c
index 1f7dd49..d82f8e5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpge_epu64_mask (x128, x128);
m = _mm256_cmpge_epu64_mask (x256, x256);
- m = _mm_mask_cmpge_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmpge_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmpge_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmpge_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c
index 26cac3a..79f9430 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpgt_epi64_mask (x128, x128);
m = _mm256_cmpgt_epi64_mask (x256, x256);
- m = _mm_mask_cmpgt_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmpgt_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmpgt_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmpgt_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c
index 10717cd..bef015f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpgt_epu64_mask (x128, x128);
m = _mm256_cmpgt_epu64_mask (x256, x256);
- m = _mm_mask_cmpgt_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmpgt_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmpgt_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmpgt_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c
index 110ff70..9974aa5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmple_epi64_mask (x128, x128);
m = _mm256_cmple_epi64_mask (x256, x256);
- m = _mm_mask_cmple_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmple_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmple_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmple_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c
index e3faf41..0a5a513 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmple_epu64_mask (x128, x128);
m = _mm256_cmple_epu64_mask (x256, x256);
- m = _mm_mask_cmple_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmple_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmple_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmple_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c
index 1b8f7f1..5f40c79 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmplt_epi64_mask (x128, x128);
m = _mm256_cmplt_epi64_mask (x256, x256);
- m = _mm_mask_cmplt_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmplt_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmplt_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmplt_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c
index 5c2f025..afda5e7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmplt_epu64_mask (x128, x128);
m = _mm256_cmplt_epu64_mask (x256, x256);
- m = _mm_mask_cmplt_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmplt_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmplt_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmplt_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c
index f48de10..5ef2548 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpneq_epi64_mask (x128, x128);
m = _mm256_cmpneq_epi64_mask (x256, x256);
- m = _mm_mask_cmpneq_epi64_mask (3, x128, x128);
- m = _mm256_mask_cmpneq_epi64_mask (3, x256, x256);
+ m = _mm_mask_cmpneq_epi64_mask (5, x128, x128);
+ m = _mm256_mask_cmpneq_epi64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c
index 726a887..4a9aacf 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c
@@ -16,6 +16,6 @@ avx512vl_test (void)
{
m = _mm_cmpneq_epu64_mask (x128, x128);
m = _mm256_cmpneq_epu64_mask (x256, x256);
- m = _mm_mask_cmpneq_epu64_mask (3, x128, x128);
- m = _mm256_mask_cmpneq_epu64_mask (3, x256, x256);
+ m = _mm_mask_cmpneq_epu64_mask (5, x128, x128);
+ m = _mm256_mask_cmpneq_epu64_mask (5, x256, x256);
}
diff --git a/gcc/testsuite/gcc.target/i386/blendv-to-maxmin.c b/gcc/testsuite/gcc.target/i386/blendv-to-maxmin.c
new file mode 100644
index 0000000..042eb7d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/blendv-to-maxmin.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-march=x86-64-v3 -O2 -mfpmath=sse" } */
+/* { dg-final { scan-assembler-times "vmaxsd" 1 } } */
+
+double
+foo (double a)
+{
+ if (a > 0.0)
+ return a;
+ return 0.0;
+}
+
diff --git a/gcc/testsuite/gcc.target/i386/blendv-to-pand.c b/gcc/testsuite/gcc.target/i386/blendv-to-pand.c
new file mode 100644
index 0000000..2896a2b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/blendv-to-pand.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=x86-64-v3 -mfpmath=sse" } */
+/* { dg-final { scan-assembler-not "vblendv" } } */
+
+void
+foo (float* a, float* b, float* c, float* __restrict d, int n)
+{
+ for (int i = 0; i != n; i++)
+ {
+ c[i] *= 2.0f;
+ if (a[i] > b[i])
+ d[i] = 0.0f;
+ else
+ d[i] = c[i];
+ }
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr89618-2.c b/gcc/testsuite/gcc.target/i386/pr89618-2.c
index c414053..11d658f 100644
--- a/gcc/testsuite/gcc.target/i386/pr89618-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr89618-2.c
@@ -19,5 +19,9 @@ void foo (int n, int *off, double *a)
}
/* Make sure the cost model selects SSE vectors rather than AVX to avoid
- too many scalar ops for the address computes in the loop. */
-/* { dg-final { scan-tree-dump "loop vectorized using 16 byte vectors" "vect" { target { ! ia32 } } } } */
+ too many scalar ops for the address computes in the loop.
+
+ Since open-coded scatters are costed wrong, we no longer vectorize after fixing
+ COND_EXPR costs. See PR119902. */
+/* { dg-final { scan-tree-dump "loop vectorized using 16 byte vectors" "vect" { target { ! ia32 } xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-not "loop vectorized using 32 byte vectors" "vect" { target { ! ia32 } } } } */
diff --git a/gcc/testsuite/gcc.target/i386/recip-vec-divf-fma.c b/gcc/testsuite/gcc.target/i386/recip-vec-divf-fma.c
new file mode 100644
index 0000000..ad9e07b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/recip-vec-divf-fma.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-Ofast -mfma -mavx2" } */
+/* { dg-final { scan-assembler-times {(?n)vfn?m(add|sub)[1-3]*ps} 2 } } */
+
+typedef float v4sf __attribute__((vector_size(16)));
+/* (a - (rcp(b) * a * b)) * rcp(b) + rcp(b) * a */
+
+v4sf
+foo (v4sf a, v4sf b)
+{
+ return a / b;
+}
diff --git a/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp b/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
index f56d2f1..9df3f29 100644
--- a/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
+++ b/gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
@@ -35,7 +35,7 @@ dg-init
# If the target hardware supports LSX, the default action is "run", otherwise
# just "compile".
-global dg-do-what-default
+set saved-dg-do-what-default ${dg-do-what-default}
if {[check_effective_target_loongarch_sx_hw]} then {
set dg-do-what-default run
} else {
@@ -45,6 +45,7 @@ if {[check_effective_target_loongarch_sx_hw]} then {
#Main loop.
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/lsx/*.\[cS\]]] \
" -mlsx" $DEFAULT_CFLAGS
+set dg-do-what-default ${saved-dg-do-what-default}
dg-finish
@@ -52,7 +53,7 @@ dg-init
# If the target hardware supports LASX, the default action is "run", otherwise
# just "compile".
-global dg-do-what-default
+set saved-dg-do-what-default ${dg-do-what-default}
if {[check_effective_target_loongarch_asx_hw]} then {
set dg-do-what-default run
} else {
@@ -61,5 +62,6 @@ if {[check_effective_target_loongarch_asx_hw]} then {
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/lasx/*.\[cS\]]] \
" -mlasx" $DEFAULT_CFLAGS
+set dg-do-what-default ${saved-dg-do-what-default}
# All done.
dg-finish
diff --git a/gcc/testsuite/gcc.target/mips/clear-cache-1.c b/gcc/testsuite/gcc.target/mips/clear-cache-1.c
index f1554f5..cd11c66 100644
--- a/gcc/testsuite/gcc.target/mips/clear-cache-1.c
+++ b/gcc/testsuite/gcc.target/mips/clear-cache-1.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-msynci isa_rev>=2" } */
/* { dg-final { scan-assembler "\tsynci\t" } } */
-/* { dg-final { scan-assembler "\tjr.hb\t" } } */
+/* { dg-final { scan-assembler "\tjrc?.hb\t" } } */
/* { dg-final { scan-assembler-not "_flush_cache|mips_sync_icache|_cacheflush" } } */
NOMIPS16 void f()
diff --git a/gcc/testsuite/gcc.target/mips/memcpy-2.c b/gcc/testsuite/gcc.target/mips/memcpy-2.c
new file mode 100644
index 0000000..df0cd18
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/memcpy-2.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "isa_rev<=5 -fdump-rtl-expand" } */
+/* { dg-skip-if "code quality test" { *-*-* } { "-Os" } { "" } } */
+
+__attribute__((nomips16))
+void
+f1 (char *p)
+{
+ __builtin_memcpy (p, "12345", 5);
+}
+
+/* { dg-final { scan-rtl-dump "mem/u.*mem/u" "expand" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-3.c b/gcc/testsuite/gcc.target/powerpc/power11-3.c
index fa1aedd..56bf881 100644
--- a/gcc/testsuite/gcc.target/powerpc/power11-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/power11-3.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-mdejagnu-cpu=power8 -O2" } */
+/* { dg-require-ifunc "" } */
/* Check if we can set the power11 target via a target_clones attribute. */
diff --git a/gcc/testsuite/gcc.target/riscv/bext-ext-2.c b/gcc/testsuite/gcc.target/riscv/bext-ext-2.c
new file mode 100644
index 0000000..aa170d0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/bext-ext-2.c
@@ -0,0 +1,74 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcb -mabi=lp64" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
+
+struct obstack;
+struct bitmap_head_def;
+typedef struct bitmap_head_def *bitmap;
+struct obstack
+{
+ long chunk_size;
+ struct _obstack_chunk *chunk;
+ char *object_base;
+ char *next_free;
+ char *chunk_limit;
+ long int temp;
+ int alignment_mask;
+
+
+
+ struct _obstack_chunk *(*chunkfun) (void *, long);
+ void (*freefun) (void *, struct _obstack_chunk *);
+ void *extra_arg;
+ unsigned use_extra_arg:1;
+ unsigned maybe_empty_object:1;
+
+
+
+ unsigned alloc_failed:1;
+
+
+};
+
+typedef unsigned long BITMAP_WORD;
+typedef struct bitmap_obstack {
+ struct bitmap_element_def *elements;
+ struct bitmap_head_def *heads;
+ struct obstack obstack;
+} bitmap_obstack;
+typedef struct bitmap_element_def {
+ struct bitmap_element_def *next;
+ struct bitmap_element_def *prev;
+ unsigned int indx;
+ BITMAP_WORD bits[((128 + (8
+ * 8 * 1u) - 1) / (8
+ * 8 * 1u))];
+} bitmap_element;
+bitmap_element *bitmap_find_bit (bitmap, unsigned int);
+
+
+int
+bitmap_bit_p (bitmap head, int bit)
+{
+ bitmap_element *ptr;
+ unsigned bit_num;
+ unsigned word_num;
+
+ ptr = bitmap_find_bit (head, bit);
+ if (ptr == 0)
+ return 0;
+
+ bit_num = bit % (8
+ * 8 * 1u);
+ word_num = bit / (8
+ * 8 * 1u) % ((128 + (8
+ * 8 * 1u) - 1) / (8
+ * 8 * 1u));
+
+ return (ptr->bits[word_num] >> bit_num) & 1;
+}
+
+/* { dg-final { scan-assembler-times "bext\t" 1 } } */
+/* { dg-final { scan-assembler-not "slr\t"} } */
+/* { dg-final { scan-assembler-not "andi\t"} } */
+
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908.c
new file mode 100644
index 0000000..cb28baf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c908" { target { rv64 } } } */
+/* XuanTie C908 => rv64imafdc_zicbom_zicbop_zicboz_zicntr_zicsr_zifencei_
+zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_sstc_svinval_svnapot_svpbmt_xtheadba_
+xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_xtheadmac_
+xtheadmemidx_xtheadmempair_xtheadsync */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_zicbom) \
+ && defined(__riscv_zicbop) \
+ && defined(__riscv_zicboz) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei) \
+ && defined(__riscv_zihintpause) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_zba) \
+ && defined(__riscv_zbb) \
+ && defined(__riscv_zbc) \
+ && defined(__riscv_zbs) \
+ && defined(__riscv_sstc) \
+ && defined(__riscv_svinval) \
+ && defined(__riscv_svnapot) \
+ && defined(__riscv_svpbmt) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadmac) \
+ && defined(__riscv_xtheadmemidx) \
+ && defined(__riscv_xtheadmempair) \
+ && defined(__riscv_xtheadsync))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908v.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908v.c
new file mode 100644
index 0000000..1b1ee18
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c908v.c
@@ -0,0 +1,50 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c908v" { target { rv64 } } } */
+/* XuanTie C908v => rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicsr_zifencei_
+zihintpause_zihpm_zfh_zba_zbb_zbc_zbs_sstc_svinval_svnapot_svpbmt_xtheadba_
+xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_xtheadmac_
+xtheadmemidx_xtheadmempair_xtheadsync_xtheadvdot */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_v) \
+ && defined(__riscv_zicbom) \
+ && defined(__riscv_zicbop) \
+ && defined(__riscv_zicboz) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei) \
+ && defined(__riscv_zihintpause) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_zba) \
+ && defined(__riscv_zbb) \
+ && defined(__riscv_zbc) \
+ && defined(__riscv_zbs) \
+ && defined(__riscv_sstc) \
+ && defined(__riscv_svinval) \
+ && defined(__riscv_svnapot) \
+ && defined(__riscv_svpbmt) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadmac) \
+ && defined(__riscv_xtheadmemidx) \
+ && defined(__riscv_xtheadmempair) \
+ && defined(__riscv_xtheadsync) \
+ && defined (__riscv__xtheadvdot))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910.c
new file mode 100644
index 0000000..1e27665
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910.c
@@ -0,0 +1,35 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c910" { target { rv64 } } } */
+/* XuanTie C910 => rv64imafdc_zicntr_zicsr_zifencei_zihpm_zfh_xtheadba_
+xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_xtheadmac_
+xtheadmemidx_xtheadmempair_xtheadsync */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadmac) \
+ && defined(__riscv_xtheadmemidx) \
+ && defined(__riscv_xtheadmempair) \
+ && defined(__riscv_xtheadsync))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910v2.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910v2.c
new file mode 100644
index 0000000..6a54f09
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c910v2.c
@@ -0,0 +1,51 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c910v2" { target { rv64 } } } */
+/* XuanTie C910v2 => rv64imafdc_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_
+zifencei _zihintntl_zihintpause_zihpm_zawrs_zfa_zfbfmin_zfh_zca_zcb_zcd_zba_
+zbb_zbc_xtheadba_xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_
+xtheadmac_xtheadmemidx_xtheadmempair_xtheadsync */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_zicbom) \
+ && defined(__riscv_zicbop) \
+ && defined(__riscv_zicboz) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicond) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei ) \
+ && defined(__riscv_zihintntl) \
+ && defined(__riscv_zihintpause) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zawrs) \
+ && defined(__riscv_zfa) \
+ && defined(__riscv_zfbfmin) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_zca) \
+ && defined(__riscv_zcb) \
+ && defined(__riscv_zcd) \
+ && defined(__riscv_zba) \
+ && defined(__riscv_zbb) \
+ && defined(__riscv_zbc) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadmac) \
+ && defined(__riscv_xtheadmemidx) \
+ && defined(__riscv_xtheadmempair) \
+ && defined(__riscv_xtheadsync))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920.c
new file mode 100644
index 0000000..6bcd687
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920.c
@@ -0,0 +1,34 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c920" { target { rv64 } } } */
+/* XuanTie c920 => rv64imafdc_zicntr_zicsr_zifencei_zihpm_zfh_"xtheadba_xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_xtheadmac_xtheadmemidx_xtheadmempair_xtheadsync_xtheadvector */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadmac) \
+ && defined(__riscv_xtheadmemidx) \
+ && defined(__riscv_xtheadmempair) \
+ && defined(__riscv_xtheadsync) \
+ && defined(__riscv_xtheadvector))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920v2.c b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920v2.c
new file mode 100644
index 0000000..36a6267
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/mcpu-xt-c920v2.c
@@ -0,0 +1,56 @@
+/* { dg-do compile } */
+/* { dg-skip-if "-march given" { *-*-* } { "-march=*" } } */
+/* { dg-options "-mcpu=xt-c920v2" { target { rv64 } } } */
+/* XuanTie C920v2 => rv64imafdcv_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei _zihintntl_zihintpause_zihpm_zawrs_zfa_zfbfmin_zfh_zca_zcb_zcd_zba_zbb_zbc_zbs_zvfbfmin_zvfbfwma_zvfh_sscofpmf_sstc_svinval_svnapot_svpbmt_xtheadba_xtheadbb_xtheadbs_xtheadcmo_xtheadcondmov_xtheadfmemidx_xtheadsync_xtheadvdot */
+
+#if !((__riscv_xlen == 64) \
+ && !defined(__riscv_32e) \
+ && defined(__riscv_mul) \
+ && defined(__riscv_atomic) \
+ && (__riscv_flen == 64) \
+ && defined(__riscv_compressed) \
+ && defined(__riscv_v) \
+ && defined(__riscv_zicbom) \
+ && defined(__riscv_zicbop) \
+ && defined(__riscv_zicboz) \
+ && defined(__riscv_zicntr) \
+ && defined(__riscv_zicond) \
+ && defined(__riscv_zicsr) \
+ && defined(__riscv_zifencei ) \
+ && defined(__riscv_zihintntl) \
+ && defined(__riscv_zihintpause) \
+ && defined(__riscv_zihpm) \
+ && defined(__riscv_zawrs) \
+ && defined(__riscv_zfa) \
+ && defined(__riscv_zfbfmin) \
+ && defined(__riscv_zfh) \
+ && defined(__riscv_zca) \
+ && defined(__riscv_zcb) \
+ && defined(__riscv_zcd) \
+ && defined(__riscv_zba) \
+ && defined(__riscv_zbb) \
+ && defined(__riscv_zbc) \
+ && defined(__riscv_zbs) \
+ && defined(__riscv_zvfbfmin) \
+ && defined(__riscv_zvfbfwma) \
+ && defined(__riscv_zvfh) \
+ && defined(__riscv_sscofpmf) \
+ && defined(__riscv_sstc) \
+ && defined(__riscv_svinval) \
+ && defined(__riscv_svnapot) \
+ && defined(__riscv_svpbmt) \
+ && defined(__riscv_xtheadba) \
+ && defined(__riscv_xtheadbb) \
+ && defined(__riscv_xtheadbs) \
+ && defined(__riscv_xtheadcmo) \
+ && defined(__riscv_xtheadcondmov) \
+ && defined(__riscv_xtheadfmemidx) \
+ && defined(__riscv_xtheadsync) \
+ && defined(__riscv_xtheadvdot))
+#error "unexpected arch"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/pr108016.c b/gcc/testsuite/gcc.target/riscv/pr108016.c
new file mode 100644
index 0000000..b60df42
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/pr108016.c
@@ -0,0 +1,33 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc -mabi=lp64" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
+
+unsigned int addu (unsigned int a, unsigned int b)
+{
+ unsigned int out;
+ unsigned int overflow = __builtin_add_overflow (a, b, &out);
+ return overflow & out;
+}
+
+int addi (int a, int b)
+{
+ int out;
+ int overflow = __builtin_add_overflow (a, b, &out);
+ return overflow & out;
+}
+
+unsigned int subu (unsigned int a, unsigned int b)
+{
+ unsigned int out;
+ unsigned int overflow = __builtin_sub_overflow (a, b, &out);
+ return overflow & out;
+}
+
+int subi (int a, int b)
+{
+ int out;
+ int overflow = __builtin_sub_overflow (a, b, &out);
+ return overflow & out;
+}
+
+/* { dg-final { scan-assembler-not "sext\.w\t" } } */
diff --git a/gcc/testsuite/gcc.target/riscv/pr118410-1.c b/gcc/testsuite/gcc.target/riscv/pr118410-1.c
new file mode 100644
index 0000000..4a8b847
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/pr118410-1.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-skip-if "" { *-*-* } { "-O0" "-Og" } } */
+/* { dg-options "-march=rv64gcb -mabi=lp64d" { target { rv64} } } */
+/* { dg-options "-march=rv32gcb -mabi=ilp32" { target { rv32} } } */
+
+long orlow(long x) { return x | ((1L << 24) - 1); }
+
+/* { dg-final { scan-assembler-times "orn\t" 1 } } */
+/* { dg-final { scan-assembler-not "addi\t" } } */
diff --git a/gcc/testsuite/gcc.target/riscv/pr118410-2.c b/gcc/testsuite/gcc.target/riscv/pr118410-2.c
new file mode 100644
index 0000000..b63a1d9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/pr118410-2.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-skip-if "" { *-*-* } { "-O0" "-Og" } } */
+/* { dg-options "-march=rv64gcb -mabi=lp64d" { target { rv64} } } */
+/* { dg-options "-march=rv32gcb -mabi=ilp32" { target { rv32} } } */
+
+long xorlow(long x) { return x ^ ((1L << 24) - 1); }
+
+/* { dg-final { scan-assembler-times "xnor\t" 1 } } */
+/* { dg-final { scan-assembler-not "addi\t" } } */
diff --git a/gcc/testsuite/gcc.target/sh/pr111814.c b/gcc/testsuite/gcc.target/sh/pr111814.c
new file mode 100644
index 0000000..a88e5d7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sh/pr111814.c
@@ -0,0 +1,7 @@
+/* Verify that __builtin_nan("") produces a constant matches
+ architecture specification. */
+/* { dg-do compile } */
+
+double d = __builtin_nan ("");
+
+/* { dg-final { scan-assembler "\t.long\t-1\n\t.long\t2146959359\n" } } */
diff --git a/gcc/testsuite/gdc.dg/gcov.exp b/gcc/testsuite/gdc.dg/gcov.exp
index a65d000..3f0234e 100644
--- a/gcc/testsuite/gdc.dg/gcov.exp
+++ b/gcc/testsuite/gdc.dg/gcov.exp
@@ -21,12 +21,19 @@ load_lib gdc-dg.exp
load_lib gcov.exp
global GDC_UNDER_TEST
+global GCOV_UNDER_TEST
-# For now find gcov in the same directory as $GDC_UNDER_TEST.
-if { ![is_remote host] && [string match "*/*" [lindex $GDC_UNDER_TEST 0]] } {
- set GCOV [file dirname [lindex $GDC_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+# For now find gcov in the same directory as $GDC_UNDER_TEST, unless
+# GCOV_UNDER_TEST is defined.
+
+if ![info exists GCOV_UNDER_TEST] {
+ if { ![is_remote host] && [string match "*/*" [lindex $GDC_UNDER_TEST 0]] } {
+ set GCOV [file dirname [lindex $GDC_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcov]
+ } else {
+ set GCOV [gcc-transform-out-of-tree gcov]
+ }
} else {
- set GCOV [gcc-transform-out-of-tree gcov]
+ set GCOV $GCOV_UNDER_TEST
}
# Initialize harness.
diff --git a/gcc/testsuite/gfortran.dg/coarray/coindexed_3.f08 b/gcc/testsuite/gfortran.dg/coarray/coindexed_3.f08
index 29c2b3a..7fd2085 100644
--- a/gcc/testsuite/gfortran.dg/coarray/coindexed_3.f08
+++ b/gcc/testsuite/gfortran.dg/coarray/coindexed_3.f08
@@ -9,6 +9,7 @@ program pr98903
integer :: a[*]
type(team_type) :: team
+ team = get_team()
me = this_image()
n = num_images()
a = 42
diff --git a/gcc/testsuite/gfortran.dg/coarray/coindexed_5.f90 b/gcc/testsuite/gfortran.dg/coarray/coindexed_5.f90
new file mode 100644
index 0000000..c35ec10
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray/coindexed_5.f90
@@ -0,0 +1,80 @@
+!{ dg-do run }
+
+! Check coindexes with team= or team_number= are working.
+
+program coindexed_5
+ use, intrinsic :: iso_fortran_env
+
+ type(team_type) :: parentteam, team, formed_team
+ integer :: t_num= 42, stat = 42, lhs
+ integer(kind=2) :: st_num=42
+ integer :: caf(2)[*]
+
+ parentteam = get_team()
+
+ caf = [23, 32]
+ form team(t_num, team, new_index=1)
+ form team(t_num, formed_team)
+
+ change team(team, cell[*] => caf(2))
+ ! for get_from_remote
+ ! Checking against caf_single is very limitted.
+ if (cell[1, team_number=t_num] /= 32) stop 1
+ if (cell[1, team_number=st_num] /= 32) stop 2
+ if (cell[1, team=parentteam] /= 32) stop 3
+
+ ! Check that team_number is validated
+ lhs = cell[1, team_number=5, stat=stat]
+ if (stat /= 1) stop 4
+
+ ! Check that only access to active teams is valid
+ stat = 42
+ lhs = cell[1, team=formed_team, stat=stat]
+ if (stat /= 1) stop 5
+
+ ! for send_to_remote
+ ! Checking against caf_single is very limitted.
+ cell[1, team_number=t_num] = 45
+ if (cell /= 45) stop 11
+ cell[1, team_number=st_num] = 46
+ if (cell /= 46) stop 12
+ cell[1, team=parentteam] = 47
+ if (cell /= 47) stop 13
+
+ ! Check that team_number is validated
+ stat = -1
+ cell[1, team_number=5, stat=stat] = 0
+ if (stat /= 1) stop 14
+
+ ! Check that only access to active teams is valid
+ stat = 42
+ cell[1, team=formed_team, stat=stat] = -1
+ if (stat /= 1) stop 15
+
+ ! for transfer_between_remotes
+ ! Checking against caf_single is very limitted.
+ cell[1, team_number=t_num] = caf(1)[1, team_number=-1]
+ if (cell /= 23) stop 21
+ cell[1, team_number=st_num] = caf(2)[1, team_number=-1]
+ ! cell is an alias for caf(2) and has been overwritten by caf(1)!
+ if (cell /= 23) stop 22
+ cell[1, team=parentteam] = caf(1)[1, team= team]
+ if (cell /= 23) stop 23
+
+ ! Check that team_number is validated
+ stat = -1
+ cell[1, team_number=5, stat=stat] = caf(1)[1, team_number= -1]
+ if (stat /= 1) stop 24
+ stat = -1
+ cell[1, team_number=t_num] = caf(1)[1, team_number= -2, stat=stat]
+ if (stat /= 1) stop 25
+
+ ! Check that only access to active teams is valid
+ stat = 42
+ cell[1, team=formed_team, stat=stat] = caf(1)[1]
+ if (stat /= 1) stop 26
+ stat = 42
+ cell[1] = caf(1)[1, team=formed_team, stat=stat]
+ if (stat /= 1) stop 27
+ end team
+end program coindexed_5
diff --git a/gcc/testsuite/gfortran.dg/coarray/get_team_1.f90 b/gcc/testsuite/gfortran.dg/coarray/get_team_1.f90
new file mode 100644
index 0000000..f37d1c7
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray/get_team_1.f90
@@ -0,0 +1,29 @@
+!{ dg-do compile }
+
+! PR 97210
+! Tests get_team syntax
+
+ use iso_fortran_env
+ implicit none
+ type(team_type) :: team, ret
+ integer :: level
+
+ ret = get_team()
+ ret = get_team('abc') !{ dg-error "must be INTEGER" }
+ ret = get_team(level, 'abc') !{ dg-error "Too many arguments" }
+ ret = get_team([1,2]) !{ dg-error "must be a scalar" }
+ ret = get_team(team) !{ dg-error "must be INTEGER" }
+
+ ret = get_team(INITIAL_TEAM)
+ ret = get_team(CURRENT_TEAM)
+ ret = get_team(PARENT_TEAM)
+ ret = get_team(INITIAL_TEAM, CURRENT_TEAM) !{ dg-error "Too many arguments" }
+
+ level = INITIAL_TEAM
+ ret = get_team(level)
+ ret = get_team(99) !{ dg-error "specify one of the INITIAL_TEAM, PARENT_TEAM" }
+ level = 99
+ ret = get_team(level)
+ level = get_team() !{ dg-error "Cannot convert TYPE\\(team_type\\)" }
+end
+
diff --git a/gcc/testsuite/gfortran.dg/coarray/image_status_1.f08 b/gcc/testsuite/gfortran.dg/coarray/image_status_1.f08
index 098a2bb..b7ec5a6 100644
--- a/gcc/testsuite/gfortran.dg/coarray/image_status_1.f08
+++ b/gcc/testsuite/gfortran.dg/coarray/image_status_1.f08
@@ -18,7 +18,7 @@ program test_image_status_1
isv = image_status(k2) ! Ok
isv = image_status(k4) ! Ok
isv = image_status(k8) ! Ok
- isv = image_status(1, team=1) ! { dg-error "'team' argument of 'image_status' intrinsic at \\(1\\) not yet supported" }
+ isv = image_status(1, team=1) ! { dg-error "shall be of type 'team_type'" }
isv = image_status() ! { dg-error "Missing actual argument 'image' in call to 'image_status' at \\(1\\)" }
isv = image_status(team=1) ! { dg-error "Missing actual argument 'image' in call to 'image_status' at \\(1\\)" }
diff --git a/gcc/testsuite/gfortran.dg/coarray_10.f90 b/gcc/testsuite/gfortran.dg/coarray_10.f90
index 53917b5..6f453d5 100644
--- a/gcc/testsuite/gfortran.dg/coarray_10.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_10.f90
@@ -21,7 +21,7 @@ subroutine this_image_check()
integer,save :: z(4)[*], i
j = this_image(a,dim=3) ! { dg-error "not a valid codimension index" }
- j = this_image(dim=3) ! { dg-error "DIM argument without COARRAY argument" }
+ j = this_image(dim=3) ! { dg-error "'dim' argument without 'coarray' argument" }
i = image_index(i, [ 1 ]) ! { dg-error "Expected coarray variable" }
i = image_index(z, 2) ! { dg-error "must be a rank one array" }
end subroutine this_image_check
diff --git a/gcc/testsuite/gfortran.dg/coarray_49.f90 b/gcc/testsuite/gfortran.dg/coarray_49.f90
index 370e3fd..fd8549b 100644
--- a/gcc/testsuite/gfortran.dg/coarray_49.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_49.f90
@@ -5,5 +5,5 @@
program p
integer :: x[*]
- print *, image_index (x, [1.0]) ! { dg-error "shall be INTEGER" }
+ print *, image_index (x, [1.0]) ! { dg-error "must be INTEGER" }
end
diff --git a/gcc/testsuite/gfortran.dg/coarray_collectives_12.f90 b/gcc/testsuite/gfortran.dg/coarray_collectives_12.f90
index 299ea62..2d8a39a 100644
--- a/gcc/testsuite/gfortran.dg/coarray_collectives_12.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_collectives_12.f90
@@ -20,6 +20,6 @@ program test
call co_broadcast(val3, source_image=res,stat=stat3, errmsg=errmesg3)
end program test
-! { dg-final { scan-tree-dump-times "_gfortran_caf_co_broadcast \\(&desc.., _gfortran_caf_num_images \\(0, -1\\), &stat1, errmesg1, 6\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_caf_co_broadcast \\(&desc.., _gfortran_caf_num_images \\(0B, 0B\\), &stat1, errmesg1, 6\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_co_broadcast \\(&val2, 4, &stat2, errmesg2, 7\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_co_broadcast \\(&desc.., res, &stat3, errmesg3, 8\\);" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_collectives_16.f90 b/gcc/testsuite/gfortran.dg/coarray_collectives_16.f90
index 8419cf9..05a1350 100644
--- a/gcc/testsuite/gfortran.dg/coarray_collectives_16.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_collectives_16.f90
@@ -33,6 +33,6 @@ contains
end function hc
end program test
-! { dg-final { scan-tree-dump-times "_gfortran_caf_co_reduce \\(&desc.., fr, 4, _gfortran_caf_num_images \\(0, -1\\), &stat1, errmesg1, 0, 6\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_caf_co_reduce \\(&desc.., fr, 4, _gfortran_caf_num_images \\(0B, 0B\\), &stat1, errmesg1, 0, 6\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_co_reduce \\(&val2, gz, 0, 4, &stat2, errmesg2, 0, 7\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_co_reduce \\(&desc.., hc, 1, res, &stat3, errmesg3, 99, 8\\);" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_critical_2.f90 b/gcc/testsuite/gfortran.dg/coarray_critical_2.f90
new file mode 100644
index 0000000..702611c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray_critical_2.f90
@@ -0,0 +1,30 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib" }
+
+! Test critical syntax errors with stat= and errmsg= specifiers
+
+ implicit none
+ integer :: istat
+ character(len=30) :: err
+ integer(kind=1) :: too_small_stat
+
+ critical (stat=err) !{ dg-error "must be a scalar INTEGER" }
+ continue
+ end critical
+
+ critical (stat=istat, stat=istat) !{ dg-error "Duplicate STAT" }
+ continue
+ end critical !{ dg-error "Expecting END PROGRAM" }
+
+ critical (stat=istat, errmsg=istat) !{ dg-error "must be a scalar CHARACTER variable" }
+ continue
+ end critical
+
+ critical (stat=istat, errmsg=err, errmsg=err) !{ dg-error "Duplicate ERRMSG" }
+ continue
+ end critical !{ dg-error "Expecting END PROGRAM" }
+
+ critical (stat=too_small_stat) !{ dg-error "scalar INTEGER variable of at least kind 2" }
+ continue
+ end critical
+end
diff --git a/gcc/testsuite/gfortran.dg/coarray_critical_3.f90 b/gcc/testsuite/gfortran.dg/coarray_critical_3.f90
new file mode 100644
index 0000000..cd609bd
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray_critical_3.f90
@@ -0,0 +1,32 @@
+! { dg-do run }
+! { dg-options "-fcoarray=lib -fdump-tree-original -lcaf_single" }
+! { dg-additional-options "-latomic" { target libatomic_available } }
+
+! PR 87939
+! Test critical construct with stat= and errmsg= specifiers
+!
+ use, intrinsic :: iso_fortran_env, only: int16
+ implicit none
+ integer :: istat = 42
+ integer(kind=int16) :: istat16 = 42
+ character(len=30) :: err = 'unchanged'
+ integer :: fail = 0
+
+ critical (stat=istat, errmsg=err)
+ if (istat /= 0) fail = 1
+ if (trim(err) /= 'unchanged') fail = 2
+ end critical
+
+ if (fail /= 0) stop fail
+
+ critical (stat=istat16, errmsg=err)
+ if (istat16 /= 0) fail = 3
+ if (trim(err) /= 'unchanged') fail = 4
+ end critical
+
+ if (fail /= 0) stop fail
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_lock \\(caf_token\\.\[0-9\]+, 0, 1, 0B, &istat, &err, 30\\);" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_lock \\(caf_token\\.\[0-9\]+, 0, 1, 0B, &stat\\.\[0-9\]+, &err, 30\\);" "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_caf_unlock \\(caf_token\\.\[0-9\]+, 0, 1, &stat\\.\[0-9\]+, 0B, 0\\);" 2 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90 b/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90
index 63cca3e..7939a79 100644
--- a/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90
@@ -19,8 +19,8 @@ end
! { dg-final { scan-tree-dump-times "bar \\(real\\(kind=4\\)\\\[2\\\] \\* restrict x, void \\* restrict caf_token.., integer\\(kind=\[48\]\\) caf_offset..\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylcobound = 5;" 1 "original" } }
! { dg-final { scan-tree-dump-times "parm...dim\\\[1\\\].lbound = 5;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lbound \\+ \[^\n\r]*_gfortran_caf_num_images \\(0, -1\\).? \\+ -?\[0-9\]+\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lbound \\+ \[^\n\r]*_gfortran_caf_num_images \\(0B, 0B\\).? \\+ -?\[0-9\]+\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image \\(0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image \\(0B\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "bar \\(x, caf_token.., 0\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_init \\(&argc, &argv\\);" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90 b/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90
index a27d740..31a7677 100644
--- a/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90
@@ -19,8 +19,8 @@ end
! { dg-final { scan-tree-dump-times "bar \\(struct array02_real\\(kind=4\\) & restrict x, void \\* restrict caf_token.., integer\\(kind=\[48\]\\) caf_offset..\\)" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylcobound = 5;" 1 "original" } }
! { dg-final { scan-tree-dump-times "parm...dim\\\[1\\\].lbound = 5;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lbound \\+ \[^\n\r\]*_gfortran_caf_num_images \\(0, -1\\).? \\+ -?\[0-9\]+\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "myucobound =\[^\n\r\]* parm...dim\\\[1\\\].lbound \\+ \[^\n\r\]*_gfortran_caf_num_images \\(0B, 0B\\).? \\+ -?\[0-9\]+\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "mylbound = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image \\(0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "mythis_image = _gfortran_caf_this_image \\(0B\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "bar \\(&parm.\[0-9\]+, caf_token.\[0-9\]+, \\(integer\\(kind=\[48\]\\)\\) parm.\[0-9\]+.data - \\(integer\\(kind=\[48\]\\)\\) x\\);" 1 "original" } }
! { dg-final { scan-tree-dump-times "_gfortran_caf_init \\(&argc, &argv\\);" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_this_image_1.f90 b/gcc/testsuite/gfortran.dg/coarray_this_image_1.f90
index 1fe2318..5a609d8 100644
--- a/gcc/testsuite/gfortran.dg/coarray_this_image_1.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_this_image_1.f90
@@ -1,19 +1,52 @@
-! { dg-do compile }
-! { dg-options "-fdump-tree-original -fcoarray=single" }
+!{ dg-do run }
+!{ dg-options "-fdump-tree-original -fcoarray=single" }
!
-j1 = this_image(distance=4)
-j2 = this_image(5)
+
+use, intrinsic :: iso_fortran_env, only: team_type
+integer :: caf[2,*]
+integer, allocatable :: res(:)
+type(team_type) :: team
+
+form team(1, team, new_index=MOD(this_image() + 43, num_images()) + 1)
+j1 = this_image()
+if (j1 /= 1) then
+ print *, me, ":", j1
+ stop 1
+endif
+res = this_image(caf)
+if (any (res /= [1, 1])) then
+ print *, me, ":", res
+ stop 2
+endif
+j2 = this_image(caf, 1)
+if (j2 /= 1) then
+ print *, me, ":", j2
+ stop 3
+endif
+j3 = this_image(team)
+if (j3 /= MOD(this_image() + 43, num_images()) +1) then
+ print *, me, ":", j3
+ stop 4
+endif
+res = this_image(caf, team)
+if (any(res /= [1, 1])) then
+ print *, me, ":", res
+ stop 5
+endif
+j4 = this_image(caf, 1, team)
+if (j4 /= 1) then
+ print *, me, ":", j4
+ stop 6
+endif
+associate(me => this_image())
+end associate
k1 = num_images()
-k2 = num_images(6)
-k3 = num_images(distance=7)
-k4 = num_images(distance=8, failed=.true.)
-k5 = num_images(failed=.false.)
+k2 = num_images(team)
+k3 = num_images(-1)
end
-! { dg-final { scan-tree-dump-times "j1 = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "j2 = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k1 = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k2 = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k3 = 1;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k4 = 0;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k5 = 1;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "j\[1-4\] = 1;" 4 "original" } }
+! { dg-final { scan-tree-dump-times "A\\.\[0-9\]+\\\[2\\\] = \\\{1, 1\\\};" 4 "original" } }
+! { dg-final { scan-tree-dump "k1 = 1;" "original" } }
+! { dg-final { scan-tree-dump "k2 = 1;" "original" } }
+! { dg-final { scan-tree-dump "k3 = 1;" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_this_image_2.f90 b/gcc/testsuite/gfortran.dg/coarray_this_image_2.f90
index 002c897..9713e3d 100644
--- a/gcc/testsuite/gfortran.dg/coarray_this_image_2.f90
+++ b/gcc/testsuite/gfortran.dg/coarray_this_image_2.f90
@@ -1,19 +1,57 @@
-! { dg-do compile }
-! { dg-options "-fdump-tree-original -fcoarray=lib" }
+!{ dg-do run }
+!{ dg-additional-options "-fdump-tree-original -fcoarray=lib -lcaf_single" }
!
-j1 = this_image(distance=4)
-j2 = this_image(5)
+
+use, intrinsic :: iso_fortran_env, only: team_type
+integer :: caf[2,*]
+integer, allocatable :: res(:)
+type(team_type) :: team
+
+form team(1, team, new_index=MOD(this_image() + 43, num_images()) + 1)
+
+associate(me => this_image())
+j1 = this_image()
+if (j1 /= 1) then
+ print *, me, ":", j1
+ stop 1
+endif
+res = this_image(caf)
+if (any (res /= [1, 1])) then
+ print *, me, ":", res
+ stop 2
+endif
+j2 = this_image(caf, 1)
+if (j2 /= 1) then
+ print *, me, ":", j2
+ stop 3
+endif
+j3 = this_image(team)
+if (j3 /= MOD(this_image() + 43, num_images()) +1) then
+ print *, me, ":", j3
+ stop 4
+endif
+res = this_image(caf, team)
+if (any(res /= [1, 1])) then
+ print *, me, ":", res
+ stop 5
+endif
+j4 = this_image(caf, 1, team)
+if (j4 /= 1) then
+ print *, me, ":", j4
+ stop 6
+endif
+end associate
k1 = num_images()
-k2 = num_images(6)
-k3 = num_images(distance=7)
-k4 = num_images(distance=8, failed=.true.)
-k5 = num_images(failed=.false.)
+k2 = num_images(team)
+k3 = num_images(-1)
+k4 = num_images(1)
end
-! { dg-final { scan-tree-dump-times "j1 = _gfortran_caf_this_image \\(4\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "j2 = _gfortran_caf_this_image \\(5\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k1 = _gfortran_caf_num_images \\(0, -1\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k2 = _gfortran_caf_num_images \\(6, -1\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k3 = _gfortran_caf_num_images \\(7, -1\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k4 = _gfortran_caf_num_images \\(8, 1\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "k5 = _gfortran_caf_num_images \\(0, 0\\);" 1 "original" } }
+! { dg-final { scan-tree-dump "j1 = _gfortran_caf_this_image \\(0B\\);" "original" } }
+! { dg-final { scan-tree-dump "j3 = _gfortran_caf_this_image \\(team\\);" "original" } }
+! { dg-final { scan-tree-dump-times "D\\.\[0-9\]+ = _gfortran_caf_this_image \\(team\\) \\+ -1;" 2 "original" } }
+! { dg-final { scan-tree-dump-times "D\\.\[0-9\]+ = _gfortran_caf_this_image \\(0B\\) \\+ -1;" 2 "original" } }
+! { dg-final { scan-tree-dump "k1 = _gfortran_caf_num_images \\(0B, 0B\\);" "original" } }
+! { dg-final { scan-tree-dump "k2 = _gfortran_caf_num_images \\(team, 0B\\);" "original" } }
+! { dg-final { scan-tree-dump "k3 = _gfortran_caf_num_images \\(0B, &D\\.\[0-9\]+\\);" "original" } }
+! { dg-final { scan-tree-dump "k4 = _gfortran_caf_num_images \\(0B, &D\\.\[0-9\]+\\);" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray_this_image_3.f90 b/gcc/testsuite/gfortran.dg/coarray_this_image_3.f90
new file mode 100644
index 0000000..b8433b2
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray_this_image_3.f90
@@ -0,0 +1,31 @@
+! { dg-do compile }
+! { dg-options "-fcoarray=lib" }
+
+
+use, intrinsic :: iso_fortran_env, only: team_type
+integer :: caf[*]
+integer, allocatable :: res(:)
+type(team_type) :: team
+
+j1 = this_image() ! ok
+j1 = this_image('bar') !{ dg-error "First argument of 'this_image'" }
+res = this_image(caf) ! ok
+res = this_image(caf, caf) !{ dg-error "Second argument of 'this_image'" }
+j2 = this_image(caf, 1) ! ok
+j3 = this_image(caf, 'foo') !{ dg-error "Second argument of 'this_image'" }
+j4 = this_image(caf, [1, 2]) !{ dg-error "Second argument of 'this_image'" }
+j5 = this_image(team) ! ok
+j6 = this_image(team, caf) !{ dg-error "Second argument of 'this_image'" }
+res = this_image(caf, team) ! ok
+res = this_image(caf, team, 'foo') !{ dg-error "shall be of type 'team_type'" }
+j4 = this_image(caf, 1, team) ! ok
+j5 = this_image(caf, 1, team, 'baz') !{ dg-error "Too many arguments in call" }
+j6 = this_image(dim=1, team=team, coarray=caf)
+
+k1 = num_images() ! ok
+k2 = num_images(team) ! ok
+k3 = num_images(team, 2) !{ dg-error "Too many arguments in call to" }
+k4 = num_images(1) ! ok
+k5 = num_images('abc') !{ dg-error "'team/team_number' argument of 'num_images' intrinsic" }
+k6 = num_images(1, team) !{ dg-error "Too many arguments in call to" }
+end
diff --git a/gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90 b/gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90
index 0c8a6ad..a7fa7c3 100644
--- a/gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90
+++ b/gcc/testsuite/gfortran.dg/do_concurrent_all_clauses.f90
@@ -18,7 +18,7 @@ program do_concurrent_all_clauses
squared = i * i
arr(i) = temp2 + squared
sum = sum + arr(i)
- max_val = max(max_val, arr(i)) ! { dg-error "Reference to impure function" }
+ max_val = max(max_val, arr(i))
end block
end do
print *, arr, sum, max_val
diff --git a/gcc/testsuite/gfortran.dg/move_alloc_11.f90 b/gcc/testsuite/gfortran.dg/move_alloc_11.f90
new file mode 100644
index 0000000..d33e0ce
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/move_alloc_11.f90
@@ -0,0 +1,23 @@
+!{ dg-do compile }
+
+! General error checking for move_alloc parameter list.
+
+integer, allocatable :: i, o
+integer :: st, s2
+character(30) :: e, e2
+
+ call move_alloc(i, o, STAT=st)
+ call move_alloc(i, o, STAT=st, STAT=s2) !{ dg-error "Keyword 'stat' at \\(1\\) has already appeared in the current argument list" }
+ call move_alloc(i, o, STAT=e) !{ dg-error "STAT= argument at \\(1\\) must be a scalar INTEGER variable of at least kind 2" }
+ call move_alloc(i, o, STAT=[st, s2]) !{ dg-error "STAT= argument at \\(1\\) must be a scalar INTEGER variable of at least kind 2" }
+ call move_alloc(i, o, STAT=.TRUE.) !{ dg-error "STAT= argument at \\(1\\) must be a scalar INTEGER variable of at least kind 2" }
+
+ call move_alloc(i, o, STAT=st, ERRMSG=e)
+ call move_alloc(i, o, ERRMSG=e)
+ call move_alloc(i, o, ERRMSG=e, ERRMSG=e2) !{ dg-error "Keyword 'errmsg' at \\(1\\) has already appeared in the current argument list" }
+ call move_alloc(i, o, ERRMSG=st) !{ dg-error "ERRMSG= argument at \\(1\\) must be a scalar CHARACTER variable of at least kind 1" }
+ call move_alloc(i, o, ERRMSG=.TRUE.) !{ dg-error "ERRMSG= argument at \\(1\\) must be a scalar CHARACTER variable of at least kind 1" }
+
+
+end
+
diff --git a/gcc/testsuite/gfortran.dg/num_images_1.f90 b/gcc/testsuite/gfortran.dg/num_images_1.f90
index dac34ba..e03857c 100644
--- a/gcc/testsuite/gfortran.dg/num_images_1.f90
+++ b/gcc/testsuite/gfortran.dg/num_images_1.f90
@@ -5,5 +5,5 @@
program foo
implicit none
integer k5
- k5 = num_images(failed=.false.) ! { dg-error "argument to NUM_IMAGES" }
+ k5 = num_images(failed=.false.) ! { dg-error "Cannot find keyword named 'failed' in call to 'num_images'" }
end program foo
diff --git a/gcc/testsuite/gfortran.dg/pr102458.f90 b/gcc/testsuite/gfortran.dg/pr102458.f90
index 555e497..7c13084 100644
--- a/gcc/testsuite/gfortran.dg/pr102458.f90
+++ b/gcc/testsuite/gfortran.dg/pr102458.f90
@@ -9,7 +9,7 @@ end
program p
block
- integer :: a(get_team()) = 1 ! { dg-error "Automatic array" }
+ integer :: a(get_team()) = 1 ! { dg-error "Automatic array | ISO_FORTRAN_ENV | must be of INTEGER" }
print *, a
end block
end
diff --git a/gcc/testsuite/gfortran.dg/pr119836_1.f90 b/gcc/testsuite/gfortran.dg/pr119836_1.f90
new file mode 100644
index 0000000..984e2d0
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr119836_1.f90
@@ -0,0 +1,18 @@
+!
+! { dg-do run }
+!
+! PR fortran/119836
+!
+program p
+ implicit none
+ integer, parameter :: n = 4
+ integer :: i
+ integer :: y(n), x(n)
+ do concurrent (i=1:n)
+ x(i) = shiftl (i,1) ! accepted
+ block
+ y(i) = shiftl (i,1) ! wrongly rejected
+ end block
+ end do
+ if (any(x /= y)) stop 1
+end program p
diff --git a/gcc/testsuite/gfortran.dg/pr119836_2.f90 b/gcc/testsuite/gfortran.dg/pr119836_2.f90
new file mode 100644
index 0000000..5e2d0c9
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr119836_2.f90
@@ -0,0 +1,21 @@
+!
+! { dg-do compile }
+!
+! PR fortran/119836
+!
+! Although intrinsic functions contained within the Fortran standard
+! are pure procedures, many of the additional intrinsic functions
+! supplied in libgfortran are impure. RAND() is one such function.
+!
+program foo
+ implicit none
+ integer i
+ real x(4)
+ do concurrent (i=1:4)
+ x = rand() ! { dg-error "Reference to impure function" }
+ block
+ x = rand() ! { dg-error "Reference to impure function" }
+ end block
+ end do
+ print *, x
+end program foo
diff --git a/gcc/testsuite/gfortran.dg/pr119836_3.f90 b/gcc/testsuite/gfortran.dg/pr119836_3.f90
new file mode 100644
index 0000000..69a5fcf
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr119836_3.f90
@@ -0,0 +1,30 @@
+!
+! { dg-do run }
+!
+! PR fortran/119836
+!
+program p
+ implicit none
+ integer, parameter :: n = 4
+ integer :: i
+ integer :: y(n), x(n)
+ x = [(i,i=1,n)]
+ do concurrent (i=1:n)
+ call bar(x, y)
+ end do
+ if (any(x /= y)) stop 1
+ x = 2 * x
+ do concurrent (i=1:n)
+ block
+ call bar(x, y)
+ end block
+ end do
+ if (any(x /= y)) stop 1
+
+ contains
+ elemental subroutine bar(x, y)
+ integer, intent(in) :: x
+ integer, intent(out) :: y
+ y = x
+ end subroutine
+end program p
diff --git a/gcc/testsuite/gfortran.dg/pr119836_4.f90 b/gcc/testsuite/gfortran.dg/pr119836_4.f90
new file mode 100644
index 0000000..dc6f72b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr119836_4.f90
@@ -0,0 +1,30 @@
+!
+! { dg-do compile }
+!
+! PR fortran/119836
+!
+program p
+ implicit none
+ integer, parameter :: n = 4
+ integer :: i
+ integer :: y(n), x(n)
+ x = [(i,i=1,n)]
+ do concurrent (i=1:n)
+ call bar(x, y) ! { dg-error "Subroutine call" }
+ end do
+ if (any(x /= y)) stop 1
+ x = 2 * x
+ do concurrent (i=1:n)
+ block
+ call bar(x, y) ! { dg-error "Subroutine call" }
+ end block
+ end do
+ if (any(x /= y)) stop 1
+
+ contains
+ subroutine bar(x, y)
+ integer, intent(in) :: x(:)
+ integer, intent(out) :: y(:)
+ y = x
+ end subroutine
+end program p
diff --git a/gcc/testsuite/gfortran.dg/team_change_2.f90 b/gcc/testsuite/gfortran.dg/team_change_2.f90
new file mode 100644
index 0000000..66fe63c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_change_2.f90
@@ -0,0 +1,93 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib" }
+
+! PR 87939
+! Tests change team syntax
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ type(team_type) :: team
+ integer :: new_team, istat
+ character(len=30) :: err
+ integer :: caf[*], caf2[*]
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+
+ change team !{ dg-error "Syntax error in CHANGE TEAM statement" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ change team (err) !{ dg-error "must be a scalar expression of type TEAM_TYPE" }
+ continue
+ end team
+
+ change team (team, stat=err) !{ dg-error "must be a scalar INTEGER" }
+ continue
+ end team
+
+ change team (team, stat=istat, stat=istat) !{ dg-error "Duplicate STAT" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ change team (team, stat=istat, errmsg=istat) !{ dg-error "must be a scalar CHARACTER variable" }
+ continue
+ end team
+
+ change team (team, stat=istat, errmsg=str, errmsg=str) !{ dg-error "Duplicate ERRMSG" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+1234 if (istat /= 0) stop 1 !{ dg-error "leaves CHANGE TEAM" }
+
+ change team (team)
+ go to 1234 !{ dg-error "leaves CHANGE TEAM" }
+ end team
+
+ call foo(team)
+
+ ! F2018, C1113
+ change team (team, caf[3,*] => caf) !{ dg-error "Codimension decl name" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ change team (team, c[3,*] => caf, c => caf2) !{ dg-error "Duplicate name" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ change team (team, c[3,*] => caf, caf => caf2) !{ dg-error "Codimension decl name" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ change team (team, caf2[3,*] => caf, c => caf2) !{ dg-error "Codimension decl name" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ ! F2018, C1114
+ change team (team, c => [caf, caf2]) !{ dg-error "a named coarray" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ ! F2018, C1115
+ change team (team, c => caf, c2 => caf) !{ dg-error "duplicates selector at" }
+ continue
+ end team !{ dg-error "Expecting END PROGRAM statement" }
+
+ t: change team(team)
+ exit t
+ end team t
+
+ change team(team)
+ exit t !{ dg-error "EXIT statement at \\(1\\) is not within construct 't'" }
+ end team
+contains
+ subroutine foo(team)
+ type(team_type) :: team
+
+ change team (team)
+ return !{ dg-error "Image control statement" }
+ end team
+ end subroutine
+end
+
diff --git a/gcc/testsuite/gfortran.dg/team_change_3.f90 b/gcc/testsuite/gfortran.dg/team_change_3.f90
new file mode 100644
index 0000000..bc30c40
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_change_3.f90
@@ -0,0 +1,29 @@
+!{ dg-do run }
+!{ dg-additional-options "-fcoarray=lib -fdump-tree-original -lcaf_single" }
+!{ dg-additional-options "-latomic" { target libatomic_available } }
+
+! PR 87939
+! Tests change team stat= and errmsg= specifiers
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ type(team_type) :: team
+ integer :: new_team, istat = 42
+ character(len=30) :: err = 'unchanged'
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+
+ change team (team, stat=istat)
+ if (istat /= 0) stop 1
+ end team
+
+ change team (team, stat=istat, errmsg=err)
+ if (trim(err) /= 'unchanged') stop 2
+ end team
+
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_change_team \\(team, &istat, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_change_team \\(team, &istat, &err, 30\\)" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/team_end_2.f90 b/gcc/testsuite/gfortran.dg/team_end_2.f90
new file mode 100644
index 0000000..c27b59d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_end_2.f90
@@ -0,0 +1,42 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib" }
+
+! PR 87939
+! Tests change team syntax
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ type(team_type) :: team
+ integer :: new_team, istat
+ character(len=30) :: err
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+
+ change team (team)
+ continue
+ end team (stat=err) ! { dg-error "must be a scalar INTEGER" }
+
+ change team (team)
+ continue
+ end team (stat=istat, stat=istat) ! { dg-error "Duplicate STAT" }
+
+ change team (team)
+ continue
+ end team (stat=istat, errmsg=istat) ! { dg-error "must be a scalar CHARACTER variable" }
+
+ change team (team)
+ continue
+ end team (stat=istat, errmsg=err, errmsg=err) ! { dg-error "Duplicate ERRMSG" }
+
+ t: change team (team)
+ continue
+ end team (stat=istat) t ! ok
+
+ t2: change team (team)
+ continue
+ end team ! { dg-error "Expected block name of 't2' in END TEAM" }
+ end team t2 ! close the team correctly to catch other errors
+end
+
diff --git a/gcc/testsuite/gfortran.dg/team_end_3.f90 b/gcc/testsuite/gfortran.dg/team_end_3.f90
new file mode 100644
index 0000000..9cd7d4c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_end_3.f90
@@ -0,0 +1,41 @@
+!{ dg-do run }
+!{ dg-additional-options "-fcoarray=lib -fdump-tree-original -lcaf_single" }
+!{ dg-additional-options "-latomic" { target libatomic_available } }
+
+! PR 87939
+! Tests end team stat= and errmsg= specifiers
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ type(team_type) :: team
+ integer :: new_team, istat = 42
+ character(len=30) :: err = 'unchanged'
+ integer, allocatable :: sample(:)[:]
+ integer, allocatable :: scal_caf[:]
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+
+ change team (team)
+ allocate(sample(5)[*], scal_caf[*])
+ if (.NOT. allocated(sample)) stop 1
+ if (.NOT. allocated(scal_caf)) stop 2
+ end team (stat=istat)
+ if (istat /= 0) stop 3
+ if (allocated(sample)) stop 4
+ if (allocated(scal_caf)) stop 5
+
+ deallocate(sample, stat=istat)
+ if (istat == 0) stop 6
+
+ istat = 42
+ t: change team (team)
+ continue
+ end team (stat=istat, errmsg=err) t
+ if (istat /= 0) stop 7
+ if (trim(err) /= 'unchanged') stop 8
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_end_team \\(&istat, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_end_team \\(&istat, &err, 30\\)" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/team_form_2.f90 b/gcc/testsuite/gfortran.dg/team_form_2.f90
new file mode 100644
index 0000000..5c6d81f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_form_2.f90
@@ -0,0 +1,27 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib" }
+
+! PR 87939
+! Tests form team syntax errors
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ integer :: istat, new_team
+ character(len=30) :: err
+ type(team_type) :: team
+
+ new_team = mod(this_image(),2)+1
+
+ form team ! { dg-error "Syntax error in FORM TEAM statement" }
+ form team (new_team) ! { dg-error "Syntax error in FORM TEAM statement" }
+ form team (new_team,err) ! { dg-error "must be a scalar expression of type TEAM_TYPE" }
+ form team (new_team,team,istat) ! { dg-error "Syntax error in FORM TEAM statement" }
+ form team (new_team,team,stat=istat,stat=istat) ! { dg-error "Duplicate STAT" }
+ form team (new_team,team,stat=istat,errmsg=istat) ! { dg-error "must be a scalar CHARACTER variable" }
+ form team (new_team,team,stat=istat,errmsg=err,errmsg=err) ! { dg-error "Duplicate ERRMSG" }
+ form team (new_team,team,new_index=1,new_index=1) ! { dg-error "Duplicate NEW_INDEX" }
+ form team (new_team,team,new_index=err) ! { dg-error "must be a scalar INTEGER" }
+ form team (new_team,team,new_index=1,new_index=1,stat=istat,errmsg=err) ! { dg-error "Duplicate NEW_INDEX" }
+ form team (new_team,team,new_index=1,stat=istat,errmsg=err,new_index=9) ! { dg-error "Duplicate NEW_INDEX" }
+
+end
diff --git a/gcc/testsuite/gfortran.dg/team_form_3.f90 b/gcc/testsuite/gfortran.dg/team_form_3.f90
new file mode 100644
index 0000000..d9aae33
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_form_3.f90
@@ -0,0 +1,34 @@
+!{ dg-do run }
+!{ dg-additional-options "-fcoarray=lib -fdump-tree-original -lcaf_single" }
+!{ dg-additional-options "-latomic" { target libatomic_available } }
+
+! PR 87939
+! Tests form team with stat= and errmsg=
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ integer :: istat = 42, new_team
+ character(len=30) :: err = "unchanged"
+ type(team_type) :: team
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+ form team (new_team,team,stat=istat)
+ if (istat /= 0) stop 1
+ form team (new_team,team,stat=istat, errmsg=err)
+ if (trim(err) /= 'unchanged') stop 2
+ form team (new_team,team,new_index=1)
+ istat = 42
+ form team (new_team,team,new_index=1,stat=istat)
+ if (istat /= 0) stop 3
+ form team (new_team,team,new_index=1,stat=istat,errmsg=err)
+ if (trim(err) /= 'unchanged') stop 4
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, 0B, 0B, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, 0B, &istat, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, 0B, &istat, &err, 30\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, &C\\.\[0-9\]+, 0B, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, &C\\.\[0-9\]+, &istat, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_form_team \\(new_team, &team, &C\\.\[0-9\]+, &istat, &err, 30\\)" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/team_get_1.f90 b/gcc/testsuite/gfortran.dg/team_get_1.f90
new file mode 100644
index 0000000..fe00ce8
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_get_1.f90
@@ -0,0 +1,27 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib -fdump-tree-original" }
+
+! PR 87939
+! Tests get_team
+
+ use iso_fortran_env
+ implicit none
+ type(team_type) :: team, ret
+ integer :: new_team, level
+
+ new_team = mod(this_image(),2)+1
+
+ form team (new_team,team)
+
+ ret = get_team()
+ ret = get_team(INITIAL_TEAM)
+ ret = get_team(PARENT_TEAM)
+ ret = get_team(CURRENT_TEAM)
+ level = INITIAL_TEAM
+ ret = get_team(level)
+
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_get_team \\(0B\\)" "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_caf_get_team \\(&C\.\[0-9\]+\\)" 3 "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_get_team \\(&level\\)" "original" } }
diff --git a/gcc/testsuite/gfortran.dg/team_number_1.f90 b/gcc/testsuite/gfortran.dg/team_number_1.f90
index e44e17b..f0ee7d1 100644
--- a/gcc/testsuite/gfortran.dg/team_number_1.f90
+++ b/gcc/testsuite/gfortran.dg/team_number_1.f90
@@ -1,13 +1,13 @@
! { dg-do run }
! { dg-options "-fcoarray=single" }
!
-! Tests if team_number intrinsic fucntion works
+! Tests if team_number intrinsic function works
!
use iso_fortran_env, only : team_type
implicit none
- type(team_type) team
+ type(team_type) :: team
integer, parameter :: standard_initial_value=-1
- integer new_team
+ integer :: new_team
if (team_number()/=standard_initial_value) STOP 1
diff --git a/gcc/testsuite/gfortran.dg/team_sync_1.f90 b/gcc/testsuite/gfortran.dg/team_sync_1.f90
new file mode 100644
index 0000000..5b28651
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_sync_1.f90
@@ -0,0 +1,24 @@
+!{ dg-do compile }
+!{ dg-additional-options "-fcoarray=lib" }
+
+! PR 87939
+! Test sync team syntax errors
+
+ use iso_fortran_env, only : team_type
+ implicit none
+ integer :: istat
+ character(len=30) :: err
+ type(team_type) :: team
+
+ form team (mod(this_image(),2)+1, team)
+
+ change team (team)
+ sync team ! { dg-error "Syntax error in SYNC TEAM statement" }
+ sync team (err) ! { dg-error "must be a scalar expression of type TEAM_TYPE" }
+ sync team (team, istat) ! { dg-error "Syntax error in SYNC TEAM statement" }
+ sync team (team, stat=err) ! { dg-error "must be a scalar INTEGER" }
+ sync team (team, stat=istat, stat=istat) ! { dg-error "Duplicate STAT" }
+ sync team (team, stat=istat, errmsg=istat) ! { dg-error "must be a scalar CHARACTER variable" }
+ sync team (team, stat=istat, errmsg=err, errmsg=err) ! { dg-error "Duplicate ERRMSG" }
+ end team
+end
diff --git a/gcc/testsuite/gfortran.dg/team_sync_2.f90 b/gcc/testsuite/gfortran.dg/team_sync_2.f90
new file mode 100644
index 0000000..947f65d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/team_sync_2.f90
@@ -0,0 +1,27 @@
+!{ dg-do run }
+!{ dg-additional-options "-fcoarray=lib -fdump-tree-original -lcaf_single" }
+!{ dg-additional-options "-latomic" { target libatomic_available } }
+
+! PR 87939
+! Test sync team statement
+!
+ use iso_fortran_env, only : team_type
+ implicit none
+ integer :: istat = 42
+ type(team_type) :: team
+ character(len=30) :: err = "unchanged"
+
+ form team (mod(this_image(),2)+1, team)
+
+ change team (team)
+ sync team (team)
+ sync team (team, stat=istat)
+ if (istat /= 0) stop 1
+ sync team (team, stat=istat, errmsg=err)
+ if (trim(err) /= 'unchanged') stop 2
+ end team
+end
+
+! { dg-final { scan-tree-dump "_gfortran_caf_sync_team \\(team, 0B, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_sync_team \\(team, &istat, 0B, 0\\)" "original" } }
+! { dg-final { scan-tree-dump "_gfortran_caf_sync_team \\(team, &istat, &err, 30\\)" "original" } }
diff --git a/gcc/testsuite/gm2/pim/fail/constintarraybyte.mod b/gcc/testsuite/gm2/pim/fail/constintarraybyte.mod
new file mode 100644
index 0000000..cbcc804
--- /dev/null
+++ b/gcc/testsuite/gm2/pim/fail/constintarraybyte.mod
@@ -0,0 +1,10 @@
+MODULE constintarraybyte ;
+
+FROM FormatStrings IMPORT Sprintf1 ;
+FROM DynamicStrings IMPORT String, InitString ;
+
+VAR
+ s: String ;
+BEGIN
+ s := Sprintf1 (InitString("abc%x\n"), 42)
+END constintarraybyte.
diff --git a/gcc/testsuite/gnat.dg/gcov/gcov.exp b/gcc/testsuite/gnat.dg/gcov/gcov.exp
index 4fa887d..031914a 100644
--- a/gcc/testsuite/gnat.dg/gcov/gcov.exp
+++ b/gcc/testsuite/gnat.dg/gcov/gcov.exp
@@ -21,12 +21,19 @@ load_lib gnat-dg.exp
load_lib gcov.exp
global GCC_UNDER_TEST
+global GCOV_UNDER_TEST
-# For now find gcov in the same directory as $GCC_UNDER_TEST.
-if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
- set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/gcov
+# For now find gcov in the same directory as $GCC_UNDER_TEST, unless
+# GCOV_UNDER_TEST is defined.
+
+if ![info exists GCOV_UNDER_TEST] {
+ if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
+ set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/gcov
+ } else {
+ set GCOV gcov
+ }
} else {
- set GCOV gcov
+ set GCOV $GCOV_UNDER_TEST
}
# Initialize harness.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a62f459..869d150 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -562,6 +562,16 @@ proc check_effective_target_elf { } {
}
}
+# Returns 1 if the target uses the PE/COFF object format, 0 otherwise.
+
+proc check_effective_target_pe { } {
+ if { [gcc_target_object_format] == "pe" } {
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
# Returns 1 if the target toolchain supports ifunc, 0 otherwise.
proc check_ifunc_available { } {
diff --git a/gcc/testsuite/rust/compile/nr2/compile.exp b/gcc/testsuite/rust/compile/nr2/compile.exp
index 4d91dd0..9e15cdd 100644
--- a/gcc/testsuite/rust/compile/nr2/compile.exp
+++ b/gcc/testsuite/rust/compile/nr2/compile.exp
@@ -19,6 +19,15 @@
# Load support procs.
load_lib rust-dg.exp
+# These tests don't run runtest_file_p consistently if it
+# doesn't return the same values, so disable parallelization
+# of this *.exp file. The first parallel runtest to reach
+# this will run all the tests serially.
+if ![gcc_parallel_test_run_p compile] {
+ return
+}
+gcc_parallel_test_enable 0
+
# Initialize `dg'.
dg-init
@@ -136,3 +145,5 @@ namespace eval rust-nr2-ns {
# All done.
dg-finish
+
+gcc_parallel_test_enable 1
diff --git a/gcc/tree-ssa-dse.cc b/gcc/tree-ssa-dse.cc
index bc632e3..d1d58bf 100644
--- a/gcc/tree-ssa-dse.cc
+++ b/gcc/tree-ssa-dse.cc
@@ -566,16 +566,17 @@ maybe_trim_complex_store (ao_ref *ref, sbitmap live, gimple *stmt)
The most common case for getting here is a CONSTRUCTOR with no elements
being used to zero initialize an object. We do not try to handle other
cases as those would force us to fully cover the object with the
- CONSTRUCTOR node except for the components that are dead. */
+ CONSTRUCTOR node except for the components that are dead.
+ Also handles integer stores of 0 which can happen with memset/memcpy optimizations. */
static void
-maybe_trim_constructor_store (ao_ref *ref, sbitmap live, gimple *stmt)
+maybe_trim_constructor_store (ao_ref *ref, sbitmap live, gimple *stmt, bool was_integer_cst)
{
tree ctor = gimple_assign_rhs1 (stmt);
/* This is the only case we currently handle. It actually seems to
catch most cases of actual interest. */
- gcc_assert (CONSTRUCTOR_NELTS (ctor) == 0);
+ gcc_assert (was_integer_cst ? integer_zerop (ctor) : CONSTRUCTOR_NELTS (ctor) == 0);
int head_trim = 0;
int tail_trim = 0;
@@ -588,6 +589,8 @@ maybe_trim_constructor_store (ao_ref *ref, sbitmap live, gimple *stmt)
/* We want &lhs for the MEM_REF expression. */
tree lhs_addr = build_fold_addr_expr (gimple_assign_lhs (stmt));
+ STRIP_USELESS_TYPE_CONVERSION (lhs_addr);
+
if (! is_gimple_min_invariant (lhs_addr))
return;
@@ -802,11 +805,16 @@ maybe_trim_partially_dead_store (ao_ref *ref, sbitmap live, gimple *stmt)
switch (gimple_assign_rhs_code (stmt))
{
case CONSTRUCTOR:
- maybe_trim_constructor_store (ref, live, stmt);
+ maybe_trim_constructor_store (ref, live, stmt, false);
break;
case COMPLEX_CST:
maybe_trim_complex_store (ref, live, stmt);
break;
+ case INTEGER_CST:
+ if (integer_zerop (gimple_assign_rhs1 (stmt))
+ && type_has_mode_precision_p (TREE_TYPE (gimple_assign_lhs (stmt))))
+ maybe_trim_constructor_store (ref, live, stmt, true);
+ break;
default:
break;
}
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 958b829..1c9e9b0 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -10059,7 +10059,7 @@ vect_update_nonlinear_iv (gimple_seq* stmts, tree vectype,
}
-/* Function vectorizable_induction
+/* Function vectorizable_nonlinear_induction
Check if STMT_INFO performs an nonlinear induction computation that can be
vectorized. If VEC_STMT is also passed, vectorize the induction PHI: create
@@ -10408,6 +10408,7 @@ vectorizable_induction (loop_vec_info loop_vinfo,
poly_uint64 vf = LOOP_VINFO_VECT_FACTOR (loop_vinfo);
unsigned i;
tree expr;
+ tree index_vectype = NULL_TREE;
gimple_stmt_iterator si;
enum vect_induction_op_type induction_type
= STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE (stmt_info);
@@ -10519,12 +10520,29 @@ vectorizable_induction (loop_vec_info loop_vinfo,
"supported.\n");
return false;
}
- tree step_vectype = get_same_sized_vectype (TREE_TYPE (step_expr), vectype);
+ tree stept = TREE_TYPE (step_expr);
+ tree step_vectype = get_same_sized_vectype (stept, vectype);
- /* Check for backend support of PLUS/MINUS_EXPR. */
- if (!directly_supported_p (PLUS_EXPR, step_vectype)
- || !directly_supported_p (MINUS_EXPR, step_vectype))
- return false;
+ /* Check for target support of the vectorized arithmetic used here. */
+ if (!target_supports_op_p (step_vectype, PLUS_EXPR, optab_default)
+ || !target_supports_op_p (step_vectype, MINUS_EXPR, optab_default))
+ return false;
+ if (!nunits.is_constant ())
+ {
+ if (!target_supports_op_p (step_vectype, MULT_EXPR, optab_default))
+ return false;
+ /* FLOAT_EXPR when computing VEC_INIT for float inductions. */
+ if (SCALAR_FLOAT_TYPE_P (stept))
+ {
+ tree index_type = build_nonstandard_integer_type
+ (GET_MODE_BITSIZE (SCALAR_TYPE_MODE (stept)), 1);
+
+ index_vectype = build_vector_type (index_type, nunits);
+ if (!can_float_p (TYPE_MODE (step_vectype),
+ TYPE_MODE (index_vectype), 1))
+ return false;
+ }
+ }
if (!vec_stmt) /* transformation not required. */
{
@@ -10643,7 +10661,6 @@ vectorizable_induction (loop_vec_info loop_vinfo,
nivs = 1;
}
gimple_seq init_stmts = NULL;
- tree stept = TREE_TYPE (step_vectype);
tree lupdate_mul = NULL_TREE;
if (!nested_in_vect_loop)
{
@@ -10795,7 +10812,9 @@ vectorizable_induction (loop_vec_info loop_vinfo,
+ (vectype) [0, 1, 2, ...] * [step, step, step, ...]. */
gcc_assert (SCALAR_FLOAT_TYPE_P (TREE_TYPE (steps[0])));
gcc_assert (flag_associative_math);
- tree index = build_index_vector (step_vectype, 0, 1);
+ gcc_assert (index_vectype != NULL_TREE);
+
+ tree index = build_index_vector (index_vectype, 0, 1);
new_name = gimple_convert (&init_stmts, TREE_TYPE (steps[0]),
inits[0]);
tree base_vec = gimple_build_vector_from_val (&init_stmts,
@@ -11070,7 +11089,9 @@ vectorizable_induction (loop_vec_info loop_vinfo,
+ (vectype) [0, 1, 2, ...] * [step, step, step, ...]. */
gcc_assert (SCALAR_FLOAT_TYPE_P (TREE_TYPE (step_expr)));
gcc_assert (flag_associative_math);
- tree index = build_index_vector (step_vectype, 0, 1);
+ gcc_assert (index_vectype != NULL_TREE);
+
+ tree index = build_index_vector (index_vectype, 0, 1);
tree base_vec = gimple_build_vector_from_val (&stmts, step_vectype,
new_name);
tree step_vec = gimple_build_vector_from_val (&stmts, step_vectype,
@@ -11657,8 +11678,12 @@ vectorizable_live_operation (vec_info *vinfo, stmt_vec_info stmt_info,
break_lhs_phi);
if (POINTER_TYPE_P (TREE_TYPE (new_tree)))
- tmp2 = gimple_build (&iv_stmts, POINTER_PLUS_EXPR,
- TREE_TYPE (new_tree), new_tree, tmp2);
+ {
+ tmp2 = gimple_convert (&iv_stmts, sizetype, tmp2);
+ tmp2 = gimple_build (&iv_stmts, POINTER_PLUS_EXPR,
+ TREE_TYPE (new_tree), new_tree,
+ tmp2);
+ }
else
{
tmp2 = gimple_convert (&iv_stmts, TREE_TYPE (new_tree),
diff --git a/gcc/vec.h b/gcc/vec.h
index 915df06..eae4b0f 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -2395,11 +2395,11 @@ public:
array_slice (vec<OtherT, A, vl_embed> *v)
: m_base (v ? v->address () : nullptr), m_size (v ? v->length () : 0) {}
- iterator begin () { return m_base; }
- iterator end () { return m_base + m_size; }
+ iterator begin () { gcc_checking_assert (is_valid ()); return m_base; }
+ iterator end () { gcc_checking_assert (is_valid ()); return m_base + m_size; }
- const_iterator begin () const { return m_base; }
- const_iterator end () const { return m_base + m_size; }
+ const_iterator begin () const { gcc_checking_assert (is_valid ()); return m_base; }
+ const_iterator end () const { gcc_checking_assert (is_valid ()); return m_base + m_size; }
value_type &front ();
value_type &back ();
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 946bf13..66feed5 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,37 @@
+2025-04-19 Jiaxun Yang <jiaxun.yang@flygoat.com>
+
+ PR target/118257
+ * config/sh/sfp-machine.h (_FPU_GETCW): Implement with builtin.
+ (_FPU_SETCW): Likewise.
+ (FP_EX_ENABLE_SHIFT): Derive from arch spec.
+ (FP_EX_CAUSE_SHIFT): Likewise.
+ (FP_RND_MASK): Likewise.
+ (FP_EX_INVALID): Likewise.
+ (FP_EX_DIVZERO): Likewise.
+ (FP_EX_ALL): Likewise.
+ (FP_EX_OVERFLOW): Likewise.
+ (FP_EX_UNDERFLOW): Likewise.
+ (FP_EX_INEXACT): Likewise.
+ (_FP_DECL_EX): Declear default FCSR value.
+ (FP_RND_NEAREST): Derive from arch spec.
+ (FP_RND_ZERO): Likewise.
+ (FP_INIT_ROUNDMODE): Likewise.
+ (FP_ROUNDMODE): Likewise.
+ (FP_TRAPPING_EXCEPTIONS): Likewise.
+ (FP_HANDLE_EXCEPTIONS): Implement with _FPU_SETCW.
+
+2025-04-19 Jiaxun Yang <jiaxun.yang@flygoat.com>
+
+ PR target/111814
+ * config/sh/sfp-machine.h (_FP_NANFRAC_B): Reverse signaling bit.
+ (_FP_NANFRAC_H): Likewise.
+ (_FP_NANFRAC_S): Likewise.
+ (_FP_NANFRAC_D): Likewise.
+ (_FP_NANFRAC_Q): Likewise.
+ (_FP_KEEPNANFRACP): Enable for target.
+ (_FP_QNANNEGATEDP): Enable for target.
+ (_FP_CHOOSENAN): Port from MIPS.
+
2025-04-14 Thomas Schwinge <tschwinge@baylibre.com>
PR target/118794
diff --git a/libgcc/config/sh/sfp-machine.h b/libgcc/config/sh/sfp-machine.h
index 66984d4..8030c80 100644
--- a/libgcc/config/sh/sfp-machine.h
+++ b/libgcc/config/sh/sfp-machine.h
@@ -39,11 +39,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-#define _FP_NANFRAC_B _FP_QNANBIT_B
-#define _FP_NANFRAC_H _FP_QNANBIT_H
-#define _FP_NANFRAC_S _FP_QNANBIT_S
-#define _FP_NANFRAC_D _FP_QNANBIT_D, 0
-#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0
+#define _FP_NANFRAC_B (_FP_QNANBIT_B - 1)
+#define _FP_NANFRAC_H (_FP_QNANBIT_H - 1)
+#define _FP_NANFRAC_S (_FP_QNANBIT_S - 1)
+#define _FP_NANFRAC_D (_FP_QNANBIT_D - 1), -1
+#define _FP_NANFRAC_Q (_FP_QNANBIT_Q - 1), -1, -1, -1
/* The type of the result of a floating point comparison. This must
match __libgcc_cmp_return__ in GCC for the target. */
@@ -56,15 +56,71 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
#define _FP_NANSIGN_D 0
#define _FP_NANSIGN_Q 0
-#define _FP_KEEPNANFRACP 0
-#define _FP_QNANNEGATEDP 0
+#define _FP_KEEPNANFRACP 1
+#define _FP_QNANNEGATEDP 1
+
+/* X is chosen unless one of the NaNs is sNaN. */
+# define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
+ do { \
+ if ((_FP_FRAC_HIGH_RAW_##fs(X) | \
+ _FP_FRAC_HIGH_RAW_##fs(Y)) & _FP_QNANBIT_##fs) \
+ { \
+ R##_s = _FP_NANSIGN_##fs; \
+ _FP_FRAC_SET_##wc(R,_FP_NANFRAC_##fs); \
+ } \
+ else \
+ { \
+ R##_s = X##_s; \
+ _FP_FRAC_COPY_##wc(R,X); \
+ } \
+ R##_c = FP_CLS_NAN; \
+ } while (0)
+
+#ifdef __SH_FPU_ANY__
+#define _FPU_GETCW(fpscr) fpscr = __builtin_sh_get_fpscr ()
+#define _FPU_SETCW(fpscr) __builtin_sh_set_fpscr (fpscr)
+#define FP_EX_ENABLE_SHIFT 5
+#define FP_EX_CAUSE_SHIFT 10
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- R##_s = _FP_NANSIGN_##fs; \
- _FP_FRAC_SET_##wc(R,_FP_NANFRAC_##fs); \
- R##_c = FP_CLS_NAN; \
+#define FP_EX_INVALID 0x0040
+#define FP_EX_DIVZERO 0x0020
+#if defined (__SH2E__)
+#define FP_EX_ALL (FP_EX_DIVZERO | FP_EX_INVALID)
+#else
+#define FP_EX_OVERFLOW 0x0010
+#define FP_EX_UNDERFLOW 0x0008
+#define FP_EX_INEXACT 0x0004
+#define FP_EX_ALL (FP_EX_DIVZERO | FP_EX_INEXACT | \
+ FP_EX_INVALID | FP_EX_OVERFLOW | FP_EX_UNDERFLOW)
+#endif
+#define _FP_DECL_EX \
+ unsigned int _fcsr __attribute__ ((unused)) = FP_RND_NEAREST
+/* Rounding modes. */
+#define FP_RND_NEAREST 0x0
+#define FP_RND_ZERO 0x1
+/* Placeholder, hardware does not have PINF/MINF modes. */
+#define FP_RND_PINF 0x2
+#define FP_RND_MINF 0x3
+#define FP_RND_MASK 3
+
+#define FP_INIT_ROUNDMODE _FPU_GETCW (_fcsr)
+#define FP_ROUNDMODE (_fcsr & FP_RND_MASK)
+#define FP_TRAPPING_EXCEPTIONS ((_fcsr >> FP_EX_ENABLE_SHIFT) & FP_EX_ALL)
+#define FP_HANDLE_EXCEPTIONS \
+ do { \
+ _fcsr &= ~(FP_EX_ALL << FP_EX_CAUSE_SHIFT); \
+ _fcsr |= _fex | (_fex << FP_EX_CAUSE_SHIFT); \
+ _FPU_SETCW (_fcsr); \
} while (0)
+#else
+#define FP_EX_INVALID (1 << 4)
+#define FP_EX_DIVZERO (1 << 3)
+#if !defined (__SH2E__)
+#define FP_EX_OVERFLOW (1 << 2)
+#define FP_EX_UNDERFLOW (1 << 1)
+#define FP_EX_INEXACT (1 << 0)
+#endif
+#endif
#define _FP_TININESS_AFTER_ROUNDING 1
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index 6a0e961..9de1714 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,10 @@
+2025-04-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Check for struct tm.tm_zone.
+ * configure, config.h.in: Regenerate.
+ * intrinsic.cc (__gg__formatted_current_date): Guard tm.tm_zone
+ use with HAVE_STRUCT_TM_TM_ZONE.
+
2025-04-15 Andreas Schwab <schwab@suse.de>
* configure.tgt: Set LIBGCOBOL_SUPPORTED for riscv64-*-linux* with
diff --git a/libgcobol/config.h.in b/libgcobol/config.h.in
index 6a53279..fdf5e3e 100644
--- a/libgcobol/config.h.in
+++ b/libgcobol/config.h.in
@@ -72,6 +72,9 @@
/* Define to 1 if you have the `strtof128' function. */
#undef HAVE_STRTOF128
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
+#undef HAVE_STRUCT_TM_TM_ZONE
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
diff --git a/libgcobol/configure b/libgcobol/configure
index e83119d..6821591 100755
--- a/libgcobol/configure
+++ b/libgcobol/configure
@@ -2449,6 +2449,63 @@ $as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_cxx_check_func
+
+# ac_fn_cxx_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ------------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_cxx_check_member ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+$as_echo_n "checking for $2.$3... " >&6; }
+if eval \${$4+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$5
+int
+main ()
+{
+static $2 ac_aggr;
+if (sizeof ac_aggr.$3)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$4=yes"
+else
+ eval "$4=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$4
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_member
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
@@ -11693,7 +11750,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11696 "configure"
+#line 11753 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11799,7 +11856,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11802 "configure"
+#line 11859 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17434,6 +17491,19 @@ $as_echo "#define USE_IEC_60559 1" >>confdefs.h
+# struct tm tm_zone is a POSIX.1-2024 addition.
+ac_fn_cxx_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include <time.h>
+"
+if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_TM_TM_ZONE 1
+_ACEOF
+
+
+fi
+
+
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
else
diff --git a/libgcobol/configure.ac b/libgcobol/configure.ac
index a1e9513..4bb6905 100644
--- a/libgcobol/configure.ac
+++ b/libgcobol/configure.ac
@@ -231,6 +231,9 @@ elif test "${ENABLE_LIBQUADMATH_SUPPORT}" = "default" ; then
fi
LIBGCOBOL_CHECK_FLOAT128
+# struct tm tm_zone is a POSIX.1-2024 addition.
+AC_CHECK_MEMBERS([struct tm.tm_zone],,,[#include <time.h>])
+
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"
else
diff --git a/libgcobol/intrinsic.cc b/libgcobol/intrinsic.cc
index 181b053..97f2bdc 100644
--- a/libgcobol/intrinsic.cc
+++ b/libgcobol/intrinsic.cc
@@ -1482,7 +1482,9 @@ __gg__formatted_current_date( cblc_field_t *dest, // Destination string
__gg__clock_gettime(CLOCK_REALTIME, &ts);
struct tm tm = {};
+#ifdef HAVE_STRUCT_TM_TM_ZONE
tm.tm_zone = "GMT";
+#endif
if( is_zulu )
{
gmtime_r(&ts.tv_sec, &tm);
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 956b43d..aa92b02 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,75 @@
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * caf/libcaf.h: Add mapping mode to coarray's register.
+ * caf/single.c (_gfortran_caf_register): Create a token sharing
+ another token's memory.
+ (check_team): Check team parameters to coindexed expressions are
+ valid.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * caf/libcaf.h (_gfortran_caf_num_images): Correct prototype.
+ * caf/single.c (_gfortran_caf_num_images): Default
+ implementation.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ * caf/libcaf.h (_gfortran_caf_this_image): Correct prototype.
+ * caf/single.c (struct caf_single_team): Add new_index of image.
+ (_gfortran_caf_this_image): Return the image index in the given team.
+ (_gfortran_caf_form_team): Set new_index in team structure.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/88154
+ PR fortran/88960
+ PR fortran/97210
+ PR fortran/103001
+ * caf/libcaf.h: Add constants for get_team's level argument and
+ update stat values for failed images.
+ (_gfortran_caf_team_number): Add prototype.
+ (_gfortran_caf_get_team): Same.
+ * caf/single.c (_gfortran_caf_team_number): Get the given team's
+ team number.
+ (_gfortran_caf_get_team): Get the current team or the team given
+ by level when the argument is present.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87326
+ PR fortran/87556
+ PR fortran/88254
+ PR fortran/103796
+ * caf/libcaf.h: Remove commented block.
+ (_gfortran_caf_form_team): Allow for all relevant arguments.
+ (_gfortran_caf_change_team): Same.
+ (_gfortran_caf_end_team): Same.
+ (_gfortran_caf_sync_team): Same.
+ * caf/single.c (struct caf_single_team): Team handling
+ structures.
+ (_gfortran_caf_init): Initialize initial team.
+ (free_team_list): Free all teams and the memory they hold.
+ (_gfortran_caf_finalize): Free initial and sibling teams.
+ (_gfortran_caf_register): Add memory registered to current team.
+ (_gfortran_caf_deregister): Unregister memory from current team.
+ (_gfortran_caf_is_present_on_remote): Check token's memptr for
+ llocation. May have been deallocated by an end team.
+ (_gfortran_caf_form_team): Push a new team stub to the list.
+ (_gfortran_caf_change_team): Push a formed team on top of the
+ ctive teams stack.
+ (_gfortran_caf_end_team): End the active team, free all memory
+ allocated during its livespan.
+ (_gfortran_caf_sync_team): Take stat and errmsg into account.
+
+2025-04-22 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/87939
+ * caf/single.c (_gfortran_caf_lock): Correct stat value, if
+ lock is already locked by current image.
+ (_gfortran_caf_unlock): Correct stat value, if lock is not
+ locked.
+
2025-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/119502
diff --git a/libgfortran/caf/libcaf.h b/libgfortran/caf/libcaf.h
index 0b371d0..7267bc7 100644
--- a/libgfortran/caf/libcaf.h
+++ b/libgfortran/caf/libcaf.h
@@ -31,17 +31,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if 0
-#ifndef __GNUC__
-#define __attribute__(x)
-#define likely(x) (x)
-#define unlikely(x) (x)
-#else
-#define likely(x) __builtin_expect(!!(x), 1)
-#define unlikely(x) __builtin_expect(!!(x), 0)
-#endif
-#endif
-
/* Definitions of the Fortran 2008 standard; need to kept in sync with
ISO_FORTRAN_ENV, cf. gcc/fortran/libgfortran.h. */
typedef enum
@@ -50,14 +39,24 @@ typedef enum
CAF_STAT_LOCKED,
CAF_STAT_LOCKED_OTHER_IMAGE,
CAF_STAT_STOPPED_IMAGE = 6000,
- CAF_STAT_FAILED_IMAGE = 6001
+ CAF_STAT_FAILED_IMAGE = 6001,
+ CAF_STAT_UNLOCKED_FAILED_IMAGE = 6002
}
caf_stat_codes_t;
+/* Definitions of the Fortran 2018 standard; need to kept in sync with
+ ISO_FORTRAN_ENV, cf. gcc/fortran/libgfortran.h. */
+typedef enum
+{
+ CAF_INITIAL_TEAM = 0,
+ CAF_PARENT_TEAM,
+ CAF_CURRENT_TEAM
+} caf_team_level_t;
/* Describes what type of array we are registerring. Keep in sync with
gcc/fortran/trans.h. */
-typedef enum caf_register_t {
+typedef enum caf_register_t
+{
CAF_REGTYPE_COARRAY_STATIC,
CAF_REGTYPE_COARRAY_ALLOC,
CAF_REGTYPE_LOCK_STATIC,
@@ -66,9 +65,9 @@ typedef enum caf_register_t {
CAF_REGTYPE_EVENT_STATIC,
CAF_REGTYPE_EVENT_ALLOC,
CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY,
- CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY
-}
-caf_register_t;
+ CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY,
+ CAF_REGTYPE_COARRAY_MAP_EXISTING,
+} caf_register_t;
/* Describes the action to take on _caf_deregister. Keep in sync with
gcc/fortran/trans.h. */
@@ -78,8 +77,8 @@ typedef enum caf_deregister_t {
}
caf_deregister_t;
-typedef void* caf_token_t;
-typedef void * caf_team_t;
+typedef void *caf_token_t;
+typedef void *caf_team_t;
typedef gfc_array_void gfc_descriptor_t;
/* Linked list of static coarrays registered. */
@@ -93,8 +92,8 @@ caf_static_t;
void _gfortran_caf_init (int *, char ***);
void _gfortran_caf_finalize (void);
-int _gfortran_caf_this_image (int);
-int _gfortran_caf_num_images (int, int);
+int _gfortran_caf_this_image (caf_team_t);
+int _gfortran_caf_num_images (caf_team_t, int32_t *);
void _gfortran_caf_register (size_t, caf_register_t, caf_token_t *,
gfc_descriptor_t *, int *, char *, size_t);
@@ -185,4 +184,11 @@ void _gfortran_caf_stopped_images (gfc_descriptor_t *,
void _gfortran_caf_random_init (bool, bool);
+void _gfortran_caf_form_team (int, caf_team_t *, int *, int *, char *, size_t);
+void _gfortran_caf_change_team (caf_team_t, int *, char *, size_t);
+void _gfortran_caf_end_team (int *, char *, size_t);
+void _gfortran_caf_sync_team (caf_team_t, int *, char *, size_t);
+int _gfortran_caf_team_number (caf_team_t);
+caf_team_t _gfortran_caf_get_team (int32_t *);
+
#endif /* LIBCAF_H */
diff --git a/libgfortran/caf/single.c b/libgfortran/caf/single.c
index 9c1c0c1..97876fa 100644
--- a/libgfortran/caf/single.c
+++ b/libgfortran/caf/single.c
@@ -50,6 +50,22 @@ typedef struct caf_single_token *caf_single_token_t;
#define TOKEN(X) ((caf_single_token_t) (X))
#define MEMTOK(X) ((caf_single_token_t) (X))->memptr
+struct caf_single_team
+{
+ struct caf_single_team *parent;
+ int team_no;
+ int index;
+ struct coarray_allocated
+ {
+ struct coarray_allocated *next;
+ caf_single_token_t token;
+ } *allocated;
+};
+typedef struct caf_single_team *caf_single_team_t;
+/* This points to the most current team. */
+static caf_single_team_t caf_team_stack = NULL, caf_initial_team;
+static caf_single_team_t caf_teams_formed = NULL;
+
/* Single-image implementation of the CAF library.
Note: For performance reasons -fcoarry=single should be used
rather than this library. */
@@ -125,13 +141,39 @@ caf_internal_error (const char *msg, int *stat, char *errmsg,
va_end (args);
}
+static void
+init_caf_team_stack (void)
+{
+ caf_initial_team = caf_team_stack
+ = (caf_single_team_t) calloc (1, sizeof (struct caf_single_team));
+ caf_initial_team->team_no = -1;
+}
void
_gfortran_caf_init (int *argc __attribute__ ((unused)),
char ***argv __attribute__ ((unused)))
{
+ if (likely (!caf_team_stack))
+ init_caf_team_stack ();
}
+static void
+free_team_list (caf_single_team_t l)
+{
+ while (l != NULL)
+ {
+ caf_single_team_t p = l->parent;
+ struct coarray_allocated *ca = l->allocated;
+ while (ca)
+ {
+ struct coarray_allocated *nca = ca->next;
+ free (ca);
+ ca = nca;
+ }
+ free (l);
+ l = p;
+ }
+}
void
_gfortran_caf_finalize (void)
@@ -146,19 +188,22 @@ _gfortran_caf_finalize (void)
free (caf_static_list);
caf_static_list = tmp;
}
-}
+ free_team_list (caf_team_stack);
+ caf_initial_team = caf_team_stack = NULL;
+ free_team_list (caf_teams_formed);
+ caf_teams_formed = NULL;
+}
int
-_gfortran_caf_this_image (int distance __attribute__ ((unused)))
+_gfortran_caf_this_image (caf_team_t team)
{
- return 1;
+ return team ? ((caf_single_team_t) team)->index : 1;
}
-
int
-_gfortran_caf_num_images (int distance __attribute__ ((unused)),
- int failed __attribute__ ((unused)))
+_gfortran_caf_num_images (caf_team_t team __attribute__ ((unused)),
+ int32_t *team_number __attribute__ ((unused)))
{
return 1;
}
@@ -182,6 +227,8 @@ _gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
local = calloc (size, sizeof (uint32_t));
else if (type == CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY)
local = NULL;
+ else if (type == CAF_REGTYPE_COARRAY_MAP_EXISTING)
+ local = GFC_DESCRIPTOR_DATA (data);
else
local = malloc (size);
@@ -203,9 +250,12 @@ _gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
single_token = TOKEN (*token);
single_token->memptr = local;
- single_token->owning_memory = type != CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY;
+ single_token->owning_memory = type != CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY
+ && type != CAF_REGTYPE_COARRAY_MAP_EXISTING;
single_token->desc = GFC_DESCRIPTOR_RANK (data) > 0 ? data : NULL;
+ if (unlikely (!caf_team_stack))
+ init_caf_team_stack ();
if (stat)
*stat = 0;
@@ -219,6 +269,20 @@ _gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
tmp->token = *token;
caf_static_list = tmp;
}
+ else
+ {
+ struct coarray_allocated *ca = caf_team_stack->allocated;
+ for (; ca && ca->token != single_token; ca = ca->next)
+ ;
+ if (!ca)
+ {
+ ca = (struct coarray_allocated *) malloc (
+ sizeof (struct coarray_allocated));
+ *ca = (struct coarray_allocated) {caf_team_stack->allocated,
+ single_token};
+ caf_team_stack->allocated = ca;
+ }
+ }
GFC_DESCRIPTOR_DATA (data) = local;
}
@@ -231,10 +295,30 @@ _gfortran_caf_deregister (caf_token_t *token, caf_deregister_t type, int *stat,
caf_single_token_t single_token = TOKEN (*token);
if (single_token->owning_memory && single_token->memptr)
- free (single_token->memptr);
+ {
+ free (single_token->memptr);
+ if (single_token->desc)
+ GFC_DESCRIPTOR_DATA (single_token->desc) = NULL;
+ }
if (type != CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY)
{
+ struct coarray_allocated *ca = caf_team_stack->allocated;
+ if (ca && caf_team_stack->allocated->token == single_token)
+ caf_team_stack->allocated = ca->next;
+ else
+ {
+ struct coarray_allocated *pca = NULL;
+ for (; ca && ca->token != single_token; pca = ca, ca = ca->next)
+ ;
+ if (!ca)
+ caf_runtime_error (
+ "Coarray token to be freeed is not in current team %d", type);
+ /* Unhook found coarray_allocated node from list... */
+ pca->next = ca->next;
+ }
+ /* ... and free. */
+ free (ca);
free (TOKEN (*token));
*token = NULL;
}
@@ -539,6 +623,37 @@ _gfortran_caf_get_remote_function_index (const int hash)
return index;
}
+static bool
+check_team (caf_team_t *team, int *team_number, int *stat)
+{
+ if (team || team_number)
+ {
+ caf_single_team_t cur = caf_team_stack;
+
+ if (team)
+ {
+ caf_single_team_t single_team = (caf_single_team_t) (*team);
+ while (cur && cur != single_team)
+ cur = cur->parent;
+ }
+ else
+ while (cur && cur->team_no != *team_number)
+ cur = cur->parent;
+
+ if (!cur)
+ {
+ if (stat)
+ {
+ *stat = 1;
+ return false;
+ }
+ else
+ caf_runtime_error ("requested team not found");
+ }
+ }
+ return true;
+}
+
void
_gfortran_caf_get_from_remote (
caf_token_t token, const gfc_descriptor_t *opt_src_desc,
@@ -547,8 +662,7 @@ _gfortran_caf_get_from_remote (
size_t *opt_dst_charlen, gfc_descriptor_t *opt_dst_desc,
const bool may_realloc_dst, const int getter_index, void *add_data,
const size_t add_data_size __attribute__ ((unused)), int *stat,
- caf_team_t *team __attribute__ ((unused)),
- int *team_number __attribute__ ((unused)))
+ caf_team_t *team, int *team_number)
{
caf_single_token_t single_token = TOKEN (token);
void *src_ptr = opt_src_desc ? (void *) opt_src_desc : single_token->memptr;
@@ -563,6 +677,9 @@ _gfortran_caf_get_from_remote (
if (stat)
*stat = 0;
+ if (!check_team (team, team_number, stat))
+ return;
+
if (opt_dst_desc && !may_realloc_dst)
{
old_dst_data_ptr = opt_dst_desc->base_addr;
@@ -599,11 +716,10 @@ _gfortran_caf_is_present_on_remote (caf_token_t token, const int image_index,
int32_t result;
struct caf_single_token cb_token = {add_data, NULL, false};
-
- accessor_hash_table[present_index].u.is_present (add_data, &image_index,
- &result,
- single_token->memptr,
- &cb_token, 0);
+ accessor_hash_table[present_index].u.is_present (
+ add_data, &image_index, &result,
+ single_token->desc ? single_token->desc : (void *) &single_token->memptr,
+ &cb_token, 0);
return result;
}
@@ -616,8 +732,7 @@ _gfortran_caf_send_to_remote (
const size_t *opt_src_charlen, const gfc_descriptor_t *opt_src_desc,
const int accessor_index, void *add_data,
const size_t add_data_size __attribute__ ((unused)), int *stat,
- caf_team_t *team __attribute__ ((unused)),
- int *team_number __attribute__ ((unused)))
+ caf_team_t *team, int *team_number)
{
caf_single_token_t single_token = TOKEN (token);
void *dst_ptr = opt_dst_desc ? (void *) opt_dst_desc : single_token->memptr;
@@ -630,6 +745,9 @@ _gfortran_caf_send_to_remote (
if (stat)
*stat = 0;
+ if (!check_team (team, team_number, stat))
+ return;
+
accessor_hash_table[accessor_index].u.receiver (add_data, &image_index,
dst_ptr, src_ptr, &cb_token,
0, opt_dst_charlen,
@@ -647,10 +765,8 @@ _gfortran_caf_transfer_between_remotes (
const int src_access_index, void *src_add_data,
const size_t src_add_data_size __attribute__ ((unused)),
const size_t src_size, const bool scalar_transfer, int *dst_stat,
- int *src_stat, caf_team_t *dst_team __attribute__ ((unused)),
- int *dst_team_number __attribute__ ((unused)),
- caf_team_t *src_team __attribute__ ((unused)),
- int *src_team_number __attribute__ ((unused)))
+ int *src_stat, caf_team_t *dst_team, int *dst_team_number,
+ caf_team_t *src_team, int *src_team_number)
{
caf_single_token_t src_single_token = TOKEN (src_token),
dst_single_token = TOKEN (dst_token);
@@ -669,6 +785,9 @@ _gfortran_caf_transfer_between_remotes (
if (src_stat)
*src_stat = 0;
+ if (!check_team (src_team, src_team_number, src_stat))
+ return;
+
if (!scalar_transfer)
{
const size_t desc_size = sizeof (*transfer_desc);
@@ -691,6 +810,9 @@ _gfortran_caf_transfer_between_remotes (
if (dst_stat)
*dst_stat = 0;
+ if (!check_team (dst_team, dst_team_number, dst_stat))
+ return;
+
if (scalar_transfer)
transfer_ptr = *(void **) transfer_ptr;
@@ -859,14 +981,14 @@ _gfortran_caf_lock (caf_token_t token, size_t index,
{
*acquired_lock = (int) false;
if (stat)
- *stat = 0;
- return;
+ *stat = GFC_STAT_LOCKED;
+ return;
}
if (stat)
{
- *stat = 1;
+ *stat = GFC_STAT_LOCKED;
if (errmsg_len > 0)
{
size_t len = (sizeof (msg) > errmsg_len) ? errmsg_len
@@ -899,7 +1021,7 @@ _gfortran_caf_unlock (caf_token_t token, size_t index,
if (stat)
{
- *stat = 1;
+ *stat = GFC_STAT_UNLOCKED;
if (errmsg_len > 0)
{
size_t len = (sizeof (msg) > errmsg_len) ? errmsg_len
@@ -923,3 +1045,109 @@ void _gfortran_caf_random_init (bool repeatable, bool image_distinct)
routine. */
_gfortran_random_init (repeatable, image_distinct, 1);
}
+
+void
+_gfortran_caf_form_team (int team_no, caf_team_t *team, int *new_index,
+ int *stat, char *errmsg __attribute__ ((unused)),
+ size_t errmsg_len __attribute__ ((unused)))
+{
+ const char alloc_fail_msg[] = "Failed to allocate team";
+ caf_single_team_t t;
+ if (stat)
+ *stat = 0;
+
+ *team = malloc (sizeof (struct caf_single_team));
+ if (unlikely (*team == NULL))
+ {
+ caf_internal_error (alloc_fail_msg, stat, errmsg, errmsg_len);
+ return;
+ }
+ t = *((caf_single_team_t *) team);
+ t->parent = caf_teams_formed;
+ t->team_no = team_no;
+ t->index = new_index ? *new_index : 1;
+ t->allocated = NULL;
+ caf_teams_formed = t;
+}
+
+void
+_gfortran_caf_change_team (caf_team_t team, int *stat,
+ char *errmsg __attribute__ ((unused)),
+ size_t errmsg_len __attribute__ ((unused)))
+{
+ caf_single_team_t t = (caf_single_team_t) team;
+
+ if (stat)
+ *stat = 0;
+
+ if (t == caf_teams_formed)
+ caf_teams_formed = t->parent;
+ else
+ for (caf_single_team_t p = caf_teams_formed; p; p = p->parent)
+ if (p->parent == t)
+ {
+ p->parent = t->parent;
+ break;
+ }
+
+ t->parent = caf_team_stack;
+ caf_team_stack = t;
+}
+
+void
+_gfortran_caf_end_team (int *stat, char *errmsg, size_t errmsg_len)
+{
+ caf_single_team_t t = caf_team_stack;
+
+ if (stat)
+ *stat = 0;
+
+ caf_team_stack = caf_team_stack->parent;
+ for (struct coarray_allocated *ca = t->allocated; ca;)
+ {
+ struct coarray_allocated *nca = ca->next;
+ _gfortran_caf_deregister ((caf_token_t *) &ca->token,
+ CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY, stat,
+ errmsg, errmsg_len);
+ free (ca);
+ ca = nca;
+ }
+ t->allocated = NULL;
+ t->parent = caf_teams_formed;
+ caf_teams_formed = t;
+}
+
+void
+_gfortran_caf_sync_team (caf_team_t team __attribute__ ((unused)), int *stat,
+ char *errmsg __attribute__ ((unused)),
+ size_t errmsg_len __attribute__ ((unused)))
+{
+ if (stat)
+ *stat = 0;
+}
+
+int
+_gfortran_caf_team_number (caf_team_t team)
+{
+ return ((caf_single_team_t) team)->team_no;
+}
+
+caf_team_t
+_gfortran_caf_get_team (int32_t *level)
+{
+ if (!level)
+ return caf_team_stack;
+
+ switch ((caf_team_level_t) *level)
+ {
+ case CAF_INITIAL_TEAM:
+ return caf_initial_team;
+ case CAF_PARENT_TEAM:
+ return caf_team_stack->parent ? caf_team_stack->parent : caf_team_stack;
+ case CAF_CURRENT_TEAM:
+ return caf_team_stack;
+ default:
+ caf_runtime_error ("Illegal value for GET_TEAM");
+ }
+ return NULL; /* To prevent any warnings. */
+}
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 3b0404f..096e17b 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,15 @@
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgomp/119849
+ * testsuite/libgomp.c++/allocator-1.C (test_inequality, main): Guard
+ ompx::allocator::gnu_pinned_mem uses with #ifdef __gnu_linux__.
+ * testsuite/libgomp.c++/allocator-2.C (main): Likewise.
+
+2025-04-17 Tobias Burnus <tburnus@baylibre.com>
+
+ * libgomp.texi (gcn interop, nvptx interop): For HIP with C/C++, add
+ a note about setting a preprocessor define.
+
2025-04-16 Thomas Schwinge <tschwinge@baylibre.com>
* testsuite/libgomp.c++/target-exceptions-pr118794-1.C: Remove
diff --git a/libgomp/testsuite/libgomp.fortran/target-enter-data-8.f90 b/libgomp/testsuite/libgomp.fortran/target-enter-data-8.f90
new file mode 100644
index 0000000..c6d671c
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/target-enter-data-8.f90
@@ -0,0 +1,532 @@
+! { dg-additional-options "-cpp" }
+
+! FIXME: Some tests do not work yet. Those are for now in '#if 0'
+
+! Check that 'map(alloc:' properly works with
+! - deferred-length character strings
+! - arrays with array descriptors
+! For those, the array descriptor / string length must be mapped with 'to:'
+
+program main
+implicit none
+
+type t
+ integer :: ic(2:5), ic2
+ character(len=11) :: ccstr(3:4), ccstr2
+ character(len=11,kind=4) :: cc4str(3:7), cc4str2
+ integer, pointer :: pc(:), pc2
+ character(len=:), pointer :: pcstr(:), pcstr2
+ character(len=:,kind=4), pointer :: pc4str(:), pc4str2
+end type t
+
+type(t) :: dt
+
+integer :: ii(5), ii2
+character(len=11) :: clstr(-1:1), clstr2
+character(len=11,kind=4) :: cl4str(0:3), cl4str2
+integer, pointer :: ip(:), ip2
+integer, allocatable :: ia(:), ia2
+character(len=:), pointer :: pstr(:), pstr2
+character(len=:), allocatable :: astr(:), astr2
+character(len=:,kind=4), pointer :: p4str(:), p4str2
+character(len=:,kind=4), allocatable :: a4str(:), a4str2
+
+
+allocate(dt%pc(5), dt%pc2)
+allocate(character(len=2) :: dt%pcstr(2))
+allocate(character(len=4) :: dt%pcstr2)
+
+allocate(character(len=3,kind=4) :: dt%pc4str(2:3))
+allocate(character(len=5,kind=4) :: dt%pc4str2)
+
+allocate(ip(5), ip2, ia(8), ia2)
+allocate(character(len=2) :: pstr(-2:0))
+allocate(character(len=4) :: pstr2)
+allocate(character(len=6) :: astr(3:5))
+allocate(character(len=8) :: astr2)
+
+allocate(character(len=3,kind=4) :: p4str(2:4))
+allocate(character(len=5,kind=4) :: p4str2)
+allocate(character(len=7,kind=4) :: a4str(-2:3))
+allocate(character(len=9,kind=4) :: a4str2)
+
+
+! integer :: ic(2:5), ic2
+
+!$omp target enter data map(alloc: dt%ic)
+!$omp target map(alloc: dt%ic)
+ if (size(dt%ic) /= 4) error stop
+ if (lbound(dt%ic, 1) /= 2) error stop
+ if (ubound(dt%ic, 1) /= 5) error stop
+ dt%ic = [22, 33, 44, 55]
+!$omp end target
+!$omp target exit data map(from: dt%ic)
+if (size(dt%ic) /= 4) error stop
+if (lbound(dt%ic, 1) /= 2) error stop
+if (ubound(dt%ic, 1) /= 5) error stop
+if (any (dt%ic /= [22, 33, 44, 55])) error stop
+
+!$omp target enter data map(alloc: dt%ic2)
+!$omp target map(alloc: dt%ic2)
+ dt%ic2 = 42
+!$omp end target
+!$omp target exit data map(from: dt%ic2)
+if (dt%ic2 /= 42) error stop
+
+
+! character(len=11) :: ccstr(3:4), ccstr2
+
+!$omp target enter data map(alloc: dt%ccstr)
+!$omp target map(alloc: dt%ccstr)
+ if (len(dt%ccstr) /= 11) error stop
+ if (size(dt%ccstr) /= 2) error stop
+ if (lbound(dt%ccstr, 1) /= 3) error stop
+ if (ubound(dt%ccstr, 1) /= 4) error stop
+ dt%ccstr = ["12345678901", "abcdefghijk"]
+!$omp end target
+!$omp target exit data map(from: dt%ccstr)
+if (len(dt%ccstr) /= 11) error stop
+if (size(dt%ccstr) /= 2) error stop
+if (lbound(dt%ccstr, 1) /= 3) error stop
+if (ubound(dt%ccstr, 1) /= 4) error stop
+if (any (dt%ccstr /= ["12345678901", "abcdefghijk"])) error stop
+
+!$omp target enter data map(alloc: dt%ccstr2)
+!$omp target map(alloc: dt%ccstr2)
+ if (len(dt%ccstr2) /= 11) error stop
+ dt%ccstr2 = "ABCDEFGHIJK"
+!$omp end target
+!$omp target exit data map(from: dt%ccstr2)
+if (len(dt%ccstr2) /= 11) error stop
+if (dt%ccstr2 /= "ABCDEFGHIJK") error stop
+
+
+! character(len=11,kind=4) :: cc4str(3:7), cc4str2
+
+#if 0
+! Value check fails
+!$omp target map(alloc: dt%cc4str)
+ if (len(dt%cc4str) /= 11) error stop
+ if (size(dt%cc4str) /= 5) error stop
+ if (lbound(dt%cc4str, 1) /= 3) error stop
+ if (ubound(dt%cc4str, 1) /= 7) error stop
+ dt%cc4str = [4_"12345678901", 4_"abcdefghijk", &
+ 4_"qerftcea6ds", 4_"a1f9g37ga4.", &
+ 4_"45ngwj56sj2"]
+!$omp end target
+!$omp target exit data map(from: dt%cc4str)
+if (len(dt%cc4str) /= 11) error stop
+if (size(dt%cc4str) /= 5) error stop
+if (lbound(dt%cc4str, 1) /= 3) error stop
+if (ubound(dt%cc4str, 1) /= 7) error stop
+if (dt%cc4str(3) /= 4_"12345678901") error stop
+if (dt%cc4str(4) /= 4_"abcdefghijk") error stop
+if (dt%cc4str(5) /= 4_"qerftcea6ds") error stop
+if (dt%cc4str(6) /= 4_"a1f9g37ga4.") error stop
+if (dt%cc4str(7) /= 4_"45ngwj56sj2") error stop
+#endif
+
+!$omp target enter data map(alloc: dt%cc4str2)
+!$omp target map(alloc: dt%cc4str2)
+ if (len(dt%cc4str2) /= 11) error stop
+ dt%cc4str2 = 4_"ABCDEFGHIJK"
+!$omp end target
+!$omp target exit data map(from: dt%cc4str2)
+if (len(dt%cc4str2) /= 11) error stop
+if (dt%cc4str2 /= 4_"ABCDEFGHIJK") error stop
+
+
+! integer, pointer :: pc(:), pc2
+! allocate(dt%pc(5), dt%pc2)
+
+!$omp target enter data map(alloc: dt%pc)
+!$omp target map(alloc: dt%pc)
+ if (.not. associated(dt%pc)) error stop
+ if (size(dt%pc) /= 5) error stop
+ if (lbound(dt%pc, 1) /= 1) error stop
+ if (ubound(dt%pc, 1) /= 5) error stop
+ dt%pc = [11, 22, 33, 44, 55]
+!$omp end target
+!$omp target exit data map(from: dt%pc)
+if (.not. associated(dt%pc)) error stop
+if (size(dt%pc) /= 5) error stop
+if (lbound(dt%pc, 1) /= 1) error stop
+if (ubound(dt%pc, 1) /= 5) error stop
+if (any (dt%pc /= [11, 22, 33, 44, 55])) error stop
+
+!$omp target enter data map(alloc: dt%pc2)
+!$omp target map(alloc: dt%pc2)
+ if (.not. associated(dt%pc2)) error stop
+ dt%pc2 = 99
+!$omp end target
+!$omp target exit data map(from: dt%pc2)
+if (dt%pc2 /= 99) error stop
+if (.not. associated(dt%pc2)) error stop
+
+
+! character(len=:), pointer :: pcstr(:), pcstr2
+! allocate(character(len=2) :: dt%pcstr(2))
+! allocate(character(len=4) :: dt%pcstr2)
+
+!$omp target enter data map(alloc: dt%pcstr)
+!$omp target map(alloc: dt%pcstr)
+ if (.not. associated(dt%pcstr)) error stop
+ if (len(dt%pcstr) /= 2) error stop
+ if (size(dt%pcstr) /= 2) error stop
+ if (lbound(dt%pcstr, 1) /= 1) error stop
+ if (ubound(dt%pcstr, 1) /= 2) error stop
+ dt%pcstr = ["01", "jk"]
+!$omp end target
+!$omp target exit data map(from: dt%pcstr)
+if (.not. associated(dt%pcstr)) error stop
+if (len(dt%pcstr) /= 2) error stop
+if (size(dt%pcstr) /= 2) error stop
+if (lbound(dt%pcstr, 1) /= 1) error stop
+if (ubound(dt%pcstr, 1) /= 2) error stop
+if (any (dt%pcstr /= ["01", "jk"])) error stop
+
+
+!$omp target enter data map(alloc: dt%pcstr2)
+!$omp target map(alloc: dt%pcstr2)
+ if (.not. associated(dt%pcstr2)) error stop
+ if (len(dt%pcstr2) /= 4) error stop
+ dt%pcstr2 = "HIJK"
+!$omp end target
+!$omp target exit data map(from: dt%pcstr2)
+if (.not. associated(dt%pcstr2)) error stop
+if (len(dt%pcstr2) /= 4) error stop
+if (dt%pcstr2 /= "HIJK") error stop
+
+
+! character(len=:,kind=4), pointer :: pc4str(:), pc4str2
+! allocate(character(len=3,kind=4) :: dt%pc4str(2:3))
+! allocate(character(len=5,kind=4) :: dt%pc4str2)
+
+!$omp target enter data map(alloc: dt%pc4str)
+!$omp target map(alloc: dt%pc4str)
+ if (.not. associated(dt%pc4str)) error stop
+ if (len(dt%pc4str) /= 3) error stop
+ if (size(dt%pc4str) /= 2) error stop
+ if (lbound(dt%pc4str, 1) /= 2) error stop
+ if (ubound(dt%pc4str, 1) /= 3) error stop
+ dt%pc4str = [4_"456", 4_"tzu"]
+!$omp end target
+!$omp target exit data map(from: dt%pc4str)
+if (.not. associated(dt%pc4str)) error stop
+if (len(dt%pc4str) /= 3) error stop
+if (size(dt%pc4str) /= 2) error stop
+if (lbound(dt%pc4str, 1) /= 2) error stop
+if (ubound(dt%pc4str, 1) /= 3) error stop
+if (dt%pc4str(2) /= 4_"456") error stop
+if (dt%pc4str(3) /= 4_"tzu") error stop
+
+!$omp target enter data map(alloc: dt%pc4str2)
+!$omp target map(alloc: dt%pc4str2)
+ if (.not. associated(dt%pc4str2)) error stop
+ if (len(dt%pc4str2) /= 5) error stop
+ dt%pc4str2 = 4_"98765"
+!$omp end target
+!$omp target exit data map(from: dt%pc4str2)
+if (.not. associated(dt%pc4str2)) error stop
+if (len(dt%pc4str2) /= 5) error stop
+if (dt%pc4str2 /= 4_"98765") error stop
+
+
+! integer :: ii(5), ii2
+
+!$omp target enter data map(alloc: ii)
+!$omp target map(alloc: ii)
+ if (size(ii) /= 5) error stop
+ if (lbound(ii, 1) /= 1) error stop
+ if (ubound(ii, 1) /= 5) error stop
+ ii = [-1, -2, -3, -4, -5]
+!$omp end target
+!$omp target exit data map(from: ii)
+if (size(ii) /= 5) error stop
+if (lbound(ii, 1) /= 1) error stop
+if (ubound(ii, 1) /= 5) error stop
+if (any (ii /= [-1, -2, -3, -4, -5])) error stop
+
+!$omp target enter data map(alloc: ii2)
+!$omp target map(alloc: ii2)
+ ii2 = -410
+!$omp end target
+!$omp target exit data map(from: ii2)
+if (ii2 /= -410) error stop
+
+
+! character(len=11) :: clstr(-1:1), clstr2
+
+!$omp target enter data map(alloc: clstr)
+!$omp target map(alloc: clstr)
+ if (len(clstr) /= 11) error stop
+ if (size(clstr) /= 3) error stop
+ if (lbound(clstr, 1) /= -1) error stop
+ if (ubound(clstr, 1) /= 1) error stop
+ clstr = ["12345678901", "abcdefghijk", "ABCDEFGHIJK"]
+!$omp end target
+!$omp target exit data map(from: clstr)
+if (len(clstr) /= 11) error stop
+if (size(clstr) /= 3) error stop
+if (lbound(clstr, 1) /= -1) error stop
+if (ubound(clstr, 1) /= 1) error stop
+if (any (clstr /= ["12345678901", "abcdefghijk", "ABCDEFGHIJK"])) error stop
+
+!$omp target enter data map(alloc: clstr2)
+!$omp target map(alloc: clstr2)
+ if (len(clstr2) /= 11) error stop
+ clstr2 = "ABCDEFghijk"
+!$omp end target
+!$omp target exit data map(from: clstr2)
+if (len(clstr2) /= 11) error stop
+if (clstr2 /= "ABCDEFghijk") error stop
+
+
+! character(len=11,kind=4) :: cl4str(0:3), cl4str2
+
+!$omp target enter data map(alloc: cl4str)
+!$omp target map(alloc: cl4str)
+ if (len(cl4str) /= 11) error stop
+ if (size(cl4str) /= 4) error stop
+ if (lbound(cl4str, 1) /= 0) error stop
+ if (ubound(cl4str, 1) /= 3) error stop
+ cl4str = [4_"12345678901", 4_"abcdefghijk", &
+ 4_"qerftcea6ds", 4_"a1f9g37ga4."]
+!$omp end target
+!$omp target exit data map(from: cl4str)
+if (len(cl4str) /= 11) error stop
+if (size(cl4str) /= 4) error stop
+if (lbound(cl4str, 1) /= 0) error stop
+if (ubound(cl4str, 1) /= 3) error stop
+if (cl4str(0) /= 4_"12345678901") error stop
+if (cl4str(1) /= 4_"abcdefghijk") error stop
+if (cl4str(2) /= 4_"qerftcea6ds") error stop
+if (cl4str(3) /= 4_"a1f9g37ga4.") error stop
+
+!$omp target enter data map(alloc: cl4str2)
+!$omp target map(alloc: cl4str2)
+ if (len(cl4str2) /= 11) error stop
+ cl4str2 = 4_"ABCDEFGHIJK"
+!$omp end target
+!$omp target exit data map(from: cl4str2)
+if (len(cl4str2) /= 11) error stop
+if (cl4str2 /= 4_"ABCDEFGHIJK") error stop
+
+
+! allocate(ip(5), ip2, ia(8), ia2)
+
+!$omp target enter data map(alloc: ip)
+!$omp target map(alloc: ip)
+ if (.not. associated(ip)) error stop
+ if (size(ip) /= 5) error stop
+ if (lbound(ip, 1) /= 1) error stop
+ if (ubound(ip, 1) /= 5) error stop
+ ip = [11, 22, 33, 44, 55]
+!$omp end target
+!$omp target exit data map(from: ip)
+if (.not. associated(ip)) error stop
+if (size(ip) /= 5) error stop
+if (lbound(ip, 1) /= 1) error stop
+if (ubound(ip, 1) /= 5) error stop
+if (any (ip /= [11, 22, 33, 44, 55])) error stop
+
+!$omp target enter data map(alloc: ip2)
+!$omp target map(alloc: ip2)
+ if (.not. associated(ip2)) error stop
+ ip2 = 99
+!$omp end target
+!$omp target exit data map(from: ip2)
+if (ip2 /= 99) error stop
+if (.not. associated(ip2)) error stop
+
+
+! allocate(ip(5), ip2, ia(8), ia2)
+
+!$omp target enter data map(alloc: ia)
+!$omp target map(alloc: ia)
+ if (.not. allocated(ia)) error stop
+ if (size(ia) /= 8) error stop
+ if (lbound(ia, 1) /= 1) error stop
+ if (ubound(ia, 1) /= 8) error stop
+ ia = [1,2,3,4,5,6,7,8]
+!$omp end target
+!$omp target exit data map(from: ia)
+if (.not. allocated(ia)) error stop
+if (size(ia) /= 8) error stop
+if (lbound(ia, 1) /= 1) error stop
+if (ubound(ia, 1) /= 8) error stop
+if (any (ia /= [1,2,3,4,5,6,7,8])) error stop
+
+!$omp target enter data map(alloc: ia2)
+!$omp target map(alloc: ia2)
+ if (.not. allocated(ia2)) error stop
+ ia2 = 102
+!$omp end target
+!$omp target exit data map(from: ia2)
+if (ia2 /= 102) error stop
+if (.not. allocated(ia2)) error stop
+
+
+! character(len=:), pointer :: pstr(:), pstr2
+! allocate(character(len=2) :: pstr(-2:0))
+! allocate(character(len=4) :: pstr2)
+
+!$omp target enter data map(alloc: pstr)
+!$omp target map(alloc: pstr)
+ if (.not. associated(pstr)) error stop
+ if (len(pstr) /= 2) error stop
+ if (size(pstr) /= 3) error stop
+ if (lbound(pstr, 1) /= -2) error stop
+ if (ubound(pstr, 1) /= 0) error stop
+ pstr = ["01", "jk", "aq"]
+!$omp end target
+!$omp target exit data map(from: pstr)
+if (.not. associated(pstr)) error stop
+if (len(pstr) /= 2) error stop
+if (size(pstr) /= 3) error stop
+if (lbound(pstr, 1) /= -2) error stop
+if (ubound(pstr, 1) /= 0) error stop
+if (any (pstr /= ["01", "jk", "aq"])) error stop
+
+!$omp target enter data map(alloc: pstr2)
+!$omp target map(alloc: pstr2)
+ if (.not. associated(pstr2)) error stop
+ if (len(pstr2) /= 4) error stop
+ pstr2 = "HIJK"
+!$omp end target
+!$omp target exit data map(from: pstr2)
+if (.not. associated(pstr2)) error stop
+if (len(pstr2) /= 4) error stop
+if (pstr2 /= "HIJK") error stop
+
+
+! character(len=:), allocatable :: astr(:), astr2
+! allocate(character(len=6) :: astr(3:5))
+! allocate(character(len=8) :: astr2)
+
+
+!$omp target enter data map(alloc: astr)
+!$omp target map(alloc: astr)
+ if (.not. allocated(astr)) error stop
+ if (len(astr) /= 6) error stop
+ if (size(astr) /= 3) error stop
+ if (lbound(astr, 1) /= 3) error stop
+ if (ubound(astr, 1) /= 5) error stop
+ astr = ["01db45", "jk$D%S", "zutg47"]
+!$omp end target
+!$omp target exit data map(from: astr)
+if (.not. allocated(astr)) error stop
+if (len(astr) /= 6) error stop
+if (size(astr) /= 3) error stop
+if (lbound(astr, 1) /= 3) error stop
+if (ubound(astr, 1) /= 5) error stop
+if (any (astr /= ["01db45", "jk$D%S", "zutg47"])) error stop
+
+
+!$omp target enter data map(alloc: astr2)
+!$omp target map(alloc: astr2)
+ if (.not. allocated(astr2)) error stop
+ if (len(astr2) /= 8) error stop
+ astr2 = "HIJKhijk"
+!$omp end target
+!$omp target exit data map(from: astr2)
+if (.not. allocated(astr2)) error stop
+if (len(astr2) /= 8) error stop
+if (astr2 /= "HIJKhijk") error stop
+
+
+! character(len=:,kind=4), pointer :: p4str(:), p4str2
+! allocate(character(len=3,kind=4) :: p4str(2:4))
+! allocate(character(len=5,kind=4) :: p4str2)
+
+! FAILS with value check
+
+!$omp target enter data map(alloc: p4str)
+!$omp target map(alloc: p4str)
+ if (.not. associated(p4str)) error stop
+ if (len(p4str) /= 3) error stop
+ if (size(p4str) /= 3) error stop
+ if (lbound(p4str, 1) /= 2) error stop
+ if (ubound(p4str, 1) /= 4) error stop
+ p4str(:) = [4_"f85", 4_"8af", 4_"A%F"]
+!$omp end target
+!$omp target exit data map(from: p4str)
+if (.not. associated(p4str)) error stop
+if (len(p4str) /= 3) error stop
+if (size(p4str) /= 3) error stop
+if (lbound(p4str, 1) /= 2) error stop
+if (ubound(p4str, 1) /= 4) error stop
+if (p4str(2) /= 4_"f85") error stop
+if (p4str(3) /= 4_"8af") error stop
+if (p4str(4) /= 4_"A%F") error stop
+
+!$omp target enter data map(alloc: p4str2)
+!$omp target map(alloc: p4str2)
+ if (.not. associated(p4str2)) error stop
+ if (len(p4str2) /= 5) error stop
+ p4str2 = 4_"9875a"
+!$omp end target
+!$omp target exit data map(from: p4str2)
+if (.not. associated(p4str2)) error stop
+if (len(p4str2) /= 5) error stop
+if (p4str2 /= 4_"9875a") error stop
+
+
+! character(len=:,kind=4), allocatable :: a4str(:), a4str2
+! allocate(character(len=7,kind=4) :: a4str(-2:3))
+! allocate(character(len=9,kind=4) :: a4str2)
+
+!$omp target enter data map(alloc: a4str)
+!$omp target map(alloc: a4str)
+ if (.not. allocated(a4str)) error stop
+ if (len(a4str) /= 7) error stop
+ if (size(a4str) /= 6) error stop
+ if (lbound(a4str, 1) /= -2) error stop
+ if (ubound(a4str, 1) /= 3) error stop
+ ! See PR fortran/107508 why '(:)' is required
+ a4str(:) = [4_"sf456aq", 4_"3dtzu24", 4_"_4fh7sm", 4_"=ff85s7", 4_"j=8af4d", 4_".,A%Fsz"]
+!$omp end target
+!$omp target exit data map(from: a4str)
+if (.not. allocated(a4str)) error stop
+if (len(a4str) /= 7) error stop
+if (size(a4str) /= 6) error stop
+if (lbound(a4str, 1) /= -2) error stop
+if (ubound(a4str, 1) /= 3) error stop
+if (a4str(-2) /= 4_"sf456aq") error stop
+if (a4str(-1) /= 4_"3dtzu24") error stop
+if (a4str(0) /= 4_"_4fh7sm") error stop
+if (a4str(1) /= 4_"=ff85s7") error stop
+if (a4str(2) /= 4_"j=8af4d") error stop
+if (a4str(3) /= 4_".,A%Fsz") error stop
+
+!$omp target enter data map(alloc: a4str2)
+!$omp target map(alloc: a4str2)
+ if (.not. allocated(a4str2)) error stop
+ if (len(a4str2) /= 9) error stop
+ a4str2 = 4_"98765a23d"
+!$omp end target
+!$omp target exit data map(from: a4str2)
+if (.not. allocated(a4str2)) error stop
+if (len(a4str2) /= 9) error stop
+if (a4str2 /= 4_"98765a23d") error stop
+
+
+deallocate(dt%pc, dt%pc2)
+deallocate(dt%pcstr)
+deallocate(dt%pcstr2)
+
+deallocate(dt%pc4str)
+deallocate(dt%pc4str2)
+
+deallocate(ip, ip2, ia, ia2)
+deallocate(pstr)
+deallocate(pstr2)
+deallocate(astr)
+deallocate(astr2)
+
+deallocate(p4str)
+deallocate(p4str2)
+deallocate(a4str)
+deallocate(a4str2)
+
+end
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a4c8131..4615d0f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,160 @@
+2025-04-22 Patrick Palka <ppalka@redhat.com>
+
+ Revert:
+ 2024-08-22 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/iterator_concepts.h (__detail::__projected): Define
+ an optimized partial specialization for when the projection is
+ std::identity.
+ * testsuite/24_iterators/indirect_callable/projected.cc: Verify the
+ optimization.
+
+2025-04-22 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+
+2025-04-22 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
+
+2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Regenerate.
+ * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
+
+2025-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+ * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
+ Likewise.
+ * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+ * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+ Likewise.
+
+2025-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update.
+
+2025-04-22 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/23_containers/flat_map/1.cc: Add dg-timeout-factor 2.
+ * testsuite/23_containers/flat_multimap/1.cc: Likewise.
+ * testsuite/std/format/ranges/map.cc: Likewise.
+ * testsuite/std/format/ranges/sequence.cc: Likewise.
+ * testsuite/std/format/ranges/string.cc: Likewise.
+
+2025-04-22 Andreas Schwab <schwab@linux-m68k.org>
+
+ * testsuite/util/testsuite_abi.cc (check_version): Update latestp
+ to use GLIBCXX_3.4.35 and CXXABI_1.3.17.
+
+2025-04-18 François Dumont <frs.dumont@gmail.com>
+
+ * testsuite/util/debug/unordered_checks.h (fill_container): New helper method.
+ (use_erased_local_iterator, invalid_local_iterator_pre_increment)
+ (invalid_local_iterator_post_increment, invalid_local_iterator_compare)
+ (invalid_local_iterator_range): Use latter.
+ (fill_and_get_local_iterator): New, use fill_container.
+ (use_invalid_local_iterator): Use latter.
+ (invalid_local_iterator_arrow_operator): New test function.
+ (invalid_local_iterator_copy_instantiation): New test function.
+ (invalid_local_iterator_move_instantiation): New test function.
+ (invalid_local_iterator_copy_assignment): New test function.
+ (invalid_local_iterator_move_assignment): New test function.
+ (invalid_local_iterator_const_conversion): New test function.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_arrow_operator_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_const_conversion_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: Test unordered_map.
+ * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Test unordered_multimap.
+ * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_arrow_operator_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_const_conversion_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc:
+ Test unordered_multimap.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_arrow_operator_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_const_conversion_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_arrow_operator_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_const_conversion_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_construction_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc:
+ New test case.
+ * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc:
+ New test case.
+
+2025-04-18 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * doc/xml/manual/appendix_contributing.xml: Add 'and functions'.
+
+2025-04-17 Jason Merrill <jason@redhat.com>
+
+ * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust
+ diagnostic.
+
+2025-04-17 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119840
+ * include/std/format (_M_parse_fill_and_align): Cast elements of
+ __not_fill to _CharT.
+
+2025-04-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/format (format_kind): Do not use 'not'
+ alternative token to make the primary template ill-formed. Use
+ the undeclared identifier __primary_template_not_defined and a
+ comment that will appear in diagnostics.
+ * testsuite/std/format/ranges/format_kind_neg.cc: New test.
+
+2025-04-17 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/109162
+ * include/std/format (__format::__simply_formattable_range): Define.
+ (range_formatter::format): Do not instantiate _M_format for mutable
+ _Rg if const _Rg can be used.
+
2025-04-16 Tomasz Kamiński <tkaminsk@redhat.com>
PR libstdc++/109162
diff --git a/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
index 27b5937..1ee0966 100644
--- a/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4612,6 +4622,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt b/libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt
index d8b8b75..c5fb077 100644
--- a/libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/i386-solaris/amd64/baseline_symbols.txt
@@ -2095,6 +2095,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3182,6 +3186,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3335,6 +3341,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3902,6 +3910,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4571,6 +4581,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt b/libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt
index fb9444c..b0007de 100644
--- a/libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/i386-solaris/baseline_symbols.txt
@@ -2095,6 +2095,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3182,6 +3186,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3335,6 +3341,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3902,6 +3910,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4571,6 +4581,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
index 4228453..938e914 100644
--- a/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/i486-linux-gnu/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4617,6 +4627,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
index 675a949..089ae24 100644
--- a/libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/m68k-linux-gnu/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4612,6 +4622,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
index c383865..b8b27d0 100644
--- a/libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
@@ -2270,6 +2270,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3411,6 +3415,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3564,6 +3570,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -4131,6 +4139,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4858,6 +4868,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
index c383865..b8b27d0 100644
--- a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
@@ -2270,6 +2270,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3411,6 +3415,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3564,6 +3570,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -4131,6 +4139,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4858,6 +4868,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
index a843885..15c08ce 100644
--- a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
@@ -2270,6 +2270,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3411,6 +3415,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3564,6 +3570,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -4131,6 +4139,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4858,6 +4868,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt
index 18ec97d..601d60b 100644
--- a/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt
@@ -2416,6 +2416,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3582,6 +3586,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3735,6 +3741,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -4302,6 +4310,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -5067,6 +5077,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
index 9229ad3..7c2c19b 100644
--- a/libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/riscv64-linux-gnu/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE1EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE1EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE1EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4575,6 +4585,7 @@ OBJECT:0:CXXABI_1.3.12
OBJECT:0:CXXABI_1.3.13
OBJECT:0:CXXABI_1.3.14
OBJECT:0:CXXABI_1.3.15
+OBJECT:0:CXXABI_1.3.16
OBJECT:0:CXXABI_1.3.2
OBJECT:0:CXXABI_1.3.3
OBJECT:0:CXXABI_1.3.4
@@ -4612,6 +4623,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
@@ -4685,6 +4697,7 @@ OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
OBJECT:16:_ZTIDF128_@@CXXABI_1.3.14
OBJECT:16:_ZTIDF16_@@CXXABI_1.3.14
+OBJECT:16:_ZTIDF16b@@CXXABI_1.3.16
OBJECT:16:_ZTIDF32_@@CXXABI_1.3.14
OBJECT:16:_ZTIDF32x@@CXXABI_1.3.14
OBJECT:16:_ZTIDF64_@@CXXABI_1.3.14
@@ -5327,6 +5340,7 @@ OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3
OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
OBJECT:32:_ZTIPDF128_@@CXXABI_1.3.14
OBJECT:32:_ZTIPDF16_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPDF16b@@CXXABI_1.3.16
OBJECT:32:_ZTIPDF32_@@CXXABI_1.3.14
OBJECT:32:_ZTIPDF32x@@CXXABI_1.3.14
OBJECT:32:_ZTIPDF64_@@CXXABI_1.3.14
@@ -5340,6 +5354,7 @@ OBJECT:32:_ZTIPDs@@CXXABI_1.3.3
OBJECT:32:_ZTIPDu@@CXXABI_1.3.12
OBJECT:32:_ZTIPKDF128_@@CXXABI_1.3.14
OBJECT:32:_ZTIPKDF16_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPKDF16b@@CXXABI_1.3.16
OBJECT:32:_ZTIPKDF32_@@CXXABI_1.3.14
OBJECT:32:_ZTIPKDF32x@@CXXABI_1.3.14
OBJECT:32:_ZTIPKDF64_@@CXXABI_1.3.14
diff --git a/libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
index 771d87a..8c204af 100644
--- a/libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
@@ -2270,6 +2270,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3411,6 +3415,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3564,6 +3570,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -4131,6 +4139,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4858,6 +4868,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt b/libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt
index 1ec9405..aa2e5ac 100644
--- a/libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/sparc-solaris/baseline_symbols.txt
@@ -2095,6 +2095,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3182,6 +3186,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3335,6 +3341,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3902,6 +3910,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4570,6 +4580,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt
index 2bf5c85..b9118c0 100644
--- a/libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt
@@ -2095,6 +2095,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3182,6 +3186,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3335,6 +3341,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3902,6 +3910,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4570,6 +4580,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt b/libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt
index 94f5f5e..689b11e 100644
--- a/libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt
@@ -199,6 +199,14 @@ FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+FUNC:_ZNKRSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
@@ -467,6 +475,7 @@ FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPPKc@@GLIBCXX_3.4.30
FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
@@ -477,6 +486,7 @@ FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPPKw@@GLIBCXX_3.4.30
FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
@@ -487,7 +497,12 @@ FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__basic_fileIcE13native_handleEv@@GLIBCXX_3.4.33
FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
@@ -658,6 +673,13 @@ FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt6chrono4tzdb11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono4tzdb12current_zoneEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9time_zone15_M_get_sys_infoENS_10time_pointINS_3_V212system_clockENS_8durationIxSt5ratioILx1ELx1EEEEEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9time_zone17_M_get_local_infoENS_10time_pointINS_7local_tENS_8durationIxSt5ratioILx1ELx1EEEEEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list14const_iteratordeEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list5beginEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list5frontEv@@GLIBCXX_3.4.31
FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
@@ -856,19 +878,29 @@ FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv@@GLIBCXX_3.4.26
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
@@ -936,6 +968,7 @@ FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
@@ -955,6 +988,7 @@ FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
@@ -1207,6 +1241,7 @@ FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_week
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
@@ -1226,6 +1261,7 @@ FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_week
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
@@ -1300,6 +1336,14 @@ FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
+FUNC:_ZNOSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
@@ -1401,6 +1445,7 @@ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
@@ -1665,6 +1710,7 @@ FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
+FUNC:_ZNSs7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
@@ -2078,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -2564,7 +2614,9 @@ FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14
FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv@@CXXABI_1.3.13
FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv@@CXXABI_1.3.13
FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3
FUNC:_ZNSt15__exception_ptr13exception_ptrC1EPv@@CXXABI_1.3.11
FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3
@@ -2788,6 +2840,7 @@ FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__time_get_state17_M_finalize_stateEP2tm@@GLIBCXX_3.4.30
FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
@@ -2898,7 +2951,8 @@ FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
-FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.30
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
@@ -3000,6 +3054,7 @@ FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj@@GLIBCXX_3.4.21
FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIxSt5ratioILx1ELx1EEEENS2_IxS3_ILx1ELx1000000000EEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt28__atomic_futex_unsigned_base26_M_futex_wait_until_steadyEPjjbNSt6chrono8durationIxSt5ratioILx1ELx1EEEENS2_IxS3_ILx1ELx1000000000EEEE@@GLIBCXX_3.4.29
FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
@@ -3056,9 +3111,18 @@ FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6chrono11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono11reload_tzdbEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono12current_zoneEv@@GLIBCXX_3.4.31
FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6chrono13get_tzdb_listEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono14remote_versionB5cxx11Ev@@GLIBCXX_3.4.31
FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6chrono8get_tzdbEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list11erase_afterENS0_14const_iteratorE@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEi@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEv@@GLIBCXX_3.4.31
FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
@@ -3155,11 +3219,14 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCX
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEjj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_S_allocateERS3_j@@GLIBCXX_3.4.32
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3174,6 +3241,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_replace_coldEPcjPKcjj@@GLIBCXX_3.4.31
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Ejc@@GLIBCXX_3.4.21
@@ -3245,6 +3313,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_@@GLIB
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjjc@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEjj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj@@GLIBCXX_3.4.21
@@ -3305,11 +3374,14 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCX
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEjjPKwj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEjj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_S_allocateERS3_j@@GLIBCXX_3.4.32
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3324,6 +3396,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_replace_coldEPwjPKwjj@@GLIBCXX_3.4.31
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Ejw@@GLIBCXX_3.4.21
@@ -3395,6 +3468,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_@@GLIB
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_jj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEjj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwj@@GLIBCXX_3.4.21
@@ -3470,6 +3544,7 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1E
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4.21
@@ -3481,15 +3556,25 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCX
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
@@ -3501,6 +3586,7 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1E
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4.21
@@ -3512,15 +3598,25 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCX
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
@@ -3596,85 +3692,115 @@ FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_tra
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
@@ -3823,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4015,6 +4143,9 @@ FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
FUNC:_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11
FUNC:_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11
+FUNC:_ZSt10from_charsPKcS0_RdSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt10from_charsPKcS0_ReSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt10from_charsPKcS0_RfSt12chars_format@@GLIBCXX_3.4.29
FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
FUNC:_ZSt11_Hash_bytesPKvjj@@CXXABI_1.3.5
FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
@@ -4025,6 +4156,50 @@ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCX
FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
FUNC:_ZSt15_Fnv_hash_bytesPKvjj@@CXXABI_1.3.5
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt11__timepunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt11__timepunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt5ctypeIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt5ctypeIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7codecvtIcc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7codecvtIwc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7collateIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7collateIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8messagesIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8messagesIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8numpunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8numpunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
@@ -4035,6 +4210,8 @@ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+FUNC:_ZSt17__istream_extractIwSt11char_traitsIwEEvRSt13basic_istreamIT_T0_EPS3_i@@GLIBCXX_3.4.29
+FUNC:_ZSt17__istream_extractRSiPci@@GLIBCXX_3.4.29
FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
FUNC:_ZSt17__verify_groupingPKcjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
@@ -4060,18 +4237,25 @@ FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14
FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+FUNC:_ZSt20__to_chars_float16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30
FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
+FUNC:_ZSt21ios_base_library_initv@@GLIBCXX_3.4.32
+FUNC:_ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
+FUNC:_ZSt28__throw_bad_array_new_lengthv@@GLIBCXX_3.4.29
FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
@@ -4089,6 +4273,15 @@ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cx
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt8to_charsPcS_d@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_dSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_dSt12chars_formati@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_e@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_eSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_eSt12chars_formati@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_f@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_fSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_fSt12chars_formati@@GLIBCXX_3.4.29
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
@@ -4347,6 +4540,7 @@ FUNC:__cxa_allocate_exception@@CXXABI_1.3
FUNC:__cxa_bad_cast@@CXXABI_1.3
FUNC:__cxa_bad_typeid@@CXXABI_1.3
FUNC:__cxa_begin_catch@@CXXABI_1.3
+FUNC:__cxa_call_terminate@@CXXABI_1.3.15
FUNC:__cxa_call_unexpected@@CXXABI_1.3
FUNC:__cxa_current_exception_type@@CXXABI_1.3
FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
@@ -4388,6 +4582,9 @@ OBJECT:0:CXXABI_1.3.1
OBJECT:0:CXXABI_1.3.10
OBJECT:0:CXXABI_1.3.11
OBJECT:0:CXXABI_1.3.12
+OBJECT:0:CXXABI_1.3.13
+OBJECT:0:CXXABI_1.3.14
+OBJECT:0:CXXABI_1.3.15
OBJECT:0:CXXABI_1.3.2
OBJECT:0:CXXABI_1.3.3
OBJECT:0:CXXABI_1.3.4
@@ -4419,7 +4616,13 @@ OBJECT:0:GLIBCXX_3.4.25
OBJECT:0:GLIBCXX_3.4.26
OBJECT:0:GLIBCXX_3.4.27
OBJECT:0:GLIBCXX_3.4.28
+OBJECT:0:GLIBCXX_3.4.29
OBJECT:0:GLIBCXX_3.4.3
+OBJECT:0:GLIBCXX_3.4.30
+OBJECT:0:GLIBCXX_3.4.31
+OBJECT:0:GLIBCXX_3.4.32
+OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
@@ -4602,6 +4805,9 @@ OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:16:_ZTIPDF32_@@CXXABI_1.3.14
+OBJECT:16:_ZTIPDF32x@@CXXABI_1.3.14
+OBJECT:16:_ZTIPDF64_@@CXXABI_1.3.14
OBJECT:16:_ZTIPDd@@CXXABI_1.3.4
OBJECT:16:_ZTIPDe@@CXXABI_1.3.4
OBJECT:16:_ZTIPDf@@CXXABI_1.3.4
@@ -4609,6 +4815,9 @@ OBJECT:16:_ZTIPDi@@CXXABI_1.3.3
OBJECT:16:_ZTIPDn@@CXXABI_1.3.5
OBJECT:16:_ZTIPDs@@CXXABI_1.3.3
OBJECT:16:_ZTIPDu@@CXXABI_1.3.12
+OBJECT:16:_ZTIPKDF32_@@CXXABI_1.3.14
+OBJECT:16:_ZTIPKDF32x@@CXXABI_1.3.14
+OBJECT:16:_ZTIPKDF64_@@CXXABI_1.3.14
OBJECT:16:_ZTIPKDd@@CXXABI_1.3.4
OBJECT:16:_ZTIPKDe@@CXXABI_1.3.4
OBJECT:16:_ZTIPKDf@@CXXABI_1.3.4
@@ -5752,6 +5961,9 @@ OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@G
OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZTIDF32_@@CXXABI_1.3.14
+OBJECT:8:_ZTIDF32x@@CXXABI_1.3.14
+OBJECT:8:_ZTIDF64_@@CXXABI_1.3.14
OBJECT:8:_ZTIDd@@CXXABI_1.3.4
OBJECT:8:_ZTIDe@@CXXABI_1.3.4
OBJECT:8:_ZTIDf@@CXXABI_1.3.4
diff --git a/libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt
index f0bdad2..b15cf68 100644
--- a/libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/sparc64-linux-gnu/baseline_symbols.txt
@@ -199,6 +199,14 @@ FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+FUNC:_ZNKRSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
@@ -467,6 +475,7 @@ FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPPKc@@GLIBCXX_3.4.30
FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
@@ -477,6 +486,7 @@ FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPPKw@@GLIBCXX_3.4.30
FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
@@ -487,7 +497,12 @@ FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__basic_fileIcE13native_handleEv@@GLIBCXX_3.4.33
FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv@@GLIBCXX_3.4.31
FUNC:_ZNKSt12bad_weak_ptr4whatEv@@GLIBCXX_3.4.15
FUNC:_ZNKSt12future_error4whatEv@@GLIBCXX_3.4.14
FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
@@ -658,6 +673,13 @@ FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
+FUNC:_ZNKSt6chrono4tzdb11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono4tzdb12current_zoneEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9time_zone15_M_get_sys_infoENS_10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1EEEEEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9time_zone17_M_get_local_infoENS_10time_pointINS_7local_tENS_8durationIlSt5ratioILl1ELl1EEEEEE@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list14const_iteratordeEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list5beginEv@@GLIBCXX_3.4.31
+FUNC:_ZNKSt6chrono9tzdb_list5frontEv@@GLIBCXX_3.4.31
FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
FUNC:_ZNKSt6locale4nameB5cxx11Ev@@GLIBCXX_3.4.21
FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
@@ -856,19 +878,29 @@ FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv@@GLIBCXX_3.4.26
FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29
FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21
@@ -936,6 +968,7 @@ FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
@@ -955,6 +988,7 @@ FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4.21
+FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@@GLIBCXX_3.4.21
FUNC:_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.21
@@ -1207,6 +1241,7 @@ FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_week
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
@@ -1226,6 +1261,7 @@ FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_week
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
+FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwRSt16__time_get_state@@GLIBCXX_3.4.30
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4.14
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@@GLIBCXX_3.4.21
FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@@GLIBCXX_3.4.26
@@ -1300,6 +1336,14 @@ FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
+FUNC:_ZNOSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29
+FUNC:_ZNOSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29
FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
@@ -1401,6 +1445,7 @@ FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.17
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
@@ -1665,6 +1710,7 @@ FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
+FUNC:_ZNSs7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSs8pop_backEv@@GLIBCXX_3.4.17
FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
@@ -2078,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -2564,7 +2614,9 @@ FUNC:_ZNSt15_List_node_base7_M_hookEPS_@@GLIBCXX_3.4.14
FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
FUNC:_ZNSt15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv@@CXXABI_1.3.13
FUNC:_ZNSt15__exception_ptr13exception_ptr4swapERS0_@@CXXABI_1.3.3
+FUNC:_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv@@CXXABI_1.3.13
FUNC:_ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@@CXXABI_1.3.3
FUNC:_ZNSt15__exception_ptr13exception_ptrC1EPv@@CXXABI_1.3.11
FUNC:_ZNSt15__exception_ptr13exception_ptrC1ERKS0_@@CXXABI_1.3.3
@@ -2788,6 +2840,7 @@ FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt16__time_get_state17_M_finalize_stateEP2tm@@GLIBCXX_3.4.30
FUNC:_ZNSt16bad_array_lengthD0Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD1Ev@@CXXABI_1.3.8
FUNC:_ZNSt16bad_array_lengthD2Ev@@CXXABI_1.3.8
@@ -2898,7 +2951,8 @@ FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt18condition_variable10notify_allEv@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11
-FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.11
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@@GLIBCXX_3.4.30
+FUNC:_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableC1Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableC2Ev@@GLIBCXX_3.4.11
FUNC:_ZNSt18condition_variableD1Ev@@GLIBCXX_3.4.11
@@ -3000,6 +3054,7 @@ FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj@@GLIBCXX_3.4.21
FUNC:_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE@@GLIBCXX_3.4.21
+FUNC:_ZNSt28__atomic_futex_unsigned_base26_M_futex_wait_until_steadyEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE@@GLIBCXX_3.4.29
FUNC:_ZNSt3_V214error_categoryD0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt3_V214error_categoryD1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt3_V214error_categoryD2Ev@@GLIBCXX_3.4.21
@@ -3056,9 +3111,18 @@ FUNC:_ZNSt6__norm15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.14
FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
FUNC:_ZNSt6__norm15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.14
+FUNC:_ZNSt6chrono11locate_zoneESt17basic_string_viewIcSt11char_traitsIcEE@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono11reload_tzdbEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono12current_zoneEv@@GLIBCXX_3.4.31
FUNC:_ZNSt6chrono12system_clock3nowEv@@GLIBCXX_3.4.11
+FUNC:_ZNSt6chrono13get_tzdb_listEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono14remote_versionB5cxx11Ev@@GLIBCXX_3.4.31
FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19
FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19
+FUNC:_ZNSt6chrono8get_tzdbEv@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list11erase_afterENS0_14const_iteratorE@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEi@@GLIBCXX_3.4.31
+FUNC:_ZNSt6chrono9tzdb_list14const_iteratorppEv@@GLIBCXX_3.4.31
FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
@@ -3155,11 +3219,14 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@@GLIBCX
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_S_allocateERS3_m@@GLIBCXX_3.4.32
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3174,6 +3241,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_replace_coldEPcmPKcmm@@GLIBCXX_3.4.31
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@@GLIBCXX_3.4.21
@@ -3245,6 +3313,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_@@GLIB
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@@GLIBCXX_3.4.21
@@ -3305,11 +3374,14 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@@GLIBCX
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_S_allocateERS3_m@@GLIBCXX_3.4.32
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3324,6 +3396,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_replace_coldEPwmPKwmm@@GLIBCXX_3.4.31
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@@GLIBCXX_3.4.21
@@ -3395,6 +3468,7 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_@@GLIB
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEv@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm@@GLIBCXX_3.4.21
@@ -3470,6 +3544,7 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1E
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4.21
@@ -3481,15 +3556,25 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCX
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
@@ -3501,6 +3586,7 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1E
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4.21
@@ -3512,15 +3598,25 @@ FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCX
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@@GLIBCXX_3.4.29
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
@@ -3596,85 +3692,115 @@ FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_tra
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEONS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EONS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEONS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4.26
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EONS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_OpenmodeRKS3_@@GLIBCXX_3.4.29
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4.26
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4.21
@@ -3823,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4015,6 +4143,9 @@ FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
FUNC:_ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@@GLIBCXX_3.4.11
FUNC:_ZNVSt9__atomic011atomic_flag5clearESt12memory_order@@GLIBCXX_3.4.11
+FUNC:_ZSt10from_charsPKcS0_RdSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt10from_charsPKcS0_ReSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt10from_charsPKcS0_RfSt12chars_format@@GLIBCXX_3.4.29
FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
FUNC:_ZSt11_Hash_bytesPKvmm@@CXXABI_1.3.5
FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
@@ -4025,6 +4156,50 @@ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCX
FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
FUNC:_ZSt15_Fnv_hash_bytesPKvmm@@CXXABI_1.3.5
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIcLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb0EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx1110moneypunctIwLb1EEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx117collateIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118messagesIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIcEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118numpunctIwEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIcLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb0EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt10moneypunctIwLb1EEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt11__timepunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt11__timepunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt5ctypeIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt5ctypeIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7codecvtIcc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7codecvtIwc11__mbstate_tEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7collateIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7collateIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8messagesIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8messagesIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8numpunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8numpunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
+FUNC:_ZSt15__try_use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEPKT_RKSt6locale@@GLIBCXX_3.4.31
FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15
FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20
FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
@@ -4035,6 +4210,8 @@ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
FUNC:_ZSt16generic_categoryv@@GLIBCXX_3.4.11
FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+FUNC:_ZSt17__istream_extractIwSt11char_traitsIwEEvRSt13basic_istreamIT_T0_EPS3_l@@GLIBCXX_3.4.29
+FUNC:_ZSt17__istream_extractRSiPcl@@GLIBCXX_3.4.29
FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
FUNC:_ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
FUNC:_ZSt17__verify_groupingPKcmRKSs@@GLIBCXX_3.4.10
@@ -4060,18 +4237,25 @@ FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14
FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11
+FUNC:_ZSt20__to_chars_float16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30
FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31
+FUNC:_ZSt21ios_base_library_initv@@GLIBCXX_3.4.32
+FUNC:_ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+FUNC:_ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31
FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20
FUNC:_ZSt25__throw_bad_function_callv@@GLIBCXX_3.4.14
FUNC:_ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@@GLIBCXX_3.4.21
FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
+FUNC:_ZSt28__throw_bad_array_new_lengthv@@GLIBCXX_3.4.29
FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
@@ -4089,6 +4273,15 @@ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cx
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@@GLIBCXX_3.4.21
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+FUNC:_ZSt8to_charsPcS_d@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_dSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_dSt12chars_formati@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_e@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_eSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_eSt12chars_formati@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_f@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_fSt12chars_format@@GLIBCXX_3.4.29
+FUNC:_ZSt8to_charsPcS_fSt12chars_formati@@GLIBCXX_3.4.29
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
@@ -4347,6 +4540,7 @@ FUNC:__cxa_allocate_exception@@CXXABI_1.3
FUNC:__cxa_bad_cast@@CXXABI_1.3
FUNC:__cxa_bad_typeid@@CXXABI_1.3
FUNC:__cxa_begin_catch@@CXXABI_1.3
+FUNC:__cxa_call_terminate@@CXXABI_1.3.15
FUNC:__cxa_call_unexpected@@CXXABI_1.3
FUNC:__cxa_current_exception_type@@CXXABI_1.3
FUNC:__cxa_deleted_virtual@@CXXABI_1.3.6
@@ -4388,6 +4582,9 @@ OBJECT:0:CXXABI_1.3.1
OBJECT:0:CXXABI_1.3.10
OBJECT:0:CXXABI_1.3.11
OBJECT:0:CXXABI_1.3.12
+OBJECT:0:CXXABI_1.3.13
+OBJECT:0:CXXABI_1.3.14
+OBJECT:0:CXXABI_1.3.15
OBJECT:0:CXXABI_1.3.2
OBJECT:0:CXXABI_1.3.3
OBJECT:0:CXXABI_1.3.4
@@ -4419,7 +4616,13 @@ OBJECT:0:GLIBCXX_3.4.25
OBJECT:0:GLIBCXX_3.4.26
OBJECT:0:GLIBCXX_3.4.27
OBJECT:0:GLIBCXX_3.4.28
+OBJECT:0:GLIBCXX_3.4.29
OBJECT:0:GLIBCXX_3.4.3
+OBJECT:0:GLIBCXX_3.4.30
+OBJECT:0:GLIBCXX_3.4.31
+OBJECT:0:GLIBCXX_3.4.32
+OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
@@ -4491,6 +4694,11 @@ OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
+OBJECT:16:_ZTIDF128_@@CXXABI_1.3.14
+OBJECT:16:_ZTIDF32_@@CXXABI_1.3.14
+OBJECT:16:_ZTIDF32x@@CXXABI_1.3.14
+OBJECT:16:_ZTIDF64_@@CXXABI_1.3.14
+OBJECT:16:_ZTIDF64x@@CXXABI_1.3.14
OBJECT:16:_ZTIDd@@CXXABI_1.3.4
OBJECT:16:_ZTIDe@@CXXABI_1.3.4
OBJECT:16:_ZTIDf@@CXXABI_1.3.4
@@ -5127,6 +5335,11 @@ OBJECT:30:_ZTSSt7codecvtIDiDu11__mbstate_tE@@GLIBCXX_3.4.26
OBJECT:30:_ZTSSt7codecvtIDsDu11__mbstate_tE@@GLIBCXX_3.4.26
OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
+OBJECT:32:_ZTIPDF128_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPDF32_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPDF32x@@CXXABI_1.3.14
+OBJECT:32:_ZTIPDF64_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPDF64x@@CXXABI_1.3.14
OBJECT:32:_ZTIPDd@@CXXABI_1.3.4
OBJECT:32:_ZTIPDe@@CXXABI_1.3.4
OBJECT:32:_ZTIPDf@@CXXABI_1.3.4
@@ -5134,6 +5347,11 @@ OBJECT:32:_ZTIPDi@@CXXABI_1.3.3
OBJECT:32:_ZTIPDn@@CXXABI_1.3.5
OBJECT:32:_ZTIPDs@@CXXABI_1.3.3
OBJECT:32:_ZTIPDu@@CXXABI_1.3.12
+OBJECT:32:_ZTIPKDF128_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPKDF32_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPKDF32x@@CXXABI_1.3.14
+OBJECT:32:_ZTIPKDF64_@@CXXABI_1.3.14
+OBJECT:32:_ZTIPKDF64x@@CXXABI_1.3.14
OBJECT:32:_ZTIPKDd@@CXXABI_1.3.4
OBJECT:32:_ZTIPKDe@@CXXABI_1.3.4
OBJECT:32:_ZTIPKDf@@CXXABI_1.3.4
diff --git a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
index 4228453..938e914 100644
--- a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwj@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwj@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4617,6 +4627,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
index 2470f81..01f606c 100644
--- a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
@@ -2124,6 +2124,10 @@ FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policy
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_@@GLIBCXX_3.4.28
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2Ev@@GLIBCXX_3.4.27
FUNC:_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_@@GLIBCXX_3.4.26
+FUNC:_ZNSt12__sso_stringC1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringC2Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD1Ev@@GLIBCXX_3.4.34
+FUNC:_ZNSt12__sso_stringD2Ev@@GLIBCXX_3.4.34
FUNC:_ZNSt12bad_weak_ptrD0Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD1Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt12bad_weak_ptrD2Ev@@GLIBCXX_3.4.15
@@ -3221,6 +3225,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb0EEEvPKcm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructILb1EEEvPKcm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3374,6 +3380,8 @@ FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@@GLIBCXX_3.4.23
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@@GLIBCXX_3.4.21
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb0EEEvPKwm@@GLIBCXX_3.4.34
+FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructILb1EEEvPKwm@@GLIBCXX_3.4.34
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@@GLIBCXX_3.4.21
FUNC:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@@GLIBCXX_3.4.21
@@ -3941,6 +3949,8 @@ FUNC:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15
FUNC:_ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15
+FUNC:_ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv@@GLIBCXX_3.4.34
+FUNC:_ZNSt8__format26__with_encoding_conversionERKSt6locale@@GLIBCXX_3.4.34
FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
@@ -4617,6 +4627,7 @@ OBJECT:0:GLIBCXX_3.4.30
OBJECT:0:GLIBCXX_3.4.31
OBJECT:0:GLIBCXX_3.4.32
OBJECT:0:GLIBCXX_3.4.33
+OBJECT:0:GLIBCXX_3.4.34
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
OBJECT:0:GLIBCXX_3.4.6
diff --git a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
index ac607fc..b924545 100644
--- a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
+++ b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
@@ -895,7 +895,7 @@ indicate a place that may require attention for multi-thread safety.
Examples: <code>_M_num_elements _M_initialize ()</code>
- Static data members, constants, and enumerations: <literal>_S_.*</literal>
+ Static data and function members, constants, and enumerations: <literal>_S_.*</literal>
Examples: <code>_S_max_elements _S_default_value</code>
diff --git a/libstdc++-v3/include/bits/iterator_concepts.h b/libstdc++-v3/include/bits/iterator_concepts.h
index e36556d..3b73ff9 100644
--- a/libstdc++-v3/include/bits/iterator_concepts.h
+++ b/libstdc++-v3/include/bits/iterator_concepts.h
@@ -829,11 +829,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using __projected_Proj = _Proj;
};
};
-
- // Optimize the common case of the projection being std::identity.
- template<typename _Iter>
- struct __projected<_Iter, identity>
- { using __type = _Iter; };
} // namespace __detail
/// [projected], projected
diff --git a/libstdc++-v3/src/c++23/std.cc.in b/libstdc++-v3/src/c++23/std.cc.in
index 5e18ad7..ea50496 100644
--- a/libstdc++-v3/src/c++23/std.cc.in
+++ b/libstdc++-v3/src/c++23/std.cc.in
@@ -599,7 +599,9 @@ export namespace std
using std::atomic_schar;
using std::atomic_short;
using std::atomic_signal_fence;
+#ifdef __cpp_lib_atomic_lock_free_type_aliases
using std::atomic_signed_lock_free;
+#endif
using std::atomic_size_t;
using std::atomic_store;
using std::atomic_store_explicit;
@@ -622,7 +624,9 @@ export namespace std
using std::atomic_uintptr_t;
using std::atomic_ullong;
using std::atomic_ulong;
+#ifdef __cpp_lib_atomic_lock_free_type_aliases
using std::atomic_unsigned_lock_free;
+#endif
using std::atomic_ushort;
using std::atomic_wait;
using std::atomic_wait_explicit;
diff --git a/libstdc++-v3/testsuite/23_containers/flat_map/1.cc b/libstdc++-v3/testsuite/23_containers/flat_map/1.cc
index d9d88c4..4fd33f6 100644
--- a/libstdc++-v3/testsuite/23_containers/flat_map/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/flat_map/1.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-timeout-factor 2 }
#include <flat_map>
diff --git a/libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc b/libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc
index ff180bf..ea0d4b4 100644
--- a/libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/flat_multimap/1.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-timeout-factor 2 }
#include <flat_map>
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_arrow_operator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_arrow_operator_neg.cc
new file mode 100644
index 0000000..09870a7
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_arrow_operator_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_arrow_operator
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_const_conversion_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_const_conversion_neg.cc
new file mode 100644
index 0000000..7bfe3a8
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_const_conversion_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_const_conversion
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_assignment_neg.cc
new file mode 100644
index 0000000..d3b671b
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_assignment
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_construction_neg.cc
new file mode 100644
index 0000000..d609671
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_copy_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_construction
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_assignment_neg.cc
new file mode 100644
index 0000000..8d2ed6b
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_assignment
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_construction_neg.cc
new file mode 100644
index 0000000..dd9b7dc
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_move_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_construction
+ <std::unordered_map<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
index 7fbc453..2596798 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_multimap<int, int> um;
+ std::unordered_map<int, int> um;
um.max_load_factor(-1.0f);
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
index ff787cf..b2d67fb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
@@ -22,8 +22,8 @@
void test01()
{
- std::unordered_map<int, int> um;
- const std::unordered_map<int, int>& cum = um;
+ std::unordered_multimap<int, int> um;
+ const std::unordered_multimap<int, int>& cum = um;
cum.begin(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
index b5ddb18..4d5cb84 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_map<int, int> um;
+ std::unordered_multimap<int, int> um;
um.bucket_size(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
index 5ba1da5..654d409 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_map<int, int> um;
+ std::unordered_multimap<int, int> um;
um.cbegin(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
index 031be37..f7149d4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_map<int, int> um;
+ std::unordered_multimap<int, int> um;
um.cend(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
index d412fcf..fd0f981 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_map<int, int> um;
+ std::unordered_multimap<int, int> um;
um.end(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
index 0115351..0c3f86c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
@@ -22,8 +22,8 @@
void test01()
{
- std::unordered_map<int, int> um;
- const std::unordered_map<int, int>& cum = um;
+ std::unordered_multimap<int, int> um;
+ const std::unordered_multimap<int, int>& cum = um;
cum.end(um.bucket_count());
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_arrow_operator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_arrow_operator_neg.cc
new file mode 100644
index 0000000..8b23020
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_arrow_operator_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_arrow_operator
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_const_conversion_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_const_conversion_neg.cc
new file mode 100644
index 0000000..62c0280
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_const_conversion_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_const_conversion
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_assignment_neg.cc
new file mode 100644
index 0000000..9ac5b35
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_assignment
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_construction_neg.cc
new file mode 100644
index 0000000..4140272
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_copy_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_construction
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc
new file mode 100644
index 0000000..32c847c
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_assignment
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc
new file mode 100644
index 0000000..124b9ec
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_move_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_map>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_construction
+ <std::unordered_multimap<int, int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
index 2596798..7fbc453 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
@@ -22,7 +22,7 @@
void test01()
{
- std::unordered_map<int, int> um;
+ std::unordered_multimap<int, int> um;
um.max_load_factor(-1.0f);
}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_arrow_operator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_arrow_operator_neg.cc
new file mode 100644
index 0000000..1677b20
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_arrow_operator_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_arrow_operator
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_const_conversion_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_const_conversion_neg.cc
new file mode 100644
index 0000000..0d64a41
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_const_conversion_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_const_conversion
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_assignment_neg.cc
new file mode 100644
index 0000000..b0d7b9f
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_assignment
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_construction_neg.cc
new file mode 100644
index 0000000..fa9c5ee
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_copy_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_construction
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc
new file mode 100644
index 0000000..b25fedc
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_assignment
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc
new file mode 100644
index 0000000..8b855b2
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_move_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_construction
+ <std::unordered_multiset<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_arrow_operator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_arrow_operator_neg.cc
new file mode 100644
index 0000000..f62ed6b
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_arrow_operator_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_arrow_operator
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_const_conversion_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_const_conversion_neg.cc
new file mode 100644
index 0000000..839f9ae
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_const_conversion_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_const_conversion
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_assignment_neg.cc
new file mode 100644
index 0000000..377019f
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_assignment
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_construction_neg.cc
new file mode 100644
index 0000000..1f7e6dd
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_copy_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_copy_construction
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc
new file mode 100644
index 0000000..d16a154
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_assignment_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_assignment
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc
new file mode 100644
index 0000000..d878abf
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_move_construction_neg.cc
@@ -0,0 +1,17 @@
+// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
+#include <unordered_set>
+#include <debug/unordered_checks.h>
+
+void test01()
+{
+ __gnu_test::invalid_local_iterator_move_construction
+ <std::unordered_set<int>>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/indirect_callable/projected.cc b/libstdc++-v3/testsuite/24_iterators/indirect_callable/projected.cc
index 0b18616..e2fbf7d 100644
--- a/libstdc++-v3/testsuite/24_iterators/indirect_callable/projected.cc
+++ b/libstdc++-v3/testsuite/24_iterators/indirect_callable/projected.cc
@@ -22,12 +22,7 @@
template<typename T>
using PI = std::projected<T, std::identity>;
-#if __GLIBCXX__
-// Verify our projected<I, identity> optimization.
-static_assert(std::same_as<PI<int*>, int*>);
-#else
static_assert(std::same_as<PI<int*>::value_type, int>);
-#endif
static_assert(std::same_as<decltype(*std::declval<const PI<int*>&>()), int&>);
struct X
diff --git a/libstdc++-v3/testsuite/std/format/ranges/map.cc b/libstdc++-v3/testsuite/std/format/ranges/map.cc
index 34c5ed5..1838480 100644
--- a/libstdc++-v3/testsuite/std/format/ranges/map.cc
+++ b/libstdc++-v3/testsuite/std/format/ranges/map.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-timeout-factor 2 }
#include <flat_map>
#include <format>
diff --git a/libstdc++-v3/testsuite/std/format/ranges/sequence.cc b/libstdc++-v3/testsuite/std/format/ranges/sequence.cc
index 61fc68e..f05f6ec 100644
--- a/libstdc++-v3/testsuite/std/format/ranges/sequence.cc
+++ b/libstdc++-v3/testsuite/std/format/ranges/sequence.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-timeout-factor 2 }
#include <array>
#include <format>
diff --git a/libstdc++-v3/testsuite/std/format/ranges/string.cc b/libstdc++-v3/testsuite/std/format/ranges/string.cc
index 7f59f59..cf39aa6 100644
--- a/libstdc++-v3/testsuite/std/format/ranges/string.cc
+++ b/libstdc++-v3/testsuite/std/format/ranges/string.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-timeout-factor 2 }
#include <format>
#include <span>
diff --git a/libstdc++-v3/testsuite/util/debug/unordered_checks.h b/libstdc++-v3/testsuite/util/debug/unordered_checks.h
index d01ee82..785aeb4 100644
--- a/libstdc++-v3/testsuite/util/debug/unordered_checks.h
+++ b/libstdc++-v3/testsuite/util/debug/unordered_checks.h
@@ -65,28 +65,36 @@ namespace __gnu_test
template<typename _Tp>
struct KeyExtractor
{
- static _Tp get_key(const _Tp& val)
+ static const _Tp& get_key(const _Tp& val)
{ return val; }
};
template<typename _Tp1, typename _Tp2>
- struct KeyExtractor<std::pair<const _Tp1, _Tp2>>
+ struct KeyExtractor<std::pair<_Tp1, _Tp2>>
{
- static _Tp1 get_key(const std::pair<const _Tp1, _Tp2>& val)
+ static const _Tp1& get_key(const std::pair<_Tp1, _Tp2>& val)
{ return val.first; }
};
template<typename _Tp>
- void use_erased_local_iterator()
+ void fill_container(_Tp& c)
{
typedef _Tp cont_type;
typedef typename cont_type::value_type cont_val_type;
typedef typename CopyableValueType<cont_val_type>::value_type val_type;
generate_unique<val_type> gu;
- cont_type c;
for (size_t i = 0; i != 5; ++i)
c.insert(gu.build());
+ }
+
+ template<typename _Tp>
+ void use_erased_local_iterator()
+ {
+ typedef _Tp cont_type;
+ typedef typename cont_type::value_type cont_val_type;
+ cont_type c;
+ fill_container(c);
typename cont_type::local_iterator it, end;
for (size_t i = 0; i != c.bucket_count(); ++i)
@@ -96,22 +104,18 @@ namespace __gnu_test
if (it != end)
break;
}
- typename cont_type::key_type key = KeyExtractor<cont_val_type>::get_key(*it);
+
+ const auto& key = KeyExtractor<cont_val_type>::get_key(*it);
c.erase(key);
VERIFY( it != end );
}
template<typename _Tp>
- void use_invalid_local_iterator()
+ typename _Tp::local_iterator
+ fill_and_get_local_iterator(_Tp& c)
{
typedef _Tp cont_type;
- typedef typename cont_type::value_type cont_val_type;
- typedef typename CopyableValueType<cont_val_type>::value_type val_type;
- generate_unique<val_type> gu;
-
- cont_type c;
- for (size_t i = 0; i != 5; ++i)
- c.insert(gu.build());
+ fill_container(c);
typename cont_type::local_iterator it;
for (size_t i = 0; i != c.bucket_count(); ++i)
@@ -120,22 +124,107 @@ namespace __gnu_test
if (it != c.end(i))
break;
}
- cont_val_type val = *it;
+
+ return it;
+ }
+
+ template<typename _Tp>
+ void use_invalid_local_iterator()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
c.clear();
VERIFY( *it == val );
}
template<typename _Tp>
- void invalid_local_iterator_pre_increment()
+ void invalid_local_iterator_arrow_operator()
{
typedef _Tp cont_type;
- typedef typename cont_type::value_type cont_val_type;
- typedef typename CopyableValueType<cont_val_type>::value_type val_type;
- generate_unique<val_type> gu;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ VERIFY( *it.operator->() == val );
+ }
+ template<typename _Tp>
+ void invalid_local_iterator_copy_construction()
+ {
+ typedef _Tp cont_type;
cont_type c;
- for (size_t i = 0; i != 5; ++i)
- c.insert(gu.build());
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ typename cont_type::local_iterator lit(it);
+ VERIFY( *lit == val );
+ }
+
+ template<typename _Tp>
+ void invalid_local_iterator_move_construction()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ typename cont_type::local_iterator lit(std::move(it));
+ VERIFY( *lit == val );
+ }
+
+ template<typename _Tp>
+ void invalid_local_iterator_copy_assignment()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ typename cont_type::local_iterator lit;
+ lit = it;
+ VERIFY( *lit == val );
+ }
+
+ template<typename _Tp>
+ void invalid_local_iterator_move_assignment()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ typename cont_type::local_iterator lit;
+ lit = std::move(it);
+ VERIFY( *lit == val );
+ }
+
+ template<typename _Tp>
+ void invalid_local_iterator_const_conversion()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ auto it = fill_and_get_local_iterator(c);
+
+ const auto& val = *it;
+ c.clear();
+ typename cont_type::const_local_iterator clit(it);
+ VERIFY( *clit == val );
+ }
+
+ template<typename _Tp>
+ void invalid_local_iterator_pre_increment()
+ {
+ typedef _Tp cont_type;
+ cont_type c;
+ fill_container(c);
auto lit = c.begin(0);
for (size_t i = 0; i != 6; ++i)
@@ -146,13 +235,8 @@ namespace __gnu_test
void invalid_local_iterator_post_increment()
{
typedef _Tp cont_type;
- typedef typename cont_type::value_type cont_val_type;
- typedef typename CopyableValueType<cont_val_type>::value_type val_type;
- generate_unique<val_type> gu;
-
cont_type c;
- for (size_t i = 0; i != 5; ++i)
- c.insert(gu.build());
+ fill_container(c);
auto lit = c.begin(0);
for (size_t i = 0; i != 6; ++i)
@@ -163,13 +247,8 @@ namespace __gnu_test
void invalid_local_iterator_compare()
{
typedef _Tp cont_type;
- typedef typename cont_type::value_type cont_val_type;
- typedef typename CopyableValueType<cont_val_type>::value_type val_type;
- generate_unique<val_type> gu;
-
cont_type c;
- for (size_t i = 0; i != 5; ++i)
- c.insert(gu.build());
+ fill_container(c);
typename cont_type::local_iterator it1, it2;
size_t i;
@@ -194,13 +273,8 @@ namespace __gnu_test
void invalid_local_iterator_range()
{
typedef _Tp cont_type;
- typedef typename cont_type::value_type cont_val_type;
- typedef typename CopyableValueType<cont_val_type>::value_type val_type;
- generate_unique<val_type> gu;
-
cont_type c;
- for (size_t i = 0; i != 5; ++i)
- c.insert(gu.build());
+ fill_container(c);
typename cont_type::local_iterator it, end;
for (size_t i = 0; i != c.bucket_count(); ++i)
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index 1b4044c..90cda2f 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -258,8 +258,8 @@ check_version(symbol& test, bool added)
test.version_status = symbol::incompatible;
// Check that added symbols are added in the latest pre-release version.
- bool latestp = (test.version_name == "GLIBCXX_3.4.34"
- || test.version_name == "CXXABI_1.3.16"
+ bool latestp = (test.version_name == "GLIBCXX_3.4.35"
+ || test.version_name == "CXXABI_1.3.17"
|| test.version_name == "CXXABI_FLOAT128"
|| test.version_name == "CXXABI_TM_1");
if (added && !latestp)
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index d08a03b..3c33199 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,8 @@
+2025-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * crontab: Snapshots from trunk are now GCC 16 related.
+ Add GCC 15 snapshots from the respective branch.
+
2025-04-07 Jakub Jelinek <jakub@redhat.com>
PR web/119227