aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog97
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/common.opt5
-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.cc139
-rw-r--r--gcc/config/aarch64/aarch64.md72
-rw-r--r--gcc/config/i386/i386-expand.cc50
-rw-r--r--gcc/config/i386/i386.cc191
-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/mips/mips.cc3
-rw-r--r--gcc/config/riscv/riscv-cores.def48
-rw-r--r--gcc/config/riscv/vector.md22
-rw-r--r--gcc/config/rs6000/rs6000.cc11
-rw-r--r--gcc/cp/ChangeLog32
-rw-r--r--gcc/cp/constexpr.cc63
-rw-r--r--gcc/cp/contracts.cc3
-rw-r--r--gcc/cp/init.cc4
-rw-r--r--gcc/cp/name-lookup.cc45
-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/flag-types.h3
-rw-r--r--gcc/fortran/ChangeLog207
-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.cc141
-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/ipa-cp.cc255
-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/m2/gm2-libs/FormatStrings.mod4
-rw-r--r--gcc/opts.cc6
-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/ChangeLog169
-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++.dg/torture/pr119610.C18
-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/g++.target/aarch64/sve/pr119610-sve.C20
-rw-r--r--gcc/testsuite/gcc.dg/completion-2.c1
-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/raw-string-1.c25
-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/ssa-dom-cse-2.c2
-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/pragma_cpp_predefs_4.c15
-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/pr119919.c13
-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/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/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/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/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/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/gm2/pimlib/run/pass/format2.mod63
-rw-r--r--gcc/testsuite/gnat.dg/gcov/gcov.exp15
-rw-r--r--gcc/tree-vect-loop.cc39
-rw-r--r--gcc/vec.h8
164 files changed, 12097 insertions, 7765 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4a2a79f..c838fcd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,100 @@
+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
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index f21e9cc..1041049 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250420
+20250423
diff --git a/gcc/common.opt b/gcc/common.opt
index 88d987e..e3fa0da 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2279,9 +2279,6 @@ Enum
Name(lto_partition_model) Type(enum lto_partition_model) UnknownError(unknown LTO partitioning model %qs)
EnumValue
-Enum(lto_partition_model) String(default) Value(LTO_PARTITION_DEFAULT)
-
-EnumValue
Enum(lto_partition_model) String(none) Value(LTO_PARTITION_NONE)
EnumValue
@@ -2300,7 +2297,7 @@ EnumValue
Enum(lto_partition_model) String(cache) Value(LTO_PARTITION_CACHE)
flto-partition=
-Common Joined RejectNegative Enum(lto_partition_model) Var(flag_lto_partition) Init(LTO_PARTITION_DEFAULT)
+Common Joined RejectNegative Enum(lto_partition_model) Var(flag_lto_partition) Init(LTO_PARTITION_BALANCED)
Specify the algorithm to partition symbols and vars at linktime.
; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
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..f7bccf5 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -9417,13 +9417,16 @@ aarch64_emit_stack_tie (rtx reg)
}
/* Allocate POLY_SIZE bytes of stack space using TEMP1 and TEMP2 as scratch
- registers. If POLY_SIZE is not large enough to require a probe this function
- will only adjust the stack. When allocating the stack space
- FRAME_RELATED_P is then used to indicate if the allocation is frame related.
- FINAL_ADJUSTMENT_P indicates whether we are allocating the area below
- the saved registers. If we are then we ensure that any allocation
- larger than the ABI defined buffer needs a probe so that the
- invariant of having a 1KB buffer is maintained.
+ registers, given that the stack pointer is currently BYTES_BELOW_SP bytes
+ above the bottom of the static frame.
+
+ If POLY_SIZE is not large enough to require a probe this function will only
+ adjust the stack. When allocating the stack space FRAME_RELATED_P is then
+ used to indicate if the allocation is frame related. FINAL_ADJUSTMENT_P
+ indicates whether we are allocating the area below the saved registers.
+ If we are then we ensure that any allocation larger than the ABI defined
+ buffer needs a probe so that the invariant of having a 1KB buffer is
+ maintained.
We emit barriers after each stack adjustment to prevent optimizations from
breaking the invariant that we never drop the stack more than a page. This
@@ -9440,6 +9443,7 @@ aarch64_emit_stack_tie (rtx reg)
static void
aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2,
poly_int64 poly_size,
+ poly_int64 bytes_below_sp,
aarch64_isa_mode force_isa_mode,
bool frame_related_p,
bool final_adjustment_p)
@@ -9503,8 +9507,8 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2,
poly_size, temp1, temp2, force_isa_mode,
false, true);
- rtx_insn *insn = get_last_insn ();
-
+ auto initial_cfa_offset = frame.frame_size - bytes_below_sp;
+ auto final_cfa_offset = initial_cfa_offset + poly_size;
if (frame_related_p)
{
/* This is done to provide unwinding information for the stack
@@ -9514,28 +9518,31 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2,
The tie will expand to nothing but the optimizers will not touch
the instruction. */
rtx stack_ptr_copy = gen_rtx_REG (Pmode, STACK_CLASH_SVE_CFA_REGNUM);
- emit_move_insn (stack_ptr_copy, stack_pointer_rtx);
+ auto *insn = emit_move_insn (stack_ptr_copy, stack_pointer_rtx);
aarch64_emit_stack_tie (stack_ptr_copy);
/* We want the CFA independent of the stack pointer for the
duration of the loop. */
- add_reg_note (insn, REG_CFA_DEF_CFA, stack_ptr_copy);
+ add_reg_note (insn, REG_CFA_DEF_CFA,
+ plus_constant (Pmode, stack_ptr_copy,
+ initial_cfa_offset));
RTX_FRAME_RELATED_P (insn) = 1;
}
rtx probe_const = gen_int_mode (min_probe_threshold, Pmode);
rtx guard_const = gen_int_mode (guard_size, Pmode);
- insn = emit_insn (gen_probe_sve_stack_clash (Pmode, stack_pointer_rtx,
- stack_pointer_rtx, temp1,
- probe_const, guard_const));
+ auto *insn
+ = emit_insn (gen_probe_sve_stack_clash (Pmode, stack_pointer_rtx,
+ stack_pointer_rtx, temp1,
+ probe_const, guard_const));
/* Now reset the CFA register if needed. */
if (frame_related_p)
{
add_reg_note (insn, REG_CFA_DEF_CFA,
- gen_rtx_PLUS (Pmode, stack_pointer_rtx,
- gen_int_mode (poly_size, Pmode)));
+ plus_constant (Pmode, stack_pointer_rtx,
+ final_cfa_offset));
RTX_FRAME_RELATED_P (insn) = 1;
}
@@ -9581,12 +9588,13 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2,
We can determine which allocation we are doing by looking at
the value of FRAME_RELATED_P since the final allocations are not
frame related. */
+ auto cfa_offset = frame.frame_size - (bytes_below_sp - rounded_size);
if (frame_related_p)
{
/* We want the CFA independent of the stack pointer for the
duration of the loop. */
add_reg_note (insn, REG_CFA_DEF_CFA,
- plus_constant (Pmode, temp1, rounded_size));
+ plus_constant (Pmode, temp1, cfa_offset));
RTX_FRAME_RELATED_P (insn) = 1;
}
@@ -9608,7 +9616,7 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2,
if (frame_related_p)
{
add_reg_note (insn, REG_CFA_DEF_CFA,
- plus_constant (Pmode, stack_pointer_rtx, rounded_size));
+ plus_constant (Pmode, stack_pointer_rtx, cfa_offset));
RTX_FRAME_RELATED_P (insn) = 1;
}
@@ -9916,17 +9924,22 @@ aarch64_expand_prologue (void)
code below does not handle it for -fstack-clash-protection. */
gcc_assert (known_eq (initial_adjust, 0) || callee_adjust == 0);
+ /* The offset of the current SP from the bottom of the static frame. */
+ poly_int64 bytes_below_sp = frame_size;
+
/* Will only probe if the initial adjustment is larger than the guard
less the amount of the guard reserved for use by the caller's
outgoing args. */
aarch64_allocate_and_probe_stack_space (tmp0_rtx, tmp1_rtx, initial_adjust,
- force_isa_mode, true, false);
+ bytes_below_sp, force_isa_mode,
+ true, false);
+ bytes_below_sp -= initial_adjust;
if (callee_adjust != 0)
- aarch64_push_regs (reg1, reg2, callee_adjust);
-
- /* The offset of the current SP from the bottom of the static frame. */
- poly_int64 bytes_below_sp = frame_size - initial_adjust - callee_adjust;
+ {
+ aarch64_push_regs (reg1, reg2, callee_adjust);
+ bytes_below_sp -= callee_adjust;
+ }
if (emit_frame_chain)
{
@@ -9994,7 +10007,7 @@ aarch64_expand_prologue (void)
|| known_eq (frame.reg_offset[VG_REGNUM], bytes_below_sp));
aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx,
sve_callee_adjust,
- force_isa_mode,
+ bytes_below_sp, force_isa_mode,
!frame_pointer_needed, false);
bytes_below_sp -= sve_callee_adjust;
}
@@ -10005,10 +10018,11 @@ aarch64_expand_prologue (void)
/* We may need to probe the final adjustment if it is larger than the guard
that is assumed by the called. */
- gcc_assert (known_eq (bytes_below_sp, final_adjust));
aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust,
- force_isa_mode,
+ bytes_below_sp, force_isa_mode,
!frame_pointer_needed, true);
+ bytes_below_sp -= final_adjust;
+ gcc_assert (known_eq (bytes_below_sp, 0));
if (emit_frame_chain && maybe_ne (final_adjust, 0))
aarch64_emit_stack_tie (hard_frame_pointer_rtx);
@@ -31294,6 +31308,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/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 28603c2..78df3d9 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -25257,32 +25257,6 @@ ix86_vectorize_create_costs (vec_info *vinfo, bool costing_for_scalar)
return new ix86_vector_costs (vinfo, costing_for_scalar);
}
-/* Return cost of statement doing FP conversion. */
-
-static unsigned
-fp_conversion_stmt_cost (machine_mode mode, gimple *stmt, bool scalar_p)
-{
- int outer_size
- = tree_to_uhwi
- (TYPE_SIZE
- (TREE_TYPE (gimple_assign_lhs (stmt))));
- int inner_size
- = tree_to_uhwi
- (TYPE_SIZE
- (TREE_TYPE (gimple_assign_rhs1 (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 (!scalar_p && 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);
- }
- return stmt_cost;
-}
-
unsigned
ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
stmt_vec_info stmt_info, slp_tree node,
@@ -25326,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
@@ -25381,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);
@@ -25390,30 +25364,152 @@ 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 = fp_conversion_stmt_cost (mode, stmt_info->stmt,
- scalar_p);
+ 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 (accounted separately)
+ pand %xmm0, %xmm2
+ pandn %xmm1, %xmm0
+ por %xmm2, %xmm0
+ while SSE4 uses cmp + blend
+ and AVX512 masked moves.
+
+ The condition is accounted separately since we usually have
+ p = a < b
+ c = p ? x : y
+ and we will account first statement as setcc. Exception is when
+ p is loaded from memory as bool and then we will not acocunt
+ the compare, but there is no way to check for this. */
+
+ int ninsns = TARGET_SSE4_1 ? 1 : 3;
+
+ /* If one of parameters is 0 or -1 the sequence will be simplified:
+ (if_true & mask) | (if_false & ~mask) -> if_true & mask */
+ if (ninsns > 1
+ && (zerop (gimple_assign_rhs2 (stmt_info->stmt))
+ || zerop (gimple_assign_rhs3 (stmt_info->stmt))
+ || integer_minus_onep
+ (gimple_assign_rhs2 (stmt_info->stmt))
+ || integer_minus_onep
+ (gimple_assign_rhs3 (stmt_info->stmt))))
+ ninsns = 1;
+
+ 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 (accounted separately) + cmov. */
+ stmt_cost = ix86_cost->add;
+ }
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 one of parameters is 0 or -1 the sequence is simplified
+ to pcmpgtd + pand. */
+ if (!TARGET_SSSE3)
+ {
+ if (zerop (gimple_assign_rhs2 (stmt_info->stmt))
+ || integer_minus_onep
+ (gimple_assign_rhs2 (stmt_info->stmt)))
+ stmt_cost *= 2;
+ else
+ 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;
}
}
@@ -25439,7 +25535,26 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
if (kind == vec_promote_demote
&& fp && FLOAT_TYPE_P (TREE_TYPE (gimple_assign_rhs1 (stmt_info->stmt))))
- stmt_cost = fp_conversion_stmt_cost (mode, stmt_info->stmt, scalar_p);
+ {
+ 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
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/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/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/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/cp/ChangeLog b/gcc/cp/ChangeLog
index 6975efb..d9f0298 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,35 @@
+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)
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/contracts.cc b/gcc/cp/contracts.cc
index 3ca2102..d0cfd2e 100644
--- a/gcc/cp/contracts.cc
+++ b/gcc/cp/contracts.cc
@@ -860,6 +860,9 @@ cp_contract_assertion_p (const_tree attr)
void
remove_contract_attributes (tree fndecl)
{
+ if (!flag_contracts)
+ return;
+
tree list = NULL_TREE;
for (tree p = DECL_ATTRIBUTES (fndecl); p; p = TREE_CHAIN (p))
if (!cxx_contract_attribute_p (p))
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/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/flag-types.h b/gcc/flag-types.h
index db57376..9a3cc4a 100644
--- a/gcc/flag-types.h
+++ b/gcc/flag-types.h
@@ -404,8 +404,7 @@ enum lto_partition_model {
LTO_PARTITION_BALANCED = 2,
LTO_PARTITION_1TO1 = 3,
LTO_PARTITION_MAX = 4,
- LTO_PARTITION_CACHE = 5,
- LTO_PARTITION_DEFAULT= 6
+ LTO_PARTITION_CACHE = 5
};
/* flag_lto_locality_cloning initialization values. */
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 56325a9..bda22d1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,210 @@
+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
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 f03708e..e51f83b 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -11484,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)
@@ -11493,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;
@@ -11616,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;
}
@@ -11640,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;
@@ -13276,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. */
@@ -13481,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/ipa-cp.cc b/gcc/ipa-cp.cc
index 806c2bd..b4b9699 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
@@ -4677,7 +4639,7 @@ update_counts_for_self_gen_clones (cgraph_node *orig_node,
const vec<cgraph_node *> &self_gen_clones)
{
profile_count redist_sum = orig_node->count.ipa ();
- if (!(redist_sum > profile_count::zero ()))
+ if (!redist_sum.nonzero_p ())
return;
if (dump_file)
@@ -4748,7 +4710,7 @@ update_counts_for_self_gen_clones (cgraph_node *orig_node,
it. */
for (cgraph_node *n : self_gen_clones)
{
- if (!(n->count.ipa () > profile_count::zero ()))
+ if (!n->count.ipa ().nonzero_p ())
continue;
desc_incoming_count_struct desc;
@@ -4794,7 +4756,7 @@ update_profiling_info (struct cgraph_node *orig_node,
profile_count new_sum;
profile_count remainder, orig_node_count = orig_node->count.ipa ();
- if (!(orig_node_count > profile_count::zero ()))
+ if (!orig_node_count.nonzero_p ())
return;
if (dump_file)
@@ -4958,7 +4920,7 @@ update_specialized_profile (struct cgraph_node *new_node,
orig_node_count.dump (dump_file);
fprintf (dump_file, "\n");
}
- if (!(orig_node_count > profile_count::zero ()))
+ if (!orig_node_count.nonzero_p ())
return;
new_node_count = new_node->count;
@@ -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/m2/gm2-libs/FormatStrings.mod b/gcc/m2/gm2-libs/FormatStrings.mod
index ec2985b..aea8da9 100644
--- a/gcc/m2/gm2-libs/FormatStrings.mod
+++ b/gcc/m2/gm2-libs/FormatStrings.mod
@@ -378,7 +378,7 @@ BEGIN
THEN
INC (afterperc) ;
Cast (u, w) ;
- in := ConCat (in, Slice (fmt, startpos, nextperc)) ;
+ in := Copy (fmt, in, startpos, nextperc) ;
in := ConCat (in, CardinalToString (u, width, leader, 16, TRUE)) ;
startpos := afterperc ;
DSdbExit (NIL) ;
@@ -387,7 +387,7 @@ BEGIN
THEN
INC (afterperc) ;
Cast (u, w) ;
- in := ConCat (in, Slice (fmt, startpos, nextperc)) ;
+ in := Copy (fmt, in, startpos, nextperc) ;
in := ConCat (in, CardinalToString (u, width, leader, 10, FALSE)) ;
startpos := afterperc ;
DSdbExit (NIL) ;
diff --git a/gcc/opts.cc b/gcc/opts.cc
index 5e7b77d..ffcbdfe 100644
--- a/gcc/opts.cc
+++ b/gcc/opts.cc
@@ -1047,9 +1047,9 @@ validate_ipa_reorder_locality_lto_partition (struct gcc_options *opts,
{
static bool validated_p = false;
- if (opts->x_flag_lto_partition != LTO_PARTITION_DEFAULT)
+ if (opts_set->x_flag_lto_partition)
{
- if (opts_set->x_flag_ipa_reorder_for_locality && !validated_p)
+ if (opts->x_flag_ipa_reorder_for_locality && !validated_p)
error ("%<-fipa-reorder-for-locality%> is incompatible with"
" an explicit %qs option", "-flto-partition");
}
@@ -1269,8 +1269,6 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
SET_OPTION_IF_UNSET (opts, opts_set, flag_reorder_functions, 1);
validate_ipa_reorder_locality_lto_partition (opts, opts_set);
- if (opts_set->x_flag_lto_partition != LTO_PARTITION_DEFAULT)
- opts_set->x_flag_lto_partition = opts->x_flag_lto_partition = LTO_PARTITION_BALANCED;
/* The -gsplit-dwarf option requires -ggnu-pubnames. */
if (opts->x_dwarf_split_debug_info)
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 3b3c0c1..af49263 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,172 @@
+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
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++.dg/torture/pr119610.C b/gcc/testsuite/g++.dg/torture/pr119610.C
new file mode 100644
index 0000000..9998026
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr119610.C
@@ -0,0 +1,18 @@
+// { dg-do run }
+// { dg-additional-options "-fstack-protector-strong" { target fstack_protector } }
+// { dg-additional-options "-fstack-clash-protection" { target supports_stack_clash_protection } }
+
+int *ptr;
+void foo() {
+ int c[1024*128];
+ ptr = c;
+ throw 1;
+}
+int main()
+{
+ try {
+ foo();
+ } catch(int x) {
+ return 0;
+ }
+}
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/g++.target/aarch64/sve/pr119610-sve.C b/gcc/testsuite/g++.target/aarch64/sve/pr119610-sve.C
new file mode 100644
index 0000000..0044e51
--- /dev/null
+++ b/gcc/testsuite/g++.target/aarch64/sve/pr119610-sve.C
@@ -0,0 +1,20 @@
+// { dg-do run { target aarch64_sve_hw } }
+// { dg-additional-options "-fstack-protector-strong" { target fstack_protector } }
+// { dg-additional-options "-fstack-clash-protection" { target supports_stack_clash_protection } }
+
+void *a_ptr, *b_ptr;
+void foo() {
+ __SVInt32_t a;
+ int b[1024*128];
+ a_ptr = &a;
+ b_ptr = b;
+ throw 1;
+}
+int main()
+{
+ try {
+ foo();
+ } catch(int x) {
+ return 0;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/completion-2.c b/gcc/testsuite/gcc.dg/completion-2.c
index 46c511c..99e6531 100644
--- a/gcc/testsuite/gcc.dg/completion-2.c
+++ b/gcc/testsuite/gcc.dg/completion-2.c
@@ -5,7 +5,6 @@
-flto-partition=1to1
-flto-partition=balanced
-flto-partition=cache
--flto-partition=default
-flto-partition=max
-flto-partition=none
-flto-partition=one
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/raw-string-1.c b/gcc/testsuite/gcc.dg/raw-string-1.c
new file mode 100644
index 0000000..77d6145
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/raw-string-1.c
@@ -0,0 +1,25 @@
+/* PR c++/110343 */
+/* { dg-do compile } */
+/* { dg-options "-std=gnu23" } */
+
+const void *s0 = R"0123456789abcdefg()0123456789abcdefg" 0;
+ /* { dg-error "raw string delimiter longer" "longer" { target *-*-* } .-1 } */
+ /* { dg-error "stray" "stray" { target *-*-* } .-2 } */
+const void *s1 = R" () " 0;
+ /* { dg-error "invalid character" "invalid" { target *-*-* } .-1 } */
+ /* { dg-error "stray" "stray" { target *-*-* } .-2 } */
+const void *s2 = R" () " 0;
+ /* { dg-error "invalid character" "invalid" { target *-*-* } .-1 } */
+ /* { dg-error "stray" "stray" { target *-*-* } .-2 } */
+const void *s3 = R")())" 0;
+ /* { dg-error "invalid character" "invalid" { target *-*-* } .-1 } */
+ /* { dg-error "stray" "stray" { target *-*-* } .-2 } */
+const char *s4 = R"@()@";
+const char *s5 = R"$()$";
+const char *s6 = R"`()`";
+const void *s7 = R"\u0040()\u0040" 0;
+ /* { dg-error "invalid character" "invalid" { target *-*-* } .-1 } */
+ /* { dg-error "stray" "stray" { target *-*-* } .-2 } */
+const char *s8 = R"`@$$@`@`$()`@$$@`@`$";
+
+int main () {}
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/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/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/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/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/pr119919.c b/gcc/testsuite/gcc.target/i386/pr119919.c
new file mode 100644
index 0000000..ed64656
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr119919.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -fdump-tree-vect-details" } */
+int a[9*9];
+bool b[9];
+void test()
+{
+ for (int i = 0; i < 9; i++)
+ {
+ b[i] = a[i*9] != 0;
+ }
+}
+
+/* { dg-final { scan-tree-dump "loop vectorized using 8 byte vectors" "vect" } } */
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/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/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/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/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/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/gm2/pimlib/run/pass/format2.mod b/gcc/testsuite/gm2/pimlib/run/pass/format2.mod
new file mode 100644
index 0000000..2ad6a8c
--- /dev/null
+++ b/gcc/testsuite/gm2/pimlib/run/pass/format2.mod
@@ -0,0 +1,63 @@
+MODULE format2;
+
+FROM libc IMPORT exit, printf ;
+FROM Terminal IMPORT Write, WriteLn;
+FROM NumberIO IMPORT WriteCard;
+FROM DynamicStrings IMPORT String, Length, char, InitString;
+FROM FormatStrings IMPORT Sprintf1;
+
+PROCEDURE WriteString (s: String);
+VAR
+ l, i: CARDINAL;
+BEGIN
+ l := Length (s) ;
+ i := 0 ;
+ WHILE i < l DO
+ Write (char (s, i)) ;
+ INC (i)
+ END
+END WriteString;
+
+
+(*
+ assert -
+*)
+
+PROCEDURE assert (cond: BOOLEAN; line: CARDINAL; file: ARRAY OF CHAR) ;
+BEGIN
+ IF NOT cond
+ THEN
+ printf ("%s:%d assertion failed\n", file, line);
+ exit (1)
+ END
+END assert ;
+
+
+VAR
+ n: CARDINAL;
+ r, s: String;
+BEGIN
+ n := 2;
+ r := InitString("%u pieces of cake") ;
+ WriteString (r) ; WriteLn ;
+ assert (Length (r) = 17, __LINE__, __FILE__) ;
+ s := Sprintf1 (r, n) ;
+ WriteCard (Length (s), 4) ; WriteLn ;
+ assert (Length (s) = 16, __LINE__, __FILE__) ;
+
+ r := InitString("%d pieces of cake") ;
+ WriteString (r) ; WriteLn ;
+ assert (Length (r) = 17, __LINE__, __FILE__) ;
+ s := Sprintf1 (r, n) ;
+ WriteCard (Length (s), 4) ; WriteLn ;
+ assert (Length (s) = 16, __LINE__, __FILE__) ;
+
+ r := InitString("%x pieces of cake") ;
+ WriteString (r) ; WriteLn ;
+ assert (Length (r) = 17, __LINE__, __FILE__) ;
+ s := Sprintf1 (r, n) ;
+ WriteCard (Length (s), 4) ; WriteLn ;
+ assert (Length (s) = 16, __LINE__, __FILE__) ;
+
+ WriteString (InitString ('all tests pass')) ; WriteLn ;
+END format2.
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/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 2d35fa1..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,
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 ();